Virtual Machine Promote Disks Task
Promotes disks on this virtual machine that have delta disk backings.
A delta disk backing is a way to preserve a virtual disk backing at some point in time. A delta disk backing is a file backing which in turn points to the original virtual disk backing (the parent). After a delta disk backing is added, all writes go to the delta disk backing. All reads first try the delta disk backing and then try the parent backing if needed.
Promoting does two things
- If the unlink parameter is true, any disk backing which is shared shared by multiple virtual machines is copied so that this virtual machine has its own unshared version. Copied files always end up in the virtual machine's home directory. To promote the disks of a powered on VM, the VM cannot have snapshots.
- Any disk backing which is not shared between multiple virtual machines and is not associated with a snapshot is consolidated with its child backing.
If the unlink parameter is true, the net effect of this operation is improved read performance, at the cost of disk space. If the unlink parameter is false the net effect is improved read performance at the cost of inhibiting future sharing.
This operation is only supported if deltaDiskBackingsSupported is true.
This operation is only supported on VirtualCenter. If no work is required, an invocation completes successfully.
Required privileges: VirtualMachine.Provisioning.PromoteDisks
The unique identifier for the managed object to which the method 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.2.0 APIs.
{
"unlink": false,
"disks": [
{
"_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
},
"capacityInKB": 0,
"capacityInBytes": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"storageIOAllocation": {
"_typeName": "string",
"limit": 0,
"shares": {
"_typeName": "string",
"shares": 0,
"level": "string"
},
"reservation": 0
},
"diskObjectId": "string",
"vFlashCacheConfigInfo": {
"_typeName": "string",
"vFlashModule": "string",
"reservationInMB": 0,
"cacheConsistencyType": "string",
"cacheMode": "string",
"blockSizeInKB": 0
},
"iofilter": [
"string"
],
"vDiskId": {
"_typeName": "string",
"id": "string"
},
"vDiskVersion": 0,
"nativeUnmanagedLinkedClone": false,
"independentFilters": [
{
"_typeName": "string"
}
],
"guestReadOnly": false
}
]
}
If true, then these disks will be unlinked before consolidation.
The set of disks that are to be promoted. If this value is unset or the array is empty, all disks which have delta disk backings are promoted.
OK
{
"_typeName": "string",
"type": "string",
"value": "string"
}
TaskInProgress: if the virtual machine is busy.
NotSupported: if the host doesn't support disk promotion APIs.
InvalidState: if the virtual machine's power state changes during the execution of this method.
InvalidState: if the virtual machine is not ready to respond to such requests.
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}