Orchestrator Function: VcVirtualMachineGetByVirtualMachineUUID

by Simon Sparks · January 5, 2026

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.

You may also like