Documentation
¶
Index ¶
- type AWSSDRegistry
- func (sdr *AWSSDRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
- func (sdr *AWSSDRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
- func (sdr *AWSSDRegistry) GetDomainFilter() endpoint.DomainFilterInterface
- func (sdr *AWSSDRegistry) MissingRecords() []*endpoint.Endpoint
- func (sdr *AWSSDRegistry) PropertyValuesEqual(name string, previous string, current string) bool
- func (sdr *AWSSDRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)
- type NoopRegistry
- func (im *NoopRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
- func (im *NoopRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
- func (im *NoopRegistry) GetDomainFilter() endpoint.DomainFilterInterface
- func (im *NoopRegistry) MissingRecords() []*endpoint.Endpoint
- func (im *NoopRegistry) PropertyValuesEqual(attribute string, previous string, current string) bool
- func (im *NoopRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)
- type Registry
- type TXTRegistry
- func (im *TXTRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
- func (im *TXTRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
- func (im *TXTRegistry) GetDomainFilter() endpoint.DomainFilterInterface
- func (im *TXTRegistry) MissingRecords() []*endpoint.Endpoint
- func (im *TXTRegistry) PropertyValuesEqual(name string, previous string, current string) bool
- func (im *TXTRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSSDRegistry ¶ added in v0.5.2
type AWSSDRegistry struct {
// contains filtered or unexported fields
}
AWSSDRegistry implements registry interface with ownership information associated via the Description field of SD Service
func NewAWSSDRegistry ¶ added in v0.5.2
func NewAWSSDRegistry(provider provider.Provider, ownerID string) (*AWSSDRegistry, error)
NewAWSSDRegistry returns implementation of registry for AWS SD
func (*AWSSDRegistry) AdjustEndpoints ¶ added in v0.7.5
func (sdr *AWSSDRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
AdjustEndpoints modifies the endpoints as needed by the specific provider
func (*AWSSDRegistry) ApplyChanges ¶ added in v0.5.2
func (sdr *AWSSDRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges filters out records not owned the External-DNS, additionally it adds the required label inserted in the AWS SD instance as a CreateID field
func (*AWSSDRegistry) GetDomainFilter ¶ added in v0.9.0
func (sdr *AWSSDRegistry) GetDomainFilter() endpoint.DomainFilterInterface
func (*AWSSDRegistry) MissingRecords ¶ added in v0.12.1
func (sdr *AWSSDRegistry) MissingRecords() []*endpoint.Endpoint
MissingRecords returns nil because there is no missing records for AWSSD registry
func (*AWSSDRegistry) PropertyValuesEqual ¶ added in v0.7.2
func (sdr *AWSSDRegistry) PropertyValuesEqual(name string, previous string, current string) bool
type NoopRegistry ¶
type NoopRegistry struct {
// contains filtered or unexported fields
}
NoopRegistry implements registry interface without ownership directly propagating changes to dns provider
func NewNoopRegistry ¶
func NewNoopRegistry(provider provider.Provider) (*NoopRegistry, error)
NewNoopRegistry returns new NoopRegistry object
func (*NoopRegistry) AdjustEndpoints ¶ added in v0.7.5
func (im *NoopRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
AdjustEndpoints modifies the endpoints as needed by the specific provider
func (*NoopRegistry) ApplyChanges ¶
func (im *NoopRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges propagates changes to the dns provider
func (*NoopRegistry) GetDomainFilter ¶ added in v0.9.0
func (im *NoopRegistry) GetDomainFilter() endpoint.DomainFilterInterface
func (*NoopRegistry) MissingRecords ¶ added in v0.12.1
func (im *NoopRegistry) MissingRecords() []*endpoint.Endpoint
MissingRecords returns nil because there is no missing records for Noop registry
func (*NoopRegistry) PropertyValuesEqual ¶ added in v0.7.2
func (im *NoopRegistry) PropertyValuesEqual(attribute string, previous string, current string) bool
PropertyValuesEqual compares two property values for equality
type Registry ¶
type Registry interface {
Records(ctx context.Context) ([]*endpoint.Endpoint, error)
ApplyChanges(ctx context.Context, changes *plan.Changes) error
PropertyValuesEqual(attribute string, previous string, current string) bool
AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
GetDomainFilter() endpoint.DomainFilterInterface
MissingRecords() []*endpoint.Endpoint
}
Registry is an interface which should enables ownership concept in external-dns Records() returns ALL records registered with DNS provider each entry includes owner information ApplyChanges(changes *plan.Changes) propagates the changes to the DNS Provider API and correspondingly updates ownership depending on type of registry being used
type TXTRegistry ¶
type TXTRegistry struct {
// contains filtered or unexported fields
}
TXTRegistry implements registry interface with ownership implemented via associated TXT records
func NewTXTRegistry ¶
func NewTXTRegistry(provider provider.Provider, txtPrefix, txtSuffix, ownerID string, cacheInterval time.Duration, txtWildcardReplacement string, managedRecordTypes []string) (*TXTRegistry, error)
NewTXTRegistry returns new TXTRegistry object
func (*TXTRegistry) AdjustEndpoints ¶ added in v0.7.5
func (im *TXTRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
AdjustEndpoints modifies the endpoints as needed by the specific provider
func (*TXTRegistry) ApplyChanges ¶
func (im *TXTRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges updates dns provider with the changes for each created/deleted record it will also take into account TXT records for creation/deletion
func (*TXTRegistry) GetDomainFilter ¶ added in v0.9.0
func (im *TXTRegistry) GetDomainFilter() endpoint.DomainFilterInterface
func (*TXTRegistry) MissingRecords ¶ added in v0.12.1
func (im *TXTRegistry) MissingRecords() []*endpoint.Endpoint
MissingRecords returns the TXT record to be created. The missing records are collected during the run of Records method.
func (*TXTRegistry) PropertyValuesEqual ¶ added in v0.7.2
func (im *TXTRegistry) PropertyValuesEqual(name string, previous string, current string) bool
PropertyValuesEqual compares two attribute values for equality
func (*TXTRegistry) Records ¶
func (im *TXTRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)
Records returns the current records from the registry excluding TXT Records If TXT records was created previously to indicate ownership its corresponding value will be added to the endpoints Labels map