From e41b16c87efa39a0d304eb3dcccd70422605b212 Mon Sep 17 00:00:00 2001 From: Xiujuan Xiang Date: Tue, 14 Feb 2023 11:49:22 +0800 Subject: [PATCH] bump capz to v1.7.2 --- .../testdata/test-cluster-metadata.yaml | 4 +- cmd/cli/plugin/cluster/go.mod | 2 +- cmd/cli/plugin/cluster/go.sum | 4 +- cmd/cli/plugin/isolated-cluster/go.sum | 2 +- cmd/cli/plugin/managementcluster/go.mod | 2 +- cmd/cli/plugin/managementcluster/go.sum | 4 +- cmd/cli/plugin/package/go.mod | 2 +- cmd/cli/plugin/package/go.sum | 4 +- go.mod | 2 +- go.sum | 4 +- .../upstream/infrastructure-components.yaml | 543 +- .../bundle/config/upstream/metadata.yaml | 3 + .../vendir.lock.yml | 2 +- .../cluster-api-provider-azure/vendir.yml | 2 +- providers/config.yaml | 2 +- .../{v1.6.1 => v1.7.2}/cconly/base.yaml | 0 .../overlay-kube-apiserver-admission.yaml | 0 .../{v1.6.1 => v1.7.2}/cconly/overlay.yaml | 0 .../cluster-template-definition-dev.yaml | 2 +- .../cluster-template-definition-devcc.yaml | 2 +- .../cluster-template-definition-prod.yaml | 2 +- .../cluster-template-definition-prodcc.yaml | 2 +- .../clusterclass-tkg-azure-default.yaml | 2 +- .../infrastructure-components.yaml | 5685 +++++++++++++---- .../{v1.6.1 => v1.7.2}/metadata.yaml | 3 + .../{v1.6.1 => v1.7.2}/ytt/base-template.yaml | 0 .../{v1.6.1 => v1.7.2}/ytt/overlay.yaml | 0 .../yttcc/base-template.yaml | 0 .../{v1.6.1 => v1.7.2}/yttcc/overlay.yaml | 0 tkg/go.mod | 2 +- tkg/go.sum | 4 +- 31 files changed, 4936 insertions(+), 1350 deletions(-) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cconly/base.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cconly/overlay-kube-apiserver-admission.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cconly/overlay.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cluster-template-definition-dev.yaml (82%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cluster-template-definition-devcc.yaml (83%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cluster-template-definition-prod.yaml (82%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/cluster-template-definition-prodcc.yaml (83%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/clusterclass-tkg-azure-default.yaml (69%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/infrastructure-components.yaml (59%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/metadata.yaml (92%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/ytt/base-template.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/ytt/overlay.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/yttcc/base-template.yaml (100%) rename providers/infrastructure-azure/{v1.6.1 => v1.7.2}/yttcc/overlay.yaml (100%) diff --git a/addons/controllers/testdata/test-cluster-metadata.yaml b/addons/controllers/testdata/test-cluster-metadata.yaml index 4cf1dcbf824..95227f9acdf 100644 --- a/addons/controllers/testdata/test-cluster-metadata.yaml +++ b/addons/controllers/testdata/test-cluster-metadata.yaml @@ -83,11 +83,11 @@ data: imagePath: azure-cloud-node-manager tag: v0.7.4_vmware.1 cluster-api-provider-azure: - - version: v1.6.1+vmware.1 + - version: v1.7.2+vmware.1 images: capzControllerImage: imagePath: cluster-api/cluster-api-azure-controller - tag: v1.6.1_vmware.1 + tag: v1.7.2_vmware.1 cluster-api-provider-bringyourownhost: - version: v0.2.0+vmware.4 images: diff --git a/cmd/cli/plugin/cluster/go.mod b/cmd/cli/plugin/cluster/go.mod index 5259d92d5d8..1ed01252706 100644 --- a/cmd/cli/plugin/cluster/go.mod +++ b/cmd/cli/plugin/cluster/go.mod @@ -239,7 +239,7 @@ require ( k8s.io/kubectl v0.24.0 // indirect k8s.io/utils v0.0.0-20220812165043-ad590609e2e5 // indirect sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 // indirect - sigs.k8s.io/cluster-api-provider-azure v1.6.1 // indirect + sigs.k8s.io/cluster-api-provider-azure v1.7.2 // indirect sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 // indirect sigs.k8s.io/cluster-api/test v1.2.8 // indirect sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect diff --git a/cmd/cli/plugin/cluster/go.sum b/cmd/cli/plugin/cluster/go.sum index d6110fe565d..31adb330594 100644 --- a/cmd/cli/plugin/cluster/go.sum +++ b/cmd/cli/plugin/cluster/go.sum @@ -2102,8 +2102,8 @@ sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2/go.mod h1:ZKM3W39Pl7uPuuB6mT/dWakgy1O8OcivGRCAZqSP+Hs= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= -sigs.k8s.io/cluster-api-provider-azure v1.6.1/go.mod h1:wM/V5BBRq+m5KCE9h5YVtMQ3qcIOsGBb7UDD/tXufko= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= +sigs.k8s.io/cluster-api-provider-azure v1.7.2/go.mod h1:fDWZWADLRcRw2QSji8mqvaoxh/E+lDX8cbWZ/Xybb6E= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1/go.mod h1:11l0pUZNYA76sOl1HXOACCB56Pez3dgNfjw9ACEUUqQ= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE= diff --git a/cmd/cli/plugin/isolated-cluster/go.sum b/cmd/cli/plugin/isolated-cluster/go.sum index 775aff40797..630deceb8f4 100644 --- a/cmd/cli/plugin/isolated-cluster/go.sum +++ b/cmd/cli/plugin/isolated-cluster/go.sum @@ -1048,7 +1048,7 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE= sigs.k8s.io/controller-runtime v0.12.3 h1:FCM8xeY/FI8hoAfh/V4XbbYMY20gElh9yh+A98usMio= diff --git a/cmd/cli/plugin/managementcluster/go.mod b/cmd/cli/plugin/managementcluster/go.mod index 7691b88e319..f002b8cc4d9 100644 --- a/cmd/cli/plugin/managementcluster/go.mod +++ b/cmd/cli/plugin/managementcluster/go.mod @@ -239,7 +239,7 @@ require ( k8s.io/kubectl v0.24.0 // indirect k8s.io/utils v0.0.0-20220812165043-ad590609e2e5 // indirect sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 // indirect - sigs.k8s.io/cluster-api-provider-azure v1.6.1 // indirect + sigs.k8s.io/cluster-api-provider-azure v1.7.2 // indirect sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 // indirect sigs.k8s.io/cluster-api/test v1.2.8 // indirect sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect diff --git a/cmd/cli/plugin/managementcluster/go.sum b/cmd/cli/plugin/managementcluster/go.sum index af416f63363..caf595b22c8 100644 --- a/cmd/cli/plugin/managementcluster/go.sum +++ b/cmd/cli/plugin/managementcluster/go.sum @@ -2113,8 +2113,8 @@ sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2/go.mod h1:ZKM3W39Pl7uPuuB6mT/dWakgy1O8OcivGRCAZqSP+Hs= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= -sigs.k8s.io/cluster-api-provider-azure v1.6.1/go.mod h1:wM/V5BBRq+m5KCE9h5YVtMQ3qcIOsGBb7UDD/tXufko= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= +sigs.k8s.io/cluster-api-provider-azure v1.7.2/go.mod h1:fDWZWADLRcRw2QSji8mqvaoxh/E+lDX8cbWZ/Xybb6E= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1/go.mod h1:11l0pUZNYA76sOl1HXOACCB56Pez3dgNfjw9ACEUUqQ= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE= diff --git a/cmd/cli/plugin/package/go.mod b/cmd/cli/plugin/package/go.mod index ee47451c006..e41b014f32c 100644 --- a/cmd/cli/plugin/package/go.mod +++ b/cmd/cli/plugin/package/go.mod @@ -248,7 +248,7 @@ require ( k8s.io/utils v0.0.0-20220812165043-ad590609e2e5 // indirect sigs.k8s.io/cluster-api v1.2.8 // indirect sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 // indirect - sigs.k8s.io/cluster-api-provider-azure v1.6.1 // indirect + sigs.k8s.io/cluster-api-provider-azure v1.7.2 // indirect sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 // indirect sigs.k8s.io/cluster-api/test v1.2.8 // indirect sigs.k8s.io/controller-runtime v0.13.0 // indirect diff --git a/cmd/cli/plugin/package/go.sum b/cmd/cli/plugin/package/go.sum index 4aa1f93183f..6b8d963bce8 100644 --- a/cmd/cli/plugin/package/go.sum +++ b/cmd/cli/plugin/package/go.sum @@ -2046,8 +2046,8 @@ sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2/go.mod h1:ZKM3W39Pl7uPuuB6mT/dWakgy1O8OcivGRCAZqSP+Hs= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= -sigs.k8s.io/cluster-api-provider-azure v1.6.1/go.mod h1:wM/V5BBRq+m5KCE9h5YVtMQ3qcIOsGBb7UDD/tXufko= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= +sigs.k8s.io/cluster-api-provider-azure v1.7.2/go.mod h1:fDWZWADLRcRw2QSji8mqvaoxh/E+lDX8cbWZ/Xybb6E= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1/go.mod h1:11l0pUZNYA76sOl1HXOACCB56Pez3dgNfjw9ACEUUqQ= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE= diff --git a/go.mod b/go.mod index 838e92eb5c9..6f246fbb70f 100644 --- a/go.mod +++ b/go.mod @@ -249,7 +249,7 @@ require ( k8s.io/kubectl v0.24.0 // indirect k8s.io/utils v0.0.0-20220812165043-ad590609e2e5 // indirect sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 // indirect - sigs.k8s.io/cluster-api-provider-azure v1.6.1 // indirect + sigs.k8s.io/cluster-api-provider-azure v1.7.2 // indirect sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 // indirect sigs.k8s.io/cluster-api/test v1.2.8 // indirect sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect diff --git a/go.sum b/go.sum index 5300e8c5d8d..a7d0335bd6a 100644 --- a/go.sum +++ b/go.sum @@ -2114,8 +2114,8 @@ sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2/go.mod h1:ZKM3W39Pl7uPuuB6mT/dWakgy1O8OcivGRCAZqSP+Hs= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= -sigs.k8s.io/cluster-api-provider-azure v1.6.1/go.mod h1:wM/V5BBRq+m5KCE9h5YVtMQ3qcIOsGBb7UDD/tXufko= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= +sigs.k8s.io/cluster-api-provider-azure v1.7.2/go.mod h1:fDWZWADLRcRw2QSji8mqvaoxh/E+lDX8cbWZ/Xybb6E= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1/go.mod h1:11l0pUZNYA76sOl1HXOACCB56Pez3dgNfjw9ACEUUqQ= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE= diff --git a/packages/cluster-api-provider-azure/bundle/config/upstream/infrastructure-components.yaml b/packages/cluster-api-provider-azure/bundle/config/upstream/infrastructure-components.yaml index 8b3d8c1e6a2..db6c84a91e0 100644 --- a/packages/cluster-api-provider-azure/bundle/config/upstream/infrastructure-components.yaml +++ b/packages/cluster-api-provider-azure/bundle/config/upstream/infrastructure-components.yaml @@ -336,7 +336,16 @@ spec: storage: false subresources: status: {} - - name: v1beta1 + - additionalPrinterColumns: + - description: Type of Azure Identity + jsonPath: .spec.type + name: Type + type: string + - description: Time duration since creation of this AzureClusterIdentity + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 schema: openAPIV3Schema: description: AzureClusterIdentity is the Schema for the azureclustersidentities @@ -933,7 +942,7 @@ spec: maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to - failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' type: object @@ -1729,7 +1738,7 @@ spec: maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to - failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' type: object @@ -1810,6 +1819,10 @@ spec: name: Endpoint priority: 1 type: string + - description: Time duration since creation of this AzureCluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: @@ -2242,6 +2255,16 @@ spec: description: APIServerLB is the configuration for the control-plane load balancer. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: description: FrontendIP defines a load balancer frontend @@ -2315,6 +2338,16 @@ spec: APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: description: FrontendIP defines a load balancer frontend @@ -2386,6 +2419,16 @@ spec: description: NodeOutboundLB is the configuration for the node outbound load balancer. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: description: FrontendIP defines a load balancer frontend @@ -2790,7 +2833,7 @@ spec: maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to - failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' type: object @@ -3938,6 +3981,10 @@ spec: name: VMSS VM ID priority: 1 type: string + - description: Time duration since creation of this AzureMachinePoolMachine + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: @@ -3969,7 +4016,6 @@ spec: Scale Set type: string required: - - instanceID - providerID type: object status: @@ -4131,8 +4177,6 @@ spec: version: description: Version defines the Kubernetes version for the VM Instance type: string - required: - - latestModelApplied type: object type: object served: true @@ -5482,6 +5526,10 @@ spec: name: VM Size priority: 1 type: string + - description: Time duration since creation of this AzureMachinePool + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: @@ -5532,6 +5580,14 @@ spec: meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' type: string + orchestrationMode: + default: Uniform + description: OrchestrationMode specifies the orchestration mode for + the Virtual Machine Scale Set + enum: + - Flexible + - Uniform + type: string providerID: description: ProviderID is the identification ID of the Virtual Machine Scale Set @@ -5624,11 +5680,8 @@ spec: virtual machine within the Machine Pool properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated - networking. If omitted, it will be set based on whether the - requested VMSize supports accelerated networking. If AcceleratedNetworking - is set to true with a VMSize that does not support it, Azure - will return an error. + description: 'Deprecated: AcceleratedNetworking should be set + in the networkInterfaces field.' type: boolean dataDisks: description: DataDisks specifies the list of data disks to be @@ -5682,6 +5735,52 @@ spec: - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings for + a virtual machine. If not specified then Boot diagnostics (Managed) + will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings + for the virtual machine. This allows to configure capturing + serial output from the virtual machine on boot. This is + useful for debugging software based launch issues. If not + specified then Boot diagnostics (Managed) will be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the storage + account for storing the diagnostics data should be disabled + (Disabled), provisioned by Azure (Managed) or by the + user (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the user-managed + storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of the + user-managed storage account. The URI typically + will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone endpoints. + You can find the correct endpoint by looking for + the Blob Primary Endpoint in the endpoints tab in + the Azure console or with the CLI by issuing `az + storage account list --query=''[].{name: name, "resource + group": resourceGroup, "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object image: description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will @@ -5861,6 +5960,33 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network interface + configurations. If left unspecified, the VM will get a single + network interface with a single IPConfig in the subnet specified + in the cluster's node subnet field. The primary interface will + be the first networkInterface specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based + on whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize + that does not support it, Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of private + IP addresses to attach to the interface. Defaults to 1 + if not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which the + new network interface will be placed. + type: string + type: object + type: array osDisk: description: OSDisk contains the operating system disk information for a Virtual Machine @@ -5947,8 +6073,8 @@ spec: encoded to add to a Virtual Machine type: string subnetName: - description: SubnetName selects the Subnet where the VMSS will - be placed + description: 'Deprecated: SubnetName should be set in the networkInterfaces + field.' type: string terminateNotificationTimeout: description: TerminateNotificationTimeout enables or disables @@ -7411,6 +7537,10 @@ spec: name: VM Size priority: 1 type: string + - description: Time duration since creation of this AzureMachine + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: @@ -7432,11 +7562,8 @@ spec: description: AzureMachineSpec defines the desired state of AzureMachine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated - networking. If omitted, it will be set based on whether the requested - VMSize supports accelerated networking. If AcceleratedNetworking - is set to true with a VMSize that does not support it, Azure will - return an error. + description: 'Deprecated: AcceleratedNetworking should be set in the + networkInterfaces field.' type: boolean additionalCapabilities: description: AdditionalCapabilities specifies additional capabilities @@ -7514,6 +7641,51 @@ spec: - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings for a + virtual machine. If not specified then Boot diagnostics (Managed) + will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings for + the virtual machine. This allows to configure capturing serial + output from the virtual machine on boot. This is useful for + debugging software based launch issues. If not specified then + Boot diagnostics (Managed) will be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the storage + account for storing the diagnostics data should be disabled + (Disabled), provisioned by Azure (Managed) or by the user + (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the user-managed + storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of the user-managed + storage account. The URI typically will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone endpoints. + You can find the correct endpoint by looking for the + Blob Primary Endpoint in the endpoints tab in the Azure + console or with the CLI by issuing `az storage account + list --query=''[].{name: name, "resource group": resourceGroup, + "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object dnsServers: description: DNSServers adds a list of DNS Server IP addresses to the VM NICs. @@ -7717,6 +7889,33 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network interface + configurations. If left unspecified, the VM will get a single network + interface with a single IPConfig in the subnet specified in the + cluster's node subnet field. The primary interface will be the first + networkInterface specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based on + whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize that + does not support it, Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of private + IP addresses to attach to the interface. Defaults to 1 if + not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which the new + network interface will be placed. + type: string + type: object + type: array osDisk: description: OSDisk specifies the parameters for the operating system disk of the machine @@ -7810,7 +8009,8 @@ spec: sshPublicKey: type: string subnetName: - description: SubnetName selects the Subnet where the VM will be placed + description: 'Deprecated: SubnetName should be set in the networkInterfaces + field.' type: string userAssignedIdentities: description: UserAssignedIdentities is a list of standalone Azure @@ -8845,11 +9045,8 @@ spec: of the machine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure - accelerated networking. If omitted, it will be set based - on whether the requested VMSize supports accelerated networking. - If AcceleratedNetworking is set to true with a VMSize that - does not support it, Azure will return an error. + description: 'Deprecated: AcceleratedNetworking should be + set in the networkInterfaces field.' type: boolean additionalCapabilities: description: AdditionalCapabilities specifies additional capabilities @@ -8928,6 +9125,54 @@ spec: - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings + for a virtual machine. If not specified then Boot diagnostics + (Managed) will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings + for the virtual machine. This allows to configure capturing + serial output from the virtual machine on boot. This + is useful for debugging software based launch issues. + If not specified then Boot diagnostics (Managed) will + be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the + storage account for storing the diagnostics data + should be disabled (Disabled), provisioned by Azure + (Managed) or by the user (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the + user-managed storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of + the user-managed storage account. The URI typically + will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone + endpoints. You can find the correct endpoint + by looking for the Blob Primary Endpoint in + the endpoints tab in the Azure console or with + the CLI by issuing `az storage account list + --query=''[].{name: name, "resource group": + resourceGroup, "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object dnsServers: description: DNSServers adds a list of DNS Server IP addresses to the VM NICs. @@ -9144,6 +9389,35 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network + interface configurations. If left unspecified, the VM will + get a single network interface with a single IPConfig in + the subnet specified in the cluster's node subnet field. + The primary interface will be the first networkInterface + specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables + Azure accelerated networking. If omitted, it will + be set based on whether the requested VMSize supports + accelerated networking. If AcceleratedNetworking is + set to true with a VMSize that does not support it, + Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of + private IP addresses to attach to the interface. Defaults + to 1 if not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which + the new network interface will be placed. + type: string + type: object + type: array osDisk: description: OSDisk specifies the parameters for the operating system disk of the machine @@ -9238,8 +9512,8 @@ spec: sshPublicKey: type: string subnetName: - description: SubnetName selects the Subnet where the VM will - be placed + description: 'Deprecated: SubnetName should be set in the + networkInterfaces field.' type: string userAssignedIdentities: description: UserAssignedIdentities is a list of standalone @@ -10065,6 +10339,111 @@ spec: - None type: string type: object + autoscalerProfile: + description: AutoscalerProfile is the parameters to be applied to + the cluster-autoscaler when enabled + properties: + balanceSimilarNodeGroups: + description: BalanceSimilarNodeGroups - Valid values are 'true' + and 'false'. The default is false. + enum: + - "true" + - "false" + type: string + expander: + description: Expander - If not specified, the default is 'random'. + See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) + for more information. + enum: + - least-waste + - most-pods + - priority + - random + type: string + maxEmptyBulkDelete: + description: MaxEmptyBulkDelete - The default is 10. + type: string + maxGracefulTerminationSec: + description: MaxGracefulTerminationSec - The default is 600. + pattern: ^(\d+)$ + type: string + maxNodeProvisionTime: + description: MaxNodeProvisionTime - The default is '15m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + maxTotalUnreadyPercentage: + description: MaxTotalUnreadyPercentage - The default is 45. The + maximum is 100 and the minimum is 0. + maxLength: 3 + minLength: 1 + pattern: ^(\d+)$ + type: string + newPodScaleUpDelay: + description: NewPodScaleUpDelay - For scenarios like burst/batch + scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled + pods before they're a certain age. The default is '0s'. Values + must be an integer followed by a unit ('s' for seconds, 'm' + for minutes, 'h' for hours, etc). + type: string + okTotalUnreadyCount: + description: OkTotalUnreadyCount - This must be an integer. The + default is 3. + pattern: ^(\d+)$ + type: string + scaleDownDelayAfterAdd: + description: ScaleDownDelayAfterAdd - The default is '10m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownDelayAfterDelete: + description: ScaleDownDelayAfterDelete - The default is the scan-interval. + Values must be an integer followed by an 's'. No unit of time + other than seconds (s) is supported. + pattern: ^(\d+)s$ + type: string + scaleDownDelayAfterFailure: + description: ScaleDownDelayAfterFailure - The default is '3m'. + Values must be an integer followed by an 'm'. No unit of time + other than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUnneededTime: + description: ScaleDownUnneededTime - The default is '10m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUnreadyTime: + description: ScaleDownUnreadyTime - The default is '20m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUtilizationThreshold: + description: ScaleDownUtilizationThreshold - The default is '0.5'. + type: string + scanInterval: + description: ScanInterval - How often cluster is reevaluated for + scale up or down. The default is '10s'. + pattern: ^(\d+)s$ + type: string + skipNodesWithLocalStorage: + description: SkipNodesWithLocalStorage - The default is false. + enum: + - "true" + - "false" + type: string + skipNodesWithSystemPods: + description: SkipNodesWithSystemPods - The default is true. + enum: + - "true" + - "false" + type: string + type: object controlPlaneEndpoint: description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. @@ -10573,6 +10952,13 @@ spec: description: AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool. properties: + additionalTags: + additionalProperties: + type: string + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. + type: object availabilityZones: description: AvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. @@ -10587,6 +10973,83 @@ spec: description: EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool. type: boolean + kubeletConfig: + description: KubeletConfig specifies the kubelet configurations for + nodes. + properties: + allowedUnsafeSysctls: + description: AllowedUnsafeSysctls - Allowlist of unsafe sysctls + or unsafe sysctl patterns (ending in `*`). + items: + type: string + type: array + containerLogMaxFiles: + description: ContainerLogMaxFiles - The maximum number of container + log files that can be present for a container. The number must + be ≥ 2. + format: int32 + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: ContainerLogMaxSizeMB - The maximum size (e.g. 10Mi) + of container log file before it is rotated. + format: int32 + type: integer + cpuCfsQuota: + description: CPUCfsQuota - Enable CPU CFS quota enforcement for + containers that specify CPU limits. + type: boolean + cpuCfsQuotaPeriod: + description: CPUCfsQuotaPeriod - Sets CPU CFS quota period value. + type: string + cpuManagerPolicy: + description: CPUManagerPolicy - CPU Manager policy to use. + enum: + - none + - static + type: string + failSwapOn: + description: FailSwapOn - If set to true it will make the Kubelet + fail to start if swap is enabled on the node. + type: boolean + imageGcHighThreshold: + description: ImageGcHighThreshold - The percent of disk usage + after which image garbage collection is always run. + format: int32 + maximum: 100 + minimum: 0 + type: integer + imageGcLowThreshold: + description: ImageGcLowThreshold - The percent of disk usage before + which image garbage collection is never run. + format: int32 + maximum: 100 + minimum: 0 + type: integer + podMaxPids: + description: PodMaxPids - The maximum number of processes per + pod. + format: int32 + minimum: -1 + type: integer + topologyManagerPolicy: + description: TopologyManagerPolicy - Topology Manager policy to + use. + enum: + - none + - best-effort + - restricted + - single-numa-node + type: string + type: object + kubeletDiskType: + description: 'KubeletDiskType specifies the kubelet disk type. Default + to OS. Possible values include: ''OS'', ''Temporary''. Requires + kubeletDisk preview feature to be set.' + enum: + - OS + - Temporary + type: string maxPods: description: MaxPods specifies the kubelet --max-pods configuration for the node pool. @@ -11298,7 +11761,7 @@ spec: - args: - --leader-elect - --metrics-bind-addr=localhost:8080 - - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},AKS=${EXP_AKS:=false} + - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},AKS=${EXP_AKS:=false},AKSResourceHealth=${EXP_AKS_RESOURCE_HEALTH:=false} - --v=0 env: - name: AZURE_SUBSCRIPTION_ID @@ -11333,7 +11796,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/cluster-api-azure/cluster-api-azure-controller:v1.6.1 + image: registry.k8s.io/cluster-api-azure/cluster-api-azure-controller:v1.7.2 imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -11693,6 +12156,28 @@ webhooks: resources: - azureclusters sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capz-webhook-service + namespace: capz-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-azureclusteridentity + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.azureclusteridentity.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - azureclusteridentities + sideEffects: None - admissionReviewVersions: - v1 - v1beta1 diff --git a/packages/cluster-api-provider-azure/bundle/config/upstream/metadata.yaml b/packages/cluster-api-provider-azure/bundle/config/upstream/metadata.yaml index 3d853b2b859..6c38924659e 100644 --- a/packages/cluster-api-provider-azure/bundle/config/upstream/metadata.yaml +++ b/packages/cluster-api-provider-azure/bundle/config/upstream/metadata.yaml @@ -35,3 +35,6 @@ releaseSeries: - major: 1 minor: 6 contract: v1beta1 + - major: 1 + minor: 7 + contract: v1beta1 diff --git a/packages/cluster-api-provider-azure/vendir.lock.yml b/packages/cluster-api-provider-azure/vendir.lock.yml index 8c02153aaee..d47e7212bdc 100644 --- a/packages/cluster-api-provider-azure/vendir.lock.yml +++ b/packages/cluster-api-provider-azure/vendir.lock.yml @@ -2,7 +2,7 @@ apiVersion: vendir.k14s.io/v1alpha1 directories: - contents: - githubRelease: - url: https://api.github.com/repos/kubernetes-sigs/cluster-api-provider-azure/releases/87930082 + url: https://api.github.com/repos/kubernetes-sigs/cluster-api-provider-azure/releases/91926868 path: . path: bundle/config/upstream kind: LockConfig diff --git a/packages/cluster-api-provider-azure/vendir.yml b/packages/cluster-api-provider-azure/vendir.yml index b1803623807..d420c59d6c0 100644 --- a/packages/cluster-api-provider-azure/vendir.yml +++ b/packages/cluster-api-provider-azure/vendir.yml @@ -7,7 +7,7 @@ directories: - path: . githubRelease: slug: kubernetes-sigs/cluster-api-provider-azure - tag: v1.6.1 + tag: v1.7.2 disableAutoChecksumValidation: true includePaths: - infrastructure-components.yaml diff --git a/providers/config.yaml b/providers/config.yaml index f16ddd572f7..5e364915d43 100644 --- a/providers/config.yaml +++ b/providers/config.yaml @@ -9,7 +9,7 @@ providers: url: providers/infrastructure-vsphere/v1.5.1/infrastructure-components.yaml type: InfrastructureProvider - name: azure - url: providers/infrastructure-azure/v1.6.1/infrastructure-components.yaml + url: providers/infrastructure-azure/v1.7.2/infrastructure-components.yaml type: InfrastructureProvider - name: tkg-service-vsphere url: providers/infrastructure-tkg-service-vsphere/v1.1.0/unused.yaml diff --git a/providers/infrastructure-azure/v1.6.1/cconly/base.yaml b/providers/infrastructure-azure/v1.7.2/cconly/base.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/cconly/base.yaml rename to providers/infrastructure-azure/v1.7.2/cconly/base.yaml diff --git a/providers/infrastructure-azure/v1.6.1/cconly/overlay-kube-apiserver-admission.yaml b/providers/infrastructure-azure/v1.7.2/cconly/overlay-kube-apiserver-admission.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/cconly/overlay-kube-apiserver-admission.yaml rename to providers/infrastructure-azure/v1.7.2/cconly/overlay-kube-apiserver-admission.yaml diff --git a/providers/infrastructure-azure/v1.6.1/cconly/overlay.yaml b/providers/infrastructure-azure/v1.7.2/cconly/overlay.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/cconly/overlay.yaml rename to providers/infrastructure-azure/v1.7.2/cconly/overlay.yaml diff --git a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-dev.yaml b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-dev.yaml similarity index 82% rename from providers/infrastructure-azure/v1.6.1/cluster-template-definition-dev.yaml rename to providers/infrastructure-azure/v1.7.2/cluster-template-definition-dev.yaml index 2f489da172e..2c4306539b8 100644 --- a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-dev.yaml +++ b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-dev.yaml @@ -2,7 +2,7 @@ apiVersion: providers.tanzu.vmware.com/v1alpha1 kind: TemplateDefinition spec: paths: - - path: providers/infrastructure-azure/v1.6.1/ytt + - path: providers/infrastructure-azure/v1.7.2/ytt - path: providers/infrastructure-azure/ytt - path: providers/ytt - path: bom diff --git a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-devcc.yaml b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-devcc.yaml similarity index 83% rename from providers/infrastructure-azure/v1.6.1/cluster-template-definition-devcc.yaml rename to providers/infrastructure-azure/v1.7.2/cluster-template-definition-devcc.yaml index 5f49b48f852..f633066de78 100644 --- a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-devcc.yaml +++ b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-devcc.yaml @@ -3,7 +3,7 @@ kind: TemplateDefinition spec: paths: - path: providers/yttcb - - path: providers/infrastructure-azure/v1.6.1/yttcc + - path: providers/infrastructure-azure/v1.7.2/yttcc - path: providers/infrastructure-azure/yttcc - path: providers/yttcc - path: bom diff --git a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-prod.yaml b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-prod.yaml similarity index 82% rename from providers/infrastructure-azure/v1.6.1/cluster-template-definition-prod.yaml rename to providers/infrastructure-azure/v1.7.2/cluster-template-definition-prod.yaml index 2f489da172e..2c4306539b8 100644 --- a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-prod.yaml +++ b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-prod.yaml @@ -2,7 +2,7 @@ apiVersion: providers.tanzu.vmware.com/v1alpha1 kind: TemplateDefinition spec: paths: - - path: providers/infrastructure-azure/v1.6.1/ytt + - path: providers/infrastructure-azure/v1.7.2/ytt - path: providers/infrastructure-azure/ytt - path: providers/ytt - path: bom diff --git a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-prodcc.yaml b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-prodcc.yaml similarity index 83% rename from providers/infrastructure-azure/v1.6.1/cluster-template-definition-prodcc.yaml rename to providers/infrastructure-azure/v1.7.2/cluster-template-definition-prodcc.yaml index 5f49b48f852..f633066de78 100644 --- a/providers/infrastructure-azure/v1.6.1/cluster-template-definition-prodcc.yaml +++ b/providers/infrastructure-azure/v1.7.2/cluster-template-definition-prodcc.yaml @@ -3,7 +3,7 @@ kind: TemplateDefinition spec: paths: - path: providers/yttcb - - path: providers/infrastructure-azure/v1.6.1/yttcc + - path: providers/infrastructure-azure/v1.7.2/yttcc - path: providers/infrastructure-azure/yttcc - path: providers/yttcc - path: bom diff --git a/providers/infrastructure-azure/v1.6.1/clusterclass-tkg-azure-default.yaml b/providers/infrastructure-azure/v1.7.2/clusterclass-tkg-azure-default.yaml similarity index 69% rename from providers/infrastructure-azure/v1.6.1/clusterclass-tkg-azure-default.yaml rename to providers/infrastructure-azure/v1.7.2/clusterclass-tkg-azure-default.yaml index deb30fd51a9..d79f836d110 100644 --- a/providers/infrastructure-azure/v1.6.1/clusterclass-tkg-azure-default.yaml +++ b/providers/infrastructure-azure/v1.7.2/clusterclass-tkg-azure-default.yaml @@ -2,5 +2,5 @@ apiVersion: providers.tanzu.vmware.com/v1alpha1 kind: TemplateDefinition spec: paths: - - path: providers/infrastructure-azure/v1.6.1/cconly + - path: providers/infrastructure-azure/v1.7.2/cconly - path: providers/config_default.yaml diff --git a/providers/infrastructure-azure/v1.6.1/infrastructure-components.yaml b/providers/infrastructure-azure/v1.7.2/infrastructure-components.yaml similarity index 59% rename from providers/infrastructure-azure/v1.6.1/infrastructure-components.yaml rename to providers/infrastructure-azure/v1.7.2/infrastructure-components.yaml index bc11af251ba..db6c84a91e0 100644 --- a/providers/infrastructure-azure/v1.6.1/infrastructure-components.yaml +++ b/providers/infrastructure-azure/v1.7.2/infrastructure-components.yaml @@ -3,9 +3,6 @@ kind: Namespace metadata: labels: cluster.x-k8s.io/provider: infrastructure-azure - pod-security.kubernetes.io/enforce: privileged - pod-security.kubernetes.io/warn: privileged - pod-security.kubernetes.io/audit: privileged name: capz-system --- apiVersion: apiextensions.k8s.io/v1 @@ -44,21 +41,31 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: AzureClusterIdentity is the Schema for the azureclustersidentities API. + description: AzureClusterIdentity is the Schema for the azureclustersidentities + API. 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' + 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' + 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: AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity. + description: AzureClusterIdentitySpec defines the parameters that are + used to create an AzureIdentity. properties: allowedNamespaces: - description: "AllowedNamespaces is an array of namespaces that AzureClusters can use this Identity from. \n An empty list (default) indicates that AzureClusters can use this Identity from any namespace. This field is intentionally not a pointer because the nil behavior (no namespaces) is undesirable here." + description: "AllowedNamespaces is an array of namespaces that AzureClusters + can use this Identity from. \n An empty list (default) indicates + that AzureClusters can use this Identity from any namespace. This + field is intentionally not a pointer because the nil behavior (no + namespaces) is undesirable here." items: type: string type: array @@ -66,13 +73,16 @@ spec: description: Both User Assigned MSI and SP can use this field. type: string clientSecret: - description: ClientSecret is a secret reference which should contain either a Service Principal password or certificate secret. + description: ClientSecret is a secret reference which should contain + either a Service Principal password or certificate secret. properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -94,31 +104,47 @@ spec: - type type: object status: - description: AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity. + description: AzureClusterIdentityStatus defines the observed state of + AzureClusterIdentity. properties: conditions: description: Conditions defines current service state of the AzureClusterIdentity. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -134,45 +160,74 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: AzureClusterIdentity is the Schema for the azureclustersidentities API. + description: AzureClusterIdentity is the Schema for the azureclustersidentities + API. 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' + 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' + 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: AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity. + description: AzureClusterIdentitySpec defines the parameters that are + used to create an AzureIdentity. properties: allowedNamespaces: - description: AllowedNamespaces is used to identify the namespaces the clusters are allowed to use the identity from. Namespaces can be selected either using an array of namespaces or with label selector. An empty allowedNamespaces object indicates that AzureClusters can use this identity from any namespace. If this object is nil, no namespaces will be allowed (default behaviour, if this field is not provided) A namespace should be either in the NamespaceList or match with Selector to use the identity. + description: AllowedNamespaces is used to identify the namespaces + the clusters are allowed to use the identity from. Namespaces can + be selected either using an array of namespaces or with label selector. + An empty allowedNamespaces object indicates that AzureClusters can + use this identity from any namespace. If this object is nil, no + namespaces will be allowed (default behaviour, if this field is + not provided) A namespace should be either in the NamespaceList + or match with Selector to use the identity. nullable: true properties: list: - description: A nil or empty list indicates that AzureCluster cannot use the identity from any namespace. + description: A nil or empty list indicates that AzureCluster cannot + use the identity from any namespace. items: type: string nullable: true type: array selector: - description: "Selector is a selector of namespaces that AzureCluster can use this Identity from. This is a standard Kubernetes LabelSelector, a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. \n A nil or empty selector indicates that AzureCluster cannot use this AzureClusterIdentity from any namespace." + description: "Selector is a selector of namespaces that AzureCluster + can use this Identity from. This is a standard Kubernetes LabelSelector, + a label query over a set of resources. The result of matchLabels + and matchExpressions are ANDed. \n A nil or empty selector indicates + that AzureCluster cannot use this AzureClusterIdentity from + any namespace." properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. items: type: string type: array @@ -184,7 +239,11 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -193,13 +252,16 @@ spec: description: Both User Assigned MSI and SP can use this field. type: string clientSecret: - description: ClientSecret is a secret reference which should contain either a Service Principal password or certificate secret. + description: ClientSecret is a secret reference which should contain + either a Service Principal password or certificate secret. properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -221,31 +283,47 @@ spec: - type type: object status: - description: AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity. + description: AzureClusterIdentityStatus defines the observed state of + AzureClusterIdentity. properties: conditions: description: Conditions defines current service state of the AzureClusterIdentity. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -258,48 +336,86 @@ spec: storage: false subresources: status: {} - - name: v1beta1 + - additionalPrinterColumns: + - description: Type of Azure Identity + jsonPath: .spec.type + name: Type + type: string + - description: Time duration since creation of this AzureClusterIdentity + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 schema: openAPIV3Schema: - description: AzureClusterIdentity is the Schema for the azureclustersidentities API. + description: AzureClusterIdentity is the Schema for the azureclustersidentities + API. 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' + 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' + 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: AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity. + description: AzureClusterIdentitySpec defines the parameters that are + used to create an AzureIdentity. properties: allowedNamespaces: - description: AllowedNamespaces is used to identify the namespaces the clusters are allowed to use the identity from. Namespaces can be selected either using an array of namespaces or with label selector. An empty allowedNamespaces object indicates that AzureClusters can use this identity from any namespace. If this object is nil, no namespaces will be allowed (default behaviour, if this field is not provided) A namespace should be either in the NamespaceList or match with Selector to use the identity. + description: AllowedNamespaces is used to identify the namespaces + the clusters are allowed to use the identity from. Namespaces can + be selected either using an array of namespaces or with label selector. + An empty allowedNamespaces object indicates that AzureClusters can + use this identity from any namespace. If this object is nil, no + namespaces will be allowed (default behaviour, if this field is + not provided) A namespace should be either in the NamespaceList + or match with Selector to use the identity. nullable: true properties: list: - description: A nil or empty list indicates that AzureCluster cannot use the identity from any namespace. + description: A nil or empty list indicates that AzureCluster cannot + use the identity from any namespace. items: type: string nullable: true type: array selector: - description: "Selector is a selector of namespaces that AzureCluster can use this Identity from. This is a standard Kubernetes LabelSelector, a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. \n A nil or empty selector indicates that AzureCluster cannot use this AzureClusterIdentity from any namespace." + description: "Selector is a selector of namespaces that AzureCluster + can use this Identity from. This is a standard Kubernetes LabelSelector, + a label query over a set of resources. The result of matchLabels + and matchExpressions are ANDed. \n A nil or empty selector indicates + that AzureCluster cannot use this AzureClusterIdentity from + any namespace." properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. items: type: string type: array @@ -311,33 +427,43 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic type: object clientID: - description: ClientID is the service principal client ID. Both User Assigned MSI and SP can use this field. + description: ClientID is the service principal client ID. Both User + Assigned MSI and SP can use this field. type: string clientSecret: - description: ClientSecret is a secret reference which should contain either a Service Principal password or certificate secret. + description: ClientSecret is a secret reference which should contain + either a Service Principal password or certificate secret. properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic resourceID: - description: ResourceID is the Azure resource ID for the User Assigned MSI resource. Only applicable when type is UserAssignedMSI. + description: ResourceID is the Azure resource ID for the User Assigned + MSI resource. Only applicable when type is UserAssignedMSI. type: string tenantID: description: TenantID is the service principal primary tenant id. type: string type: - description: Type is the type of Azure Identity used. ServicePrincipal, ServicePrincipalCertificate, UserAssignedMSI or ManualServicePrincipal. + description: Type is the type of Azure Identity used. ServicePrincipal, + ServicePrincipalCertificate, UserAssignedMSI or ManualServicePrincipal. enum: - ServicePrincipal - UserAssignedMSI @@ -350,31 +476,47 @@ spec: - type type: object status: - description: AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity. + description: AzureClusterIdentityStatus defines the observed state of + AzureClusterIdentity. properties: conditions: description: Conditions defines current service state of the AzureClusterIdentity. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -453,10 +595,14 @@ spec: description: AzureCluster is the Schema for the azureclusters API. 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' + 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' + 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 @@ -466,10 +612,13 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -483,13 +632,24 @@ spec: - port type: object identityRef: - description: IdentityRef is a reference to a AzureIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to a AzureIdentity to be used + when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -501,7 +661,8 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -511,14 +672,17 @@ spec: location: type: string networkSpec: - description: NetworkSpec encapsulates all things related to Azure network. + description: NetworkSpec encapsulates all things related to Azure + network. properties: apiServerLB: - description: APIServerLB is the configuration for the control-plane load balancer. + description: APIServerLB is the configuration for the control-plane + load balancer. properties: frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -526,7 +690,8 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -551,23 +716,31 @@ spec: type: string type: object subnets: - description: Subnets is the configuration for the control-plane subnet and the node subnet. + description: Subnets is the configuration for the control-plane + subnet and the node subnet. items: description: SubnetSpec configures an Azure subnet. properties: cidrBlock: - description: 'CidrBlock is the CIDR block to be used when the provider creates a managed Vnet. Deprecated: Use CIDRBlocks instead' + description: 'CidrBlock is the CIDR block to be used when + the provider creates a managed Vnet. Deprecated: Use CIDRBlocks + instead' type: string cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address space, + specified as one or more address prefixes in CIDR notation. items: type: string type: array id: - description: ID defines a unique identifier to reference this resource. + description: ID defines a unique identifier to reference + this resource. type: string internalLBIPAddress: - description: 'InternalLBIPAddress is the IP address that will be used as the internal LB private IP. For the control plane subnet only. Deprecated: Use LoadBalancer private IP instead' + description: 'InternalLBIPAddress is the IP address that + will be used as the internal LB private IP. For the control + plane subnet only. Deprecated: Use LoadBalancer private + IP instead' type: string name: description: Name defines a name for the subnet resource. @@ -576,7 +749,8 @@ spec: description: Role defines the subnet role (eg. Node, ControlPlane) type: string routeTable: - description: RouteTable defines the route table that should be attached to this subnet. + description: RouteTable defines the route table that should + be attached to this subnet. properties: id: type: string @@ -584,37 +758,59 @@ spec: type: string type: object securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network security + group) that should be attached to this subnet. properties: id: type: string ingressRule: - description: IngressRules is a slice of Azure ingress rules for security groups. + description: IngressRules is a slice of Azure ingress + rules for security groups. items: - description: IngressRule defines an Azure ingress rule for security groups. + description: IngressRule defines an Azure ingress + rule for security groups. properties: description: type: string destination: - description: Destination - The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination - The destination address + prefix. CIDR or destination IP range. Asterix + '*' can also be used to match all source IPs. + Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' + and 'Internet' can also be used. type: string destinationPorts: - description: DestinationPorts - The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts - The destination + port or range. Integer or range between 0 and + 65535. Asterix '*' can also be used to match + all ports. type: string name: type: string priority: - description: Priority - A number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority - A number between 100 and + 4096. Each rule should have a unique value for + priority. Rules are processed in priority order, + with lower numbers processed before higher numbers. + Once traffic matches a rule, processing stops. format: int32 type: integer protocol: - description: SecurityGroupProtocol defines the protocol type for a security group rule. + description: SecurityGroupProtocol defines the + protocol type for a security group rule. type: string source: - description: Source - The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source - The CIDR or source IP range. + Asterix '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can also + be used. If this is an ingress rule, specifies + where network traffic originates from. type: string sourcePorts: - description: SourcePorts - The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts - The source port or + range. Integer or range between 0 and 65535. + Asterix '*' can also be used to match all ports. type: string required: - description @@ -638,21 +834,28 @@ spec: description: Vnet is the configuration for the Azure virtual network. properties: cidrBlock: - description: 'CidrBlock is the CIDR block to be used when the provider creates a managed virtual network. Deprecated: Use CIDRBlocks instead' + description: 'CidrBlock is the CIDR block to be used when + the provider creates a managed virtual network. Deprecated: + Use CIDRBlocks instead' type: string cidrBlocks: - description: CIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the virtual network's address + space, specified as one or more address prefixes in CIDR + notation. items: type: string type: array id: - description: ID is the identifier of the virtual network this provider should use to create resources. + description: ID is the identifier of the virtual network this + provider should use to create resources. type: string name: description: Name defines a name for the virtual network resource. type: string resourceGroup: - description: ResourceGroup is the name of the resource group of the existing virtual network or the resource group where a managed virtual network should be created. + description: ResourceGroup is the name of the resource group + of the existing virtual network or the resource group where + a managed virtual network should be created. type: string tags: additionalProperties: @@ -676,26 +879,41 @@ spec: conditions: description: Conditions defines current service state of the AzureCluster. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -704,18 +922,29 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across. + description: FailureDomainSpec is the Schema for Cluster API failure + domains. It allows controllers to understand how many failure + domains a cluster can optionally span across. properties: attributes: additionalProperties: type: string - description: Attributes is a free form map of attributes an infrastructure provider might use or require. + description: Attributes is a free form map of attributes an + infrastructure provider might use or require. type: object controlPlane: - description: ControlPlane determines if this failure domain is suitable for use by control plane machines. + description: ControlPlane determines if this failure domain + is suitable for use by control plane machines. type: boolean type: object - description: 'FailureDomains specifies the list of unique failure domains for the location/region of the cluster. A FailureDomain maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' + description: 'FailureDomains specifies the list of unique failure + domains for the location/region of the cluster. A FailureDomain + maps to Availability Zone with an Azure Region (if the region support + them). An Availability Zone is a separate data center within a region + and they can be used to ensure the cluster is more resilient to + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview + This list will be used by Cluster API to try and spread the machines + across the failure domains.' type: object ready: description: Ready is true when the provider resource is ready. @@ -764,10 +993,14 @@ spec: description: AzureCluster is the Schema for the azureclusters API. 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' + 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' + 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 @@ -777,21 +1010,30 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object azureEnvironment: - description: 'AzureEnvironment is the name of the AzureCloud to be used. The default value that would be used by most users is "AzurePublicCloud", other values are: - ChinaCloud: "AzureChinaCloud" - GermanCloud: "AzureGermanCloud" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: "AzureUSGovernmentCloud"' + description: 'AzureEnvironment is the name of the AzureCloud to be + used. The default value that would be used by most users is "AzurePublicCloud", + other values are: - ChinaCloud: "AzureChinaCloud" - GermanCloud: + "AzureGermanCloud" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: + "AzureUSGovernmentCloud"' type: string bastionSpec: - description: BastionSpec encapsulates all things related to the Bastions in the cluster. + description: BastionSpec encapsulates all things related to the Bastions + in the cluster. properties: azureBastion: - description: AzureBastion specifies how the Azure Bastion cloud component should be configured. + description: AzureBastion specifies how the Azure Bastion cloud + component should be configured. properties: name: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create an + Azure public IP address. properties: dnsName: type: string @@ -804,12 +1046,14 @@ spec: description: SubnetSpec configures an Azure subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address space, + specified as one or more address prefixes in CIDR notation. items: type: string type: array id: - description: ID defines a unique identifier to reference this resource. + description: ID defines a unique identifier to reference + this resource. type: string name: description: Name defines a name for the subnet resource. @@ -820,7 +1064,8 @@ spec: id: type: string ip: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -836,7 +1081,8 @@ spec: description: Role defines the subnet role (eg. Node, ControlPlane) type: string routeTable: - description: RouteTable defines the route table that should be attached to this subnet. + description: RouteTable defines the route table that should + be attached to this subnet. properties: id: type: string @@ -844,41 +1090,62 @@ spec: type: string type: object securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network security + group) that should be attached to this subnet. properties: id: type: string name: type: string securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure security + rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure security + rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this rule. Restricted + to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination + address prefix. CIDR or destination IP range. + Asterix '*' can also be used to match all + source IPs. Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can also + be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies the + destination port or range. Integer or range + between 0 and 65535. Asterix '*' can also + be used to match all ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether the + rule applies to inbound, or outbound traffic. + "Inbound" or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within the + network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between 100 + and 4096. Each rule should have a unique value + for priority. Rules are processed in priority + order, with lower numbers processed before + higher numbers. Once traffic matches a rule, + processing stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the protocol + type. "Tcp", "Udp", "Icmp", or "*". enum: - Tcp - Udp @@ -886,10 +1153,19 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR or source + IP range. Asterix '*' can also be used to + match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. If this is an + ingress rule, specifies where network traffic + originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source port + or range. Integer or range between 0 and 65535. + Asterix '*' can also be used to match all + ports. type: string required: - description @@ -910,7 +1186,15 @@ spec: type: object type: object cloudProviderConfigOverrides: - description: 'CloudProviderConfigOverrides is an optional set of configuration values that can be overridden in azure cloud provider config. This is only a subset of options that are available in azure cloud provider config. Some values for the cloud provider config are inferred from other parts of cluster api provider azure spec, and may not be available for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs Note: All cloud provider config values can be customized by creating the secret beforehand. CloudProviderConfigOverrides is only used when the secret is managed by the Azure Provider.' + description: 'CloudProviderConfigOverrides is an optional set of configuration + values that can be overridden in azure cloud provider config. This + is only a subset of options that are available in azure cloud provider + config. Some values for the cloud provider config are inferred from + other parts of cluster api provider azure spec, and may not be available + for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs + Note: All cloud provider config values can be customized by creating + the secret beforehand. CloudProviderConfigOverrides is only used + when the secret is managed by the Azure Provider.' properties: backOffs: description: BackOffConfig indicates the back-off config options. @@ -936,10 +1220,18 @@ spec: type: object rateLimits: items: - description: 'RateLimitSpec represents the rate limit configuration for a particular kind of resource. Eg. loadBalancerRateLimit is used to configure rate limits for load balancers. This eventually gets converted to CloudProviderRateLimitConfig that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 We cannot use CloudProviderRateLimitConfig directly because floating point values are not supported in controller-tools. See: https://github.com/kubernetes-sigs/controller-tools/issues/245' + description: 'RateLimitSpec represents the rate limit configuration + for a particular kind of resource. Eg. loadBalancerRateLimit + is used to configure rate limits for load balancers. This + eventually gets converted to CloudProviderRateLimitConfig + that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 + We cannot use CloudProviderRateLimitConfig directly because + floating point values are not supported in controller-tools. + See: https://github.com/kubernetes-sigs/controller-tools/issues/245' properties: config: - description: RateLimitConfig indicates the rate limit config options. + description: RateLimitConfig indicates the rate limit config + options. properties: cloudProviderRateLimit: type: boolean @@ -983,7 +1275,8 @@ spec: type: array type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -997,13 +1290,24 @@ spec: - port type: object identityRef: - description: IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to an AzureIdentity to be + used when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1015,7 +1319,8 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1025,14 +1330,17 @@ spec: location: type: string networkSpec: - description: NetworkSpec encapsulates all things related to Azure network. + description: NetworkSpec encapsulates all things related to Azure + network. properties: apiServerLB: - description: APIServerLB is the configuration for the control-plane load balancer. + description: APIServerLB is the configuration for the control-plane + load balancer. properties: frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1040,7 +1348,8 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -1054,13 +1363,15 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1073,11 +1384,15 @@ spec: type: string type: object controlPlaneOutboundLB: - description: ControlPlaneOutboundLB is the configuration for the control-plane outbound load balancer. This is different from APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic. + description: ControlPlaneOutboundLB is the configuration for the + control-plane outbound load balancer. This is different from + APIServerLB, and is used only in private clusters (optionally) + for enabling outbound traffic. properties: frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1085,7 +1400,8 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -1099,13 +1415,15 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1118,11 +1436,13 @@ spec: type: string type: object nodeOutboundLB: - description: NodeOutboundLB is the configuration for the node outbound load balancer. + description: NodeOutboundLB is the configuration for the node + outbound load balancer. properties: frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1130,7 +1450,8 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -1144,13 +1465,15 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1163,20 +1486,24 @@ spec: type: string type: object privateDNSZoneName: - description: PrivateDNSZoneName defines the zone name for the Azure Private DNS. + description: PrivateDNSZoneName defines the zone name for the + Azure Private DNS. type: string subnets: - description: Subnets is the configuration for the control-plane subnet and the node subnet. + description: Subnets is the configuration for the control-plane + subnet and the node subnet. items: description: SubnetSpec configures an Azure subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address space, + specified as one or more address prefixes in CIDR notation. items: type: string type: array id: - description: ID defines a unique identifier to reference this resource. + description: ID defines a unique identifier to reference + this resource. type: string name: description: Name defines a name for the subnet resource. @@ -1187,7 +1514,8 @@ spec: id: type: string ip: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string @@ -1203,7 +1531,8 @@ spec: description: Role defines the subnet role (eg. Node, ControlPlane) type: string routeTable: - description: RouteTable defines the route table that should be attached to this subnet. + description: RouteTable defines the route table that should + be attached to this subnet. properties: id: type: string @@ -1211,41 +1540,61 @@ spec: type: string type: object securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network security + group) that should be attached to this subnet. properties: id: type: string name: type: string securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure security + rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure security + rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this rule. Restricted + to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination address + prefix. CIDR or destination IP range. Asterix + '*' can also be used to match all source IPs. + Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' + and 'Internet' can also be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies the destination + port or range. Integer or range between 0 and + 65535. Asterix '*' can also be used to match + all ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether the rule + applies to inbound, or outbound traffic. "Inbound" + or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within the + network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between 100 + and 4096. Each rule should have a unique value + for priority. Rules are processed in priority + order, with lower numbers processed before higher + numbers. Once traffic matches a rule, processing + stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the protocol type. + "Tcp", "Udp", "Icmp", or "*". enum: - Tcp - Udp @@ -1253,10 +1602,17 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR or source + IP range. Asterix '*' can also be used to match + all source IPs. Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can also + be used. If this is an ingress rule, specifies + where network traffic originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source port + or range. Integer or range between 0 and 65535. + Asterix '*' can also be used to match all ports. type: string required: - description @@ -1279,18 +1635,23 @@ spec: description: Vnet is the configuration for the Azure virtual network. properties: cidrBlocks: - description: CIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the virtual network's address + space, specified as one or more address prefixes in CIDR + notation. items: type: string type: array id: - description: ID is the identifier of the virtual network this provider should use to create resources. + description: ID is the identifier of the virtual network this + provider should use to create resources. type: string name: description: Name defines a name for the virtual network resource. type: string resourceGroup: - description: ResourceGroup is the name of the resource group of the existing virtual network or the resource group where a managed virtual network should be created. + description: ResourceGroup is the name of the resource group + of the existing virtual network or the resource group where + a managed virtual network should be created. type: string tags: additionalProperties: @@ -1314,26 +1675,41 @@ spec: conditions: description: Conditions defines current service state of the AzureCluster. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -1342,38 +1718,59 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across. + description: FailureDomainSpec is the Schema for Cluster API failure + domains. It allows controllers to understand how many failure + domains a cluster can optionally span across. properties: attributes: additionalProperties: type: string - description: Attributes is a free form map of attributes an infrastructure provider might use or require. + description: Attributes is a free form map of attributes an + infrastructure provider might use or require. type: object controlPlane: - description: ControlPlane determines if this failure domain is suitable for use by control plane machines. + description: ControlPlane determines if this failure domain + is suitable for use by control plane machines. type: boolean type: object - description: 'FailureDomains specifies the list of unique failure domains for the location/region of the cluster. A FailureDomain maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' + description: 'FailureDomains specifies the list of unique failure + domains for the location/region of the cluster. A FailureDomain + maps to Availability Zone with an Azure Region (if the region support + them). An Availability Zone is a separate data center within a region + and they can be used to ensure the cluster is more resilient to + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview + This list will be used by Cluster API to try and spread the machines + across the failure domains.' type: object longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - name @@ -1422,16 +1819,24 @@ spec: name: Endpoint priority: 1 type: string + - description: Time duration since creation of this AzureCluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: description: AzureCluster is the Schema for the azureclusters API. 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' + 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' + 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 @@ -1441,33 +1846,45 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object azureEnvironment: - description: 'AzureEnvironment is the name of the AzureCloud to be used. The default value that would be used by most users is "AzurePublicCloud", other values are: - ChinaCloud: "AzureChinaCloud" - GermanCloud: "AzureGermanCloud" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: "AzureUSGovernmentCloud"' + description: 'AzureEnvironment is the name of the AzureCloud to be + used. The default value that would be used by most users is "AzurePublicCloud", + other values are: - ChinaCloud: "AzureChinaCloud" - GermanCloud: + "AzureGermanCloud" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: + "AzureUSGovernmentCloud"' type: string bastionSpec: - description: BastionSpec encapsulates all things related to the Bastions in the cluster. + description: BastionSpec encapsulates all things related to the Bastions + in the cluster. properties: azureBastion: - description: AzureBastion specifies how the Azure Bastion cloud component should be configured. + description: AzureBastion specifies how the Azure Bastion cloud + component should be configured. properties: name: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create an + Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated with + the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of the IP + tag associated with the public IP. Example: SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag type. Example: + FirstPartyUsage.' type: string required: - tag @@ -1483,12 +1900,14 @@ spec: description: SubnetSpec configures an Azure subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address space, + specified as one or more address prefixes in CIDR notation. items: type: string type: array id: - description: ID is the Azure resource ID of the subnet. READ-ONLY + description: ID is the Azure resource ID of the subnet. + READ-ONLY type: string name: description: Name defines a name for the subnet resource. @@ -1497,22 +1916,28 @@ spec: description: NatGateway associated with this subnet. properties: id: - description: ID is the Azure resource ID of the NAT gateway. READ-ONLY + description: ID is the Azure resource ID of the NAT + gateway. READ-ONLY type: string ip: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated + with the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of + the IP tag associated with the public + IP. Example: SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag + type. Example: FirstPartyUsage.' type: string required: - tag @@ -1537,10 +1962,12 @@ spec: - bastion type: string routeTable: - description: RouteTable defines the route table that should be attached to this subnet. + description: RouteTable defines the route table that should + be attached to this subnet. properties: id: - description: ID is the Azure resource ID of the route table. READ-ONLY + description: ID is the Azure resource ID of the route + table. READ-ONLY type: string name: type: string @@ -1548,42 +1975,64 @@ spec: - name type: object securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network security + group) that should be attached to this subnet. properties: id: - description: ID is the Azure resource ID of the security group. READ-ONLY + description: ID is the Azure resource ID of the security + group. READ-ONLY type: string name: type: string securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure security + rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure security + rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this rule. Restricted + to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination + address prefix. CIDR or destination IP range. + Asterix '*' can also be used to match all + source IPs. Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can also + be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies the + destination port or range. Integer or range + between 0 and 65535. Asterix '*' can also + be used to match all ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether the + rule applies to inbound, or outbound traffic. + "Inbound" or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within the + network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between 100 + and 4096. Each rule should have a unique value + for priority. Rules are processed in priority + order, with lower numbers processed before + higher numbers. Once traffic matches a rule, + processing stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the protocol + type. "Tcp", "Udp", "Icmp", or "*". enum: - Tcp - Udp @@ -1591,10 +2040,19 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR or source + IP range. Asterix '*' can also be used to + match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. If this is an + ingress rule, specifies where network traffic + originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source port + or range. Integer or range between 0 and 65535. + Asterix '*' can also be used to match all + ports. type: string required: - description @@ -1615,9 +2073,11 @@ spec: - name type: object serviceEndpoints: - description: ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets. + description: ServiceEndpoints is a slice of Virtual Network + service endpoints to enable for the subnets. items: - description: ServiceEndpointSpec configures an Azure Service Endpoint. + description: ServiceEndpointSpec configures an Azure + Service Endpoint. properties: locations: items: @@ -1640,7 +2100,15 @@ spec: type: object type: object cloudProviderConfigOverrides: - description: 'CloudProviderConfigOverrides is an optional set of configuration values that can be overridden in azure cloud provider config. This is only a subset of options that are available in azure cloud provider config. Some values for the cloud provider config are inferred from other parts of cluster api provider azure spec, and may not be available for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs Note: All cloud provider config values can be customized by creating the secret beforehand. CloudProviderConfigOverrides is only used when the secret is managed by the Azure Provider.' + description: 'CloudProviderConfigOverrides is an optional set of configuration + values that can be overridden in azure cloud provider config. This + is only a subset of options that are available in azure cloud provider + config. Some values for the cloud provider config are inferred from + other parts of cluster api provider azure spec, and may not be available + for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs + Note: All cloud provider config values can be customized by creating + the secret beforehand. CloudProviderConfigOverrides is only used + when the secret is managed by the Azure Provider.' properties: backOffs: description: BackOffConfig indicates the back-off config options. @@ -1666,10 +2134,18 @@ spec: type: object rateLimits: items: - description: 'RateLimitSpec represents the rate limit configuration for a particular kind of resource. Eg. loadBalancerRateLimit is used to configure rate limits for load balancers. This eventually gets converted to CloudProviderRateLimitConfig that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 We cannot use CloudProviderRateLimitConfig directly because floating point values are not supported in controller-tools. See: https://github.com/kubernetes-sigs/controller-tools/issues/245' + description: 'RateLimitSpec represents the rate limit configuration + for a particular kind of resource. Eg. loadBalancerRateLimit + is used to configure rate limits for load balancers. This + eventually gets converted to CloudProviderRateLimitConfig + that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 + We cannot use CloudProviderRateLimitConfig directly because + floating point values are not supported in controller-tools. + See: https://github.com/kubernetes-sigs/controller-tools/issues/245' properties: config: - description: RateLimitConfig indicates the rate limit config options. + description: RateLimitConfig indicates the rate limit config + options. properties: cloudProviderRateLimit: type: boolean @@ -1715,7 +2191,10 @@ spec: type: array type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. It is not recommended to set this when creating an AzureCluster as CAPZ will set this for you. However, if it is set, CAPZ will not change it. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. It is not recommended to set + this when creating an AzureCluster as CAPZ will set this for you. + However, if it is set, CAPZ will not change it. properties: host: description: The hostname on which the API server is serving. @@ -1729,13 +2208,24 @@ spec: - port type: object identityRef: - description: IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to an AzureIdentity to be + used when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1747,7 +2237,8 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1757,14 +2248,27 @@ spec: location: type: string networkSpec: - description: NetworkSpec encapsulates all things related to Azure network. + description: NetworkSpec encapsulates all things related to Azure + network. properties: apiServerLB: - description: APIServerLB is the configuration for the control-plane load balancer. + description: APIServerLB is the configuration for the control-plane + load balancer. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1772,19 +2276,24 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated + with the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of the + IP tag associated with the public IP. Example: + SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag type. + Example: FirstPartyUsage.' type: string required: - tag @@ -1801,14 +2310,17 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: - description: ID is the Azure resource ID of the load balancer. READ-ONLY + description: ID is the Azure resource ID of the load balancer. + READ-ONLY type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1821,11 +2333,25 @@ spec: type: string type: object controlPlaneOutboundLB: - description: ControlPlaneOutboundLB is the configuration for the control-plane outbound load balancer. This is different from APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic. + description: ControlPlaneOutboundLB is the configuration for the + control-plane outbound load balancer. This is different from + APIServerLB, and is used only in private clusters (optionally) + for enabling outbound traffic. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1833,19 +2359,24 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated + with the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of the + IP tag associated with the public IP. Example: + SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag type. + Example: FirstPartyUsage.' type: string required: - tag @@ -1862,14 +2393,17 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: - description: ID is the Azure resource ID of the load balancer. READ-ONLY + description: ID is the Azure resource ID of the load balancer. + READ-ONLY type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1882,11 +2416,23 @@ spec: type: string type: object nodeOutboundLB: - description: NodeOutboundLB is the configuration for the node outbound load balancer. + description: NodeOutboundLB is the configuration for the node + outbound load balancer. properties: + backendPool: + description: BackendPool describes the backend pool of the + load balancer. + properties: + name: + description: Name specifies the name of backend pool for + the load balancer. If not specified, the default name + will be set, depending on the load balancer role. + type: string + type: object frontendIPs: items: - description: FrontendIP defines a load balancer frontend IP configuration. + description: FrontendIP defines a load balancer frontend + IP configuration. properties: name: minLength: 1 @@ -1894,19 +2440,24 @@ spec: privateIP: type: string publicIP: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated + with the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of the + IP tag associated with the public IP. Example: + SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag type. + Example: FirstPartyUsage.' type: string required: - tag @@ -1923,14 +2474,17 @@ spec: type: object type: array frontendIPsCount: - description: FrontendIPsCount specifies the number of frontend IP addresses for the load balancer. + description: FrontendIPsCount specifies the number of frontend + IP addresses for the load balancer. format: int32 type: integer id: - description: ID is the Azure resource ID of the load balancer. READ-ONLY + description: ID is the Azure resource ID of the load balancer. + READ-ONLY type: string idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout for + the TCP idle connection. format: int32 type: integer name: @@ -1943,20 +2497,24 @@ spec: type: string type: object privateDNSZoneName: - description: PrivateDNSZoneName defines the zone name for the Azure Private DNS. + description: PrivateDNSZoneName defines the zone name for the + Azure Private DNS. type: string subnets: - description: Subnets is the configuration for the control-plane subnet and the node subnet. + description: Subnets is the configuration for the control-plane + subnet and the node subnet. items: description: SubnetSpec configures an Azure subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address space, + specified as one or more address prefixes in CIDR notation. items: type: string type: array id: - description: ID is the Azure resource ID of the subnet. READ-ONLY + description: ID is the Azure resource ID of the subnet. + READ-ONLY type: string name: description: Name defines a name for the subnet resource. @@ -1965,22 +2523,28 @@ spec: description: NatGateway associated with this subnet. properties: id: - description: ID is the Azure resource ID of the NAT gateway. READ-ONLY + description: ID is the Azure resource ID of the NAT + gateway. READ-ONLY type: string ip: - description: PublicIPSpec defines the inputs to create an Azure public IP address. + description: PublicIPSpec defines the inputs to create + an Azure public IP address. properties: dnsName: type: string ipTags: items: - description: IPTag contains the IpTag associated with the object. + description: IPTag contains the IpTag associated + with the object. properties: tag: - description: 'Tag specifies the value of the IP tag associated with the public IP. Example: SQL.' + description: 'Tag specifies the value of the + IP tag associated with the public IP. Example: + SQL.' type: string type: - description: 'Type specifies the IP tag type. Example: FirstPartyUsage.' + description: 'Type specifies the IP tag type. + Example: FirstPartyUsage.' type: string required: - tag @@ -2005,10 +2569,12 @@ spec: - bastion type: string routeTable: - description: RouteTable defines the route table that should be attached to this subnet. + description: RouteTable defines the route table that should + be attached to this subnet. properties: id: - description: ID is the Azure resource ID of the route table. READ-ONLY + description: ID is the Azure resource ID of the route + table. READ-ONLY type: string name: type: string @@ -2016,42 +2582,63 @@ spec: - name type: object securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network security + group) that should be attached to this subnet. properties: id: - description: ID is the Azure resource ID of the security group. READ-ONLY + description: ID is the Azure resource ID of the security + group. READ-ONLY type: string name: type: string securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure security + rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure security + rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this rule. Restricted + to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination address + prefix. CIDR or destination IP range. Asterix + '*' can also be used to match all source IPs. + Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' + and 'Internet' can also be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies the destination + port or range. Integer or range between 0 and + 65535. Asterix '*' can also be used to match + all ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether the rule + applies to inbound, or outbound traffic. "Inbound" + or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within the + network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between 100 + and 4096. Each rule should have a unique value + for priority. Rules are processed in priority + order, with lower numbers processed before higher + numbers. Once traffic matches a rule, processing + stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the protocol type. + "Tcp", "Udp", "Icmp", or "*". enum: - Tcp - Udp @@ -2059,10 +2646,17 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR or source + IP range. Asterix '*' can also be used to match + all source IPs. Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can also + be used. If this is an ingress rule, specifies + where network traffic originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source port + or range. Integer or range between 0 and 65535. + Asterix '*' can also be used to match all ports. type: string required: - description @@ -2083,9 +2677,11 @@ spec: - name type: object serviceEndpoints: - description: ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets. + description: ServiceEndpoints is a slice of Virtual Network + service endpoints to enable for the subnets. items: - description: ServiceEndpointSpec configures an Azure Service Endpoint. + description: ServiceEndpointSpec configures an Azure Service + Endpoint. properties: locations: items: @@ -2113,33 +2709,43 @@ spec: description: Vnet is the configuration for the Azure virtual network. properties: cidrBlocks: - description: CIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the virtual network's address + space, specified as one or more address prefixes in CIDR + notation. items: type: string type: array id: - description: ID is the Azure resource ID of the virtual network. READ-ONLY + description: ID is the Azure resource ID of the virtual network. + READ-ONLY type: string name: description: Name defines a name for the virtual network resource. type: string peerings: - description: Peerings defines a list of peerings of the newly created virtual network with existing virtual networks. + description: Peerings defines a list of peerings of the newly + created virtual network with existing virtual networks. items: - description: VnetPeeringSpec specifies an existing remote virtual network to peer with the AzureCluster's virtual network. + description: VnetPeeringSpec specifies an existing remote + virtual network to peer with the AzureCluster's virtual + network. properties: remoteVnetName: - description: RemoteVnetName defines name of the remote virtual network. + description: RemoteVnetName defines name of the remote + virtual network. type: string resourceGroup: - description: ResourceGroup is the resource group name of the remote virtual network. + description: ResourceGroup is the resource group name + of the remote virtual network. type: string required: - remoteVnetName type: object type: array resourceGroup: - description: ResourceGroup is the name of the resource group of the existing virtual network or the resource group where a managed virtual network should be created. + description: ResourceGroup is the name of the resource group + of the existing virtual network or the resource group where + a managed virtual network should be created. type: string tags: additionalProperties: @@ -2163,26 +2769,41 @@ spec: conditions: description: Conditions defines current service state of the AzureCluster. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -2192,38 +2813,59 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across. + description: FailureDomainSpec is the Schema for Cluster API failure + domains. It allows controllers to understand how many failure + domains a cluster can optionally span across. properties: attributes: additionalProperties: type: string - description: Attributes is a free form map of attributes an infrastructure provider might use or require. + description: Attributes is a free form map of attributes an + infrastructure provider might use or require. type: object controlPlane: - description: ControlPlane determines if this failure domain is suitable for use by control plane machines. + description: ControlPlane determines if this failure domain + is suitable for use by control plane machines. type: boolean type: object - description: 'FailureDomains specifies the list of unique failure domains for the location/region of the cluster. A FailureDomain maps to Availability Zone with an Azure Region (if the region support them). An Availability Zone is a separate data center within a region and they can be used to ensure the cluster is more resilient to failure. See: https://docs.microsoft.com/en-us/azure/availability-zones/az-overview This list will be used by Cluster API to try and spread the machines across the failure domains.' + description: 'FailureDomains specifies the list of unique failure + domains for the location/region of the cluster. A FailureDomain + maps to Availability Zone with an Azure Region (if the region support + them). An Availability Zone is a separate data center within a region + and they can be used to ensure the cluster is more resilient to + failure. See: https://learn.microsoft.com/azure/reliability/availability-zones-overview + This list will be used by Cluster API to try and spread the machines + across the failure domains.' type: object longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -2278,13 +2920,18 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: AzureClusterTemplate is the Schema for the azureclustertemplates API. + description: AzureClusterTemplate is the Schema for the azureclustertemplates + API. 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' + 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' + 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 @@ -2292,35 +2939,49 @@ spec: description: AzureClusterTemplateSpec defines the desired state of AzureClusterTemplate. properties: template: - description: AzureClusterTemplateResource describes the data needed to create an AzureCluster from a template. + description: AzureClusterTemplateResource describes the data needed + to create an AzureCluster from a template. properties: spec: - description: AzureClusterTemplateResourceSpec specifies an Azure cluster template resource. + description: AzureClusterTemplateResourceSpec specifies an Azure + cluster template resource. properties: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to + add to Azure resources managed by the Azure provider, in + addition to the ones added by default. type: object azureEnvironment: - description: 'AzureEnvironment is the name of the AzureCloud to be used. The default value that would be used by most users is "AzurePublicCloud", other values are: - ChinaCloud: "AzureChinaCloud" - GermanCloud: "AzureGermanCloud" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: "AzureUSGovernmentCloud"' + description: 'AzureEnvironment is the name of the AzureCloud + to be used. The default value that would be used by most + users is "AzurePublicCloud", other values are: - ChinaCloud: + "AzureChinaCloud" - GermanCloud: "AzureGermanCloud" - PublicCloud: + "AzurePublicCloud" - USGovernmentCloud: "AzureUSGovernmentCloud"' type: string bastionSpec: - description: BastionSpec encapsulates all things related to the Bastions in the cluster. + description: BastionSpec encapsulates all things related to + the Bastions in the cluster. properties: azureBastion: - description: AzureBastionTemplateSpec specifies a template for an Azure Bastion host. + description: AzureBastionTemplateSpec specifies a template + for an Azure Bastion host. properties: subnet: - description: SubnetTemplateSpec specifies a template for a subnet. + description: SubnetTemplateSpec specifies a template + for a subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address + space, specified as one or more address prefixes + in CIDR notation. items: type: string type: array name: - description: Name defines a name for the subnet resource. + description: Name defines a name for the subnet + resource. type: string natGateway: description: NatGateway associated with this subnet. @@ -2331,44 +2992,70 @@ spec: - name type: object role: - description: Role defines the subnet role (eg. Node, ControlPlane) + description: Role defines the subnet role (eg. + Node, ControlPlane) enum: - node - control-plane - bastion type: string securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network + security group) that should be attached to this + subnet. properties: securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure + security rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure + security rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this + rule. Restricted to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination + address prefix. CIDR or destination + IP range. Asterix '*' can also be + used to match all source IPs. Default + tags such as 'VirtualNetwork', 'AzureLoadBalancer' + and 'Internet' can also be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies + the destination port or range. Integer + or range between 0 and 65535. Asterix + '*' can also be used to match all + ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether + the rule applies to inbound, or outbound + traffic. "Inbound" or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within + the network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between + 100 and 4096. Each rule should have + a unique value for priority. Rules + are processed in priority order, with + lower numbers processed before higher + numbers. Once traffic matches a rule, + processing stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the + protocol type. "Tcp", "Udp", "Icmp", + or "*". enum: - Tcp - Udp @@ -2376,10 +3063,20 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR + or source IP range. Asterix '*' can + also be used to match all source IPs. + Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' + can also be used. If this is an ingress + rule, specifies where network traffic + originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source + port or range. Integer or range between + 0 and 65535. Asterix '*' can also + be used to match all ports. type: string required: - description @@ -2398,9 +3095,12 @@ spec: type: object type: object serviceEndpoints: - description: ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets. + description: ServiceEndpoints is a slice of Virtual + Network service endpoints to enable for the + subnets. items: - description: ServiceEndpointSpec configures an Azure Service Endpoint. + description: ServiceEndpointSpec configures + an Azure Service Endpoint. properties: locations: items: @@ -2423,10 +3123,20 @@ spec: type: object type: object cloudProviderConfigOverrides: - description: 'CloudProviderConfigOverrides is an optional set of configuration values that can be overridden in azure cloud provider config. This is only a subset of options that are available in azure cloud provider config. Some values for the cloud provider config are inferred from other parts of cluster api provider azure spec, and may not be available for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs Note: All cloud provider config values can be customized by creating the secret beforehand. CloudProviderConfigOverrides is only used when the secret is managed by the Azure Provider.' + description: 'CloudProviderConfigOverrides is an optional + set of configuration values that can be overridden in azure + cloud provider config. This is only a subset of options + that are available in azure cloud provider config. Some + values for the cloud provider config are inferred from other + parts of cluster api provider azure spec, and may not be + available for overrides. See: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs + Note: All cloud provider config values can be customized + by creating the secret beforehand. CloudProviderConfigOverrides + is only used when the secret is managed by the Azure Provider.' properties: backOffs: - description: BackOffConfig indicates the back-off config options. + description: BackOffConfig indicates the back-off config + options. properties: cloudProviderBackoff: type: boolean @@ -2449,10 +3159,19 @@ spec: type: object rateLimits: items: - description: 'RateLimitSpec represents the rate limit configuration for a particular kind of resource. Eg. loadBalancerRateLimit is used to configure rate limits for load balancers. This eventually gets converted to CloudProviderRateLimitConfig that cloud-provider-azure expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 We cannot use CloudProviderRateLimitConfig directly because floating point values are not supported in controller-tools. See: https://github.com/kubernetes-sigs/controller-tools/issues/245' + description: 'RateLimitSpec represents the rate limit + configuration for a particular kind of resource. Eg. + loadBalancerRateLimit is used to configure rate limits + for load balancers. This eventually gets converted + to CloudProviderRateLimitConfig that cloud-provider-azure + expects. See: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25 + We cannot use CloudProviderRateLimitConfig directly + because floating point values are not supported in + controller-tools. See: https://github.com/kubernetes-sigs/controller-tools/issues/245' properties: config: - description: RateLimitConfig indicates the rate limit config options. + description: RateLimitConfig indicates the rate + limit config options. properties: cloudProviderRateLimit: type: boolean @@ -2474,7 +3193,8 @@ spec: x-kubernetes-int-or-string: true type: object name: - description: Name is the name of the rate limit spec. + description: Name is the name of the rate limit + spec. enum: - defaultRateLimit - routeRateLimit @@ -2498,13 +3218,25 @@ spec: type: array type: object identityRef: - description: IdentityRef is a reference to an AzureIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to an AzureIdentity + to be used when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a valid + JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container + within a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that + triggered the event) or if no container name is specified + "spec.containers[2]" (container with index 2 in this + pod). This syntax is chosen only to have some well-defined + way of referencing a part of an object. TODO: this design + is not final and this field is subject to change in + the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -2516,7 +3248,8 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2526,65 +3259,83 @@ spec: location: type: string networkSpec: - description: NetworkSpec encapsulates all things related to Azure network. + description: NetworkSpec encapsulates all things related to + Azure network. properties: apiServerLB: - description: APIServerLB is the configuration for the control-plane load balancer. + description: APIServerLB is the configuration for the + control-plane load balancer. properties: idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout + for the TCP idle connection. format: int32 type: integer sku: description: SKU defines an Azure load balancer SKU. type: string type: - description: LBType defines an Azure load balancer Type. + description: LBType defines an Azure load balancer + Type. type: string type: object controlPlaneOutboundLB: - description: ControlPlaneOutboundLB is the configuration for the control-plane outbound load balancer. This is different from APIServerLB, and is used only in private clusters (optionally) for enabling outbound traffic. + description: ControlPlaneOutboundLB is the configuration + for the control-plane outbound load balancer. This is + different from APIServerLB, and is used only in private + clusters (optionally) for enabling outbound traffic. properties: idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout + for the TCP idle connection. format: int32 type: integer sku: description: SKU defines an Azure load balancer SKU. type: string type: - description: LBType defines an Azure load balancer Type. + description: LBType defines an Azure load balancer + Type. type: string type: object nodeOutboundLB: - description: NodeOutboundLB is the configuration for the node outbound load balancer. + description: NodeOutboundLB is the configuration for the + node outbound load balancer. properties: idleTimeoutInMinutes: - description: IdleTimeoutInMinutes specifies the timeout for the TCP idle connection. + description: IdleTimeoutInMinutes specifies the timeout + for the TCP idle connection. format: int32 type: integer sku: description: SKU defines an Azure load balancer SKU. type: string type: - description: LBType defines an Azure load balancer Type. + description: LBType defines an Azure load balancer + Type. type: string type: object privateDNSZoneName: - description: PrivateDNSZoneName defines the zone name for the Azure Private DNS. + description: PrivateDNSZoneName defines the zone name + for the Azure Private DNS. type: string subnets: - description: Subnets is the configuration for the control-plane subnet and the node subnet. + description: Subnets is the configuration for the control-plane + subnet and the node subnet. items: - description: SubnetTemplateSpec specifies a template for a subnet. + description: SubnetTemplateSpec specifies a template + for a subnet. properties: cidrBlocks: - description: CIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the subnet's address + space, specified as one or more address prefixes + in CIDR notation. items: type: string type: array name: - description: Name defines a name for the subnet resource. + description: Name defines a name for the subnet + resource. type: string natGateway: description: NatGateway associated with this subnet. @@ -2595,44 +3346,68 @@ spec: - name type: object role: - description: Role defines the subnet role (eg. Node, ControlPlane) + description: Role defines the subnet role (eg. Node, + ControlPlane) enum: - node - control-plane - bastion type: string securityGroup: - description: SecurityGroup defines the NSG (network security group) that should be attached to this subnet. + description: SecurityGroup defines the NSG (network + security group) that should be attached to this + subnet. properties: securityRules: - description: SecurityRules is a slice of Azure security rules for security groups. + description: SecurityRules is a slice of Azure + security rules for security groups. items: - description: SecurityRule defines an Azure security rule for security groups. + description: SecurityRule defines an Azure + security rule for security groups. properties: description: - description: A description for this rule. Restricted to 140 chars. + description: A description for this rule. + Restricted to 140 chars. type: string destination: - description: Destination is the destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + description: Destination is the destination + address prefix. CIDR or destination + IP range. Asterix '*' can also be used + to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' + and 'Internet' can also be used. type: string destinationPorts: - description: DestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: DestinationPorts specifies + the destination port or range. Integer + or range between 0 and 65535. Asterix + '*' can also be used to match all ports. type: string direction: - description: Direction indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound". + description: Direction indicates whether + the rule applies to inbound, or outbound + traffic. "Inbound" or "Outbound". enum: - Inbound - Outbound type: string name: - description: Name is a unique name within the network security group. + description: Name is a unique name within + the network security group. type: string priority: - description: Priority is a number between 100 and 4096. Each rule should have a unique value for priority. Rules are processed in priority order, with lower numbers processed before higher numbers. Once traffic matches a rule, processing stops. + description: Priority is a number between + 100 and 4096. Each rule should have + a unique value for priority. Rules are + processed in priority order, with lower + numbers processed before higher numbers. + Once traffic matches a rule, processing + stops. format: int32 type: integer protocol: - description: Protocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*". + description: Protocol specifies the protocol + type. "Tcp", "Udp", "Icmp", or "*". enum: - Tcp - Udp @@ -2640,10 +3415,20 @@ spec: - '*' type: string source: - description: Source specifies the CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + description: Source specifies the CIDR + or source IP range. Asterix '*' can + also be used to match all source IPs. + Default tags such as 'VirtualNetwork', + 'AzureLoadBalancer' and 'Internet' can + also be used. If this is an ingress + rule, specifies where network traffic + originates from. type: string sourcePorts: - description: SourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. + description: SourcePorts specifies source + port or range. Integer or range between + 0 and 65535. Asterix '*' can also be + used to match all ports. type: string required: - description @@ -2662,9 +3447,11 @@ spec: type: object type: object serviceEndpoints: - description: ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets. + description: ServiceEndpoints is a slice of Virtual + Network service endpoints to enable for the subnets. items: - description: ServiceEndpointSpec configures an Azure Service Endpoint. + description: ServiceEndpointSpec configures an + Azure Service Endpoint. properties: locations: items: @@ -2689,23 +3476,31 @@ spec: - name x-kubernetes-list-type: map vnet: - description: Vnet is the configuration for the Azure virtual network. + description: Vnet is the configuration for the Azure virtual + network. properties: cidrBlocks: - description: CIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation. + description: CIDRBlocks defines the virtual network's + address space, specified as one or more address + prefixes in CIDR notation. items: type: string type: array peerings: - description: Peerings defines a list of peerings of the newly created virtual network with existing virtual networks. + description: Peerings defines a list of peerings of + the newly created virtual network with existing + virtual networks. items: - description: VnetPeeringClassSpec specifies a virtual network peering class. + description: VnetPeeringClassSpec specifies a virtual + network peering class. properties: remoteVnetName: - description: RemoteVnetName defines name of the remote virtual network. + description: RemoteVnetName defines name of + the remote virtual network. type: string resourceGroup: - description: ResourceGroup is the resource group name of the remote virtual network. + description: ResourceGroup is the resource group + name of the remote virtual network. type: string required: - remoteVnetName @@ -2714,7 +3509,8 @@ spec: tags: additionalProperties: type: string - description: Tags is a collection of tags describing the resource. + description: Tags is a collection of tags describing + the resource. type: object type: object type: object @@ -2757,20 +3553,26 @@ spec: description: AzureIdentity is the specification of the identity data structure. 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' + 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' + 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: AzureIdentitySpec describes the credential specifications of an identity on Azure. + description: AzureIdentitySpec describes the credential specifications + of an identity on Azure. properties: adEndpoint: type: string adResourceID: - description: For service principal. Option param for specifying the AD details. + description: For service principal. Option param for specifying the AD + details. type: string auxiliaryTenantIDs: description: Service principal auxiliary tenant ids @@ -2785,10 +3587,12 @@ spec: description: Used for service principal properties: name: - description: Name is unique within a namespace to reference a secret resource. + description: Name is unique within a namespace to reference a + secret resource. type: string namespace: - description: Namespace defines the space within which the secret name must be unique. + description: Namespace defines the space within which the secret + name must be unique. type: string type: object metadata: @@ -2847,18 +3651,25 @@ spec: - name: v1 schema: openAPIV3Schema: - description: AzureIdentityBinding brings together the spec of matching pods and the identity which they can use. + description: AzureIdentityBinding brings together the spec of matching pods + and the identity which they can use. 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' + 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' + 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: AzureIdentityBindingSpec matches the pod with the Identity. Used to indicate the potential matches to look for between the pod/deployment and the identities present. + description: AzureIdentityBindingSpec matches the pod with the Identity. + Used to indicate the potential matches to look for between the pod/deployment + and the identities present. properties: azureIdentity: type: string @@ -2867,7 +3678,8 @@ spec: selector: type: string weight: - description: Weight is used to figure out which of the matching identities would be selected. + description: Weight is used to figure out which of the matching identities + would be selected. type: integer type: object status: @@ -2950,55 +3762,79 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines API. + description: AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines + API. 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' + 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' + 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: AzureMachinePoolMachineSpec defines the desired state of AzureMachinePoolMachine. + description: AzureMachinePoolMachineSpec defines the desired state of + AzureMachinePoolMachine. properties: instanceID: - description: InstanceID is the identification of the Machine Instance within the VMSS + description: InstanceID is the identification of the Machine Instance + within the VMSS type: string providerID: - description: ProviderID is the identification ID of the Virtual Machine Scale Set + description: ProviderID is the identification ID of the Virtual Machine + Scale Set type: string required: - instanceID - providerID type: object status: - description: AzureMachinePoolMachineStatus defines the observed state of AzureMachinePoolMachine. + description: AzureMachinePoolMachineStatus defines the observed state + of AzureMachinePoolMachine. properties: conditions: description: Conditions defines current service state of the AzureMachinePool. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -3006,36 +3842,61 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureMessage will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a more verbose string suitable for logging and human consumption. + \n Any transient errors that occur during the reconciliation of + MachinePools can be added as events to the MachinePool object and/or + logged in the controller's output." type: string failureReason: - description: "FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool machine and will contain a succinct value suitable for machine interpretation. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureReason will be set in the event that there is + a terminal problem reconciling the MachinePool machine and will + contain a succinct value suitable for machine interpretation. \n + Any transient errors that occur during the reconciliation of MachinePools + can be added as events to the MachinePool object and/or logged in + the controller's output." type: string instanceName: - description: InstanceName is the name of the Machine Instance within the VMSS + description: InstanceName is the name of the Machine Instance within + the VMSS type: string latestModelApplied: - description: LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. + description: LatestModelApplied indicates the instance is running + the most up-to-date VMSS model. A VMSS model describes the image + version the VM is running. If the instance is not running the latest + model, it means the instance may not be running the version of Kubernetes + the Machine Pool has specified and needs to be updated. type: boolean longRunningOperationStates: - description: LongRunningOperationStates saves the state for Azure long running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the state for Azure + long running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - name @@ -3050,7 +3911,17 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3062,14 +3933,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine instance. + description: ProvisioningState is the provisioning state of the Azure + virtual machine instance. type: string ready: description: Ready is true when the provider resource is ready. @@ -3108,58 +3981,85 @@ spec: name: VMSS VM ID priority: 1 type: string + - description: Time duration since creation of this AzureMachinePoolMachine + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: - description: AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines API. + description: AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines + API. 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' + 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' + 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: AzureMachinePoolMachineSpec defines the desired state of AzureMachinePoolMachine. + description: AzureMachinePoolMachineSpec defines the desired state of + AzureMachinePoolMachine. properties: instanceID: - description: InstanceID is the identification of the Machine Instance within the VMSS + description: InstanceID is the identification of the Machine Instance + within the VMSS type: string providerID: - description: ProviderID is the identification ID of the Virtual Machine Scale Set + description: ProviderID is the identification ID of the Virtual Machine + Scale Set type: string required: - - instanceID - providerID type: object status: - description: AzureMachinePoolMachineStatus defines the observed state of AzureMachinePoolMachine. + description: AzureMachinePoolMachineStatus defines the observed state + of AzureMachinePoolMachine. properties: conditions: description: Conditions defines current service state of the AzureMachinePool. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -3168,36 +4068,61 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureMessage will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a more verbose string suitable for logging and human consumption. + \n Any transient errors that occur during the reconciliation of + MachinePools can be added as events to the MachinePool object and/or + logged in the controller's output." type: string failureReason: - description: "FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool machine and will contain a succinct value suitable for machine interpretation. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureReason will be set in the event that there is + a terminal problem reconciling the MachinePool machine and will + contain a succinct value suitable for machine interpretation. \n + Any transient errors that occur during the reconciliation of MachinePools + can be added as events to the MachinePool object and/or logged in + the controller's output." type: string instanceName: - description: InstanceName is the name of the Machine Instance within the VMSS + description: InstanceName is the name of the Machine Instance within + the VMSS type: string latestModelApplied: - description: LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. + description: LatestModelApplied indicates the instance is running + the most up-to-date VMSS model. A VMSS model describes the image + version the VM is running. If the instance is not running the latest + model, it means the instance may not be running the version of Kubernetes + the Machine Pool has specified and needs to be updated. type: boolean longRunningOperationStates: - description: LongRunningOperationStates saves the state for Azure long running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the state for Azure + long running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -3213,7 +4138,17 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3225,14 +4160,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine instance. + description: ProvisioningState is the provisioning state of the Azure + virtual machine instance. type: string ready: description: Ready is true when the provider resource is ready. @@ -3240,8 +4177,6 @@ spec: version: description: Version defines the Kubernetes version for the VM Instance type: string - required: - - latestModelApplied type: object type: object served: true @@ -3323,10 +4258,14 @@ spec: description: AzureMachinePool is the Schema for the azuremachinepools API. 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' + 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' + 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 @@ -3336,11 +4275,19 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object identity: default: None - description: Identity is the type of identity used for the Virtual Machine Scale Set. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the Virtual + Machine Scale Set. The type 'SystemAssigned' is an implicitly created + identity. The generated identity will be assigned a Subscription + contributor role. The type 'UserAssigned' is a standalone Azure + resource provided by the user and assigned to the VM enum: - None - SystemAssigned @@ -3350,45 +4297,65 @@ spec: description: Location is the Azure region location e.g. westus2 type: string providerID: - description: ProviderID is the identification ID of the Virtual Machine Scale Set + description: ProviderID is the identification ID of the Virtual Machine + Scale Set type: string providerIDList: - description: ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. + description: ProviderIDList are the identification IDs of machine + instances provided by the provider. This field must match the provider + IDs as seen on the node objects corresponding to a machine pool's + machine instances. items: type: string type: array roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string template: - description: Template contains the details used to build a replica virtual machine within the Machine Pool. + description: Template contains the details used to build a replica + virtual machine within the Machine Pool. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure accelerated + networking. If omitted, it will be set based on whether the + requested VMSize supports accelerated networking. If AcceleratedNetworking + is set to true with a VMSize that does not support it, Azure + will return an error. type: boolean dataDisks: - description: DataDisks specifies the list of data disks to be created for a Virtual Machine + description: DataDisks specifies the list of data disks to be + created for a Virtual Machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine. properties: cachingType: type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the + data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the + data disk. This value is used to identify data disks within + the VM and therefore must be unique for each data disk + attached to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options + for a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -3397,7 +4364,9 @@ spec: - storageAccountType type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to + the machine name to generate the disk name. Each disk + name will be in format _. type: string required: - diskSizeGB @@ -3405,32 +4374,49 @@ spec: type: object type: array image: - description: Image is used to provide details of an image to use during Virtual Machine creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use + during Virtual Machine creation. If image details are omitted + the image will default the Azure Marketplace "capi" offer, which + is based on Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the + Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify + 'latest' to use the latest version of an image available + at deploy time. Even if you use 'latest', the VM image + will not automatically update after deploy time even + if a new version becomes available. minLength: 1 type: string required: @@ -3440,10 +4426,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from + an Azure Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -3451,15 +4439,23 @@ spec: minLength: 1 type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group + containing the shared image gallery minLength: 1 type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an image + available at deploy time. Even if you use 'latest', + the VM image will not automatically update after deploy + time even if a new version becomes available. minLength: 1 type: string required: @@ -3471,15 +4467,19 @@ spec: type: object type: object osDisk: - description: OSDisk contains the operating system disk information for a Virtual Machine + description: OSDisk contains the operating system disk information + for a Virtual Machine properties: cachingType: type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -3490,13 +4490,16 @@ spec: format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options + for a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -3512,31 +4515,40 @@ spec: - osType type: object securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine or virtual + machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is + willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: - description: SSHPublicKey is the SSH public key string base64 encoded to add to a Virtual Machine + description: SSHPublicKey is the SSH public key string base64 + encoded to add to a Virtual Machine type: string terminateNotificationTimeout: - description: TerminateNotificationTimeout enables or disables VMSS scheduled events termination notification with specified timeout allowed values are between 5 and 15 (mins) + description: TerminateNotificationTimeout enables or disables + VMSS scheduled events termination notification with specified + timeout allowed values are between 5 and 15 (mins) type: integer vmSize: - description: VMSize is the size of the Virtual Machine to build. See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes + description: VMSize is the size of the Virtual Machine to build. + See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes type: string required: - osDisk @@ -3544,12 +4556,17 @@ spec: - vmSize type: object userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachinePool. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachinePool. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -3565,26 +4582,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachinePool. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -3592,58 +4624,102 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureMessage will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a more verbose string suitable for logging and human consumption. + \n This field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string failureReason: - description: "FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureReason will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a succinct value suitable for machine interpretation. \n This field + should not be set for transitive errors that a controller faces + that are expected to be fixed automatically over time (like service + outages), but instead indicate that something is fundamentally wrong + with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string instances: - description: Instances is the VM instance status for each VM in the VMSS + description: Instances is the VM instance status for each VM in the + VMSS items: - description: AzureMachinePoolInstanceStatus provides status information for each instance in the VMSS. + description: AzureMachinePoolInstanceStatus provides status information + for each instance in the VMSS. properties: instanceID: - description: InstanceID is the identification of the Machine Instance within the VMSS + description: InstanceID is the identification of the Machine + Instance within the VMSS type: string instanceName: - description: InstanceName is the name of the Machine Instance within the VMSS + description: InstanceName is the name of the Machine Instance + within the VMSS type: string latestModelApplied: - description: LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. + description: LatestModelApplied indicates the instance is running + the most up-to-date VMSS model. A VMSS model describes the + image version the VM is running. If the instance is not running + the latest model, it means the instance may not be running + the version of Kubernetes the Machine Pool has specified and + needs to be updated. type: boolean providerID: - description: ProviderID is the provider identification of the VMSS Instance + description: ProviderID is the provider identification of the + VMSS Instance type: string provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine instance. + description: ProvisioningState is the provisioning state of + the Azure virtual machine instance. type: string version: - description: Version defines the Kubernetes version for the VM Instance + description: Version defines the Kubernetes version for the + VM Instance type: string required: - latestModelApplied type: object type: array longRunningOperationState: - description: LongRunningOperationState saves the state for an Azure long running operations so it can be continued on the next reconciliation loop. + description: LongRunningOperationState saves the state for an Azure + long running operations so it can be continued on the next reconciliation + loop. properties: futureData: - description: FutureData is the base64 url encoded json Azure AutoRest Future. + description: FutureData is the base64 url encoded json Azure AutoRest + Future. type: string name: description: Name is the name of the Azure resource. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string type: - description: Type describes the type of future, update, create, delete, etc. + description: Type describes the type of future, update, create, + delete, etc. type: string required: - type type: object provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine. + description: ProvisioningState is the provisioning state of the Azure + virtual machine. type: string ready: description: Ready is true when the provider resource is ready. @@ -3653,7 +4729,8 @@ spec: format: int32 type: integer version: - description: Version is the Kubernetes version for the current VMSS model + description: Version is the Kubernetes version for the current VMSS + model type: string type: object type: object @@ -3700,10 +4777,14 @@ spec: description: AzureMachinePool is the Schema for the azuremachinepools API. 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' + 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' + 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 @@ -3713,11 +4794,19 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object identity: default: None - description: Identity is the type of identity used for the Virtual Machine Scale Set. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the Virtual + Machine Scale Set. The type 'SystemAssigned' is an implicitly created + identity. The generated identity will be assigned a Subscription + contributor role. The type 'UserAssigned' is a standalone Azure + resource provided by the user and assigned to the VM enum: - None - SystemAssigned @@ -3727,18 +4816,27 @@ spec: description: Location is the Azure region location e.g. westus2 type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' + description: 'NodeDrainTimeout is the total amount of time that the + controller will spend on draining a node. The default value is 0, + meaning that the node can be drained without any time limitations. + NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' type: string providerID: - description: ProviderID is the identification ID of the Virtual Machine Scale Set + description: ProviderID is the identification ID of the Virtual Machine + Scale Set type: string providerIDList: - description: ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. + description: ProviderIDList are the identification IDs of machine + instances provided by the provider. This field must match the provider + IDs as seen on the node objects corresponding to a machine pool's + machine instances. items: type: string type: array roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string strategy: default: @@ -3747,14 +4845,19 @@ spec: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate - description: The deployment strategy to use to replace existing AzureMachinePoolMachines with new ones. + description: The deployment strategy to use to replace existing AzureMachinePoolMachines + with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate. + description: Rolling update config params. Present only if MachineDeploymentStrategyType + = RollingUpdate. properties: deletePolicy: default: Oldest - description: DeletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. Valid values are "Random, "Newest", "Oldest" When no value is supplied, the default is Oldest + description: DeletePolicy defines the policy used by the MachineDeployment + to identify nodes to delete when downscaling. Valid values + are "Random, "Newest", "Oldest" When no value is supplied, + the default is Oldest enum: - Random - Newest @@ -3765,33 +4868,63 @@ spec: - type: integer - type: string default: 1 - description: 'The maximum number of machines that can be scheduled above the desired number of machines. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 1. Example: when this is set to 30%, the new MachineSet can be scaled up immediately when the rolling update starts, such that the total number of old and new machines do not exceed 130% of desired machines. Once old machines have been killed, new MachineSet can be scaled up further, ensuring that total number of machines running at any time during the update is at most 130% of desired machines.' + description: 'The maximum number of machines that can be scheduled + above the desired number of machines. Value can be an absolute + number (ex: 5) or a percentage of desired machines (ex: + 10%). This can not be 0 if MaxUnavailable is 0. Absolute + number is calculated from percentage by rounding up. Defaults + to 1. Example: when this is set to 30%, the new MachineSet + can be scaled up immediately when the rolling update starts, + such that the total number of old and new machines do not + exceed 130% of desired machines. Once old machines have + been killed, new MachineSet can be scaled up further, ensuring + that total number of machines running at any time during + the update is at most 130% of desired machines.' x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string default: 0 - description: 'The maximum number of machines that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 0. Example: when this is set to 30%, the old MachineSet can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MachineSet can be scaled down further, followed by scaling up the new MachineSet, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.' + description: 'The maximum number of machines that can be unavailable + during the update. Value can be an absolute number (ex: + 5) or a percentage of desired machines (ex: 10%). Absolute + number is calculated from percentage by rounding down. This + can not be 0 if MaxSurge is 0. Defaults to 0. Example: when + this is set to 30%, the old MachineSet can be scaled down + to 70% of desired machines immediately when the rolling + update starts. Once new machines are ready, old MachineSet + can be scaled down further, followed by scaling up the new + MachineSet, ensuring that the total number of machines available + at all times during the update is at least 70% of desired + machines.' x-kubernetes-int-or-string: true type: object type: default: RollingUpdate - description: Type of deployment. Currently the only supported strategy is RollingUpdate + description: Type of deployment. Currently the only supported + strategy is RollingUpdate enum: - RollingUpdate type: string type: object template: - description: Template contains the details used to build a replica virtual machine within the Machine Pool + description: Template contains the details used to build a replica + virtual machine within the Machine Pool properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure accelerated + networking. If omitted, it will be set based on whether the + requested VMSize supports accelerated networking. If AcceleratedNetworking + is set to true with a VMSize that does not support it, Azure + will return an error. type: boolean dataDisks: - description: DataDisks specifies the list of data disks to be created for a Virtual Machine + description: DataDisks specifies the list of data disks to be + created for a Virtual Machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -3801,28 +4934,37 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the + data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the + data disk. This value is used to identify data disks within + the VM and therefore must be unique for each data disk + attached to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk parameters + for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to + the machine name to generate the disk name. Each disk + name will be in format _. type: string required: - diskSizeGB @@ -3830,32 +4972,49 @@ spec: type: object type: array image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use + during VM creation. If image details are omitted the image will + default the Azure Marketplace "capi" offer, which is based on + Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the + Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify + 'latest' to use the latest version of an image available + at deploy time. Even if you use 'latest', the VM image + will not automatically update after deploy time even + if a new version becomes available. minLength: 1 type: string required: @@ -3865,10 +5024,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from + an Azure Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -3876,24 +5037,47 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. + This is needed when the source image from which this + SIG image was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization + that created the image. This value will be used to add + a `Plan` in the API request when creating the VM/VMSS + resource. This is needed when the source image from + which this SIG image was built requires the `Plan` to + be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group + containing the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. + This is needed when the source image from which this + SIG image was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an image + available at deploy time. Even if you use 'latest', + the VM image will not automatically update after deploy + time even if a new version becomes available. minLength: 1 type: string required: @@ -3905,7 +5089,8 @@ spec: type: object type: object osDisk: - description: OSDisk contains the operating system disk information for a Virtual Machine + description: OSDisk contains the operating system disk information + for a Virtual Machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -3915,10 +5100,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -3926,17 +5114,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to the + OS disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -3948,34 +5140,44 @@ spec: - osType type: object securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine or virtual + machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is + willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: - description: SSHPublicKey is the SSH public key string base64 encoded to add to a Virtual Machine + description: SSHPublicKey is the SSH public key string base64 + encoded to add to a Virtual Machine type: string subnetName: - description: SubnetName selects the Subnet where the VMSS will be placed + description: SubnetName selects the Subnet where the VMSS will + be placed type: string terminateNotificationTimeout: - description: TerminateNotificationTimeout enables or disables VMSS scheduled events termination notification with specified timeout allowed values are between 5 and 15 (mins) + description: TerminateNotificationTimeout enables or disables + VMSS scheduled events termination notification with specified + timeout allowed values are between 5 and 15 (mins) type: integer vmSize: - description: VMSize is the size of the Virtual Machine to build. See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes + description: VMSize is the size of the Virtual Machine to build. + See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes type: string required: - osDisk @@ -3983,12 +5185,17 @@ spec: - vmSize type: object userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachinePool. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachinePool. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -4004,26 +5211,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachinePool. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -4031,38 +5253,79 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureMessage will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a more verbose string suitable for logging and human consumption. + \n This field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string failureReason: - description: "FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureReason will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a succinct value suitable for machine interpretation. \n This field + should not be set for transitive errors that a controller faces + that are expected to be fixed automatically over time (like service + outages), but instead indicate that something is fundamentally wrong + with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string image: - description: Image is the current image used in the AzureMachinePool. When the spec image is nil, this image is populated with the details of the defaulted Azure Marketplace "capi" offer. + description: Image is the current image used in the AzureMachinePool. + When the spec image is nil, this image is populated with the details + of the defaulted Azure Marketplace "capi" offer. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the Azure + Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization that + created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image sku. + The allowed formats are Major.Minor.Build or 'latest'. Major, + Minor, and Build are decimal numbers. Specify 'latest' to + use the latest version of an image available at deploy time. + Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -4072,10 +5335,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from an Azure + Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared image + gallery that contains the image minLength: 1 type: string name: @@ -4083,24 +5348,45 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` in + the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization that + created the image. This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group containing + the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -4112,51 +5398,73 @@ spec: type: object type: object instances: - description: Instances is the VM instance status for each VM in the VMSS + description: Instances is the VM instance status for each VM in the + VMSS items: - description: AzureMachinePoolInstanceStatus provides status information for each instance in the VMSS. + description: AzureMachinePoolInstanceStatus provides status information + for each instance in the VMSS. properties: instanceID: - description: InstanceID is the identification of the Machine Instance within the VMSS + description: InstanceID is the identification of the Machine + Instance within the VMSS type: string instanceName: - description: InstanceName is the name of the Machine Instance within the VMSS + description: InstanceName is the name of the Machine Instance + within the VMSS type: string latestModelApplied: - description: LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. + description: LatestModelApplied indicates the instance is running + the most up-to-date VMSS model. A VMSS model describes the + image version the VM is running. If the instance is not running + the latest model, it means the instance may not be running + the version of Kubernetes the Machine Pool has specified and + needs to be updated. type: boolean providerID: - description: ProviderID is the provider identification of the VMSS Instance + description: ProviderID is the provider identification of the + VMSS Instance type: string provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine instance. + description: ProvisioningState is the provisioning state of + the Azure virtual machine instance. type: string version: - description: Version defines the Kubernetes version for the VM Instance + description: Version defines the Kubernetes version for the + VM Instance type: string required: - latestModelApplied type: object type: array longRunningOperationStates: - description: LongRunningOperationStates saves the state for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the state for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - name @@ -4165,7 +5473,8 @@ spec: type: object type: array provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine. + description: ProvisioningState is the provisioning state of the Azure + virtual machine. type: string ready: description: Ready is true when the provider resource is ready. @@ -4175,7 +5484,8 @@ spec: format: int32 type: integer version: - description: Version is the Kubernetes version for the current VMSS model + description: Version is the Kubernetes version for the current VMSS + model type: string type: object type: object @@ -4216,16 +5526,24 @@ spec: name: VM Size priority: 1 type: string + - description: Time duration since creation of this AzureMachinePool + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: description: AzureMachinePool is the Schema for the azuremachinepools API. 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' + 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' + 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 @@ -4235,11 +5553,19 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object identity: default: None - description: Identity is the type of identity used for the Virtual Machine Scale Set. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the Virtual + Machine Scale Set. The type 'SystemAssigned' is an implicitly created + identity. The generated identity will be assigned a Subscription + contributor role. The type 'UserAssigned' is a standalone Azure + resource provided by the user and assigned to the VM enum: - None - SystemAssigned @@ -4249,18 +5575,35 @@ spec: description: Location is the Azure region location e.g. westus2 type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' + description: 'NodeDrainTimeout is the total amount of time that the + controller will spend on draining a node. The default value is 0, + meaning that the node can be drained without any time limitations. + NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' + type: string + orchestrationMode: + default: Uniform + description: OrchestrationMode specifies the orchestration mode for + the Virtual Machine Scale Set + enum: + - Flexible + - Uniform type: string providerID: - description: ProviderID is the identification ID of the Virtual Machine Scale Set + description: ProviderID is the identification ID of the Virtual Machine + Scale Set type: string providerIDList: - description: ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. + description: ProviderIDList are the identification IDs of machine + instances provided by the provider. This field must match the provider + IDs as seen on the node objects corresponding to a machine pool's + machine instances. items: type: string type: array roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string strategy: default: @@ -4269,14 +5612,19 @@ spec: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate - description: The deployment strategy to use to replace existing AzureMachinePoolMachines with new ones. + description: The deployment strategy to use to replace existing AzureMachinePoolMachines + with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate. + description: Rolling update config params. Present only if MachineDeploymentStrategyType + = RollingUpdate. properties: deletePolicy: default: Oldest - description: DeletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. Valid values are "Random, "Newest", "Oldest" When no value is supplied, the default is Oldest + description: DeletePolicy defines the policy used by the MachineDeployment + to identify nodes to delete when downscaling. Valid values + are "Random, "Newest", "Oldest" When no value is supplied, + the default is Oldest enum: - Random - Newest @@ -4287,33 +5635,60 @@ spec: - type: integer - type: string default: 1 - description: 'The maximum number of machines that can be scheduled above the desired number of machines. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 1. Example: when this is set to 30%, the new MachineSet can be scaled up immediately when the rolling update starts, such that the total number of old and new machines do not exceed 130% of desired machines. Once old machines have been killed, new MachineSet can be scaled up further, ensuring that total number of machines running at any time during the update is at most 130% of desired machines.' + description: 'The maximum number of machines that can be scheduled + above the desired number of machines. Value can be an absolute + number (ex: 5) or a percentage of desired machines (ex: + 10%). This can not be 0 if MaxUnavailable is 0. Absolute + number is calculated from percentage by rounding up. Defaults + to 1. Example: when this is set to 30%, the new MachineSet + can be scaled up immediately when the rolling update starts, + such that the total number of old and new machines do not + exceed 130% of desired machines. Once old machines have + been killed, new MachineSet can be scaled up further, ensuring + that total number of machines running at any time during + the update is at most 130% of desired machines.' x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string default: 0 - description: 'The maximum number of machines that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 0. Example: when this is set to 30%, the old MachineSet can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MachineSet can be scaled down further, followed by scaling up the new MachineSet, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.' + description: 'The maximum number of machines that can be unavailable + during the update. Value can be an absolute number (ex: + 5) or a percentage of desired machines (ex: 10%). Absolute + number is calculated from percentage by rounding down. This + can not be 0 if MaxSurge is 0. Defaults to 0. Example: when + this is set to 30%, the old MachineSet can be scaled down + to 70% of desired machines immediately when the rolling + update starts. Once new machines are ready, old MachineSet + can be scaled down further, followed by scaling up the new + MachineSet, ensuring that the total number of machines available + at all times during the update is at least 70% of desired + machines.' x-kubernetes-int-or-string: true type: object type: default: RollingUpdate - description: Type of deployment. Currently the only supported strategy is RollingUpdate + description: Type of deployment. Currently the only supported + strategy is RollingUpdate enum: - RollingUpdate type: string type: object template: - description: Template contains the details used to build a replica virtual machine within the Machine Pool + description: Template contains the details used to build a replica + virtual machine within the Machine Pool properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: 'Deprecated: AcceleratedNetworking should be set + in the networkInterfaces field.' type: boolean dataDisks: - description: DataDisks specifies the list of data disks to be created for a Virtual Machine + description: DataDisks specifies the list of data disks to be + created for a Virtual Machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -4323,42 +5698,102 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the + data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the + data disk. This value is used to identify data disks within + the VM and therefore must be unique for each data disk + attached to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk parameters + for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to + the machine name to generate the disk name. Each disk + name will be in format _. type: string required: - diskSizeGB - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings for + a virtual machine. If not specified then Boot diagnostics (Managed) + will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings + for the virtual machine. This allows to configure capturing + serial output from the virtual machine on boot. This is + useful for debugging software based launch issues. If not + specified then Boot diagnostics (Managed) will be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the storage + account for storing the diagnostics data should be disabled + (Disabled), provisioned by Azure (Managed) or by the + user (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the user-managed + storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of the + user-managed storage account. The URI typically + will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone endpoints. + You can find the correct endpoint by looking for + the Blob Primary Endpoint in the endpoints tab in + the Azure console or with the CLI by issuing `az + storage account list --query=''[].{name: name, "resource + group": resourceGroup, "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use + during VM creation. If image details are omitted the image will + default the Azure Marketplace "capi" offer, which is based on + Ubuntu. properties: computeGallery: - description: ComputeGallery specifies an image to use from the Azure Compute Gallery + description: ComputeGallery specifies an image to use from + the Azure Compute Gallery properties: gallery: - description: Gallery specifies the name of the compute image gallery that contains the image + description: Gallery specifies the name of the compute + image gallery that contains the image minLength: 1 type: string name: @@ -4369,15 +5804,20 @@ spec: description: Plan contains plan information. properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter minLength: 1 type: string required: @@ -4386,13 +5826,21 @@ spec: - sku type: object resourceGroup: - description: ResourceGroup specifies the resource group containing the private compute gallery. + description: ResourceGroup specifies the resource group + containing the private compute gallery. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the private compute gallery. + description: SubscriptionID is the identifier of the subscription + that contains the private compute gallery. type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an image + available at deploy time. Even if you use 'latest', + the VM image will not automatically update after deploy + time even if a new version becomes available. minLength: 1 type: string required: @@ -4404,26 +5852,40 @@ spec: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the + Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify + 'latest' to use the latest version of an image available + at deploy time. Even if you use 'latest', the VM image + will not automatically update after deploy time even + if a new version becomes available. minLength: 1 type: string required: @@ -4433,10 +5895,13 @@ spec: - version type: object sharedGallery: - description: 'SharedGallery specifies an image to use from an Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' + description: 'SharedGallery specifies an image to use from + an Azure Shared Image Gallery Deprecated: use ComputeGallery + instead.' properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -4444,24 +5909,47 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. + This is needed when the source image from which this + SIG image was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization + that created the image. This value will be used to add + a `Plan` in the API request when creating the VM/VMSS + resource. This is needed when the source image from + which this SIG image was built requires the `Plan` to + be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group + containing the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. + This is needed when the source image from which this + SIG image was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an image + available at deploy time. Even if you use 'latest', + the VM image will not automatically update after deploy + time even if a new version becomes available. minLength: 1 type: string required: @@ -4472,8 +5960,36 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network interface + configurations. If left unspecified, the VM will get a single + network interface with a single IPConfig in the subnet specified + in the cluster's node subnet field. The primary interface will + be the first networkInterface specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based + on whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize + that does not support it, Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of private + IP addresses to attach to the interface. Defaults to 1 + if not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which the + new network interface will be placed. + type: string + type: object + type: array osDisk: - description: OSDisk contains the operating system disk information for a Virtual Machine + description: OSDisk contains the operating system disk information + for a Virtual Machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -4483,10 +5999,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -4494,17 +6013,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to the + OS disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -4516,17 +6039,22 @@ spec: - osType type: object securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine or virtual + machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM properties: evictionPolicy: - description: EvictionPolicy defines the behavior of the virtual machine when it is evicted. It can be either Delete or Deallocate. + description: EvictionPolicy defines the behavior of the virtual + machine when it is evicted. It can be either Delete or Deallocate. enum: - Deallocate - Delete @@ -4535,23 +6063,30 @@ spec: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is + willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: - description: SSHPublicKey is the SSH public key string base64 encoded to add to a Virtual Machine + description: SSHPublicKey is the SSH public key string base64 + encoded to add to a Virtual Machine type: string subnetName: - description: SubnetName selects the Subnet where the VMSS will be placed + description: 'Deprecated: SubnetName should be set in the networkInterfaces + field.' type: string terminateNotificationTimeout: - description: TerminateNotificationTimeout enables or disables VMSS scheduled events termination notification with specified timeout allowed values are between 5 and 15 (mins) + description: TerminateNotificationTimeout enables or disables + VMSS scheduled events termination notification with specified + timeout allowed values are between 5 and 15 (mins) type: integer vmExtensions: - description: VMExtensions specifies a list of extensions to be added to the scale set. + description: VMExtensions specifies a list of extensions to be + added to the scale set. items: - description: VMExtension specifies the parameters for a custom VM extension. + description: VMExtension specifies the parameters for a custom + VM extension. properties: name: description: Name is the name of the extension. @@ -4559,18 +6094,22 @@ spec: protectedSettings: additionalProperties: type: string - description: ProtectedSettings is a JSON formatted protected settings for the extension. + description: ProtectedSettings is a JSON formatted protected + settings for the extension. type: object publisher: - description: Publisher is the name of the extension handler publisher. + description: Publisher is the name of the extension handler + publisher. type: string settings: additionalProperties: type: string - description: Settings is a JSON formatted public settings for the extension. + description: Settings is a JSON formatted public settings + for the extension. type: object version: - description: Version specifies the version of the script handler. + description: Version specifies the version of the script + handler. type: string required: - name @@ -4579,7 +6118,8 @@ spec: type: object type: array vmSize: - description: VMSize is the size of the Virtual Machine to build. See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes + description: VMSize is the size of the Virtual Machine to build. + See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes type: string required: - osDisk @@ -4587,12 +6127,17 @@ spec: - vmSize type: object userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachinePool. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachinePool. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -4608,26 +6153,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachinePool. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -4636,19 +6196,49 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureMessage will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a more verbose string suitable for logging and human consumption. + \n This field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string failureReason: - description: "FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller's output." + description: "FailureReason will be set in the event that there is + a terminal problem reconciling the MachinePool and will contain + a succinct value suitable for machine interpretation. \n This field + should not be set for transitive errors that a controller faces + that are expected to be fixed automatically over time (like service + outages), but instead indicate that something is fundamentally wrong + with the MachinePool's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of MachinePools can be added as + events to the MachinePool object and/or logged in the controller's + output." type: string image: - description: Image is the current image used in the AzureMachinePool. When the spec image is nil, this image is populated with the details of the defaulted Azure Marketplace "capi" offer. + description: Image is the current image used in the AzureMachinePool. + When the spec image is nil, this image is populated with the details + of the defaulted Azure Marketplace "capi" offer. properties: computeGallery: - description: ComputeGallery specifies an image to use from the Azure Compute Gallery + description: ComputeGallery specifies an image to use from the + Azure Compute Gallery properties: gallery: - description: Gallery specifies the name of the compute image gallery that contains the image + description: Gallery specifies the name of the compute image + gallery that contains the image minLength: 1 type: string name: @@ -4659,15 +6249,20 @@ spec: description: Plan contains plan information. properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string required: @@ -4676,13 +6271,20 @@ spec: - sku type: object resourceGroup: - description: ResourceGroup specifies the resource group containing the private compute gallery. + description: ResourceGroup specifies the resource group containing + the private compute gallery. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the private compute gallery. + description: SubscriptionID is the identifier of the subscription + that contains the private compute gallery. type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -4694,26 +6296,39 @@ spec: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the Azure + Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization that + created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image sku. + The allowed formats are Major.Minor.Build or 'latest'. Major, + Minor, and Build are decimal numbers. Specify 'latest' to + use the latest version of an image available at deploy time. + Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -4723,10 +6338,12 @@ spec: - version type: object sharedGallery: - description: 'SharedGallery specifies an image to use from an Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' + description: 'SharedGallery specifies an image to use from an + Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared image + gallery that contains the image minLength: 1 type: string name: @@ -4734,24 +6351,45 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` in + the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization that + created the image. This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group containing + the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -4763,51 +6401,73 @@ spec: type: object type: object instances: - description: Instances is the VM instance status for each VM in the VMSS + description: Instances is the VM instance status for each VM in the + VMSS items: - description: AzureMachinePoolInstanceStatus provides status information for each instance in the VMSS. + description: AzureMachinePoolInstanceStatus provides status information + for each instance in the VMSS. properties: instanceID: - description: InstanceID is the identification of the Machine Instance within the VMSS + description: InstanceID is the identification of the Machine + Instance within the VMSS type: string instanceName: - description: InstanceName is the name of the Machine Instance within the VMSS + description: InstanceName is the name of the Machine Instance + within the VMSS type: string latestModelApplied: - description: LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. + description: LatestModelApplied indicates the instance is running + the most up-to-date VMSS model. A VMSS model describes the + image version the VM is running. If the instance is not running + the latest model, it means the instance may not be running + the version of Kubernetes the Machine Pool has specified and + needs to be updated. type: boolean providerID: - description: ProviderID is the provider identification of the VMSS Instance + description: ProviderID is the provider identification of the + VMSS Instance type: string provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine instance. + description: ProvisioningState is the provisioning state of + the Azure virtual machine instance. type: string version: - description: Version defines the Kubernetes version for the VM Instance + description: Version defines the Kubernetes version for the + VM Instance type: string required: - latestModelApplied type: object type: array longRunningOperationStates: - description: LongRunningOperationStates saves the state for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the state for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -4817,7 +6477,8 @@ spec: type: object type: array provisioningState: - description: ProvisioningState is the provisioning state of the Azure virtual machine. + description: ProvisioningState is the provisioning state of the Azure + virtual machine. type: string ready: description: Ready is true when the provider resource is ready. @@ -4827,7 +6488,8 @@ spec: format: int32 type: integer version: - description: Version is the Kubernetes version for the current VMSS model + description: Version is the Kubernetes version for the current VMSS + model type: string type: object type: object @@ -4904,10 +6566,14 @@ spec: description: AzureMachine is the Schema for the azuremachines API. 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' + 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' + 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 @@ -4915,15 +6581,24 @@ spec: description: AzureMachineSpec defines the desired state of AzureMachine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure accelerated + networking. If omitted, it will be set based on whether the requested + VMSize supports accelerated networking. If AcceleratedNetworking + is set to true with a VMSize that does not support it, Azure will + return an error. type: boolean additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create dynamic + public ips for machines where this value is true. type: boolean availabilityZone: description: 'Deprecated: use FailureDomain instead' @@ -4934,28 +6609,37 @@ spec: type: string type: object dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used to add + one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used to + add one or more data disks to the machine. properties: cachingType: type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the data + disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the data + disk. This value is used to identify data disks within the + VM and therefore must be unique for each data disk attached + to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options for + a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -4964,7 +6648,9 @@ spec: - storageAccountType type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to the + machine name to generate the disk name. Each disk name will + be in format _. type: string required: - diskSizeGB @@ -4972,46 +6658,71 @@ spec: type: object type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure which + is required for some CNI's to send traffic from a pods on one machine + to another. This is required for IpV6 with Calico in combination + with User Defined Routes (set by the Azure Cloud Controller manager). + Default is false for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster API. This + relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the virtual + machine. The type 'SystemAssigned' is an implicitly created identity. + The generated identity will be assigned a Subscription contributor + role. The type 'UserAssigned' is a standalone Azure resource provided + by the user and assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use during + VM creation. If image details are omitted the image will default + the Azure Marketplace "capi" offer, which is based on Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the Azure + Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization that + created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image sku. + The allowed formats are Major.Minor.Build or 'latest'. Major, + Minor, and Build are decimal numbers. Specify 'latest' to + use the latest version of an image available at deploy time. + Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5021,10 +6732,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from an Azure + Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared image + gallery that contains the image minLength: 1 type: string name: @@ -5032,15 +6745,22 @@ spec: minLength: 1 type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group containing + the shared image gallery minLength: 1 type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5052,18 +6772,23 @@ spec: type: object type: object location: - description: 'Deprecated: to support old clients, will be removed in v1alpha4/v1beta1' + description: 'Deprecated: to support old clients, will be removed + in v1alpha4/v1beta1' type: string osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating system + disk of the machine properties: cachingType: type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -5074,13 +6799,16 @@ spec: format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options for + a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -5096,38 +6824,51 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified by the + cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption should + be enabled or disabled for a virtual machine or virtual machine + scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM. + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM. properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is willing + to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachine. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -5153,7 +6894,8 @@ spec: description: The node address. type: string type: - description: Node address type, one of Hostname, ExternalIP or InternalIP. + description: Node address type, one of Hostname, ExternalIP + or InternalIP. type: string required: - address @@ -5163,26 +6905,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachine. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -5190,16 +6947,41 @@ spec: type: object type: array failureMessage: - description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorMessage will be set in the event that there is + a terminal problem reconciling the Machine and will contain a more + verbose string suitable for logging and human consumption. \n This + field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the Machine's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of Machines can be added as events + to the Machine object and/or logged in the controller's output." type: string failureReason: - description: "ErrorReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorReason will be set in the event that there is a + terminal problem reconciling the Machine and will contain a succinct + value suitable for machine interpretation. \n This field should + not be set for transitive errors that a controller faces that are + expected to be fixed automatically over time (like service outages), + but instead indicate that something is fundamentally wrong with + the Machine's spec or the configuration of the controller, and that + manual intervention is required. Examples of terminal errors would + be invalid combinations of settings in the spec, values that are + unsupported by the controller, or the responsible controller itself + being critically misconfigured. \n Any transient errors that occur + during the reconciliation of Machines can be added as events to + the Machine object and/or logged in the controller's output." type: string ready: description: Ready is true when the provider resource is ready. type: boolean vmState: - description: VMState is the provisioning state of the Azure virtual machine. + description: VMState is the provisioning state of the Azure virtual + machine. type: string type: object type: object @@ -5242,10 +7024,14 @@ spec: description: AzureMachine is the Schema for the azuremachines API. 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' + 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' + 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 @@ -5253,20 +7039,31 @@ spec: description: AzureMachineSpec defines the desired state of AzureMachine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure accelerated + networking. If omitted, it will be set based on whether the requested + VMSize supports accelerated networking. If AcceleratedNetworking + is set to true with a VMSize that does not support it, Azure will + return an error. type: boolean additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create dynamic + public ips for machines where this value is true. type: boolean dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used to add + one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used to + add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -5276,28 +7073,37 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the data + disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the data + disk. This value is used to identify data disks within the + VM and therefore must be unique for each data disk attached + to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk parameters + for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to the + machine name to generate the disk name. Each disk name will + be in format _. type: string required: - diskSizeGB @@ -5305,46 +7111,71 @@ spec: type: object type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure which + is required for some CNI's to send traffic from a pods on one machine + to another. This is required for IpV6 with Calico in combination + with User Defined Routes (set by the Azure Cloud Controller manager). + Default is false for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster API. This + relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the virtual + machine. The type 'SystemAssigned' is an implicitly created identity. + The generated identity will be assigned a Subscription contributor + role. The type 'UserAssigned' is a standalone Azure resource provided + by the user and assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use during + VM creation. If image details are omitted the image will default + the Azure Marketplace "capi" offer, which is based on Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the Azure + Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization that + created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image sku. + The allowed formats are Major.Minor.Build or 'latest'. Major, + Minor, and Build are decimal numbers. Specify 'latest' to + use the latest version of an image available at deploy time. + Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5354,10 +7185,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from an Azure + Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared image + gallery that contains the image minLength: 1 type: string name: @@ -5365,24 +7198,45 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` in + the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization that + created the image. This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group containing + the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5394,7 +7248,8 @@ spec: type: object type: object osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating system + disk of the machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -5404,10 +7259,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -5415,17 +7273,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to the OS + disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -5437,26 +7299,34 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified by the + cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption should + be enabled or disabled for a virtual machine or virtual machine + scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is willing + to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -5466,12 +7336,17 @@ spec: description: SubnetName selects the Subnet where the VM will be placed type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachine. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -5496,7 +7371,8 @@ spec: description: The node address. type: string type: - description: Node address type, one of Hostname, ExternalIP or InternalIP. + description: Node address type, one of Hostname, ExternalIP + or InternalIP. type: string required: - address @@ -5506,26 +7382,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachine. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - status @@ -5533,30 +7424,64 @@ spec: type: object type: array failureMessage: - description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorMessage will be set in the event that there is + a terminal problem reconciling the Machine and will contain a more + verbose string suitable for logging and human consumption. \n This + field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the Machine's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of Machines can be added as events + to the Machine object and/or logged in the controller's output." type: string failureReason: - description: "ErrorReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorReason will be set in the event that there is a + terminal problem reconciling the Machine and will contain a succinct + value suitable for machine interpretation. \n This field should + not be set for transitive errors that a controller faces that are + expected to be fixed automatically over time (like service outages), + but instead indicate that something is fundamentally wrong with + the Machine's spec or the configuration of the controller, and that + manual intervention is required. Examples of terminal errors would + be invalid combinations of settings in the spec, values that are + unsupported by the controller, or the responsible controller itself + being critically misconfigured. \n Any transient errors that occur + during the reconciliation of Machines can be added as events to + the Machine object and/or logged in the controller's output." type: string longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - name @@ -5568,7 +7493,8 @@ spec: description: Ready is true when the provider resource is ready. type: boolean vmState: - description: VMState is the provisioning state of the Azure virtual machine. + description: VMState is the provisioning state of the Azure virtual + machine. type: string type: object type: object @@ -5611,16 +7537,24 @@ spec: name: VM Size priority: 1 type: string + - description: Time duration since creation of this AzureMachine + jsonPath: .metadata.creationTimestamp + name: Age + type: date name: v1beta1 schema: openAPIV3Schema: description: AzureMachine is the Schema for the azuremachines API. 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' + 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' + 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 @@ -5628,27 +7562,39 @@ spec: description: AzureMachineSpec defines the desired state of AzureMachine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: 'Deprecated: AcceleratedNetworking should be set in the + networkInterfaces field.' type: boolean additionalCapabilities: - description: AdditionalCapabilities specifies additional capabilities enabled or disabled on the virtual machine. + description: AdditionalCapabilities specifies additional capabilities + enabled or disabled on the virtual machine. properties: ultraSSDEnabled: - description: UltraSSDEnabled enables or disables Azure UltraSSD capability for the virtual machine. Defaults to true if Ultra SSD data disks are specified, otherwise it doesn't set the capability on the VM. + description: UltraSSDEnabled enables or disables Azure UltraSSD + capability for the virtual machine. Defaults to true if Ultra + SSD data disks are specified, otherwise it doesn't set the capability + on the VM. type: boolean type: object additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to add to an + instance, in addition to the ones added by default by the Azure + provider. If both the AzureCluster and the AzureMachine specify + the same tag name with different values, the AzureMachine's value + takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create dynamic + public ips for machines where this value is true. type: boolean dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used to add + one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are used to + add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -5658,61 +7604,130 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign to the data + disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of the data + disk. This value is used to identify data disks within the + VM and therefore must be unique for each data disk attached + to a VM. The value must be between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk parameters + for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended to the + machine name to generate the disk name. Each disk name will + be in format _. type: string required: - diskSizeGB - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings for a + virtual machine. If not specified then Boot diagnostics (Managed) + will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings for + the virtual machine. This allows to configure capturing serial + output from the virtual machine on boot. This is useful for + debugging software based launch issues. If not specified then + Boot diagnostics (Managed) will be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the storage + account for storing the diagnostics data should be disabled + (Disabled), provisioned by Azure (Managed) or by the user + (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the user-managed + storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of the user-managed + storage account. The URI typically will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone endpoints. + You can find the correct endpoint by looking for the + Blob Primary Endpoint in the endpoints tab in the Azure + console or with the CLI by issuing `az storage account + list --query=''[].{name: name, "resource group": resourceGroup, + "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object dnsServers: - description: DNSServers adds a list of DNS Server IP addresses to the VM NICs. + description: DNSServers adds a list of DNS Server IP addresses to + the VM NICs. items: type: string type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure which + is required for some CNI's to send traffic from a pods on one machine + to another. This is required for IpV6 with Calico in combination + with User Defined Routes (set by the Azure Cloud Controller manager). + Default is false for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster API. This + relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the virtual + machine. The type 'SystemAssigned' is an implicitly created identity. + The generated identity will be assigned a Subscription contributor + role. The type 'UserAssigned' is a standalone Azure resource provided + by the user and assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image to use during + VM creation. If image details are omitted the image will default + the Azure Marketplace "capi" offer, which is based on Ubuntu. properties: computeGallery: - description: ComputeGallery specifies an image to use from the Azure Compute Gallery + description: ComputeGallery specifies an image to use from the + Azure Compute Gallery properties: gallery: - description: Gallery specifies the name of the compute image gallery that contains the image + description: Gallery specifies the name of the compute image + gallery that contains the image minLength: 1 type: string name: @@ -5723,15 +7738,20 @@ spec: description: Plan contains plan information. properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such + as a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string required: @@ -5740,13 +7760,20 @@ spec: - sku type: object resourceGroup: - description: ResourceGroup specifies the resource group containing the private compute gallery. + description: ResourceGroup specifies the resource group containing + the private compute gallery. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the private compute gallery. + description: SubscriptionID is the identifier of the subscription + that contains the private compute gallery. type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5758,26 +7785,39 @@ spec: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from the Azure + Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization that + created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is published + by a third party publisher and a Plan will be generated + for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image sku. + The allowed formats are Major.Minor.Build or 'latest'. Major, + Minor, and Build are decimal numbers. Specify 'latest' to + use the latest version of an image available at deploy time. + Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5787,10 +7827,12 @@ spec: - version type: object sharedGallery: - description: 'SharedGallery specifies an image to use from an Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' + description: 'SharedGallery specifies an image to use from an + Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared image + gallery that contains the image minLength: 1 type: string name: @@ -5798,24 +7840,45 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of related + images created by the publisher. For example, UbuntuServer, + WindowsServer This value will be used to add a `Plan` in + the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization that + created the image. This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource group containing + the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, such as + a major release of a distribution. For example, 18.04-LTS, + 2019-Datacenter This value will be used to add a `Plan` + in the API request when creating the VM/VMSS resource. This + is needed when the source image from which this SIG image + was built requires the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the subscription + that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the marketplace + image. The allowed formats are Major.Minor.Build or 'latest'. + Major, Minor, and Build are decimal numbers. Specify 'latest' + to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. minLength: 1 type: string required: @@ -5826,8 +7889,36 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network interface + configurations. If left unspecified, the VM will get a single network + interface with a single IPConfig in the subnet specified in the + cluster's node subnet field. The primary interface will be the first + networkInterface specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based on + whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize that + does not support it, Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of private + IP addresses to attach to the interface. Defaults to 1 if + not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which the new + network interface will be placed. + type: string + type: object + type: array osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating system + disk of the machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -5837,10 +7928,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk settings + for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set to "Local" + See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -5848,17 +7942,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to the OS + disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk encryption + options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -5870,23 +7968,31 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified by the + cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any valid GUID. + If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile settings + for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption should + be enabled or disabled for a virtual machine or virtual machine + scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the Machine + should use a Spot VM properties: evictionPolicy: - description: EvictionPolicy defines the behavior of the virtual machine when it is evicted. It can be either Delete or Deallocate. + description: EvictionPolicy defines the behavior of the virtual + machine when it is evicted. It can be either Delete or Deallocate. enum: - Deallocate - Delete @@ -5895,31 +8001,40 @@ spec: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user is willing + to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: type: string subnetName: - description: SubnetName selects the Subnet where the VM will be placed + description: 'Deprecated: SubnetName should be set in the networkInterfaces + field.' type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone Azure + identities provided by the user The lifecycle of a user-assigned + identity is managed separately from the lifecycle of the AzureMachine. + See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned identities + provided by the user to be assigned to Azure resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of the user-assigned + Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID type: object type: array vmExtensions: - description: VMExtensions specifies a list of extensions to be added to the virtual machine. + description: VMExtensions specifies a list of extensions to be added + to the virtual machine. items: - description: VMExtension specifies the parameters for a custom VM extension. + description: VMExtension specifies the parameters for a custom VM + extension. properties: name: description: Name is the name of the extension. @@ -5927,15 +8042,18 @@ spec: protectedSettings: additionalProperties: type: string - description: ProtectedSettings is a JSON formatted protected settings for the extension. + description: ProtectedSettings is a JSON formatted protected + settings for the extension. type: object publisher: - description: Publisher is the name of the extension handler publisher. + description: Publisher is the name of the extension handler + publisher. type: string settings: additionalProperties: type: string - description: Settings is a JSON formatted public settings for the extension. + description: Settings is a JSON formatted public settings for + the extension. type: object version: description: Version specifies the version of the script handler. @@ -5965,7 +8083,8 @@ spec: description: The node address. type: string type: - description: Node address type, one of Hostname, ExternalIP or InternalIP. + description: Node address type, one of Hostname, ExternalIP + or InternalIP. type: string required: - address @@ -5975,26 +8094,41 @@ spec: conditions: description: Conditions defines current service state of the AzureMachine. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -6003,30 +8137,64 @@ spec: type: object type: array failureMessage: - description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorMessage will be set in the event that there is + a terminal problem reconciling the Machine and will contain a more + verbose string suitable for logging and human consumption. \n This + field should not be set for transitive errors that a controller + faces that are expected to be fixed automatically over time (like + service outages), but instead indicate that something is fundamentally + wrong with the Machine's spec or the configuration of the controller, + and that manual intervention is required. Examples of terminal errors + would be invalid combinations of settings in the spec, values that + are unsupported by the controller, or the responsible controller + itself being critically misconfigured. \n Any transient errors that + occur during the reconciliation of Machines can be added as events + to the Machine object and/or logged in the controller's output." type: string failureReason: - description: "ErrorReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorReason will be set in the event that there is a + terminal problem reconciling the Machine and will contain a succinct + value suitable for machine interpretation. \n This field should + not be set for transitive errors that a controller faces that are + expected to be fixed automatically over time (like service outages), + but instead indicate that something is fundamentally wrong with + the Machine's spec or the configuration of the controller, and that + manual intervention is required. Examples of terminal errors would + be invalid combinations of settings in the spec, values that are + unsupported by the controller, or the responsible controller itself + being critically misconfigured. \n Any transient errors that occur + during the reconciliation of Machines can be added as events to + the Machine object and/or logged in the controller's output." type: string longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -6039,7 +8207,8 @@ spec: description: Ready is true when the provider resource is ready. type: boolean vmState: - description: VMState is the provisioning state of the Azure virtual machine. + description: VMState is the provisioning state of the Azure virtual + machine. type: string type: object type: object @@ -6084,13 +8253,18 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: AzureMachineTemplate is the Schema for the azuremachinetemplates API. + description: AzureMachineTemplate is the Schema for the azuremachinetemplates + API. 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' + 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' + 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 @@ -6098,21 +8272,32 @@ spec: description: AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate. properties: template: - description: AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template. + description: AzureMachineTemplateResource describes the data needed + to create an AzureMachine from a template. properties: spec: - description: Spec is the specification of the desired behavior of the machine. + description: Spec is the specification of the desired behavior + of the machine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based + on whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize that + does not support it, Azure will return an error. type: boolean additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to + add to an instance, in addition to the ones added by default + by the Azure provider. If both the AzureCluster and the + AzureMachine specify the same tag name with different values, + the AzureMachine's value takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create + dynamic public ips for machines where this value is true. type: boolean availabilityZone: description: 'Deprecated: use FailureDomain instead' @@ -6123,28 +8308,38 @@ spec: type: string type: object dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are + used to add one or more data disks to the machine. properties: cachingType: type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign + to the data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of + the data disk. This value is used to identify data + disks within the VM and therefore must be unique for + each data disk attached to a VM. The value must be + between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options + for a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines + disk encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -6153,7 +8348,9 @@ spec: - storageAccountType type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended + to the machine name to generate the disk name. Each + disk name will be in format _. type: string required: - diskSizeGB @@ -6161,46 +8358,76 @@ spec: type: object type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure + which is required for some CNI's to send traffic from a + pods on one machine to another. This is required for IpV6 + with Calico in combination with User Defined Routes (set + by the Azure Cloud Controller manager). Default is false + for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster + API. This relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the + virtual machine. The type 'SystemAssigned' is an implicitly + created identity. The generated identity will be assigned + a Subscription contributor role. The type 'UserAssigned' + is a standalone Azure resource provided by the user and + assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image + to use during VM creation. If image details are omitted + the image will default the Azure Marketplace "capi" offer, + which is based on Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from + the Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is + published by a third party publisher and a Plan + will be generated for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an + image available at deploy time. Even if you use + 'latest', the VM image will not automatically update + after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6210,10 +8437,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from + an Azure Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -6221,15 +8450,24 @@ spec: minLength: 1 type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource + group containing the shared image gallery minLength: 1 type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the + subscription that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the + marketplace image. The allowed formats are Major.Minor.Build + or 'latest'. Major, Minor, and Build are decimal + numbers. Specify 'latest' to use the latest version + of an image available at deploy time. Even if you + use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6241,18 +8479,23 @@ spec: type: object type: object location: - description: 'Deprecated: to support old clients, will be removed in v1alpha4/v1beta1' + description: 'Deprecated: to support old clients, will be + removed in v1alpha4/v1beta1' type: string osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating + system disk of the machine properties: cachingType: type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk + settings for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set + to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -6263,13 +8506,16 @@ spec: format: int32 type: integer managedDisk: - description: ManagedDisk defines the managed disk options for a VM. + description: ManagedDisk defines the managed disk options + for a VM. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -6285,38 +8531,53 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified + by the cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any + valid GUID. If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile + settings for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine + or virtual machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM. + description: SpotVMOptions allows the ability to specify the + Machine should use a Spot VM. properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user + is willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone + Azure identities provided by the user The lifecycle of a + user-assigned identity is managed separately from the lifecycle + of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned + identities provided by the user to be assigned to Azure + resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of + the user-assigned Identity, the format of an identity + is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -6342,13 +8603,18 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: AzureMachineTemplate is the Schema for the azuremachinetemplates API. + description: AzureMachineTemplate is the Schema for the azuremachinetemplates + API. 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' + 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' + 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 @@ -6356,26 +8622,39 @@ spec: description: AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate. properties: template: - description: AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template. + description: AzureMachineTemplateResource describes the data needed + to create an AzureMachine from a template. properties: spec: - description: Spec is the specification of the desired behavior of the machine. + description: Spec is the specification of the desired behavior + of the machine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: AcceleratedNetworking enables or disables Azure + accelerated networking. If omitted, it will be set based + on whether the requested VMSize supports accelerated networking. + If AcceleratedNetworking is set to true with a VMSize that + does not support it, Azure will return an error. type: boolean additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to + add to an instance, in addition to the ones added by default + by the Azure provider. If both the AzureCluster and the + AzureMachine specify the same tag name with different values, + the AzureMachine's value takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create + dynamic public ips for machines where this value is true. type: boolean dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are + used to add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -6385,28 +8664,38 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign + to the data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of + the data disk. This value is used to identify data + disks within the VM and therefore must be unique for + each data disk attached to a VM. The value must be + between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk + parameters for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines + disk encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended + to the machine name to generate the disk name. Each + disk name will be in format _. type: string required: - diskSizeGB @@ -6414,46 +8703,76 @@ spec: type: object type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure + which is required for some CNI's to send traffic from a + pods on one machine to another. This is required for IpV6 + with Calico in combination with User Defined Routes (set + by the Azure Cloud Controller manager). Default is false + for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster + API. This relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the + virtual machine. The type 'SystemAssigned' is an implicitly + created identity. The generated identity will be assigned + a Subscription contributor role. The type 'UserAssigned' + is a standalone Azure resource provided by the user and + assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image + to use during VM creation. If image details are omitted + the image will default the Azure Marketplace "capi" offer, + which is based on Ubuntu. properties: id: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from + the Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is + published by a third party publisher and a Plan + will be generated for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an + image available at deploy time. Even if you use + 'latest', the VM image will not automatically update + after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6463,10 +8782,12 @@ spec: - version type: object sharedGallery: - description: SharedGallery specifies an image to use from an Azure Shared Image Gallery + description: SharedGallery specifies an image to use from + an Azure Shared Image Gallery properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -6474,24 +8795,50 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization + that created the image. This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource + group containing the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the + subscription that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the + marketplace image. The allowed formats are Major.Minor.Build + or 'latest'. Major, Minor, and Build are decimal + numbers. Specify 'latest' to use the latest version + of an image available at deploy time. Even if you + use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6503,7 +8850,8 @@ spec: type: object type: object osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating + system disk of the machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -6513,10 +8861,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk + settings for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set + to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -6524,17 +8875,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to + the OS disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -6546,41 +8901,57 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified + by the cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any + valid GUID. If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile + settings for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine + or virtual machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the + Machine should use a Spot VM properties: maxPrice: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user + is willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: type: string subnetName: - description: SubnetName selects the Subnet where the VM will be placed + description: SubnetName selects the Subnet where the VM will + be placed type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone + Azure identities provided by the user The lifecycle of a + user-assigned identity is managed separately from the lifecycle + of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned + identities provided by the user to be assigned to Azure + resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of + the user-assigned Identity, the format of an identity + is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID @@ -6605,13 +8976,18 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: AzureMachineTemplate is the Schema for the azuremachinetemplates API. + description: AzureMachineTemplate is the Schema for the azuremachinetemplates + API. 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' + 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' + 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 @@ -6619,47 +8995,89 @@ spec: description: AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate. properties: template: - description: AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template. + description: AzureMachineTemplateResource describes the data needed + to create an AzureMachine from a template. properties: metadata: - description: "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta. \n ObjectMeta is embedded in `Machine.Spec`, `MachineDeployment.Template` and `MachineSet.Template`, which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases and read-only fields which end up in the generated CRD validation, having it as a subset simplifies the API and some issues that can impact user experience. \n During the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054) for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs, specifically `spec.metadata.creationTimestamp in body must be of type string: \"null\"`. The investigation showed that `controller-tools@v2` behaves differently than its previous version when handling types from [metav1](k8s.io/apimachinery/pkg/apis/meta/v1) package. \n In more details, we found that embedded (non-top level) types that embedded `metav1.ObjectMeta` had validation properties, including for `creationTimestamp` (metav1.Time). The `metav1.Time` type specifies a custom json marshaller that, when IsZero() is true, returns `null` which breaks validation because the field isn't marked as nullable. \n In future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited." + description: "ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must create. This + is a copy of customizable fields from metav1.ObjectMeta. \n + ObjectMeta is embedded in `Machine.Spec`, `MachineDeployment.Template` + and `MachineSet.Template`, which are not top-level Kubernetes + objects. Given that metav1.ObjectMeta has lots of special cases + and read-only fields which end up in the generated CRD validation, + having it as a subset simplifies the API and some issues that + can impact user experience. \n During the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054) + for v1alpha2, we noticed a failure would occur running Cluster + API test suite against the new CRDs, specifically `spec.metadata.creationTimestamp + in body must be of type string: \"null\"`. The investigation + showed that `controller-tools@v2` behaves differently than its + previous version when handling types from [metav1](k8s.io/apimachinery/pkg/apis/meta/v1) + package. \n In more details, we found that embedded (non-top + level) types that embedded `metav1.ObjectMeta` had validation + properties, including for `creationTimestamp` (metav1.Time). + The `metav1.Time` type specifies a custom json marshaller that, + when IsZero() is true, returns `null` which breaks validation + because the field isn't marked as nullable. \n In future versions, + controller-tools@v2 might allow overriding the type and validation + for embedded types. When that happens, this hack should be revisited." properties: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map + stored with a resource that may be set by external tools + to store and retrieve arbitrary metadata. They are not queryable + and should be preserved when modifying objects. More info: + http://kubernetes.io/docs/user-guide/annotations' type: object labels: additionalProperties: type: string - description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + description: 'Map of string keys and values that can be used + to organize and categorize (scope and select) objects. May + match selectors of replication controllers and services. + More info: http://kubernetes.io/docs/user-guide/labels' type: object type: object spec: - description: Spec is the specification of the desired behavior of the machine. + description: Spec is the specification of the desired behavior + of the machine. properties: acceleratedNetworking: - description: AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error. + description: 'Deprecated: AcceleratedNetworking should be + set in the networkInterfaces field.' type: boolean additionalCapabilities: - description: AdditionalCapabilities specifies additional capabilities enabled or disabled on the virtual machine. + description: AdditionalCapabilities specifies additional capabilities + enabled or disabled on the virtual machine. properties: ultraSSDEnabled: - description: UltraSSDEnabled enables or disables Azure UltraSSD capability for the virtual machine. Defaults to true if Ultra SSD data disks are specified, otherwise it doesn't set the capability on the VM. + description: UltraSSDEnabled enables or disables Azure + UltraSSD capability for the virtual machine. Defaults + to true if Ultra SSD data disks are specified, otherwise + it doesn't set the capability on the VM. type: boolean type: object additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine's value takes precedence. + description: AdditionalTags is an optional set of tags to + add to an instance, in addition to the ones added by default + by the Azure provider. If both the AzureCluster and the + AzureMachine specify the same tag name with different values, + the AzureMachine's value takes precedence. type: object allocatePublicIP: - description: AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true. + description: AllocatePublicIP allows the ability to create + dynamic public ips for machines where this value is true. type: boolean dataDisks: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine + description: DataDisk specifies the parameters that are used + to add one or more data disks to the machine items: - description: DataDisk specifies the parameters that are used to add one or more data disks to the machine. + description: DataDisk specifies the parameters that are + used to add one or more data disks to the machine. properties: cachingType: description: CachingType specifies the caching requirements. @@ -6669,61 +9087,137 @@ spec: - ReadWrite type: string diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the data disk. + description: DiskSizeGB is the size in GB to assign + to the data disk. format: int32 type: integer lun: - description: Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63. + description: Lun Specifies the logical unit number of + the data disk. This value is used to identify data + disks within the VM and therefore must be unique for + each data disk attached to a VM. The value must be + between 0 and 63. format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the data disk. + description: ManagedDisk specifies the Managed Disk + parameters for the data disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines + disk encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: type: string type: object nameSuffix: - description: NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. + description: NameSuffix is the suffix to be appended + to the machine name to generate the disk name. Each + disk name will be in format _. type: string required: - diskSizeGB - nameSuffix type: object type: array + diagnostics: + description: Diagnostics specifies the diagnostics settings + for a virtual machine. If not specified then Boot diagnostics + (Managed) will be enabled. + properties: + boot: + description: Boot configures the boot diagnostics settings + for the virtual machine. This allows to configure capturing + serial output from the virtual machine on boot. This + is useful for debugging software based launch issues. + If not specified then Boot diagnostics (Managed) will + be enabled. + properties: + storageAccountType: + description: StorageAccountType determines if the + storage account for storing the diagnostics data + should be disabled (Disabled), provisioned by Azure + (Managed) or by the user (UserManaged). + enum: + - Managed + - UserManaged + - Disabled + type: string + userManaged: + description: UserManaged provides a reference to the + user-managed storage account. + properties: + storageAccountURI: + description: 'StorageAccountURI is the URI of + the user-managed storage account. The URI typically + will be `https://.blob.core.windows.net/` + but may differ if you are using Azure DNS zone + endpoints. You can find the correct endpoint + by looking for the Blob Primary Endpoint in + the endpoints tab in the Azure console or with + the CLI by issuing `az storage account list + --query=''[].{name: name, "resource group": + resourceGroup, "blob endpoint": primaryEndpoints.blob}''`.' + maxLength: 1024 + pattern: ^https:// + type: string + required: + - storageAccountURI + type: object + required: + - storageAccountType + type: object + type: object dnsServers: - description: DNSServers adds a list of DNS Server IP addresses to the VM NICs. + description: DNSServers adds a list of DNS Server IP addresses + to the VM NICs. items: type: string type: array enableIPForwarding: - description: EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI's to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled. + description: EnableIPForwarding enables IP Forwarding in Azure + which is required for some CNI's to send traffic from a + pods on one machine to another. This is required for IpV6 + with Calico in combination with User Defined Routes (set + by the Azure Cloud Controller manager). Default is false + for disabled. type: boolean failureDomain: - description: FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone + description: FailureDomain is the failure domain unique identifier + this Machine should be attached to, as defined in Cluster + API. This relates to an Azure Availability Zone type: string identity: default: None - description: Identity is the type of identity used for the virtual machine. The type 'SystemAssigned' is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type 'UserAssigned' is a standalone Azure resource provided by the user and assigned to the VM + description: Identity is the type of identity used for the + virtual machine. The type 'SystemAssigned' is an implicitly + created identity. The generated identity will be assigned + a Subscription contributor role. The type 'UserAssigned' + is a standalone Azure resource provided by the user and + assigned to the VM enum: - None - SystemAssigned - UserAssigned type: string image: - description: Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace "capi" offer, which is based on Ubuntu. + description: Image is used to provide details of an image + to use during VM creation. If image details are omitted + the image will default the Azure Marketplace "capi" offer, + which is based on Ubuntu. properties: computeGallery: - description: ComputeGallery specifies an image to use from the Azure Compute Gallery + description: ComputeGallery specifies an image to use + from the Azure Compute Gallery properties: gallery: - description: Gallery specifies the name of the compute image gallery that contains the image + description: Gallery specifies the name of the compute + image gallery that contains the image minLength: 1 type: string name: @@ -6734,15 +9228,20 @@ spec: description: Plan contains plan information. properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group + of related images created by the publisher. + For example, UbuntuServer, WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For + example, 18.04-LTS, 2019-Datacenter minLength: 1 type: string required: @@ -6751,13 +9250,22 @@ spec: - sku type: object resourceGroup: - description: ResourceGroup specifies the resource group containing the private compute gallery. + description: ResourceGroup specifies the resource + group containing the private compute gallery. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the private compute gallery. + description: SubscriptionID is the identifier of the + subscription that contains the private compute gallery. type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the + marketplace image. The allowed formats are Major.Minor.Build + or 'latest'. Major, Minor, and Build are decimal + numbers. Specify 'latest' to use the latest version + of an image available at deploy time. Even if you + use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6769,26 +9277,41 @@ spec: description: ID specifies an image to use by ID type: string marketplace: - description: Marketplace specifies an image to use from the Azure Marketplace + description: Marketplace specifies an image to use from + the Azure Marketplace properties: offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer minLength: 1 type: string publisher: - description: Publisher is the name of the organization that created the image + description: Publisher is the name of the organization + that created the image minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter minLength: 1 type: string thirdPartyImage: default: false - description: ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it. + description: ThirdPartyImage indicates the image is + published by a third party publisher and a Plan + will be generated for it. type: boolean version: - description: Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of an image + sku. The allowed formats are Major.Minor.Build or + 'latest'. Major, Minor, and Build are decimal numbers. + Specify 'latest' to use the latest version of an + image available at deploy time. Even if you use + 'latest', the VM image will not automatically update + after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6798,10 +9321,13 @@ spec: - version type: object sharedGallery: - description: 'SharedGallery specifies an image to use from an Azure Shared Image Gallery Deprecated: use ComputeGallery instead.' + description: 'SharedGallery specifies an image to use + from an Azure Shared Image Gallery Deprecated: use ComputeGallery + instead.' properties: gallery: - description: Gallery specifies the name of the shared image gallery that contains the image + description: Gallery specifies the name of the shared + image gallery that contains the image minLength: 1 type: string name: @@ -6809,24 +9335,50 @@ spec: minLength: 1 type: string offer: - description: Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Offer specifies the name of a group of + related images created by the publisher. For example, + UbuntuServer, WindowsServer This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string publisher: - description: Publisher is the name of the organization that created the image. This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: Publisher is the name of the organization + that created the image. This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string resourceGroup: - description: ResourceGroup specifies the resource group containing the shared image gallery + description: ResourceGroup specifies the resource + group containing the shared image gallery minLength: 1 type: string sku: - description: SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a `Plan` in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the `Plan` to be used. + description: SKU specifies an instance of an offer, + such as a major release of a distribution. For example, + 18.04-LTS, 2019-Datacenter This value will be used + to add a `Plan` in the API request when creating + the VM/VMSS resource. This is needed when the source + image from which this SIG image was built requires + the `Plan` to be used. type: string subscriptionID: - description: SubscriptionID is the identifier of the subscription that contains the shared image gallery + description: SubscriptionID is the identifier of the + subscription that contains the shared image gallery minLength: 1 type: string version: - description: Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. + description: Version specifies the version of the + marketplace image. The allowed formats are Major.Minor.Build + or 'latest'. Major, Minor, and Build are decimal + numbers. Specify 'latest' to use the latest version + of an image available at deploy time. Even if you + use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes + available. minLength: 1 type: string required: @@ -6837,8 +9389,38 @@ spec: - version type: object type: object + networkInterfaces: + description: NetworkInterfaces specifies a list of network + interface configurations. If left unspecified, the VM will + get a single network interface with a single IPConfig in + the subnet specified in the cluster's node subnet field. + The primary interface will be the first networkInterface + specified (index 0) in the list. + items: + description: NetworkInterface defines a network interface. + properties: + acceleratedNetworking: + description: AcceleratedNetworking enables or disables + Azure accelerated networking. If omitted, it will + be set based on whether the requested VMSize supports + accelerated networking. If AcceleratedNetworking is + set to true with a VMSize that does not support it, + Azure will return an error. + type: boolean + privateIPConfigs: + description: PrivateIPConfigs specifies the number of + private IP addresses to attach to the interface. Defaults + to 1 if not specified. + type: integer + subnetName: + description: SubnetName specifies the subnet in which + the new network interface will be placed. + type: string + type: object + type: array osDisk: - description: OSDisk specifies the parameters for the operating system disk of the machine + description: OSDisk specifies the parameters for the operating + system disk of the machine properties: cachingType: description: CachingType specifies the caching requirements. @@ -6848,10 +9430,13 @@ spec: - ReadWrite type: string diffDiskSettings: - description: DiffDiskSettings describe ephemeral disk settings for the os disk. + description: DiffDiskSettings describe ephemeral disk + settings for the os disk. properties: option: - description: Option enables ephemeral OS when set to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details + description: Option enables ephemeral OS when set + to "Local" See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks + for full details enum: - Local type: string @@ -6859,17 +9444,21 @@ spec: - option type: object diskSizeGB: - description: DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided + description: DiskSizeGB is the size in GB to assign to + the OS disk. Will have a default of 30GB if not provided format: int32 type: integer managedDisk: - description: ManagedDisk specifies the Managed Disk parameters for the OS disk. + description: ManagedDisk specifies the Managed Disk parameters + for the OS disk. properties: diskEncryptionSet: - description: DiskEncryptionSetParameters defines disk encryption options. + description: DiskEncryptionSetParameters defines disk + encryption options. properties: id: - description: ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription + description: ID defines resourceID for diskEncryptionSet + resource. It must be in the same subscription type: string type: object storageAccountType: @@ -6881,23 +9470,32 @@ spec: - osType type: object providerID: - description: ProviderID is the unique identifier as specified by the cloud provider. + description: ProviderID is the unique identifier as specified + by the cloud provider. type: string roleAssignmentName: - description: RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated. + description: RoleAssignmentName is the name of the role assignment + to create for a system assigned identity. It can be any + valid GUID. If not specified, a random GUID will be generated. type: string securityProfile: - description: SecurityProfile specifies the Security profile settings for a virtual machine. + description: SecurityProfile specifies the Security profile + settings for a virtual machine. properties: encryptionAtHost: - description: This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled. + description: This field indicates whether Host Encryption + should be enabled or disabled for a virtual machine + or virtual machine scale set. Default is disabled. type: boolean type: object spotVMOptions: - description: SpotVMOptions allows the ability to specify the Machine should use a Spot VM + description: SpotVMOptions allows the ability to specify the + Machine should use a Spot VM properties: evictionPolicy: - description: EvictionPolicy defines the behavior of the virtual machine when it is evicted. It can be either Delete or Deallocate. + description: EvictionPolicy defines the behavior of the + virtual machine when it is evicted. It can be either + Delete or Deallocate. enum: - Deallocate - Delete @@ -6906,31 +9504,42 @@ spec: anyOf: - type: integer - type: string - description: MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + description: MaxPrice defines the maximum price the user + is willing to pay for Spot VM instances pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object sshPublicKey: type: string subnetName: - description: SubnetName selects the Subnet where the VM will be placed + description: 'Deprecated: SubnetName should be set in the + networkInterfaces field.' type: string userAssignedIdentities: - description: UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli + description: UserAssignedIdentities is a list of standalone + Azure identities provided by the user The lifecycle of a + user-assigned identity is managed separately from the lifecycle + of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli items: - description: UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources. + description: UserAssignedIdentity defines the user-assigned + identities provided by the user to be assigned to Azure + resources. properties: providerID: - description: 'ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' + description: 'ProviderID is the identification ID of + the user-assigned Identity, the format of an identity + is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''' type: string required: - providerID type: object type: array vmExtensions: - description: VMExtensions specifies a list of extensions to be added to the virtual machine. + description: VMExtensions specifies a list of extensions to + be added to the virtual machine. items: - description: VMExtension specifies the parameters for a custom VM extension. + description: VMExtension specifies the parameters for a + custom VM extension. properties: name: description: Name is the name of the extension. @@ -6938,18 +9547,22 @@ spec: protectedSettings: additionalProperties: type: string - description: ProtectedSettings is a JSON formatted protected settings for the extension. + description: ProtectedSettings is a JSON formatted protected + settings for the extension. type: object publisher: - description: Publisher is the name of the extension handler publisher. + description: Publisher is the name of the extension + handler publisher. type: string settings: additionalProperties: type: string - description: Settings is a JSON formatted public settings for the extension. + description: Settings is a JSON formatted public settings + for the extension. type: object version: - description: Version specifies the version of the script handler. + description: Version specifies the version of the script + handler. type: string required: - name @@ -7000,13 +9613,18 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: AzureManagedCluster is the Schema for the azuremanagedclusters API. + description: AzureManagedCluster is the Schema for the azuremanagedclusters + API. 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' + 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' + 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 @@ -7014,7 +9632,8 @@ spec: description: AzureManagedClusterSpec defines the desired state of AzureManagedCluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7043,13 +9662,18 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: AzureManagedCluster is the Schema for the azuremanagedclusters API. + description: AzureManagedCluster is the Schema for the azuremanagedclusters + API. 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' + 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' + 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 @@ -7057,7 +9681,8 @@ spec: description: AzureManagedClusterSpec defines the desired state of AzureManagedCluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7086,13 +9711,18 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: AzureManagedCluster is the Schema for the azuremanagedclusters API. + description: AzureManagedCluster is the Schema for the azuremanagedclusters + API. 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' + 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' + 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 @@ -7100,7 +9730,8 @@ spec: description: AzureManagedClusterSpec defines the desired state of AzureManagedCluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7153,24 +9784,32 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes API. + description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes + API. 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' + 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' + 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: AzureManagedControlPlaneSpec defines the desired state of AzureManagedControlPlane. + description: AzureManagedControlPlaneSpec defines the desired state of + AzureManagedControlPlane. properties: aadProfile: - description: AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication. + description: AadProfile is Azure Active Directory configuration to + integrate with AKS for aad authentication. properties: adminGroupObjectIDs: - description: AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster. + description: AdminGroupObjectIDs - AAD group object IDs that will + have admin role of the cluster. items: type: string type: array @@ -7184,10 +9823,13 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7201,16 +9843,20 @@ spec: - port type: object dnsServiceIP: - description: DNSServiceIP is an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + description: DNSServiceIP is an IP address assigned to the Kubernetes + DNS service. It must be within the Kubernetes service address range + specified in serviceCidr. type: string loadBalancerSKU: - description: LoadBalancerSKU is the SKU of the loadBalancer to be provisioned. + description: LoadBalancerSKU is the SKU of the loadBalancer to be + provisioned. enum: - Basic - Standard type: string location: - description: 'Location is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus".' + description: 'Location is a string matching one of the canonical Azure + region names. Examples: "westus2", "eastus".' type: string networkPlugin: description: NetworkPlugin used for building Kubernetes network. @@ -7225,30 +9871,37 @@ spec: - calico type: string nodeResourceGroupName: - description: NodeResourceGroupName is the name of the resource group containing cluster IaaS resources. Will be populated to default in webhook. + description: NodeResourceGroupName is the name of the resource group + containing cluster IaaS resources. Will be populated to default + in webhook. type: string resourceGroupName: - description: ResourceGroupName is the name of the Azure resource group for this AKS Cluster. + description: ResourceGroupName is the name of the Azure resource group + for this AKS Cluster. type: string sshPublicKey: - description: SSHPublicKey is a string literal containing an ssh public key base64 encoded. + description: SSHPublicKey is a string literal containing an ssh public + key base64 encoded. type: string subscriptionID: - description: SubscriotionID is the GUID of the Azure subscription to hold this cluster. + description: SubscriotionID is the GUID of the Azure subscription + to hold this cluster. type: string version: description: Version defines the desired Kubernetes version. minLength: 2 type: string virtualNetwork: - description: VirtualNetwork describes the vnet for the AKS cluster. Will be created if it does not exist. + description: VirtualNetwork describes the vnet for the AKS cluster. + Will be created if it does not exist. properties: cidrBlock: type: string name: type: string subnet: - description: ManagedControlPlaneSubnet describes a subnet for an AKS cluster. + description: ManagedControlPlaneSubnet describes a subnet for + an AKS cluster. properties: cidrBlock: type: string @@ -7270,10 +9923,14 @@ spec: - version type: object status: - description: AzureManagedControlPlaneStatus defines the observed state of AzureManagedControlPlane. + description: AzureManagedControlPlaneStatus defines the observed state + of AzureManagedControlPlane. properties: initialized: - description: Initialized is true when the the control plane is available for initial contact. This may occur before the control plane is fully ready. In the AzureManagedControlPlane implementation, these are identical. + description: Initialized is true when the the control plane is available + for initial contact. This may occur before the control plane is + fully ready. In the AzureManagedControlPlane implementation, these + are identical. type: boolean ready: description: Ready is true when the provider resource is ready. @@ -7287,24 +9944,32 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes API. + description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes + API. 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' + 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' + 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: AzureManagedControlPlaneSpec defines the desired state of AzureManagedControlPlane. + description: AzureManagedControlPlaneSpec defines the desired state of + AzureManagedControlPlane. properties: aadProfile: - description: AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication. + description: AadProfile is Azure Active Directory configuration to + integrate with AKS for aad authentication. properties: adminGroupObjectIDs: - description: AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster. + description: AdminGroupObjectIDs - AAD group object IDs that will + have admin role of the cluster. items: type: string type: array @@ -7318,31 +9983,39 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object apiServerAccessProfile: - description: APIServerAccessProfile is the access profile for AKS API server. + description: APIServerAccessProfile is the access profile for AKS + API server. properties: authorizedIPRanges: - description: AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server. + description: AuthorizedIPRanges - Authorized IP Ranges to kubernetes + API server. items: type: string type: array enablePrivateCluster: - description: EnablePrivateCluster - Whether to create the cluster as a private cluster or not. + description: EnablePrivateCluster - Whether to create the cluster + as a private cluster or not. type: boolean enablePrivateClusterPublicFQDN: - description: EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not. + description: EnablePrivateClusterPublicFQDN - Whether to create + additional public FQDN for private cluster or not. type: boolean privateDNSZone: - description: PrivateDNSZone - Private dns zone mode for private cluster. + description: PrivateDNSZone - Private dns zone mode for private + cluster. enum: - System - None type: string type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7356,16 +10029,29 @@ spec: - port type: object dnsServiceIP: - description: DNSServiceIP is an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + description: DNSServiceIP is an IP address assigned to the Kubernetes + DNS service. It must be within the Kubernetes service address range + specified in serviceCidr. type: string identityRef: - description: IdentityRef is a reference to a AzureClusterIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to a AzureClusterIdentity + to be used when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7377,46 +10063,58 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object loadBalancerProfile: - description: LoadBalancerProfile is the profile of the cluster load balancer. + description: LoadBalancerProfile is the profile of the cluster load + balancer. properties: allocatedOutboundPorts: - description: AllocatedOutboundPorts - Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + description: AllocatedOutboundPorts - Desired number of allocated + SNAT ports per VM. Allowed values must be in the range of 0 + to 64000 (inclusive). The default value is 0 which results in + Azure dynamically allocating ports. format: int32 type: integer idleTimeoutInMinutes: - description: IdleTimeoutInMinutes - Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. + description: IdleTimeoutInMinutes - Desired outbound flow idle + timeout in minutes. Allowed values must be in the range of 4 + to 120 (inclusive). The default value is 30 minutes. format: int32 type: integer managedOutboundIPs: - description: ManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer. + description: ManagedOutboundIPs - Desired managed outbound IPs + for the cluster load balancer. format: int32 type: integer outboundIPPrefixes: - description: OutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer. + description: OutboundIPPrefixes - Desired outbound IP Prefix resources + for the cluster load balancer. items: type: string type: array outboundIPs: - description: OutboundIPs - Desired outbound IP resources for the cluster load balancer. + description: OutboundIPs - Desired outbound IP resources for the + cluster load balancer. items: type: string type: array type: object loadBalancerSKU: - description: LoadBalancerSKU is the SKU of the loadBalancer to be provisioned. + description: LoadBalancerSKU is the SKU of the loadBalancer to be + provisioned. enum: - Basic - Standard type: string location: - description: 'Location is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus".' + description: 'Location is a string matching one of the canonical Azure + region names. Examples: "westus2", "eastus".' type: string networkPlugin: description: NetworkPlugin used for building Kubernetes network. @@ -7431,10 +10129,13 @@ spec: - calico type: string nodeResourceGroupName: - description: NodeResourceGroupName is the name of the resource group containing cluster IaaS resources. Will be populated to default in webhook. + description: NodeResourceGroupName is the name of the resource group + containing cluster IaaS resources. Will be populated to default + in webhook. type: string resourceGroupName: - description: ResourceGroupName is the name of the Azure resource group for this AKS Cluster. + description: ResourceGroupName is the name of the Azure resource group + for this AKS Cluster. type: string sku: description: SKU is the SKU of the AKS to be provisioned. @@ -7449,24 +10150,28 @@ spec: - tier type: object sshPublicKey: - description: SSHPublicKey is a string literal containing an ssh public key base64 encoded. + description: SSHPublicKey is a string literal containing an ssh public + key base64 encoded. type: string subscriptionID: - description: SubscriptionID is the GUID of the Azure subscription to hold this cluster. + description: SubscriptionID is the GUID of the Azure subscription + to hold this cluster. type: string version: description: Version defines the desired Kubernetes version. minLength: 2 type: string virtualNetwork: - description: VirtualNetwork describes the vnet for the AKS cluster. Will be created if it does not exist. + description: VirtualNetwork describes the vnet for the AKS cluster. + Will be created if it does not exist. properties: cidrBlock: type: string name: type: string subnet: - description: ManagedControlPlaneSubnet describes a subnet for an AKS cluster. + description: ManagedControlPlaneSubnet describes a subnet for + an AKS cluster. properties: cidrBlock: type: string @@ -7487,30 +10192,44 @@ spec: - version type: object status: - description: AzureManagedControlPlaneStatus defines the observed state of AzureManagedControlPlane. + description: AzureManagedControlPlaneStatus defines the observed state + of AzureManagedControlPlane. properties: initialized: - description: Initialized is true when the the control plane is available for initial contact. This may occur before the control plane is fully ready. In the AzureManagedControlPlane implementation, these are identical. + description: Initialized is true when the the control plane is available + for initial contact. This may occur before the control plane is + fully ready. In the AzureManagedControlPlane implementation, these + are identical. type: boolean longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - name @@ -7530,24 +10249,32 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes API. + description: AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes + API. 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' + 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' + 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: AzureManagedControlPlaneSpec defines the desired state of AzureManagedControlPlane. + description: AzureManagedControlPlaneSpec defines the desired state of + AzureManagedControlPlane. properties: aadProfile: - description: AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication. + description: AadProfile is Azure Active Directory configuration to + integrate with AKS for aad authentication. properties: adminGroupObjectIDs: - description: AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster. + description: AdminGroupObjectIDs - AAD group object IDs that will + have admin role of the cluster. items: type: string type: array @@ -7561,7 +10288,9 @@ spec: additionalTags: additionalProperties: type: string - description: AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default. + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. type: object addonProfiles: description: AddonProfiles are the profiles of managed cluster add-on. @@ -7585,28 +10314,139 @@ spec: type: object type: array apiServerAccessProfile: - description: APIServerAccessProfile is the access profile for AKS API server. + description: APIServerAccessProfile is the access profile for AKS + API server. properties: authorizedIPRanges: - description: AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server. + description: AuthorizedIPRanges - Authorized IP Ranges to kubernetes + API server. items: type: string type: array enablePrivateCluster: - description: EnablePrivateCluster - Whether to create the cluster as a private cluster or not. + description: EnablePrivateCluster - Whether to create the cluster + as a private cluster or not. type: boolean enablePrivateClusterPublicFQDN: - description: EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not. + description: EnablePrivateClusterPublicFQDN - Whether to create + additional public FQDN for private cluster or not. type: boolean privateDNSZone: - description: PrivateDNSZone - Private dns zone mode for private cluster. + description: PrivateDNSZone - Private dns zone mode for private + cluster. enum: - System - None type: string type: object + autoscalerProfile: + description: AutoscalerProfile is the parameters to be applied to + the cluster-autoscaler when enabled + properties: + balanceSimilarNodeGroups: + description: BalanceSimilarNodeGroups - Valid values are 'true' + and 'false'. The default is false. + enum: + - "true" + - "false" + type: string + expander: + description: Expander - If not specified, the default is 'random'. + See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) + for more information. + enum: + - least-waste + - most-pods + - priority + - random + type: string + maxEmptyBulkDelete: + description: MaxEmptyBulkDelete - The default is 10. + type: string + maxGracefulTerminationSec: + description: MaxGracefulTerminationSec - The default is 600. + pattern: ^(\d+)$ + type: string + maxNodeProvisionTime: + description: MaxNodeProvisionTime - The default is '15m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + maxTotalUnreadyPercentage: + description: MaxTotalUnreadyPercentage - The default is 45. The + maximum is 100 and the minimum is 0. + maxLength: 3 + minLength: 1 + pattern: ^(\d+)$ + type: string + newPodScaleUpDelay: + description: NewPodScaleUpDelay - For scenarios like burst/batch + scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled + pods before they're a certain age. The default is '0s'. Values + must be an integer followed by a unit ('s' for seconds, 'm' + for minutes, 'h' for hours, etc). + type: string + okTotalUnreadyCount: + description: OkTotalUnreadyCount - This must be an integer. The + default is 3. + pattern: ^(\d+)$ + type: string + scaleDownDelayAfterAdd: + description: ScaleDownDelayAfterAdd - The default is '10m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownDelayAfterDelete: + description: ScaleDownDelayAfterDelete - The default is the scan-interval. + Values must be an integer followed by an 's'. No unit of time + other than seconds (s) is supported. + pattern: ^(\d+)s$ + type: string + scaleDownDelayAfterFailure: + description: ScaleDownDelayAfterFailure - The default is '3m'. + Values must be an integer followed by an 'm'. No unit of time + other than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUnneededTime: + description: ScaleDownUnneededTime - The default is '10m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUnreadyTime: + description: ScaleDownUnreadyTime - The default is '20m'. Values + must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + pattern: ^(\d+)m$ + type: string + scaleDownUtilizationThreshold: + description: ScaleDownUtilizationThreshold - The default is '0.5'. + type: string + scanInterval: + description: ScanInterval - How often cluster is reevaluated for + scale up or down. The default is '10s'. + pattern: ^(\d+)s$ + type: string + skipNodesWithLocalStorage: + description: SkipNodesWithLocalStorage - The default is false. + enum: + - "true" + - "false" + type: string + skipNodesWithSystemPods: + description: SkipNodesWithSystemPods - The default is true. + enum: + - "true" + - "false" + type: string + type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to + communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -7620,16 +10460,29 @@ spec: - port type: object dnsServiceIP: - description: DNSServiceIP is an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + description: DNSServiceIP is an IP address assigned to the Kubernetes + DNS service. It must be within the Kubernetes service address range + specified in serviceCidr. type: string identityRef: - description: IdentityRef is a reference to a AzureClusterIdentity to be used when reconciling this cluster + description: IdentityRef is a reference to a AzureClusterIdentity + to be used when reconciling this cluster properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7641,46 +10494,58 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object loadBalancerProfile: - description: LoadBalancerProfile is the profile of the cluster load balancer. + description: LoadBalancerProfile is the profile of the cluster load + balancer. properties: allocatedOutboundPorts: - description: AllocatedOutboundPorts - Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + description: AllocatedOutboundPorts - Desired number of allocated + SNAT ports per VM. Allowed values must be in the range of 0 + to 64000 (inclusive). The default value is 0 which results in + Azure dynamically allocating ports. format: int32 type: integer idleTimeoutInMinutes: - description: IdleTimeoutInMinutes - Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. + description: IdleTimeoutInMinutes - Desired outbound flow idle + timeout in minutes. Allowed values must be in the range of 4 + to 120 (inclusive). The default value is 30 minutes. format: int32 type: integer managedOutboundIPs: - description: ManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer. + description: ManagedOutboundIPs - Desired managed outbound IPs + for the cluster load balancer. format: int32 type: integer outboundIPPrefixes: - description: OutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer. + description: OutboundIPPrefixes - Desired outbound IP Prefix resources + for the cluster load balancer. items: type: string type: array outboundIPs: - description: OutboundIPs - Desired outbound IP resources for the cluster load balancer. + description: OutboundIPs - Desired outbound IP resources for the + cluster load balancer. items: type: string type: array type: object loadBalancerSKU: - description: LoadBalancerSKU is the SKU of the loadBalancer to be provisioned. + description: LoadBalancerSKU is the SKU of the loadBalancer to be + provisioned. enum: - Basic - Standard type: string location: - description: 'Location is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus".' + description: 'Location is a string matching one of the canonical Azure + region names. Examples: "westus2", "eastus".' type: string networkPlugin: description: NetworkPlugin used for building Kubernetes network. @@ -7695,10 +10560,13 @@ spec: - calico type: string nodeResourceGroupName: - description: NodeResourceGroupName is the name of the resource group containing cluster IaaS resources. Will be populated to default in webhook. + description: NodeResourceGroupName is the name of the resource group + containing cluster IaaS resources. Will be populated to default + in webhook. type: string resourceGroupName: - description: ResourceGroupName is the name of the Azure resource group for this AKS Cluster. + description: ResourceGroupName is the name of the Azure resource group + for this AKS Cluster. type: string sku: description: SKU is the SKU of the AKS to be provisioned. @@ -7713,36 +10581,43 @@ spec: - tier type: object sshPublicKey: - description: SSHPublicKey is a string literal containing an ssh public key base64 encoded. + description: SSHPublicKey is a string literal containing an ssh public + key base64 encoded. type: string subscriptionID: - description: SubscriptionID is the GUID of the Azure subscription to hold this cluster. + description: SubscriptionID is the GUID of the Azure subscription + to hold this cluster. type: string version: description: Version defines the desired Kubernetes version. minLength: 2 type: string virtualNetwork: - description: VirtualNetwork describes the vnet for the AKS cluster. Will be created if it does not exist. + description: VirtualNetwork describes the vnet for the AKS cluster. + Will be created if it does not exist. properties: cidrBlock: type: string name: type: string resourceGroup: - description: ResourceGroup is the name of the Azure resource group for the VNet and Subnet. + description: ResourceGroup is the name of the Azure resource group + for the VNet and Subnet. type: string subnet: - description: ManagedControlPlaneSubnet describes a subnet for an AKS cluster. + description: ManagedControlPlaneSubnet describes a subnet for + an AKS cluster. properties: cidrBlock: type: string name: type: string serviceEndpoints: - description: ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets. + description: ServiceEndpoints is a slice of Virtual Network + service endpoints to enable for the subnets. items: - description: ServiceEndpointSpec configures an Azure Service Endpoint. + description: ServiceEndpointSpec configures an Azure Service + Endpoint. properties: locations: items: @@ -7773,31 +10648,47 @@ spec: - version type: object status: - description: AzureManagedControlPlaneStatus defines the observed state of AzureManagedControlPlane. + description: AzureManagedControlPlaneStatus defines the observed state + of AzureManagedControlPlane. properties: conditions: description: Conditions defines current service state of the AzureManagedControlPlane. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -7806,27 +10697,40 @@ spec: type: object type: array initialized: - description: Initialized is true when the control plane is available for initial contact. This may occur before the control plane is fully ready. In the AzureManagedControlPlane implementation, these are identical. + description: Initialized is true when the control plane is available + for initial contact. This may occur before the control plane is + fully ready. In the AzureManagedControlPlane implementation, these + are identical. type: boolean longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -7871,31 +10775,41 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools API. + description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools + API. 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' + 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' + 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: AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool. + description: AzureManagedMachinePoolSpec defines the desired state of + AzureManagedMachinePool. properties: mode: - description: 'Mode - represents mode of an agent pool. Possible values include: System, User.' + description: 'Mode - represents mode of an agent pool. Possible values + include: System, User.' enum: - System - User type: string osDiskSizeGB: - description: OSDiskSizeGB is the disk size for every machine in this agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + description: OSDiskSizeGB is the disk size for every machine in this + agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. format: int32 type: integer providerIDList: - description: ProviderIDList is the unique identifier as specified by the cloud provider. + description: ProviderIDList is the unique identifier as specified + by the cloud provider. items: type: string type: array @@ -7907,13 +10821,18 @@ spec: - sku type: object status: - description: AzureManagedMachinePoolStatus defines the observed state of AzureManagedMachinePool. + description: AzureManagedMachinePoolStatus defines the observed state + of AzureManagedMachinePool. properties: errorMessage: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string errorReason: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string ready: description: Ready is true when the provider resource is ready. @@ -7931,34 +10850,45 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools API. + description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools + API. 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' + 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' + 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: AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool. + description: AzureManagedMachinePoolSpec defines the desired state of + AzureManagedMachinePool. properties: mode: - description: 'Mode - represents mode of an agent pool. Possible values include: System, User.' + description: 'Mode - represents mode of an agent pool. Possible values + include: System, User.' enum: - System - User type: string name: - description: Name - name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name. + description: Name - name of the agent pool. If not specified, CAPZ + uses the name of the CR as the agent pool name. type: string osDiskSizeGB: - description: OSDiskSizeGB is the disk size for every machine in this agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + description: OSDiskSizeGB is the disk size for every machine in this + agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. format: int32 type: integer providerIDList: - description: ProviderIDList is the unique identifier as specified by the cloud provider. + description: ProviderIDList is the unique identifier as specified + by the cloud provider. items: type: string type: array @@ -7970,13 +10900,18 @@ spec: - sku type: object status: - description: AzureManagedMachinePoolStatus defines the observed state of AzureManagedMachinePool. + description: AzureManagedMachinePoolStatus defines the observed state + of AzureManagedMachinePool. properties: errorMessage: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string errorReason: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string ready: description: Ready is true when the provider resource is ready. @@ -7998,81 +10933,186 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools API. + description: AzureManagedMachinePool is the Schema for the azuremanagedmachinepools + API. 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' + 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' + 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: AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool. + description: AzureManagedMachinePoolSpec defines the desired state of + AzureManagedMachinePool. properties: + additionalTags: + additionalProperties: + type: string + description: AdditionalTags is an optional set of tags to add to Azure + resources managed by the Azure provider, in addition to the ones + added by default. + type: object availabilityZones: - description: AvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + description: AvailabilityZones - Availability zones for nodes. Must + use VirtualMachineScaleSets AgentPoolType. items: type: string type: array enableNodePublicIP: - description: EnableNodePublicIP controls whether or not nodes in the pool each have a public IP address. + description: EnableNodePublicIP controls whether or not nodes in the + pool each have a public IP address. type: boolean enableUltraSSD: - description: EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool. + description: EnableUltraSSD enables the storage type UltraSSD_LRS + for the agent pool. type: boolean + kubeletConfig: + description: KubeletConfig specifies the kubelet configurations for + nodes. + properties: + allowedUnsafeSysctls: + description: AllowedUnsafeSysctls - Allowlist of unsafe sysctls + or unsafe sysctl patterns (ending in `*`). + items: + type: string + type: array + containerLogMaxFiles: + description: ContainerLogMaxFiles - The maximum number of container + log files that can be present for a container. The number must + be ≥ 2. + format: int32 + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: ContainerLogMaxSizeMB - The maximum size (e.g. 10Mi) + of container log file before it is rotated. + format: int32 + type: integer + cpuCfsQuota: + description: CPUCfsQuota - Enable CPU CFS quota enforcement for + containers that specify CPU limits. + type: boolean + cpuCfsQuotaPeriod: + description: CPUCfsQuotaPeriod - Sets CPU CFS quota period value. + type: string + cpuManagerPolicy: + description: CPUManagerPolicy - CPU Manager policy to use. + enum: + - none + - static + type: string + failSwapOn: + description: FailSwapOn - If set to true it will make the Kubelet + fail to start if swap is enabled on the node. + type: boolean + imageGcHighThreshold: + description: ImageGcHighThreshold - The percent of disk usage + after which image garbage collection is always run. + format: int32 + maximum: 100 + minimum: 0 + type: integer + imageGcLowThreshold: + description: ImageGcLowThreshold - The percent of disk usage before + which image garbage collection is never run. + format: int32 + maximum: 100 + minimum: 0 + type: integer + podMaxPids: + description: PodMaxPids - The maximum number of processes per + pod. + format: int32 + minimum: -1 + type: integer + topologyManagerPolicy: + description: TopologyManagerPolicy - Topology Manager policy to + use. + enum: + - none + - best-effort + - restricted + - single-numa-node + type: string + type: object + kubeletDiskType: + description: 'KubeletDiskType specifies the kubelet disk type. Default + to OS. Possible values include: ''OS'', ''Temporary''. Requires + kubeletDisk preview feature to be set.' + enum: + - OS + - Temporary + type: string maxPods: - description: MaxPods specifies the kubelet --max-pods configuration for the node pool. + description: MaxPods specifies the kubelet --max-pods configuration + for the node pool. format: int32 type: integer mode: - description: 'Mode - represents mode of an agent pool. Possible values include: System, User.' + description: 'Mode - represents mode of an agent pool. Possible values + include: System, User.' enum: - System - User type: string name: - description: Name - name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name. + description: Name - name of the agent pool. If not specified, CAPZ + uses the name of the CR as the agent pool name. type: string nodeLabels: additionalProperties: type: string - description: Node labels - labels for all of the nodes present in node pool + description: Node labels - labels for all of the nodes present in + node pool type: object nodePublicIPPrefixID: - description: NodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from. + description: NodePublicIPPrefixID specifies the public IP prefix resource + ID which VM nodes should use IPs from. type: string osDiskSizeGB: - description: OSDiskSizeGB is the disk size for every machine in this agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + description: OSDiskSizeGB is the disk size for every machine in this + agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. format: int32 type: integer osDiskType: default: Managed - description: OsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed'. + description: OsDiskType specifies the OS disk type for each node in + the pool. Allowed values are 'Ephemeral' and 'Managed'. enum: - Ephemeral - Managed type: string osType: - description: 'OSType specifies the virtual machine operating system. Default to Linux. Possible values include: ''Linux'', ''Windows''' + description: 'OSType specifies the virtual machine operating system. + Default to Linux. Possible values include: ''Linux'', ''Windows''' enum: - Linux - Windows type: string providerIDList: - description: ProviderIDList is the unique identifier as specified by the cloud provider. + description: ProviderIDList is the unique identifier as specified + by the cloud provider. items: type: string type: array scaleSetPriority: - description: 'ScaleSetPriority specifies the ScaleSetPriority value. Default to Regular. Possible values include: ''Regular'', ''Spot''' + description: 'ScaleSetPriority specifies the ScaleSetPriority value. + Default to Regular. Possible values include: ''Regular'', ''Spot''' enum: - Regular - Spot type: string scaling: - description: Scaling specifies the autoscaling parameters for the node pool. + description: Scaling specifies the autoscaling parameters for the + node pool. properties: maxSize: format: int32 @@ -8085,7 +11125,8 @@ spec: description: SKU is the size of the VMs in the node pool. type: string taints: - description: Taints specifies the taints for nodes present in this agent pool. + description: Taints specifies the taints for nodes present in this + agent pool. items: description: Taint represents a Kubernetes taint. properties: @@ -8113,31 +11154,47 @@ spec: - sku type: object status: - description: AzureManagedMachinePoolStatus defines the observed state of AzureManagedMachinePool. + description: AzureManagedMachinePoolStatus defines the observed state + of AzureManagedMachinePool. properties: conditions: description: Conditions defines current service state of the AzureManagedControlPlane. items: - description: Condition defines an observation of a Cluster API resource operational state. + description: Condition defines an observation of a Cluster API resource + operational state. properties: lastTransitionTime: - description: 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. + description: 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: A human readable message indicating details about the transition. This field may be empty. + description: A human readable message indicating details about + the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. + description: The reason for the condition's last transition + in CamelCase. The specific API may choose whether or not this + field is considered a guaranteed API. This field may not be + empty. type: string severity: - description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. + description: Severity provides an explicit classification of + Reason code, so the users or machines can immediately understand + the current situation and act accordingly. The Severity field + MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. type: string required: - lastTransitionTime @@ -8146,30 +11203,44 @@ spec: type: object type: array errorMessage: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string errorReason: - description: Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + description: Any transient errors that occur during the reconciliation + of Machines can be added as events to the Machine object and/or + logged in the controller's output. type: string longRunningOperationStates: - description: LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop. + description: LongRunningOperationStates saves the states for Azure + long-running operations so they can be continued on the next reconciliation + loop. items: - description: Future contains the data needed for an Azure long-running operation to continue across reconcile loops. + description: Future contains the data needed for an Azure long-running + operation to continue across reconcile loops. properties: data: - description: Data is the base64 url encoded json Azure AutoRest Future. + description: Data is the base64 url encoded json Azure AutoRest + Future. type: string name: - description: Name is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future. + description: Name is the name of the Azure resource. Together + with the service name, this forms the unique identifier for + the future. type: string resourceGroup: - description: ResourceGroup is the Azure resource group for the resource. + description: ResourceGroup is the Azure resource group for the + resource. type: string serviceName: - description: ServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future. + description: ServiceName is the name of the Azure service. Together + with the name of the resource, this forms the unique identifier + for the future. type: string type: - description: Type describes the type of future, such as update, create, delete, etc. + description: Type describes the type of future, such as update, + create, delete, etc. type: string required: - data @@ -8213,18 +11284,25 @@ spec: - name: v1 schema: openAPIV3Schema: - description: AzurePodIdentityException contains the pod selectors for all pods that don't require NMI to process and request token on their behalf. + description: AzurePodIdentityException contains the pod selectors for all + pods that don't require NMI to process and request token on their behalf. 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' + 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' + 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: AzurePodIdentityExceptionSpec matches pods with the selector defined. If request originates from a pod that matches the selector, nmi will proxy the request and send response back without any validation. + description: AzurePodIdentityExceptionSpec matches pods with the selector + defined. If request originates from a pod that matches the selector, + nmi will proxy the request and send response back without any validation. properties: metadata: type: object @@ -8234,7 +11312,8 @@ spec: type: object type: object status: - description: AzurePodIdentityExceptionStatus contains the status of an AzurePodIdentityException. + description: AzurePodIdentityExceptionStatus contains the status of an + AzurePodIdentityException. properties: metadata: type: object @@ -8682,7 +11761,7 @@ spec: - args: - --leader-elect - --metrics-bind-addr=localhost:8080 - - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},AKS=${EXP_AKS:=false} + - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},AKS=${EXP_AKS:=false},AKSResourceHealth=${EXP_AKS_RESOURCE_HEALTH:=false} - --v=0 env: - name: AZURE_SUBSCRIPTION_ID @@ -8717,13 +11796,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - - name: HTTP_PROXY - value: ${TKG_HTTP_PROXY} - - name: HTTPS_PROXY - value: ${TKG_HTTPS_PROXY} - - name: NO_PROXY - value: ${TKG_NO_PROXY} - image: registry.tkg.vmware.run/cluster-api/cluster-api-azure-controller:${CAPZ_CONTROLLER_IMAGE_TAG} + image: registry.k8s.io/cluster-api-azure/cluster-api-azure-controller:v1.7.2 imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -8804,7 +11877,7 @@ spec: fieldPath: spec.nodeName - name: LOG_LEVEL value: DEBUG - image: registry.tkg.vmware.run/cluster-api/nmi:${NMI_IMAGE_TAG} + image: mcr.microsoft.com/oss/azure/aad-pod-identity/nmi:v1.8.14 imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -9083,6 +12156,28 @@ webhooks: resources: - azureclusters sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capz-webhook-service + namespace: capz-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-azureclusteridentity + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.azureclusteridentity.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - azureclusteridentities + sideEffects: None - admissionReviewVersions: - v1 - v1beta1 diff --git a/providers/infrastructure-azure/v1.6.1/metadata.yaml b/providers/infrastructure-azure/v1.7.2/metadata.yaml similarity index 92% rename from providers/infrastructure-azure/v1.6.1/metadata.yaml rename to providers/infrastructure-azure/v1.7.2/metadata.yaml index a629ee576ee..e6ee563de81 100644 --- a/providers/infrastructure-azure/v1.6.1/metadata.yaml +++ b/providers/infrastructure-azure/v1.7.2/metadata.yaml @@ -30,3 +30,6 @@ releaseSeries: - major: 1 minor: 6 contract: v1beta1 +- major: 1 + minor: 7 + contract: v1beta1 diff --git a/providers/infrastructure-azure/v1.6.1/ytt/base-template.yaml b/providers/infrastructure-azure/v1.7.2/ytt/base-template.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/ytt/base-template.yaml rename to providers/infrastructure-azure/v1.7.2/ytt/base-template.yaml diff --git a/providers/infrastructure-azure/v1.6.1/ytt/overlay.yaml b/providers/infrastructure-azure/v1.7.2/ytt/overlay.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/ytt/overlay.yaml rename to providers/infrastructure-azure/v1.7.2/ytt/overlay.yaml diff --git a/providers/infrastructure-azure/v1.6.1/yttcc/base-template.yaml b/providers/infrastructure-azure/v1.7.2/yttcc/base-template.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/yttcc/base-template.yaml rename to providers/infrastructure-azure/v1.7.2/yttcc/base-template.yaml diff --git a/providers/infrastructure-azure/v1.6.1/yttcc/overlay.yaml b/providers/infrastructure-azure/v1.7.2/yttcc/overlay.yaml similarity index 100% rename from providers/infrastructure-azure/v1.6.1/yttcc/overlay.yaml rename to providers/infrastructure-azure/v1.7.2/yttcc/overlay.yaml diff --git a/tkg/go.mod b/tkg/go.mod index 7af6d8ee2c4..9b084f843e9 100644 --- a/tkg/go.mod +++ b/tkg/go.mod @@ -93,7 +93,7 @@ require ( k8s.io/utils v0.0.0-20220812165043-ad590609e2e5 sigs.k8s.io/cluster-api v1.2.8 sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 - sigs.k8s.io/cluster-api-provider-azure v1.6.1 + sigs.k8s.io/cluster-api-provider-azure v1.7.2 sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 sigs.k8s.io/cluster-api/test v1.2.8 sigs.k8s.io/controller-runtime v0.12.3 diff --git a/tkg/go.sum b/tkg/go.sum index d9fdba98da0..3f0cfcdce21 100644 --- a/tkg/go.sum +++ b/tkg/go.sum @@ -2111,8 +2111,8 @@ sigs.k8s.io/cluster-api v1.2.8 h1:O0ZGyxGBeJaSWVptM7U0vTArAVlxCE5OtQItZ4OS2Y4= sigs.k8s.io/cluster-api v1.2.8/go.mod h1:HmxYwjLGHia5yjFoMY8I03Ha4kXAB+VTJnHFhAmPVig= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2 h1:WjTt0uyUG+FJBodnrSzb1L3mHfkIgtgMnNQQ+NJMuT8= sigs.k8s.io/cluster-api-provider-aws/v2 v2.0.2/go.mod h1:ZKM3W39Pl7uPuuB6mT/dWakgy1O8OcivGRCAZqSP+Hs= -sigs.k8s.io/cluster-api-provider-azure v1.6.1 h1:GpY9YLiUqovz4gwIEg2PRYOhJ5e/AG7sTHtoxzt6K4w= -sigs.k8s.io/cluster-api-provider-azure v1.6.1/go.mod h1:wM/V5BBRq+m5KCE9h5YVtMQ3qcIOsGBb7UDD/tXufko= +sigs.k8s.io/cluster-api-provider-azure v1.7.2 h1:MofJ6cUv1KAcxmDkf2KV85zjG6iOIbI0+E0xiK6ItZk= +sigs.k8s.io/cluster-api-provider-azure v1.7.2/go.mod h1:fDWZWADLRcRw2QSji8mqvaoxh/E+lDX8cbWZ/Xybb6E= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1 h1:HAOP2TTjBw7yxtQXTyAQLIq9rX/KQoHLhoptK+wh9PU= sigs.k8s.io/cluster-api-provider-vsphere v1.4.1/go.mod h1:11l0pUZNYA76sOl1HXOACCB56Pez3dgNfjw9ACEUUqQ= sigs.k8s.io/cluster-api/test v1.2.8 h1:kYziHLSV+KqBoQXg7STGU4ZQpClayqIyw+BTYGx71uE=