Virtual Machine Clone VM Task
Creates a clone of this virtual machine.
If the virtual machine is used as a template, this method corresponds to the deploy command.
Any % (percent) character used in this name parameter must be escaped, unless it is used to start an escape sequence. Clients may also escape any other characters in this name parameter.
The privilege required on the source virtual machine depends on the source and destination types:
- source is virtual machine, destination is virtual machine - VirtualMachine.Provisioning.Clone
- source is virtual machine, destination is template - VirtualMachine.Provisioning.CreateTemplateFromVM
- source is template, destination is virtual machine - VirtualMachine.Provisioning.DeployTemplate
- source is template, destination is template - VirtualMachine.Provisioning.CloneTemplate
- source is encrypted virtual machine - Cryptographer.Clone
If customization is requested in the CloneSpec, then the VirtualMachine.Provisioning.Customize privilege must also be held on the source virtual machine.
The Resource.AssignVMToPool privilege is also required for the resource pool specified in the CloneSpec, if the destination is not a template. The Datastore.AllocateSpace privilege is required on all datastores where the clone is created.
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.
{
"folder": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"name": "string",
"spec": {
"_typeName": "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"
}
},
"template": false,
"config": {
"_typeName": "string",
"changeVersion": "string",
"name": "string",
"version": "string",
"createDate": "string",
"uuid": "string",
"instanceUuid": "string",
"npivNodeWorldWideName": [
0
],
"npivPortWorldWideName": [
0
],
"npivWorldWideNameType": "string",
"npivDesiredNodeWwns": 0,
"npivDesiredPortWwns": 0,
"npivTemporaryDisabled": false,
"npivOnNonRdmDisks": false,
"npivWorldWideNameOp": "string",
"locationId": "string",
"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
},
"powerOpInfo": {
"_typeName": "string",
"powerOffType": "string",
"suspendType": "string",
"resetType": "string",
"defaultPowerOffType": "string",
"defaultSuspendType": "string",
"defaultResetType": "string",
"standbyAction": "string"
},
"rebootPowerOff": false,
"numCPUs": 0,
"vcpuConfig": [
{
"_typeName": "string",
"latencySensitivity": {
"_typeName": "string",
"level": "string",
"sensitivity": 0
}
}
],
"numCoresPerSocket": 0,
"memoryMB": 0,
"memoryHotAddEnabled": false,
"cpuHotAddEnabled": false,
"cpuHotRemoveEnabled": false,
"virtualICH7MPresent": false,
"virtualSMCPresent": false,
"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"
}
],
"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
},
"cpuAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"memoryAffinity": {
"_typeName": "string",
"affinitySet": [
0
]
},
"networkShaper": {
"_typeName": "string",
"enabled": false,
"peakBps": 0,
"averageBps": 0,
"burstSize": 0
},
"cpuFeatureMask": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"level": 0,
"vendor": "string",
"eax": "string",
"ebx": "string",
"ecx": "string",
"edx": "string"
}
}
],
"extraConfig": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"swapPlacement": "string",
"bootOptions": {
"_typeName": "string",
"bootDelay": 0,
"enterBIOSSetup": false,
"efiSecureBootEnabled": false,
"bootRetryEnabled": false,
"bootRetryDelay": 0,
"bootOrder": [
{
"_typeName": "string"
}
],
"networkBootProtocol": "string"
},
"vAppConfig": {
"_typeName": "string",
"product": [
{
"_typeName": "string",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_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",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_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",
"operation": "string",
"removeKey": {
"_typeName": "string"
},
"info": {
"_typeName": "string",
"key": 0,
"namespace": "string",
"type": "string",
"atEnvelopeLevel": false,
"contents": "string"
}
}
],
"ovfEnvironmentTransport": [
"string"
],
"installBootRequired": false,
"installBootStopDelay": 0
},
"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"
}
]
},
"vAppConfigRemoved": false,
"vAssertsEnabled": false,
"changeTrackingEnabled": false,
"firmware": "string",
"maxMksConnections": 0,
"guestAutoLockEnabled": false,
"managedBy": {
"_typeName": "string",
"extensionKey": "string",
"type": "string"
},
"memoryReservationLockedToMax": false,
"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"
}
]
}
},
"vmProfile": [
{
"_typeName": "string"
}
],
"messageBusTunnelEnabled": false,
"crypto": {
"_typeName": "string"
},
"migrateEncryption": "string",
"sgxInfo": {
"_typeName": "string",
"epcSize": 0,
"flcMode": "string",
"lePubKeyHash": "string",
"requireAttestation": false
},
"ftEncryptionMode": "string",
"guestMonitoringModeInfo": {
"_typeName": "string",
"gmmFile": "string",
"gmmAppliance": "string"
},
"sevEnabled": false,
"virtualNuma": {
"_typeName": "string",
"coresPerNumaNode": 0,
"exposeVnumaOnCpuHotadd": false
},
"motherboardLayout": "string",
"pmemFailoverEnabled": false,
"vmxStatsCollectionEnabled": false,
"vmOpNotificationToAppEnabled": false,
"vmOpNotificationTimeout": 0,
"deviceSwap": {
"_typeName": "string",
"lsiToPvscsi": {
"_typeName": "string",
"enabled": false,
"applicable": false,
"status": "string"
}
},
"simultaneousThreads": 0,
"pmem": {
"_typeName": "string",
"snapshotMode": "string"
},
"deviceGroups": {
"_typeName": "string",
"deviceGroup": [
{
"_typeName": "string",
"groupInstanceKey": 0,
"deviceInfo": {
"_typeName": "string",
"label": "string",
"summary": "string"
}
}
]
},
"fixedPassthruHotPlugEnabled": false
},
"customization": {
"_typeName": "string",
"options": {
"_typeName": "string"
},
"identity": {
"_typeName": "string"
},
"globalIPSettings": {
"_typeName": "string",
"dnsSuffixList": [
"string"
],
"dnsServerList": [
"string"
]
},
"nicSettingMap": [
{
"_typeName": "string",
"macAddress": "string",
"adapter": {
"_typeName": "string",
"ip": {
"_typeName": "string"
},
"subnetMask": "string",
"gateway": [
"string"
],
"ipV6Spec": {
"_typeName": "string",
"ip": [
{
"_typeName": "string"
}
],
"gateway": [
"string"
]
},
"dnsServerList": [
"string"
],
"dnsDomain": "string",
"primaryWINS": "string",
"secondaryWINS": "string",
"netBIOS": "string"
}
}
],
"encryptionKey": [
0
]
},
"powerOn": false,
"snapshot": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"memory": false,
"tpmProvisionPolicy": "string"
}
}
The name of the new virtual machine.
This method returns a Task object with which to monitor the operation. The info.result property in the Task contains the newly added VirtualMachine upon success.
{
"_typeName": "string",
"type": "string",
"value": "string"
}
InvalidArgument: if the host cannot run this virtual machine.
CustomizationFault: if a customization error happens. Typically, a specific subclass of this exception is thrown.
TaskInProgress: if the virtual machine is busy.
NotSupported: if the operation is not supported by the current agent.
InvalidState: if the operation cannot be performed because of the virtual machine's current state. For example, if the virtual machine configuration information is not available.
InvalidDatastore: if the operation cannot be performed on the target datastores.
FileFault: if there is an error accessing the virtual machine files.
VmConfigFault: if the virtual machine is not compatible with the destination host. Typically, a specific subclass of this exception is thrown, such as IDEDiskNotSupported.
MigrationFault: if it is not possible to migrate the virtual machine to the destination host. This is typically due to hosts being incompatible, such as mismatch in network polices or access to networks and datastores. Typically, a more specific subclass is thrown.
InsufficientResourcesFault: if this operation would violate a resource usage policy.
NoPermission: if the virtual machine is encrypted, but encryption is not enabled on the destination and the user does not have Cryptographer.RegisterHost permission on the host.
NoPermission: if source virtual machine is encrypted, but the the user does not have Cryptographer.Clone permission on it.
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}