v1alpha1

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the redhatcop v1alpha1 API group +kubebuilder:object:generate=true +groupName=redhatcop.redhat.io

Index

Constants

This section is empty.

Variables

View Source
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

func (in *Endpoint) DeepCopy() *Endpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.

func (*Endpoint) DeepCopyInto

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) GetKey

func (e *Endpoint) GetKey() string

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSProviderConfig.

func (*ExternalDNSProviderConfig) DeepCopyInto

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

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

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRouteDiscoveryStatus.

func (*GlobalRouteDiscoveryStatus) DeepCopyInto

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProviderConfig.

func (*TrafficManagerProviderConfig) DeepCopyInto added in v1.2.0

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProviderStatus.

func (*TrafficManagerProviderStatus) DeepCopyInto added in v1.2.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL