Documentation
¶
Overview ¶
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
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 CachedProvider
- 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
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 NewSoftError ¶ added in v0.14.1
func NewSoftError(err error) error
NewSoftError creates a SoftError from the given error
func SupportedRecordType ¶ added in v0.7.2
func SupportedRecordType(recordType string) bool
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 (b BaseProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*endpoint.Endpoint, error)
func (BaseProvider) GetDomainFilter ¶ added in v0.9.0
func (b BaseProvider) GetDomainFilter() endpoint.DomainFilterInterface
type CachedProvider ¶ added in v0.15.0
type CachedProvider struct {
Provider
RefreshDelay time.Duration
// contains filtered or unexported fields
}
func NewCachedProvider ¶ added in v0.15.0
func NewCachedProvider(provider Provider, refreshDelay time.Duration) *CachedProvider
func (*CachedProvider) ApplyChanges ¶ added in v0.15.0
func (c *CachedProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error
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.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) IsConfigured ¶ added in v0.13.0
func (f ZoneIDFilter) IsConfigured() bool
IsConfigured returns true if DomainFilter is configured, false otherwise
type ZoneIDName ¶ added in v0.7.2
type ZoneIDName map[string]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
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.