VirtualHardwareOption

VirtualHardwareOption
VirtualHardwareOption

The VirtualHardwareOption data object contains the options available for all virtual devices.

AllOf
This class requires all of the following:
JSON Example
{
    "_typeName": "string",
    "hwVersion": 0,
    "virtualDeviceOption": [
        {
            "_typeName": "string",
            "type": "string",
            "connectOption": {
                "_typeName": "string",
                "startConnected": {
                    "_typeName": "string",
                    "valueIsReadonly": false,
                    "supported": false,
                    "defaultValue": false
                },
                "allowGuestControl": {
                    "_typeName": "string",
                    "valueIsReadonly": false,
                    "supported": false,
                    "defaultValue": false
                }
            },
            "busSlotOption": {
                "_typeName": "string",
                "type": "string"
            },
            "controllerType": "string",
            "autoAssignController": {
                "_typeName": "string",
                "valueIsReadonly": false,
                "supported": false,
                "defaultValue": false
            },
            "backingOption": [
                {
                    "_typeName": "string",
                    "type": "string"
                }
            ],
            "defaultBackingOptionIndex": 0,
            "licensingLimit": [
                "string"
            ],
            "deprecated": false,
            "plugAndPlay": false,
            "hotRemoveSupported": false,
            "numaSupported": false
        }
    ],
    "deviceListReadonly": false,
    "numCPU": [
        0
    ],
    "numCoresPerSocket": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "autoCoresPerSocket": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "supported": false,
        "defaultValue": false
    },
    "numCpuReadonly": false,
    "memoryMB": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numPCIControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numIDEControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numUSBControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numUSBXHCIControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numSIOControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numPS2Controllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "licensingLimit": [
        "string"
    ],
    "numSupportedWwnPorts": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numSupportedWwnNodes": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "resourceConfigOption": {
        "_typeName": "string",
        "cpuAllocationOption": {
            "_typeName": "string",
            "sharesOption": {
                "_typeName": "string",
                "sharesOption": {
                    "_typeName": "string",
                    "valueIsReadonly": false,
                    "min": 0,
                    "max": 0,
                    "defaultValue": 0
                },
                "defaultLevel": "string"
            }
        },
        "memoryAllocationOption": {
            "_typeName": "string",
            "sharesOption": {
                "_typeName": "string",
                "sharesOption": {
                    "_typeName": "string",
                    "valueIsReadonly": false,
                    "min": 0,
                    "max": 0,
                    "defaultValue": 0
                },
                "defaultLevel": "string"
            }
        }
    },
    "numNVDIMMControllers": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numTPMDevices": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numWDTDevices": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numPrecisionClockDevices": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "epcMemoryMB": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "acpiHostBridgesFirmware": [
        "string"
    ],
    "numCpuSimultaneousThreads": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numNumaNodes": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "numDeviceGroups": {
        "_typeName": "string",
        "valueIsReadonly": false,
        "min": 0,
        "max": 0,
        "defaultValue": 0
    },
    "deviceGroupTypes": [
        "string"
    ]
}
integer As int32 As int32
hwVersion
Required

The virtual hardware version.

virtualDeviceOption
Required

Array of virtual device options valid for this virtual machine configuration.

The list is unordered.

boolean
deviceListReadonly
Required

Whether the set of virtual devices can be changed, e.g., can devices be added or removed.

This does not preclude changing devices.

array of integer
numCPU
Required

List of acceptable values for the number of CPUs supported by this ConfigOption.

This is usually superceded by the information available in the guest operating system descriptors. The guest operating system descriptor describes a maximum CPU count, but the acceptable values are still constrained to the set specified here. The default value is stored at index 0 in the list.

numCoresPerSocket
Required

The minimum, maximum and default number of cores per socket that can be used when distributing virtual CPUs.

autoCoresPerSocket
Optional

Whether auto cores per socket is supported.

Since: vSphere API Release 8.0.0.1

boolean
numCpuReadonly
Required

Can the number of virtual CPUs be changed

memoryMB
Required

The minimum, maximum, and default memory options, in MB, per virtual machine, for this VirtualHardwareOption.

These values are typically overruled by the supported and recommended values specified in the GuestOsDescriptor class.

numPCIControllers
Required

The minimum, maximum, and default number of PCI controllers for this virtual machine configuration.

numIDEControllers
Required

The minimum, maximum, and default number of IDE controllers for this virtual machine configuration.

Note: SCSI controllers sit on the PCI controller so their options (minimum, maximum, and default values) are contained inside the VirtualPCIControllerOption class.

numUSBControllers
Required

The minimum, maximum, and default number of USB controllers for this virtual machine configuration.

numUSBXHCIControllers
Required

The minimum, maximum, and default number of XHCI (USB 3.0) controllers for this virtual machine configuration.

numSIOControllers
Required

The minimum, maximum, and default number of SIO controllers for this virtual machine configuration.

numPS2Controllers
Required

The minimum, maximum, and default number of PS2 controllers for this virtual machine configuration.

array of string
licensingLimit
Optional

List of propery names which limits are given be a licensing restriction of the underlying product, e.g., a limit that is not derived based on the product or hardware features.

For example, the property name "numCPU"

numSupportedWwnPorts
Optional

The minimum, maximum and default number of NPIV WorldWideNode names supported for this virtual machine configuration.

numSupportedWwnNodes
Optional

The minimum, maximum and default number of NPIV WorldWidePort names supported for this virtual machine configuration.

resourceConfigOption
Required

Default value and value range for ResourceConfigOption

numNVDIMMControllers
Optional

The minimum, maximum and default number of virtual NVDIMM controllers for this virtual machine configuration.

numTPMDevices
Optional

The minimum, maximum, and default number of virtual TPMs.

numWDTDevices
Optional

The minimum, maximum, and default number of virtual watchdog timers.

numPrecisionClockDevices
Optional

The minimum, maximum and default number of PrecisionClock devices.

epcMemoryMB
Optional

The minimum, maximum and default value of Intel's Secure Guard Extensions Enclave Page Cache (EPC) memory.

array of string
acpiHostBridgesFirmware
Optional

Empty for HWv17 & older, ["efi"] for HWv18.

Since: vSphere API Release 8.0.0.1

numCpuSimultaneousThreads
Optional

The minimum, maximum and default number of CPU simultaneous threads.

Since: vSphere API Release 8.0.0.1

numNumaNodes
Optional

The minimum, maximum and default number of NUMA nodes.

Since: vSphere API Release 8.0.0.1

numDeviceGroups
Optional

Maximum number of device groups.

Since: vSphere API Release 8.0.0.1

array of string
deviceGroupTypes
Optional

Supported device group types.

Since: vSphere API Release 8.0.0.1