To use this function add it to the class library file named vCenterServerService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterServerService.ts
public VcVirtualMachineGetByVirtualMachineUUID(strVirtualMachineUUID: string): VcVirtualMachine {
let arrVcSdkConnection: VcSdkConnection[] = this.serverFindAllForType<VcSdkConnection>("VC:SdkConnection");
let arrVcVirtualMachine: VcVirtualMachine[] = arrVcSdkConnection.map((objVcSdkConnection: VcSdkConnection): VcVirtualMachine => {
let objVcSearchIndex: VcSearchIndex = objVcSdkConnection.searchIndex;
try {
objVcVirtualMachine = objVcSearchIndex.findByUuid(null, strVirtualMachineUUID, true, true) as VcVirtualMachine;
if (objVcVirtualMachine instanceof VcVirtualMachine) {
return objVcVirtualMachine;
}
}
catch (objException) {
Utilities.logException(objException, this.objLogger, "VcVirtualMachineGetByVirtualMachineUUID", `Unable to find VM by instance UUID '${strVirtualMachineUUID}', for SDK connection '${objVcSdkConnection.name}', will fallback to search by BIOS UUID.`);
try {
objVcVirtualMachine = objVcSearchIndex.findByUuid(null, strVirtualMachineUUID, true, false) as VcVirtualMachine;
}
catch (objException) {
Utilities.logException(objException, this.objLogger, "VcVirtualMachineGetByVirtualMachineUUID", `Unable to find VM by instance UUID '${strVirtualMachineUUID}', for SDK connection '${objVcSdkConnection.name}', will fallback to search by BIOS UUID.`);
}
}
});
let objVcVirtualMachine: VcVirtualMachine = arrVcVirtualMachine.find((objVcVirtualMachine: VcVirtualMachine): boolean => {
return objVcVirtualMachine.instanceId === strVirtualMachineUUID;
});
return objVcVirtualMachine;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
