Function: Filter vSphere Update Manager Host Baselines

by Simon Sparks · 4 February 2026

To use this function add it to the class library file named OrchestratorService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: OrchestratorService.ts

Description: Orchestrator Function to Filter vSphere Update Manager Host Baselines

Private Function: filterBaselines

private filterBaselines(arrVumBaseline: VumBaseline[], strMaxVersion: string, strType: "Extension" | "Patch" | "Upgrade"): string[] {
    let intCurrentVersion: number = parseInt(strMaxVersion.split('.')[0]);

    let intNextVersion: number = intCurrentVersion + 1;

    let objRegExp: RegExp = strType !== "Upgrade" ? new RegExp(`^ESXI_${strMaxVersion}`) : new RegExp(`^ESXI_`);

    let arrVumBaselineFiltered: VumBaseline[] = arrVumBaseline.filter((objVumBaseline: VumBaseline): boolean => {
        return objRegExp.test(objVumBaseline.name) && objVumBaseline.baselineType == strType;
    });

    let arrMapped: string[] = arrVumBaselineFiltered.map((objVumBaseline: VumBaseline): string => {
        return objVumBaseline.name;
    });

    if (strType === "Upgrade") {
        let isThereMajorUpgrade: boolean = arrMapped.some((strName: string): boolean => strName.indexOf(`ESXI_${intNextVersion.toString()}.x`) !== -1);

        return arrMapped.filter((strName: string): boolean => isThereMajorUpgrade ? strName.indexOf(`ESXI_${intNextVersion.toString()}.x`) !== -1 : strName.indexOf(`ESXI_${intCurrentVersion.toString()}.x`) !== -1);
    }

    return arrMapped;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like