Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the redhatcop v1alpha1 API group +kubebuilder:object:generate=true +groupName=redhatcop.redhat.io
Index ¶
- Variables
- type ClusterReference
- type Endpoint
- type ExternalDNSProviderConfig
- type GCPGLBProviderConfig
- type GlobalDNSRecord
- type GlobalDNSRecordList
- type GlobalDNSRecordSpec
- type GlobalDNSRecordStatus
- type GlobalDNSZone
- type GlobalDNSZoneList
- type GlobalDNSZoneSpec
- type GlobalDNSZoneStatus
- type GlobalRouteDiscovery
- type GlobalRouteDiscoveryList
- type GlobalRouteDiscoverySpec
- type GlobalRouteDiscoveryStatus
- type LoadBalancingPolicy
- type NamespacedName
- type ProviderConfig
- type ProviderStatus
- type Route53ProviderConfig
- type Route53ProviderStatus
- type TrafficManagerProviderConfig
- type TrafficManagerProviderStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "redhatcop.redhat.io", Version: "v1alpha1"} // 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 )
Functions ¶
This section is empty.
Types ¶
type ClusterReference ¶
type ClusterReference struct { //ClusterName name of the cluster to connect to. // +kubebuilder:validation:Required ClusterName string `json:"clusterName"` //CredentialsSecretRef is a reference to a secret containing the credentials to access the cluster //a key called "kubeconfig" containing a valid kubeconfig file for connecting to the cluster must exist in this secret. // +kubebuilder:validation:Required CredentialsSecretRef NamespacedName `json:"clusterCredentialRef"` }
ClusterReference contains the infomation necessary to connect to a cluster
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterReference) GetKey ¶
func (cr *ClusterReference) GetKey() string
type Endpoint ¶
type Endpoint struct { //ClusterName name of the cluster to connect to. // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[a-z0-9]{1,64}$" ClusterName string `json:"clusterName"` //CredentialsSecretRef is a reference to a secret containing the credentials to access the cluster //a key called "kubeconfig" containing a valid kubeconfig file for connecting to the cluster must exist in this secret. // +kubebuilder:validation:Required CredentialsSecretRef NamespacedName `json:"clusterCredentialRef"` //LoadBalancerServiceRef contains a reference to the load balancer service that will receive the traffic, if using a router, put here the service created by the ingress controller. // +kubebuilder:validation:Required LoadBalancerServiceRef NamespacedName `json:"loadBalancerServiceRef"` }
Endpoint represents a traffic ingress point to the cluster. Currently only LoadBalancer service is supported.
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.
type ExternalDNSProviderConfig ¶
type ExternalDNSProviderConfig struct { //Annotations is a map of annotations to be added to the created DNSEndpoint records. // +kubebuilder:validation:Optional Annotations map[string]string `json:"annotations"` }
ExternalDNSProviderConfig contains configuration on how configure the external DNS provider
func (*ExternalDNSProviderConfig) DeepCopy ¶
func (in *ExternalDNSProviderConfig) DeepCopy() *ExternalDNSProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSProviderConfig.
func (*ExternalDNSProviderConfig) DeepCopyInto ¶
func (in *ExternalDNSProviderConfig) DeepCopyInto(out *ExternalDNSProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPGLBProviderConfig ¶ added in v1.4.0
type GCPGLBProviderConfig struct { //CredentialsSecretRef is a reference to a secret containing the credentials to access the gcp API. // This is needed when you want to use gcp glb as your global load balancer but the operator does not run in a gcp cluster. // If the operator runs in a gcp cluster, credentials are automatically requested via a CredendialRequest object. // +kubebuilder:validation:Optional CredentialsSecretRef NamespacedName `json:"credentialsSecretRef,omitempty"` //ManagedZoneName is the name of the DNS zone in which the global records are created. This must be in the same project as the clusters. // +kubebuilder:validation:Required ManagedZoneName string `json:"managedZoneName,omitempty"` }
TrafficManagerProviderConfig contains configuration on how to access the Azure Traffic Manager API
func (*GCPGLBProviderConfig) DeepCopy ¶ added in v1.4.0
func (in *GCPGLBProviderConfig) DeepCopy() *GCPGLBProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGLBProviderConfig.
func (*GCPGLBProviderConfig) DeepCopyInto ¶ added in v1.4.0
func (in *GCPGLBProviderConfig) DeepCopyInto(out *GCPGLBProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalDNSRecord ¶
type GlobalDNSRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GlobalDNSRecordSpec `json:"spec,omitempty"` Status GlobalDNSRecordStatus `json:"status,omitempty"` }
GlobalDNSRecord is the Schema for the globaldnsrecords API
func (*GlobalDNSRecord) DeepCopy ¶
func (in *GlobalDNSRecord) DeepCopy() *GlobalDNSRecord
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSRecord.
func (*GlobalDNSRecord) DeepCopyInto ¶
func (in *GlobalDNSRecord) DeepCopyInto(out *GlobalDNSRecord)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalDNSRecord) DeepCopyObject ¶
func (in *GlobalDNSRecord) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalDNSRecordList ¶
type GlobalDNSRecordList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GlobalDNSRecord `json:"items"` }
GlobalDNSRecordList contains a list of GlobalDNSRecord
func (*GlobalDNSRecordList) DeepCopy ¶
func (in *GlobalDNSRecordList) DeepCopy() *GlobalDNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSRecordList.
func (*GlobalDNSRecordList) DeepCopyInto ¶
func (in *GlobalDNSRecordList) DeepCopyInto(out *GlobalDNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalDNSRecordList) DeepCopyObject ¶
func (in *GlobalDNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalDNSRecordSpec ¶
type GlobalDNSRecordSpec struct { // Name is the fqdn that will be used for this record. // +kubebuilder:validation:Pattern:=`(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]` // +kubebuilder:validation:Required Name string `json:"name"` //Enpoints is the list of the cluster endpoitns that need to be considered for this dns record // +kubebuilder:validation:Optional // +listType=map // +listMapKey="clusterName" Endpoints []Endpoint `json:"endpoints,omitempty"` //TTL is the TTL for this dns record // +kubebuilder:validation:Optional // +kubebuilder:default:60 TTL int `json:"ttl,omitempty"` //Probe is the health check used to probe the health of the applications and decide which IPs to return //Only HttpAction is supported // +kubebuilder:validation:Optional HealthCheck *v1.Probe `json:"healthCheck,omitempty"` // LoadBalancingPolicy describes the policy used to loadbalance the results of the DNS queries. // +kubebuilder:validation:Required LoadBalancingPolicy LoadBalancingPolicy `json:"loadBalancingPolicy"` //GlobalZoneRef represents the global zone that will be used to host this record // +kubebuilder:validation:Required GlobalZoneRef v1.LocalObjectReference `json:"globalZoneRef"` }
GlobalDNSRecordSpec defines the desired state of GlobalDNSRecord
func (*GlobalDNSRecordSpec) DeepCopy ¶
func (in *GlobalDNSRecordSpec) DeepCopy() *GlobalDNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSRecordSpec.
func (*GlobalDNSRecordSpec) DeepCopyInto ¶
func (in *GlobalDNSRecordSpec) DeepCopyInto(out *GlobalDNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalDNSRecordStatus ¶
type GlobalDNSRecordStatus struct { // Conditions this is the general status of the main reconciler // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` //MonitoredServiceStatuses contains the reconcile status of each of the monitored services in the remote clusters // +kubebuilder:validation:Optional // +mapType:=granular MonitoredServiceStatuses map[string]apis.Conditions `json:"monitoredServiceStatuses,omitempty"` //EndpointStatuses contains the status of the endpoint as they were looked up during the latest reconcile. We don't fail when an endpoint look up fails, but we need to tarck its status. // +kubebuilder:validation:Optional // +mapType:=granular EndpointStatuses map[string]apis.Conditions `json:"endpointStatuses,omitempty"` //ProviderStatus contains provider specific status information // +kubebuilder:validation:Optional ProviderStatus ProviderStatus `json:"providerStatus,omitempty"` }
GlobalDNSRecordStatus defines the observed state of GlobalDNSRecord
func (*GlobalDNSRecordStatus) DeepCopy ¶
func (in *GlobalDNSRecordStatus) DeepCopy() *GlobalDNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSRecordStatus.
func (*GlobalDNSRecordStatus) DeepCopyInto ¶
func (in *GlobalDNSRecordStatus) DeepCopyInto(out *GlobalDNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalDNSZone ¶
type GlobalDNSZone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GlobalDNSZoneSpec `json:"spec,omitempty"` Status GlobalDNSZoneStatus `json:"status,omitempty"` }
GlobalDNSZone is the Schema for the globaldnszones API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=globaldnszones,scope=Cluster
func (*GlobalDNSZone) DeepCopy ¶
func (in *GlobalDNSZone) DeepCopy() *GlobalDNSZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSZone.
func (*GlobalDNSZone) DeepCopyInto ¶
func (in *GlobalDNSZone) DeepCopyInto(out *GlobalDNSZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalDNSZone) DeepCopyObject ¶
func (in *GlobalDNSZone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GlobalDNSZone) GetConditions ¶
func (m *GlobalDNSZone) GetConditions() []metav1.Condition
func (*GlobalDNSZone) SetConditions ¶
func (m *GlobalDNSZone) SetConditions(conditions []metav1.Condition)
type GlobalDNSZoneList ¶
type GlobalDNSZoneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GlobalDNSZone `json:"items"` }
GlobalDNSZoneList contains a list of GlobalDNSZone
func (*GlobalDNSZoneList) DeepCopy ¶
func (in *GlobalDNSZoneList) DeepCopy() *GlobalDNSZoneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSZoneList.
func (*GlobalDNSZoneList) DeepCopyInto ¶
func (in *GlobalDNSZoneList) DeepCopyInto(out *GlobalDNSZoneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalDNSZoneList) DeepCopyObject ¶
func (in *GlobalDNSZoneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalDNSZoneSpec ¶
type GlobalDNSZoneSpec struct { // +kubebuilder:validation:Pattern:=`(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]` // +kubebuilder:validation:Required Domain string `json:"domain"` // +kubebuilder:validation:Required Provider ProviderConfig `json:"provider"` }
GlobalDNSZoneSpec defines the desired state of GlobalDNSZone
func (*GlobalDNSZoneSpec) DeepCopy ¶
func (in *GlobalDNSZoneSpec) DeepCopy() *GlobalDNSZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSZoneSpec.
func (*GlobalDNSZoneSpec) DeepCopyInto ¶
func (in *GlobalDNSZoneSpec) DeepCopyInto(out *GlobalDNSZoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalDNSZoneStatus ¶
type GlobalDNSZoneStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
GlobalDNSZoneStatus defines the observed state of GlobalDNSZone
func (*GlobalDNSZoneStatus) DeepCopy ¶
func (in *GlobalDNSZoneStatus) DeepCopy() *GlobalDNSZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalDNSZoneStatus.
func (*GlobalDNSZoneStatus) DeepCopyInto ¶
func (in *GlobalDNSZoneStatus) DeepCopyInto(out *GlobalDNSZoneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRouteDiscovery ¶
type GlobalRouteDiscovery struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GlobalRouteDiscoverySpec `json:"spec,omitempty"` Status GlobalRouteDiscoveryStatus `json:"status,omitempty"` }
GlobalRouteDiscovery is the Schema for the globalroutediscoveries API
func (*GlobalRouteDiscovery) DeepCopy ¶
func (in *GlobalRouteDiscovery) DeepCopy() *GlobalRouteDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRouteDiscovery.
func (*GlobalRouteDiscovery) DeepCopyInto ¶
func (in *GlobalRouteDiscovery) DeepCopyInto(out *GlobalRouteDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRouteDiscovery) DeepCopyObject ¶
func (in *GlobalRouteDiscovery) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRouteDiscoveryList ¶
type GlobalRouteDiscoveryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GlobalRouteDiscovery `json:"items"` }
GlobalRouteDiscoveryList contains a list of GlobalRouteDiscovery
func (*GlobalRouteDiscoveryList) DeepCopy ¶
func (in *GlobalRouteDiscoveryList) DeepCopy() *GlobalRouteDiscoveryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRouteDiscoveryList.
func (*GlobalRouteDiscoveryList) DeepCopyInto ¶
func (in *GlobalRouteDiscoveryList) DeepCopyInto(out *GlobalRouteDiscoveryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRouteDiscoveryList) DeepCopyObject ¶
func (in *GlobalRouteDiscoveryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRouteDiscoverySpec ¶
type GlobalRouteDiscoverySpec struct { // Cluster is an arrays with the list of clusters in which global routes will be discovered // +kubebuilder:validation:Optional // +listType=map // +listMapKey="clusterName" Clusters []ClusterReference `json:"clusters,omitempty"` // RouteSelector is the selector that selects the global routes, this allows you to define also local routes. // +kubebuilder:validation:Optional RouteSelector metav1.LabelSelector `json:"routeSelector,omitempty"` //DefaultLoadBalancingPolicy defines the load balancing policy to be used by default. This can be overridden with this route annotation `global-load-balancer-operator.redhat-cop.io/load-balancing-policy`. // +kubebuilder:validation:Optional // +kubebuilder:default:="Multivalue" // +kubebuilder:validation:Enum:={"Weighted","Multivalue","Geolocation","Geoproximity","Latency","Failover","Geographic","Performance","Subnet"} DefaultLoadBalancingPolicy LoadBalancingPolicy `json:"defaultLoadBalancingPolicy,omitempty"` //Dfeault TTL is the TTL for this dns record // +kubebuilder:validation:Optional // +kubebuilder:default:60 DefaultTTL int `json:"defaultTTL,omitempty"` //GlobalZoneRef represents the global zone that will be used to host this record // +kubebuilder:validation:Required GlobalZoneRef v1.LocalObjectReference `json:"globalZoneRef"` }
GlobalRouteDiscoverySpec defines the desired state of GlobalRouteDiscovery
func (*GlobalRouteDiscoverySpec) DeepCopy ¶
func (in *GlobalRouteDiscoverySpec) DeepCopy() *GlobalRouteDiscoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRouteDiscoverySpec.
func (*GlobalRouteDiscoverySpec) DeepCopyInto ¶
func (in *GlobalRouteDiscoverySpec) DeepCopyInto(out *GlobalRouteDiscoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRouteDiscoveryStatus ¶
type GlobalRouteDiscoveryStatus struct { // ReconcileStatus this is the general status of the main reconciler // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` //ClusterReferenceStatuses contains the status of the cluster refence connections and their latest reconcile. // +kubebuilder:validation:Optional // +mapType:=granular ClusterReferenceStatuses map[string]apis.Conditions `json:"clusterReferenceStatuses,omitempty"` }
GlobalRouteDiscoveryStatus defines the observed state of GlobalRouteDiscovery
func (*GlobalRouteDiscoveryStatus) DeepCopy ¶
func (in *GlobalRouteDiscoveryStatus) DeepCopy() *GlobalRouteDiscoveryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRouteDiscoveryStatus.
func (*GlobalRouteDiscoveryStatus) DeepCopyInto ¶
func (in *GlobalRouteDiscoveryStatus) DeepCopyInto(out *GlobalRouteDiscoveryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancingPolicy ¶
type LoadBalancingPolicy string
LoadBalancingPolicy describes the policy used to loadbalance the results of the DNS queries. +kubebuilder:validation:Enum:={"Weighted","Multivalue","Geolocation","Geoproximity","Latency","Failover","Geographic","Performance","Subnet"}
const ( // Multivalue means that all available IPs are returned. If a healthchekc is defined and supported by the selected provider, only the healthy IPs are returned. Multivalue LoadBalancingPolicy = "Multivalue" // Weighted means that one random IP is returned. If a healthcheck is defined and supported by the selected provider, one random IP is returned among those that are available. Weighted LoadBalancingPolicy = "Weighted" //Geolocation allows to define routing based on the geography of the caller. This requires associating each endpoint with a geography.... Geolocation LoadBalancingPolicy = "Geolocation" // Geoproximity means that the IP that is closest (in terms of distance) to the source is returned. // If more than one record qualifies, a random one is returned. Geoproximity LoadBalancingPolicy = "Geoproximity" // Latency means that the IP that is closest (in terms of measured latency) to the source is returned. Typically based on historical latency. // If more than one record qualifies, a random one is returned. Latency LoadBalancingPolicy = "Latency" // Failover allows you to define a primary and secodary location. It should be used for active/passive scenarios. Failover LoadBalancingPolicy = "Failover" // Geographic means that the IP that is closest (in terms of distance) to the source is returned. // If more than one record qualifies, a random one is returned. Similar to Geoproximity, but used in Azure Geographic LoadBalancingPolicy = "Geographic" // Performance means that the IP that is closest (in terms of measured latency) to the source is returned. Typically based on historical latency. // If more than one record qualifies, a random one is returned. Similar to Latency, but used in Azure Performance LoadBalancingPolicy = "Performance" //Subnet allows to define routing based on the subnet of IP of the caller. This requires associating each endpoint with one or more subnets.... Subnet LoadBalancingPolicy = "Subnet" )
type NamespacedName ¶
type NamespacedName struct { // +kubebuilder:validation:Required Name string `json:"name"` // +kubebuilder:validation:Required Namespace string `json:"namespace"` }
NamespacedName a pointer to a resource in a given namespace
func (*NamespacedName) DeepCopy ¶
func (in *NamespacedName) DeepCopy() *NamespacedName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedName.
func (*NamespacedName) DeepCopyInto ¶
func (in *NamespacedName) DeepCopyInto(out *NamespacedName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderConfig ¶
type ProviderConfig struct { // +kubebuilder:validation:Optional Route53 *Route53ProviderConfig `json:"route53,omitempty"` // +kubebuilder:validation:Optional ExternalDNS *ExternalDNSProviderConfig `json:"externalDNS,omitempty"` // +kubebuilder:validation:Optional TrafficManager *TrafficManagerProviderConfig `json:"trafficManager,omitempty"` // +kubebuilder:validation:Optional GCPGLB *GCPGLBProviderConfig `json:"GCPGLB,omitempty"` }
ProviderConfig configures kind and access to the DNS Zone. Exactly one of its members must be set.
func (*ProviderConfig) DeepCopy ¶
func (in *ProviderConfig) DeepCopy() *ProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfig.
func (*ProviderConfig) DeepCopyInto ¶
func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderStatus ¶
type ProviderStatus struct { // +kubebuilder:validation:Optional Route53 *Route53ProviderStatus `json:"route53,omitempty"` // +kubebuilder:validation:Optional TrafficManager *TrafficManagerProviderStatus `json:"trafficManager,omitempty"` }
ProviderStatus contains provider specific status information Only one field can be initialized
func (*ProviderStatus) DeepCopy ¶
func (in *ProviderStatus) DeepCopy() *ProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderStatus.
func (*ProviderStatus) DeepCopyInto ¶
func (in *ProviderStatus) DeepCopyInto(out *ProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route53ProviderConfig ¶
type Route53ProviderConfig struct { //ZoneID is the AWS route53 zone ID. // +kubebuilder:validation:Required ZoneID string `json:"zoneID"` //CredentialsSecretRef is a reference to a secret containing the credentials to access the AWS API. The expected secret keys are "aws_access_key_id" and "aws_secret_access_key". // This is needed when you want to use route53 as your global load balancer but the operator does not run in an AWS cluster. // If the operator runs in an AWS cluster, credentials are automatically requested via a CredendialRequest object. // +kubebuilder:validation:Optional CredentialsSecretRef NamespacedName `json:"credentialsSecretRef,omitempty"` }
Route53ProviderConfig contains configuration on how to access the route53 API
func (*Route53ProviderConfig) DeepCopy ¶
func (in *Route53ProviderConfig) DeepCopy() *Route53ProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route53ProviderConfig.
func (*Route53ProviderConfig) DeepCopyInto ¶
func (in *Route53ProviderConfig) DeepCopyInto(out *Route53ProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route53ProviderStatus ¶
type Route53ProviderStatus struct { //PolicyID represents the route53 routing policy created for this record // +kubebuilder:validation:Optional PolicyID string `json:"policyID,omitempty"` //HealthCheckID represents the route53 healthcheck created for this record // +kubebuilder:validation:Optional // +mapType:=granular HealthCheckIDs map[string]string `json:"healthCheckID,omitempty"` //PolicyInstanceID represents the ID of the DNSRecord // +kubebuilder:validation:Optional PolicyInstanceID string `json:"policyInstanceID,omitempty"` }
func (*Route53ProviderStatus) DeepCopy ¶
func (in *Route53ProviderStatus) DeepCopy() *Route53ProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route53ProviderStatus.
func (*Route53ProviderStatus) DeepCopyInto ¶
func (in *Route53ProviderStatus) DeepCopyInto(out *Route53ProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerProviderConfig ¶ added in v1.2.0
type TrafficManagerProviderConfig struct { //CredentialsSecretRef is a reference to a secret containing the credentials to access the Azure API. The expected secret keys are "aws_access_key_id" and "aws_secret_access_key". // This is mandatory as the credentials minted by OCP cannot operate on traffic manager object, so it's up to you to provide credentials with enough permissions. // +kubebuilder:validation:Required CredentialsSecretRef NamespacedName `json:"credentialsSecretRef"` //ResourceGroup is the resource group to be used when manipulating the traffic manager profiles. // +kubebuilder:validation:Required ResourceGroup string `json:"resourceGroup"` //DNSZoneResourceGroup is the resource group to be used when manipulating the dns records in the global domain zone. // +kubebuilder:validation:Required DNSZoneResourceGroup string `json:"dnsZoneResourceGroup"` }
TrafficManagerProviderConfig contains configuration on how to access the Azure Traffic Manager API
func (*TrafficManagerProviderConfig) DeepCopy ¶ added in v1.2.0
func (in *TrafficManagerProviderConfig) DeepCopy() *TrafficManagerProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProviderConfig.
func (*TrafficManagerProviderConfig) DeepCopyInto ¶ added in v1.2.0
func (in *TrafficManagerProviderConfig) DeepCopyInto(out *TrafficManagerProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerProviderStatus ¶ added in v1.2.0
type TrafficManagerProviderStatus struct { //Name represents the traffic manager name. This is also used for the traffic manager domain name and needs to be random // +kubebuilder:validation:Optional Name string `json:"name,omitempty"` }
func (*TrafficManagerProviderStatus) DeepCopy ¶ added in v1.2.0
func (in *TrafficManagerProviderStatus) DeepCopy() *TrafficManagerProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProviderStatus.
func (*TrafficManagerProviderStatus) DeepCopyInto ¶ added in v1.2.0
func (in *TrafficManagerProviderStatus) DeepCopyInto(out *TrafficManagerProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.