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 virtual data center and virtual data center network object by name
Function: VclOrgVdcNetworkGet
publicVclOrgVdcNetworkGet(objVclHost:VclHost,strVclOrgVdcNetworkName:string,strVclAdminVdcName:string):VclOrgVdcNetwork{
letobjVclExpression1: VclExpression=newVclExpression(VclQueryAdminVdcField.NAME,strVclAdminVdcName,VclExpressionType.EQUALS);
letobjVclExpression2: VclExpression=newVclExpression(VclQueryAdminVdcField.ISENABLED,"true",VclExpressionType.EQUALS);
letobjVclExpression3: VclExpression=newVclExpression(VclQueryAdminVdcField.ISSYSTEMVDC,"false",VclExpressionType.EQUALS);
letarrVclExpression: VclExpression[]= [];
arrVclExpression.push(objVclExpression1);
arrVclExpression.push(objVclExpression2);
arrVclExpression.push(objVclExpression3);
letobjVclFilter: VclFilter=newVclFilter(arrVclExpression,VclFilterType.AND);
letarrVclQueryOrgVdcField: VclQueryOrgVdcField[]= [];
arrVclQueryOrgVdcField.push(VclQueryOrgVdcField.NAME);
letobjVclQueryParams: VclQueryParams=newVclQueryParams();
objVclQueryParams.setFilter(objVclFilter);
objVclQueryParams.setFields(arrVclQueryOrgVdcField);
letobjVclQueryService: VclQueryService=objVclHost.getQueryService();
letobjVclAbstractRecordResultSet: VclAbstractRecordResultSet=objVclQueryService.queryRecords(VclQueryRecordType.ADMINORGVDC,objVclQueryParams);
letobjVclOrgVdcNetwork: VclOrgVdcNetwork=null;
if (objVclAbstractRecordResultSet==null){
throw"No matching Organisational Virtual Data Center found.";
}
elseif (objVclAbstractRecordResultSet.getTotal()==0){
throw"No matching Organisational Virtual Data Center found.";
}
else{
letarrVclQueryResultAdminVdcRecord: VclQueryResultAdminVdcRecord[]=objVclAbstractRecordResultSet.getRecords(newVclQueryResultAdminVdcRecord());
arrVclQueryResultAdminVdcRecord.forEach((objVclQueryResultAdminVdcRecord: VclQueryResultAdminVdcRecord):void=>{
letobjVclReference: VclReference=newVclReference();
objVclReference.href=objVclQueryResultAdminVdcRecord.href;
objVclReference.name=objVclQueryResultAdminVdcRecord.name;
letobjVclAdminVdc: VclAdminVdc=objVclHost.getEntityByReference("ADMIN_VDC",objVclReference);
letobjVclVdc: VclVdc=objVclAdminVdc.toUserObject();
if (objVclVdc==null){
throw"No matching department Organisational Virtual Data Center found.";
}
else{
letarrVclOrgVdcNetwork: VclOrgVdcNetwork[]=objVclVdc.getOrgVdcNetworks();
objVclOrgVdcNetwork=arrVclOrgVdcNetwork.find((objVclOrgVdcNetwork: VclOrgVdcNetwork):boolean=>{
returnobjVclOrgVdcNetwork.name===strVclOrgVdcNetworkName
});
if (objVclOrgVdcNetwork==null){
throw"Could not find an Organisational Virtual Data Center Network";
}
}
});
}
returnobjVclOrgVdcNetwork;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
