Documentation ¶
Index ¶
- Variables
- func Difference(current, desired []string) ([]string, []string, []string)
- func EnsureTrailingDot(hostname string) string
- func NewSoftError(err error) error
- func SupportedRecordType(recordType string) bool
- type BaseProvider
- type Provider
- type ZoneIDFilter
- type ZoneIDName
- type ZoneTagFilter
- type ZoneTypeFilter
Constants ¶
This section is empty.
Variables ¶
var RecordsContextKey = &contextKey{"records"}
RecordsContextKey is a context key. It can be used during ApplyChanges to access previously cached records. The associated value will be of type []*endpoint.Endpoint.
var SoftError error = errors.New("soft error")
SoftError is an error, that provider will only log as error instead of fatal. It is meant for error propagation from providers to tell that this is a transient error.
Functions ¶
func Difference ¶ added in v0.7.2
Difference tells which entries need to be respectively added, removed, or left untouched for "current" to be transformed to "desired"
func EnsureTrailingDot ¶ added in v0.7.2
EnsureTrailingDot ensures that the hostname receives a trailing dot if it hasn't already.
func NewSoftError ¶ added in v0.14.1
NewSoftError creates a SoftError from the given error
func SupportedRecordType ¶ added in v0.7.2
SupportedRecordType returns true only for supported record types. Currently A, AAAA, CNAME, SRV, TXT and NS record types are supported.
Types ¶
type BaseProvider ¶ added in v0.7.2
type BaseProvider struct{}
func (BaseProvider) AdjustEndpoints ¶ added in v0.7.5
func (BaseProvider) GetDomainFilter ¶ added in v0.9.0
func (b BaseProvider) GetDomainFilter() endpoint.DomainFilter
type Provider ¶
type Provider interface { Records(ctx context.Context) ([]*endpoint.Endpoint, error) ApplyChanges(ctx context.Context, changes *plan.Changes) error // AdjustEndpoints canonicalizes a set of candidate endpoints. // It is called with a set of candidate endpoints obtained from the various sources. // It returns a set modified as required by the provider. The provider is responsible for // adding, removing, and modifying the ProviderSpecific properties to match // the endpoints that the provider returns in `Records` so that the change plan will not have // unnecessary (potentially failing) changes. It may also modify other fields, add, or remove // Endpoints. It is permitted to modify the supplied endpoints. AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*endpoint.Endpoint, error) GetDomainFilter() endpoint.DomainFilter }
Provider defines the interface DNS providers should implement.
type ZoneIDFilter ¶ added in v0.5.0
type ZoneIDFilter struct {
ZoneIDs []string
}
ZoneIDFilter holds a list of zone ids to filter by
func NewZoneIDFilter ¶ added in v0.5.0
func NewZoneIDFilter(zoneIDs []string) ZoneIDFilter
NewZoneIDFilter returns a new ZoneIDFilter given a list of zone ids
func (ZoneIDFilter) IsConfigured ¶ added in v0.13.0
func (f ZoneIDFilter) IsConfigured() bool
IsConfigured returns true if DomainFilter is configured, false otherwise
func (ZoneIDFilter) Match ¶ added in v0.5.0
func (f ZoneIDFilter) Match(zoneID string) bool
Match checks whether a zone matches one of the provided zone ids
type ZoneIDName ¶ added in v0.7.2
func (ZoneIDName) Add ¶ added in v0.7.2
func (z ZoneIDName) Add(zoneID, zoneName string)
func (ZoneIDName) FindZone ¶ added in v0.7.2
func (z ZoneIDName) FindZone(hostname string) (suitableZoneID, suitableZoneName string)
type ZoneTagFilter ¶ added in v0.5.10
type ZoneTagFilter struct {
// contains filtered or unexported fields
}
ZoneTagFilter holds a list of zone tags to filter by
func NewZoneTagFilter ¶ added in v0.5.10
func NewZoneTagFilter(tags []string) ZoneTagFilter
NewZoneTagFilter returns a new ZoneTagFilter given a list of zone tags
func (ZoneTagFilter) IsEmpty ¶ added in v0.5.10
func (f ZoneTagFilter) IsEmpty() bool
IsEmpty returns true if there are no tags for the filter
type ZoneTypeFilter ¶ added in v0.4.5
type ZoneTypeFilter struct {
// contains filtered or unexported fields
}
ZoneTypeFilter holds a zone type to filter for.
func NewZoneTypeFilter ¶ added in v0.4.5
func NewZoneTypeFilter(zoneType string) ZoneTypeFilter
NewZoneTypeFilter returns a new ZoneTypeFilter given a zone type to filter for.
func (ZoneTypeFilter) Match ¶ added in v0.4.5
func (f ZoneTypeFilter) Match(rawZoneType interface{}) bool
Match checks whether a zone matches the zone type that's filtered for.