Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the kuadrant.io v1 API group +kubebuilder:object:generate=true +groupName=kuadrant.io
Index ¶
- Constants
- Variables
- type DNSRecord
- type DNSRecordList
- type DNSRecordSpec
- type DNSRecordStatus
- type DNSRecordType
- type DNSZone
- type DNSZoneCondition
- type DNSZoneStatus
- type Endpoint
- func (in *Endpoint) DeepCopy() *Endpoint
- func (in *Endpoint) DeepCopyInto(out *Endpoint)
- func (endpoint *Endpoint) DeleteProviderSpecific(name string) bool
- func (endpoint *Endpoint) GetAddress() (string, bool)
- func (endpoint *Endpoint) GetProviderSpecific(name string) (string, bool)
- func (e *Endpoint) GetProviderSpecificProperty(key string) (ProviderSpecificProperty, bool)
- func (e *Endpoint) SetID() string
- func (endpoint *Endpoint) SetProviderSpecific(name, value string)
- func (e *Endpoint) String() string
- func (e *Endpoint) WithProviderSpecific(key, value string) *Endpoint
- func (e *Endpoint) WithSetIdentifier(setIdentifier string) *Endpoint
- type Labels
- type ProviderSpecific
- type ProviderSpecificProperty
- type TTL
- type Target
- type Targets
Constants ¶
const ( TargetTypeHost = "HOST" TargetTypeIP = "IP" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kuadrant.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var (
// Failed means the record is not available within a zone.
DNSRecordFailedConditionType = "Failed"
)
Functions ¶
This section is empty.
Types ¶
type DNSRecord ¶
type DNSRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSRecordSpec `json:"spec,omitempty"` Status DNSRecordStatus `json:"status,omitempty"` }
DNSRecord is the Schema for the dnsrecords API
func (*DNSRecord) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.
func (*DNSRecord) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecord) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordList ¶
type DNSRecordList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DNSRecord `json:"items"` }
DNSRecordList contains a list of DNSRecord
func (*DNSRecordList) DeepCopy ¶
func (in *DNSRecordList) DeepCopy() *DNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordList.
func (*DNSRecordList) DeepCopyInto ¶
func (in *DNSRecordList) DeepCopyInto(out *DNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecordList) DeepCopyObject ¶
func (in *DNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordSpec ¶
type DNSRecordSpec struct { // +kubebuilder:validation:MinItems=1 // +optional Endpoints []*Endpoint `json:"endpoints"` }
DNSRecordSpec defines the desired state of DNSRecord
func (*DNSRecordSpec) DeepCopy ¶
func (in *DNSRecordSpec) DeepCopy() *DNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSpec.
func (*DNSRecordSpec) DeepCopyInto ¶
func (in *DNSRecordSpec) DeepCopyInto(out *DNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordStatus ¶
type DNSRecordStatus struct { // zones are the status of the record in each zone. Zones []DNSZoneStatus `json:"zones,omitempty"` // observedGeneration is the most recently observed generation of the // DNSRecord. When the DNSRecord is updated, the controller updates the // corresponding record in each managed zone. If an update for a // particular zone fails, that failure is recorded in the status // condition for the zone so that the controller can determine that it // needs to retry the update for that specific zone. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
DNSRecordStatus defines the observed state of DNSRecord
func (*DNSRecordStatus) DeepCopy ¶
func (in *DNSRecordStatus) DeepCopy() *DNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordStatus.
func (*DNSRecordStatus) DeepCopyInto ¶
func (in *DNSRecordStatus) DeepCopyInto(out *DNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordType ¶
type DNSRecordType string
DNSRecordType is a DNS resource record type. +kubebuilder:validation:Enum=CNAME;A
const ( // CNAMERecordType is an RFC 1035 CNAME record. CNAMERecordType DNSRecordType = "CNAME" // ARecordType is an RFC 1035 A record. ARecordType DNSRecordType = "A" )
type DNSZone ¶
type DNSZone struct { // id is the identifier that can be used to find the DNS hosted zone. // // on AWS zone can be fetched using `ID` as id in [1] // on Azure zone can be fetched using `ID` as a pre-determined name in [2], // on GCP zone can be fetched using `ID` as a pre-determined name in [3]. // // [1]: https://docs.aws.amazon.com/cli/latest/reference/route53/get-hosted-zone.html#options // [2]: https://docs.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest#az-network-dns-zone-show // [3]: https://cloud.google.com/dns/docs/reference/v1/managedZones/get // +optional ID string `json:"id,omitempty"` // tags can be used to query the DNS hosted zone. // // on AWS, resourcegroupstaggingapi [1] can be used to fetch a zone using `Tags` as tag-filters, // // [1]: https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html#options // +optional Tags map[string]string `json:"tags,omitempty"` }
DNSZone is used to define a DNS hosted zone. A zone can be identified by an ID or tags.
func (*DNSZone) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZone.
func (*DNSZone) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSZoneCondition ¶
type DNSZoneCondition struct { // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Type string `json:"type"` // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Status string `json:"status"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
DNSZoneCondition is just the standard condition fields.
func (*DNSZoneCondition) DeepCopy ¶
func (in *DNSZoneCondition) DeepCopy() *DNSZoneCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneCondition.
func (*DNSZoneCondition) DeepCopyInto ¶
func (in *DNSZoneCondition) DeepCopyInto(out *DNSZoneCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSZoneStatus ¶
type DNSZoneStatus struct { // dnsZone is the zone where the record is published. DNSZone DNSZone `json:"dnsZone"` // conditions are any conditions associated with the record in the zone. // // If publishing the record fails, the "Failed" condition will be set with a // reason and message describing the cause of the failure. Conditions []DNSZoneCondition `json:"conditions,omitempty"` // endpoints are the last endpoints that were successfully published to the provider // // Provides a simple mechanism to store the current provider records in order to // delete any that are no longer present in DNSRecordSpec.Endpoints // // Note: This will not be required if/when we switch to using external-dns since when // running with a "sync" policy it will clean up unused records automatically. Endpoints []*Endpoint `json:"endpoints,omitempty"` }
DNSZoneStatus is the status of a record within a specific zone.
func (*DNSZoneStatus) DeepCopy ¶
func (in *DNSZoneStatus) DeepCopy() *DNSZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneStatus.
func (*DNSZoneStatus) DeepCopyInto ¶
func (in *DNSZoneStatus) DeepCopyInto(out *DNSZoneStatus)
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"` // Identifier to distinguish multiple records with the same name and type (e.g. Route53 records with routing policies other than 'simple') SetIdentifier string `json:"setIdentifier,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 (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Endpoint) DeleteProviderSpecific ¶
func (*Endpoint) GetAddress ¶
func (*Endpoint) GetProviderSpecific ¶
func (*Endpoint) GetProviderSpecificProperty ¶
func (e *Endpoint) GetProviderSpecificProperty(key string) (ProviderSpecificProperty, bool)
GetProviderSpecificProperty returns a ProviderSpecificProperty if the property exists.
func (*Endpoint) SetProviderSpecific ¶
func (*Endpoint) WithProviderSpecific ¶
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.
func (*Endpoint) WithSetIdentifier ¶
WithSetIdentifier applies the given set identifier to the endpoint.
type Labels ¶
Labels store metadata related to the endpoint it is then stored in a persistent storage via serialization
func (Labels) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecific ¶
type ProviderSpecific []ProviderSpecificProperty
ProviderSpecific holds configuration which is specific to individual DNS providers
func (ProviderSpecific) DeepCopy ¶
func (in ProviderSpecific) DeepCopy() ProviderSpecific
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecific.
func (ProviderSpecific) DeepCopyInto ¶
func (in ProviderSpecific) DeepCopyInto(out *ProviderSpecific)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecificProperty ¶
type ProviderSpecificProperty struct { Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` }
ProviderSpecificProperty holds the name and value of a configuration which is specific to individual DNS providers
func (*ProviderSpecificProperty) DeepCopy ¶
func (in *ProviderSpecificProperty) DeepCopy() *ProviderSpecificProperty
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecificProperty.
func (*ProviderSpecificProperty) DeepCopyInto ¶
func (in *ProviderSpecificProperty) DeepCopyInto(out *ProviderSpecificProperty)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Target ¶
func (*Target) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Targets ¶
type Targets []string
Targets is a representation of a list of targets for an endpoint.
func (Targets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Targets.
func (Targets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.