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

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.0 name: trafficmanagerbackends.networking.fleet.azure.com spec: group: networking.fleet.azure.com names: categories: - fleet-networking kind: TrafficManagerBackend listKind: TrafficManagerBackendList plural: trafficmanagerbackends shortNames: - tmb singular: trafficmanagerbackend scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.profile.name name: Profile type: string - jsonPath: .spec.backend.name name: Backend type: string - jsonPath: .status.conditions[?(@.type=='Accepted')].status name: Is-Accepted type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: |- 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 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 TrafficManagerBackend. properties: backend: description: The reference to a backend. properties: name: description: Name is the reference to the ServiceImport in the same namespace as the TrafficManagerBackend object. type: string required: - name type: object x-kubernetes-validations: - message: spec.backend is immutable rule: self == oldSelf profile: description: Which TrafficManagerProfile the backend should be attached to. properties: name: description: Name is the name of the referenced trafficManagerProfile. type: string required: - name type: object x-kubernetes-validations: - message: spec.profile is immutable rule: self == oldSelf weight: default: 1 description: |- 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. format: int64 maximum: 1000 minimum: 0 type: integer required: - backend - profile type: object status: description: The observed status of TrafficManagerBackend. properties: conditions: description: Current backend 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 endpoints: description: Endpoints contains a list of accepted Azure endpoints which are created or updated under the traffic manager Profile. items: description: |- TrafficManagerEndpointStatus is the status of Azure Traffic Manager endpoint which is successfully accepted under the traffic manager Profile. properties: from: description: From is where the endpoint is exported from. properties: cluster: description: cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label. type: string weight: description: |- Weight defines the weight configured in the serviceExport from the source cluster. Possible values are from 0 to 1000. format: int64 type: integer required: - cluster type: object name: description: Name of the endpoint. type: string resourceID: description: |- ResourceID is the fully qualified Azure resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}/azureEndpoints/{name} type: string target: description: The fully-qualified DNS name or IP address of the endpoint. type: string weight: description: |- The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 0 to 1000. format: int64 type: integer required: - name type: object type: array 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: .spec.profile.name name: Profile type: string - jsonPath: .spec.backend.name name: Backend type: string - jsonPath: .status.conditions[?(@.type=='Accepted')].status name: Is-Accepted type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1beta1 schema: openAPIV3Schema: description: |- 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 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 TrafficManagerBackend. properties: backend: description: The reference to a backend. properties: name: description: Name is the reference to the ServiceImport in the same namespace as the TrafficManagerBackend object. type: string required: - name type: object x-kubernetes-validations: - message: spec.backend is immutable rule: self == oldSelf profile: description: Which TrafficManagerProfile the backend should be attached to. properties: name: description: Name is the name of the referenced trafficManagerProfile. type: string required: - name type: object x-kubernetes-validations: - message: spec.profile is immutable rule: self == oldSelf weight: default: 1 description: |- 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. format: int64 maximum: 1000 minimum: 0 type: integer required: - backend - profile type: object status: description: The observed status of TrafficManagerBackend. properties: conditions: description: Current backend 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 endpoints: description: Endpoints contains a list of accepted Azure endpoints which are created or updated under the traffic manager Profile. items: description: |- TrafficManagerEndpointStatus is the status of Azure Traffic Manager endpoint which is successfully accepted under the traffic manager Profile. properties: from: description: From is where the endpoint is exported from. properties: cluster: description: |- cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label. type: string weight: description: |- Weight defines the weight configured in the serviceExport from the source cluster. Possible values are from 0 to 1000. format: int64 type: integer required: - cluster type: object name: description: Name of the endpoint. type: string resourceID: description: |- ResourceID is the fully qualified Azure resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}/azureEndpoints/{name} type: string target: description: The fully-qualified DNS name or IP address of the endpoint. type: string weight: description: |- The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 0 to 1000. format: int64 type: integer required: - name type: object type: array 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: {}