Last generated June 29, 2022

AzureMachineTemplate

AzureMachineTemplate is the Schema for the azuremachinetemplates API.

Full name:
azuremachinetemplates.infrastructure.cluster.x-k8s.io
Group:
infrastructure.cluster.x-k8s.io
Singular name:
azuremachinetemplate
Plural name:
azuremachinetemplates
Scope:
Namespaced
Versions:
v1alpha3v1alpha4v1beta1

Version v1alpha3

Properties

.apiVersion

string

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

string

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

object

.spec

object

AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.

.spec.template

object Required

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

.spec.template.spec

object Required

Spec is the specification of the desired behavior of the machine.

.spec.template.spec.acceleratedNetworking

boolean

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

object

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

boolean

AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.

.spec.template.spec.availabilityZone

object

DEPRECATED: use FailureDomain instead

.spec.template.spec.availabilityZone.enabled

boolean

.spec.template.spec.availabilityZone.id

string

.spec.template.spec.dataDisks

array

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

.spec.template.spec.dataDisks[*]

object

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

.spec.template.spec.dataDisks[*].cachingType

string

.spec.template.spec.dataDisks[*].diskSizeGB

integer Required

DiskSizeGB is the size in GB to assign to the data disk.

.spec.template.spec.dataDisks[*].lun

integer

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

object

ManagedDisk defines the managed disk options for a VM.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.dataDisks[*].managedDisk.storageAccountType

string Required

.spec.template.spec.dataDisks[*].nameSuffix

string Required

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

boolean

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

string

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

string

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

object

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

string

ID specifies an image to use by ID

.spec.template.spec.image.marketplace

object

Marketplace specifies an image to use from the Azure Marketplace

.spec.template.spec.image.marketplace.offer

string Required

Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer

.spec.template.spec.image.marketplace.publisher

string Required

Publisher is the name of the organization that created the image

.spec.template.spec.image.marketplace.sku

string Required

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

boolean

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

string Required

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

object

SharedGallery specifies an image to use from an Azure Shared Image Gallery

.spec.template.spec.image.sharedGallery.gallery

string Required

Gallery specifies the name of the shared image gallery that contains the image

.spec.template.spec.image.sharedGallery.name

string Required

Name is the name of the image

.spec.template.spec.image.sharedGallery.resourceGroup

string Required

ResourceGroup specifies the resource group containing the shared image gallery

.spec.template.spec.image.sharedGallery.subscriptionID

string Required

SubscriptionID is the identifier of the subscription that contains the shared image gallery

.spec.template.spec.image.sharedGallery.version

string Required

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

string Required

DEPRECATED: to support old clients, will be removed in v1alpha4/v1beta1

.spec.template.spec.osDisk

object Required

OSDisk specifies the parameters for the operating system disk of the machine

.spec.template.spec.osDisk.cachingType

string

.spec.template.spec.osDisk.diffDiskSettings

object

DiffDiskSettings describe ephemeral disk settings for the os disk.

.spec.template.spec.osDisk.diffDiskSettings.option

string Required

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

integer Required

.spec.template.spec.osDisk.managedDisk

object Required

ManagedDisk defines the managed disk options for a VM.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.osDisk.managedDisk.storageAccountType

string Required

.spec.template.spec.osDisk.osType

string Required

.spec.template.spec.providerID

string

ProviderID is the unique identifier as specified by the cloud provider.

.spec.template.spec.roleAssignmentName

string

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

object

SecurityProfile specifies the Security profile settings for a virtual machine.

.spec.template.spec.securityProfile.encryptionAtHost

boolean

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

object

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

string Required

.spec.template.spec.userAssignedIdentities

array

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[*]

object

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

.spec.template.spec.userAssignedIdentities[*].providerID

string Required

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

string Required

Version v1alpha4

Properties

.apiVersion

string

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

string

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

object

.spec

object

AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.

.spec.template

object Required

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

.spec.template.spec

object Required

Spec is the specification of the desired behavior of the machine.

.spec.template.spec.acceleratedNetworking

boolean

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

object

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

boolean

AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.

.spec.template.spec.dataDisks

array

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

.spec.template.spec.dataDisks[*]

object

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

.spec.template.spec.dataDisks[*].cachingType

string

CachingType specifies the caching requirements.

.spec.template.spec.dataDisks[*].diskSizeGB

integer Required

DiskSizeGB is the size in GB to assign to the data disk.

.spec.template.spec.dataDisks[*].lun

integer

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

object

ManagedDisk specifies the Managed Disk parameters for the data disk.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.dataDisks[*].managedDisk.storageAccountType

string

.spec.template.spec.dataDisks[*].nameSuffix

string Required

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

boolean

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

string

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

string

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

object

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

string

ID specifies an image to use by ID

.spec.template.spec.image.marketplace

object

Marketplace specifies an image to use from the Azure Marketplace

.spec.template.spec.image.marketplace.offer

string Required

Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer

.spec.template.spec.image.marketplace.publisher

string Required

Publisher is the name of the organization that created the image

.spec.template.spec.image.marketplace.sku

string Required

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

boolean

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

string Required

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

object

SharedGallery specifies an image to use from an Azure Shared Image Gallery

.spec.template.spec.image.sharedGallery.gallery

string Required

Gallery specifies the name of the shared image gallery that contains the image

.spec.template.spec.image.sharedGallery.name

string Required

Name is the name of the image

.spec.template.spec.image.sharedGallery.offer

string

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

string

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

string Required

ResourceGroup specifies the resource group containing the shared image gallery

.spec.template.spec.image.sharedGallery.sku

string

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

string Required

SubscriptionID is the identifier of the subscription that contains the shared image gallery

.spec.template.spec.image.sharedGallery.version

string Required

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

object Required

OSDisk specifies the parameters for the operating system disk of the machine

.spec.template.spec.osDisk.cachingType

string

CachingType specifies the caching requirements.

.spec.template.spec.osDisk.diffDiskSettings

object

DiffDiskSettings describe ephemeral disk settings for the os disk.

.spec.template.spec.osDisk.diffDiskSettings.option

string Required

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

integer

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

object

ManagedDisk specifies the Managed Disk parameters for the OS disk.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.osDisk.managedDisk.storageAccountType

string

.spec.template.spec.osDisk.osType

string Required

.spec.template.spec.providerID

string

ProviderID is the unique identifier as specified by the cloud provider.

.spec.template.spec.roleAssignmentName

string

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

object

SecurityProfile specifies the Security profile settings for a virtual machine.

.spec.template.spec.securityProfile.encryptionAtHost

boolean

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

object

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

string Required

.spec.template.spec.subnetName

string

SubnetName selects the Subnet where the VM will be placed

.spec.template.spec.userAssignedIdentities

array

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[*]

object

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

.spec.template.spec.userAssignedIdentities[*].providerID

string Required

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

string Required

Version v1beta1

Properties

.apiVersion

string

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

string

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

object

.spec

object

AzureMachineTemplateSpec defines the desired state of AzureMachineTemplate.

.spec.template

object Required

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

.spec.template.metadata

object

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

object

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

object

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

object Required

Spec is the specification of the desired behavior of the machine.

.spec.template.spec.acceleratedNetworking

boolean

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

object

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

boolean

AllocatePublicIP allows the ability to create dynamic public ips for machines where this value is true.

.spec.template.spec.dataDisks

array

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

.spec.template.spec.dataDisks[*]

object

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

.spec.template.spec.dataDisks[*].cachingType

string

CachingType specifies the caching requirements.

.spec.template.spec.dataDisks[*].diskSizeGB

integer Required

DiskSizeGB is the size in GB to assign to the data disk.

.spec.template.spec.dataDisks[*].lun

integer

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

object

ManagedDisk specifies the Managed Disk parameters for the data disk.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.dataDisks[*].managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.dataDisks[*].managedDisk.storageAccountType

string

.spec.template.spec.dataDisks[*].nameSuffix

string Required

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

boolean

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

string

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

string

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

object

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

string

ID specifies an image to use by ID

.spec.template.spec.image.marketplace

object

Marketplace specifies an image to use from the Azure Marketplace

.spec.template.spec.image.marketplace.offer

string Required

Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer

.spec.template.spec.image.marketplace.publisher

string Required

Publisher is the name of the organization that created the image

.spec.template.spec.image.marketplace.sku

string Required

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

boolean

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

string Required

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

object

SharedGallery specifies an image to use from an Azure Shared Image Gallery

.spec.template.spec.image.sharedGallery.gallery

string Required

Gallery specifies the name of the shared image gallery that contains the image

.spec.template.spec.image.sharedGallery.name

string Required

Name is the name of the image

.spec.template.spec.image.sharedGallery.offer

string

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

string

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

string Required

ResourceGroup specifies the resource group containing the shared image gallery

.spec.template.spec.image.sharedGallery.sku

string

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

string Required

SubscriptionID is the identifier of the subscription that contains the shared image gallery

.spec.template.spec.image.sharedGallery.version

string Required

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

object Required

OSDisk specifies the parameters for the operating system disk of the machine

.spec.template.spec.osDisk.cachingType

string

CachingType specifies the caching requirements.

.spec.template.spec.osDisk.diffDiskSettings

object

DiffDiskSettings describe ephemeral disk settings for the os disk.

.spec.template.spec.osDisk.diffDiskSettings.option

string Required

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

integer

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

object

ManagedDisk specifies the Managed Disk parameters for the OS disk.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet

object

DiskEncryptionSetParameters defines disk encryption options.

.spec.template.spec.osDisk.managedDisk.diskEncryptionSet.id

string

ID defines resourceID for diskEncryptionSet resource. It must be in the same subscription

.spec.template.spec.osDisk.managedDisk.storageAccountType

string

.spec.template.spec.osDisk.osType

string Required

.spec.template.spec.providerID

string

ProviderID is the unique identifier as specified by the cloud provider.

.spec.template.spec.roleAssignmentName

string

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

object

SecurityProfile specifies the Security profile settings for a virtual machine.

.spec.template.spec.securityProfile.encryptionAtHost

boolean

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

object

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

string Required

.spec.template.spec.subnetName

string

SubnetName selects the Subnet where the VM will be placed

.spec.template.spec.userAssignedIdentities

array

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[*]

object

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

.spec.template.spec.userAssignedIdentities[*].providerID

string Required

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

string Required

This documentation page shows information based on apiextensions v5.0.0.