To use this function add it to the class library file named vCloudService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCloudService.ts
Description: Orchestrator Function to find a vCloud vApp Template object
Function VclVAppTemplateFind
publicVclVAppTemplateFind(objVclHost:VclHost,strDeployDataCentre:string):VclVAppTemplate[]{
letobjVclExpressionTEMPLATE: VclExpression=newVclExpression(VclQueryVAppTemplateField.NAME,strDeployDataCentre+"-CurrentTemplates*",VclExpressionType.EQUALS);
letobjVclExpressionCATALOG: VclExpression=newVclExpression(VclQueryVAppTemplateField.CATALOGNAME,"Global Master",VclExpressionType.EQUALS);
letobjVclExpressionVDC: VclExpression=newVclExpression(VclQueryVAppTemplateField.VDCNAME,"Catalogs*",VclExpressionType.EQUALS);
letarrVclExpression: VclExpression[]= [];
arrVclExpression.push(objVclExpressionTEMPLATE);
arrVclExpression.push(objVclExpressionCATALOG);
arrVclExpression.push(objVclExpressionVDC);
letobjVclFilter: VclFilter=newVclFilter(arrVclExpression,VclFilterType.AND);
letarrVclQueryVAppTemplateField: VclQueryVAppTemplateField[]= [];
arrVclQueryVAppTemplateField.push(VclQueryVAppTemplateField.NAME);
letobjVclQueryParams: VclQueryParams=newVclQueryParams();
objVclQueryParams.setFilter(objVclFilter);
objVclQueryParams.setFields(arrVclQueryVAppTemplateField);
letobjVclQueryService: VclQueryService=objVclHost.getQueryService();
letobjVclAbstractRecordResultSet: VclAbstractRecordResultSet=objVclQueryService.queryRecords(VclQueryRecordType.VAPPTEMPLATE,objVclQueryParams);
letarrVclVAppTemplate: VclVAppTemplate[]= [];
if (objVclAbstractRecordResultSet==null){
throw"No matching catalogue items found.";
}
else{
letarrVclQueryResultVAppTemplateRecord: VclQueryResultVAppTemplateRecord[]=objVclAbstractRecordResultSet.getRecords(newVclQueryResultVAppTemplateRecord());
arrVclVAppTemplate=arrVclQueryResultVAppTemplateRecord.map((objVclQueryResultVAppTemplateRecord: VclQueryResultVAppTemplateRecord): VclVAppTemplate=>{
letobjVclReference: VclReference=newVclReference();
objVclReference.href=objVclQueryResultVAppTemplateRecord.href;
objVclReference.name=objVclQueryResultVAppTemplateRecord.name;
letobjVclVAppTemplate: VclVAppTemplate=objVclHost.getEntityByReference("VAPP_TEMPLATE",objVclReference);
returnobjVclVAppTemplate;
});
}
returnarrVclVAppTemplate;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
