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.
