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
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.