provider

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2021 License: Apache-2.0 Imports: 6 Imported by: 35

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

Functions

func Difference added in v0.7.2

func Difference(current, desired []string) ([]string, []string, []string)

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

func EnsureTrailingDot(hostname string) string

EnsureTrailingDot ensures that the hostname receives a trailing dot if it hasn't already.

func SupportedRecordType added in v0.7.2

func SupportedRecordType(recordType string) bool

SupportedRecordType returns true only for supported record types. Currently A, 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 (b BaseProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint

func (BaseProvider) GetDomainFilter added in v0.9.0

func (b BaseProvider) GetDomainFilter() endpoint.DomainFilterInterface

func (BaseProvider) PropertyValuesEqual added in v0.7.2

func (b BaseProvider) PropertyValuesEqual(name, previous, current string) bool

type Provider

type Provider interface {
	Records(ctx context.Context) ([]*endpoint.Endpoint, error)
	ApplyChanges(ctx context.Context, changes *plan.Changes) error
	PropertyValuesEqual(name string, previous string, current string) bool
	AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
	GetDomainFilter() endpoint.DomainFilterInterface
}

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) 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

type ZoneIDName map[string]string

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

func (ZoneTagFilter) Match added in v0.5.10

func (f ZoneTagFilter) Match(tagsMap map[string]string) bool

Match checks whether a zone's set of tags matches the provided tag values

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL