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
public Relocate(objVcVirtualMachine: VcVirtualMachine, objVcDatastore: VcDatastore, objVcResourcePool: VcResourcePool, objVcHostSystem: VcHostSystem, objVcFolder: VcFolder, arrVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec[], objVcServiceLocator: VcServiceLocator): boolean {
let objVcVirtualMachineRelocateSpec: VcVirtualMachineRelocateSpec = new VcVirtualMachineRelocateSpec();
objVcVirtualMachineRelocateSpec.datastore = objVcDatastore;
objVcVirtualMachineRelocateSpec.pool = objVcResourcePool;
objVcVirtualMachineRelocateSpec.host = objVcHostSystem;
objVcVirtualMachineRelocateSpec.folder = objVcFolder;
objVcVirtualMachineRelocateSpec.deviceChange = arrVcVirtualDeviceConfigSpec;
objVcVirtualMachineRelocateSpec.service = objVcServiceLocator;
let objVcVirtualMachineMovePriority: VcVirtualMachineMovePriority = VcVirtualMachineMovePriority["highPriority"];
try {
Locking.lock(`${objVcVirtualMachine.name}-Modification`);
let objVcTask: VcTask = objVcVirtualMachine.relocateVM_Task(objVcVirtualMachineRelocateSpec, objVcVirtualMachineMovePriority);
this.WaitForVcTaskEnd(objVcTask, 15);
Locking.unlock(`${objVcVirtualMachine.name}-Modification`);
return true;
}
catch (objException) {
Utilities.logException(objException, this.objLogger, "VcVirtualMachineRelocate");
Locking.unlock(`${objVcVirtualMachine.name}-Modification`);
return false;
}
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
