Microsoft.NetworkCloud virtualMachines

Bicep resource definition

The virtualMachines resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.NetworkCloud/virtualMachines resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.NetworkCloud/virtualMachines@2026-07-01' = {
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    adminUsername: 'string'
    bootMethod: 'string'
    cloudServicesNetworkAttachment: {
      attachedNetworkId: 'string'
      defaultGateway: 'string'
      ipAllocationMethod: 'string'
      ipv4Address: 'string'
      ipv6Address: 'string'
      networkAttachmentName: 'string'
    }
    consoleExtendedLocation: {
      name: 'string'
      type: 'string'
    }
    cpuCores: int
    isolateEmulatorThread: 'string'
    memorySizeGB: int
    networkAttachments: [
      {
        attachedNetworkId: 'string'
        defaultGateway: 'string'
        ipAllocationMethod: 'string'
        ipv4Address: 'string'
        ipv6Address: 'string'
        networkAttachmentName: 'string'
      }
    ]
    networkData: 'string'
    networkDataContent: 'string'
    placementHints: [
      {
        hintType: 'string'
        resourceId: 'string'
        schedulingExecution: 'string'
        scope: 'string'
      }
    ]
    sshPublicKeys: [
      {
        keyData: 'string'
      }
    ]
    storageProfile: {
      osDisk: {
        createOption: 'string'
        deleteOption: 'string'
        diskSizeGB: int
      }
      volumeAttachments: [
        'string'
      ]
    }
    userData: 'string'
    userDataContent: 'string'
    virtioInterface: 'string'
    vmDeviceModel: 'string'
    vmImage: 'string'
    vmImageRepositoryCredentials: {
      password: 'string'
      registryUrl: 'string'
      username: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.NetworkCloud/virtualMachines

Name Description Value
extendedLocation The extended location of the resource. This property is required when creating the resource. AzureResourceManagerCommonTypesExtendedLocation (required)
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$ (required)
properties The list of the resource properties. VirtualMachineProperties (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

ImageRepositoryCredentials

Name Description Value
password The password or token used to access an image in the target repository. string

Constraints:
Min length = 1
Sensitive value. Pass in as a secure parameter. (required)
registryUrl The URL of the authentication server used to validate the repository credentials. string (required)
username The username used to access an image in the target repository. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkAttachment

Name Description Value
attachedNetworkId The resource ID of the associated network attached to the virtual machine. It can be one of cloudServicesNetwork, l3Network, l2Network or trunkedNetwork resources. string (required)
defaultGateway The indicator of whether this is the default gateway. Only one of the attached networks (including the CloudServicesNetwork attachment) for a single machine may be specified as True. 'False'
'True'
ipAllocationMethod The IP allocation mechanism for the virtual machine. Dynamic and Static are only valid for l3Network which may also specify Disabled. Otherwise, Disabled is the only permitted value. 'Disabled'
'Dynamic'
'Static' (required)
ipv4Address The IPv4 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV4 or DualStack. If IPAllocationMethod is: Static - this field must contain a user specified IPv4 address from within the subnet specified in the attached network. Dynamic - this field is read-only, but will be populated with an address from within the subnet specified in the attached network. Disabled - this field will be empty. string
ipv6Address The IPv6 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV6 or DualStack. If IPAllocationMethod is: Static - this field must contain an IPv6 address range from within the range specified in the attached network. Dynamic - this field is read-only, but will be populated with an range from within the subnet specified in the attached network. Disabled - this field will be empty. string
networkAttachmentName The associated network's interface name. If specified, the network attachment name has a maximum length of 15 characters and must be unique to this virtual machine. If the user doesn't specify this value, the default interface name of the network resource will be used. For a CloudServicesNetwork resource, this name will be ignored. string

Constraints:
Max length = 15

OsDisk

Name Description Value
createOption The strategy for creating the OS disk. 'Ephemeral'
'Persistent'
deleteOption The strategy for deleting the OS disk. 'Delete'
diskSizeGB The size of the disk. Required if the createOption is Ephemeral. Allocations are measured in gibibytes. int (required)

SshPublicKey

Name Description Value
keyData The SSH public key data. string

Constraints:
Min length = 1 (required)

StorageProfile

Name Description Value
osDisk The disk to use with this virtual machine. OsDisk (required)
volumeAttachments The resource IDs of volumes that are requested to be attached to the virtual machine. string[]

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VirtualMachinePlacementHint

Name Description Value
hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources. 'Affinity'
'AntiAffinity' (required)
resourceId The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine. string (required)
schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling. 'Hard'
'Soft' (required)
scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity. 'Machine'
'Rack' (required)

VirtualMachineProperties

Name Description Value
adminUsername The name of the administrator to which the ssh public keys will be added into the authorized keys. string

Constraints:
Min length = 1
Max length = 32
Pattern = ^[a-z_][a-z0-9_]{0,31}$ (required)
bootMethod Selects the boot method for the virtual machine. 'BIOS'
'UEFI'
cloudServicesNetworkAttachment The cloud service network that provides platform-level services for the virtual machine. NetworkAttachment (required)
consoleExtendedLocation The extended location to use for creation of a VM console resource. AzureResourceManagerCommonTypesExtendedLocation
cpuCores The number of CPU cores in the virtual machine. int

Constraints:
Min value = 2 (required)
isolateEmulatorThread Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine. 'False'
'True'
memorySizeGB The memory size of the virtual machine. Allocations are measured in gibibytes. int

Constraints:
Min value = 1 (required)
networkAttachments The list of network attachments to the virtual machine. NetworkAttachment[]
networkData Field Deprecated: The Base64 encoded cloud-init network data. The networkDataContent property will be used in preference to this property. string
networkDataContent The Base64 encoded cloud-init network data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
placementHints The scheduling hints for the virtual machine. VirtualMachinePlacementHint[]
sshPublicKeys The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. SshPublicKey[]
storageProfile The storage profile that specifies size and other parameters about the disks related to the virtual machine. StorageProfile (required)
userData Field Deprecated: The Base64 encoded cloud-init user data. The userDataContent property will be used in preference to this property. string
userDataContent The Base64 encoded cloud-init user data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
virtioInterface Field Deprecated, use virtualizationModel instead. The type of the virtio interface. 'Modern'
'Transitional'
vmDeviceModel The type of the device model to use. 'T1'
'T2'
'T3'
vmImage The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image. string (required)
vmImageRepositoryCredentials The credentials used to login to the image repository that has access to the specified image. ImageRepositoryCredentials

ARM template resource definition

The virtualMachines resource type can be deployed with operations that target:

Usage Examples

Resource format

To create a Microsoft.NetworkCloud/virtualMachines resource, add the following JSON to your template.

{
  "type": "Microsoft.NetworkCloud/virtualMachines",
  "apiVersion": "2026-07-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "adminUsername": "string",
    "bootMethod": "string",
    "cloudServicesNetworkAttachment": {
      "attachedNetworkId": "string",
      "defaultGateway": "string",
      "ipAllocationMethod": "string",
      "ipv4Address": "string",
      "ipv6Address": "string",
      "networkAttachmentName": "string"
    },
    "consoleExtendedLocation": {
      "name": "string",
      "type": "string"
    },
    "cpuCores": "int",
    "isolateEmulatorThread": "string",
    "memorySizeGB": "int",
    "networkAttachments": [
      {
        "attachedNetworkId": "string",
        "defaultGateway": "string",
        "ipAllocationMethod": "string",
        "ipv4Address": "string",
        "ipv6Address": "string",
        "networkAttachmentName": "string"
      }
    ],
    "networkData": "string",
    "networkDataContent": "string",
    "placementHints": [
      {
        "hintType": "string",
        "resourceId": "string",
        "schedulingExecution": "string",
        "scope": "string"
      }
    ],
    "sshPublicKeys": [
      {
        "keyData": "string"
      }
    ],
    "storageProfile": {
      "osDisk": {
        "createOption": "string",
        "deleteOption": "string",
        "diskSizeGB": "int"
      },
      "volumeAttachments": [ "string" ]
    },
    "userData": "string",
    "userDataContent": "string",
    "virtioInterface": "string",
    "vmDeviceModel": "string",
    "vmImage": "string",
    "vmImageRepositoryCredentials": {
      "password": "string",
      "registryUrl": "string",
      "username": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.NetworkCloud/virtualMachines

Name Description Value
apiVersion The api version '2026-07-01'
extendedLocation The extended location of the resource. This property is required when creating the resource. AzureResourceManagerCommonTypesExtendedLocation (required)
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$ (required)
properties The list of the resource properties. VirtualMachineProperties (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.NetworkCloud/virtualMachines'

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

ImageRepositoryCredentials

Name Description Value
password The password or token used to access an image in the target repository. string

Constraints:
Min length = 1
Sensitive value. Pass in as a secure parameter. (required)
registryUrl The URL of the authentication server used to validate the repository credentials. string (required)
username The username used to access an image in the target repository. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkAttachment

Name Description Value
attachedNetworkId The resource ID of the associated network attached to the virtual machine. It can be one of cloudServicesNetwork, l3Network, l2Network or trunkedNetwork resources. string (required)
defaultGateway The indicator of whether this is the default gateway. Only one of the attached networks (including the CloudServicesNetwork attachment) for a single machine may be specified as True. 'False'
'True'
ipAllocationMethod The IP allocation mechanism for the virtual machine. Dynamic and Static are only valid for l3Network which may also specify Disabled. Otherwise, Disabled is the only permitted value. 'Disabled'
'Dynamic'
'Static' (required)
ipv4Address The IPv4 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV4 or DualStack. If IPAllocationMethod is: Static - this field must contain a user specified IPv4 address from within the subnet specified in the attached network. Dynamic - this field is read-only, but will be populated with an address from within the subnet specified in the attached network. Disabled - this field will be empty. string
ipv6Address The IPv6 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV6 or DualStack. If IPAllocationMethod is: Static - this field must contain an IPv6 address range from within the range specified in the attached network. Dynamic - this field is read-only, but will be populated with an range from within the subnet specified in the attached network. Disabled - this field will be empty. string
networkAttachmentName The associated network's interface name. If specified, the network attachment name has a maximum length of 15 characters and must be unique to this virtual machine. If the user doesn't specify this value, the default interface name of the network resource will be used. For a CloudServicesNetwork resource, this name will be ignored. string

Constraints:
Max length = 15

OsDisk

Name Description Value
createOption The strategy for creating the OS disk. 'Ephemeral'
'Persistent'
deleteOption The strategy for deleting the OS disk. 'Delete'
diskSizeGB The size of the disk. Required if the createOption is Ephemeral. Allocations are measured in gibibytes. int (required)

SshPublicKey

Name Description Value
keyData The SSH public key data. string

Constraints:
Min length = 1 (required)

StorageProfile

Name Description Value
osDisk The disk to use with this virtual machine. OsDisk (required)
volumeAttachments The resource IDs of volumes that are requested to be attached to the virtual machine. string[]

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VirtualMachinePlacementHint

Name Description Value
hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources. 'Affinity'
'AntiAffinity' (required)
resourceId The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine. string (required)
schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling. 'Hard'
'Soft' (required)
scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity. 'Machine'
'Rack' (required)

VirtualMachineProperties

Name Description Value
adminUsername The name of the administrator to which the ssh public keys will be added into the authorized keys. string

Constraints:
Min length = 1
Max length = 32
Pattern = ^[a-z_][a-z0-9_]{0,31}$ (required)
bootMethod Selects the boot method for the virtual machine. 'BIOS'
'UEFI'
cloudServicesNetworkAttachment The cloud service network that provides platform-level services for the virtual machine. NetworkAttachment (required)
consoleExtendedLocation The extended location to use for creation of a VM console resource. AzureResourceManagerCommonTypesExtendedLocation
cpuCores The number of CPU cores in the virtual machine. int

Constraints:
Min value = 2 (required)
isolateEmulatorThread Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine. 'False'
'True'
memorySizeGB The memory size of the virtual machine. Allocations are measured in gibibytes. int

Constraints:
Min value = 1 (required)
networkAttachments The list of network attachments to the virtual machine. NetworkAttachment[]
networkData Field Deprecated: The Base64 encoded cloud-init network data. The networkDataContent property will be used in preference to this property. string
networkDataContent The Base64 encoded cloud-init network data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
placementHints The scheduling hints for the virtual machine. VirtualMachinePlacementHint[]
sshPublicKeys The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. SshPublicKey[]
storageProfile The storage profile that specifies size and other parameters about the disks related to the virtual machine. StorageProfile (required)
userData Field Deprecated: The Base64 encoded cloud-init user data. The userDataContent property will be used in preference to this property. string
userDataContent The Base64 encoded cloud-init user data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
virtioInterface Field Deprecated, use virtualizationModel instead. The type of the virtio interface. 'Modern'
'Transitional'
vmDeviceModel The type of the device model to use. 'T1'
'T2'
'T3'
vmImage The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image. string (required)
vmImageRepositoryCredentials The credentials used to login to the image repository that has access to the specified image. ImageRepositoryCredentials

Terraform (AzAPI provider) resource definition

The virtualMachines resource type can be deployed with operations that target:

  • Resource groups For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.NetworkCloud/virtualMachines resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.NetworkCloud/virtualMachines@2026-07-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      adminUsername = "string"
      bootMethod = "string"
      cloudServicesNetworkAttachment = {
        attachedNetworkId = "string"
        defaultGateway = "string"
        ipAllocationMethod = "string"
        ipv4Address = "string"
        ipv6Address = "string"
        networkAttachmentName = "string"
      }
      consoleExtendedLocation = {
        name = "string"
        type = "string"
      }
      cpuCores = int
      isolateEmulatorThread = "string"
      memorySizeGB = int
      networkAttachments = [
        {
          attachedNetworkId = "string"
          defaultGateway = "string"
          ipAllocationMethod = "string"
          ipv4Address = "string"
          ipv6Address = "string"
          networkAttachmentName = "string"
        }
      ]
      networkData = "string"
      networkDataContent = "string"
      placementHints = [
        {
          hintType = "string"
          resourceId = "string"
          schedulingExecution = "string"
          scope = "string"
        }
      ]
      sshPublicKeys = [
        {
          keyData = "string"
        }
      ]
      storageProfile = {
        osDisk = {
          createOption = "string"
          deleteOption = "string"
          diskSizeGB = int
        }
        volumeAttachments = [
          "string"
        ]
      }
      userData = "string"
      userDataContent = "string"
      virtioInterface = "string"
      vmDeviceModel = "string"
      vmImage = "string"
      vmImageRepositoryCredentials = {
        password = "string"
        registryUrl = "string"
        username = "string"
      }
    }
  }
}

Property Values

Microsoft.NetworkCloud/virtualMachines

Name Description Value
extendedLocation The extended location of the resource. This property is required when creating the resource. AzureResourceManagerCommonTypesExtendedLocation (required)
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$ (required)
properties The list of the resource properties. VirtualMachineProperties (required)
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.NetworkCloud/virtualMachines@2026-07-01"

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

ImageRepositoryCredentials

Name Description Value
password The password or token used to access an image in the target repository. string

Constraints:
Min length = 1
Sensitive value. Pass in as a secure parameter. (required)
registryUrl The URL of the authentication server used to validate the repository credentials. string (required)
username The username used to access an image in the target repository. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkAttachment

Name Description Value
attachedNetworkId The resource ID of the associated network attached to the virtual machine. It can be one of cloudServicesNetwork, l3Network, l2Network or trunkedNetwork resources. string (required)
defaultGateway The indicator of whether this is the default gateway. Only one of the attached networks (including the CloudServicesNetwork attachment) for a single machine may be specified as True. 'False'
'True'
ipAllocationMethod The IP allocation mechanism for the virtual machine. Dynamic and Static are only valid for l3Network which may also specify Disabled. Otherwise, Disabled is the only permitted value. 'Disabled'
'Dynamic'
'Static' (required)
ipv4Address The IPv4 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV4 or DualStack. If IPAllocationMethod is: Static - this field must contain a user specified IPv4 address from within the subnet specified in the attached network. Dynamic - this field is read-only, but will be populated with an address from within the subnet specified in the attached network. Disabled - this field will be empty. string
ipv6Address The IPv6 address of the virtual machine. This field is used only if the attached network has IPAllocationType of IPV6 or DualStack. If IPAllocationMethod is: Static - this field must contain an IPv6 address range from within the range specified in the attached network. Dynamic - this field is read-only, but will be populated with an range from within the subnet specified in the attached network. Disabled - this field will be empty. string
networkAttachmentName The associated network's interface name. If specified, the network attachment name has a maximum length of 15 characters and must be unique to this virtual machine. If the user doesn't specify this value, the default interface name of the network resource will be used. For a CloudServicesNetwork resource, this name will be ignored. string

Constraints:
Max length = 15

OsDisk

Name Description Value
createOption The strategy for creating the OS disk. 'Ephemeral'
'Persistent'
deleteOption The strategy for deleting the OS disk. 'Delete'
diskSizeGB The size of the disk. Required if the createOption is Ephemeral. Allocations are measured in gibibytes. int (required)

SshPublicKey

Name Description Value
keyData The SSH public key data. string

Constraints:
Min length = 1 (required)

StorageProfile

Name Description Value
osDisk The disk to use with this virtual machine. OsDisk (required)
volumeAttachments The resource IDs of volumes that are requested to be attached to the virtual machine. string[]

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VirtualMachinePlacementHint

Name Description Value
hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources. 'Affinity'
'AntiAffinity' (required)
resourceId The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine. string (required)
schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling. 'Hard'
'Soft' (required)
scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity. 'Machine'
'Rack' (required)

VirtualMachineProperties

Name Description Value
adminUsername The name of the administrator to which the ssh public keys will be added into the authorized keys. string

Constraints:
Min length = 1
Max length = 32
Pattern = ^[a-z_][a-z0-9_]{0,31}$ (required)
bootMethod Selects the boot method for the virtual machine. 'BIOS'
'UEFI'
cloudServicesNetworkAttachment The cloud service network that provides platform-level services for the virtual machine. NetworkAttachment (required)
consoleExtendedLocation The extended location to use for creation of a VM console resource. AzureResourceManagerCommonTypesExtendedLocation
cpuCores The number of CPU cores in the virtual machine. int

Constraints:
Min value = 2 (required)
isolateEmulatorThread Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine. 'False'
'True'
memorySizeGB The memory size of the virtual machine. Allocations are measured in gibibytes. int

Constraints:
Min value = 1 (required)
networkAttachments The list of network attachments to the virtual machine. NetworkAttachment[]
networkData Field Deprecated: The Base64 encoded cloud-init network data. The networkDataContent property will be used in preference to this property. string
networkDataContent The Base64 encoded cloud-init network data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
placementHints The scheduling hints for the virtual machine. VirtualMachinePlacementHint[]
sshPublicKeys The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. SshPublicKey[]
storageProfile The storage profile that specifies size and other parameters about the disks related to the virtual machine. StorageProfile (required)
userData Field Deprecated: The Base64 encoded cloud-init user data. The userDataContent property will be used in preference to this property. string
userDataContent The Base64 encoded cloud-init user data. string

Constraints:
Sensitive value. Pass in as a secure parameter.
virtioInterface Field Deprecated, use virtualizationModel instead. The type of the virtio interface. 'Modern'
'Transitional'
vmDeviceModel The type of the device model to use. 'T1'
'T2'
'T3'
vmImage The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image. string (required)
vmImageRepositoryCredentials The credentials used to login to the image repository that has access to the specified image. ImageRepositoryCredentials