Microsoft.ConnectedVMwarevSphere virtualMachineInstances 2023-10-01

Bicep resource definition

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

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.ConnectedVMwarevSphere/virtualMachineInstances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ConnectedVMwarevSphere/virtualMachineInstances@2023-10-01' = {
  name: 'default'
  scope: resourceSymbolicName
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  properties: {
    hardwareProfile: {
      memorySizeMB: int
      numCoresPerSocket: int
      numCPUs: int
    }
    infrastructureProfile: {
      firmwareType: 'string'
      inventoryItemId: 'string'
      smbiosUuid: 'string'
      templateId: 'string'
      vCenterId: 'string'
    }
    networkProfile: {
      networkInterfaces: [
        {
          deviceKey: int
          ipSettings: {
            allocationMethod: 'string'
            dnsServers: [
              'string'
            ]
            gateway: [
              'string'
            ]
            ipAddress: 'string'
            subnetMask: 'string'
          }
          name: 'string'
          networkId: 'string'
          nicType: 'string'
          powerOnBoot: 'string'
        }
      ]
    }
    osProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      computerName: 'string'
      guestId: 'string'
      osType: 'string'
    }
    placementProfile: {
      clusterId: 'string'
      datastoreId: 'string'
      hostId: 'string'
      resourcePoolId: 'string'
    }
    securityProfile: {
      uefiSettings: {
        secureBootEnabled: bool
      }
    }
    storageProfile: {
      disks: [
        {
          controllerKey: int
          deviceKey: int
          deviceName: 'string'
          diskMode: 'string'
          diskSizeGB: int
          diskType: 'string'
          name: 'string'
          unitNumber: int
        }
      ]
    }
  }
}

Property values

virtualMachineInstances

Name Description Value
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 Bicep, set this property to the symbolic name of the resource to apply the extension resource.
extendedLocation Gets or sets the extended location. ExtendedLocation
properties Resource properties. VirtualMachineInstanceProperties (required)

ExtendedLocation

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

VirtualMachineInstanceProperties

Name Description Value
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVMInstance
placementProfile Placement properties. PlacementProfile
securityProfile Gets the security profile. SecurityProfile
storageProfile Storage properties. StorageProfile

HardwareProfile

Name Description Value
memorySizeMB Gets or sets memory size in MBs for the vm. int
numCoresPerSocket Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. int
numCPUs Gets or sets the number of vCPUs for the vm. int

InfrastructureProfile

Name Description Value
firmwareType Firmware type 'bios'
'efi'
inventoryItemId Gets or sets the inventory Item ID for the virtual machine. string
smbiosUuid Gets or sets the SMBIOS UUID of the vm. string
templateId Gets or sets the ARM Id of the template resource to deploy the virtual machine. string
vCenterId Gets or sets the ARM Id of the vCenter resource in which this resource pool resides. string

NetworkProfile

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

NetworkInterface

Name Description Value
deviceKey Gets or sets the device key value. int
ipSettings Gets or sets the ipsettings. NicIPSettings
name Gets or sets the name of the network interface. string
networkId Gets or sets the ARM Id of the network resource to connect the virtual machine. string
nicType NIC type 'e1000'
'e1000e'
'pcnet32'
'vmxnet'
'vmxnet2'
'vmxnet3'
powerOnBoot Gets or sets the power on boot. 'disabled'
'enabled'

NicIPSettings

Name Description Value
allocationMethod Gets or sets the nic allocation method. 'dynamic'
'linklayer'
'other'
'random'
'static'
'unset'
dnsServers Gets or sets the dns servers. string[]
gateway Gets or sets the gateway. string[]
ipAddress Gets or sets the ip address for the nic. string
subnetMask Gets or sets the mask. string

OsProfileForVMInstance

Name Description Value
adminPassword Sets administrator password. string

Constraints:
Sensitive value. Pass in as a secure parameter.
adminUsername Gets or sets administrator username. string
computerName Gets or sets computer name. string
guestId Gets or sets the guestId. string
osType Gets or sets the type of the os. 'Linux'
'Other'
'Windows'

PlacementProfile

Name Description Value
clusterId Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. string
datastoreId Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. string
hostId Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. string
resourcePoolId Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. string

SecurityProfile

Name Description Value
uefiSettings Specifies the security settings like secure boot used while creating the virtual machine. UefiSettings

UefiSettings

Name Description Value
secureBootEnabled Specifies whether secure boot should be enabled on the virtual machine. bool

StorageProfile

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

VirtualDisk

Name Description Value
controllerKey Gets or sets the controller id. int
deviceKey Gets or sets the device key value. int
deviceName Gets or sets the device name. string
diskMode Gets or sets the disk mode. 'independent_nonpersistent'
'independent_persistent'
'persistent'
diskSizeGB Gets or sets the disk total size. int
diskType Gets or sets the disk backing type. 'flat'
'pmem'
'rawphysical'
'rawvirtual'
'sesparse'
'sparse'
'unknown'
name Gets or sets the name of the virtual disk. string
unitNumber Gets or sets the unit number of the disk on the controller. int

ARM template resource definition

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.

Resource format

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

{
  "type": "Microsoft.ConnectedVMwarevSphere/virtualMachineInstances",
  "apiVersion": "2023-10-01",
  "name": "default",
  "scope": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "hardwareProfile": {
      "memorySizeMB": "int",
      "numCoresPerSocket": "int",
      "numCPUs": "int"
    },
    "infrastructureProfile": {
      "firmwareType": "string",
      "inventoryItemId": "string",
      "smbiosUuid": "string",
      "templateId": "string",
      "vCenterId": "string"
    },
    "networkProfile": {
      "networkInterfaces": [
        {
          "deviceKey": "int",
          "ipSettings": {
            "allocationMethod": "string",
            "dnsServers": [ "string" ],
            "gateway": [ "string" ],
            "ipAddress": "string",
            "subnetMask": "string"
          },
          "name": "string",
          "networkId": "string",
          "nicType": "string",
          "powerOnBoot": "string"
        }
      ]
    },
    "osProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "computerName": "string",
      "guestId": "string",
      "osType": "string"
    },
    "placementProfile": {
      "clusterId": "string",
      "datastoreId": "string",
      "hostId": "string",
      "resourcePoolId": "string"
    },
    "securityProfile": {
      "uefiSettings": {
        "secureBootEnabled": "bool"
      }
    },
    "storageProfile": {
      "disks": [
        {
          "controllerKey": "int",
          "deviceKey": "int",
          "deviceName": "string",
          "diskMode": "string",
          "diskSizeGB": "int",
          "diskType": "string",
          "name": "string",
          "unitNumber": "int"
        }
      ]
    }
  }
}

Property values

virtualMachineInstances

Name Description Value
type The resource type 'Microsoft.ConnectedVMwarevSphere/virtualMachineInstances'
apiVersion The resource api version '2023-10-01'
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 Gets or sets the extended location. ExtendedLocation
properties Resource properties. VirtualMachineInstanceProperties (required)

ExtendedLocation

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

VirtualMachineInstanceProperties

Name Description Value
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVMInstance
placementProfile Placement properties. PlacementProfile
securityProfile Gets the security profile. SecurityProfile
storageProfile Storage properties. StorageProfile

HardwareProfile

Name Description Value
memorySizeMB Gets or sets memory size in MBs for the vm. int
numCoresPerSocket Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. int
numCPUs Gets or sets the number of vCPUs for the vm. int

InfrastructureProfile

Name Description Value
firmwareType Firmware type 'bios'
'efi'
inventoryItemId Gets or sets the inventory Item ID for the virtual machine. string
smbiosUuid Gets or sets the SMBIOS UUID of the vm. string
templateId Gets or sets the ARM Id of the template resource to deploy the virtual machine. string
vCenterId Gets or sets the ARM Id of the vCenter resource in which this resource pool resides. string

NetworkProfile

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

NetworkInterface

Name Description Value
deviceKey Gets or sets the device key value. int
ipSettings Gets or sets the ipsettings. NicIPSettings
name Gets or sets the name of the network interface. string
networkId Gets or sets the ARM Id of the network resource to connect the virtual machine. string
nicType NIC type 'e1000'
'e1000e'
'pcnet32'
'vmxnet'
'vmxnet2'
'vmxnet3'
powerOnBoot Gets or sets the power on boot. 'disabled'
'enabled'

NicIPSettings

Name Description Value
allocationMethod Gets or sets the nic allocation method. 'dynamic'
'linklayer'
'other'
'random'
'static'
'unset'
dnsServers Gets or sets the dns servers. string[]
gateway Gets or sets the gateway. string[]
ipAddress Gets or sets the ip address for the nic. string
subnetMask Gets or sets the mask. string

OsProfileForVMInstance

Name Description Value
adminPassword Sets administrator password. string

Constraints:
Sensitive value. Pass in as a secure parameter.
adminUsername Gets or sets administrator username. string
computerName Gets or sets computer name. string
guestId Gets or sets the guestId. string
osType Gets or sets the type of the os. 'Linux'
'Other'
'Windows'

PlacementProfile

Name Description Value
clusterId Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. string
datastoreId Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. string
hostId Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. string
resourcePoolId Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. string

SecurityProfile

Name Description Value
uefiSettings Specifies the security settings like secure boot used while creating the virtual machine. UefiSettings

UefiSettings

Name Description Value
secureBootEnabled Specifies whether secure boot should be enabled on the virtual machine. bool

StorageProfile

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

VirtualDisk

Name Description Value
controllerKey Gets or sets the controller id. int
deviceKey Gets or sets the device key value. int
deviceName Gets or sets the device name. string
diskMode Gets or sets the disk mode. 'independent_nonpersistent'
'independent_persistent'
'persistent'
diskSizeGB Gets or sets the disk total size. int
diskType Gets or sets the disk backing type. 'flat'
'pmem'
'rawphysical'
'rawvirtual'
'sesparse'
'sparse'
'unknown'
name Gets or sets the name of the virtual disk. string
unitNumber Gets or sets the unit number of the disk on the controller. int

Terraform (AzAPI provider) resource definition

The virtualMachineInstances resource type is an extension resource, which means you can apply it to another resource.

Use the parent_id property on this resource to set the scope for this resource.

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

  • Resource groups

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

Resource format

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ConnectedVMwarevSphere/virtualMachineInstances@2023-10-01"
  name = "default"
  parent_id = "string"
  body = jsonencode({
    properties = {
      hardwareProfile = {
        memorySizeMB = int
        numCoresPerSocket = int
        numCPUs = int
      }
      infrastructureProfile = {
        firmwareType = "string"
        inventoryItemId = "string"
        smbiosUuid = "string"
        templateId = "string"
        vCenterId = "string"
      }
      networkProfile = {
        networkInterfaces = [
          {
            deviceKey = int
            ipSettings = {
              allocationMethod = "string"
              dnsServers = [
                "string"
              ]
              gateway = [
                "string"
              ]
              ipAddress = "string"
              subnetMask = "string"
            }
            name = "string"
            networkId = "string"
            nicType = "string"
            powerOnBoot = "string"
          }
        ]
      }
      osProfile = {
        adminPassword = "string"
        adminUsername = "string"
        computerName = "string"
        guestId = "string"
        osType = "string"
      }
      placementProfile = {
        clusterId = "string"
        datastoreId = "string"
        hostId = "string"
        resourcePoolId = "string"
      }
      securityProfile = {
        uefiSettings = {
          secureBootEnabled = bool
        }
      }
      storageProfile = {
        disks = [
          {
            controllerKey = int
            deviceKey = int
            deviceName = "string"
            diskMode = "string"
            diskSizeGB = int
            diskType = "string"
            name = "string"
            unitNumber = int
          }
        ]
      }
    }
    extendedLocation = {
      name = "string"
      type = "string"
    }
  })
}

Property values

virtualMachineInstances

Name Description Value
type The resource type "Microsoft.ConnectedVMwarevSphere/virtualMachineInstances@2023-10-01"
name The resource name "default"
parent_id The ID of the resource to apply this extension resource to. string (required)
extendedLocation Gets or sets the extended location. ExtendedLocation
properties Resource properties. VirtualMachineInstanceProperties (required)

ExtendedLocation

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

VirtualMachineInstanceProperties

Name Description Value
hardwareProfile Hardware properties. HardwareProfile
infrastructureProfile Gets the infrastructure profile. InfrastructureProfile
networkProfile Network properties. NetworkProfile
osProfile OS properties. OsProfileForVMInstance
placementProfile Placement properties. PlacementProfile
securityProfile Gets the security profile. SecurityProfile
storageProfile Storage properties. StorageProfile

HardwareProfile

Name Description Value
memorySizeMB Gets or sets memory size in MBs for the vm. int
numCoresPerSocket Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. int
numCPUs Gets or sets the number of vCPUs for the vm. int

InfrastructureProfile

Name Description Value
firmwareType Firmware type "bios"
"efi"
inventoryItemId Gets or sets the inventory Item ID for the virtual machine. string
smbiosUuid Gets or sets the SMBIOS UUID of the vm. string
templateId Gets or sets the ARM Id of the template resource to deploy the virtual machine. string
vCenterId Gets or sets the ARM Id of the vCenter resource in which this resource pool resides. string

NetworkProfile

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

NetworkInterface

Name Description Value
deviceKey Gets or sets the device key value. int
ipSettings Gets or sets the ipsettings. NicIPSettings
name Gets or sets the name of the network interface. string
networkId Gets or sets the ARM Id of the network resource to connect the virtual machine. string
nicType NIC type "e1000"
"e1000e"
"pcnet32"
"vmxnet"
"vmxnet2"
"vmxnet3"
powerOnBoot Gets or sets the power on boot. "disabled"
"enabled"

NicIPSettings

Name Description Value
allocationMethod Gets or sets the nic allocation method. "dynamic"
"linklayer"
"other"
"random"
"static"
"unset"
dnsServers Gets or sets the dns servers. string[]
gateway Gets or sets the gateway. string[]
ipAddress Gets or sets the ip address for the nic. string
subnetMask Gets or sets the mask. string

OsProfileForVMInstance

Name Description Value
adminPassword Sets administrator password. string

Constraints:
Sensitive value. Pass in as a secure parameter.
adminUsername Gets or sets administrator username. string
computerName Gets or sets computer name. string
guestId Gets or sets the guestId. string
osType Gets or sets the type of the os. "Linux"
"Other"
"Windows"

PlacementProfile

Name Description Value
clusterId Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. string
datastoreId Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. string
hostId Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. string
resourcePoolId Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. string

SecurityProfile

Name Description Value
uefiSettings Specifies the security settings like secure boot used while creating the virtual machine. UefiSettings

UefiSettings

Name Description Value
secureBootEnabled Specifies whether secure boot should be enabled on the virtual machine. bool

StorageProfile

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

VirtualDisk

Name Description Value
controllerKey Gets or sets the controller id. int
deviceKey Gets or sets the device key value. int
deviceName Gets or sets the device name. string
diskMode Gets or sets the disk mode. "independent_nonpersistent"
"independent_persistent"
"persistent"
diskSizeGB Gets or sets the disk total size. int
diskType Gets or sets the disk backing type. "flat"
"pmem"
"rawphysical"
"rawvirtual"
"sesparse"
"sparse"
"unknown"
name Gets or sets the name of the virtual disk. string
unitNumber Gets or sets the unit number of the disk on the controller. int