Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The virtualMachines resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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:
- Resource groups - See resource group deployment commands For a list of changed properties in each API version, see change log.
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 |