Last generated June 29, 2022
AzureMachineTemplate
AzureMachineTemplate is the Schema for the azuremachinetemplates API.
Version v1alpha3
Properties
.apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
.kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
.metadata
.spec
AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.
.spec.template
AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.
.spec.template.spec
Spec is the specification of the desired behavior of the machine.
.spec.template.spec.acceleratedNetworking
AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error.
.spec.template.spec.additionalTags
AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine’s value takes precedence.
.spec.template.spec.allocatePublicIP
AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.
.spec.template.spec.availabilityZone
DEPRECATED: use FailureDomain instead
.spec.template.spec.availabilityZone.enabled
.spec.template.spec.availabilityZone.id
.spec.template.spec.dataDisks
DataDisk specifies the parameters that are used to add one or more data disks to the machine
.spec.template.spec.dataDisks[*]
DataDisk specifies the parameters that are used to add one or more data disks to the machine.
.spec.template.spec.dataDisks[*].cachingType
.spec.template.spec.dataDisks[*].diskSizeGB
DiskSizeGB is the size in GB to assign to the data disk.
.spec.template.spec.dataDisks[*].lun
Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63.
.spec.template.spec.dataDisks[*].managedDisk
ManagedDisk defines the managed disk options for a VM.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.dataDisks[*].managedDisk.storageAccountType
.spec.template.spec.dataDisks[*].nameSuffix
NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format
.spec.template.spec.enableIPForwarding
EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI’s to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled.
.spec.template.spec.failureDomain
FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone
.spec.template.spec.identity
Identity is the type of identity used for the virtual machine. The type ‘SystemAssigned’ is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type ‘UserAssigned’ is a standalone Azure resource provided by the user and assigned to the VM
.spec.template.spec.image
Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace “capi” offer, which is based on Ubuntu.
.spec.template.spec.image.id
ID specifies an image to use by ID
.spec.template.spec.image.marketplace
Marketplace specifies an image to use from the Azure Marketplace
.spec.template.spec.image.marketplace.offer
Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer
.spec.template.spec.image.marketplace.publisher
Publisher is the name of the organization that created the image
.spec.template.spec.image.marketplace.sku
SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter
.spec.template.spec.image.marketplace.thirdPartyImage
ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it.
.spec.template.spec.image.marketplace.version
Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.image.sharedGallery
SharedGallery specifies an image to use from an Azure Shared Image Gallery
.spec.template.spec.image.sharedGallery.gallery
Gallery specifies the name of the shared image gallery that contains the image
.spec.template.spec.image.sharedGallery.name
Name is the name of the image
.spec.template.spec.image.sharedGallery.resourceGroup
ResourceGroup specifies the resource group containing the shared image gallery
.spec.template.spec.image.sharedGallery.subscriptionID
SubscriptionID is the identifier of the subscription that contains the shared image gallery
.spec.template.spec.image.sharedGallery.version
Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.location
DEPRECATED: to support old clients, will be removed in v1alpha4/v1beta1
.spec.template.spec.osDisk
OSDisk specifies the parameters for the operating system disk of the machine
.spec.template.spec.osDisk.cachingType
.spec.template.spec.osDisk.diffDiskSettings
DiffDiskSettings describe ephemeral disk settings for the os disk.
.spec.template.spec.osDisk.diffDiskSettings.option
Option enables ephemeral OS when set to “Local” See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details
.spec.template.spec.osDisk.diskSizeGB
.spec.template.spec.osDisk.managedDisk
ManagedDisk defines the managed disk options for a VM.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.osDisk.managedDisk.storageAccountType
.spec.template.spec.osDisk.osType
.spec.template.spec.providerID
ProviderID is the unique identifier as specified by the cloud provider.
.spec.template.spec.roleAssignmentName
RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated.
.spec.template.spec.securityProfile
SecurityProfile specifies the Security profile settings for a virtual machine.
.spec.template.spec.securityProfile.encryptionAtHost
This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled.
.spec.template.spec.spotVMOptions
SpotVMOptions allows the ability to specify the Machine should use a Spot VM.
.spec.template.spec.spotVMOptions.maxPrice
MaxPrice defines the maximum price the user is willing to pay for Spot VM instances
.spec.template.spec.sshPublicKey
.spec.template.spec.userAssignedIdentities
UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
.spec.template.spec.userAssignedIdentities[*]
UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.
.spec.template.spec.userAssignedIdentities[*].providerID
ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ‘azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}’
.spec.template.spec.vmSize
Version v1alpha4
Properties
.apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
.kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
.metadata
.spec
AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.
.spec.template
AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.
.spec.template.spec
Spec is the specification of the desired behavior of the machine.
.spec.template.spec.acceleratedNetworking
AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error.
.spec.template.spec.additionalTags
AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine’s value takes precedence.
.spec.template.spec.allocatePublicIP
AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.
.spec.template.spec.dataDisks
DataDisk specifies the parameters that are used to add one or more data disks to the machine
.spec.template.spec.dataDisks[*]
DataDisk specifies the parameters that are used to add one or more data disks to the machine.
.spec.template.spec.dataDisks[*].cachingType
CachingType specifies the caching requirements.
.spec.template.spec.dataDisks[*].diskSizeGB
DiskSizeGB is the size in GB to assign to the data disk.
.spec.template.spec.dataDisks[*].lun
Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63.
.spec.template.spec.dataDisks[*].managedDisk
ManagedDisk specifies the Managed Disk parameters for the data disk.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.dataDisks[*].managedDisk.storageAccountType
.spec.template.spec.dataDisks[*].nameSuffix
NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format
.spec.template.spec.enableIPForwarding
EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI’s to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled.
.spec.template.spec.failureDomain
FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone
.spec.template.spec.identity
Identity is the type of identity used for the virtual machine. The type ‘SystemAssigned’ is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type ‘UserAssigned’ is a standalone Azure resource provided by the user and assigned to the VM
.spec.template.spec.image
Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace “capi” offer, which is based on Ubuntu.
.spec.template.spec.image.id
ID specifies an image to use by ID
.spec.template.spec.image.marketplace
Marketplace specifies an image to use from the Azure Marketplace
.spec.template.spec.image.marketplace.offer
Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer
.spec.template.spec.image.marketplace.publisher
Publisher is the name of the organization that created the image
.spec.template.spec.image.marketplace.sku
SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter
.spec.template.spec.image.marketplace.thirdPartyImage
ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it.
.spec.template.spec.image.marketplace.version
Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.image.sharedGallery
SharedGallery specifies an image to use from an Azure Shared Image Gallery
.spec.template.spec.image.sharedGallery.gallery
Gallery specifies the name of the shared image gallery that contains the image
.spec.template.spec.image.sharedGallery.name
Name is the name of the image
.spec.template.spec.image.sharedGallery.offer
Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.publisher
Publisher is the name of the organization that created the image. This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.resourceGroup
ResourceGroup specifies the resource group containing the shared image gallery
.spec.template.spec.image.sharedGallery.sku
SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.subscriptionID
SubscriptionID is the identifier of the subscription that contains the shared image gallery
.spec.template.spec.image.sharedGallery.version
Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.osDisk
OSDisk specifies the parameters for the operating system disk of the machine
.spec.template.spec.osDisk.cachingType
CachingType specifies the caching requirements.
.spec.template.spec.osDisk.diffDiskSettings
DiffDiskSettings describe ephemeral disk settings for the os disk.
.spec.template.spec.osDisk.diffDiskSettings.option
Option enables ephemeral OS when set to “Local” See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details
.spec.template.spec.osDisk.diskSizeGB
DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided
.spec.template.spec.osDisk.managedDisk
ManagedDisk specifies the Managed Disk parameters for the OS disk.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.osDisk.managedDisk.storageAccountType
.spec.template.spec.osDisk.osType
.spec.template.spec.providerID
ProviderID is the unique identifier as specified by the cloud provider.
.spec.template.spec.roleAssignmentName
RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated.
.spec.template.spec.securityProfile
SecurityProfile specifies the Security profile settings for a virtual machine.
.spec.template.spec.securityProfile.encryptionAtHost
This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled.
.spec.template.spec.spotVMOptions
SpotVMOptions allows the ability to specify the Machine should use a Spot VM
.spec.template.spec.spotVMOptions.maxPrice
MaxPrice defines the maximum price the user is willing to pay for Spot VM instances
.spec.template.spec.sshPublicKey
.spec.template.spec.subnetName
SubnetName selects the Subnet where the VM will be placed
.spec.template.spec.userAssignedIdentities
UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
.spec.template.spec.userAssignedIdentities[*]
UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.
.spec.template.spec.userAssignedIdentities[*].providerID
ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ‘azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}’
.spec.template.spec.vmSize
Version v1beta1
Properties
.apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
.kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
.metadata
.spec
AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.
.spec.template
AzureMachineTemplateResource describes the data needed to create an AzureMachine from a template.
.spec.template.metadata
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.
ObjectMeta is embedded in Machine.Spec
, MachineDeployment.Template
and MachineSet.Template
, which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases and read-only fields which end up in the generated CRD validation, having it as a subset simplifies the API and some issues that can impact user experience.
During the upgrade to controller-tools@v2 for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs, specifically spec.metadata.creationTimestamp in body must be of type string: "null"
. The investigation showed that controller-tools@v2
behaves differently than its previous version when handling types from metav1 package.
In more details, we found that embedded (non-top level) types that embedded metav1.ObjectMeta
had validation properties, including for creationTimestamp
(metav1.Time). The metav1.Time
type specifies a custom json marshaller that, when IsZero() is true, returns null
which breaks validation because the field isn’t marked as nullable.
In future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited.
.spec.template.metadata.annotations
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations
.spec.template.metadata.labels
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
.spec.template.spec
Spec is the specification of the desired behavior of the machine.
.spec.template.spec.acceleratedNetworking
AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on whether the requested VMSize supports accelerated networking. If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error.
.spec.template.spec.additionalTags
AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine’s value takes precedence.
.spec.template.spec.allocatePublicIP
AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.
.spec.template.spec.dataDisks
DataDisk specifies the parameters that are used to add one or more data disks to the machine
.spec.template.spec.dataDisks[*]
DataDisk specifies the parameters that are used to add one or more data disks to the machine.
.spec.template.spec.dataDisks[*].cachingType
CachingType specifies the caching requirements.
.spec.template.spec.dataDisks[*].diskSizeGB
DiskSizeGB is the size in GB to assign to the data disk.
.spec.template.spec.dataDisks[*].lun
Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. The value must be between 0 and 63.
.spec.template.spec.dataDisks[*].managedDisk
ManagedDisk specifies the Managed Disk parameters for the data disk.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.dataDisks[*].managedDisk.storageAccountType
.spec.template.spec.dataDisks[*].nameSuffix
NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format
.spec.template.spec.enableIPForwarding
EnableIPForwarding enables IP Forwarding in Azure which is required for some CNI’s to send traffic from a pods on one machine to another. This is required for IpV6 with Calico in combination with User Defined Routes (set by the Azure Cloud Controller manager). Default is false for disabled.
.spec.template.spec.failureDomain
FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. This relates to an Azure Availability Zone
.spec.template.spec.identity
Identity is the type of identity used for the virtual machine. The type ‘SystemAssigned’ is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type ‘UserAssigned’ is a standalone Azure resource provided by the user and assigned to the VM
.spec.template.spec.image
Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace “capi” offer, which is based on Ubuntu.
.spec.template.spec.image.id
ID specifies an image to use by ID
.spec.template.spec.image.marketplace
Marketplace specifies an image to use from the Azure Marketplace
.spec.template.spec.image.marketplace.offer
Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer
.spec.template.spec.image.marketplace.publisher
Publisher is the name of the organization that created the image
.spec.template.spec.image.marketplace.sku
SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter
.spec.template.spec.image.marketplace.thirdPartyImage
ThirdPartyImage indicates the image is published by a third party publisher and a Plan will be generated for it.
.spec.template.spec.image.marketplace.version
Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.image.sharedGallery
SharedGallery specifies an image to use from an Azure Shared Image Gallery
.spec.template.spec.image.sharedGallery.gallery
Gallery specifies the name of the shared image gallery that contains the image
.spec.template.spec.image.sharedGallery.name
Name is the name of the image
.spec.template.spec.image.sharedGallery.offer
Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.publisher
Publisher is the name of the organization that created the image. This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.resourceGroup
ResourceGroup specifies the resource group containing the shared image gallery
.spec.template.spec.image.sharedGallery.sku
SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter This value will be used to add a Plan
in the API request when creating the VM/VMSS resource. This is needed when the source image from which this SIG image was built requires the Plan
to be used.
.spec.template.spec.image.sharedGallery.subscriptionID
SubscriptionID is the identifier of the subscription that contains the shared image gallery
.spec.template.spec.image.sharedGallery.version
Version specifies the version of the marketplace image. The allowed formats are Major.Minor.Build or ‘latest’. Major, Minor, and Build are decimal numbers. Specify ‘latest’ to use the latest version of an image available at deploy time. Even if you use ‘latest’, the VM image will not automatically update after deploy time even if a new version becomes available.
.spec.template.spec.osDisk
OSDisk specifies the parameters for the operating system disk of the machine
.spec.template.spec.osDisk.cachingType
CachingType specifies the caching requirements.
.spec.template.spec.osDisk.diffDiskSettings
DiffDiskSettings describe ephemeral disk settings for the os disk.
.spec.template.spec.osDisk.diffDiskSettings.option
Option enables ephemeral OS when set to “Local” See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details
.spec.template.spec.osDisk.diskSizeGB
DiskSizeGB is the size in GB to assign to the OS disk. Will have a default of 30GB if not provided
.spec.template.spec.osDisk.managedDisk
ManagedDisk specifies the Managed Disk parameters for the OS disk.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet
DiskEncryptionSetParameters defines disk encryption options.
.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id
ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription
.spec.template.spec.osDisk.managedDisk.storageAccountType
.spec.template.spec.osDisk.osType
.spec.template.spec.providerID
ProviderID is the unique identifier as specified by the cloud provider.
.spec.template.spec.roleAssignmentName
RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID. If not specified, a random GUID will be generated.
.spec.template.spec.securityProfile
SecurityProfile specifies the Security profile settings for a virtual machine.
.spec.template.spec.securityProfile.encryptionAtHost
This field indicates whether Host Encryption should be enabled or disabled for a virtual machine or virtual machine scale set. Default is disabled.
.spec.template.spec.spotVMOptions
SpotVMOptions allows the ability to specify the Machine should use a Spot VM
.spec.template.spec.spotVMOptions.maxPrice
MaxPrice defines the maximum price the user is willing to pay for Spot VM instances
.spec.template.spec.sshPublicKey
.spec.template.spec.subnetName
SubnetName selects the Subnet where the VM will be placed
.spec.template.spec.userAssignedIdentities
UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachine. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
.spec.template.spec.userAssignedIdentities[*]
UserAssignedIdentity defines the user-assigned identities provided by the user to be assigned to Azure resources.
.spec.template.spec.userAssignedIdentities[*].providerID
ProviderID is the identification ID of the user-assigned Identity, the format of an identity is: ‘azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}’
.spec.template.spec.vmSize
This documentation page shows information based on apiextensions v5.0.0.
Need help with the Management API?
We listen in your Slack support channel. And of course, we welcome your pull requests to improve these docs!