v1alpha1

package
v0.2.12 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: MIT Imports: 8 Imported by: 4

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the networking.fleet v1alpha1 API group. +kubebuilder:object:generate=true +groupName=networking.fleet.azure.com

Index

Constants

View Source
const (
	// TrafficManagerBackendConditionAccepted condition indicates whether endpoints have been created or updated for the profile.
	// This does not indicate whether or not the configuration has been propagated to the data plane.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Accepted"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "Invalid"
	// * "Pending"
	TrafficManagerBackendConditionAccepted TrafficManagerBackendConditionType = "Accepted"

	// TrafficManagerBackendReasonAccepted is used with the "Accepted" condition when the condition is True.
	TrafficManagerBackendReasonAccepted TrafficManagerBackendConditionReason = "Accepted"

	// TrafficManagerBackendReasonInvalid is used with the "Accepted" condition when one or
	// more endpoint references have an invalid or unsupported configuration
	// and cannot be configured on the Profile with more details in the message.
	TrafficManagerBackendReasonInvalid TrafficManagerBackendConditionReason = "Invalid"

	// TrafficManagerBackendReasonPending is used with the "Accepted" when creating or updating endpoint hits an internal error with
	// more details in the message and the controller will keep retry.
	TrafficManagerBackendReasonPending TrafficManagerBackendConditionReason = "Pending"
)
View Source
const (
	// TrafficManagerProfileConditionProgrammed condition indicates whether a profile has been generated that is assumed to be ready
	// soon in the underlying data plane. This does not indicate whether or not the configuration has been propagated
	// to the data plane.
	//
	// It is a positive-polarity summary condition, and so should always be
	// present on the resource with ObservedGeneration set.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Programmed"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "Invalid"
	// * "DNSNameNotAvailable"
	// * "Pending"
	TrafficManagerProfileConditionProgrammed TrafficManagerProfileConditionType = "Programmed"

	// TrafficManagerProfileReasonProgrammed is used with the "Programmed" condition when the condition is true.
	TrafficManagerProfileReasonProgrammed TrafficManagerProfileConditionReason = "Programmed"

	// TrafficManagerProfileReasonInvalid is used with the "Programmed" when the profile is syntactically or semantically invalid.
	TrafficManagerProfileReasonInvalid TrafficManagerProfileConditionReason = "Invalid"

	// TrafficManagerProfileReasonDNSNameNotAvailable is used with the "Programmed" condition when the generated DNS name is not available.
	TrafficManagerProfileReasonDNSNameNotAvailable TrafficManagerProfileConditionReason = "DNSNameNotAvailable"

	// TrafficManagerProfileReasonPending is used with the "Programmed" when creating or updating the profile hits an internal error
	// with more details in the message and the controller will keep retry.
	TrafficManagerProfileReasonPending TrafficManagerProfileConditionReason = "Pending"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "networking.fleet.azure.com", 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 ClusterID

type ClusterID string

ClusterID is the ID of a member cluster.

type ClusterNamespace

type ClusterNamespace string

ClusterNamespace is the namespace reserved for a specific member cluster in the hub cluster.

type ClusterStatus

type ClusterStatus struct {
	// cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label.
	Cluster string `json:"cluster"`
}

ClusterStatus contains service configuration mapped to a specific source cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type Endpoint

type Endpoint struct {
	// Addresses of the Endpoint.
	// Addresses should be interpreted per its owner EndpointSliceExport's addressType field. This field contains
	// at least one address and at maximum 100; for more information about this constraint,
	// see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#endpoint-v1beta1-discovery-k8s-io.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems:1
	// +kubebuilder:validation:MaxItems:100
	Addresses []string `json:"addresses"`
}

Endpoint includes all exported addresses from a logical backend.

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.

type EndpointSliceExport

type EndpointSliceExport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:Required
	Spec EndpointSliceExportSpec `json:"spec"`
}

EndpointSliceExport is a data transport type that member clusters in the fleet use to upload the spec of an EndpointSlice to the hub cluster.

func (*EndpointSliceExport) DeepCopy

func (in *EndpointSliceExport) DeepCopy() *EndpointSliceExport

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

func (*EndpointSliceExport) DeepCopyInto

func (in *EndpointSliceExport) DeepCopyInto(out *EndpointSliceExport)

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

func (*EndpointSliceExport) DeepCopyObject

func (in *EndpointSliceExport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EndpointSliceExportList

type EndpointSliceExportList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []EndpointSliceExport `json:"items"`
}

EndpointSliceExportList contains a list of EndpointSliceExports.

func (*EndpointSliceExportList) DeepCopy

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

func (*EndpointSliceExportList) DeepCopyInto

func (in *EndpointSliceExportList) DeepCopyInto(out *EndpointSliceExportList)

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

func (*EndpointSliceExportList) DeepCopyObject

func (in *EndpointSliceExportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EndpointSliceExportSpec

type EndpointSliceExportSpec struct {
	// The type of addresses carried by this EndpointSliceExport.
	// At this stage only IPv4 addresses are supported.
	// +kubebuilder:validation:Enum:="IPv4"
	// +kubebuilder:default:="IPv4"
	AddressType discoveryv1.AddressType `json:"addressType"`
	// A list of unique endpoints in the exported EndpointSlice.
	// +kubebuilder:validation:Required
	// +listType=atomic
	Endpoints []Endpoint `json:"endpoints"`
	// The list of ports exported by each endpoint in this EndpointSliceExport. Each port must have a unique name.
	// When the field is empty, it indicates that there are no defined ports. When a port is defined with a nil
	// port value, it indicates that all ports are exported. Each slice may include a maximum of 100 ports.
	// +optional
	// +listType=atomic
	Ports []discoveryv1.EndpointPort `json:"ports"`
	// The reference to the source EndpointSlice.
	// +kubebuilder:validation:Required
	EndpointSliceReference ExportedObjectReference `json:"endpointSliceReference"`
	// The reference to the owner Service.
	// +kubebuilder:validation:Required
	OwnerServiceReference OwnerServiceReference `json:"ownerServiceReference"`
}

EndpointSliceExportSpec specifies the spec of an exported EndpointSlice.

func (*EndpointSliceExportSpec) DeepCopy

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

func (*EndpointSliceExportSpec) DeepCopyInto

func (in *EndpointSliceExportSpec) DeepCopyInto(out *EndpointSliceExportSpec)

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

type EndpointSliceImport

type EndpointSliceImport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:Required
	Spec EndpointSliceExportSpec `json:"spec"`
}

EndpointSliceImport is a data transport type that hub cluster uses to distribute exported EndpointSlices to member clusters.

func (*EndpointSliceImport) DeepCopy

func (in *EndpointSliceImport) DeepCopy() *EndpointSliceImport

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

func (*EndpointSliceImport) DeepCopyInto

func (in *EndpointSliceImport) DeepCopyInto(out *EndpointSliceImport)

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

func (*EndpointSliceImport) DeepCopyObject

func (in *EndpointSliceImport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EndpointSliceImportList

type EndpointSliceImportList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []EndpointSliceImport `json:"items"`
}

EndpointSliceImportList contains a list of EndpointSliceExports.

func (*EndpointSliceImportList) DeepCopy

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

func (*EndpointSliceImportList) DeepCopyInto

func (in *EndpointSliceImportList) DeepCopyInto(out *EndpointSliceImportList)

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

func (*EndpointSliceImportList) DeepCopyObject

func (in *EndpointSliceImportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExportedObjectReference

type ExportedObjectReference struct {
	// The ID of the cluster where the object is exported.
	// +kubebuilder:validation:Required
	ClusterID string `json:"clusterId"`
	// The API version of the referred object.
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`
	// The kind of the referred object.
	// +kubebuilder:validation:Required
	Kind string `json:"kind"`
	// The namespace of the referred object.
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
	// The name of the referred object.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// The resource version of the referred object.
	// +kubebuilder:validation:Required
	ResourceVersion string `json:"resourceVersion"`
	// The generation of the referred object.
	// +kubebuilder:validation:Required
	Generation int64 `json:"generation"`
	// The UID of the referred object.
	// +kubebuilder:validation:Required
	UID types.UID `json:"uid"`
	// The namespaced name of the referred object.
	// +kubebuilder:validation:Required
	NamespacedName string `json:"namespacedName"`
	// The timestamp from a local clock when the generation of the object is exported.
	// This field is marked as optional for backwards compatibility reasons.
	// +kubebuilder:validation:Optional
	ExportedSince metav1.Time `json:"exportedSince,omitempty"`
}

ExportedObjectReference helps operators identify the source of an exported object, e.g. an EndpointSliceExport. +structType=atomic

func FromMetaObjects

func FromMetaObjects(clusterID string, typeMeta metav1.TypeMeta, objMeta metav1.ObjectMeta, exportedSince metav1.Time) ExportedObjectReference

FromMetaObjects builds a new ExportedObjectReference using TypeMeta and ObjectMeta fields from an object.

func (*ExportedObjectReference) DeepCopy

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

func (*ExportedObjectReference) DeepCopyInto

func (in *ExportedObjectReference) DeepCopyInto(out *ExportedObjectReference)

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

func (*ExportedObjectReference) UpdateFromMetaObject

func (e *ExportedObjectReference) UpdateFromMetaObject(objMeta metav1.ObjectMeta, exportedSince metav1.Time)

UpdateFromMetaObject updates an existing ExportedObjectReference. Note that most fields in an ExportedObjectReference should be immutable after creation.

type InternalServiceExport

type InternalServiceExport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +optional
	Spec InternalServiceExportSpec `json:"spec,omitempty"`
	// +optional
	Status InternalServiceExportStatus `json:"status,omitempty"`
}

InternalServiceExport is a data transport type that member clusters in the fleet use to upload the spec of exported Service to the hub cluster.

func (*InternalServiceExport) DeepCopy

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

func (*InternalServiceExport) DeepCopyInto

func (in *InternalServiceExport) DeepCopyInto(out *InternalServiceExport)

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

func (*InternalServiceExport) DeepCopyObject

func (in *InternalServiceExport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InternalServiceExportList

type InternalServiceExportList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []InternalServiceExport `json:"items"`
}

InternalServiceExportList contains a list of InternalServiceExports.

func (*InternalServiceExportList) DeepCopy

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

func (*InternalServiceExportList) DeepCopyInto

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

func (*InternalServiceExportList) DeepCopyObject

func (in *InternalServiceExportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InternalServiceExportSpec

type InternalServiceExportSpec struct {
	// A list of ports exposed by the exported Service.
	// +listType=atomic
	Ports []ServicePort `json:"ports"`
	// The reference to the source Service.
	// +kubebuilder:validation:Required
	ServiceReference ExportedObjectReference `json:"serviceReference"`
	// Type is the type of the Service in each cluster.
	Type corev1.ServiceType `json:"type,omitempty"`
	// IsDNSLabelConfigured determines if the Service has a DNS label configured.
	// A valid DNS label should be configured when the public IP address of the Service is configured as an Azure Traffic
	// Manager endpoint.
	// Reference link:
	// * https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/
	// * https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-endpoint-types#azure-endpoints
	IsDNSLabelConfigured bool `json:"isDNSLabelConfigured,omitempty"`
	// IsInternalLoadBalancer determines if the Service is an internal load balancer type.
	IsInternalLoadBalancer bool `json:"isInternalLoadBalancer,omitempty"`
	// PublicIPResourceID is the Azure Resource URI of public IP. This is only applicable for Load Balancer type Services.
	PublicIPResourceID *string `json:"externalIPResourceID,omitempty"`
}

InternalServiceExportSpec specifies the spec of an exported Service; at this stage only the ports of an exported Service are sync'd.

func (*InternalServiceExportSpec) DeepCopy

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

func (*InternalServiceExportSpec) DeepCopyInto

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

type InternalServiceExportStatus

type InternalServiceExportStatus struct {
	// +optional
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

InternalServiceExportStatus contains the current status of an InternalServiceExport.

func (*InternalServiceExportStatus) DeepCopy

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

func (*InternalServiceExportStatus) DeepCopyInto

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

type InternalServiceImport

type InternalServiceImport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	Spec InternalServiceImportSpec `json:"spec"`

	// status contains information about the exported services that form
	// the multi-cluster service referenced by this ServiceImport.
	// +optional
	Status ServiceImportStatus `json:"status,omitempty"`
}

InternalServiceImport is used by the MCS controller to import the Service to a single cluster manually, while ServiceImport is logical identifiers for a Service that exists in another cluster or that stretches across multiple clusters and it will be automatically created in the hub cluster when exporting service.

func (*InternalServiceImport) DeepCopy

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

func (*InternalServiceImport) DeepCopyInto

func (in *InternalServiceImport) DeepCopyInto(out *InternalServiceImport)

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

func (*InternalServiceImport) DeepCopyObject

func (in *InternalServiceImport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InternalServiceImportList

type InternalServiceImportList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// List of InternalServiceImport.
	// +listType=set
	Items []InternalServiceImport `json:"items"`
}

InternalServiceImportList represents a list of InternalServiceImport.

func (*InternalServiceImportList) DeepCopy

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

func (*InternalServiceImportList) DeepCopyInto

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

func (*InternalServiceImportList) DeepCopyObject

func (in *InternalServiceImportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InternalServiceImportSpec

type InternalServiceImportSpec struct {
	// The reference to the source ServiceImport.
	// +kubebuilder:validation:Required
	ServiceImportReference ExportedObjectReference `json:"serviceImportReference"`
}

InternalServiceImportSpec specifies the spec of InternalServiceImport.

func (*InternalServiceImportSpec) DeepCopy

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

func (*InternalServiceImportSpec) DeepCopyInto

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

type MonitorConfig added in v0.2.10

type MonitorConfig struct {
	// The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager will check the health
	// of each endpoint in this profile.
	// You can specify two values here: 30 seconds (normal probing) and 10 seconds (fast probing).
	// +optional
	// +kubebuilder:default=30
	// +kubebuilder:validation:Enum=10;30
	IntervalInSeconds *int64 `json:"intervalInSeconds,omitempty"`

	// The path relative to the endpoint domain name used to probe for endpoint health.
	// +optional
	// +kubebuilder:default="/"
	Path *string `json:"path,omitempty"`

	// The TCP port used to probe for endpoint health.
	// +optional
	// +kubebuilder:default=80
	Port *int64 `json:"port,omitempty"`

	// The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.
	// +kubebuilder:validation:Enum=HTTP;HTTPS;TCP
	// +optional
	// +kubebuilder:default="HTTP"
	Protocol *TrafficManagerMonitorProtocol `json:"protocol,omitempty"`

	// The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows endpoints in this profile
	// to response to the health check.
	// +optional
	// * If the IntervalInSeconds is set to 30 seconds, then you can set the Timeout value between 5 and 10 seconds.
	//   If no value is specified, it uses a default value of 10 seconds.
	// * If the IntervalInSeconds is set to 10 seconds, then you can set the Timeout value between 5 and 9 seconds.
	//   If no Timeout value is specified, it uses a default value of 9 seconds.
	// +kubebuilder:validation:Minimum=5
	// +kubebuilder:validation:Maximum=10
	TimeoutInSeconds *int64 `json:"timeoutInSeconds,omitempty"`

	// The number of consecutive failed health check that Traffic Manager tolerates before declaring an endpoint in this profile
	// Degraded after the next failed health check.
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=9
	// +kubebuilder:default=3
	ToleratedNumberOfFailures *int64 `json:"toleratedNumberOfFailures,omitempty"`
}

MonitorConfig defines the endpoint monitoring settings of the Traffic Manager profile. https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-monitoring

func (*MonitorConfig) DeepCopy added in v0.2.10

func (in *MonitorConfig) DeepCopy() *MonitorConfig

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

func (*MonitorConfig) DeepCopyInto added in v0.2.10

func (in *MonitorConfig) DeepCopyInto(out *MonitorConfig)

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

type MultiClusterService

type MultiClusterService struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec MultiClusterServiceSpec `json:"spec"`
	// +optional
	Status MultiClusterServiceStatus `json:"status,omitempty"`
}

MultiClusterService is the Schema for creating north-south L4 load balancer to consume services across clusters.

func (*MultiClusterService) DeepCopy

func (in *MultiClusterService) DeepCopy() *MultiClusterService

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

func (*MultiClusterService) DeepCopyInto

func (in *MultiClusterService) DeepCopyInto(out *MultiClusterService)

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

func (*MultiClusterService) DeepCopyObject

func (in *MultiClusterService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultiClusterServiceConditionType

type MultiClusterServiceConditionType string

MultiClusterServiceConditionType identifies a specific condition.

const (
	// MultiClusterServiceValid means that the ServiceImported referenced by this
	// multi-cluster service and its configurations have been recognized as valid by a mcs-controller.
	// This will be false if the ServiceImport is not found in the hub cluster.
	MultiClusterServiceValid MultiClusterServiceConditionType = "Valid"
)

type MultiClusterServiceList

type MultiClusterServiceList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []MultiClusterService `json:"items"`
}

MultiClusterServiceList contains a list of MultiClusterService.

func (*MultiClusterServiceList) DeepCopy

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

func (*MultiClusterServiceList) DeepCopyInto

func (in *MultiClusterServiceList) DeepCopyInto(out *MultiClusterServiceList)

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

func (*MultiClusterServiceList) DeepCopyObject

func (in *MultiClusterServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultiClusterServiceSpec

type MultiClusterServiceSpec struct {
	// ServiceImport is the reference to the Service with the same name exported in the member clusters.
	ServiceImport ServiceImportRef `json:"serviceImport,omitempty"`
}

MultiClusterServiceSpec defines the desired state of MultiClusterService.

func (*MultiClusterServiceSpec) DeepCopy

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

func (*MultiClusterServiceSpec) DeepCopyInto

func (in *MultiClusterServiceSpec) DeepCopyInto(out *MultiClusterServiceSpec)

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

type MultiClusterServiceStatus

type MultiClusterServiceStatus struct {
	// LoadBalancerStatus represents the status of a load-balancer.
	// if one is present.
	// +optional
	LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty"`

	// Current service state
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

MultiClusterServiceStatus represents the current status of a multi-cluster service.

func (*MultiClusterServiceStatus) DeepCopy

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

func (*MultiClusterServiceStatus) DeepCopyInto

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

type OwnerServiceReference

type OwnerServiceReference struct {
	// The namespace of the owner Service.
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
	// The name of the owner Service.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// The namespaced name (key) of the owner Service.
	// +kubebuilder:validation:Required
	NamespacedName string `json:"namespacedName"`
}

OwnerServiceReference points to the Service that owns the exported EndpointSlice.

func (*OwnerServiceReference) DeepCopy

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

func (*OwnerServiceReference) DeepCopyInto

func (in *OwnerServiceReference) DeepCopyInto(out *OwnerServiceReference)

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

type ServiceExport

type ServiceExport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +optional
	Status ServiceExportStatus `json:"status,omitempty"`
}

ServiceExport declares that the associated service should be exported to other clusters.

func (*ServiceExport) DeepCopy

func (in *ServiceExport) DeepCopy() *ServiceExport

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

func (*ServiceExport) DeepCopyInto

func (in *ServiceExport) DeepCopyInto(out *ServiceExport)

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

func (*ServiceExport) DeepCopyObject

func (in *ServiceExport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceExportConditionType

type ServiceExportConditionType string

ServiceExportConditionType identifies a specific condition on a ServiceExport.

const (
	// ServiceExportValid means that the service referenced by this service export has been recognized as valid.
	// This will be false if the service is found to be unexportable (e.g. ExternalName, not found).
	ServiceExportValid ServiceExportConditionType = "Valid"
	// ServiceExportConflict means that there is a conflict between two exports for the same Service.
	// When "True", the condition message should contain enough information to diagnose the conflict:
	// field(s) under contention, which cluster won, and why.
	// Users should not expect detailed per-cluster information in the conflict message.
	ServiceExportConflict ServiceExportConditionType = "Conflict"
)

type ServiceExportList

type ServiceExportList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []ServiceExport `json:"items"`
}

ServiceExportList contains a list of ServiceExport.

func (*ServiceExportList) DeepCopy

func (in *ServiceExportList) DeepCopy() *ServiceExportList

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

func (*ServiceExportList) DeepCopyInto

func (in *ServiceExportList) DeepCopyInto(out *ServiceExportList)

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

func (*ServiceExportList) DeepCopyObject

func (in *ServiceExportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceExportStatus

type ServiceExportStatus struct {
	// +optional
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ServiceExportStatus contains the current status of an export.

func (*ServiceExportStatus) DeepCopy

func (in *ServiceExportStatus) DeepCopy() *ServiceExportStatus

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

func (*ServiceExportStatus) DeepCopyInto

func (in *ServiceExportStatus) DeepCopyInto(out *ServiceExportStatus)

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

type ServiceImport

type ServiceImport struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// status contains information about the exported services that form
	// the multi-cluster service referenced by this ServiceImport.
	// +optional
	Status ServiceImportStatus `json:"status,omitempty"`
}

ServiceImport describes a service imported from clusters in a ClusterSet.

func (*ServiceImport) DeepCopy

func (in *ServiceImport) DeepCopy() *ServiceImport

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

func (*ServiceImport) DeepCopyInto

func (in *ServiceImport) DeepCopyInto(out *ServiceImport)

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

func (*ServiceImport) DeepCopyObject

func (in *ServiceImport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceImportList

type ServiceImportList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// List of ServiceImport.
	// +listType=set
	Items []ServiceImport `json:"items"`
}

ServiceImportList contains a list of ServiceImport.

func (*ServiceImportList) DeepCopy

func (in *ServiceImportList) DeepCopy() *ServiceImportList

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

func (*ServiceImportList) DeepCopyInto

func (in *ServiceImportList) DeepCopyInto(out *ServiceImportList)

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

func (*ServiceImportList) DeepCopyObject

func (in *ServiceImportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceImportRef

type ServiceImportRef struct {
	// Name is the name of the referent.
	//
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^([a-z]([-a-z0-9]*[a-z0-9])?)$`
	// +required
	Name string `json:"name"`
}

ServiceImportRef is the reference to the ServiceImport. To consume multi-cluster service, users are expected to use ServiceImport. When mcs controller sees the MCS definition, the ServiceImport will be created in the importing cluster to represent the multi-cluster service.

func (*ServiceImportRef) DeepCopy

func (in *ServiceImportRef) DeepCopy() *ServiceImportRef

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

func (*ServiceImportRef) DeepCopyInto

func (in *ServiceImportRef) DeepCopyInto(out *ServiceImportRef)

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

type ServiceImportStatus

type ServiceImportStatus struct {
	// ip will be used as the VIP for this service when type is ClusterSetIP.
	// +kubebuilder:validation:MaxItems:=1
	// +optional
	IPs []string `json:"ips,omitempty"`
	// type defines the type of this service.
	// Must be ClusterSetIP or Headless.
	// +kubebuilder:validation:Enum=ClusterSetIP;Headless
	// +optional
	Type ServiceImportType `json:"type,omitempty"`
	// Supports "ClientIP" and "None". Used to maintain session affinity.
	// Enable client IP based session affinity.
	// Must be ClientIP or None.
	// Defaults to None.
	// Ignored when type is Headless
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	// +optional
	SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity,omitempty"`
	// sessionAffinityConfig contains session affinity configuration.
	// +optional
	SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"`

	// +listType=atomic
	// +optional
	Ports []ServicePort `json:"ports,omitempty"`

	// clusters is the list of exporting clusters from which this service was derived.
	// +optional
	// +patchStrategy=merge
	// +patchMergeKey=cluster
	// +listType=map
	// +listMapKey=cluster
	Clusters []ClusterStatus `json:"clusters,omitempty"`
}

ServiceImportStatus describes derived state of an imported service.

func (*ServiceImportStatus) DeepCopy

func (in *ServiceImportStatus) DeepCopy() *ServiceImportStatus

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

func (*ServiceImportStatus) DeepCopyInto

func (in *ServiceImportStatus) DeepCopyInto(out *ServiceImportStatus)

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

type ServiceImportType

type ServiceImportType string

ServiceImportType designates the type of a ServiceImport

const (
	// ClusterSetIP are only accessible via the ClusterSet IP.
	ClusterSetIP ServiceImportType = "ClusterSetIP"
	// Headless services allow backend pods to be addressed directly.
	Headless ServiceImportType = "Headless"
)

type ServiceInUseBy

type ServiceInUseBy struct {
	MemberClusters map[ClusterNamespace]ClusterID
}

ServiceInUseBy describes the member clusters that have requested to import a Service from the hub cluster. This object is not provided directly as a part of fleet networking API, but provided as a contract for marshaling/unmarshaling ServiceImport annotations, specifically for

  • the InternalServiceImport controller to annotate on a ServiceImport which member clusters have requested to import the Service; and
  • the EndpointSliceExport controller to find out from annotations on a ServiceImport which member clusters have requested to import the Service.

func (*ServiceInUseBy) DeepCopy

func (in *ServiceInUseBy) DeepCopy() *ServiceInUseBy

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

func (*ServiceInUseBy) DeepCopyInto

func (in *ServiceInUseBy) DeepCopyInto(out *ServiceInUseBy)

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

type ServicePort

type ServicePort struct {
	// The name of this port within the service. This must be a DNS_LABEL.
	// All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service,
	// this must match the 'name' field in the EndpointPort.
	// Optional if only one ServicePort is defined on this service.
	// +optional
	Name string `json:"name,omitempty"`

	// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
	// Default is TCP.
	// +kubebuilder:validation:Enum:=TCP;UDP;SCTP
	Protocol corev1.Protocol `json:"protocol,omitempty"`

	// The application protocol for this port.
	// This field follows standard Kubernetes label syntax.
	// Un-prefixed names are reserved for IANA standard service names (as per
	// RFC-6335 and http://www.iana.org/assignments/service-names).
	// Non-standard protocols should use prefixed names such as
	// mycompany.com/my-custom-protocol.
	// Field can be enabled with ServiceAppProtocol feature gate.
	// +optional
	AppProtocol *string `json:"appProtocol,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// The port that will be exposed by this service.
	Port int32 `json:"port"`

	// The port to access on the pods targeted by the service.
	// +optional
	TargetPort intstr.IntOrString `json:"targetPort,omitempty"`
}

ServicePort represents the port on which the service is exposed.

func (*ServicePort) DeepCopy

func (in *ServicePort) DeepCopy() *ServicePort

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

func (*ServicePort) DeepCopyInto

func (in *ServicePort) DeepCopyInto(out *ServicePort)

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

func (*ServicePort) ToServicePort

func (in *ServicePort) ToServicePort() corev1.ServicePort

ToServicePort converts ServicePort to a K8 ServicePort.

type TrafficManagerBackend added in v0.2.10

type TrafficManagerBackend struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// The desired state of TrafficManagerBackend.
	Spec TrafficManagerBackendSpec `json:"spec"`

	// The observed status of TrafficManagerBackend.
	// +optional
	Status TrafficManagerBackendStatus `json:"status,omitempty"`
}

TrafficManagerBackend is used to manage the Azure Traffic Manager Endpoints using cloud native way. A backend contains one or more endpoints. Therefore, the controller may create multiple endpoints under the Traffic Manager Profile. https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-endpoint-types

func (*TrafficManagerBackend) DeepCopy added in v0.2.10

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

func (*TrafficManagerBackend) DeepCopyInto added in v0.2.10

func (in *TrafficManagerBackend) DeepCopyInto(out *TrafficManagerBackend)

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

func (*TrafficManagerBackend) DeepCopyObject added in v0.2.10

func (in *TrafficManagerBackend) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficManagerBackendConditionReason added in v0.2.10

type TrafficManagerBackendConditionReason string

TrafficManagerBackendConditionReason defines the set of reasons that explain why a particular backend has been raised.

type TrafficManagerBackendConditionType added in v0.2.10

type TrafficManagerBackendConditionType string

TrafficManagerBackendConditionType is a type of condition associated with a TrafficManagerBackendStatus. This type should be used within the TrafficManagerBackendStatus.Conditions field.

type TrafficManagerBackendList added in v0.2.10

type TrafficManagerBackendList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []TrafficManagerBackend `json:"items"`
}

TrafficManagerBackendList contains a list of TrafficManagerBackend.

func (*TrafficManagerBackendList) DeepCopy added in v0.2.10

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

func (*TrafficManagerBackendList) DeepCopyInto added in v0.2.10

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

func (*TrafficManagerBackendList) DeepCopyObject added in v0.2.10

func (in *TrafficManagerBackendList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficManagerBackendRef added in v0.2.10

type TrafficManagerBackendRef struct {
	// Name is the reference to the ServiceImport in the same namespace as the TrafficManagerBackend object.
	// +required
	Name string `json:"name"`
}

TrafficManagerBackendRef is the reference to a backend. Currently, we only support one backend type: ServiceImport.

func (*TrafficManagerBackendRef) DeepCopy added in v0.2.10

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

func (*TrafficManagerBackendRef) DeepCopyInto added in v0.2.10

func (in *TrafficManagerBackendRef) DeepCopyInto(out *TrafficManagerBackendRef)

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

type TrafficManagerBackendSpec added in v0.2.10

type TrafficManagerBackendSpec struct {
	// Which TrafficManagerProfile the backend should be attached to.
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.profile is immutable"
	Profile TrafficManagerProfileRef `json:"profile"`

	// The reference to a backend.
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.backend is immutable"
	Backend TrafficManagerBackendRef `json:"backend"`

	// The total weight of endpoints behind the serviceImport when using the 'Weighted' traffic routing method.
	// Possible values are from 1 to 1000.
	// By default, the routing method is 'Weighted', so that it is required for now.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1000
	// For example, if there are two clusters exporting the service via public ip, each public ip will be configured
	// as "Weight"/2.
	Weight *int64 `json:"weight,omitempty"`
}

func (*TrafficManagerBackendSpec) DeepCopy added in v0.2.10

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

func (*TrafficManagerBackendSpec) DeepCopyInto added in v0.2.10

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

type TrafficManagerBackendStatus added in v0.2.10

type TrafficManagerBackendStatus struct {
	// Endpoints contains a list of accepted Azure endpoints which are created or updated under the traffic manager Profile.
	// +optional
	Endpoints []TrafficManagerEndpointStatus `json:"endpoints,omitempty"`

	// Current backend status.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*TrafficManagerBackendStatus) DeepCopy added in v0.2.10

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

func (*TrafficManagerBackendStatus) DeepCopyInto added in v0.2.10

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

type TrafficManagerEndpointStatus added in v0.2.10

type TrafficManagerEndpointStatus struct {
	// Name of the endpoint.
	// +required
	Name string `json:"name"`

	// The weight of this endpoint when using the 'Weighted' traffic routing method.
	// Possible values are from 1 to 1000.
	// +optional
	Weight *int64 `json:"weight,omitempty"`

	// The fully-qualified DNS name or IP address of the endpoint.
	// +optional
	Target *string `json:"target,omitempty"`

	// Cluster is where the endpoint is exported from.
	// +optional
	Cluster *ClusterStatus `json:"cluster,omitempty"`
}

TrafficManagerEndpointStatus is the status of Azure Traffic Manager endpoint which is successfully accepted under the traffic manager Profile.

func (*TrafficManagerEndpointStatus) DeepCopy added in v0.2.10

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

func (*TrafficManagerEndpointStatus) DeepCopyInto added in v0.2.10

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

type TrafficManagerMonitorProtocol added in v0.2.10

type TrafficManagerMonitorProtocol string

TrafficManagerMonitorProtocol defines the protocol used to probe for endpoint health.

const (
	TrafficManagerMonitorProtocolHTTP  TrafficManagerMonitorProtocol = "HTTP"
	TrafficManagerMonitorProtocolHTTPS TrafficManagerMonitorProtocol = "HTTPS"
	TrafficManagerMonitorProtocolTCP   TrafficManagerMonitorProtocol = "TCP"
)

type TrafficManagerProfile added in v0.2.10

type TrafficManagerProfile struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// The desired state of TrafficManagerProfile.
	Spec TrafficManagerProfileSpec `json:"spec"`

	// The observed status of TrafficManagerProfile.
	// +optional
	Status TrafficManagerProfileStatus `json:"status,omitempty"`
}

TrafficManagerProfile is used to manage a simple Azure Traffic Manager Profile using cloud native way. https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview

func (*TrafficManagerProfile) DeepCopy added in v0.2.10

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

func (*TrafficManagerProfile) DeepCopyInto added in v0.2.10

func (in *TrafficManagerProfile) DeepCopyInto(out *TrafficManagerProfile)

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

func (*TrafficManagerProfile) DeepCopyObject added in v0.2.10

func (in *TrafficManagerProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficManagerProfileConditionReason added in v0.2.10

type TrafficManagerProfileConditionReason string

TrafficManagerProfileConditionReason defines the set of reasons that explain why a particular profile condition type has been raised.

type TrafficManagerProfileConditionType added in v0.2.10

type TrafficManagerProfileConditionType string

TrafficManagerProfileConditionType is a type of condition associated with a Traffic Manager Profile. This type should be used within the TrafficManagerProfileStatus.Conditions field.

type TrafficManagerProfileList added in v0.2.10

type TrafficManagerProfileList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []TrafficManagerProfile `json:"items"`
}

TrafficManagerProfileList contains a list of TrafficManagerProfile.

func (*TrafficManagerProfileList) DeepCopy added in v0.2.10

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

func (*TrafficManagerProfileList) DeepCopyInto added in v0.2.10

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

func (*TrafficManagerProfileList) DeepCopyObject added in v0.2.10

func (in *TrafficManagerProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficManagerProfileRef added in v0.2.10

type TrafficManagerProfileRef struct {
	// Name is the name of the referenced trafficManagerProfile.
	// +required
	Name string `json:"name"`
}

TrafficManagerProfileRef is a reference to a trafficManagerProfile object in the same namespace as the TrafficManagerBackend object.

func (*TrafficManagerProfileRef) DeepCopy added in v0.2.10

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

func (*TrafficManagerProfileRef) DeepCopyInto added in v0.2.10

func (in *TrafficManagerProfileRef) DeepCopyInto(out *TrafficManagerProfileRef)

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

type TrafficManagerProfileSpec added in v0.2.10

type TrafficManagerProfileSpec struct {
	// The endpoint monitoring settings of the Traffic Manager profile.
	// +optional
	MonitorConfig *MonitorConfig `json:"monitorConfig,omitempty"`
}

TrafficManagerProfileSpec defines the desired state of TrafficManagerProfile. For now, only the "Weighted" traffic routing method is supported.

func (*TrafficManagerProfileSpec) DeepCopy added in v0.2.10

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

func (*TrafficManagerProfileSpec) DeepCopyInto added in v0.2.10

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

type TrafficManagerProfileStatus added in v0.2.10

type TrafficManagerProfileStatus struct {
	// DNSName is the fully-qualified domain name (FQDN) of the Traffic Manager profile.
	// It consists of profile name and the DNS domain name used by Azure Traffic Manager to form the fully-qualified
	// domain name (FQDN) of the profile.
	// For example, "<TrafficManagerProfileNamespace>-<TrafficManagerProfileName>.trafficmanager.net"
	// +optional
	DNSName *string `json:"dnsName,omitempty"`

	// Current profile status.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*TrafficManagerProfileStatus) DeepCopy added in v0.2.10

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

func (*TrafficManagerProfileStatus) DeepCopyInto added in v0.2.10

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