Microsoft.ScVmm virtualMachineInstances

Bicep resource definition

The virtualMachineInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ScVmm/virtualMachineInstances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ScVmm/virtualMachineInstances@2024-06-01' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  name: 'default'
  properties: {
    availabilitySets: [
      {
        id: 'string'
        name: 'string'
      }
    ]
    hardwareProfile: {
      cpuCount: int
      dynamicMemoryEnabled: 'string'
      dynamicMemoryMaxMB: int
      dynamicMemoryMinMB: int
      limitCpuForMigration: 'string'
      memoryMB: int
    }
    infrastructureProfile: {
      biosGuid: 'string'
      checkpointType: 'string'
      cloudId: 'string'
      generation: int
      inventoryItemId: 'string'
      templateId: 'string'
      uuid: 'string'
      vmmServerId: 'string'
      vmName: 'string'
    }
    networkProfile: {
      networkInterfaces: [
        {
          ipv4AddressType: 'string'
          ipv6AddressType: 'string'
          macAddress: 'string'
          macAddressType: 'string'
          name: 'string'
          nicId: 'string'
          virtualNetworkId: 'string'
        }
      ]
    }
    osProfile: {
      adminPassword: 'string'
      computerName: 'string'
      domainName: 'string'
      domainPassword: 'string'
      domainUsername: 'string'
      productKey: 'string'
      runOnceCommands: 'string'
      timezone: int
      workgroup: 'string'
    }
    storageProfile: {
      disks: [
        {
          bus: int
          busType: 'string'
          createDiffDisk: 'string'
          diskId: 'string'
          diskSizeGB: int
          lun: int
          name: 'string'
          storageQoSPolicy: {
            id: 'string'
            name: 'string'
          }
          templateDiskId: 'string'
          vhdType: 'string'
        }
      ]
    }
  }
}

Property values

AvailabilitySetListItem

Name Description Value
id Gets the ARM Id of the microsoft.scvmm/availabilitySets resource. string
name Gets or sets the name of the availability set. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. string

HardwareProfile

Name Description Value
cpuCount Gets or sets the number of vCPUs for the vm. int
dynamicMemoryEnabled Gets or sets a value indicating whether to enable dynamic memory or not. 'false'
'true'
dynamicMemoryMaxMB Gets or sets the max dynamic memory for the vm. int
dynamicMemoryMinMB Gets or sets the min dynamic memory for the vm. int
limitCpuForMigration Gets or sets a value indicating whether to enable processor compatibility mode for live migration of VMs. 'false'
'true'
memoryMB MemoryMB is the size of a virtual machine's memory, in MB. int

InfrastructureProfile

Name Description Value
biosGuid Gets or sets the bios guid for the vm. string
checkpointType Type of checkpoint supported for the vm. string
cloudId ARM Id of the cloud resource to use for deploying the vm. string
generation Gets or sets the generation for the vm. int
inventoryItemId Gets or sets the inventory Item ID for the resource. string
templateId ARM Id of the template resource to use for deploying the vm. string
uuid Unique ID of the virtual machine. string
vmmServerId ARM Id of the vmmServer resource in which this resource resides. string
vmName VMName is the name of VM on the SCVmm server. string

Constraints:
Min length = 1

Microsoft.ScVmm/virtualMachineInstances

Name Description Value
extendedLocation Gets or sets the extended location. ExtendedLocation (required)
name The resource name 'default' (required)
properties The resource-specific properties for this resource. VirtualMachineInstanceProperties
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.

NetworkInterface

Name Description Value
ipv4AddressType Gets or sets the ipv4 address type. 'Dynamic'
'Static'
ipv6AddressType Gets or sets the ipv6 address type. 'Dynamic'
'Static'
macAddress Gets or sets the nic MAC address. string
macAddressType Gets or sets the mac address type. 'Dynamic'
'Static'
name Gets or sets the name of the network interface. string
nicId Gets or sets the nic id. string
virtualNetworkId Gets or sets the ARM Id of the Microsoft.ScVmm/virtualNetwork resource to connect the nic. string

NetworkProfile

Name Description Value
networkInterfaces Gets or sets the list of network interfaces associated with the virtual machine. NetworkInterface[]

OsProfileForVmInstance

Name Description Value
adminPassword Admin password of the virtual machine. string

Constraints:
Sensitive value. Pass in as a secure parameter.
computerName Gets or sets computer name. string
domainName Gets or sets the domain name. string
domainPassword Password of the domain the VM has to join. string

Constraints:
Sensitive value. Pass in as a secure parameter.
domainUsername Gets or sets the domain username. string
productKey Gets or sets the product key.Input format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx string

Constraints:
Sensitive value. Pass in as a secure parameter.
runOnceCommands Get or sets the commands to be run once at the time of creation separated by semicolons. string
timezone Gets or sets the index value of the timezone. int
workgroup Gets or sets the workgroup. string

StorageProfile

Name Description Value
disks Gets or sets the list of virtual disks associated with the virtual machine. VirtualDisk[]

StorageQosPolicyDetails

Name Description Value
id The ID of the QoS policy. string
name The name of the policy. string

VirtualDisk

Name Description Value
bus Gets or sets the disk bus. int
busType Gets or sets the disk bus type. string
createDiffDisk Gets or sets a value indicating diff disk. 'false'
'true'
diskId Gets or sets the disk id. string
diskSizeGB Gets or sets the disk total size. int
lun Gets or sets the disk lun. int
name Gets or sets the name of the disk. string
storageQoSPolicy The QoS policy for the disk. StorageQosPolicyDetails
templateDiskId Gets or sets the disk id in the template. string
vhdType Gets or sets the disk vhd type. string

VirtualMachineInstanceProperties

Name Description Value
availabilitySets Availability Sets in vm. AvailabilitySetListItem[]
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVmInstance
storageProfile Storage properties. StorageProfile

ARM template resource definition

The virtualMachineInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ScVmm/virtualMachineInstances resource, add the following JSON to your template.

{
  "type": "Microsoft.ScVmm/virtualMachineInstances",
  "apiVersion": "2024-06-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "availabilitySets": [
      {
        "id": "string",
        "name": "string"
      }
    ],
    "hardwareProfile": {
      "cpuCount": "int",
      "dynamicMemoryEnabled": "string",
      "dynamicMemoryMaxMB": "int",
      "dynamicMemoryMinMB": "int",
      "limitCpuForMigration": "string",
      "memoryMB": "int"
    },
    "infrastructureProfile": {
      "biosGuid": "string",
      "checkpointType": "string",
      "cloudId": "string",
      "generation": "int",
      "inventoryItemId": "string",
      "templateId": "string",
      "uuid": "string",
      "vmmServerId": "string",
      "vmName": "string"
    },
    "networkProfile": {
      "networkInterfaces": [
        {
          "ipv4AddressType": "string",
          "ipv6AddressType": "string",
          "macAddress": "string",
          "macAddressType": "string",
          "name": "string",
          "nicId": "string",
          "virtualNetworkId": "string"
        }
      ]
    },
    "osProfile": {
      "adminPassword": "string",
      "computerName": "string",
      "domainName": "string",
      "domainPassword": "string",
      "domainUsername": "string",
      "productKey": "string",
      "runOnceCommands": "string",
      "timezone": "int",
      "workgroup": "string"
    },
    "storageProfile": {
      "disks": [
        {
          "bus": "int",
          "busType": "string",
          "createDiffDisk": "string",
          "diskId": "string",
          "diskSizeGB": "int",
          "lun": "int",
          "name": "string",
          "storageQoSPolicy": {
            "id": "string",
            "name": "string"
          },
          "templateDiskId": "string",
          "vhdType": "string"
        }
      ]
    }
  }
}

Property values

AvailabilitySetListItem

Name Description Value
id Gets the ARM Id of the microsoft.scvmm/availabilitySets resource. string
name Gets or sets the name of the availability set. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. string

HardwareProfile

Name Description Value
cpuCount Gets or sets the number of vCPUs for the vm. int
dynamicMemoryEnabled Gets or sets a value indicating whether to enable dynamic memory or not. 'false'
'true'
dynamicMemoryMaxMB Gets or sets the max dynamic memory for the vm. int
dynamicMemoryMinMB Gets or sets the min dynamic memory for the vm. int
limitCpuForMigration Gets or sets a value indicating whether to enable processor compatibility mode for live migration of VMs. 'false'
'true'
memoryMB MemoryMB is the size of a virtual machine's memory, in MB. int

InfrastructureProfile

Name Description Value
biosGuid Gets or sets the bios guid for the vm. string
checkpointType Type of checkpoint supported for the vm. string
cloudId ARM Id of the cloud resource to use for deploying the vm. string
generation Gets or sets the generation for the vm. int
inventoryItemId Gets or sets the inventory Item ID for the resource. string
templateId ARM Id of the template resource to use for deploying the vm. string
uuid Unique ID of the virtual machine. string
vmmServerId ARM Id of the vmmServer resource in which this resource resides. string
vmName VMName is the name of VM on the SCVmm server. string

Constraints:
Min length = 1

Microsoft.ScVmm/virtualMachineInstances

Name Description Value
apiVersion The api version '2024-06-01'
extendedLocation Gets or sets the extended location. ExtendedLocation (required)
name The resource name 'default' (required)
properties The resource-specific properties for this resource. VirtualMachineInstanceProperties
type The resource type 'Microsoft.ScVmm/virtualMachineInstances'

NetworkInterface

Name Description Value
ipv4AddressType Gets or sets the ipv4 address type. 'Dynamic'
'Static'
ipv6AddressType Gets or sets the ipv6 address type. 'Dynamic'
'Static'
macAddress Gets or sets the nic MAC address. string
macAddressType Gets or sets the mac address type. 'Dynamic'
'Static'
name Gets or sets the name of the network interface. string
nicId Gets or sets the nic id. string
virtualNetworkId Gets or sets the ARM Id of the Microsoft.ScVmm/virtualNetwork resource to connect the nic. string

NetworkProfile

Name Description Value
networkInterfaces Gets or sets the list of network interfaces associated with the virtual machine. NetworkInterface[]

OsProfileForVmInstance

Name Description Value
adminPassword Admin password of the virtual machine. string

Constraints:
Sensitive value. Pass in as a secure parameter.
computerName Gets or sets computer name. string
domainName Gets or sets the domain name. string
domainPassword Password of the domain the VM has to join. string

Constraints:
Sensitive value. Pass in as a secure parameter.
domainUsername Gets or sets the domain username. string
productKey Gets or sets the product key.Input format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx string

Constraints:
Sensitive value. Pass in as a secure parameter.
runOnceCommands Get or sets the commands to be run once at the time of creation separated by semicolons. string
timezone Gets or sets the index value of the timezone. int
workgroup Gets or sets the workgroup. string

StorageProfile

Name Description Value
disks Gets or sets the list of virtual disks associated with the virtual machine. VirtualDisk[]

StorageQosPolicyDetails

Name Description Value
id The ID of the QoS policy. string
name The name of the policy. string

VirtualDisk

Name Description Value
bus Gets or sets the disk bus. int
busType Gets or sets the disk bus type. string
createDiffDisk Gets or sets a value indicating diff disk. 'false'
'true'
diskId Gets or sets the disk id. string
diskSizeGB Gets or sets the disk total size. int
lun Gets or sets the disk lun. int
name Gets or sets the name of the disk. string
storageQoSPolicy The QoS policy for the disk. StorageQosPolicyDetails
templateDiskId Gets or sets the disk id in the template. string
vhdType Gets or sets the disk vhd type. string

VirtualMachineInstanceProperties

Name Description Value
availabilitySets Availability Sets in vm. AvailabilitySetListItem[]
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVmInstance
storageProfile Storage properties. StorageProfile

Terraform (AzAPI provider) resource definition

The virtualMachineInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ScVmm/virtualMachineInstances resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ScVmm/virtualMachineInstances@2024-06-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      availabilitySets = [
        {
          id = "string"
          name = "string"
        }
      ]
      hardwareProfile = {
        cpuCount = int
        dynamicMemoryEnabled = "string"
        dynamicMemoryMaxMB = int
        dynamicMemoryMinMB = int
        limitCpuForMigration = "string"
        memoryMB = int
      }
      infrastructureProfile = {
        biosGuid = "string"
        checkpointType = "string"
        cloudId = "string"
        generation = int
        inventoryItemId = "string"
        templateId = "string"
        uuid = "string"
        vmmServerId = "string"
        vmName = "string"
      }
      networkProfile = {
        networkInterfaces = [
          {
            ipv4AddressType = "string"
            ipv6AddressType = "string"
            macAddress = "string"
            macAddressType = "string"
            name = "string"
            nicId = "string"
            virtualNetworkId = "string"
          }
        ]
      }
      osProfile = {
        adminPassword = "string"
        computerName = "string"
        domainName = "string"
        domainPassword = "string"
        domainUsername = "string"
        productKey = "string"
        runOnceCommands = "string"
        timezone = int
        workgroup = "string"
      }
      storageProfile = {
        disks = [
          {
            bus = int
            busType = "string"
            createDiffDisk = "string"
            diskId = "string"
            diskSizeGB = int
            lun = int
            name = "string"
            storageQoSPolicy = {
              id = "string"
              name = "string"
            }
            templateDiskId = "string"
            vhdType = "string"
          }
        ]
      }
    }
  })
}

Property values

AvailabilitySetListItem

Name Description Value
id Gets the ARM Id of the microsoft.scvmm/availabilitySets resource. string
name Gets or sets the name of the availability set. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. string

HardwareProfile

Name Description Value
cpuCount Gets or sets the number of vCPUs for the vm. int
dynamicMemoryEnabled Gets or sets a value indicating whether to enable dynamic memory or not. 'false'
'true'
dynamicMemoryMaxMB Gets or sets the max dynamic memory for the vm. int
dynamicMemoryMinMB Gets or sets the min dynamic memory for the vm. int
limitCpuForMigration Gets or sets a value indicating whether to enable processor compatibility mode for live migration of VMs. 'false'
'true'
memoryMB MemoryMB is the size of a virtual machine's memory, in MB. int

InfrastructureProfile

Name Description Value
biosGuid Gets or sets the bios guid for the vm. string
checkpointType Type of checkpoint supported for the vm. string
cloudId ARM Id of the cloud resource to use for deploying the vm. string
generation Gets or sets the generation for the vm. int
inventoryItemId Gets or sets the inventory Item ID for the resource. string
templateId ARM Id of the template resource to use for deploying the vm. string
uuid Unique ID of the virtual machine. string
vmmServerId ARM Id of the vmmServer resource in which this resource resides. string
vmName VMName is the name of VM on the SCVmm server. string

Constraints:
Min length = 1

Microsoft.ScVmm/virtualMachineInstances

Name Description Value
extendedLocation Gets or sets the extended location. ExtendedLocation (required)
name The resource name 'default' (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties The resource-specific properties for this resource. VirtualMachineInstanceProperties
type The resource type "Microsoft.ScVmm/virtualMachineInstances@2024-06-01"

NetworkInterface

Name Description Value
ipv4AddressType Gets or sets the ipv4 address type. 'Dynamic'
'Static'
ipv6AddressType Gets or sets the ipv6 address type. 'Dynamic'
'Static'
macAddress Gets or sets the nic MAC address. string
macAddressType Gets or sets the mac address type. 'Dynamic'
'Static'
name Gets or sets the name of the network interface. string
nicId Gets or sets the nic id. string
virtualNetworkId Gets or sets the ARM Id of the Microsoft.ScVmm/virtualNetwork resource to connect the nic. string

NetworkProfile

Name Description Value
networkInterfaces Gets or sets the list of network interfaces associated with the virtual machine. NetworkInterface[]

OsProfileForVmInstance

Name Description Value
adminPassword Admin password of the virtual machine. string

Constraints:
Sensitive value. Pass in as a secure parameter.
computerName Gets or sets computer name. string
domainName Gets or sets the domain name. string
domainPassword Password of the domain the VM has to join. string

Constraints:
Sensitive value. Pass in as a secure parameter.
domainUsername Gets or sets the domain username. string
productKey Gets or sets the product key.Input format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx string

Constraints:
Sensitive value. Pass in as a secure parameter.
runOnceCommands Get or sets the commands to be run once at the time of creation separated by semicolons. string
timezone Gets or sets the index value of the timezone. int
workgroup Gets or sets the workgroup. string

StorageProfile

Name Description Value
disks Gets or sets the list of virtual disks associated with the virtual machine. VirtualDisk[]

StorageQosPolicyDetails

Name Description Value
id The ID of the QoS policy. string
name The name of the policy. string

VirtualDisk

Name Description Value
bus Gets or sets the disk bus. int
busType Gets or sets the disk bus type. string
createDiffDisk Gets or sets a value indicating diff disk. 'false'
'true'
diskId Gets or sets the disk id. string
diskSizeGB Gets or sets the disk total size. int
lun Gets or sets the disk lun. int
name Gets or sets the name of the disk. string
storageQoSPolicy The QoS policy for the disk. StorageQosPolicyDetails
templateDiskId Gets or sets the disk id in the template. string
vhdType Gets or sets the disk vhd type. string

VirtualMachineInstanceProperties

Name Description Value
availabilitySets Availability Sets in vm. AvailabilitySetListItem[]
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVmInstance
storageProfile Storage properties. StorageProfile