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.
