provider

package
v0.0.0-...-68a8344 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

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

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

func EnsureTrailingDot(hostname string) string

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

func SupportedRecordType

func SupportedRecordType(recordType string) bool

SupportedRecordType returns true only for supported record types. Currently A, CNAME, SRV, and TXT record types are supported.

Types

type BaseProvider

type BaseProvider struct {
}

func (BaseProvider) PropertyValuesEqual

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
}

Provider defines the interface DNS providers should implement.

type ZoneIDFilter

type ZoneIDFilter struct {
	ZoneIDs []string
}

ZoneIDFilter holds a list of zone ids to filter by

func NewZoneIDFilter

func NewZoneIDFilter(zoneIDs []string) ZoneIDFilter

NewZoneIDFilter returns a new ZoneIDFilter given a list of zone ids

func (ZoneIDFilter) Match

func (f ZoneIDFilter) Match(zoneID string) bool

Match checks whether a zone matches one of the provided zone ids

type ZoneIDName

type ZoneIDName map[string]string

func (ZoneIDName) Add

func (z ZoneIDName) Add(zoneID, zoneName string)

func (ZoneIDName) FindZone

func (z ZoneIDName) FindZone(hostname string) (suitableZoneID, suitableZoneName string)

type ZoneTagFilter

type ZoneTagFilter struct {
	// contains filtered or unexported fields
}

ZoneTagFilter holds a list of zone tags to filter by

func NewZoneTagFilter

func NewZoneTagFilter(tags []string) ZoneTagFilter

NewZoneTagFilter returns a new ZoneTagFilter given a list of zone tags

func (ZoneTagFilter) IsEmpty

func (f ZoneTagFilter) IsEmpty() bool

IsEmpty returns true if there are no tags for the filter

func (ZoneTagFilter) Match

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

type ZoneTypeFilter struct {
	// contains filtered or unexported fields
}

ZoneTypeFilter holds a zone type to filter for.

func NewZoneTypeFilter

func NewZoneTypeFilter(zoneType string) ZoneTypeFilter

NewZoneTypeFilter returns a new ZoneTypeFilter given a zone type to filter for.

func (ZoneTypeFilter) Match

func (f ZoneTypeFilter) Match(zone *route53.HostedZone) 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