Virtual Machine Instant Clone Task
Creates a powered-on Instant Clone of a virtual machine.
The new virtual machine will be created on the same host and start with the identical running point as the original virtual machine, sharing memory state when possible and sharing disk state. The original virtual machine must be in a powered-on state. The privilege required for Instant Clone operation are:
- VirtualMachine.Provisioning.Clone
- VirtualMachine.Interact.PowerOn
- VirtualMachine.Inventory.CreateFromExisting
- Datastore.AllocateSpace
- Resource.AssignVMToPool
Required privileges: VirtualMachine.Provisioning.Clone
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.
{
"spec": {
"_typeName": "string",
"name": "string",
"location": {
"_typeName": "string",
"service": {
"_typeName": "string",
"instanceUuid": "string",
"url": "string",
"credential": {
"_typeName": "string"
},
"sslThumbprint": "string"
},
"folder": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"pool": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"host": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"disk": [
{
"_typeName": "string",
"diskId": 0,
"datastore": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"diskMoveType": "string",
"diskBackingInfo": {
"_typeName": "string"
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualMachineRelocateSpecDiskLocatorBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
]
}
],
"transform": "string",
"deviceChange": [
{
"_typeName": "string",
"operation": "string",
"fileOperation": "string",
"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
}
},
"profile": [
{
"_typeName": "string"
}
],
"backing": {
"_typeName": "string",
"parent": "VirtualDeviceConfigSpecBackingSpec Object",
"crypto": {
"_typeName": "string"
}
},
"filterSpec": [
{
"_typeName": "string"
}
],
"changeMode": "string"
}
],
"profile": [
{
"_typeName": "string"
}
],
"cryptoSpec": {
"_typeName": "string"
}
},
"config": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"biosUuid": "string"
}
}
Specification for creating an Instant Clone of a powered-on virtual machine.
This method returns a Task object with which to monitor the operation.
{
"_typeName": "string",
"type": "string",
"value": "string"
}
InvalidArgument: in the following cases:
- Source virtual machine is not powered on
- Source virtual machine configuration is not supported for Instant Clone operation
- Relocation specification has unsupported settings
InvalidState: if the operation cannot be performed because of the host or virtual machine's current state. For example, if the host is in maintenance mode or if the source virtual machine is not powered on.
InvalidDatastore: if the operation cannot be performed on the target datastores.
FileFault: if there is an error accessing the virtual machine files.
InsufficientResourcesFault: if this operation would violate a resource usage policy.
DisallowedMigrationDeviceAttached: if any of the devices attached to the source virtual machine are not supported for the Instant Clone operation or if device change specification contains changes that are not supported.
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}