The following script enables you to find a vCloud vApp Template object by name
var objVclExpressionTEMPLATE = new VclExpression(VclQueryVAppTemplateField.NAME, strDeployDataCentre + "-CurrentTemplates*", VclExpressionType.EQUALS);
var objVclExpressionCATALOG = new VclExpression(VclQueryVAppTemplateField.CATALOGNAME, "Global Master", VclExpressionType.EQUALS);
var objVclExpressionVDC = new VclExpression(VclQueryVAppTemplateField.VDCNAME, "Catalogs*", VclExpressionType.EQUALS);
var arrVclExpression = new Array();
arrVclExpression.push(objVclExpressionTEMPLATE);
arrVclExpression.push(objVclExpressionCATALOG);
arrVclExpression.push(objVclExpressionVDC);
var objVclFilter = new VclFilter(arrVclExpression, VclFilterType.AND);
var arrFields = new Array();
arrFields.push(VclQueryVAppTemplateField.NAME);
var objVclQueryParams = new VclQueryParams();
objVclQueryParams.setFilter(objVclFilter);
objVclQueryParams.setFields(arrFields);
var objVclQueryService = objVclHost.getQueryService();
var objVclAbstractRecordResultSet = objVclQueryService.queryRecords(VclQueryRecordType.VAPPTEMPLATE, objVclQueryParams);
if (objVclAbstractRecordResultSet == null)
{
throw "No matching catalogue items found.";
}
else
{
var arrVclQueryResultVAppTemplateRecord = objVclAbstractRecordResultSet.getRecords(new VclQueryResultVAppTemplateRecord());
for each (var objVclQueryResultVAppTemplateRecord in arrVclQueryResultVAppTemplateRecord)
{
var objVclReference = new VclReference();
objVclReference.href = objVclQueryResultVAppTemplateRecord.href;
objVclReference.name = objVclQueryResultVAppTemplateRecord.name;
if ( objVclQueryResultVAppTemplateRecord.name == "CurrentTemplates" )
{
var objVclVAppTemplate = objVclHost.getEntityByReference(VclFinderType.VAPP_TEMPLATE, objVclReference);
}
}
if ( objVclVAppTemplate == null )
{
throw "The vApp Templates were NOT found.";
}
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
