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: {}