linode

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2023 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LinodeChangeCreate

type LinodeChangeCreate struct {
	Domain  linodego.Domain
	Options linodego.DomainRecordCreateOptions
}

LinodeChangeCreate Linode Domain Record Creates

type LinodeChangeDelete

type LinodeChangeDelete struct {
	Domain       linodego.Domain
	DomainRecord linodego.DomainRecord
}

LinodeChangeDelete Linode Domain Record Deletes

type LinodeChangeUpdate

type LinodeChangeUpdate struct {
	Domain       linodego.Domain
	DomainRecord linodego.DomainRecord
	Options      linodego.DomainRecordUpdateOptions
}

LinodeChangeUpdate Linode Domain Record Updates

type LinodeChanges

type LinodeChanges struct {
	Creates []LinodeChangeCreate
	Deletes []LinodeChangeDelete
	Updates []LinodeChangeUpdate
}

LinodeChanges All API calls calculated from the plan

type LinodeDomainClient

type LinodeDomainClient interface {
	ListDomainRecords(ctx context.Context, domainID int, opts *linodego.ListOptions) ([]linodego.DomainRecord, error)
	ListDomains(ctx context.Context, opts *linodego.ListOptions) ([]linodego.Domain, error)
	CreateDomainRecord(ctx context.Context, domainID int, domainrecord linodego.DomainRecordCreateOptions) (*linodego.DomainRecord, error)
	DeleteDomainRecord(ctx context.Context, domainID int, id int) error
	UpdateDomainRecord(ctx context.Context, domainID int, id int, domainrecord linodego.DomainRecordUpdateOptions) (*linodego.DomainRecord, error)
}

LinodeDomainClient interface to ease testing

type LinodeProvider

type LinodeProvider struct {
	provider.BaseProvider
	Client LinodeDomainClient

	DryRun bool
	// contains filtered or unexported fields
}

LinodeProvider is an implementation of Provider for Digital Ocean's DNS.

func NewLinodeProvider

func NewLinodeProvider(domainFilter endpoint.DomainFilter, dryRun bool, appVersion string) (*LinodeProvider, error)

NewLinodeProvider initializes a new Linode DNS based Provider.

func (*LinodeProvider) ApplyChanges

func (p *LinodeProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error

ApplyChanges applies a given set of changes in a given zone.

func (*LinodeProvider) Records

func (p *LinodeProvider) Records(ctx context.Context) ([]*endpoint.Endpoint, error)

Records returns the list of records in a given zone.

func (*LinodeProvider) Zones

func (p *LinodeProvider) Zones(ctx context.Context) ([]linodego.Domain, error)

Zones returns the list of hosted zones.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL