Orchestrator Functions: VcVirtualMachineGetAllVcVirtualController

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 VcVirtualMachineGetAllVcVirtualController(objVcVirtualMachine: VcVirtualMachine): (VcParaVirtualSCSIController | VcVirtualLsiLogicSASController | VcVirtualBusLogicController | VcVirtualLsiLogicController)[] {

    let arrVcVirtualDevice: VcVirtualDevice[] = this.VcVirtualMachineGetAllVcVirtualDevices(objVcVirtualMachine);

    let arrVcVirtualController: (VcParaVirtualSCSIController | VcVirtualLsiLogicSASController | VcVirtualBusLogicController | VcVirtualLsiLogicController)[] = arrVcVirtualDevice.filter((objVcVirtualDevice: VcVirtualDevice) => {

        return objVcVirtualDevice instanceof VcVirtualBusLogicController || objVcVirtualDevice instanceof VcVirtualLsiLogicController || objVcVirtualDevice instanceof VcParaVirtualSCSIController || objVcVirtualDevice instanceof VcVirtualLsiLogicSASController;

    }) as (VcParaVirtualSCSIController | VcVirtualLsiLogicSASController | VcVirtualBusLogicController | VcVirtualLsiLogicController)[];

    arrVcVirtualController = arrVcVirtualController.sort((objVcVirtualControllerA: (VcParaVirtualSCSIController | VcVirtualLsiLogicSASController | VcVirtualBusLogicController | VcVirtualLsiLogicController), objVcVirtualControllerB: (VcParaVirtualSCSIController | VcVirtualLsiLogicSASController | VcVirtualBusLogicController | VcVirtualLsiLogicController)): 1 | 0 | -1 => {

        if ((objVcVirtualControllerA.busNumber + objVcVirtualControllerA.unitNumber) < (objVcVirtualControllerB.busNumber + objVcVirtualControllerB.unitNumber)) {
            return -1;
        } else if ((objVcVirtualControllerA.busNumber + objVcVirtualControllerA.unitNumber) > (objVcVirtualControllerB.busNumber + objVcVirtualControllerB.unitNumber)) {
            return 1;
        }
        return 0;

    });

    return arrVcVirtualController;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like