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
public VclVAppTemplateFind(objVclHost: VclHost, strDeployDataCentre: string): VclVAppTemplate[] {
let objVclExpressionTEMPLATE: VclExpression = new VclExpression(VclQueryVAppTemplateField.NAME, strDeployDataCentre + "-CurrentTemplates*", VclExpressionType.EQUALS);
let objVclExpressionCATALOG: VclExpression = new VclExpression(VclQueryVAppTemplateField.CATALOGNAME, "Global Master", VclExpressionType.EQUALS);
let objVclExpressionVDC: VclExpression = new VclExpression(VclQueryVAppTemplateField.VDCNAME, "Catalogs*", VclExpressionType.EQUALS);
let arrVclExpression: VclExpression[] = [];
arrVclExpression.push(objVclExpressionTEMPLATE);
arrVclExpression.push(objVclExpressionCATALOG);
arrVclExpression.push(objVclExpressionVDC);
let objVclFilter: VclFilter = new VclFilter(arrVclExpression, VclFilterType.AND);
let arrVclQueryVAppTemplateField: VclQueryVAppTemplateField[] = [];
arrVclQueryVAppTemplateField.push(VclQueryVAppTemplateField.NAME);
let objVclQueryParams: VclQueryParams = new VclQueryParams();
objVclQueryParams.setFilter(objVclFilter);
objVclQueryParams.setFields(arrVclQueryVAppTemplateField);
let objVclQueryService: VclQueryService = objVclHost.getQueryService();
let objVclAbstractRecordResultSet: VclAbstractRecordResultSet = objVclQueryService.queryRecords(VclQueryRecordType.VAPPTEMPLATE, objVclQueryParams);
let arrVclVAppTemplate: VclVAppTemplate[] = [];
if (objVclAbstractRecordResultSet == null) {
throw "No matching catalogue items found.";
}
else {
let arrVclQueryResultVAppTemplateRecord: VclQueryResultVAppTemplateRecord[] = objVclAbstractRecordResultSet.getRecords(new VclQueryResultVAppTemplateRecord());
arrVclVAppTemplate = arrVclQueryResultVAppTemplateRecord.map((objVclQueryResultVAppTemplateRecord: VclQueryResultVAppTemplateRecord): VclVAppTemplate => {
let objVclReference: VclReference = new VclReference();
objVclReference.href = objVclQueryResultVAppTemplateRecord.href;
objVclReference.name = objVclQueryResultVAppTemplateRecord.name;
let objVclVAppTemplate: VclVAppTemplate = objVclHost.getEntityByReference("VAPP_TEMPLATE", objVclReference);
return objVclVAppTemplate;
});
}
return arrVclVAppTemplate;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
