package
0.5.7
Repository: https://github.com/protip/external-dns.git
Documentation: pkg.go.dev

# Functions

ExoscaleWithDomain modifies the domain on which dns zones are filtered.
ExoscaleWithLogging injects logging when ApplyChanges is called.
InMemoryInitZones pre-seeds the InMemoryProvider with given zones.
InMemoryWithDomain modifies the domain on which dns zones are filtered.
InMemoryWithLogging injects logging when ApplyChanges is called.
LoadOCIConfig reads and parses the OCI ExternalDNS config file at the given path.
NewAlibabaCloudProvider creates a new Alibaba Cloud provider.
NewAWSProvider initializes a new AWS Route53 based Provider.
NewAWSSDProvider initializes a new AWS Route53 Auto Naming based Provider.
NewAzureProvider creates a new Azure provider.
NewCloudFlareProvider initializes a new CloudFlare DNS based Provider.
NewCoreDNSProvider is a CoreDNS provider constructor.
NewDesignateProvider is a factory function for OpenStack designate providers.
NewDigitalOceanProvider initializes a new DigitalOcean DNS based Provider.
NewDnsimpleProvider initializes a new Dnsimple based provider.
NewDomainFilter returns a new DomainFilter given a comma separated list of domains.
NewDynProvider initializes a new Dyn Provider.
NewExoscaleProvider returns ExoscaleProvider DNS provider interface implementation.
NewExoscaleProviderWithClient returns ExoscaleProvider DNS provider interface implementation (Client provided).
NewGoogleProvider initializes a new Google CloudDNS based Provider.
NewInfobloxProvider creates a new Infoblox provider.
NewInMemoryProvider returns InMemoryProvider DNS provider interface implementation.
NewLinodeProvider initializes a new Linode DNS based Provider.
NewOCIProvider initialises a new OCI DNS based Provider.
NewPDNSProvider initializes a new PowerDNS based Provider.
NewZoneIDFilter returns a new ZoneIDFilter given a list of zone ids.
NewZoneTypeFilter returns a new ZoneTypeFilter given a zone type to filter for.

# Constants

DigitalOceanCreate is a ChangeAction enum value.
DigitalOceanDelete is a ChangeAction enum value.
DigitalOceanUpdate is a ChangeAction enum value.
PdnsDelete : PowerDNS changetype used for deleting rrsets ref: https://doc.powerdns.com/authoritative/http-api/zone.html#rrset (see "changetype").
PdnsReplace : PowerDNS changetype for creating, updating and patching rrsets.

# Variables

ErrDuplicateRecordFound when record is repeated in create/update/delete.
ErrRecordAlreadyExists when create request is sent but record already exists.
ErrRecordNotFound when update/delete request is sent but record not found.
ErrZoneAlreadyExists error returned when zone cannot be created when it already exists.
ErrZoneNotFound error returned when specified zone does not exists.

# Structs

AlibabaCloudProvider implements the DNS provider for Alibaba Cloud.
AWSConfig contains configuration to create a new AWS provider.
AWSProvider is an implementation of Provider for AWS Route53.
AWSSDProvider is an implementation of Provider for AWS Route53 Auto Naming.
AzureProvider implements the DNS provider for Microsoft's Azure cloud platform.
CloudFlareProvider is an implementation of Provider for CloudFlare DNS.
DigitalOceanChange differentiates between ChangActions.
DigitalOceanProvider is an implementation of Provider for Digital Ocean's DNS.
DomainFilter holds a lists of valid domain names.
DynConfig hold connection parameters to dyn.com and internal state.
ExoscaleProvider initialized as dns provider with no records.
GoogleProvider is an implementation of Provider for Google CloudDNS.
InfobloxConfig clarifies the method signature.
InfobloxProvider implements the DNS provider for Infoblox.
InMemoryProvider - dns provider only used for testing purposes initialized as dns provider with no records.
LinodeChangeCreate Linode Domain Record Creates.
LinodeChangeDelete Linode Domain Record Deletes.
LinodeChanges All API calls calculated from the plan.
LinodeChangeUpdate Linode Domain Record Updates.
LinodeProvider is an implementation of Provider for Digital Ocean's DNS.
OCIAuthConfig holds connection parameters for the OCI API.
OCIConfig holds the configuration for the OCI Provider.
OCIProvider is an implementation of Provider for Oracle Cloud Infrastructure (OCI) DNS.
PDNSAPIClient : Struct that encapsulates all the PowerDNS specific implementation details.
PDNSConfig is comprised of the fields necessary to create a new PDNSProvider.
PDNSProvider is an implementation of the Provider interface for PowerDNS.
Service represents SkyDNS/CoreDNS etcd record.
TLSConfig is comprised of the TLS-related fields necessary to create a new PDNSProvider.
ZoneChange is missing from dynect: https://help.dyn.com/get-zone-changeset-api/.
ZoneChangesResponse is missing from dynect: https://help.dyn.com/get-zone-changeset-api/.
ZoneIDFilter holds a list of zone ids to filter by.
ZonePublishRequest is missing from dynect but the notes field is a nice place to let external-dns report some internal info during commit.
ZonePublishResponse holds the status after publish.
ZoneSnapshot stores a single recordset for a zone for a single serial.
ZoneTypeFilter holds a zone type to filter for.

# Interfaces

AlibabaCloudDNSAPI is a minimal implementation of DNS API that we actually use, used primarily for unit testing.
AlibabaCloudPrivateZoneAPI is a minimal implementation of Private Zone API that we actually use, used primarily for unit testing.
AWSSDClient is the subset of the AWS Route53 Auto Naming API that we actually use.
EgoscaleClientI for replaceable implementation.
LinodeDomainClient interface to ease testing.
PDNSAPIProvider : Interface used and extended by the PDNSAPIClient struct as well as mock APIClients used in testing.
Provider defines the interface DNS providers should implement.
RecordsClient is an interface of dns.RecordClient that can be stubbed for testing.
Route53API is the subset of the AWS Route53 API that we actually use.
ZonesClient is an interface of dns.ZoneClient that can be stubbed for testing.

# Type aliases

ExoscaleOption for Provider options.
InMemoryOption allows to extend in-memory provider.