Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the fleet networking v1beta1 API group.
Index ¶
- Constants
- Variables
- type ClusterStatus
- type FromCluster
- type MonitorConfig
- type TrafficManagerBackend
- type TrafficManagerBackendConditionReason
- type TrafficManagerBackendConditionType
- type TrafficManagerBackendList
- type TrafficManagerBackendRef
- type TrafficManagerBackendSpec
- type TrafficManagerBackendStatus
- type TrafficManagerEndpointStatus
- type TrafficManagerMonitorProtocol
- type TrafficManagerProfile
- type TrafficManagerProfileConditionReason
- type TrafficManagerProfileConditionType
- type TrafficManagerProfileList
- type TrafficManagerProfileRef
- type TrafficManagerProfileSpec
- type TrafficManagerProfileStatus
Constants ¶
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" // // Possible reasons for this condition to be Unknown are: // // * "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" )
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" // // Possible reasons for this condition to be Unknown are: // // * "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" )
const (
TrafficManagerBackendKind = "TrafficManagerBackend"
)
const (
TrafficManagerProfileKind = "TrafficManagerProfile"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "networking.fleet.azure.com", Version: "v1beta1"} // 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 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 FromCluster ¶
type FromCluster struct { // ClusterStatus describes the source cluster status. ClusterStatus `json:",inline"` // Weight defines the weight configured in the serviceExport from the source cluster. // Possible values are from 0 to 1000. // +optional Weight *int64 `json:"weight,omitempty"` }
FromCluster contains service configuration mapped to a specific source cluster.
func (*FromCluster) DeepCopy ¶
func (in *FromCluster) DeepCopy() *FromCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FromCluster.
func (*FromCluster) DeepCopyInto ¶
func (in *FromCluster) DeepCopyInto(out *FromCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitorConfig ¶
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 ¶
func (in *MonitorConfig) DeepCopy() *MonitorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorConfig.
func (*MonitorConfig) DeepCopyInto ¶
func (in *MonitorConfig) DeepCopyInto(out *MonitorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerBackend ¶
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 +kubebuilder:validation:XValidation:rule="size(self.metadata.name) < 64",message="metadata.name max length is 63"
func (*TrafficManagerBackend) DeepCopy ¶
func (in *TrafficManagerBackend) DeepCopy() *TrafficManagerBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerBackend.
func (*TrafficManagerBackend) DeepCopyInto ¶
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 ¶
func (in *TrafficManagerBackend) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficManagerBackendConditionReason ¶
type TrafficManagerBackendConditionReason string
TrafficManagerBackendConditionReason defines the set of reasons that explain why a particular backend has been raised.
type TrafficManagerBackendConditionType ¶
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 ¶
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 ¶
func (in *TrafficManagerBackendList) DeepCopy() *TrafficManagerBackendList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerBackendList.
func (*TrafficManagerBackendList) DeepCopyInto ¶
func (in *TrafficManagerBackendList) DeepCopyInto(out *TrafficManagerBackendList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrafficManagerBackendList) DeepCopyObject ¶
func (in *TrafficManagerBackendList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficManagerBackendRef ¶
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 ¶
func (in *TrafficManagerBackendRef) DeepCopy() *TrafficManagerBackendRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerBackendRef.
func (*TrafficManagerBackendRef) DeepCopyInto ¶
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 ¶
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 0 to 1000. // By default, the routing method is 'Weighted'. // If weight is set to 0, all the endpoints behind the serviceImport will be removed from the profile. // The actual weight of each endpoint is the ceiling value of a number computed as weight/(sum of all weights behind the serviceImport) // * weight of serviceExport. // For example, if the weight is 500 and there are two serviceExports from cluster-1 (weight: 100) and cluster-2 (weight: 200) // behind serviceImport. // As a result, two endpoints will be created. // The weight of endpoint from cluster-1 is 100/(100+200)*500 = 167, and the weight of cluster-2 is 200/(100+200)*500 = 334. // There may be slight deviations from the exact proportions defined in the serviceExports due to ceiling calculations. // +optional // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1000 // +kubebuilder:default=1 Weight *int64 `json:"weight,omitempty"` }
func (*TrafficManagerBackendSpec) DeepCopy ¶
func (in *TrafficManagerBackendSpec) DeepCopy() *TrafficManagerBackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerBackendSpec.
func (*TrafficManagerBackendSpec) DeepCopyInto ¶
func (in *TrafficManagerBackendSpec) DeepCopyInto(out *TrafficManagerBackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerBackendStatus ¶
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 ¶
func (in *TrafficManagerBackendStatus) DeepCopy() *TrafficManagerBackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerBackendStatus.
func (*TrafficManagerBackendStatus) DeepCopyInto ¶
func (in *TrafficManagerBackendStatus) DeepCopyInto(out *TrafficManagerBackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerEndpointStatus ¶
type TrafficManagerEndpointStatus struct { // Name of the endpoint. // +required Name string `json:"name"` // ResourceID is the fully qualified Azure resource Id for the resource. // Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}/azureEndpoints/{name} ResourceID string `json:"resourceID,omitempty"` // The weight of this endpoint when using the 'Weighted' traffic routing method. // Possible values are from 0 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"` // From is where the endpoint is exported from. // +optional From *FromCluster `json:"from,omitempty"` }
TrafficManagerEndpointStatus is the status of Azure Traffic Manager endpoint which is successfully accepted under the traffic manager Profile.
func (*TrafficManagerEndpointStatus) DeepCopy ¶
func (in *TrafficManagerEndpointStatus) DeepCopy() *TrafficManagerEndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerEndpointStatus.
func (*TrafficManagerEndpointStatus) DeepCopyInto ¶
func (in *TrafficManagerEndpointStatus) DeepCopyInto(out *TrafficManagerEndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerMonitorProtocol ¶
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 ¶
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 +kubebuilder:validation:XValidation:rule="size(self.metadata.name) < 64",message="metadata.name max length is 63"
func (*TrafficManagerProfile) DeepCopy ¶
func (in *TrafficManagerProfile) DeepCopy() *TrafficManagerProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProfile.
func (*TrafficManagerProfile) DeepCopyInto ¶
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 ¶
func (in *TrafficManagerProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficManagerProfileConditionReason ¶
type TrafficManagerProfileConditionReason string
TrafficManagerProfileConditionReason defines the set of reasons that explain why a particular profile condition type has been raised.
type TrafficManagerProfileConditionType ¶
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 ¶
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 ¶
func (in *TrafficManagerProfileList) DeepCopy() *TrafficManagerProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProfileList.
func (*TrafficManagerProfileList) DeepCopyInto ¶
func (in *TrafficManagerProfileList) DeepCopyInto(out *TrafficManagerProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrafficManagerProfileList) DeepCopyObject ¶
func (in *TrafficManagerProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficManagerProfileRef ¶
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 ¶
func (in *TrafficManagerProfileRef) DeepCopy() *TrafficManagerProfileRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProfileRef.
func (*TrafficManagerProfileRef) DeepCopyInto ¶
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 ¶
type TrafficManagerProfileSpec struct { // The name of the resource group to contain the Azure Traffic Manager resource corresponding to this profile. // When this profile is created, updated, or deleted, the corresponding traffic manager with the same name will be created, updated, or deleted // in the specified resource group. // Reference link: https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftresources // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=90 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="resourceGroup is immutable" ResourceGroup string `json:"resourceGroup"` // 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 ¶
func (in *TrafficManagerProfileSpec) DeepCopy() *TrafficManagerProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProfileSpec.
func (*TrafficManagerProfileSpec) DeepCopyInto ¶
func (in *TrafficManagerProfileSpec) DeepCopyInto(out *TrafficManagerProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficManagerProfileStatus ¶
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"` // ResourceID is the fully qualified Azure resource Id for the resource. // Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} ResourceID string `json:"resourceID,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 ¶
func (in *TrafficManagerProfileStatus) DeepCopy() *TrafficManagerProfileStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficManagerProfileStatus.
func (*TrafficManagerProfileStatus) DeepCopyInto ¶
func (in *TrafficManagerProfileStatus) DeepCopyInto(out *TrafficManagerProfileStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.