Documentation
¶
Index ¶
Constants ¶
const (
// RecordTypeA is a RecordType enum value
RecordTypeA = "A"
// RecordTypeCNAME is a RecordType enum value
RecordTypeCNAME = "CNAME"
// RecordTypeTXT is a RecordType enum value
RecordTypeTXT = "TXT"
// RecordTypeSRV is a RecordType enum value
RecordTypeSRV = "SRV"
)
const (
// OwnerLabelKey is the name of the label that defines the owner of an Endpoint.
OwnerLabelKey = "owner"
// ResourceLabelKey is the name of the label that identifies k8s resource which wants to acquire the DNS name
ResourceLabelKey = "resource"
// AWSSDDescriptionLabel label responsible for storing raw owner/resource combination information in the Labels
// supposed to be inserted by AWS SD Provider, and parsed into OwnerLabelKey and ResourceLabelKey key by AWS SD Registry
AWSSDDescriptionLabel = "aws-sd-description"
)
Variables ¶
var (
// ErrInvalidHeritage is returned when heritage was not found, or different heritage is found
ErrInvalidHeritage = errors.New("heritage is unknown or not found")
)
Functions ¶
This section is empty.
Types ¶
type DNSEndpoint ¶ added in v0.5.6
type DNSEndpoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSEndpointSpec `json:"spec,omitempty"`
Status DNSEndpointStatus `json:"status,omitempty"`
}
DNSEndpoint is a contract that a user-specified CRD must implement to be used as a source for external-dns. The user-specified CRD should also have the status sub-resource. +k8s:openapi-gen=true +kubebuilder:resource:path=dnsendpoints +kubebuilder:subresource:status
func (*DNSEndpoint) DeepCopy ¶ added in v0.5.6
func (in *DNSEndpoint) DeepCopy() *DNSEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpoint.
func (*DNSEndpoint) DeepCopyInto ¶ added in v0.5.6
func (in *DNSEndpoint) DeepCopyInto(out *DNSEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSEndpoint) DeepCopyObject ¶ added in v0.5.6
func (in *DNSEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSEndpointList ¶ added in v0.5.6
type DNSEndpointList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSEndpoint `json:"items"`
}
DNSEndpointList is a list of DNSEndpoint objects
func (*DNSEndpointList) DeepCopy ¶ added in v0.5.6
func (in *DNSEndpointList) DeepCopy() *DNSEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointList.
func (*DNSEndpointList) DeepCopyInto ¶ added in v0.5.6
func (in *DNSEndpointList) DeepCopyInto(out *DNSEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSEndpointList) DeepCopyObject ¶ added in v0.5.6
func (in *DNSEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSEndpointSpec ¶ added in v0.5.6
type DNSEndpointSpec struct {
Endpoints []*Endpoint `json:"endpoints,omitempty"`
}
DNSEndpointSpec defines the desired state of DNSEndpoint
func (*DNSEndpointSpec) DeepCopy ¶ added in v0.5.6
func (in *DNSEndpointSpec) DeepCopy() *DNSEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointSpec.
func (*DNSEndpointSpec) DeepCopyInto ¶ added in v0.5.6
func (in *DNSEndpointSpec) DeepCopyInto(out *DNSEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSEndpointStatus ¶ added in v0.5.6
type DNSEndpointStatus struct {
// The generation observed by the external-dns controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DNSEndpointStatus defines the observed state of DNSEndpoint
func (*DNSEndpointStatus) DeepCopy ¶ added in v0.5.6
func (in *DNSEndpointStatus) DeepCopy() *DNSEndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointStatus.
func (*DNSEndpointStatus) DeepCopyInto ¶ added in v0.5.6
func (in *DNSEndpointStatus) DeepCopyInto(out *DNSEndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct {
// The hostname of the DNS record
DNSName string `json:"dnsName,omitempty"`
// The targets the DNS record points to
Targets Targets `json:"targets,omitempty"`
// RecordType type of record, e.g. CNAME, A, SRV, TXT etc
RecordType string `json:"recordType,omitempty"`
// TTL for the record
RecordTTL TTL `json:"recordTTL,omitempty"`
// Labels stores labels defined for the Endpoint
// +optional
Labels Labels `json:"labels,omitempty"`
// ProviderSpecific stores provider specific config
// +optional
ProviderSpecific ProviderSpecific `json:"providerSpecific,omitempty"`
}
Endpoint is a high-level way of a connection between a service and an IP
func NewEndpoint ¶ added in v0.2.0
func NewEndpoint(dnsName, recordType string, targets ...string) *Endpoint
NewEndpoint initialization method to be used to create an endpoint
func NewEndpointWithTTL ¶ added in v0.4.6
func NewEndpointWithTTL(dnsName, recordType string, ttl TTL, targets ...string) *Endpoint
NewEndpointWithTTL initialization method to be used to create an endpoint with a TTL struct
func (*Endpoint) DeepCopy ¶ added in v0.5.6
func (in *Endpoint) DeepCopy() *Endpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶ added in v0.5.6
func (in *Endpoint) DeepCopyInto(out *Endpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Endpoint) WithProviderSpecific ¶ added in v0.5.8
func (e *Endpoint) WithProviderSpecific(key, value string) *Endpoint
WithProviderSpecific attaches a key/value pair to the Endpoint and returns the Endpoint. This can be used to pass additional data through the stages of ExternalDNS's Endpoint processing. The assumption is that most of the time this will be provider specific metadata that doesn't warrant its own field on the Endpoint object itself. It differs from Labels in the fact that it's not persisted in the Registry but only kept in memory during a single record synchronization.
type Labels ¶ added in v0.5.0
type Labels map[string]string
Labels store metadata related to the endpoint it is then stored in a persistent storage via serialization
func NewLabelsFromString ¶ added in v0.5.0
func NewLabelsFromString(labelText string) (Labels, error)
NewLabelsFromString constructs endpoints labels from a provided format string if heritage set to another value is found then error is returned no heritage automatically assumes is not owned by external-dns and returns invalidHeritage error
func (Labels) DeepCopy ¶ added in v0.5.6
func (in Labels) DeepCopy() Labels
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶ added in v0.5.6
func (in Labels) DeepCopyInto(out *Labels)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecific ¶ added in v0.5.6
type ProviderSpecific map[string]string
ProviderSpecific holds configuration which is specific to individual DNS providers
func (ProviderSpecific) DeepCopy ¶ added in v0.5.6
func (in ProviderSpecific) DeepCopy() ProviderSpecific
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecific.
func (ProviderSpecific) DeepCopyInto ¶ added in v0.5.6
func (in ProviderSpecific) DeepCopyInto(out *ProviderSpecific)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TTL ¶ added in v0.4.6
type TTL int64
TTL is a structure defining the TTL of a DNS record
func (TTL) IsConfigured ¶ added in v0.4.6
func (ttl TTL) IsConfigured() bool
IsConfigured returns true if TTL is configured, false otherwise
type Targets ¶ added in v0.5.0
type Targets []string
Targets is a representation of a list of targets for an endpoint.
func NewTargets ¶ added in v0.5.0
func NewTargets(target ...string) Targets
NewTargets is a convenience method to create a new Targets object from a vararg of strings
func (Targets) DeepCopy ¶ added in v0.5.6
func (in Targets) DeepCopy() Targets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Targets.
func (Targets) DeepCopyInto ¶ added in v0.5.6
func (in Targets) DeepCopyInto(out *Targets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Targets) IsLess ¶ added in v0.5.0
func (t Targets) IsLess(o Targets) bool
IsLess should fulfill the requirement to compare two targets and chosse the 'lesser' one. In the past target was a simple string so simple string comparison could be used. Now we define 'less' as either being the shorter list of targets or where the first entry is less. FIXME We really need to define under which circumstances a list Targets is considered 'less' than another.