Orchestrator 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

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

letintNextVersion:number=intCurrentVersion+1;

letobjRegExp:RegExp=strType!=="Upgrade"?newRegExp(`^ESXI_${strMaxVersion}`):newRegExp(`^ESXI_`);

letarrVumBaselineFiltered:VumBaseline[]=arrVumBaseline.filter((objVumBaseline:VumBaseline):boolean=>{
returnobjRegExp.test(objVumBaseline.name)&&objVumBaseline.baselineType==strType;
});

letarrMapped:string[]=arrVumBaselineFiltered.map((objVumBaseline:VumBaseline):string=>{
returnobjVumBaseline.name;
});

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

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

returnarrMapped;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like