Orchestrator Function: vCenter VAPI Plugin Get vCenter Virtual Machine IDs By Tag

by Simon Sparks · 13 January 2026

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.

You may also like