config/crd/bases/networking.fleet.azure.com_trafficmanagerprofiles.yaml (419 lines of code) (raw):

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.0 name: trafficmanagerprofiles.networking.fleet.azure.com spec: group: networking.fleet.azure.com names: categories: - fleet-networking kind: TrafficManagerProfile listKind: TrafficManagerProfileList plural: trafficmanagerprofiles shortNames: - tmp singular: trafficmanagerprofile scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.dnsName name: DNS-Name type: string - jsonPath: .status.conditions[?(@.type=='Programmed')].status name: Is-Programmed type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: |- 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 properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: The desired state of TrafficManagerProfile. properties: monitorConfig: description: The endpoint monitoring settings of the Traffic Manager profile. properties: intervalInSeconds: default: 30 description: |- 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). enum: - 10 - 30 format: int64 type: integer path: default: / description: The path relative to the endpoint domain name used to probe for endpoint health. type: string port: default: 80 description: The TCP port used to probe for endpoint health. format: int64 type: integer protocol: default: HTTP description: The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. enum: - HTTP - HTTPS - TCP type: string timeoutInSeconds: description: |- 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. * 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. format: int64 maximum: 10 minimum: 5 type: integer toleratedNumberOfFailures: default: 3 description: |- 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. format: int64 maximum: 9 minimum: 0 type: integer type: object resourceGroup: description: |- 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 maxLength: 90 minLength: 1 type: string x-kubernetes-validations: - message: resourceGroup is immutable rule: self == oldSelf required: - resourceGroup type: object status: description: The observed status of TrafficManagerProfile. properties: conditions: description: Current profile status. items: description: Condition contains details for one aspect of the current state of this API Resource. properties: lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map dnsName: description: |- 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" type: string resourceID: description: |- ResourceID is the fully qualified Azure resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} type: string type: object required: - spec type: object x-kubernetes-validations: - message: metadata.name max length is 63 rule: size(self.metadata.name) < 64 served: true storage: false subresources: status: {} - additionalPrinterColumns: - jsonPath: .status.dnsName name: DNS-Name type: string - jsonPath: .status.conditions[?(@.type=='Programmed')].status name: Is-Programmed type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1beta1 schema: openAPIV3Schema: description: |- 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 properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: The desired state of TrafficManagerProfile. properties: monitorConfig: description: The endpoint monitoring settings of the Traffic Manager profile. properties: intervalInSeconds: default: 30 description: |- 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). enum: - 10 - 30 format: int64 type: integer path: default: / description: The path relative to the endpoint domain name used to probe for endpoint health. type: string port: default: 80 description: The TCP port used to probe for endpoint health. format: int64 type: integer protocol: default: HTTP description: The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. enum: - HTTP - HTTPS - TCP type: string timeoutInSeconds: description: |- 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. * 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. format: int64 maximum: 10 minimum: 5 type: integer toleratedNumberOfFailures: default: 3 description: |- 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. format: int64 maximum: 9 minimum: 0 type: integer type: object x-kubernetes-validations: - message: timeoutInSeconds must be between 5 and 10 when intervalInSeconds is 30 rule: 'has(self.intervalInSeconds) && self.intervalInSeconds == 30 ? (!has(self.timeoutInSeconds) || (self.timeoutInSeconds >= 5 && self.timeoutInSeconds <= 10)) : true' - message: timeoutInSeconds must be between 5 and 9 when intervalInSeconds is 10 rule: 'has(self.intervalInSeconds) && self.intervalInSeconds == 10 ? (!has(self.timeoutInSeconds) || (self.timeoutInSeconds >= 5 && self.timeoutInSeconds <= 9)) : true' resourceGroup: description: |- 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 maxLength: 90 minLength: 1 type: string x-kubernetes-validations: - message: resourceGroup is immutable rule: self == oldSelf required: - resourceGroup type: object status: description: The observed status of TrafficManagerProfile. properties: conditions: description: Current profile status. items: description: Condition contains details for one aspect of the current state of this API Resource. properties: lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map dnsName: description: |- 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" type: string resourceID: description: |- ResourceID is the fully qualified Azure resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} type: string type: object required: - spec type: object x-kubernetes-validations: - message: metadata.name max length is 63 rule: size(self.metadata.name) < 64 served: true storage: true subresources: status: {}