Share via


VirtualMachineProperties interface

Describes the properties of a Virtual Machine.

Properties

additionalCapabilities

Specifies additional capabilities enabled or disabled on the virtual machine.

applicationProfile

Specifies the gallery applications that should be made available to the VM/VMSS

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 Availability sets overview.

For more information on Azure planned maintenance, see Maintenance and updates 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.

capacityReservation

Specifies information about the capacity reservation that is used to allocate virtual machine.

Minimum api-version: 2021-04-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.

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.

platformFaultDomain

Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.

  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View.

    Minimum api‐version: 2020‐12‐01

  • priority

    Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01

    proximityPlacementGroup

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

    Minimum api-version: 2018-04-01.

    scheduledEventsProfile

    Specifies Scheduled Event related configurations.

    securityProfile

    Specifies the Security related profile settings for the virtual machine.

    storageProfile

    Specifies the storage settings for the virtual machine disks.

    userData

    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01

    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

    Property Details

    additionalCapabilities

    Specifies additional capabilities enabled or disabled on the virtual machine.

    additionalCapabilities?: AdditionalCapabilities

    Property Value

    applicationProfile

    Specifies the gallery applications that should be made available to the VM/VMSS

    applicationProfile?: ApplicationProfile

    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 Availability sets overview.

    For more information on Azure planned maintenance, see Maintenance and updates 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

    capacityReservation

    Specifies information about the capacity reservation that is used to allocate virtual machine.

    Minimum api-version: 2021-04-01.

    capacityReservation?: CapacityReservationProfile

    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?: "Deallocate" | "Delete"

    Property Value

    "Deallocate" | "Delete"

    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

    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

    platformFaultDomain

    Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.

  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View.

    Minimum api‐version: 2020‐12‐01

    platformFaultDomain?: number

    Property Value

    number

  • priority

    Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01

    priority?: "Regular" | "Low" | "Spot"

    Property Value

    "Regular" | "Low" | "Spot"

    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

    scheduledEventsProfile

    Specifies Scheduled Event related configurations.

    scheduledEventsProfile?: ScheduledEventsProfile

    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

    userData

    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01

    userData?: string

    Property Value

    string

    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