Documentation ¶
Overview ¶
dnsprovider supplies interfaces for dns service providers (e.g. Google Cloud DNS, AWS route53, etc). Implementations exist in the providers sub-package
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterDnsProvider ¶
RegisterDnsProvider registers a dnsprovider.Factory by name. This is expected to happen during startup.
Types ¶
type Factory ¶
Factory is a function that returns a dnsprovider.Interface. The config parameter provides an io.Reader handler to the factory in order to load specific configurations. If no configuration is provided the parameter is nil.
type Interface ¶
type Interface interface { // Zones returns the provider's Zones interface, or false if not supported. Zones() (Zones, bool) }
Interface is an abstract, pluggable interface for DNS providers.
func GetDnsProvider ¶
GetDnsProvider creates an instance of the named DNS provider, or nil if the name is not known. The error return is only used if the named provider was known but failed to initialize. The config parameter specifies the io.Reader handler of the configuration file for the DNS provider, or nil for no configuation.
type ResourceRecordSet ¶
type ResourceRecordSet interface { // Name returns the name of the ResourceRecordSet, e.g. "www.example.com". Name() string // Rrdatas returns the Resource Record Datas of the record set. Rrdatas() []string // Ttl returns the time-to-live of the record set, in seconds. Ttl() int64 // Type returns the type of the record set (A, CNAME, SRV, etc) Type() rrstype.RrsType }
type ResourceRecordSets ¶
type ResourceRecordSets interface { // List returns the ResourceRecordSets of the Zone, or an error if the list operation failed. List() ([]ResourceRecordSet, error) // Add adds and returns a ResourceRecordSet of the Zone, or an error if the add operation failed. Add(ResourceRecordSet) (ResourceRecordSet, error) // Remove removes a ResourceRecordSet from the Zone, or an error if the remove operation failed. // The supplied ResourceRecordSet must match one of the existing zones (obtained via List()) exactly. Remove(ResourceRecordSet) error // New allocates a new ResourceRecordSet, which can then be passed to Add() or Remove() // Arguments are as per the ResourceRecordSet interface below. New(name string, rrdatas []string, ttl int64, rrstype rrstype.RrsType) ResourceRecordSet }
type Zone ¶
type Zone interface { // Name returns the name of the zone, e.g. "example.com" Name() string // ResourceRecordsets returns the provider's ResourceRecordSets interface, or false if not supported. ResourceRecordSets() (ResourceRecordSets, bool) }
Directories ¶
Path | Synopsis |
---|---|
providers
|
|
aws/route53
route53 is the implementation of pkg/dnsprovider interface for AWS Route53
|
route53 is the implementation of pkg/dnsprovider interface for AWS Route53 |
aws/route53/testing
internal implements a stub for the AWS Route53 API, used primarily for unit testing purposes
|
internal implements a stub for the AWS Route53 API, used primarily for unit testing purposes |
google/clouddns
clouddns is the implementation of pkg/dnsprovider interface for Google Cloud DNS
|
clouddns is the implementation of pkg/dnsprovider interface for Google Cloud DNS |