Function: vCenter Virtual Machine Get Boot Order

by Simon Sparks · 5 January 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 VcVirtualMachineGetBootOrder(objVcVirtualMachine: VcVirtualMachine): BootOrder {
    let enumResult: BootOrder = BootOrder.HDD;

    this.objLogger.info(`setBootOrder on ${objVcVirtualMachine.name}`);

    let objVcVirtualMachineConfigInfo: VcVirtualMachineConfigInfo = objVcVirtualMachine.config;

    let objVcVirtualMachineBootOptions: VcVirtualMachineBootOptions = objVcVirtualMachineConfigInfo.bootOptions;

    let arrVcVirtualMachineBootOptionsBootableDevice: VcVirtualMachineBootOptionsBootableDevice[] = objVcVirtualMachineBootOptions.bootOrder;

    if (arrVcVirtualMachineBootOptionsBootableDevice !== null && arrVcVirtualMachineBootOptionsBootableDevice.length > 0) {
        let objVcVirtualMachineBootOptionsBootableDevice: VcVirtualMachineBootOptionsBootableDevice = arrVcVirtualMachineBootOptionsBootableDevice[0];
        if (objVcVirtualMachineBootOptionsBootableDevice instanceof VcVirtualMachineBootOptionsBootableDiskDevice) {
            enumResult = BootOrder.HDD;
        } else if (objVcVirtualMachineBootOptionsBootableDevice instanceof VcVirtualMachineBootOptionsBootableCdromDevice) {
            enumResult = BootOrder.ISO;
        } else if (objVcVirtualMachineBootOptionsBootableDevice instanceof VcVirtualMachineBootOptionsBootableEthernetDevice) {
            enumResult = BootOrder.NET;
        } else {
            this.objLogger.warn("Couldn't define the fist instance type of the bootOptions.. Setting HDD by default");
        }
    }

    this.objLogger.info(`Current Boot Order is ${enumResult.toString()}.`);

    return enumResult;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like