The virtualMachineInstances resource type is an extension resource, which means you can apply it to another resource.
Use the scope
property on this resource to set the scope for this resource. See Set scope on extension resources in ARM templates.
The virtualMachineInstances resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureStackHCI/virtualMachineInstances resource, add the following JSON to your template.
{
"type": "Microsoft.AzureStackHCI/virtualMachineInstances",
"apiVersion": "2023-09-01-preview",
"name": "default",
"scope": "string",
"extendedLocation": {
"name": "string",
"type": "CustomLocation"
},
"identity": {
"type": "SystemAssigned"
},
"properties": {
"guestAgentInstallStatus": {},
"hardwareProfile": {
"dynamicMemoryConfig": {
"maximumMemoryMB": "int",
"minimumMemoryMB": "int",
"targetMemoryBuffer": "int"
},
"memoryMB": "int",
"processors": "int",
"vmSize": "string"
},
"httpProxyConfig": {
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": [ "string" ],
"trustedCa": "string"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "string"
}
]
},
"osProfile": {
"adminPassword": "string",
"adminUsername": "string",
"computerName": "string",
"linuxConfiguration": {
"disablePasswordAuthentication": "bool",
"provisionVMAgent": "bool",
"provisionVMConfigAgent": "bool",
"ssh": {
"publicKeys": [
{
"keyData": "string",
"path": "string"
}
]
}
},
"windowsConfiguration": {
"enableAutomaticUpdates": "bool",
"provisionVMAgent": "bool",
"provisionVMConfigAgent": "bool",
"ssh": {
"publicKeys": [
{
"keyData": "string",
"path": "string"
}
]
},
"timeZone": "string"
}
},
"resourceUid": "string",
"securityProfile": {
"enableTPM": "bool",
"securityType": "string",
"uefiSettings": {
"secureBootEnabled": "bool"
}
},
"storageProfile": {
"dataDisks": [
{
"id": "string"
}
],
"imageReference": {
"id": "string"
},
"osDisk": {
"id": "string",
"osType": "string"
},
"vmConfigStoragePathId": "string"
}
}
}
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.AzureStackHCI/virtualMachineInstances' |
apiVersion | The resource api version | '2023-09-01-preview' |
name | The resource name | 'default' |
scope | Use when creating an extension resource at a scope that is different than the deployment scope. | Target resource For JSON, set the value to the full name of the resource to apply the extension resource to. |
extendedLocation | The extendedLocation of the resource. | ExtendedLocation |
identity | Identity for the resource. | Identity |
properties | Properties under the virtual machine instance resource | VirtualMachineInstanceProperties |
Name | Description | Value |
---|---|---|
name | The name of the extended location. | string |
type | The type of the extended location. | 'CustomLocation' |
Name | Description | Value |
---|---|---|
type | The identity type. | 'SystemAssigned' |
Name | Description | Value |
---|---|---|
guestAgentInstallStatus | Guest agent install status. | GuestAgentInstallStatus |
hardwareProfile | HardwareProfile - Specifies the hardware settings for the virtual machine instance. | VirtualMachineInstancePropertiesHardwareProfile |
httpProxyConfig | HTTP Proxy configuration for the VM. | HttpProxyConfiguration |
networkProfile | NetworkProfile - describes the network configuration the virtual machine instance | VirtualMachineInstancePropertiesNetworkProfile |
osProfile | OsProfile - describes the configuration of the operating system and sets login data | VirtualMachineInstancePropertiesOsProfile |
resourceUid | Unique identifier defined by ARC to identify the guest of the VM. | string |
securityProfile | SecurityProfile - Specifies the security settings for the virtual machine instance. | VirtualMachineInstancePropertiesSecurityProfile |
storageProfile | StorageProfile - contains information about the disks and storage information for the virtual machine instance | VirtualMachineInstancePropertiesStorageProfile |
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
Name | Description | Value |
---|---|---|
dynamicMemoryConfig | VirtualMachineInstancePropertiesHardwareProfileDynam... | |
memoryMB | RAM in MB for the virtual machine instance | int |
processors | number of processors for the virtual machine instance | int |
vmSize | 'Custom' 'Default' 'Standard_A2_v2' 'Standard_A4_v2' 'Standard_D16s_v3' 'Standard_D2s_v3' 'Standard_D32s_v3' 'Standard_D4s_v3' 'Standard_D8s_v3' 'Standard_DS13_v2' 'Standard_DS2_v2' 'Standard_DS3_v2' 'Standard_DS4_v2' 'Standard_DS5_v2' 'Standard_K8S2_v1' 'Standard_K8S3_v1' 'Standard_K8S4_v1' 'Standard_K8S5_v1' 'Standard_K8S_v1' 'Standard_NK12' 'Standard_NK6' 'Standard_NV12' 'Standard_NV6' |
Name | Description | Value |
---|---|---|
maximumMemoryMB | int | |
minimumMemoryMB | int | |
targetMemoryBuffer | Defines the amount of extra memory that should be reserved for a virtual machine instance at runtime, as a percentage of the total memory that the virtual machine instance is thought to need. This only applies to virtual systems with dynamic memory enabled. This property can be in the range of 5 to 2000. | int |
Name | Description | Value |
---|---|---|
httpProxy | The HTTP proxy server endpoint to use. | string Constraints: Sensitive value. Pass in as a secure parameter. |
httpsProxy | The HTTPS proxy server endpoint to use. | string Constraints: Sensitive value. Pass in as a secure parameter. |
noProxy | The endpoints that should not go through proxy. | string[] |
trustedCa | Alternative CA cert to use for connecting to proxy servers. | string |
Name | Description | Value |
---|---|---|
networkInterfaces | NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance | VirtualMachineInstancePropertiesNetworkProfileNetwor...[] |
Name | Description | Value |
---|---|---|
id | ID - Resource Id of the network interface | string |
Name | Description | Value |
---|---|---|
adminPassword | AdminPassword - admin password | string Constraints: Sensitive value. Pass in as a secure parameter. |
adminUsername | AdminUsername - admin username | string |
computerName | ComputerName - name of the compute | string |
linuxConfiguration | LinuxConfiguration - linux specific configuration values for the virtual machine instance | VirtualMachineInstancePropertiesOsProfileLinuxConfig... |
windowsConfiguration | Windows Configuration for the virtual machine instance | VirtualMachineInstancePropertiesOsProfileWindowsConf... |
Name | Description | Value |
---|---|---|
disablePasswordAuthentication | DisablePasswordAuthentication - whether password authentication should be disabled | bool |
provisionVMAgent | Usedâ¯to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. | bool |
provisionVMConfigAgent | Usedâ¯to indicate whether the VM Config Agent should be installed during the virtual machine creation process. | bool |
ssh | Specifies the ssh key configuration for a Linux OS. | SshConfiguration |
Name | Description | Value |
---|---|---|
publicKeys | The list of SSH public keys used to authenticate with linux based VMs. | SshPublicKey[] |
Name | Description | Value |
---|---|---|
keyData | SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). |
string |
path | Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys | string |
Name | Description | Value |
---|---|---|
enableAutomaticUpdates | Whether to EnableAutomaticUpdates on the machine | bool |
provisionVMAgent | Usedâ¯to indicate whether Arc for Servers agent onboarding should be triggered during the virtual machine instance creation process. | bool |
provisionVMConfigAgent | Usedâ¯to indicate whether the VM Config Agent should be installed during the virtual machine creation process. | bool |
ssh | Specifies the ssh key configuration for Windows OS. | SshConfiguration |
timeZone | TimeZone for the virtual machine instance | string |
Name | Description | Value |
---|---|---|
enableTPM | bool | |
securityType | Specifies the SecurityType of the virtual machine. EnableTPM and SecureBootEnabled must be set to true for SecurityType to function. | 'ConfidentialVM' 'TrustedLaunch' |
uefiSettings | VirtualMachineInstancePropertiesSecurityProfileUefiS... |
Name | Description | Value |
---|---|---|
secureBootEnabled | Specifies whether secure boot should be enabled on the virtual machine instance. | bool |
Name | Description | Value |
---|---|---|
dataDisks | adds data disks to the virtual machine instance | VirtualMachineInstancePropertiesStorageProfileDataDi...[] |
imageReference | Which Image to use for the virtual machine instance | VirtualMachineInstancePropertiesStorageProfileImageR... |
osDisk | VHD to attach as OS disk | VirtualMachineInstancePropertiesStorageProfileOsDisk |
vmConfigStoragePathId | Id of the storage container that hosts the VM configuration file | string |
Name | Description | Value |
---|---|---|
id | Resource ID of the data disk | string |
Name | Description | Value |
---|---|---|
id | Resource ID of the image | string |
Name | Description | Value |
---|---|---|
id | Resource ID of the OS disk | string |
osType | 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. | 'Linux' 'Windows' |