VirtualMachineConfigInfo
The ConfigInfo data object type encapsulates the configuration settings and virtual hardware for a virtual machine.
This type holds all the information that is present in the .vmx configuration file for the virtual machine.
{
"_typeName": "string",
"changeVersion": "string",
"modified": "string",
"name": "string",
"guestFullName": "string",
"version": "string",
"uuid": "string",
"createDate": "string",
"instanceUuid": "string",
"npivNodeWorldWideName": [
0
],
"npivPortWorldWideName": [
0
],
"npivWorldWideNameType": "string",
"npivDesiredNodeWwns": 0,
"npivDesiredPortWwns": 0,
"npivTemporaryDisabled": false,
"npivOnNonRdmDisks": false,
"locationId": "string",
"template": false,
"guestId": "string",
"alternateGuestName": "string",
"annotation": "string",
"files": {
"_typeName": "string",
"vmPathName": "string",
"snapshotDirectory": "string",
"suspendDirectory": "string",
"logDirectory": "string",
"ftMetadataDirectory": "string"
},
"tools": {
"_typeName": "string",
"toolsVersion": 0,
"toolsInstallType": "string",
"afterPowerOn": false,
"afterResume": false,
"beforeGuestStandby": false,
"beforeGuestShutdown": false,
"beforeGuestReboot": false,
"toolsUpgradePolicy": "string",
"pendingCustomization": "string",
"customizationKeyId": {
"_typeName": "string",
"keyId": "string",
"providerId": {
"_typeName": "string",
"id": "string"
}
},
"syncTimeWithHostAllowed": false,
"syncTimeWithHost": false,
"lastInstallInfo": {
"_typeName": "string",
"counter": 0,
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
}
},
"flags": {
"_typeName": "string",
"disableAcceleration": false,
"enableLogging": false,
"useToe": false,
"runWithDebugInfo": false,
"monitorType": "string",
"htSharing": "string",
"snapshotDisabled": false,
"snapshotLocked": false,
"diskUuidEnabled": false,
"virtualMmuUsage": "string",
"virtualExecUsage": "string",
"snapshotPowerOffBehavior": "string",
"recordReplayEnabled": false,
"faultToleranceType": "string",
"cbrcCacheEnabled": false,
"vvtdEnabled": false,
"vbsEnabled": false
},
"consolePreferences": {
"_typeName": "string",
"powerOnWhenOpened": false,
"enterFullScreenOnPowerOn": false,
"closeOnPowerOffOrSuspend": false
},
"defaultPowerOps": {
"_typeName": "string",
"powerOffType": "string",
"suspendType": "string",
"resetType": "string",
"defaultPowerOffType": "string",
"defaultSuspendType": "string",
"defaultResetType": "string",
"standbyAction": "string"
},
"rebootPowerOff": false,
"hardware": {
"_typeName": "string",
"numCPU": 0,
"numCoresPerSocket": 0,
"autoCoresPerSocket": false,
"memoryMB": 0,
"virtualICH7MPresent": false,
"virtualSMCPresent": false,
"device": [
{
"_typeName": "string",
"key": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
},
"backing": {
"_typeName": "string"
},
"connectable": {
"_typeName": "string",
"migrateConnect": "string",
"startConnected": false,
"allowGuestControl": false,
"connected": false,
"status": "string"
},
"slotInfo": {
"_typeName": "string"
},
"controllerKey": 0,
"unitNumber": 0,
"numaNode": 0,
"deviceGroupInfo": {
"_typeName": "string",
"groupInstanceKey": 0,
"sequenceId": 0
}
}
],
"motherboardLayout": "string",
"simultaneousThreads": 0
},
"vcpuConfig": [
{
"_typeName": "string",
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
}
}
],
"cpuAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"memoryAllocation": {
"_typeName": "string",
"reservation": 0,
"expandableReservation": false,
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"overheadLimit": 0
},
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
},
"memoryHotAddEnabled": false,
"cpuHotAddEnabled": false,
"cpuHotRemoveEnabled": false,
"hotPlugMemoryLimit": 0,
"hotPlugMemoryIncrementSize": 0,
"cpuAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"memoryAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"networkShaper": {
"_typeName": "string",
"enabled": false,
"peakBps": 0,
"averageBps": 0,
"burstSize": 0
},
"extraConfig": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"cpuFeatureMask": [
{
"_typeName": "string",
"level": 0,
"vendor": "string",
"eax": "string",
"ebx": "string",
"ecx": "string",
"edx": "string"
}
],
"datastoreUrl": [
{
"_typeName": "string",
"name": "string",
"url": "string"
}
],
"swapPlacement": "string",
"bootOptions": {
"_typeName": "string",
"bootDelay": 0,
"enterBIOSSetup": false,
"efiSecureBootEnabled": false,
"bootRetryEnabled": false,
"bootRetryDelay": 0,
"bootOrder": [
{
"_typeName": "string"
}
],
"networkBootProtocol": "string"
},
"ftInfo": {
"_typeName": "string",
"role": 0,
"instanceUuids": [
"string"
],
"configPaths": [
"string"
],
"orphaned": false
},
"repConfig": {
"_typeName": "string",
"generation": 0,
"vmReplicationId": "string",
"destination": "string",
"port": 0,
"rpo": 0,
"quiesceGuestEnabled": false,
"paused": false,
"oppUpdatesEnabled": false,
"netCompressionEnabled": false,
"netEncryptionEnabled": false,
"encryptionDestination": "string",
"encryptionPort": 0,
"remoteCertificateThumbprint": "string",
"dataSetsReplicationEnabled": false,
"disk": [
{
"_typeName": "string",
"key": 0,
"diskReplicationId": "string"
}
]
},
"vAppConfig": {
"_typeName": "string",
"product": [
{
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"name": "string",
"vendor": "string",
"version": "string",
"fullVersion": "string",
"vendorUrl": "string",
"productUrl": "string",
"appUrl": "string"
}
],
"property": [
{
"_typeName": "string",
"key": 0,
"classId": "string",
"instanceId": "string",
"id": "string",
"category": "string",
"label": "string",
"type": "string",
"typeReference": "string",
"userConfigurable": false,
"defaultValue": "string",
"value": "string",
"description": "string"
}
],
"ipAssignment": {
"_typeName": "string",
"supportedAllocationScheme": [
"string"
],
"ipAllocationPolicy": "string",
"supportedIpProtocol": [
"string"
],
"ipProtocol": "string"
},
"eula": [
"string"
],
"ovfSection": [
{
"_typeName": "string",
"key": 0,
"namespace": "string",
"type": "string",
"atEnvelopeLevel": false,
"contents": "string"
}
],
"ovfEnvironmentTransport": [
"string"
],
"installBootRequired": false,
"installBootStopDelay": 0
},
"vAssertsEnabled": false,
"changeTrackingEnabled": false,
"firmware": "string",
"maxMksConnections": 0,
"guestAutoLockEnabled": false,
"managedBy": {
"_typeName": "string",
"extensionKey": "string",
"type": "string"
},
"memoryReservationLockedToMax": false,
"initialOverhead": {
"_typeName": "string",
"initialMemoryReservation": 0,
"initialSwapReservation": 0
},
"nestedHVEnabled": false,
"vPMCEnabled": false,
"scheduledHardwareUpgradeInfo": {
"_typeName": "string",
"upgradePolicy": "string",
"versionKey": "string",
"scheduledHardwareUpgradeStatus": "string",
"fault": {
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}
},
"forkConfigInfo": {
"_typeName": "string",
"parentEnabled": false,
"childForkGroupId": "string",
"parentForkGroupId": "string",
"childType": "string"
},
"vFlashCacheReservation": 0,
"vmxConfigChecksum": "string",
"messageBusTunnelEnabled": false,
"vmStorageObjectId": "string",
"swapStorageObjectId": "string",
"keyId": {
"_typeName": "string",
"keyId": "string",
"providerId": {
"_typeName": "string",
"id": "string"
}
},
"guestIntegrityInfo": {
"_typeName": "string",
"enabled": false
},
"migrateEncryption": "string",
"sgxInfo": {
"_typeName": "string",
"epcSize": 0,
"flcMode": "string",
"lePubKeyHash": "string",
"requireAttestation": false
},
"contentLibItemInfo": {
"_typeName": "string",
"contentLibraryItemUuid": "string",
"contentLibraryItemVersion": "string"
},
"ftEncryptionMode": "string",
"guestMonitoringModeInfo": {
"_typeName": "string",
"gmmFile": "string",
"gmmAppliance": "string"
},
"sevEnabled": false,
"numaInfo": {
"_typeName": "string",
"coresPerNumaNode": 0,
"autoCoresPerNumaNode": false,
"vnumaOnCpuHotaddExposed": false
},
"pmemFailoverEnabled": false,
"vmxStatsCollectionEnabled": false,
"vmOpNotificationToAppEnabled": false,
"vmOpNotificationTimeout": 0,
"deviceSwap": {
"_typeName": "string",
"lsiToPvscsi": {
"_typeName": "string",
"enabled": false,
"applicable": false,
"status": "string"
}
},
"pmem": {
"_typeName": "string",
"snapshotMode": "string"
},
"deviceGroups": {
"_typeName": "string",
"deviceGroup": [
{
"_typeName": "string",
"groupInstanceKey": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
}
}
]
},
"fixedPassthruHotPlugEnabled": false,
"metroFtEnabled": false,
"vmxRuntimeConfig": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"metroFtHostGroup": "string",
"tdxEnabled": false,
"sevSnpEnabled": false
}
The changeVersion is a unique identifier for a given version of the configuration.
Each change to the configuration updates this value. This is typically implemented as an ever increasing count or a time-stamp. However, a client should always treat this as an opaque string.
Last time a virtual machine's configuration was modified.
Display name of the virtual machine.
Any / (slash), \ (backslash), character used in this name element is escaped. Similarly, any % (percent) character used in this name element is escaped, unless it is used to start an escape sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or %5c, and a percent is escaped as %25.
This is the full name of the guest operating system for the virtual machine.
For example: Windows 2000 Professional.
See also VirtualMachineConfigInfo.alternateGuestName.
The version string for this virtual machine.
128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in "12345678-abcd-1234-cdef-123456789abc" format.
Time the virtual machine's configuration was created.
VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexademical string.
This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.
A 64-bit node WWN (World Wide Name).
These WWNs are paired with the VirtualMachineConfigInfo.npivPortWorldWideName to be used by the NPIV VPORTs instantiated for the virtual machine on the physical HBAs of the host. A pair of node and port WWNs serves as a unique identifier in accessing a LUN, so that it can be monitored or controlled by the storage administrator.
If this property contains a single node WWN, the same node WWN is used to pair with all port WWNs listed in VirtualMachineConfigInfo.npivPortWorldWideName. If this property or VirtualMachineConfigInfo.npivPortWorldWideName is empty or unset, NPIV WWN is disabled for the virtual machine.
A 64-bit port WWN (World Wide Name).
For detail description on WWN, see VirtualMachineConfigInfo.npivNodeWorldWideName.
The source that provides/generates the assigned WWNs.
See also VirtualMachineConfigInfoNpivWwnTypeEnum.
The NPIV node WWNs to be extended from the original list of WWN nummbers.
This property should be set to desired number which is an aggregate of existing plus new numbers. Desired Node WWNs should always be greater than the existing number of node WWNs
The NPIV port WWNs to be extended from the original list of WWN nummbers.
This property should be set to desired number which is an aggregate of existing plus new numbers. Desired Node WWNs should always be greater than the existing number of port WWNs
This property is used to enable or disable the NPIV capability on a desired virtual machine on a temporary basis.
When this property is set NPIV Vport will not be instantiated by the VMX process of the Virtual Machine. When this property is set port WWNs and node WWNs in the VM configuration are preserved.
This property is used to check whether the NPIV can be enabled on the Virtual machine with non-rdm disks in the configuration, so this is potentially not enabling npiv on vmfs disks.
Also this property is used to check whether RDM is required to generate WWNs for a virtual machine.
Hash incorporating the virtual machine's config file location and the UUID of the host assigned to run the virtual machine.
Flag indicating whether or not a virtual machine is a template.
Guest operating system configured on a virtual machine.
This is a guest identifier that can be used to access the GuestOsDescriptor list for information about default configuration. For more information on possible values, see VirtualMachineGuestOsIdentifier.
Used as display name for the operating system if guestId is other
or other-64
.
See also VirtualMachineConfigInfo.guestFullName.
Description for the virtual machine.
Information about the files associated with a virtual machine.
This information does not include files for specific virtual disks or snapshots.
Configuration of VMware Tools running in the guest operating system.
Additional flags for a virtual machine.
Legacy console viewer preferences when doing power operations.
Configuration of default power operations.
Whether the next reboot will result in a power off.
Since: vSphere API Release 8.0.0.1
Processor, memory, and virtual devices for a virtual machine.
Vcpu configuration.
The vcpuConfig
array is indexed
by vcpu number.
Resource limits for CPU.
Resource limits for memory.
The latency-sensitivity of the virtual machine.
Whether memory can be added while this virtual machine is running.
Whether virtual processors can be added while this virtual machine is running.
Whether virtual processors can be removed while this virtual machine is running.
The maximum amount of memory, in MB, than can be added to a running virtual machine.
This value is determined by the virtual machine and is specified only if VirtualMachineConfigInfo.memoryHotAddEnabled is set to true.
Memory, in MB that can be added to a running virtual machine must be in increments of this value and needs be a multiple of this value.
This value is determined by the virtual machine and is specified only if VirtualMachineConfigSpec.memoryHotAddEnabled has been set to true.
Affinity settings for CPU.
Deprecated since vSphere 6.0.
Affinity settings for memory.
Deprecated from vSphere 5.5, shaping policy on VM is not supported.
Resource limits for network.
Additional configuration information for the virtual machine.
Specifies CPU feature compatibility masks that override the defaults from the GuestOsDescriptor of the virtual machine's guest OS.
As of vSphere API 6.5 FeatureMask is the recommended method for masking virtual machines with hardware version 9 and above (newer). They can be viewed via featureMask.
Enumerates the set of datastores that this virtual machine is stored on, as well as the URL identification for each of these.
Changes to datastores do not generate property updates on this property. However, when this property is retrieved it returns the current datastore information.
Virtual machine swapfile placement policy.
This will be unset if the virtual machine's swapPlacementSupported capability is false. If swapPlacementSupported is true, the default policy is "inherit".
See also VirtualMachineConfigInfoSwapPlacementTypeEnum.
Configuration options for the boot behavior of the virtual machine.
Fault Tolerance settings for this virtual machine.
vSphere Replication settings for this virtual machine.
Note this may become deprecated in the future releases. We discourage any unnecessary dependency on this field.
vApp meta-data for the virtual machine
Indicates whether user-configured virtual asserts will be triggered during virtual machine replay.
Indicates whether changed block tracking for this VM's disks is active.
Information about firmware type for this Virtual Machine.
Possible values are described in
GuestOsDescriptorFirmwareTypeEnum
When creating a new VM:
- If vim.vm.FlagInfo.vbsEnabled is set to true
and
this property is set to bios
, error is returned.
- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set
to true
, this property is set to efi
.
Indicates the maximum number of active remote display connections that the virtual machine will support.
Indicates whether the guest operating system will logout any active sessions whenever there are no remote display connections open to the virtual machine.
Specifies that this VM is managed by a VC Extension.
See the managedBy property in the ConfigSpec for more details.
If set true, memory resource reservation for this virtual machine will always be equal to the virtual machine's memory size; increases in memory size will be rejected when a corresponding reservation increase is not possible.
Set of values to be used only to perform admission control when determining if a host has sufficient resources for the virtual machine to power on.
Indicates whether this VM is configured to use nested hardware-assisted virtualization.
Indicates whether this VM have vurtual CPU performance counters enabled.
Configuration of scheduled hardware upgrades and result from last attempt to run scheduled hardware upgrade.
See also ScheduledHardwareUpgradeInfo.
Fork configuration of this virtual machines.
If unset, this virtual machine is not configured for fork.
See also VirtualMachineForkConfigInfo.
Deprecated since vSphere 7.0 because vFlash Read Cache end of availability.
Specifies the total vFlash resource reservation for the vFlash caches associated with this VM's virtual disks, in bytes.
This reservation must be allocated to power on the VM. See VirtualMachineRuntimeInfo.vFlashCacheAllocation for allocated reservation when VM is powered on.
A checksum of vmx config file.
Whether to allow tunneling of clients from the guest VM into the common message bus on the host network.
Virtual Machine Object Identifier.
With Object-based Storage systems, Virtual Machine home directory is backed by an object. This identifier will be set only if VM directory resided on object-based storage systems.
Virtual Machine Swap Object Identifier.
With Object-based Storage systems, VM's Swap is backed by an object. This identifier will be set only if VM swap resided on object-based storage systems.
Virtual Machine cryptographic options.
Guest integrity platform configuration
An enum describing whether encrypted vMotion is required for this VM.
See VirtualMachineConfigSpecEncryptedVMotionModesEnum for allowed values. This defaults to opportunistic for a regular VM, and will be set to required for an encrypted VM.
Configuration of SGX, Software Guard Extensions for the VM.
Content Library Item info.
An enum describing whether encrypted Fault Tolerance is required for this VM.
See VirtualMachineConfigSpecEncryptedFtModesEnum for allowed values. - This defaults to opportunistic for a regular VM, and will be set to required for an encrypted VM. - If this property is unset, the mode of encrypted Fault Tolerance will be set to opportunistic.
Since: vSphere API Release 7.0.2.0
GMM configuration
SEV (Secure Encrypted Virtualization) enabled or not.
SEV is enabled when set to true, and disabled otherwise.
Since: vSphere API Release 7.0.1.0
vNUMA info.
Since: vSphere API Release 8.0.0.1
Deprecated as of vSphere 9.0 APIs with no replacement.
Property to indicate PMem HA failover configuration.
- When set to TRUE, VMs configured to use PMem will be failed over to other hosts by HA, but the data in NVDIMM is not persistent. - When set to FALSE, VMs configured to use PMem will not be failed over to other hosts by HA. Property is currently only applicable to VMs with NVDimms and will fail to set True if vPMem disks are present.
Since: vSphere API Release 7.0.2.0
Indicates whether VMXStats Collection is enabled/disabled.
- If TRUE, VMXStats is enabled for the VM and a scoreboard file is created to store stats for various VMX components. - If FALSE, VMXStats is disabled for the VM and there is no scoreboard file created.
Since: vSphere API Release 7.0.3.1
Indicates whether operation notification to applications is enabled/disabled.
- When set to TRUE, application running inside the VM will be notified of operations for which they have registered. - If unset or FALSE, new applications are not allowed to register for notifications and RPCs will no longer be supported from already registered applications.
Since: vSphere API Release 7.0.3.0
Operation notification timeout in seconds.
- Specifies the maximum time the application can take to prepare for the operation after its been notified. This value is used only if VirtualMachineConfigInfo.vmOpNotificationToAppEnabled is set to TRUE. - If VirtualMachineConfigInfo.vmOpNotificationTimeout is unset, then it defaults to cluster/host timeout.
Since: vSphere API Release 8.0.0.1
Status of the device swap operation.
Since: vSphere API Release 8.0.0.1
Deprecated as of vSphere 9.0 APIs with no replacement.
Virtual persistent memory info.
Since: vSphere API Release 7.0.3.0
Assignable hardware device groups.
Since: vSphere API Release 8.0.0.1
Indicates whether support to add and remove fixed passthrough devices when the VM is running is enabled.
When the virtual machine is powered on, this indicates if support for hot adding and removing fixed passthrough devices was enabled prior to power on. Otherwise, it indicates whether it will be enabled when the VM is powered on. NOTE: When setting this to true, the memory reservation should be equal to the guest memory size or the option to reserve all guest memory should be selected. If unset, the current value is left unchanged.
Since: vSphere API Release 8.0.1.0
Indicates whether FT Metro Cluster is enabled/disabled.
- If TRUE, FT Metro Cluster is enabled for the VM. An implicit Anti-HostGroup will be generated from HostGroup defined for FT primary, then affine the primary with one HostGroup and affine the secondary with another HostGroup. - If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT primary and secondary will be put in the same HostGroup.
Since: vSphere API Release 8.0.3.0
Contains properties that are established when the VM powers-on and are later examined when the VM is resumed to ensure that the VM is compatible with the suspended device state.
It is only populated while the VM is powered-on.
Since: vSphere API Release 9.0.0.0
Indicate the Host Group (ClusterHostGroup) for FT Metro Cluster enabled Virtual Machine.
Based on the selected Host Group, FT can divide the hosts in the cluster into two groups and ensure to place FT primary and FT secondary in different groups.
Since: vSphere API Release 8.0.3.0
TDX (Trust Domain Extensions) enabled or not.
TDX is enabled when set to true, and disabled otherwise.
Since: vSphere API Release 9.0.0.0
SEV-SNP (Secure Encrypted Virtualization Secure Nested paging) enabled or not.
SEV-SNP is enabled when set to true, and disabled otherwise.
Since: vSphere API Release 9.0.0.0