v1beta1

MetadataValue
Groupinfrastructure.cluster.x-k8s.io
Version
Modulesigs.k8s.io/cluster-api-provider-azure/api/v1beta1
Property Optionality

AADProfile

AADProfile - AAD integration managed by AKS. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
adminGroupObjectIDsAdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.string[]
Required
managedManaged - Whether to enable managed AAD.bool
Required

AddonProfile

AddonProfile represents a managed cluster add-on.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
configConfig - Key-value pairs for configuring the add-on.map[string]string
enabledEnabled - Whether the add-on is enabled or not.bool
nameName - The name of the managed cluster add-on.string

AddressRecord

AddressRecord specifies a DNS record mapping a hostname to an IPV4 or IPv6 address.

PropertyDescriptionType
Hostnamestring
IPstring

AKSAssignedIdentity

AKSAssignedIdentity defines the AKS assigned-identity of the aks marketplace extension, if configured.

Used by: AKSExtension.

AKSExtension

AKSExtension represents the configuration for an AKS cluster extension. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
aksAssignedIdentityTypeAKSAssignedIdentityType is the type of the AKS assigned identity.AKSAssignedIdentity
autoUpgradeMinorVersionAutoUpgradeMinorVersion is a flag to note if this extension participates in auto upgrade of minor version, or not.bool
configurationSettingsConfigurationSettings are the name-value pairs for configuring this extension.map[string]string
extensionTypeExtensionType is the type of the Extension of which this resource is an instance. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.string
identityIdentity is the identity type of the Extension resource in an AKS cluster.ExtensionIdentity
nameName is the name of the extension.string
planPlan is the plan of the extension.ExtensionPlan
releaseTrainReleaseTrain is the release train this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) This is only used if autoUpgradeMinorVersion is ‘true’.string
scopeScope is the scope at which this extension is enabled.ExtensionScope
versionVersion is the version of the extension.string

AKSSku

AKSSku - AKS SKU.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
tierTier - Tier of an AKS cluster.AzureManagedControlPlaneSkuTier

APIServerAccessProfile

APIServerAccessProfile tunes the accessibility of the cluster's control plane. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
APIServerAccessProfileClassSpec
authorizedIPRangesAuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.string[]

APIServerAccessProfileClassSpec

APIServerAccessProfileClassSpec defines the APIServerAccessProfile properties that may be shared across several API server access profiles.

PropertyDescriptionType
enablePrivateClusterEnablePrivateCluster indicates whether to create the cluster as a private cluster or not.bool
enablePrivateClusterPublicFQDNEnablePrivateClusterPublicFQDN indicates whether to create additional public FQDN for private cluster or not.bool
privateDNSZonePrivateDNSZone enables private dns zone mode for private cluster.string

AutoScalerProfile

AutoScalerProfile parameters to be applied to the cluster-autoscaler. See also AKS doc, K8s doc.
Default values are from https://learn.microsoft.com/azure/aks/cluster-autoscaler#using-the-autoscaler-profile

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
balanceSimilarNodeGroupsBalanceSimilarNodeGroups - Valid values are 'true' and 'false'. The default is false.BalanceSimilarNodeGroups
expanderExpander - If not specified, the default is 'random'. See expanders for more information.Expander
maxEmptyBulkDeleteMaxEmptyBulkDelete - The default is 10.string
maxGracefulTerminationSecMaxGracefulTerminationSec - The default is 600.string
maxNodeProvisionTimeMaxNodeProvisionTime - The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.string
maxTotalUnreadyPercentageMaxTotalUnreadyPercentage - The default is 45. The maximum is 100 and the minimum is 0.string
newPodScaleUpDelayNewPodScaleUpDelay - 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).string
okTotalUnreadyCountOkTotalUnreadyCount - This must be an integer. The default is 3.string
scaleDownDelayAfterAddScaleDownDelayAfterAdd - The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.string
scaleDownDelayAfterDeleteScaleDownDelayAfterDelete - 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.string
scaleDownDelayAfterFailureScaleDownDelayAfterFailure - The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.string
scaleDownUnneededTimeScaleDownUnneededTime - The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.string
scaleDownUnreadyTimeScaleDownUnreadyTime - The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.string
scaleDownUtilizationThresholdScaleDownUtilizationThreshold - The default is '0.5'.string
scanIntervalScanInterval - How often cluster is reevaluated for scale up or down. The default is '10s'.string
skipNodesWithLocalStorageSkipNodesWithLocalStorage - The default is false.SkipNodesWithLocalStorage
skipNodesWithSystemPodsSkipNodesWithSystemPods - The default is true.SkipNodesWithSystemPods

AzureASOManagedCluster


AzureASOManagedCluster is the Schema for the azureasomanagedclusters API.

Used by: AzureASOManagedClusterList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedClusterSpec
statusAzureASOManagedClusterStatus

AzureASOManagedClusterSpec

PropertyDescriptionType
AzureASOManagedClusterTemplateResourceSpec
controlPlaneEndpointControlPlaneEndpoint is the location of the API server within the control plane. CAPZ manages this field and it should not be set by the user. It fulfills Cluster API's cluster infrastructure provider contract. Because this field is programmatically set by CAPZ after resource creation, we define it as +optional in the API schema to permit resource admission.clusterv1.APIEndpoint

AzureASOManagedClusterStatus

PropertyDescriptionType
readyReady represents whether or not the cluster has been provisioned and is ready. It fulfills Cluster API's cluster infrastructure provider contract.bool
resourcesResourceStatus[]

AzureASOManagedClusterList


AzureASOManagedClusterList contains a list of AzureASOManagedCluster.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedCluster[]

AzureASOManagedClusterTemplate


AzureASOManagedClusterTemplate is the Schema for the azureasomanagedclustertemplates API.

Used by: AzureASOManagedClusterTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedClusterTemplateSpec

AzureASOManagedClusterTemplateList


AzureASOManagedClusterTemplateList contains a list of AzureASOManagedClusterTemplate.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedClusterTemplate[]

AzureASOManagedClusterTemplateResource

AzureASOManagedClusterTemplateResource defines the templated resource.

Used by: AzureASOManagedClusterTemplateSpec.

PropertyDescriptionType
specAzureASOManagedClusterTemplateResourceSpec

AzureASOManagedClusterTemplateResourceSpec

AzureASOManagedClusterTemplateResourceSpec defines the desired state of the templated resource.

Used by: AzureASOManagedClusterTemplateResource.

PropertyDescriptionType
resourcesResources are embedded ASO resources to be managed by this resource.runtime.RawExtension[]

AzureASOManagedClusterTemplateSpec

AzureASOManagedClusterTemplateSpec defines the desired state of AzureASOManagedClusterTemplate.

Used by: AzureASOManagedClusterTemplate.

PropertyDescriptionType
templateAzureASOManagedClusterTemplateResource

AzureASOManagedControlPlane


AzureASOManagedControlPlane is the Schema for the azureasomanagedcontrolplanes API.

Used by: AzureASOManagedControlPlaneList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedControlPlaneSpec
statusAzureASOManagedControlPlaneStatus

AzureASOManagedControlPlaneSpec

AzureASOManagedControlPlaneStatus

PropertyDescriptionType
controlPlaneEndpointControlPlaneEndpoint represents the endpoint for the cluster's API server.clusterv1.APIEndpoint
initializedInitialized represents whether or not the API server has been provisioned. It fulfills Cluster API's control plane provider contract. For AKS, this is equivalent to ready.bool
readyReady represents whether or not the API server is ready to receive requests. It fulfills Cluster API's control plane provider contract. For AKS, this is equivalent to initialized.bool
resourcesResourceStatus[]
versionVersion is the observed Kubernetes version of the control plane. It fulfills Cluster API's control plane provider contract.string

AzureASOManagedControlPlaneList


AzureASOManagedControlPlaneList contains a list of AzureASOManagedControlPlane.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedControlPlane[]

AzureASOManagedControlPlaneResource

AzureASOManagedControlPlaneResource defines the templated resource.

Used by: AzureASOManagedControlPlaneTemplateSpec, and AzureASOManagedMachinePoolTemplateSpec.

AzureASOManagedControlPlaneTemplate


AzureASOManagedControlPlaneTemplate is the Schema for the azureasomanagedcontrolplanetemplates API.

Used by: AzureASOManagedControlPlaneTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedControlPlaneTemplateSpec

AzureASOManagedControlPlaneTemplateList


AzureASOManagedControlPlaneTemplateList contains a list of AzureASOManagedControlPlaneTemplate.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedControlPlaneTemplate[]

AzureASOManagedControlPlaneTemplateResourceSpec

AzureASOManagedControlPlaneTemplateResourceSpec defines the desired state of the templated resource.

Used by: AzureASOManagedControlPlaneResource.

PropertyDescriptionType
resourcesResources are embedded ASO resources to be managed by this resource.runtime.RawExtension[]
versionVersion is the Kubernetes version of the control plane. It fulfills Cluster API's control plane provider contract.string

AzureASOManagedControlPlaneTemplateSpec

AzureASOManagedControlPlaneTemplateSpec defines the desired state of AzureASOManagedControlPlane.

Used by: AzureASOManagedControlPlaneTemplate.

PropertyDescriptionType
templateAzureASOManagedControlPlaneResource

AzureASOManagedMachinePool


AzureASOManagedMachinePool is the Schema for the azureasomanagedmachinepools API.

Used by: AzureASOManagedMachinePoolList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedMachinePoolSpec
statusAzureASOManagedMachinePoolStatus

AzureASOManagedMachinePoolSpec

AzureASOManagedMachinePoolStatus

PropertyDescriptionType
readyReady represents whether or not the infrastructure is ready to be used. It fulfills Cluster API's machine pool infrastructure provider contract.bool
replicasReplicas is the current number of provisioned replicas. It fulfills Cluster API's machine pool infrastructure provider contract.int32
resourcesResourceStatus[]

AzureASOManagedMachinePoolList


AzureASOManagedMachinePoolList contains a list of AzureASOManagedMachinePool.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedMachinePool[]

AzureASOManagedMachinePoolResource

AzureASOManagedMachinePoolResource defines the templated resource.

AzureASOManagedMachinePoolTemplate


AzureASOManagedMachinePoolTemplate is the Schema for the azureasomanagedmachinepooltemplates API.

Used by: AzureASOManagedMachinePoolTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureASOManagedMachinePoolTemplateSpec

AzureASOManagedMachinePoolTemplateList


AzureASOManagedMachinePoolTemplateList contains a list of AzureASOManagedMachinePoolTemplate.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureASOManagedMachinePoolTemplate[]

AzureASOManagedMachinePoolTemplateResourceSpec

AzureASOManagedMachinePoolTemplateResourceSpec defines the desired state of the templated resource.

Used by: AzureASOManagedMachinePoolResource.

PropertyDescriptionType
providerIDListProviderIDList is the list of cloud provider IDs for the instances. It fulfills Cluster API's machine pool infrastructure provider contract.string[]
resourcesResources are embedded ASO resources to be managed by this resource.runtime.RawExtension[]

AzureASOManagedMachinePoolTemplateSpec

AzureASOManagedMachinePoolTemplateSpec defines the desired state of AzureASOManagedMachinePoolTemplate.

Used by: AzureASOManagedMachinePoolTemplate.

PropertyDescriptionType
templateAzureASOManagedControlPlaneResource

AzureBastionTemplateSpec

AzureBastionTemplateSpec specifies a template for an Azure Bastion host.

Used by: BastionTemplateSpec.

PropertyDescriptionType
subnetSubnetTemplateSpec

AzureCluster


AzureCluster is the Schema for the azureclusters API.

Used by: AzureClusterList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureClusterSpec
statusAzureClusterStatus

AzureClusterSpec

PropertyDescriptionType
AzureClusterClassSpec
bastionSpecBastionSpec encapsulates all things related to the Bastions in the cluster.BastionSpec
controlPlaneEnabledControlPlaneEnabled enables control plane components in the cluster.bool
controlPlaneEndpointControlPlaneEndpoint 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.clusterv1.APIEndpoint
networkSpecNetworkSpec encapsulates all things related to Azure network.NetworkSpec
resourceGroupstring

AzureClusterStatus

PropertyDescriptionType
conditionsConditions defines current service state of the AzureCluster.clusterv1.Conditions
failureDomainsFailureDomains 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.clusterv1.FailureDomains
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool

AzureClusterClassSpec

AzureClusterClassSpec defines the AzureCluster properties that may be shared across several Azure clusters.

PropertyDescriptionType
additionalTagsAdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default.Tags
azureEnvironmentAzureEnvironment 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"
Note that values other than the default must also be accompanied by corresponding changes to the aso-controller-settings Secret to configure ASO to refer to the non-Public cloud. ASO currently does not support referring to multiple different clouds in a single installation. The following fields must be defined in the Secret: - AZURE_AUTHORITY_HOST - AZURE_RESOURCE_MANAGER_ENDPOINT - AZURE_RESOURCE_MANAGER_AUDIENCE
See the ASO docs for more details.
string
cloudProviderConfigOverridesCloudProviderConfigOverrides 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://cloud-provider-azure.sigs.k8s.io/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.CloudProviderConfigOverrides
extendedLocationExtendedLocation is an optional set of ExtendedLocation properties for clusters on Azure public MEC.ExtendedLocationSpec
failureDomainsFailureDomains is a list of failure domains in the cluster's region, used to restrict eligibility to host the control plane. A FailureDomain maps to an availability zone, which is a separated group of datacenters within a region. See: https://learn.microsoft.com/azure/reliability/availability-zones-overviewclusterv1.FailureDomains
identityRefIdentityRef is a reference to an AzureIdentity to be used when reconciling this clustercorev1.ObjectReference
locationstring
subscriptionIDstring

AzureClusterIdentity


AzureClusterIdentity is the Schema for the azureclustersidentities API.

Used by: AzureClusterIdentityList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureClusterIdentitySpec
statusAzureClusterIdentityStatus

AzureClusterIdentitySpec

PropertyDescriptionType
allowedNamespacesAllowedNamespaces 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.
AllowedNamespaces
certPathCertPath is the path where certificates exist. When set, it takes precedence over ClientSecret for types that use certs like ServicePrincipalCertificate.string
clientIDClientID is the service principal client ID. Both User Assigned MSI and SP can use this field.string
clientSecretClientSecret is a secret reference which should contain either a Service Principal password or certificate secret.corev1.SecretReference
resourceIDResourceID is the Azure resource ID for the User Assigned MSI resource. Only applicable when type is UserAssignedMSI.
Deprecated: This field no longer has any effect.
string
tenantIDTenantID is the service principal primary tenant id.string
typeType is the type of Azure Identity used. ServicePrincipal, ServicePrincipalCertificate, UserAssignedMSI, ManualServicePrincipal, UserAssignedIdentityCredential, or WorkloadIdentity.IdentityType
userAssignedIdentityCredentialsCloudTypeUserAssignedIdentityCredentialsCloudType is used with UserAssignedIdentityCredentialsPath to specify the Cloud type. Can only be one of the following values: public, china, or usgovernment If a value is not specified, defaults to publicstring
userAssignedIdentityCredentialsPathUserAssignedIdentityCredentialsPath is the path where an existing JSON file exists containing the JSON format of a UserAssignedIdentityCredentials struct. See the msi-dataplane for more details on UserAssignedIdentityCredentials - https://github.com/Azure/msi-dataplane/blob/main/pkg/dataplane/internal/client/models.go#L125string

AzureClusterIdentityStatus

PropertyDescriptionType
conditionsConditions defines current service state of the AzureClusterIdentity.clusterv1.Conditions

AzureClusterIdentityList


AzureClusterIdentityList contains a list of AzureClusterIdentity.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureClusterIdentity[]

AzureClusterList


AzureClusterList contains a list of AzureClusters.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureCluster[]

AzureClusterTemplate


AzureClusterTemplate is the Schema for the azureclustertemplates API.

Used by: AzureClusterTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureClusterTemplateSpec

AzureClusterTemplateList


AzureClusterTemplateList contains a list of AzureClusterTemplate.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureClusterTemplate[]

AzureClusterTemplateResource

AzureClusterTemplateResource describes the data needed to create an AzureCluster from a template.

Used by: AzureClusterTemplateSpec.

PropertyDescriptionType
specAzureClusterTemplateResourceSpec

AzureClusterTemplateResourceSpec

AzureClusterTemplateResourceSpec specifies an Azure cluster template resource.

Used by: AzureClusterTemplateResource.

PropertyDescriptionType
AzureClusterClassSpec
bastionSpecBastionSpec encapsulates all things related to the Bastions in the cluster.BastionTemplateSpec
networkSpecNetworkSpec encapsulates all things related to Azure network.NetworkTemplateSpec

AzureClusterTemplateSpec

AzureClusterTemplateSpec defines the desired state of AzureClusterTemplate.

Used by: AzureClusterTemplate.

PropertyDescriptionType
templateAzureClusterTemplateResource

AzureKeyVaultKms

AzureKeyVaultKms service settings for the security profile. See also AKS doc.

Used by: ManagedClusterSecurityProfile.

PropertyDescriptionType
enabledEnabled enables the Azure Key Vault key management service. The default is false.bool
Required
keyIDKeyID defines the Identifier of Azure Key Vault key. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier.string
Required
keyVaultNetworkAccessKeyVaultNetworkAccess defines the network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public.KeyVaultNetworkAccessTypes
keyVaultResourceIDKeyVaultResourceID is the Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID.string

AzureMachine


AzureMachine is the Schema for the azuremachines API.

Used by: AzureMachineList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureMachineSpec
statusAzureMachineStatus

AzureMachineSpec

PropertyDescriptionType
acceleratedNetworkingDeprecated: AcceleratedNetworking should be set in the networkInterfaces field.bool
additionalCapabilitiesAdditionalCapabilities specifies additional capabilities enabled or disabled on the virtual machine.AdditionalCapabilities
additionalTagsAdditionalTags 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.Tags
allocatePublicIPAllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.bool
capacityReservationGroupIDCapacityReservationGroupID specifies the capacity reservation group resource id that should be used for allocating the virtual machine. The field size should be greater than 0 and the field input must start with '/'. The input for capacityReservationGroupID must be similar to '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}'. The keys which are used should be among 'subscriptions', 'providers' and 'resourcegroups' followed by valid ID or names respectively. It is optional but may not be changed once set.string
dataDisksDataDisk specifies the parameters that are used to add one or more data disks to the machineDataDisk[]
diagnosticsDiagnostics specifies the diagnostics settings for a virtual machine. If not specified then Boot diagnostics (Managed) will be enabled.Diagnostics
disableExtensionOperationsDisableExtensionOperations specifies whether extension operations should be disabled on the virtual machine. Use this setting only if VMExtensions are not supported by your image, as it disables CAPZ bootstrapping extension used for detecting Kubernetes bootstrap failure. This may only be set to True when no extensions are configured on the virtual machine.bool
disableVMBootstrapExtensionDisableVMBootstrapExtension specifies whether the VM bootstrap extension should be disabled on the virtual machine. Use this setting if you want to disable only the bootstrapping extension and not all extensions.bool
dnsServersDNSServers adds a list of DNS Server IP addresses to the VM NICs.string[]
enableIPForwardingEnableIPForwarding 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.bool
failureDomainFailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zonestring
identityIdentity 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 VMVMIdentity
imageImage is used to provide details of an image to use during VM creation. If image details are omitted, the default is to use an Azure Compute Gallery Image from CAPZ's community gallery.Image
networkInterfacesNetworkInterfaces 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.NetworkInterface[]
osDiskOSDisk specifies the parameters for the operating system disk of the machineOSDisk
providerIDProviderID is the unique identifier as specified by the cloud provider.string
roleAssignmentNameDeprecated: RoleAssignmentName should be set in the systemAssignedIdentityRole field.string
securityProfileSecurityProfile specifies the Security profile settings for a virtual machine.SecurityProfile
spotVMOptionsSpotVMOptions allows the ability to specify the Machine should use a Spot VMSpotVMOptions
sshPublicKeySSHPublicKey is the SSH public key string, base64-encoded to add to a Virtual Machine. Linux only. Refer to documentation on how to set up SSH access on Windows instances.string
subnetNameDeprecated: SubnetName should be set in the networkInterfaces field.string
systemAssignedIdentityRoleSystemAssignedIdentityRole defines the role and scope to assign to the system-assigned identity.SystemAssignedIdentityRole
userAssignedIdentitiesUserAssignedIdentities 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://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cliUserAssignedIdentity[]
vmExtensionsVMExtensions specifies a list of extensions to be added to the virtual machine.VMExtension[]
vmSizestring

AzureMachineStatus

PropertyDescriptionType
addressesAddresses contains the Azure instance associated addresses.corev1.NodeAddress[]
conditionsConditions defines current service state of the AzureMachine.clusterv1.Conditions
failureMessageErrorMessage 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.
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.
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.
string
failureReasonErrorReason 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.
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.
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.
string
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool
vmStateVMState is the provisioning state of the Azure virtual machine.ProvisioningState

AzureMachineList


AzureMachineList contains a list of AzureMachine.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureMachine[]

AzureMachineTemplate


AzureMachineTemplate is the Schema for the azuremachinetemplates API.

Used by: AzureMachineTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureMachineTemplateSpec

AzureMachineTemplateList


AzureMachineTemplateList contains a list of AzureMachineTemplates.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureMachineTemplate[]

AzureMachineTemplateResource

AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.

Used by: AzureMachineTemplateSpec.

PropertyDescriptionType
metadataclusterv1.ObjectMeta
specSpec is the specification of the desired behavior of the machine.AzureMachineSpec

AzureMachineTemplateSpec

AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.

Used by: AzureMachineTemplate.

PropertyDescriptionType
templateAzureMachineTemplateResource

azureMachineWebhook


azureMachineWebhook implements a validating and defaulting webhook for AzureMachines.

PropertyDescriptionType
Clientclient.Client

AzureManagedCluster


AzureManagedCluster is the Schema for the azuremanagedclusters API.

Used by: AzureManagedClusterList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedClusterSpec
statusAzureManagedClusterStatus

AzureManagedClusterSpec

PropertyDescriptionType
controlPlaneEndpointControlPlaneEndpoint represents the endpoint used to communicate with the control plane. Immutable, populated by the AKS API at create. Because this field is programmatically set by CAPZ after resource creation, we define it as +optional in the API schema to permit resource admission.clusterv1.APIEndpoint

AzureManagedClusterStatus

PropertyDescriptionType
readyReady is true when the provider resource is ready.bool

AzureManagedClusterList


AzureManagedClusterList contains a list of AzureManagedClusters.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedCluster[]

AzureManagedClusterTemplate


AzureManagedClusterTemplate is the Schema for the AzureManagedClusterTemplates API.

Used by: AzureManagedClusterTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedClusterTemplateSpec

AzureManagedClusterTemplateList


AzureManagedClusterTemplateList contains a list of AzureManagedClusterTemplates.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedClusterTemplate[]

AzureManagedClusterTemplateResource

AzureManagedClusterTemplateResource describes the data needed to create an AzureManagedCluster from a template.

Used by: AzureManagedClusterTemplateSpec.

PropertyDescriptionType
specAzureManagedClusterTemplateResourceSpec

AzureManagedClusterTemplateSpec

AzureManagedClusterTemplateSpec defines the desired state of AzureManagedClusterTemplate.

Used by: AzureManagedClusterTemplate.

PropertyDescriptionType
templateAzureManagedClusterTemplateResource

AzureManagedControlPlane


AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes API.

Used by: AzureManagedControlPlaneList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedControlPlaneSpec
statusAzureManagedControlPlaneStatus

AzureManagedControlPlaneSpec

PropertyDescriptionType
AzureManagedControlPlaneClassSpec
controlPlaneEndpointControlPlaneEndpoint represents the endpoint used to communicate with the control plane. Immutable, populated by the AKS API at create.clusterv1.APIEndpoint
dnsPrefixDNSPrefix allows the user to customize dns prefix. Immutable.string
fleetsMemberFleetsMember is the spec for the fleet this cluster is a member of. See also AKS doc.
FleetsMember
nodeResourceGroupNameNodeResourceGroupName is the name of the resource group containing cluster IaaS resources. Will be populated to default in webhook. Immutable.string
sshPublicKeySSHPublicKey is a string literal containing an ssh public key base64 encoded. Use empty string to autogenerate new key. Use null value to not set key. Immutable.string

AzureManagedControlPlaneStatus

PropertyDescriptionType
autoUpgradeVersionAutoUpgradeVersion is the Kubernetes version populated after auto-upgrade based on the upgrade channel.string
conditionsConditions defines current service state of the AzureManagedControlPlane.clusterv1.Conditions
initializedInitialized 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.bool
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
oidcIssuerProfileOIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster.OIDCIssuerProfileStatus
readyReady is true when the provider resource is ready.bool
versionVersion defines the Kubernetes version for the control plane instance.string

AzureManagedControlPlaneClassSpec

AzureManagedControlPlaneClassSpec defines the AzureManagedControlPlane properties that may be shared across several azure managed control planes.

PropertyDescriptionType
aadProfileAadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication.AADProfile
additionalTagsAdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default.Tags
addonProfilesAddonProfiles are the profiles of managed cluster add-on.AddonProfile[]
apiServerAccessProfileAPIServerAccessProfile is the access profile for AKS API server. Immutable except for authorizedIPRanges.APIServerAccessProfile
asoManagedClusterPatchesASOManagedClusterPatches defines JSON merge patches to be applied to the generated ASO ManagedCluster resource. WARNING: This is meant to be used sparingly to enable features for development and testing that are not otherwise represented in the CAPZ API. Misconfiguration that conflicts with CAPZ's normal mode of operation is possible.string[]
autoscalerProfileAutoscalerProfile is the parameters to be applied to the cluster-autoscaler when enabledAutoScalerProfile
autoUpgradeProfileAutoUpgradeProfile defines the auto upgrade configuration.ManagedClusterAutoUpgradeProfile
azureEnvironmentAzureEnvironment 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" - PublicCloud: "AzurePublicCloud" - USGovernmentCloud: "AzureUSGovernmentCloud"
Note that values other than the default must also be accompanied by corresponding changes to the aso-controller-settings Secret to configure ASO to refer to the non-Public cloud. ASO currently does not support referring to multiple different clouds in a single installation. The following fields must be defined in the Secret: - AZURE_AUTHORITY_HOST - AZURE_RESOURCE_MANAGER_ENDPOINT - AZURE_RESOURCE_MANAGER_AUDIENCE
See the ASO docs for more details.
string
disableLocalAccountsDisableLocalAccounts disables getting static credentials for this cluster when set. Expected to only be used for AAD clusters.bool
dnsServiceIPDNSServiceIP is an IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. Immutable.string
enablePreviewFeaturesEnablePreviewFeatures enables preview features for the cluster.bool
extensionsExtensions is a list of AKS extensions to be installed on the cluster.AKSExtension[]
fleetsMemberFleetsMember is the spec for the fleet this cluster is a member of. See also AKS doc.
FleetsMemberClassSpec
httpProxyConfigHTTPProxyConfig is the HTTP proxy configuration for the cluster. Immutable.HTTPProxyConfig
identityIdentity configuration used by the AKS control plane.Identity
identityRefIdentityRef is a reference to a AzureClusterIdentity to be used when reconciling this clustercorev1.ObjectReference
kubeletUserAssignedIdentityKubeletUserAssignedIdentity is the user-assigned identity for kubelet. For authentication with Azure Container Registry.string
loadBalancerProfileLoadBalancerProfile is the profile of the cluster load balancer.LoadBalancerProfile
loadBalancerSKULoadBalancerSKU is the SKU of the loadBalancer to be provisioned. Immutable.string
locationLocation is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus".string
machineTemplateMachineTemplate contains information about how machines should be shaped when creating or updating a control plane. For the AzureManagedControlPlaneTemplate, this field is used only to fulfill the CAPI contract.AzureManagedControlPlaneTemplateMachineTemplate
networkDataplaneNetworkDataplane is the dataplane used for building the Kubernetes network.NetworkDataplaneType
networkPluginNetworkPlugin used for building Kubernetes network.string
networkPluginModeNetworkPluginMode is the mode the network plugin should use. Allowed value is "overlay".NetworkPluginMode
networkPolicyNetworkPolicy used for building Kubernetes network.string
oidcIssuerProfileOIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster.OIDCIssuerProfile
outboundTypeOutbound configuration used by Nodes.ManagedControlPlaneOutboundType
resourceGroupNameResourceGroupName is the name of the Azure resource group for this AKS Cluster. Immutable.string
securityProfileSecurityProfile defines the security profile for cluster.ManagedClusterSecurityProfile
skuSKU is the SKU of the AKS to be provisioned.AKSSku
subscriptionIDSubscriptionID is the GUID of the Azure subscription that owns this cluster.string
versionVersion defines the desired Kubernetes version.string
virtualNetworkVirtualNetwork describes the virtual network for the AKS cluster. It will be created if it does not already exist.ManagedControlPlaneVirtualNetwork

AzureManagedControlPlaneList


AzureManagedControlPlaneList contains a list of AzureManagedControlPlane.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedControlPlane[]

AzureManagedControlPlaneSkuTier

AzureManagedControlPlaneSkuTier - Tier of a managed cluster SKU.

Used by: AKSSku.

AzureManagedControlPlaneTemplate


AzureManagedControlPlaneTemplate is the Schema for the AzureManagedControlPlaneTemplates API.

Used by: AzureManagedControlPlaneTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedControlPlaneTemplateSpec

AzureManagedControlPlaneTemplateList


AzureManagedControlPlaneTemplateList contains a list of AzureManagedControlPlaneTemplates.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedControlPlaneTemplate[]

AzureManagedControlPlaneTemplateResource

AzureManagedControlPlaneTemplateResource describes the data needed to create an AzureManagedCluster from a template.

Used by: AzureManagedControlPlaneTemplateSpec.

AzureManagedControlPlaneTemplateResourceSpec

AzureManagedControlPlaneTemplateResourceSpec specifies an Azure managed control plane template resource.

Used by: AzureManagedControlPlaneTemplateResource.

AzureManagedControlPlaneTemplateSpec

AzureManagedControlPlaneTemplateSpec defines the desired state of AzureManagedControlPlaneTemplate.

Used by: AzureManagedControlPlaneTemplate.

PropertyDescriptionType
templateAzureManagedControlPlaneTemplateResource

azureManagedControlPlaneTemplateWebhook


PropertyDescriptionType
Clientclient.Client

azureManagedControlPlaneWebhook


azureManagedControlPlaneWebhook implements a validating and defaulting webhook for AzureManagedControlPlane.

PropertyDescriptionType
Clientclient.Client

AzureManagedMachinePool


AzureManagedMachinePool is the Schema for the azuremanagedmachinepools API.

Used by: AzureManagedMachinePoolList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedMachinePoolSpec
statusAzureManagedMachinePoolStatus

AzureManagedMachinePoolSpec

PropertyDescriptionType
AzureManagedMachinePoolClassSpec
providerIDListProviderIDList is the unique identifier as specified by the cloud provider.string[]

AzureManagedMachinePoolStatus

PropertyDescriptionType
conditionsConditions defines current service state of the AzureManagedControlPlane.clusterv1.Conditions
errorMessageAny 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.string
errorReasonAny 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.string
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool
replicasReplicas is the most recently observed number of replicas.int32

AzureManagedMachinePoolClassSpec

AzureManagedMachinePoolClassSpec defines the AzureManagedMachinePool properties that may be shared across several Azure managed machinepools.

PropertyDescriptionType
additionalTagsAdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the ones added by default.Tags
asoManagedClustersAgentPoolPatchesASOManagedClustersAgentPoolPatches defines JSON merge patches to be applied to the generated ASO ManagedClustersAgentPool resource. WARNING: This is meant to be used sparingly to enable features for development and testing that are not otherwise represented in the CAPZ API. Misconfiguration that conflicts with CAPZ's normal mode of operation is possible.string[]
availabilityZonesAvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. Immutable.string[]
enableEncryptionAtHostEnableEncryptionAtHost indicates whether host encryption is enabled on the node pool. Immutable. See also AKS doc.
bool
enableFIPSEnableFIPS indicates whether FIPS is enabled on the node pool. Immutable.bool
enableNodePublicIPEnableNodePublicIP controls whether or not nodes in the pool each have a public IP address. Immutable.bool
enableUltraSSDEnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool. Immutable.bool
kubeletConfigKubeletConfig specifies the kubelet configurations for nodes. Immutable.KubeletConfig
kubeletDiskTypeKubeletDiskType specifies the kubelet disk type. Default to OS. Possible values include: 'OS', 'Temporary'. Requires Microsoft.ContainerService/KubeletDisk preview feature to be set. Immutable. See also AKS doc.
KubeletDiskType
linuxOSConfigLinuxOSConfig specifies the custom Linux OS settings and configurations. Immutable.LinuxOSConfig
maxPodsMaxPods specifies the kubelet --max-pods configuration for the node pool. Immutable. See also AKS doc, K8s doc.
int
modeMode represents the mode of an agent pool. Possible values include: System, User.string
nameName is the name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name. Immutable.string
nodeLabelsNode labels represent the labels for all of the nodes present in node pool. See also AKS doc.
map[string]string
nodePublicIPPrefixIDNodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from. Immutable.string
osDiskSizeGBOSDiskSizeGB 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. Immutable.int
osDiskTypeOsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed' (default). Immutable. See also AKS doc.
string
osTypeOSType specifies the virtual machine operating system. Default to Linux. Possible values include: 'Linux', 'Windows'. 'Windows' requires the AzureManagedControlPlane's spec.networkPlugin to be azure. Immutable. See also AKS doc.
string
scaleDownModeScaleDownMode affects the cluster autoscaler behavior. Default to Delete. Possible values include: 'Deallocate', 'Delete'string
scaleSetPriorityScaleSetPriority specifies the ScaleSetPriority value. Default to Regular. Possible values include: 'Regular', 'Spot' Immutable.string
scalingScaling specifies the autoscaling parameters for the node pool.ManagedMachinePoolScaling
skuSKU is the size of the VMs in the node pool. Immutable.string
spotMaxPriceSpotMaxPrice defines max price to pay for spot instance. Possible values are any decimal value greater than zero or -1. If you set the max price to be -1, the VM won't be evicted based on price. The price for the VM will be the current price for spot or the price for a standard VM, which ever is less, as long as there's capacity and quota available.resource.Quantity
subnetNameSubnetName specifies the Subnet where the MachinePool will be placed Immutable.string
taintsTaints specifies the taints for nodes present in this agent pool. See also AKS doc.
Taints

AzureManagedMachinePoolList


AzureManagedMachinePoolList contains a list of AzureManagedMachinePools.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedMachinePool[]

AzureManagedMachinePoolTemplate


AzureManagedMachinePoolTemplate is the Schema for the AzureManagedMachinePoolTemplates API.

Used by: AzureManagedMachinePoolTemplateList.

PropertyDescriptionType
metav1.TypeMeta
metav1.ObjectMeta
specAzureManagedMachinePoolTemplateSpec

AzureManagedMachinePoolTemplateList


AzureManagedMachinePoolTemplateList contains a list of AzureManagedMachinePoolTemplates.

PropertyDescriptionType
metav1.TypeMeta
metav1.ListMeta
itemsAzureManagedMachinePoolTemplate[]

AzureManagedMachinePoolTemplateResource

AzureManagedMachinePoolTemplateResource describes the data needed to create an AzureManagedCluster from a template.

Used by: AzureManagedMachinePoolTemplateSpec.

PropertyDescriptionType
specAzureManagedMachinePoolTemplateResourceSpec

AzureManagedMachinePoolTemplateResourceSpec

AzureManagedMachinePoolTemplateResourceSpec specifies an Azure managed control plane template resource.

Used by: AzureManagedMachinePoolTemplateResource.

AzureManagedMachinePoolTemplateSpec

AzureManagedMachinePoolTemplateSpec defines the desired state of AzureManagedMachinePoolTemplate.

Used by: AzureManagedMachinePoolTemplate.

PropertyDescriptionType
templateAzureManagedMachinePoolTemplateResource

azureManagedMachinePoolTemplateWebhook


PropertyDescriptionType
Clientclient.Client

azureManagedMachinePoolWebhook


azureManagedMachinePoolWebhook implements a validating and defaulting webhook for AzureManagedMachinePool.

PropertyDescriptionType
Clientclient.Client

BackOffConfig

BackOffConfig indicates the back-off config options.

Used by: CloudProviderConfigOverrides.

PropertyDescriptionType
cloudProviderBackoffbool
cloudProviderBackoffDurationint
cloudProviderBackoffExponentresource.Quantity
cloudProviderBackoffJitterresource.Quantity
cloudProviderBackoffRetriesint

BalanceSimilarNodeGroups

BalanceSimilarNodeGroups enumerates the values for BalanceSimilarNodeGroups.

Used by: AutoScalerProfile.

BastionTemplateSpec

BastionTemplateSpec specifies a template for a bastion host.

Used by: AzureClusterTemplateResourceSpec.

PropertyDescriptionType
azureBastionAzureBastionTemplateSpec

BuildParams

BuildParams is used to build tags around an azure resource.

PropertyDescriptionType
AdditionalAny additional tags to be added to the resource.Tags
ClusterNameClusterName is the cluster associated with the resource.string
LifecycleLifecycle determines the resource lifecycle.ResourceLifecycle
NameName is the name of the resource, it's applied as the tag "Name" on Azure.string
ResourceIDResourceID is the unique identifier of the resource to be tagged.string
RoleRole is the role associated to the resource.string

CloudProviderConfigOverrides

CloudProviderConfigOverrides represents the fields that can be overridden in azure cloud provider config.

Used by: AzureClusterClassSpec.

PropertyDescriptionType
backOffsBackOffConfig
rateLimitsRateLimitSpec[]

CPUManagerPolicy

CPUManagerPolicy enumerates the values for KubeletConfig.CPUManagerPolicy.

Used by: KubeletConfig.

Expander

Expander enumerates the values for Expander.

Used by: AutoScalerProfile.

ExtendedLocationSpec

ExtendedLocationSpec defines the ExtendedLocation properties to enable CAPZ for Azure public MEC.

Used by: AzureClusterClassSpec.

PropertyDescriptionType
nameName defines the name for the extended location.string
typeType defines the type for the extended location.string

ExtensionIdentity

ExtensionIdentity defines the identity of the AKS marketplace extension, if configured.

Used by: AKSExtension.

ExtensionPlan

ExtensionPlan represents the plan for an AKS marketplace extension.

Used by: AKSExtension.

PropertyDescriptionType
nameName is the user-defined name of the 3rd Party Artifact that is being procured.string
productProduct is the name of the 3rd Party artifact that is being procured.string
promotionCodePromotionCode is a publisher-provided promotion code as provisioned in Data Market for the said product/artifact.string
publisherPublisher is the name of the publisher of the 3rd Party Artifact that is being bought.string
versionVersion is the version of the plan.string

ExtensionScope

ExtensionScope defines the scope of the AKS marketplace extension, if configured.

Used by: AKSExtension.

PropertyDescriptionType
releaseNamespaceReleaseNamespace is the namespace where the extension Release must be placed, for a Cluster-scoped extension. Required for Cluster-scoped extensions.string
scopeTypeScopeType is the scope of the extension. It can be either Cluster or Namespace, but not both.ExtensionScopeType
targetNamespaceTargetNamespace is the namespace where the extension will be created for a Namespace-scoped extension. Required for Namespace-scoped extensions.string

ExtensionScopeType

ExtensionScopeType defines the scope type of the AKS marketplace extension, if configured.

Used by: ExtensionScope.

FleetsMemberClassSpec

FleetsMemberClassSpec defines the FleetsMemberSpec properties that may be shared across several Azure clusters.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
groupGroup is the group this member belongs to for multi-cluster update management.string
managerNameManagerName is the name of the fleet manager.string
managerResourceGroupManagerResourceGroup is the resource group of the fleet manager.string

FrontendIPClass

FrontendIPClass defines the FrontendIP properties that may be shared across several Azure clusters.

PropertyDescriptionType
privateIPstring

Future

Future contains the data needed for an Azure long-running operation to continue across reconcile loops.

PropertyDescriptionType
dataData is the base64 url encoded json Azure AutoRest Future.string
nameName is the name of the Azure resource. Together with the service name, this forms the unique identifier for the future.string
resourceGroupResourceGroup is the Azure resource group for the resource.string
serviceNameServiceName is the name of the Azure service. Together with the name of the resource, this forms the unique identifier for the future.string
typeType describes the type of future, such as update, create, delete, etc.string

HTTPProxyConfig

HTTPProxyConfig is the HTTP proxy configuration for the cluster.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
httpProxyHTTPProxy is the HTTP proxy server endpoint to use.string
httpsProxyHTTPSProxy is the HTTPS proxy server endpoint to use.string
noProxyNoProxy indicates the endpoints that should not go through proxy.string[]
trustedCaTrustedCA is the alternative CA cert to use for connecting to proxy servers.string

Identity

Identity represents the Identity configuration for an AKS control plane. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
typeType - The Identity type to use.ManagedControlPlaneIdentityType
userAssignedIdentityResourceIDUserAssignedIdentityResourceID - Identity ARM resource ID when using user-assigned identity.string

KeyVaultNetworkAccessTypes

KeyVaultNetworkAccessTypes defines the types of network access of key vault. The possible values are Public and Private. The default value is Public.

Used by: AzureKeyVaultKms.

KubeletConfig

KubeletConfig defines the supported subset of kubelet configurations for nodes in pools. See also AKS doc, K8s doc.

Used by: AzureManagedMachinePoolClassSpec.

PropertyDescriptionType
allowedUnsafeSysctlsAllowedUnsafeSysctls - Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in *). Valid values match kernel.shm*, kernel.msg*, kernel.sem, fs.mqueue.*, or net.*.string[]
containerLogMaxFilesContainerLogMaxFiles - The maximum number of container log files that can be present for a container. The number must be ≥ 2.int
containerLogMaxSizeMBContainerLogMaxSizeMB - The maximum size in MB of a container log file before it is rotated.int
cpuCfsQuotaCPUCfsQuota - Enable CPU CFS quota enforcement for containers that specify CPU limits.bool
cpuCfsQuotaPeriodCPUCfsQuotaPeriod - Sets CPU CFS quota period value. Must end in "ms", e.g. "100ms"string
cpuManagerPolicyCPUManagerPolicy - CPU Manager policy to use.CPUManagerPolicy
failSwapOnFailSwapOn - If set to true it will make the Kubelet fail to start if swap is enabled on the node.bool
imageGcHighThresholdImageGcHighThreshold - The percent of disk usage after which image garbage collection is always run. Valid values are 0-100 (inclusive).int
imageGcLowThresholdImageGcLowThreshold - The percent of disk usage before which image garbage collection is never run. Valid values are 0-100 (inclusive) and must be less than imageGcHighThreshold.int
podMaxPidsPodMaxPids - The maximum number of processes per pod. Must not exceed kernel PID limit. -1 disables the limit.int
topologyManagerPolicyTopologyManagerPolicy - Topology Manager policy to use.TopologyManagerPolicy

KubeletDiskType

KubeletDiskType enumerates the values for the agent pool's KubeletDiskType.

Used by: AzureManagedMachinePoolClassSpec.

LBType

LBType defines an Azure load balancer Type.

Used by: LoadBalancerClassSpec.

ValueDescription
"Internal"
"Public"

LinuxOSConfig

LinuxOSConfig specifies the custom Linux OS settings and configurations. See also AKS doc.

Used by: AzureManagedMachinePoolClassSpec.

PropertyDescriptionType
swapFileSizeMBSwapFileSizeMB specifies size in MB of a swap file will be created on the agent nodes from this node pool. Max value of SwapFileSizeMB should be the size of temporary disk(/dev/sdb). Must be at least 1. See also AKS doc.
int
sysctlsSysctl specifies the settings for Linux agent nodes.SysctlConfig
transparentHugePageDefragTransparentHugePageDefrag specifies whether the kernel should make aggressive use of memory compaction to make more hugepages available. See also [Linux doc](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details.).
TransparentHugePageOption
transparentHugePageEnabledTransparentHugePageEnabled specifies various modes of Transparent Hugepages. See also [Linux doc](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details.).
TransparentHugePageOption

LoadBalancerClassSpec

LoadBalancerClassSpec defines the LoadBalancerSpec properties that may be shared across several Azure clusters.

Used by: NetworkTemplateSpec, NetworkTemplateSpec, and NetworkTemplateSpec.

PropertyDescriptionType
idleTimeoutInMinutesIdleTimeoutInMinutes specifies the timeout for the TCP idle connection.int32
skuSKU
typeLBType

LoadBalancerProfile

LoadBalancerProfile - Profile of the cluster load balancer. At most one of managedOutboundIPs, outboundIPPrefixes, or outboundIPs may be specified. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
allocatedOutboundPortsAllocatedOutboundPorts - 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.int
idleTimeoutInMinutesIdleTimeoutInMinutes - 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.int
managedOutboundIPsManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer.int
outboundIPPrefixesOutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer.string[]
outboundIPsOutboundIPs - Desired outbound IP resources for the cluster load balancer.string[]

ManagedClusterAutoUpgradeProfile

ManagedClusterAutoUpgradeProfile defines the auto upgrade profile for a managed cluster.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
upgradeChannelUpgradeChannel determines the type of upgrade channel for automatically upgrading the cluster.UpgradeChannel

ManagedClusterSecurityProfile

ManagedClusterSecurityProfile defines the security profile for the cluster.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
azureKeyVaultKmsAzureKeyVaultKms defines Azure Key Vault Management Services Profile for the security profile.AzureKeyVaultKms
defenderDefender settings for the security profile.ManagedClusterSecurityProfileDefender
imageCleanerImageCleaner settings for the security profile.ManagedClusterSecurityProfileImageCleaner
workloadIdentityWorkloadidentity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. Ensure to enable OIDC issuer while enabling Workload IdentityManagedClusterSecurityProfileWorkloadIdentity

ManagedClusterSecurityProfileDefender

ManagedClusterSecurityProfileDefender defines Microsoft Defender settings for the security profile. See also AKS doc.

Used by: ManagedClusterSecurityProfile.

PropertyDescriptionType
logAnalyticsWorkspaceResourceIDLogAnalyticsWorkspaceResourceID is the ID of the Log Analytics workspace that has to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID.string
Required
securityMonitoringSecurityMonitoring profile defines the Microsoft Defender threat detection for Cloud settings for the security profile.ManagedClusterSecurityProfileDefenderSecurityMonitoring
Required

ManagedClusterSecurityProfileDefenderSecurityMonitoring

ManagedClusterSecurityProfileDefenderSecurityMonitoring settings for the security profile threat detection.

Used by: ManagedClusterSecurityProfileDefender.

PropertyDescriptionType
enabledEnabled enables Defender threat detectionbool
Required

ManagedClusterSecurityProfileImageCleaner

ManagedClusterSecurityProfileImageCleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. See also AKS doc.

Used by: ManagedClusterSecurityProfile.

PropertyDescriptionType
enabledEnabled enables the Image Cleaner on AKS cluster.bool
Required
intervalHoursIntervalHours defines Image Cleaner scanning interval in hours. Default value is 24 hours.int

ManagedClusterSecurityProfileWorkloadIdentity

ManagedClusterSecurityProfileWorkloadIdentity settings for the security profile. See also AKS doc.

Used by: ManagedClusterSecurityProfile.

PropertyDescriptionType
enabledEnabled enables the workload identity.bool
Required

ManagedControlPlaneIdentityType

ManagedControlPlaneIdentityType enumerates the values for managed control plane identity type.

Used by: Identity.

ManagedControlPlaneOutboundType

ManagedControlPlaneOutboundType enumerates the values for the managed control plane OutboundType.

Used by: AzureManagedControlPlaneClassSpec.

ManagedControlPlaneSubnet

ManagedControlPlaneSubnet describes a subnet for an AKS cluster.

Used by: ManagedControlPlaneVirtualNetworkClassSpec.

PropertyDescriptionType
cidrBlockstring
namestring
privateEndpointsPrivateEndpoints is a slice of Virtual Network private endpoints to create for the subnets.PrivateEndpoints
serviceEndpointsServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets.ServiceEndpoints

ManagedControlPlaneVirtualNetwork

ManagedControlPlaneVirtualNetwork describes a virtual network required to provision AKS clusters.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
ManagedControlPlaneVirtualNetworkClassSpec
nameName is the name of the virtual network.string
resourceGroupResourceGroup is the name of the Azure resource group for the VNet and Subnet.string

ManagedControlPlaneVirtualNetworkClassSpec

ManagedControlPlaneVirtualNetworkClassSpec defines the ManagedControlPlaneVirtualNetwork properties that may be shared across several managed control plane vnets.

PropertyDescriptionType
cidrBlockstring
subnetManagedControlPlaneSubnet

ManagedMachinePoolScaling

ManagedMachinePoolScaling specifies scaling options.

Used by: AzureManagedMachinePoolClassSpec.

PropertyDescriptionType
maxSizeMaxSize is the maximum number of nodes for auto-scaling.int
minSizeMinSize is the minimum number of nodes for auto-scaling.int

mockClient

PropertyDescriptionType
client.Client
ReturnErrorbool

mockDefaultClient

PropertyDescriptionType
client.Client
SubscriptionIDstring

NatGatewayClassSpec

NatGatewayClassSpec defines a NAT gateway class specification.

Used by: SubnetTemplateSpec.

PropertyDescriptionType
namestring

NetworkClassSpec

NetworkClassSpec defines the NetworkSpec properties that may be shared across several Azure clusters.

PropertyDescriptionType
privateDNSZoneNamePrivateDNSZoneName defines the zone name for the Azure Private DNS.string
privateDNSZoneResourceGroupPrivateDNSZoneResourceGroup defines the resource group to be used for Azure Private DNS Zone. If not specified, the resource group of the cluster will be used to create the Azure Private DNS Zone.string

NetworkDataplaneType

NetworkDataplaneType is the type of network dataplane to use.

Used by: AzureManagedControlPlaneClassSpec.

NetworkPluginMode

NetworkPluginMode is the mode the network plugin should use.

Used by: AzureManagedControlPlaneClassSpec.

NetworkTemplateSpec

NetworkTemplateSpec specifies a network template.

Used by: AzureClusterTemplateResourceSpec.

PropertyDescriptionType
NetworkClassSpec
additionalAPIServerLBPortsAdditionalAPIServerLBPorts is the configuration for the additional inbound control-plane load balancer ports Each port specified (e.g., 9345) creates an inbound rule where the frontend port and the backend port are the same.LoadBalancerPort[]
apiServerLBAPIServerLB is the configuration for the control-plane load balancer.LoadBalancerClassSpec
controlPlaneOutboundLBControlPlaneOutboundLB 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.LoadBalancerClassSpec
nodeOutboundLBNodeOutboundLB is the configuration for the node outbound load balancer.LoadBalancerClassSpec
subnetsSubnets is the configuration for the control-plane subnet and the node subnet.SubnetTemplatesSpec
vnetVnet is the configuration for the Azure virtual network.VnetTemplateSpec

NodePoolMode

NodePoolMode enumerates the values for agent pool mode.

OIDCIssuerProfile

OIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster. See also AKS doc.

Used by: AzureManagedControlPlaneClassSpec.

PropertyDescriptionType
enabledEnabled is whether the OIDC issuer is enabled.bool

OrchestrationModeType

OrchestrationModeType represents the orchestration mode for a Virtual Machine Scale Set backing an AzureMachinePool.

osDiskTestInput

PropertyDescriptionType
namestring
osDiskOSDisk
wantErrbool

PrivateEndpointSpec

PrivateEndpointSpec configures an Azure Private Endpoint.

PropertyDescriptionType
applicationSecurityGroupsApplicationSecurityGroups specifies the Application security group in which the private endpoint IP configuration is included.string[]
customNetworkInterfaceNameCustomNetworkInterfaceName specifies the network interface name associated with the private endpoint.string
locationLocation specifies the region to create the private endpoint.string
manualApprovalManualApproval specifies if the connection approval needs to be done manually or not. Set it true when the network admin does not have access to approve connections to the remote resource. Defaults to false.bool
nameName specifies the name of the private endpoint.string
privateIPAddressesPrivateIPAddresses specifies the IP addresses for the network interface associated with the private endpoint. They have to be part of the subnet where the private endpoint is linked.string[]
privateLinkServiceConnectionsPrivateLinkServiceConnections specifies Private Link Service Connections of the private endpoint.PrivateLinkServiceConnection[]

PrivateLinkServiceConnection

PrivateLinkServiceConnection defines the specification for a private link service connection associated with a private endpoint.

Used by: PrivateEndpointSpec.

PropertyDescriptionType
groupIDsGroupIDs specifies the ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.string[]
nameName specifies the name of the private link service.string
privateLinkServiceIDPrivateLinkServiceID specifies the resource ID of the private link service.string
requestMessageRequestMessage specifies a message passed to the owner of the remote resource with the private endpoint connection request.string

RateLimitConfig

RateLimitConfig indicates the rate limit config options.

Used by: RateLimitSpec.

PropertyDescriptionType
cloudProviderRateLimitbool
cloudProviderRateLimitBucketint
cloudProviderRateLimitBucketWriteint
cloudProviderRateLimitQPSresource.Quantity
cloudProviderRateLimitQPSWriteresource.Quantity

RateLimitSpec

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

Used by: CloudProviderConfigOverrides.

PropertyDescriptionType
configRateLimitConfig
nameName is the name of the rate limit spec.string

ResourceLifecycle

ResourceLifecycle configures the lifecycle of a resource.

Used by: BuildParams.

ValueDescription
"owned"
"shared"

SecurityGroupClass

SecurityGroupClass defines the SecurityGroup properties that may be shared across several Azure clusters.

Used by: SubnetTemplateSpec.

PropertyDescriptionType
securityRulesSecurityRules
tagsTags

SecurityGroupProtocol

SecurityGroupProtocol defines the protocol type for a security group rule.

Used by: SecurityRule.

ValueDescription
"*"
"Tcp"
"Udp"
"Icmp"

SecurityRule

SecurityRule defines an Azure security rule for security groups.

PropertyDescriptionType
actionAction specifies whether network traffic is allowed or denied. Can either be "Allow" or "Deny". Defaults to "Allow".SecurityRuleAccess
descriptionA description for this rule. Restricted to 140 chars.string
destinationDestination 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.string
destinationPortsDestinationPorts specifies the destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.string
directionDirection indicates whether the rule applies to inbound, or outbound traffic. "Inbound" or "Outbound".SecurityRuleDirection
nameName is a unique name within the network security group.string
priorityPriority 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.int32
protocolProtocol specifies the protocol type. "Tcp", "Udp", "Icmp", or "*".SecurityGroupProtocol
sourceSource 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.string
sourcePortsSourcePorts specifies source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports.string
sourcesSources specifies The CIDR or source IP ranges.string[]

SecurityRuleAccess

SecurityRuleAccess defines the action type for a security group rule.

Used by: SecurityRule.

SecurityRuleDirection

SecurityRuleDirection defines the direction type for a security group rule.

Used by: SecurityRule.

ValueDescription
"Inbound"
"Outbound"

ServiceEndpointSpec

ServiceEndpointSpec configures an Azure Service Endpoint.

PropertyDescriptionType
locationsstring[]
servicestring

SkipNodesWithLocalStorage

SkipNodesWithLocalStorage enumerates the values for SkipNodesWithLocalStorage.

Used by: AutoScalerProfile.

SkipNodesWithSystemPods

SkipNodesWithSystemPods enumerates the values for SkipNodesWithSystemPods.

Used by: AutoScalerProfile.

SKU

SKU defines an Azure load balancer SKU.

Used by: LoadBalancerClassSpec.

ValueDescription
"Standard"

SubnetClassSpec

SubnetClassSpec defines the SubnetSpec properties that may be shared across several Azure clusters.

PropertyDescriptionType
cidrBlocksCIDRBlocks defines the subnet's address space, specified as one or more address prefixes in CIDR notation.string[]
nameName defines a name for the subnet resource.string
privateEndpointsPrivateEndpoints defines a list of private endpoints that should be attached to this subnet.PrivateEndpoints
roleRole defines the subnet role (eg. Node, ControlPlane)SubnetRole
serviceEndpointsServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets.ServiceEndpoints

SubnetRole

SubnetRole defines the unique role of a subnet.

Used by: SubnetClassSpec.

SubnetTemplateSpec

SubnetTemplateSpec specifies a template for a subnet.

Used by: AzureBastionTemplateSpec.

PropertyDescriptionType
SubnetClassSpec
natGatewayNatGateway associated with this subnet.NatGatewayClassSpec
securityGroupSecurityGroup defines the NSG (network security group) that should be attached to this subnet.SecurityGroupClass

SysctlConfig

SysctlConfig specifies the settings for Linux agent nodes.

Used by: LinuxOSConfig.

PropertyDescriptionType
fsAioMaxNrFsAioMaxNr specifies the maximum number of system-wide asynchronous io requests. Valid values are 65536-6553500 (inclusive). Maps to fs.aio-max-nr.int
fsFileMaxFsFileMax specifies the max number of file-handles that the Linux kernel will allocate, by increasing increases the maximum number of open files permitted. Valid values are 8192-12000500 (inclusive). Maps to fs.file-max.int
fsInotifyMaxUserWatchesFsInotifyMaxUserWatches specifies the number of file watches allowed by the system. Each watch is roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes on a 64-bit kernel. Valid values are 781250-2097152 (inclusive). Maps to fs.inotify.max_user_watches.int
fsNrOpenFsNrOpen specifies the maximum number of file-handles a process can allocate. Valid values are 8192-20000500 (inclusive). Maps to fs.nr_open.int
kernelThreadsMaxKernelThreadsMax specifies the maximum number of all threads that can be created. Valid values are 20-513785 (inclusive). Maps to kernel.threads-max.int
netCoreNetdevMaxBacklogNetCoreNetdevMaxBacklog specifies maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them. Valid values are 1000-3240000 (inclusive). Maps to net.core.netdev_max_backlog.int
netCoreOptmemMaxNetCoreOptmemMax specifies the maximum ancillary buffer size (option memory buffer) allowed per socket. Socket option memory is used in a few cases to store extra structures relating to usage of the socket. Valid values are 20480-4194304 (inclusive). Maps to net.core.optmem_max.int
netCoreRmemDefaultNetCoreRmemDefault specifies the default receive socket buffer size in bytes. Valid values are 212992-134217728 (inclusive). Maps to net.core.rmem_default.int
netCoreRmemMaxNetCoreRmemMax specifies the maximum receive socket buffer size in bytes. Valid values are 212992-134217728 (inclusive). Maps to net.core.rmem_max.int
netCoreSomaxconnNetCoreSomaxconn specifies maximum number of connection requests that can be queued for any given listening socket. An upper limit for the value of the backlog parameter passed to the listen(2)(https://man7.org/linux/man-pages/man2/listen.2.html) function. If the backlog argument is greater than the somaxconn, then it's silently truncated to this limit. Valid values are 4096-3240000 (inclusive). Maps to net.core.somaxconn.int
netCoreWmemDefaultNetCoreWmemDefault specifies the default send socket buffer size in bytes. Valid values are 212992-134217728 (inclusive). Maps to net.core.wmem_default.int
netCoreWmemMaxNetCoreWmemMax specifies the maximum send socket buffer size in bytes. Valid values are 212992-134217728 (inclusive). Maps to net.core.wmem_max.int
netIpv4IPLocalPortRangeNetIpv4IPLocalPortRange is used by TCP and UDP traffic to choose the local port on the agent node. PortRange should be specified in the format "first last". First, being an integer, must be between [1024 - 60999]. Last, being an integer, must be between [32768 - 65000]. Maps to net.ipv4.ip_local_port_range.string
netIpv4NeighDefaultGcThresh1NetIpv4NeighDefaultGcThresh1 specifies the minimum number of entries that may be in the ARP cache. Garbage collection won't be triggered if the number of entries is below this setting. Valid values are 128-80000 (inclusive). Maps to net.ipv4.neigh.default.gc_thresh1.int
netIpv4NeighDefaultGcThresh2NetIpv4NeighDefaultGcThresh2 specifies soft maximum number of entries that may be in the ARP cache. ARP garbage collection will be triggered about 5 seconds after reaching this soft maximum. Valid values are 512-90000 (inclusive). Maps to net.ipv4.neigh.default.gc_thresh2.int
netIpv4NeighDefaultGcThresh3NetIpv4NeighDefaultGcThresh3 specified hard maximum number of entries in the ARP cache. Valid values are 1024-100000 (inclusive). Maps to net.ipv4.neigh.default.gc_thresh3.int
netIpv4TCPFinTimeoutNetIpv4TCPFinTimeout specifies the length of time an orphaned connection will remain in the FIN_WAIT_2 state before it's aborted at the local end. Valid values are 5-120 (inclusive). Maps to net.ipv4.tcp_fin_timeout.int
netIpv4TCPkeepaliveIntvlNetIpv4TCPkeepaliveIntvl specifies the frequency of the probes sent out. Multiplied by tcpKeepaliveprobes, it makes up the time to kill a connection that isn't responding, after probes started. Valid values are 1-75 (inclusive). Maps to net.ipv4.tcp_keepalive_intvl.int
netIpv4TCPKeepaliveProbesNetIpv4TCPKeepaliveProbes specifies the number of keepalive probes TCP sends out, until it decides the connection is broken. Valid values are 1-15 (inclusive). Maps to net.ipv4.tcp_keepalive_probes.int
netIpv4TCPKeepaliveTimeNetIpv4TCPKeepaliveTime specifies the rate at which TCP sends out a keepalive message when keepalive is enabled. Valid values are 30-432000 (inclusive). Maps to net.ipv4.tcp_keepalive_time.int
netIpv4TCPMaxSynBacklogNetIpv4TCPMaxSynBacklog specifies the maximum number of queued connection requests that have still not received an acknowledgment from the connecting client. If this number is exceeded, the kernel will begin dropping requests. Valid values are 128-3240000 (inclusive). Maps to net.ipv4.tcp_max_syn_backlog.int
netIpv4TCPMaxTwBucketsNetIpv4TCPMaxTwBuckets specifies maximal number of timewait sockets held by system simultaneously. If this number is exceeded, time-wait socket is immediately destroyed and warning is printed. Valid values are 8000-1440000 (inclusive). Maps to net.ipv4.tcp_max_tw_buckets.int
netIpv4TCPTwReuseNetIpv4TCPTwReuse is used to allow to reuse TIME-WAIT sockets for new connections when it's safe from protocol viewpoint. Maps to net.ipv4.tcp_tw_reuse.bool
netNetfilterNfConntrackBucketsNetNetfilterNfConntrackBuckets specifies the size of hash table used by nf_conntrack module to record the established connection record of the TCP protocol. Valid values are 65536-147456 (inclusive). Maps to net.netfilter.nf_conntrack_buckets.int
netNetfilterNfConntrackMaxNetNetfilterNfConntrackMax specifies the maximum number of connections supported by the nf_conntrack module or the size of connection tracking table. Valid values are 131072-1048576 (inclusive). Maps to net.netfilter.nf_conntrack_max.int
vmMaxMapCountVMMaxMapCount specifies the maximum number of memory map areas a process may have. Maps to vm.max_map_count. Valid values are 65530-262144 (inclusive).int
vmSwappinessVMSwappiness specifies aggressiveness of the kernel in swapping memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. Valid values are 0-100 (inclusive). Maps to vm.swappiness.int
vmVfsCachePressureVMVfsCachePressure specifies the percentage value that controls tendency of the kernel to reclaim the memory, which is used for caching of directory and inode objects. Valid values are 1-500 (inclusive). Maps to vm.vfs_cache_pressure.int

Taint

Taint represents a Kubernetes taint.

PropertyDescriptionType
effectEffect specifies the effect for the taintTaintEffect
keyKey is the key of the taintstring
valueValue is the value of the taintstring

TaintEffect

TaintEffect is the effect for a Kubernetes taint.

Used by: Taint.

TopologyManagerPolicy

TopologyManagerPolicy enumerates the values for KubeletConfig.TopologyManagerPolicy.

Used by: KubeletConfig.

TransparentHugePageOption

TransparentHugePageOption enumerates the values for various modes of Transparent Hugepages.

Used by: LinuxOSConfig, and LinuxOSConfig.

UpgradeChannel

UpgradeChannel determines the type of upgrade channel for automatically upgrading the cluster. See also AKS doc.

Used by: ManagedClusterAutoUpgradeProfile.

VMState

VMState describes the state of an Azure virtual machine. Deprecated: use ProvisioningState.

VnetClassSpec

VnetClassSpec defines the VnetSpec properties that may be shared across several Azure clusters.

PropertyDescriptionType
cidrBlocksCIDRBlocks defines the virtual network's address space, specified as one or more address prefixes in CIDR notation.string[]
tagsTags is a collection of tags describing the resource.Tags

VnetPeeringClassSpec

VnetPeeringClassSpec specifies a virtual network peering class.

PropertyDescriptionType
forwardPeeringPropertiesForwardPeeringProperties specifies VnetPeeringProperties for peering from the cluster's virtual network to the remote virtual network.VnetPeeringProperties
remoteVnetNameRemoteVnetName defines name of the remote virtual network.string
resourceGroupResourceGroup is the resource group name of the remote virtual network.string
reversePeeringPropertiesReversePeeringProperties specifies VnetPeeringProperties for peering from the remote virtual network to the cluster's virtual network.VnetPeeringProperties

VnetPeeringProperties

VnetPeeringProperties specifies virtual network peering properties.

Used by: VnetPeeringClassSpec, and VnetPeeringClassSpec.

PropertyDescriptionType
allowForwardedTrafficAllowForwardedTraffic specifies whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.bool
allowGatewayTransitAllowGatewayTransit specifies if gateway links can be used in remote virtual networking to link to this virtual network.bool
allowVirtualNetworkAccessAllowVirtualNetworkAccess specifies whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.bool
useRemoteGatewaysUseRemoteGateways specifies if remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also set to true, the virtual network will use the gateways of the remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.bool

VnetPeeringSpec

VnetPeeringSpec specifies an existing remote virtual network to peer with the AzureCluster's virtual network.

VnetTemplateSpec

VnetTemplateSpec defines the desired state of a virtual network.

Used by: NetworkTemplateSpec.

PropertyDescriptionType
VnetClassSpec
peeringsPeerings defines a list of peerings of the newly created virtual network with existing virtual networks.VnetPeeringsTemplateSpec

AzureASOManagedClusterSpec

AzureASOManagedClusterSpec defines the desired state of AzureASOManagedCluster.

Used by: AzureASOManagedCluster.

PropertyDescriptionType
AzureASOManagedClusterTemplateResourceSpec
controlPlaneEndpointControlPlaneEndpoint is the location of the API server within the control plane. CAPZ manages this field and it should not be set by the user. It fulfills Cluster API's cluster infrastructure provider contract. Because this field is programmatically set by CAPZ after resource creation, we define it as +optional in the API schema to permit resource admission.clusterv1.APIEndpoint

AzureASOManagedClusterStatus

AzureASOManagedClusterStatus defines the observed state of AzureASOManagedCluster.

Used by: AzureASOManagedCluster.

PropertyDescriptionType
readyReady represents whether or not the cluster has been provisioned and is ready. It fulfills Cluster API's cluster infrastructure provider contract.bool
resourcesResourceStatus[]

AzureASOManagedControlPlaneSpec

AzureASOManagedControlPlaneSpec defines the desired state of AzureASOManagedControlPlane.

Used by: AzureASOManagedControlPlane.

AzureASOManagedControlPlaneStatus

AzureASOManagedControlPlaneStatus defines the observed state of AzureASOManagedControlPlane.

Used by: AzureASOManagedControlPlane.

PropertyDescriptionType
controlPlaneEndpointControlPlaneEndpoint represents the endpoint for the cluster's API server.clusterv1.APIEndpoint
initializedInitialized represents whether or not the API server has been provisioned. It fulfills Cluster API's control plane provider contract. For AKS, this is equivalent to ready.bool
readyReady represents whether or not the API server is ready to receive requests. It fulfills Cluster API's control plane provider contract. For AKS, this is equivalent to initialized.bool
resourcesResourceStatus[]
versionVersion is the observed Kubernetes version of the control plane. It fulfills Cluster API's control plane provider contract.string

AzureASOManagedMachinePoolSpec

AzureASOManagedMachinePoolSpec defines the desired state of AzureASOManagedMachinePool.

Used by: AzureASOManagedMachinePool.

AzureASOManagedMachinePoolStatus

AzureASOManagedMachinePoolStatus defines the observed state of AzureASOManagedMachinePool.

Used by: AzureASOManagedMachinePool.

PropertyDescriptionType
readyReady represents whether or not the infrastructure is ready to be used. It fulfills Cluster API's machine pool infrastructure provider contract.bool
replicasReplicas is the current number of provisioned replicas. It fulfills Cluster API's machine pool infrastructure provider contract.int32
resourcesResourceStatus[]

AzureClusterIdentitySpec

AzureClusterIdentitySpec defines the parameters that are used to create an AzureIdentity.

Used by: AzureClusterIdentity.

PropertyDescriptionType
allowedNamespacesAllowedNamespaces 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.
AllowedNamespaces
certPathCertPath is the path where certificates exist. When set, it takes precedence over ClientSecret for types that use certs like ServicePrincipalCertificate.string
clientIDClientID is the service principal client ID. Both User Assigned MSI and SP can use this field.string
clientSecretClientSecret is a secret reference which should contain either a Service Principal password or certificate secret.corev1.SecretReference
resourceIDResourceID is the Azure resource ID for the User Assigned MSI resource. Only applicable when type is UserAssignedMSI.
Deprecated: This field no longer has any effect.
string
tenantIDTenantID is the service principal primary tenant id.string
typeType is the type of Azure Identity used. ServicePrincipal, ServicePrincipalCertificate, UserAssignedMSI, ManualServicePrincipal, UserAssignedIdentityCredential, or WorkloadIdentity.IdentityType
userAssignedIdentityCredentialsCloudTypeUserAssignedIdentityCredentialsCloudType is used with UserAssignedIdentityCredentialsPath to specify the Cloud type. Can only be one of the following values: public, china, or usgovernment If a value is not specified, defaults to publicstring
userAssignedIdentityCredentialsPathUserAssignedIdentityCredentialsPath is the path where an existing JSON file exists containing the JSON format of a UserAssignedIdentityCredentials struct. See the msi-dataplane for more details on UserAssignedIdentityCredentials - https://github.com/Azure/msi-dataplane/blob/main/pkg/dataplane/internal/client/models.go#L125string

AzureClusterIdentityStatus

AzureClusterIdentityStatus defines the observed state of AzureClusterIdentity.

Used by: AzureClusterIdentity.

PropertyDescriptionType
conditionsConditions defines current service state of the AzureClusterIdentity.clusterv1.Conditions

AzureClusterSpec

AzureClusterSpec defines the desired state of AzureCluster.

Used by: AzureCluster.

PropertyDescriptionType
AzureClusterClassSpec
bastionSpecBastionSpec encapsulates all things related to the Bastions in the cluster.BastionSpec
controlPlaneEnabledControlPlaneEnabled enables control plane components in the cluster.bool
controlPlaneEndpointControlPlaneEndpoint 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.clusterv1.APIEndpoint
networkSpecNetworkSpec encapsulates all things related to Azure network.NetworkSpec
resourceGroupstring

AzureClusterStatus

AzureClusterStatus defines the observed state of AzureCluster.

Used by: AzureCluster.

PropertyDescriptionType
conditionsConditions defines current service state of the AzureCluster.clusterv1.Conditions
failureDomainsFailureDomains 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.clusterv1.FailureDomains
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool

AzureMachineSpec

AzureMachineSpec defines the desired state of AzureMachine.

Used by: AzureMachine, and AzureMachineTemplateResource.

PropertyDescriptionType
acceleratedNetworkingDeprecated: AcceleratedNetworking should be set in the networkInterfaces field.bool
additionalCapabilitiesAdditionalCapabilities specifies additional capabilities enabled or disabled on the virtual machine.AdditionalCapabilities
additionalTagsAdditionalTags 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.Tags
allocatePublicIPAllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.bool
capacityReservationGroupIDCapacityReservationGroupID specifies the capacity reservation group resource id that should be used for allocating the virtual machine. The field size should be greater than 0 and the field input must start with '/'. The input for capacityReservationGroupID must be similar to '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}'. The keys which are used should be among 'subscriptions', 'providers' and 'resourcegroups' followed by valid ID or names respectively. It is optional but may not be changed once set.string
dataDisksDataDisk specifies the parameters that are used to add one or more data disks to the machineDataDisk[]
diagnosticsDiagnostics specifies the diagnostics settings for a virtual machine. If not specified then Boot diagnostics (Managed) will be enabled.Diagnostics
disableExtensionOperationsDisableExtensionOperations specifies whether extension operations should be disabled on the virtual machine. Use this setting only if VMExtensions are not supported by your image, as it disables CAPZ bootstrapping extension used for detecting Kubernetes bootstrap failure. This may only be set to True when no extensions are configured on the virtual machine.bool
disableVMBootstrapExtensionDisableVMBootstrapExtension specifies whether the VM bootstrap extension should be disabled on the virtual machine. Use this setting if you want to disable only the bootstrapping extension and not all extensions.bool
dnsServersDNSServers adds a list of DNS Server IP addresses to the VM NICs.string[]
enableIPForwardingEnableIPForwarding 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.bool
failureDomainFailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zonestring
identityIdentity 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 VMVMIdentity
imageImage is used to provide details of an image to use during VM creation. If image details are omitted, the default is to use an Azure Compute Gallery Image from CAPZ's community gallery.Image
networkInterfacesNetworkInterfaces 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.NetworkInterface[]
osDiskOSDisk specifies the parameters for the operating system disk of the machineOSDisk
providerIDProviderID is the unique identifier as specified by the cloud provider.string
roleAssignmentNameDeprecated: RoleAssignmentName should be set in the systemAssignedIdentityRole field.string
securityProfileSecurityProfile specifies the Security profile settings for a virtual machine.SecurityProfile
spotVMOptionsSpotVMOptions allows the ability to specify the Machine should use a Spot VMSpotVMOptions
sshPublicKeySSHPublicKey is the SSH public key string, base64-encoded to add to a Virtual Machine. Linux only. Refer to documentation on how to set up SSH access on Windows instances.string
subnetNameDeprecated: SubnetName should be set in the networkInterfaces field.string
systemAssignedIdentityRoleSystemAssignedIdentityRole defines the role and scope to assign to the system-assigned identity.SystemAssignedIdentityRole
userAssignedIdentitiesUserAssignedIdentities 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://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cliUserAssignedIdentity[]
vmExtensionsVMExtensions specifies a list of extensions to be added to the virtual machine.VMExtension[]
vmSizestring

AzureMachineStatus

AzureMachineStatus defines the observed state of AzureMachine.

Used by: AzureMachine.

PropertyDescriptionType
addressesAddresses contains the Azure instance associated addresses.corev1.NodeAddress[]
conditionsConditions defines current service state of the AzureMachine.clusterv1.Conditions
failureMessageErrorMessage 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.
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.
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.
string
failureReasonErrorReason 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.
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.
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.
string
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool
vmStateVMState is the provisioning state of the Azure virtual machine.ProvisioningState

AzureManagedClusterSpec

AzureManagedClusterSpec defines the desired state of AzureManagedCluster.

Used by: AzureManagedCluster.

PropertyDescriptionType
controlPlaneEndpointControlPlaneEndpoint represents the endpoint used to communicate with the control plane. Immutable, populated by the AKS API at create. Because this field is programmatically set by CAPZ after resource creation, we define it as +optional in the API schema to permit resource admission.clusterv1.APIEndpoint

AzureManagedClusterStatus

AzureManagedClusterStatus defines the observed state of AzureManagedCluster.

Used by: AzureManagedCluster.

PropertyDescriptionType
readyReady is true when the provider resource is ready.bool

AzureManagedControlPlaneSpec

AzureManagedControlPlaneSpec defines the desired state of AzureManagedControlPlane.

Used by: AzureManagedControlPlane.

PropertyDescriptionType
AzureManagedControlPlaneClassSpec
controlPlaneEndpointControlPlaneEndpoint represents the endpoint used to communicate with the control plane. Immutable, populated by the AKS API at create.clusterv1.APIEndpoint
dnsPrefixDNSPrefix allows the user to customize dns prefix. Immutable.string
fleetsMemberFleetsMember is the spec for the fleet this cluster is a member of. See also AKS doc.
FleetsMember
nodeResourceGroupNameNodeResourceGroupName is the name of the resource group containing cluster IaaS resources. Will be populated to default in webhook. Immutable.string
sshPublicKeySSHPublicKey is a string literal containing an ssh public key base64 encoded. Use empty string to autogenerate new key. Use null value to not set key. Immutable.string

AzureManagedControlPlaneStatus

AzureManagedControlPlaneStatus defines the observed state of AzureManagedControlPlane.

Used by: AzureManagedControlPlane.

PropertyDescriptionType
autoUpgradeVersionAutoUpgradeVersion is the Kubernetes version populated after auto-upgrade based on the upgrade channel.string
conditionsConditions defines current service state of the AzureManagedControlPlane.clusterv1.Conditions
initializedInitialized 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.bool
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
oidcIssuerProfileOIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster.OIDCIssuerProfileStatus
readyReady is true when the provider resource is ready.bool
versionVersion defines the Kubernetes version for the control plane instance.string

AzureManagedMachinePoolSpec

AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool.

Used by: AzureManagedMachinePool.

PropertyDescriptionType
AzureManagedMachinePoolClassSpec
providerIDListProviderIDList is the unique identifier as specified by the cloud provider.string[]

AzureManagedMachinePoolStatus

AzureManagedMachinePoolStatus defines the observed state of AzureManagedMachinePool.

Used by: AzureManagedMachinePool.

PropertyDescriptionType
conditionsConditions defines current service state of the AzureManagedControlPlane.clusterv1.Conditions
errorMessageAny 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.string
errorReasonAny 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.string
longRunningOperationStatesLongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the next reconciliation loop.Futures
readyReady is true when the provider resource is ready.bool
replicasReplicas is the most recently observed number of replicas.int32

AdditionalCapabilities

AdditionalCapabilities enables or disables a capability on the virtual machine.

Used by: AzureMachineSpec.

PropertyDescriptionType
ultraSSDEnabledUltraSSDEnabled 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.bool

AllowedNamespaces

AllowedNamespaces defines the namespaces the clusters are allowed to use the identity from NamespaceList takes precedence over the Selector.

Used by: AzureClusterIdentitySpec.

PropertyDescriptionType
listA nil or empty list indicates that AzureCluster cannot use the identity from any namespace.
string[]
selectorSelector 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.
A nil or empty selector indicates that AzureCluster cannot use this AzureClusterIdentity from any namespace.
metav1.LabelSelector

BastionSpec

BastionSpec specifies how the Bastion feature should be set up for the cluster.

Used by: AzureClusterSpec.

PropertyDescriptionType
azureBastionAzureBastion

DataDisk

DataDisk specifies the parameters that are used to add one or more data disks to the machine.

Used by: AzureMachineSpec.

PropertyDescriptionType
cachingTypeCachingType specifies the caching requirements.string
diskSizeGBDiskSizeGB is the size in GB to assign to the data disk.int32
lunLun 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.int32
managedDiskManagedDisk specifies the Managed Disk parameters for the data disk.ManagedDiskParameters
nameSuffixNameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _.string

Diagnostics

Diagnostics is used to configure the diagnostic settings of the virtual machine.

Used by: AzureMachineSpec.

PropertyDescriptionType
bootBoot 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.BootDiagnostics

FleetsMember

FleetsMember defines the fleets member configuration. See also AKS doc.

Used by: AzureManagedControlPlaneSpec.

PropertyDescriptionType
FleetsMemberClassSpec
nameName is the name of the member.string

IdentityType

IdentityType represents different types of identities.

Used by: AzureClusterIdentitySpec.

Image

Image defines information about the image to use for VM creation. There are three ways to specify an image: by ID, Marketplace Image or SharedImageGallery One of ID, SharedImage or Marketplace should be set.

Used by: AzureMachineSpec.

PropertyDescriptionType
computeGalleryComputeGallery specifies an image to use from the Azure Compute GalleryAzureComputeGalleryImage
idID specifies an image to use by IDstring
marketplaceMarketplace specifies an image to use from the Azure MarketplaceAzureMarketplaceImage
sharedGallerySharedGallery specifies an image to use from an Azure Shared Image Gallery Deprecated: use ComputeGallery instead.AzureSharedGalleryImage

NetworkInterface

NetworkInterface defines a network interface.

Used by: AzureMachineSpec.

PropertyDescriptionType
acceleratedNetworkingAcceleratedNetworking 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.bool
privateIPConfigsPrivateIPConfigs specifies the number of private IP addresses to attach to the interface. Defaults to 1 if not specified.int
subnetNameSubnetName specifies the subnet in which the new network interface will be placed.string

NetworkSpec

NetworkSpec specifies what the Azure networking resources should look like.

Used by: AzureClusterSpec.

PropertyDescriptionType
NetworkClassSpec
additionalAPIServerLBPortsAdditionalAPIServerLBPorts specifies extra inbound ports for the APIServer load balancer. Each port specified (e.g., 9345) creates an inbound rule where the frontend port and the backend port are the same.LoadBalancerPort[]
apiServerLBAPIServerLB is the configuration for the control-plane load balancer.LoadBalancerSpec
controlPlaneOutboundLBControlPlaneOutboundLB 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.LoadBalancerSpec
nodeOutboundLBNodeOutboundLB is the configuration for the node outbound load balancer.LoadBalancerSpec
subnetsSubnets is the configuration for the control-plane subnet and the node subnet.Subnets
vnetVnet is the configuration for the Azure virtual network.VnetSpec

OIDCIssuerProfileStatus

OIDCIssuerProfileStatus is the OIDC issuer profile of the Managed Cluster.

Used by: AzureManagedControlPlaneStatus.

PropertyDescriptionType
issuerURLIssuerURL is the OIDC issuer url of the Managed Cluster.string

OSDisk

OSDisk defines the operating system disk for a VM.
WARNING: this requires any updates to ManagedDisk to be manually converted. This is due to the odd issue with conversion-gen where the warning message generated uses a relative directory import rather than the fully qualified import when generating outside of the GOPATH.

Used by: AzureMachineSpec, and osDiskTestInput.

PropertyDescriptionType
cachingTypeCachingType specifies the caching requirements.string
diffDiskSettingsDiffDiskSettings
diskSizeGBDiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not providedint32
managedDiskManagedDisk specifies the Managed Disk parameters for the OS disk.ManagedDiskParameters
osTypestring

ProvisioningState

ProvisioningState describes the provisioning state of an Azure resource.

Used by: AzureMachineStatus.

ResourceStatus

ResourceStatus represents the status of a resource.

Used by: AzureASOManagedClusterStatus, AzureASOManagedControlPlaneStatus, and AzureASOManagedMachinePoolStatus.

PropertyDescriptionType
readybool
resourceStatusResource

SecurityProfile

SecurityProfile specifies the Security profile settings for a virtual machine or virtual machine scale set.

Used by: AzureMachineSpec.

PropertyDescriptionType
encryptionAtHostThis field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. This should be disabled when SecurityEncryptionType is set to DiskWithVMGuestState. Default is disabled.bool
securityTypeSecurityType specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set.SecurityTypes
uefiSettingsUefiSettings specifies the security settings like secure boot and vTPM used while creating the virtual machine.UefiSettings

SpotVMOptions

SpotVMOptions defines the options relevant to running the Machine on Spot VMs.

Used by: AzureMachineSpec.

PropertyDescriptionType
evictionPolicyEvictionPolicy defines the behavior of the virtual machine when it is evicted. It can be either Delete or Deallocate.SpotEvictionPolicy
maxPriceMaxPrice defines the maximum price the user is willing to pay for Spot VM instancesresource.Quantity

SystemAssignedIdentityRole

SystemAssignedIdentityRole defines the role and scope to assign to the system assigned identity.

Used by: AzureMachineSpec.

PropertyDescriptionType
definitionIDDefinitionID is the ID of the role definition to create for a system assigned identity. It can be an Azure built-in role or a custom role. Refer to built-in roles: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-rolesstring
nameName is the name of the role assignment to create for a system assigned identity. It can be any valid UUID. If not specified, a random UUID will be generated.string
scopeScope is the scope that the role assignment or definition applies to. The scope can be any REST resource instance. If not specified, the scope will be the subscription.string

UserAssignedIdentity

UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.

Used by: AzureMachineSpec.

PropertyDescriptionType
providerIDProviderID 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}'string

VMExtension

VMExtension specifies the parameters for a custom VM extension.

Used by: AzureMachineSpec.

PropertyDescriptionType
nameName is the name of the extension.string
protectedSettingsProtectedSettings is a JSON formatted protected settings for the extension.Tags
publisherPublisher is the name of the extension handler publisher.string
settingsSettings is a JSON formatted public settings for the extension.Tags
versionVersion specifies the version of the script handler.string

VMIdentity

VMIdentity defines the identity of the virtual machine, if configured.

Used by: AzureMachineSpec.

AzureBastion

AzureBastion specifies how the Azure Bastion cloud component should be configured.

Used by: BastionSpec.

PropertyDescriptionType
enableTunnelingEnableTunneling enables the native client support feature for the Azure Bastion Host. Defaults to false.bool
namestring
publicIPPublicIPSpec
skuBastionHostSkuName configures the tier of the Azure Bastion Host. Can be either Basic or Standard. Defaults to Basic.BastionHostSkuName
subnetSubnetSpec

AzureComputeGalleryImage

AzureComputeGalleryImage defines an image in the Azure Compute Gallery to use for VM creation.

Used by: Image.

PropertyDescriptionType
galleryGallery specifies the name of the compute image gallery that contains the imagestring
nameName is the name of the imagestring
planPlan contains plan information.ImagePlan
resourceGroupResourceGroup specifies the resource group containing the private compute gallery.string
subscriptionIDSubscriptionID is the identifier of the subscription that contains the private compute gallery.string
versionVersion 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.string

AzureMarketplaceImage

AzureMarketplaceImage defines an image in the Azure Marketplace to use for VM creation.

Used by: Image.

PropertyDescriptionType
ImagePlan
thirdPartyImageThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it.bool
versionVersion 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.string

AzureSharedGalleryImage

AzureSharedGalleryImage defines an image in a Shared Image Gallery to use for VM creation.

Used by: Image.

PropertyDescriptionType
galleryGallery specifies the name of the shared image gallery that contains the imagestring
nameName is the name of the imagestring
offerOffer 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.string
publisherPublisher 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.string
resourceGroupResourceGroup specifies the resource group containing the shared image gallerystring
skuSKU 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.string
subscriptionIDSubscriptionID is the identifier of the subscription that contains the shared image gallerystring
versionVersion 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.string

BootDiagnostics

BootDiagnostics configures the boot diagnostics settings for the virtual machine. This allows you to configure capturing serial output from the virtual machine on boot. This is useful for debugging software based launch issues.

Used by: Diagnostics.

PropertyDescriptionType
storageAccountTypeStorageAccountType determines if the storage account for storing the diagnostics data should be disabled (Disabled), provisioned by Azure (Managed) or by the user (UserManaged).BootDiagnosticsStorageAccountType
Required
userManagedUserManaged provides a reference to the user-managed storage account.UserManagedBootDiagnostics

DiffDiskSettings

DiffDiskSettings describe ephemeral disk settings for the os disk.

Used by: OSDisk.

PropertyDescriptionType
optionOption enables ephemeral OS when set to "Local" See https://learn.microsoft.com/azure/virtual-machines/ephemeral-os-disks for full detailsstring
placementPlacement specifies the ephemeral disk placement for operating system disk. If placement is specified, Option must be set to "Local".DiffDiskPlacement

LoadBalancerPort

LoadBalancerPort specifies additional port for the API server load balancer.

Used by: NetworkSpec, and NetworkTemplateSpec.

PropertyDescriptionType
nameName for the additional port within LB definitionstring
portPort for the LB definitionint32

LoadBalancerSpec

LoadBalancerSpec defines an Azure load balancer.

Used by: NetworkSpec, NetworkSpec, and NetworkSpec.

PropertyDescriptionType
LoadBalancerClassSpec
backendPoolBackendPool describes the backend pool of the load balancer.BackendPool
frontendIPsFrontendIP[]
frontendIPsCountFrontendIPsCount specifies the number of frontend IP addresses for the load balancer.int32
idID is the Azure resource ID of the load balancer. READ-ONLYstring
namestring

ManagedDiskParameters

ManagedDiskParameters defines the parameters of a managed disk.

Used by: DataDisk, and OSDisk.

PropertyDescriptionType
diskEncryptionSetDiskEncryptionSet specifies the customer-managed disk encryption set resource id for the managed disk.DiskEncryptionSetParameters
securityProfileSecurityProfile specifies the security profile for the managed disk.VMDiskSecurityProfile
storageAccountTypestring

SecurityTypes

SecurityTypes represents the SecurityType of the virtual machine.

Used by: SecurityProfile.

SpotEvictionPolicy

SpotEvictionPolicy defines the eviction policy for spot VMs, if configured.

Used by: SpotVMOptions.

StatusResource

StatusResource is a handle to a resource.

Used by: ResourceStatus.

PropertyDescriptionType
groupstring
kindstring
namestring
versionstring

UefiSettings

UefiSettings specifies the security settings like secure boot and vTPM used while creating the virtual machine.

Used by: SecurityProfile.

PropertyDescriptionType
secureBootEnabledSecureBootEnabled specifies whether secure boot should be enabled on the virtual machine. Secure Boot verifies the digital signature of all boot components and halts the boot process if signature verification fails. If omitted, the platform chooses a default, which is subject to change over time, currently that default is false.bool
vTpmEnabledVTpmEnabled specifies whether vTPM should be enabled on the virtual machine. When true it enables the virtualized trusted platform module measurements to create a known good boot integrity policy baseline. The integrity policy baseline is used for comparison with measurements from subsequent VM boots to determine if anything has changed. This is required to be set to Enabled if SecurityEncryptionType is defined. If omitted, the platform chooses a default, which is subject to change over time, currently that default is false.bool

VnetSpec

VnetSpec configures an Azure virtual network.

Used by: NetworkSpec.

PropertyDescriptionType
VnetClassSpec
idID is the Azure resource ID of the virtual network. READ-ONLYstring
nameName defines a name for the virtual network resource.string
peeringsPeerings defines a list of peerings of the newly created virtual network with existing virtual networks.VnetPeerings
resourceGroupResourceGroup is the name of the resource group of the existing virtual network or the resource group where a managed virtual network should be created.string

BackendPool

BackendPool describes the backend pool of the load balancer.

Used by: LoadBalancerSpec.

PropertyDescriptionType
nameName 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.string

BastionHostSkuName

BastionHostSkuName is the name of the SKU used to specify the tier of Azure Bastion Host.

Used by: AzureBastion.

BootDiagnosticsStorageAccountType

BootDiagnosticsStorageAccountType defines the list of valid storage account types for the boot diagnostics.

Used by: BootDiagnostics.

DiffDiskPlacement

DiffDiskPlacement - Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk, resource disk or nvme disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.

Used by: DiffDiskSettings.

DiskEncryptionSetParameters

DiskEncryptionSetParameters defines disk encryption options.

Used by: ManagedDiskParameters, and VMDiskSecurityProfile.

PropertyDescriptionType
idID defines resourceID for diskEncryptionSet resource. It must be in the same subscriptionstring

FrontendIP

FrontendIP defines a load balancer frontend IP configuration.

Used by: LoadBalancerSpec.

PropertyDescriptionType
FrontendIPClass
namestring
publicIPPublicIPSpec

ImagePlan

ImagePlan contains plan information for marketplace images.

Used by: AzureComputeGalleryImage.

PropertyDescriptionType
offerOffer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServerstring
publisherPublisher is the name of the organization that created the imagestring
skuSKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenterstring

PublicIPSpec

PublicIPSpec defines the inputs to create an Azure public IP address.

Used by: AzureBastion, FrontendIP, and NatGateway.

PropertyDescriptionType
dnsNamestring
ipTagsIPTag[]
namestring

SubnetSpec

SubnetSpec configures an Azure subnet.

Used by: AzureBastion.

PropertyDescriptionType
SubnetClassSpec
idID is the Azure resource ID of the subnet. READ-ONLYstring
natGatewayNatGateway associated with this subnet.NatGateway
routeTableRouteTable defines the route table that should be attached to this subnet.RouteTable
securityGroupSecurityGroup defines the NSG (network security group) that should be attached to this subnet.SecurityGroup

UserManagedBootDiagnostics

UserManagedBootDiagnostics provides a reference to a user-managed storage account.

Used by: BootDiagnostics.

PropertyDescriptionType
storageAccountURIStorageAccountURI is the URI of the user-managed storage account. The URI typically will be https://<mystorageaccountname>.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}'.string
Required

VMDiskSecurityProfile

VMDiskSecurityProfile specifies the security profile settings for the managed disk. It can be set only for Confidential VMs.

Used by: ManagedDiskParameters.

PropertyDescriptionType
diskEncryptionSetDiskEncryptionSet specifies the customer-managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.DiskEncryptionSetParameters
securityEncryptionTypeSecurityEncryptionType specifies the encryption type of the managed disk. It is set to DiskWithVMGuestState to encrypt the managed disk along with the VMGuestState blob, and to VMGuestStateOnly to encrypt the VMGuestState blob only. When set to VMGuestStateOnly, VirtualizedTrustedPlatformModule should be set to Enabled. When set to DiskWithVMGuestState, EncryptionAtHost should be disabled, SecureBoot and VirtualizedTrustedPlatformModule should be set to Enabled. It can be set only for Confidential VMs.SecurityEncryptionType

IPTag

IPTag contains the IpTag associated with the object.

Used by: PublicIPSpec.

PropertyDescriptionType
tagTag specifies the value of the IP tag associated with the public IP. Example: SQL.string
typeType specifies the IP tag type. Example: FirstPartyUsage.string

NatGateway

NatGateway defines an Azure NAT gateway. NAT gateway resources are part of Vnet NAT and provide outbound Internet connectivity for subnets of a virtual network.

Used by: SubnetSpec.

PropertyDescriptionType
NatGatewayClassSpec
idID is the Azure resource ID of the NAT gateway. READ-ONLYstring
ipPublicIPSpec

RouteTable

RouteTable defines an Azure route table.

Used by: SubnetSpec.

PropertyDescriptionType
idID is the Azure resource ID of the route table. READ-ONLYstring
namestring

SecurityEncryptionType

SecurityEncryptionType represents the Encryption Type when the virtual machine is a Confidential VM.

Used by: VMDiskSecurityProfile.

SecurityGroup

SecurityGroup defines an Azure security group.

Used by: SubnetSpec.

PropertyDescriptionType
SecurityGroupClass
idID is the Azure resource ID of the security group. READ-ONLYstring
namestring