Documentation
¶
Overview ¶
Package linode implements a DNS record management client compatible with the libdns interfaces for Linode.
Index ¶
- Variables
- type Provider
- func (p *Provider) AppendRecords(ctx context.Context, zone string, records []libdns.Record) ([]libdns.Record, error)
- func (p *Provider) DeleteRecords(ctx context.Context, zone string, records []libdns.Record) ([]libdns.Record, error)
- func (p *Provider) GetRecords(ctx context.Context, zone string) ([]libdns.Record, error)
- func (p *Provider) ListZones(ctx context.Context) ([]libdns.Zone, error)
- func (p *Provider) SetRecords(ctx context.Context, zone string, records []libdns.Record) ([]libdns.Record, error)
Constants ¶
This section is empty.
Variables ¶
var ErrUnsupportedType = errors.New("Unsupported DNS record type")
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { // APIToken is the Linode Personal Access Token, see https://cloud.linode.com/profile/tokens. APIToken string `json:"api_token,omitempty"` // APIURL is the Linode API hostname, i.e. "api.linode.com". APIURL string `json:"api_url,omitempty"` // APIVersion is the Linode API version, i.e. "v4". APIVersion string `json:"api_version,omitempty"` DebugLogsEnabled bool `json:"debug_logs_enabled,omitempty"` // contains filtered or unexported fields }
Provider facilitates DNS record manipulation with Linode.
func (*Provider) AppendRecords ¶
func (p *Provider) AppendRecords(ctx context.Context, zone string, records []libdns.Record) ([]libdns.Record, error)
AppendRecords adds records to the zone. It returns the records that were added.
func (*Provider) DeleteRecords ¶
func (p *Provider) DeleteRecords(ctx context.Context, zone string, records []libdns.Record) ([]libdns.Record, error)
DeleteRecords deletes the records from the zone. It returns the records that were deleted. As per the libdns interface, any deleted records must match exactly the input record (Name, Type, TTL, Value). If any of (Type, TTL, Value) are "", 0, or "", respectively, deleteDomainRecord will delete any records that match the other fields, regardless of the value of the fields that were left empty. Note: this does not apply to the Name field.
func (*Provider) GetRecords ¶
GetRecords lists all the records in the zone.