Orchestrator Function: vCenter VAPI Plugin Create Tag

by Simon Sparks · January 13, 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 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.

You may also like