Virtual Machine Migrate VM Task
Deprecated as of vSphere 6.5, use RelocateVM_Task instead.
Migrates a virtual machine's execution to a specific resource pool or host.
Requires Resource.HotMigrate privilege if the virtual machine is powered on or Resource.ColdMigrate privilege if the virtual machine is powered off or suspended.
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.
{
"pool": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"host": {
"_typeName": "string",
"type": "string",
"value": "string"
},
"priority": "string",
"state": "string"
}
MovePriority is an enumeration of values that indicate the priority of the task that moves a virtual machine from one host to another or one storage location to another.
Note this priority can affect both the source and target hosts.
Possible values:
lowPriority
: The task of moving this virtual machine is low priority.highPriority
: The task of moving this virtual machine is high priority.defaultPriority
: The task of moving this virtual machine is the default priority.
The PowerState type defines a simple set of states for a virtual machine: poweredOn, poweredOff, and suspended.
This type does not model substates, such as when a task is running to change the virtual machine state. If the virtual machine is in a state with a task in progress, it transitions to a new state when the task completes. For example, a virtual machine continues to be in the poweredOn state while a suspend task is running, and changes to the suspended state once the task finishes.
As a consequence of this approach, clients interested in monitoring the status of a virtual machine should typically track the activeTask data object in addition to the powerState object.
Possible values:
poweredOff
: The virtual machine is currently powered off.poweredOn
: The virtual machine is currently powered on.suspended
: The virtual machine is currently suspended.
This method returns a Task object with which to monitor the operation.
{
"_typeName": "string",
"type": "string",
"value": "string"
}
NotSupported: if the virtual machine is marked as a template.
InvalidArgument: in the following cases:
- the target host and target pool are not associated with the same compute resource
- the host parameter is left unset when the target pool is associated with a non-DRS cluster
InvalidPowerState: if the state argument is set and the virtual machine does not have that power state.
FileFault: if, in a case where the virtual machine configuration file must be copied, the destination location for that file does not have the necessary file access permissions.
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.
Timedout: if one of the phases of the migration process times out.
InsufficientResourcesFault: if this operation would violate a resource usage policy.
InvalidState: if the operation cannot be performed because of the virtual machine's current state or the target host's current state. For example, if the virtual machine configuration information is not available or if the target host is disconnected or in maintenance mode.
NoActiveHostInCluster: if a target host is not specified and the cluster associated with the target pool does not contain at least one potential target host. A host must be connected and not in maintenance mode in order to be considered as a potential target host.
NoPermission: if the virtual machine is encrypted, but encryption is not enabled on the destination host and the user does not have Cryptographer.RegisterHost permission on it.
NoPermission: if the virtual machine is encrypted, but the the user does not have Cryptographer.Migrate permission on the VM.
{
"_typeName": "string",
"faultCause": "MethodFault Object",
"faultMessage": [
{
"_typeName": "string",
"key": "string",
"arg": [
{
"_typeName": "string",
"key": "string",
"value": {
"_typeName": "string"
}
}
],
"message": "string"
}
]
}