azure_virtual_machine_instance

availability_set

Type: STRUCT
Provider name: properties.availabilitySet
Description: 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.

  • id
    Type: STRING
    Provider name: id
    Description: Resource Id

diagnostics_profile

Type: STRUCT
Provider name: properties.diagnosticsProfile
Description: Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15.

  • boot_diagnostics
    Type: STRUCT
    Provider name: bootDiagnostics
    Description: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor.
    • enabled
      Type: BOOLEAN
      Provider name: enabled
      Description: Whether boot diagnostics should be enabled on the Virtual Machine.
    • storage_uri
      Type: STRING
      Provider name: storageUri
      Description: Uri of the storage account to use for placing the console output and screenshot.

      If storageUri is not specified while enabling boot diagnostics, managed storage will be used.

hardware_profile

Type: STRUCT
Provider name: properties.hardwareProfile
Description: Specifies the hardware settings for the virtual machine.

id

Type: STRING
Provider name: id
Description: Resource Id

identity

Type: STRUCT
Provider name: identity
Description: The identity of the virtual machine, if configured.

  • principal_id
    Type: STRING
    Provider name: principalId
    Description: The principal id of virtual machine identity. This property will only be provided for a system assigned identity.
  • tenant_id
    Type: STRING
    Provider name: tenantId
    Description: The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity.
  • type
    Type: STRING
    Provider name: type
    Description: The type of identity used for the virtual machine. The type ‘SystemAssigned, UserAssigned’ includes both an implicitly created identity and a set of user assigned identities. The type ‘None’ will remove any identities from the virtual machine.
  • user_assigned_identities
    Type: UNORDERED_LIST_STRUCT
    Provider name: userAssignedIdentities
    Description: The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: ‘/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}’.
    • resource_id
      Type: STRING
      Provider name: resourceId
      Description: The resourceId of the user assigned identity.
    • principal_id
      Type: STRING
      Provider name: principalId
      Description: The principalId of the user assigned identity.
    • client_id
      Type: STRING
      Provider name: clientId
      Description: The clientId of the user assigned identity.

instance_view

Type: STRUCT
Provider name: properties.instanceView
Description: The virtual machine instance view.

  • statuses
    Type: UNORDERED_LIST_STRUCT
    Provider name: statuses
    Description: The resource status information.
    • code
      Type: STRING
      Provider name: code
      Description: The status code.

license_type

Type: STRING
Provider name: properties.licenseType
Description: 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

location

Type: STRING
Provider name: location
Description: Resource location

name

Type: STRING
Provider name: name
Description: Resource name

network_profile

Type: STRUCT
Provider name: properties.networkProfile
Description: Specifies the network interfaces of the virtual machine.

  • network_interfaces
    Type: UNORDERED_LIST_STRUCT
    Provider name: networkInterfaces
    Description: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.
    • id
      Type: STRING
      Provider name: id
      Description: Resource Id
    • primary
      Type: BOOLEAN
      Provider name: properties.primary
      Description: Specifies the primary network interface in case the virtual machine has more than 1 network interface.

os_profile

Type: STRUCT
Provider name: properties.osProfile
Description: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.

  • admin_username
    Type: STRING
    Provider name: adminUsername
    Description: Specifies the name of the administrator account.

    This property cannot be updated after the VM is created.

    Windows-only restriction: Cannot end in “.”

    Disallowed values: “administrator”, “admin”, “user”, “user1”, “test”, “user2”, “test1”, “user3”, “admin1”, “1”, “123”, “a”, “actuser”, “adm”, “admin2”, “aspnet”, “backup”, “console”, “david”, “guest”, “john”, “owner”, “root”, “server”, “sql”, “support”, “support_388945a0”, “sys”, “test2”, “test3”, “user4”, “user5”.

    Minimum-length (Linux): 1 character

    Max-length (Linux): 64 characters

    Max-length (Windows): 20 characters

  • For root access to the Linux VM, see Using root privileges on Linux virtual machines in Azure
  • For a list of built-in system users on Linux that should not be used in this field, see Selecting User Names for Linux on Azure
  • allow_extension_operations
    Type: BOOLEAN
    Provider name: allowExtensionOperations
    Description: Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine.
  • computer_name
    Type: STRING
    Provider name: computerName
    Description: Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    Max-length (Windows): 15 characters

    Max-length (Linux): 64 characters.

    For naming conventions and restrictions see Azure infrastructure services implementation guidelines.
  • linux_configuration
    Type: STRUCT
    Provider name: linuxConfiguration
    Description: Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions

    For running non-endorsed distributions, see Information for Non-Endorsed Distributions.
    • disable_password_authentication
      Type: BOOLEAN
      Provider name: disablePasswordAuthentication
      Description: Specifies whether password authentication should be disabled.
    • patch_settings
      Type: STRUCT
      Provider name: patchSettings
      Description: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
      • patch_mode
        Type: STRING
        Provider name: patchMode
        Description: Specifies the mode of VM Guest Patching to IaaS virtual machine.

        Possible values are:

        ImageDefault - The virtual machine’s default patching configuration is used.

        AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    • provision_vm_agent
      Type: BOOLEAN
      Provider name: provisionVMAgent
      Description: Indicates whether virtual machine agent should be provisioned on the virtual machine.

      When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
  • require_guest_provision_signal
    Type: BOOLEAN
    Provider name: requireGuestProvisionSignal
    Description: Specifies whether the guest provision signal is required to infer provision success of the virtual machine. Note: This property is for private testing only, and all customers must not set the property to false.
  • secrets
    Type: UNORDERED_LIST_STRUCT
    Provider name: secrets
    Description: Specifies set of certificates that should be installed onto the virtual machine.
    • source_vault
      Type: STRUCT
      Provider name: sourceVault
      Description: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
    • vault_certificates
      Type: UNORDERED_LIST_STRUCT
      Provider name: vaultCertificates
      Description: The list of key vault references in SourceVault which contain certificates.
      • certificate_store
        Type: STRING
        Provider name: certificateStore
        Description: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

        For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
      • certificate_url
        Type: STRING
        Provider name: certificateUrl
        Description: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

        {
        “data”:"",
        “dataType”:“pfx”,
        “password”:""
        }
  • windows_configuration
    Type: STRUCT
    Provider name: windowsConfiguration
    Description: Specifies Windows operating system settings on the virtual machine.
    • additional_unattend_content
      Type: UNORDERED_LIST_STRUCT
      Provider name: additionalUnattendContent
      Description: Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
      • component_name
        Type: STRING
        Provider name: componentName
        Description: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
      • content
        Type: STRING
        Provider name: content
        Description: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
      • pass_name
        Type: STRING
        Provider name: passName
        Description: The pass name. Currently, the only allowable value is OobeSystem.
      • setting_name
        Type: STRING
        Provider name: settingName
        Description: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    • enable_automatic_updates
      Type: BOOLEAN
      Provider name: enableAutomaticUpdates
      Description: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

      For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    • patch_settings
      Type: STRUCT
      Provider name: patchSettings
      Description: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
      • enable_hotpatching
        Type: BOOLEAN
        Provider name: enableHotpatching
        Description: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the ‘provisionVMAgent’ must be set to true and ‘patchMode’ must be set to ‘AutomaticByPlatform’.
      • patch_mode
        Type: STRING
        Provider name: patchMode
        Description: Specifies the mode of VM Guest Patching to IaaS virtual machine.

        Possible values are:

        Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

        AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

        AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    • provision_vm_agent
      Type: BOOLEAN
      Provider name: provisionVMAgent
      Description: Indicates whether virtual machine agent should be provisioned on the virtual machine.

      When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    • time_zone
      Type: STRING
      Provider name: timeZone
      Description: Specifies the time zone of the virtual machine. e.g. “Pacific Standard Time”.

      Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    • win_rm
      Type: STRUCT
      Provider name: winRM
      Description: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
      • listeners
        Type: UNORDERED_LIST_STRUCT
        Provider name: listeners
        Description: The list of Windows Remote Management listeners
        • certificate_url
          Type: STRING
          Provider name: certificateUrl
          Description: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

          {
          “data”:"",
          “dataType”:“pfx”,
          “password”:""
          }
        • protocol
          Type: STRING
          Provider name: protocol
          Description: Specifies the protocol of WinRM listener.

          Possible values are:
          http

          https

plan

Type: STRUCT
Provider name: plan
Description: 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.

  • name
    Type: STRING
    Provider name: name
    Description: The plan ID.
  • product
    Type: STRING
    Provider name: product
    Description: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
  • promotion_code
    Type: STRING
    Provider name: promotionCode
    Description: The promotion code.
  • publisher
    Type: STRING
    Provider name: publisher
    Description: The publisher ID.

priority

Type: STRING
Provider name: properties.priority
Description: Specifies the priority for the virtual machine.

Minimum api-version: 2019-03-01

provisioning_state

Type: STRING
Provider name: properties.provisioningState
Description: The provisioning state, which only appears in the response.

resource_group

Type: STRING

resources

Type: UNORDERED_LIST_STRUCT
Provider name: resources
Description: The virtual machine child extension resources.

  • auto_upgrade_minor_version
    Type: BOOLEAN
    Provider name: properties.autoUpgradeMinorVersion
    Description: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
  • force_update_tag
    Type: STRING
    Provider name: properties.forceUpdateTag
    Description: How the extension handler should be forced to update even if the extension configuration has not changed.
  • id
    Type: STRING
    Provider name: id
    Description: Resource Id
  • location
    Type: STRING
    Provider name: location
    Description: Resource location
  • name
    Type: STRING
    Provider name: name
    Description: Resource name
  • provisioning_state
    Type: STRING
    Provider name: properties.provisioningState
    Description: The provisioning state, which only appears in the response.
  • publisher
    Type: STRING
    Provider name: properties.publisher
    Description: The name of the extension handler publisher.
  • type
    Type: STRING
    Provider name: properties.type
    Description: Specifies the type of the extension; an example is “CustomScriptExtension”.
  • type_handler_version
    Type: STRING
    Provider name: properties.typeHandlerVersion
    Description: Specifies the version of the script handler.

storage_profile

Type: STRUCT
Provider name: properties.storageProfile
Description: Specifies the storage settings for the virtual machine disks.

  • data_disks
    Type: UNORDERED_LIST_STRUCT
    Provider name: dataDisks
    Description: Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see About disks and VHDs for Azure virtual machines.
    • caching
      Type: STRING
      Provider name: caching
      Description: Specifies the caching requirements.

      Possible values are:

      None

      ReadOnly

      ReadWrite

      Default: None for Standard storage. ReadOnly for Premium storage
    • create_option
      Type: STRING
      Provider name: createOption
      Description: Specifies how the virtual machine should be created.

      Possible values are:

      Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.

      FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    • detach_option
      Type: STRING
      Provider name: detachOption
      Description: Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach.

      detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.

      This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to ’true’ along with setting detachOption: ‘ForceDetach’.
    • disk_iops_read_write
      Type: INT64
      Provider name: diskIOPSReadWrite
      Description: Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    • disk_mbps_read_write
      Type: INT64
      Provider name: diskMBpsReadWrite
      Description: Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    • disk_size_gb
      Type: INT64
      Provider name: diskSizeGB
      Description: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

      This value cannot be larger than 1023 GB
    • lun
      Type: INT64
      Provider name: lun
      Description: 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.
    • managed_disk
      Type: STRUCT
      Provider name: managedDisk
      Description: The managed disk parameters.
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
      • storage_account_type
        Type: STRING
        Provider name: storageAccountType
        Description: Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    • name
      Type: STRING
      Provider name: name
      Description: The disk name.
    • to_be_detached
      Type: BOOLEAN
      Provider name: toBeDetached
      Description: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    • write_accelerator_enabled
      Type: BOOLEAN
      Provider name: writeAcceleratorEnabled
      Description: Specifies whether writeAccelerator should be enabled or disabled on the disk.
  • image_reference
    Type: STRUCT
    Provider name: imageReference
    Description: Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    • exact_version
      Type: STRING
      Provider name: exactVersion
      Description: Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from ‘version’, only if the value specified in ‘version’ field is ’latest’.
    • id
      Type: STRING
      Provider name: id
      Description: Resource Id
    • offer
      Type: STRING
      Provider name: offer
      Description: Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    • publisher
      Type: STRING
      Provider name: publisher
      Description: The image publisher.
    • sku
      Type: STRING
      Provider name: sku
      Description: The image SKU.
    • version
      Type: STRING
      Provider name: version
      Description: Specifies the version of the platform image or marketplace image used to create the virtual machine. 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.
  • os_disk
    Type: STRUCT
    Provider name: osDisk
    Description: Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see About disks and VHDs for Azure virtual machines.
    • caching
      Type: STRING
      Provider name: caching
      Description: Specifies the caching requirements.

      Possible values are:

      None

      ReadOnly

      ReadWrite

      Default: None for Standard storage. ReadOnly for Premium storage.
    • create_option
      Type: STRING
      Provider name: createOption
      Description: Specifies how the virtual machine should be created.

      Possible values are:

      Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.

      FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    • diff_disk_settings
      Type: STRUCT
      Provider name: diffDiskSettings
      Description: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.
    • disk_size_gb
      Type: INT64
      Provider name: diskSizeGB
      Description: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

      This value cannot be larger than 1023 GB
    • managed_disk
      Type: STRUCT
      Provider name: managedDisk
      Description: The managed disk parameters.
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
      • storage_account_type
        Type: STRING
        Provider name: storageAccountType
        Description: Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    • name
      Type: STRING
      Provider name: name
      Description: The disk name.
    • os_type
      Type: STRING
      Provider name: osType
      Description: This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

      Possible values are:

      Windows

      Linux
    • vhd
      Type: STRUCT
      Provider name: vhd
      Description: The virtual hard disk.
      • uri
        Type: STRING
        Provider name: uri
        Description: Specifies the virtual hard disk’s uri.
    • write_accelerator_enabled
      Type: BOOLEAN
      Provider name: writeAcceleratorEnabled
      Description: Specifies whether writeAccelerator should be enabled or disabled on the disk.

subscription_id

Type: STRING

subscription_name

Type: STRING

tags

Type: UNORDERED_LIST_STRING

type

Type: STRING
Provider name: type
Description: Resource type

vm_id

Type: STRING
Provider name: properties.vmId
Description: 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.

zones

Type: UNORDERED_LIST_STRING
Provider name: zones
Description: The virtual machine zones.