Orchestrator Function: vCenter Virtual Machine Relocate

by Simon Sparks · 5 January 2026

To use this function add it to the class library file named PluginVCVirtualMachineService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: PluginVCVirtualMachineService.ts

Description: Orchestrator Function to execute a Relocate vCenter Virtual Machine operation.

Public Function: Relocate

publicRelocate(objVcVirtualMachine:VcVirtualMachine,objVcDatastore:VcDatastore,objVcResourcePool:VcResourcePool,objVcHostSystem:VcHostSystem,objVcFolder:VcFolder,arrVcVirtualDeviceConfigSpec:VcVirtualDeviceConfigSpec[],objVcServiceLocator:VcServiceLocator):boolean{
letobjVcVirtualMachineRelocateSpec:VcVirtualMachineRelocateSpec=newVcVirtualMachineRelocateSpec();
objVcVirtualMachineRelocateSpec.datastore=objVcDatastore;
objVcVirtualMachineRelocateSpec.pool=objVcResourcePool;
objVcVirtualMachineRelocateSpec.host=objVcHostSystem;
objVcVirtualMachineRelocateSpec.folder=objVcFolder;
objVcVirtualMachineRelocateSpec.deviceChange=arrVcVirtualDeviceConfigSpec;
objVcVirtualMachineRelocateSpec.service=objVcServiceLocator;

letobjVcVirtualMachineMovePriority:VcVirtualMachineMovePriority=VcVirtualMachineMovePriority["highPriority"];

try{
Locking.lock(`${objVcVirtualMachine.name}-Modification`);

letobjVcTask:VcTask=objVcVirtualMachine.relocateVM_Task(objVcVirtualMachineRelocateSpec,objVcVirtualMachineMovePriority);

this.WaitForVcTaskEnd(objVcTask,15);

Locking.unlock(`${objVcVirtualMachine.name}-Modification`);

returntrue;
}
catch (objException){
Utilities.logException(objException,this.objLogger,"VcVirtualMachineRelocate");

Locking.unlock(`${objVcVirtualMachine.name}-Modification`);

returnfalse;
}
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like