To use this function add it to the class library file named vCenterVAPIService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterVAPIService.ts
Function getObjectsByTag
privategetObjectsByTag(objVcSdkConnection:VcSdkConnection,strTagName:string):com_vmware_vapi_std_dynamic__ID[]{
this.objLogger.info(`Start - Getting all Virtual Machines attached to Tag '${strTagName}'.`);
letarrVAPIDynamicID: com_vmware_vapi_std_dynamic__ID[]= [];
try{
letobjVAPIEndpoint: VAPIEndpoint=VAPIManager.findEndpoint(`https://${objVcSdkConnection.id}/api`);
letobjVAPIClient: VAPIClient=objVAPIEndpoint.client(null,null);
arrVAPIDynamicID=this.getAllObjectsByTag(objVAPIClient,strTagName)
objVAPIClient.close();
}catch (objException){
throwobjException;
}finally{
this.objLogger.info(`End - Getting all Virtual Machines attached to Tag '${strTagName}'.`);
}
returnarrVAPIDynamicID;
}Function getVcVirtualMachineIDsByTag
publicgetVcVirtualMachineIDsByTag(objVcSdkConnection:VcSdkConnection,strTagName:string,strType:string="VirtualMachine"):string[]{
letarrVAPIDynamicID: com_vmware_vapi_std_dynamic__ID[]=this.getObjectsByTag(objVcSdkConnection,strTagName);
arrVAPIDynamicID=arrVAPIDynamicID.filter((objVAPIDynamicID: com_vmware_vapi_std_dynamic__ID):boolean=>{
returnobjVAPIDynamicID.type==strType;
});
letarrVcVirtualMachineID:string[]=arrVAPIDynamicID.map((objVAPIDynamicID: com_vmware_vapi_std_dynamic__ID):string=>{
returnobjVAPIDynamicID.id;
});
returnarrVcVirtualMachineID;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
