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 createTag
public createTag(strTagName: string, strTagCategoryName: string): string {
let strResult: string = "";
this.objLogger.info(`Start - Creating Tag '${strTagName}'`);
let objVCenterServer:vCenterServer = this.arrVCenterServers[0];
let strVCenterServerName: string = objVCenterServer.Name;
let objVAPIClient: VAPIClient;
try {
let objVAPIEndpoint: VAPIEndpoint = VAPIManager.findEndpoint(`https://${strVCenterServerName}/api`);
objVAPIClient = objVAPIEndpoint.client(null, null);
let strTagCategoryID: string = this.findTagCategoryIDByName(objVAPIClient, strTagCategoryName);
this.objLogger.info(`===== vCenter Server = '${strVCenterServerName}' for Tag Category Name = '${strTagCategoryName}' - Checking`);
if (strTagCategoryID) {
this.objLogger.info(`===== vCenter Server = '${strVCenterServerName}' for Tag Category Name = '${strTagCategoryName}' - Found`);
strResult = this.createTagInVCenterServer(objVAPIClient, strTagCategoryID, strTagName);
while (this.isTagExistsInAllVCenterServers(strTagName, strTagCategoryName) === false) {
this.objLogger.info("Sleeping 5 seconds and retrying...");
System.sleep(5 * 1000);
}
}
else {
this.objLogger.warn(`===== vCenter Server = '${strVCenterServerName}' for Tag Category Name = '${strTagCategoryName}' - Not Found`);
}
} catch (objException) {
throw objException;
} finally {
objVAPIClient.close();
}
this.objLogger.info(`End - Creating Tag '${strTagName}' with result : ${strResult}`);
return strResult;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
