Virtual Machine Get Resource Config
The resource configuration for a virtual machine.
The shares in this specification are evaluated relative to the resource pool to which it is assigned. This will return null if the product the virtual machine is registered on does not support resource configuration.
To retrieve the configuration, you typically use childConfiguration.
To change the configuration, use UpdateChildResourceConfiguration.
The unique identifier for the managed object to which the property attaches; the serialized managed object reference for a request has the form moType/moId
, in this case VirtualMachine/{moId}
.
The vSphere release schema. The current specification covers vSphere 8.0.3.0 APIs.
OK
{
"_typeName": "string",
"entity": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"changeVersion": "string",
"lastModified": "string",
"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
},
"scaleDescendantsShares": "string"
}
The changeVersion is a unique identifier for a given version of the configuration.
Each change to the configuration will update 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.
If specified when updating the resource config., the changes will only be applied if the current changeVersion matches the specified changeVersion. This field can be used to guard against updates that has happened between the configInfo was read and until it is applied.
Timestamp when the resources were last modified.
This is ignored when the object is used to update a configuration.
The ResourceAllocationInfo data object specifies the reserved resource requirement as well as the limit (maximum allowed usage) for a given kind of resource.
This is specified for both memory allocation (specified in MB) and CPU allocation (specified in MHz).
For a ResourcePool, the ResourceAllocationInfo object describes both the guaranteed amount of the resource (reservation) and whether or not it is expandable (expandableReservation). If expandableReservation is true, then the resource pool can grow its reservation dynamically by borrowing unreserved resources from its parent resource pool. For the methods CreateResourcePool, CreateVApp and ImportVApp, you must provide values for all properties except overheadLimit; they are not optional. (Currently, overheadLimit is for vCenter Server use only.)
If the limit is configured, it must be greater than or equal to the reservation.
The ResourceAllocationInfo data object specifies the reserved resource requirement as well as the limit (maximum allowed usage) for a given kind of resource.
This is specified for both memory allocation (specified in MB) and CPU allocation (specified in MHz).
For a ResourcePool, the ResourceAllocationInfo object describes both the guaranteed amount of the resource (reservation) and whether or not it is expandable (expandableReservation). If expandableReservation is true, then the resource pool can grow its reservation dynamically by borrowing unreserved resources from its parent resource pool. For the methods CreateResourcePool, CreateVApp and ImportVApp, you must provide values for all properties except overheadLimit; they are not optional. (Currently, overheadLimit is for vCenter Server use only.)
If the limit is configured, it must be greater than or equal to the reservation.
Specifies the scaling behavior of the shares of all descendant resource pools under a given resource pool.
See ResourceConfigSpecScaleSharesBehaviorEnum for possible values. If any scaling behavior other than disabled is specified, the system will scale the CPU and memory shares allocated to each descendant resource pool with the total shares of all powered on virtual machines under each respective pool. The system will also use the SharesInfo set on each descendant resource pool as a multiplier for the scale. If a resource pool's shares are already scalable through the ResourceConfigSpec.scaleDescendantsShares setting on an ancestor resource pool, the system will not allow ResourceConfigSpec.scaleDescendantsShares to be set on the resource pool. The ResourcePoolRuntimeInfo.sharesScalable property indicates whether or not a resource pool's shares are scalable. This property does not apply to virtual machines.