azure_virtual_machine_instance

application_profile

Type: STRUCT
Provider name: properties.applicationProfile
Description: Specifies the gallery applications that should be made available to the VM/VMSS.

  • gallery_applications
    Type: UNORDERED_LIST_STRUCT
    Provider name: galleryApplications
    Description: Specifies the gallery applications that should be made available to the VM/VMSS
    • configuration_reference
      Type: STRING
      Provider name: configurationReference
      Description: Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided
    • enable_automatic_upgrade
      Type: BOOLEAN
      Provider name: enableAutomaticUpgrade
      Description: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS
    • order
      Type: INT32
      Provider name: order
      Description: Optional, Specifies the order in which the packages have to be installed
    • package_reference_id
      Type: STRING
      Provider name: packageReferenceId
      Description: Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}
    • treat_failure_as_deployment_failure
      Type: BOOLEAN
      Provider name: treatFailureAsDeploymentFailure
      Description: Optional, If true, any failure for any operation in the VmApplication will fail the deployment

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 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. An existing VM cannot be added to an availability set.

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

capacity_reservation

Type: STRUCT
Provider name: properties.capacityReservation
Description: Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01.

  • capacity_reservation_group
    Type: STRUCT
    Provider name: capacityReservationGroup
    Description: Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details.
    • 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. NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. 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.

etag

Type: STRING
Provider name: etag
Description: Etag is property returned in Update/Get response of the VMSS VM, so that customer can supply it in the header to ensure optimistic updates.

hardware_profile

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

  • vm_size
    Type: STRING
    Provider name: vmSize
    Description: Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: List all available virtual machine sizes in an availability set, List all available virtual machine sizes in a region, List all available virtual machine sizes for resizing. For more information about virtual machine sizes, see Sizes for virtual machines. The available VM sizes depend on region and availability set.
  • vm_size_properties
    Type: STRUCT
    Provider name: vmSizeProperties
    Description: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in VM Customization for more details.
    • v_cp_us_available
      Type: INT32
      Provider name: vCPUsAvailable
      Description: Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of List all available virtual machine sizes in a region.
    • v_cp_us_per_core
      Type: INT32
      Provider name: vCPUsPerCore
      Description: Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of List all available virtual machine sizes in a region. Setting this property to 1 also means that hyper-threading is disabled.

id

Type: STRING
Provider name: id
Description: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

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_id

Type: STRING
Provider name: instanceId
Description: The virtual machine instance ID.

instance_view

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

  • placement_group_id
    Type: STRING
    Provider name: placementGroupId
    Description: The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId.
  • statuses
    Type: UNORDERED_LIST_STRUCT
    Provider name: statuses
    Description: The resource status information.
    • code
      Type: STRING
      Provider name: code
      Description: The status code.

latest_model_applied

Type: BOOLEAN
Provider name: properties.latestModelApplied
Description: Specifies whether the latest model has been applied to the virtual machine.

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: The geo-location where the resource lives

managed_by

Type: STRING
Provider name: managedBy
Description: ManagedBy is set to Virtual Machine Scale Set(VMSS) flex ARM resourceID, if the VM is part of the VMSS. This property is used by platform for internal resource group delete optimization.

model_definition_applied

Type: STRING
Provider name: properties.modelDefinitionApplied
Description: Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.

name

Type: STRING
Provider name: name
Description: The name of the resource

network_profile

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

  • network_api_version
    Type: STRING
    Provider name: networkApiVersion
    Description: specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations
  • network_interface_configurations
    Type: UNORDERED_LIST_STRUCT
    Provider name: networkInterfaceConfigurations
    Description: Specifies the networking configurations that will be used to create the virtual machine networking resources.
    • auxiliary_mode
      Type: STRING
      Provider name: properties.auxiliaryMode
      Description: Specifies whether the Auxiliary mode is enabled for the Network Interface resource.
    • auxiliary_sku
      Type: STRING
      Provider name: properties.auxiliarySku
      Description: Specifies whether the Auxiliary sku is enabled for the Network Interface resource.
    • delete_option
      Type: STRING
      Provider name: properties.deleteOption
      Description: Specify what happens to the network interface when the VM is deleted
    • disable_tcp_state_tracking
      Type: BOOLEAN
      Provider name: properties.disableTcpStateTracking
      Description: Specifies whether the network interface is disabled for tcp state tracking.
    • dns_settings
      Type: STRUCT
      Provider name: properties.dnsSettings
      Description: The dns settings to be applied on the network interfaces.
      • dns_servers
        Type: UNORDERED_LIST_STRING
        Provider name: dnsServers
        Description: List of DNS servers IP addresses
    • dscp_configuration
      Type: STRUCT
      Provider name: properties.dscpConfiguration
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
    • enable_accelerated_networking
      Type: BOOLEAN
      Provider name: properties.enableAcceleratedNetworking
      Description: Specifies whether the network interface is accelerated networking-enabled.
    • enable_fpga
      Type: BOOLEAN
      Provider name: properties.enableFpga
      Description: Specifies whether the network interface is FPGA networking-enabled.
    • enable_ip_forwarding
      Type: BOOLEAN
      Provider name: properties.enableIPForwarding
      Description: Whether IP forwarding enabled on this NIC.
    • ip_configurations
      Type: UNORDERED_LIST_STRUCT
      Provider name: properties.ipConfigurations
      Description: Specifies the IP configurations of the network interface.
      • application_gateway_backend_address_pools
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.applicationGatewayBackendAddressPools
        Description: Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • application_security_groups
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.applicationSecurityGroups
        Description: Specifies an array of references to application security group.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • load_balancer_backend_address_pools
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.loadBalancerBackendAddressPools
        Description: Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer].
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • name
        Type: STRING
        Provider name: name
        Description: The IP configuration name.
      • primary
        Type: BOOLEAN
        Provider name: properties.primary
        Description: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
      • private_ip_address_version
        Type: STRING
        Provider name: properties.privateIPAddressVersion
        Description: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: ‘IPv4’ and ‘IPv6’.
      • public_ip_address_configuration
        Type: STRUCT
        Provider name: properties.publicIPAddressConfiguration
        Description: The publicIPAddressConfiguration.
        • delete_option
          Type: STRING
          Provider name: properties.deleteOption
          Description: Specify what happens to the public IP address when the VM is deleted

        • dns_settings
          Type: STRUCT
          Provider name: properties.dnsSettings
          Description: The dns settings to be applied on the publicIP addresses .

        • idle_timeout_in_minutes
          Type: INT32
          Provider name: properties.idleTimeoutInMinutes
          Description: The idle timeout of the public IP address.

        • ip_tags
          Type: UNORDERED_LIST_STRUCT
          Provider name: properties.ipTags
          Description: The list of IP tags associated with the public IP address.

        • name
          Type: STRING
          Provider name: name
          Description: The publicIP address configuration name.

        • public_ip_address_version
          Type: STRING
          Provider name: properties.publicIPAddressVersion
          Description: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: ‘IPv4’ and ‘IPv6’.

        • public_ip_allocation_method
          Type: STRING
          Provider name: properties.publicIPAllocationMethod
          Description: Specify the public IP allocation type

        • public_ip_prefix
          Type: STRUCT
          Provider name: properties.publicIPPrefix
          Description: The PublicIPPrefix from which to allocate publicIP addresses.

        • sku
          Type: STRUCT
          Provider name: sku
          Description: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.

          • name
            Type: STRING
            Provider name: name
            Description: Specify public IP sku name
          • tier
            Type: STRING
            Provider name: tier
            Description: Specify public IP sku tier
      • subnet
        Type: STRUCT
        Provider name: properties.subnet
        Description: Specifies the identifier of the subnet.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
    • name
      Type: STRING
      Provider name: name
      Description: The network interface configuration name.
    • network_security_group
      Type: STRUCT
      Provider name: properties.networkSecurityGroup
      Description: The network security group.
      • 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.
  • 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.
    • delete_option
      Type: STRING
      Provider name: properties.deleteOption
      Description: Specify what happens to the network interface when the VM is deleted
    • 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.

network_profile_configuration

Type: STRUCT
Provider name: properties.networkProfileConfiguration
Description: Specifies the network profile configuration of the virtual machine.

  • network_interface_configurations
    Type: UNORDERED_LIST_STRUCT
    Provider name: networkInterfaceConfigurations
    Description: The list of network configurations.
    • auxiliary_mode
      Type: STRING
      Provider name: properties.auxiliaryMode
      Description: Specifies whether the Auxiliary mode is enabled for the Network Interface resource.
    • auxiliary_sku
      Type: STRING
      Provider name: properties.auxiliarySku
      Description: Specifies whether the Auxiliary sku is enabled for the Network Interface resource.
    • delete_option
      Type: STRING
      Provider name: properties.deleteOption
      Description: Specify what happens to the network interface when the VM is deleted
    • disable_tcp_state_tracking
      Type: BOOLEAN
      Provider name: properties.disableTcpStateTracking
      Description: Specifies whether the network interface is disabled for tcp state tracking.
    • dns_settings
      Type: STRUCT
      Provider name: properties.dnsSettings
      Description: The dns settings to be applied on the network interfaces.
      • dns_servers
        Type: UNORDERED_LIST_STRING
        Provider name: dnsServers
        Description: List of DNS servers IP addresses
    • enable_accelerated_networking
      Type: BOOLEAN
      Provider name: properties.enableAcceleratedNetworking
      Description: Specifies whether the network interface is accelerated networking-enabled.
    • enable_fpga
      Type: BOOLEAN
      Provider name: properties.enableFpga
      Description: Specifies whether the network interface is FPGA networking-enabled.
    • enable_ip_forwarding
      Type: BOOLEAN
      Provider name: properties.enableIPForwarding
      Description: Whether IP forwarding enabled on this NIC.
    • ip_configurations
      Type: UNORDERED_LIST_STRUCT
      Provider name: properties.ipConfigurations
      Description: Specifies the IP configurations of the network interface.
      • application_gateway_backend_address_pools
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.applicationGatewayBackendAddressPools
        Description: Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • application_security_groups
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.applicationSecurityGroups
        Description: Specifies an array of references to application security group.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • load_balancer_backend_address_pools
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.loadBalancerBackendAddressPools
        Description: Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • load_balancer_inbound_nat_pools
        Type: UNORDERED_LIST_STRUCT
        Provider name: properties.loadBalancerInboundNatPools
        Description: Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
        • id
          Type: STRING
          Provider name: id
          Description: Resource Id
      • name
        Type: STRING
        Provider name: name
        Description: The IP configuration name.
      • primary
        Type: BOOLEAN
        Provider name: properties.primary
        Description: Specifies the primary network interface in case the virtual machine has more than 1 network interface.
      • private_ip_address_version
        Type: STRING
        Provider name: properties.privateIPAddressVersion
        Description: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: ‘IPv4’ and ‘IPv6’.
      • public_ip_address_configuration
        Type: STRUCT
        Provider name: properties.publicIPAddressConfiguration
        Description: The publicIPAddressConfiguration.
        • delete_option
          Type: STRING
          Provider name: properties.deleteOption
          Description: Specify what happens to the public IP when the VM is deleted

        • dns_settings
          Type: STRUCT
          Provider name: properties.dnsSettings
          Description: The dns settings to be applied on the publicIP addresses .

        • idle_timeout_in_minutes
          Type: INT32
          Provider name: properties.idleTimeoutInMinutes
          Description: The idle timeout of the public IP address.

        • ip_tags
          Type: UNORDERED_LIST_STRUCT
          Provider name: properties.ipTags
          Description: The list of IP tags associated with the public IP address.

        • name
          Type: STRING
          Provider name: name
          Description: The publicIP address configuration name.

        • public_ip_address_version
          Type: STRING
          Provider name: properties.publicIPAddressVersion
          Description: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: ‘IPv4’ and ‘IPv6’.

        • public_ip_prefix
          Type: STRUCT
          Provider name: properties.publicIPPrefix
          Description: The PublicIPPrefix from which to allocate publicIP addresses.

        • sku
          Type: STRUCT
          Provider name: sku
          Description: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.

          • name
            Type: STRING
            Provider name: name
            Description: Specify public IP sku name
          • tier
            Type: STRING
            Provider name: tier
            Description: Specify public IP sku tier
      • subnet
        Type: STRUCT
        Provider name: properties.subnet
        Description: Specifies the identifier of the subnet.
        • id
          Type: STRING
          Provider name: id
          Description: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/…
    • name
      Type: STRING
      Provider name: name
      Description: The network configuration name.
    • network_security_group
      Type: STRUCT
      Provider name: properties.networkSecurityGroup
      Description: The network security group.
      • 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 for the virtual machine.

  • 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.
  • 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.
    • disable_password_authentication
      Type: BOOLEAN
      Provider name: disablePasswordAuthentication
      Description: Specifies whether password authentication should be disabled.
    • enable_vm_agent_platform_updates
      Type: BOOLEAN
      Provider name: enableVMAgentPlatformUpdates
      Description: Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false.
    • patch_settings
      Type: STRUCT
      Provider name: patchSettings
      Description: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
      • assessment_mode
        Type: STRING
        Provider name: assessmentMode
        Description: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

        Possible values are:

        ImageDefault - You control the timing of patch assessments on a virtual machine.

        AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
      • automatic_by_platform_settings
        Type: STRUCT
        Provider name: automaticByPlatformSettings
        Description: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux.
        • bypass_platform_safety_checks_on_user_schedule
          Type: BOOLEAN
          Provider name: bypassPlatformSafetyChecksOnUserSchedule
          Description: Enables customer to schedule patching without accidental upgrades
        • reboot_setting
          Type: STRING
          Provider name: rebootSetting
          Description: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
      • patch_mode
        Type: STRING
        Provider name: patchMode
        Description: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

        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: Optional property which must either be set to True or omitted.
  • secrets
    Type: UNORDERED_LIST_STRUCT
    Provider name: secrets
    Description: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    • 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”:""
        }
        To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
  • 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.
    • enable_vm_agent_platform_updates
      Type: BOOLEAN
      Provider name: enableVMAgentPlatformUpdates
      Description: Indicates whether VMAgent Platform Updates are enabled for the Windows Virtual Machine.
    • patch_settings
      Type: STRUCT
      Provider name: patchSettings
      Description: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
      • assessment_mode
        Type: STRING
        Provider name: assessmentMode
        Description: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

        Possible values are:

        ImageDefault - You control the timing of patch assessments on a virtual machine.

        AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
      • automatic_by_platform_settings
        Type: STRUCT
        Provider name: automaticByPlatformSettings
        Description: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows.
        • bypass_platform_safety_checks_on_user_schedule
          Type: BOOLEAN
          Provider name: bypassPlatformSafetyChecksOnUserSchedule
          Description: Enables customer to schedule patching without accidental upgrades
        • reboot_setting
          Type: STRING
          Provider name: rebootSetting
          Description: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.
      • 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 or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

        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, it is set to true by default. 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 the Base64 encoding of the following JSON Object which is encoded in UTF-8:

          {
          “data”:"",
          “dataType”:“pfx”,
          “password”:""
          }
          To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
        • protocol
          Type: STRING
          Provider name: protocol
          Description: Specifies the protocol of WinRM listener. Possible values are: http, https.

placement

Type: STRUCT
Provider name: placement
Description: Placement section specifies the user-defined constraints for virtual machine hardware placement. This property cannot be changed once VM is provisioned. Minimum api-version: 2024-11-01.

  • exclude_zones
    Type: UNORDERED_LIST_STRING
    Provider name: excludeZones
    Description: This property supplements the ‘zonePlacementPolicy’ property. If ‘zonePlacementPolicy’ is set to ‘Any’/‘Auto’, availability zone selected by the system must not be present in the list of availability zones passed with ’excludeZones’. If ’excludeZones’ is not provided, all availability zones in region will be considered for selection.
  • include_zones
    Type: UNORDERED_LIST_STRING
    Provider name: includeZones
    Description: This property supplements the ‘zonePlacementPolicy’ property. If ‘zonePlacementPolicy’ is set to ‘Any’/‘Auto’, availability zone selected by the system must be present in the list of availability zones passed with ‘includeZones’. If ‘includeZones’ is not provided, all availability zones in region will be considered for selection.
  • zone_placement_policy
    Type: STRING
    Provider name: zonePlacementPolicy
    Description: Specifies the policy for resource’s placement in availability zone. Possible values are: Any (used for Virtual Machines), Auto (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.

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

protection_policy

Type: STRUCT
Provider name: properties.protectionPolicy
Description: Specifies the protection policy of the virtual machine.

  • protect_from_scale_in
    Type: BOOLEAN
    Provider name: protectFromScaleIn
    Description: Indicates that the virtual machine scale set VM shouldn’t be considered for deletion during a scale-in operation.
  • protect_from_scale_set_actions
    Type: BOOLEAN
    Provider name: protectFromScaleSetActions
    Description: Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM.

provisioning_state

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

resilient_vm_deletion_status

Type: STRING
Provider name: properties.resilientVMDeletionStatus
Description: Specifies the resilient VM deletion status for the virtual machine.

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: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
  • location
    Type: STRING
    Provider name: location
    Description: The geo-location where the resource lives
  • name
    Type: STRING
    Provider name: name
    Description: The name of the resource
  • protected_settings_from_key_vault
    Type: STRUCT
    Provider name: properties.protectedSettingsFromKeyVault
    Description: The extensions protected settings that are passed by reference, and consumed from key vault
    • secret_url
      Type: STRING
      Provider name: secretUrl
      Description: The URL referencing a secret in a Key Vault.
    • source_vault
      Type: STRUCT
      Provider name: sourceVault
      Description: The relative URL of the Key Vault containing the secret.
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
  • provision_after_extensions
    Type: UNORDERED_LIST_STRING
    Provider name: properties.provisionAfterExtensions
    Description: Collection of extension names after which this extension needs to be provisioned.
  • 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.
  • suppress_failures
    Type: BOOLEAN
    Provider name: properties.suppressFailures
    Description: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false.
  • system_data
    Type: STRUCT
    Provider name: systemData
    Description: Azure Resource Manager metadata containing createdBy and modifiedBy information.
    • created_at
      Type: STRING
      Provider name: createdAt
      Description: The timestamp of resource creation (UTC).
    • created_by
      Type: STRING
      Provider name: createdBy
      Description: The identity that created the resource.
    • created_by_type
      Type: STRING
      Provider name: createdByType
      Description: The type of identity that created the resource.
    • last_modified_at
      Type: STRING
      Provider name: lastModifiedAt
      Description: The timestamp of resource last modification (UTC)
    • last_modified_by
      Type: STRING
      Provider name: lastModifiedBy
      Description: The identity that last modified the resource.
    • last_modified_by_type
      Type: STRING
      Provider name: lastModifiedByType
      Description: The type of identity that last modified the resource.
  • 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.

scheduled_events_policy

Type: STRUCT
Provider name: properties.scheduledEventsPolicy
Description: Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the virtual machine.

  • scheduled_events_additional_publishing_targets
    Type: STRUCT
    Provider name: scheduledEventsAdditionalPublishingTargets
    Description: The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets.
    • event_grid_and_resource_graph
      Type: STRUCT
      Provider name: eventGridAndResourceGraph
      Description: The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting.
      • enable
        Type: BOOLEAN
        Provider name: enable
        Description: Specifies if event grid and resource graph is enabled for Scheduled event related configurations.
  • user_initiated_reboot
    Type: STRUCT
    Provider name: userInitiatedReboot
    Description: The configuration parameters used while creating userInitiatedReboot scheduled event setting creation.
    • automatically_approve
      Type: BOOLEAN
      Provider name: automaticallyApprove
      Description: Specifies Reboot Scheduled Event related configurations.
  • user_initiated_redeploy
    Type: STRUCT
    Provider name: userInitiatedRedeploy
    Description: The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation.
    • automatically_approve
      Type: BOOLEAN
      Provider name: automaticallyApprove
      Description: Specifies Redeploy Scheduled Event related configurations.

scheduled_events_profile

Type: STRUCT
Provider name: properties.scheduledEventsProfile
Description: Specifies Scheduled Event related configurations.

  • os_image_notification_profile
    Type: STRUCT
    Provider name: osImageNotificationProfile
    Description: Specifies OS Image Scheduled Event related configurations.
    • enable
      Type: BOOLEAN
      Provider name: enable
      Description: Specifies whether the OS Image Scheduled event is enabled or disabled.
    • not_before_timeout
      Type: STRING
      Provider name: notBeforeTimeout
      Description: Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M)
  • terminate_notification_profile
    Type: STRUCT
    Provider name: terminateNotificationProfile
    Description: Specifies Terminate Scheduled Event related configurations.
    • enable
      Type: BOOLEAN
      Provider name: enable
      Description: Specifies whether the Terminate Scheduled event is enabled or disabled.
    • not_before_timeout
      Type: STRING
      Provider name: notBeforeTimeout
      Description: Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)

sku

Type: STRUCT
Provider name: sku
Description: The virtual machine SKU.

  • capacity
    Type: INT64
    Provider name: capacity
    Description: Specifies the number of virtual machines in the scale set.
  • name
    Type: STRING
    Provider name: name
    Description: The sku name.
  • tier
    Type: STRING
    Provider name: tier
    Description: Specifies the tier of virtual machines in a scale set.

    Possible Values:

    Standard

    Basic

storage_profile

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

  • align_regional_disks_to_vm_zone
    Type: BOOLEAN
    Provider name: alignRegionalDisksToVMZone
    Description: Specifies whether the regional disks should be aligned/moved to the VM zone. This is applicable only for VMs with placement property set. Please note that this change is irreversible. Minimum api-version: 2024-11-01.
  • 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. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    • create_option
      Type: STRING
      Provider name: createOption
      Description: Specifies how the virtual machine disk should be created. Possible values are Attach: This value is used when you are using a specialized disk to create the virtual machine. FromImage: This value is used when you are using an image to create the virtual machine data disk. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. Empty: This value is used when creating an empty data disk. Copy: This value is used to create a data disk from a snapshot or another disk. Restore: This value is used to create a data disk from a disk restore point.
    • delete_option
      Type: STRING
      Provider name: deleteOption
      Description: Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    • 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. 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. The property ‘diskSizeGB’ is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    • 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
      • security_profile
        Type: STRUCT
        Provider name: securityProfile
        Description: Specifies the security profile for the managed disk.
        • disk_encryption_set
          Type: STRUCT
          Provider name: diskEncryptionSet
          Description: Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
          • id
            Type: STRING
            Provider name: id
            Description: Resource Id
        • security_encryption_type
          Type: STRING
          Provider name: securityEncryptionType
          Description: Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. Note: It can be set for only Confidential VMs.
      • storage_account_type
        Type: STRING
        Provider name: storageAccountType
        Description: Specifies the storage account type for the managed disk. 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.
    • source_resource
      Type: STRUCT
      Provider name: sourceResource
      Description: The source resource identifier. It can be a snapshot, or disk restore point from which to create a disk.
      • id
        Type: STRING
        Provider name: id
        Description: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/…
    • 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.
  • disk_controller_type
    Type: STRING
    Provider name: diskControllerType
    Description: Specifies the disk controller type configured for the VM. Note: This property will be set to the default disk controller type if not specified provided virtual machine is being created with ‘hyperVGeneration’ set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01.
  • 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.
    • community_gallery_image_id
      Type: STRING
      Provider name: communityGalleryImageId
      Description: Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
    • 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.
    • shared_gallery_image_id
      Type: STRING
      Provider name: sharedGalleryImageId
      Description: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
    • 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. Please do not use field ‘version’ for gallery image deployment, gallery image should always use ‘id’ field for deployment, to use ’latest’ version of gallery image, just set ‘/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}’ in the ‘id’ field without version input.
  • 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. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    • create_option
      Type: STRING
      Provider name: createOption
      Description: Specifies how the virtual machine disk should be created. Possible values are Attach: This value is used when you are using a specialized disk to create the virtual machine. FromImage: This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    • delete_option
      Type: STRING
      Provider name: deleteOption
      Description: Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the OS disk is deleted when VM is deleted. Detach. If this value is used, the os disk is retained after VM is deleted. The default value is set to Detach. For an ephemeral OS Disk, the default value is set to Delete. The user cannot change the delete option for an ephemeral OS Disk.
    • diff_disk_settings
      Type: STRUCT
      Provider name: diffDiskSettings
      Description: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.
      • option
        Type: STRING
        Provider name: option
        Description: Specifies the ephemeral disk settings for operating system disk.
      • placement
        Type: STRING
        Provider name: placement
        Description: Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk, ResourceDisk, NvmeDisk. The defaulting behavior is: CacheDisk if one is configured for the VM size otherwise ResourceDisk or NvmeDisk is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. Minimum api-version for NvmeDisk: 2024-03-01.
    • 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. The property ‘diskSizeGB’ is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    • managed_disk
      Type: STRUCT
      Provider name: managedDisk
      Description: The managed disk parameters.
      • id
        Type: STRING
        Provider name: id
        Description: Resource Id
      • security_profile
        Type: STRUCT
        Provider name: securityProfile
        Description: Specifies the security profile for the managed disk.
        • disk_encryption_set
          Type: STRUCT
          Provider name: diskEncryptionSet
          Description: Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.
          • id
            Type: STRING
            Provider name: id
            Description: Resource Id
        • security_encryption_type
          Type: STRING
          Provider name: securityEncryptionType
          Description: Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. Note: It can be set for only Confidential VMs.
      • storage_account_type
        Type: STRING
        Provider name: storageAccountType
        Description: Specifies the storage account type for the managed disk. 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

system_data

Type: STRUCT
Provider name: systemData
Description: Azure Resource Manager metadata containing createdBy and modifiedBy information.

  • created_at
    Type: STRING
    Provider name: createdAt
    Description: The timestamp of resource creation (UTC).
  • created_by
    Type: STRING
    Provider name: createdBy
    Description: The identity that created the resource.
  • created_by_type
    Type: STRING
    Provider name: createdByType
    Description: The type of identity that created the resource.
  • last_modified_at
    Type: STRING
    Provider name: lastModifiedAt
    Description: The timestamp of resource last modification (UTC)
  • last_modified_by
    Type: STRING
    Provider name: lastModifiedBy
    Description: The identity that last modified the resource.
  • last_modified_by_type
    Type: STRING
    Provider name: lastModifiedByType
    Description: The type of identity that last modified the resource.

tags

Type: UNORDERED_LIST_STRING

time_created

Type: STRING
Provider name: properties.timeCreated
Description: Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01.

type

Type: STRING
Provider name: type
Description: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

user_data

Type: STRING
Provider name: properties.userData
Description: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01

virtual_machine_scale_set

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

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

vm_id

Type: STRING
Provider name: properties.vmId
Description: Azure VM unique ID.

zones

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