VirtualMachine interface

Describes a Virtual Machine.

Extends

Properties

additionalCapabilities

Specifies additional capabilities enabled or disabled on the virtual machine.

availabilitySet

Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Manage the availability of virtual machines.

For more information on Azure planned maintenance, see Planned maintenance for virtual machines in Azure

Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.

This property cannot exist along with a non-null properties.virtualMachineScaleSet reference.

billingProfile

Specifies the billing related details of a Azure Spot virtual machine.

Minimum api-version: 2019-03-01.

diagnosticsProfile

Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15.

evictionPolicy

Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.

extensionsTimeBudget

Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

Minimum api-version: 2020-06-01

hardwareProfile

Specifies the hardware settings for the virtual machine.

host

Specifies information about the dedicated host that the virtual machine resides in.

Minimum api-version: 2018-10-01.

hostGroup

Specifies information about the dedicated host group that the virtual machine resides in.

Minimum api-version: 2020-06-01.

NOTE: User cannot specify both host and hostGroup properties.

identity

The identity of the virtual machine, if configured.

instanceView

The virtual machine instance view. NOTE: This property will not be serialized. It can only be populated by the server.

licenseType

Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see Azure Hybrid Use Benefit for Windows Server

Azure Hybrid Use Benefit for Linux Server

Minimum api-version: 2015-06-15

networkProfile

Specifies the network interfaces of the virtual machine.

osProfile

Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.

plan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

priority

Specifies the priority for the virtual machine.

Minimum api-version: 2019-03-01

provisioningState

The provisioning state, which only appears in the response. NOTE: This property will not be serialized. It can only be populated by the server.

proximityPlacementGroup

Specifies information about the proximity placement group that the virtual machine should be assigned to.

Minimum api-version: 2018-04-01.

resources

The virtual machine child extension resources. NOTE: This property will not be serialized. It can only be populated by the server.

securityProfile

Specifies the Security related profile settings for the virtual machine.

storageProfile

Specifies the storage settings for the virtual machine disks.

virtualMachineScaleSet

Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

This property cannot exist along with a non-null properties.availabilitySet reference.

Minimum api‐version: 2019‐03‐01

vmId

Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. NOTE: This property will not be serialized. It can only be populated by the server.

zones

The virtual machine zones.

Inherited Properties

id

Resource Id NOTE: This property will not be serialized. It can only be populated by the server.

location

Resource location

name

Resource name NOTE: This property will not be serialized. It can only be populated by the server.

tags

Resource tags

type

Resource type NOTE: This property will not be serialized. It can only be populated by the server.

Property Details

additionalCapabilities

Specifies additional capabilities enabled or disabled on the virtual machine.

additionalCapabilities?: AdditionalCapabilities

Property Value

availabilitySet

Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Manage the availability of virtual machines.

For more information on Azure planned maintenance, see Planned maintenance for virtual machines in Azure

Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.

This property cannot exist along with a non-null properties.virtualMachineScaleSet reference.

availabilitySet?: SubResource

Property Value

billingProfile

Specifies the billing related details of a Azure Spot virtual machine.

Minimum api-version: 2019-03-01.

billingProfile?: BillingProfile

Property Value

diagnosticsProfile

Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15.

diagnosticsProfile?: DiagnosticsProfile

Property Value

evictionPolicy

Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.

evictionPolicy?: string

Property Value

string

extensionsTimeBudget

Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

Minimum api-version: 2020-06-01

extensionsTimeBudget?: string

Property Value

string

hardwareProfile

Specifies the hardware settings for the virtual machine.

hardwareProfile?: HardwareProfile

Property Value

host

Specifies information about the dedicated host that the virtual machine resides in.

Minimum api-version: 2018-10-01.

host?: SubResource

Property Value

hostGroup

Specifies information about the dedicated host group that the virtual machine resides in.

Minimum api-version: 2020-06-01.

NOTE: User cannot specify both host and hostGroup properties.

hostGroup?: SubResource

Property Value

identity

The identity of the virtual machine, if configured.

identity?: VirtualMachineIdentity

Property Value

instanceView

The virtual machine instance view. NOTE: This property will not be serialized. It can only be populated by the server.

instanceView?: VirtualMachineInstanceView

Property Value

licenseType

Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see Azure Hybrid Use Benefit for Windows Server

Azure Hybrid Use Benefit for Linux Server

Minimum api-version: 2015-06-15

licenseType?: string

Property Value

string

networkProfile

Specifies the network interfaces of the virtual machine.

networkProfile?: NetworkProfile

Property Value

osProfile

Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.

osProfile?: OSProfile

Property Value

plan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

plan?: Plan

Property Value

priority

Specifies the priority for the virtual machine.

Minimum api-version: 2019-03-01

priority?: string

Property Value

string

provisioningState

The provisioning state, which only appears in the response. NOTE: This property will not be serialized. It can only be populated by the server.

provisioningState?: string

Property Value

string

proximityPlacementGroup

Specifies information about the proximity placement group that the virtual machine should be assigned to.

Minimum api-version: 2018-04-01.

proximityPlacementGroup?: SubResource

Property Value

resources

The virtual machine child extension resources. NOTE: This property will not be serialized. It can only be populated by the server.

resources?: VirtualMachineExtension[]

Property Value

securityProfile

Specifies the Security related profile settings for the virtual machine.

securityProfile?: SecurityProfile

Property Value

storageProfile

Specifies the storage settings for the virtual machine disks.

storageProfile?: StorageProfile

Property Value

virtualMachineScaleSet

Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

This property cannot exist along with a non-null properties.availabilitySet reference.

Minimum api‐version: 2019‐03‐01

virtualMachineScaleSet?: SubResource

Property Value

vmId

Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. NOTE: This property will not be serialized. It can only be populated by the server.

vmId?: string

Property Value

string

zones

The virtual machine zones.

zones?: string[]

Property Value

string[]

Inherited Property Details

id

Resource Id NOTE: This property will not be serialized. It can only be populated by the server.

id?: string

Property Value

string

Inherited From Resource.id

location

Resource location

location: string

Property Value

string

Inherited From Resource.location

name

Resource name NOTE: This property will not be serialized. It can only be populated by the server.

name?: string

Property Value

string

Inherited From Resource.name

tags

Resource tags

tags?: {[propertyName: string]: string}

Property Value

{[propertyName: string]: string}

Inherited From Resource.tags

type

Resource type NOTE: This property will not be serialized. It can only be populated by the server.

type?: string

Property Value

string

Inherited From Resource.type