Function: AVI Pool Group Create

by Simon Sparks · 11 March 2026

To use this function add it to the class library file named PluginAVIService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: PluginAVIService.ts

Description: Orchestrator Function to Create an AVI Pool Group.

Private Function: AviPoolGroupCreate

public AviPoolGroupCreate(objAviWorkflowRuntime: AviWorkflowRuntime, strAviCloud: string = "Default-Cloud", strTenant: string = "admin", strAviIpAddrType: "V4" | "V6", strPoolGroupUUID: string, strPoolUUID: string, strAlgorithm: string, strLogicalRouterTier1: string, intPort: number, intRatio: number = 5, strHealthMonitorName: string, arrServiceIpAddressFirst: string[], arrServiceIpAddressSecond: string[], strPoolGroupName: string): AviWorkflowRuntime {

    let objAviVroClient: AviVroClient = objAviWorkflowRuntime.getAviVroClient();

    let strPoolNameFirst: string = strPoolGroupName + "_Pool1";
    let strPoolNameSecond: string = strPoolGroupName + "_Pool2";

    let objAviPoolFirst: AviPool = this.AviPoolBuild(strPoolNameFirst, strPoolUUID, strLogicalRouterTier1, strAlgorithm, arrServiceIpAddressFirst, intPort, intRatio, strAviIpAddrType, strHealthMonitorName, strAviCloud, strTenant);

    objAviVroClient.addObject(objAviPoolFirst, objAviWorkflowRuntime.getWorkflowId(), strTenant);

    let objAviPoolSecond: AviPool = this.AviPoolBuild(strPoolNameSecond, strPoolUUID, strLogicalRouterTier1, strAlgorithm, arrServiceIpAddressSecond, intPort, intRatio, strAviIpAddrType, strHealthMonitorName, strAviCloud, strTenant);

    objAviVroClient.addObject(objAviPoolSecond, objAviWorkflowRuntime.getWorkflowId(), strTenant);

    let objAviPoolGroupMemberFirst: AviPoolGroupMember = new AviPoolGroupMember();
    objAviPoolGroupMemberFirst.setPoolRef("/api/pool?name=" + strPoolNameFirst);

    let objAviPoolGroupMemberSecond: AviPoolGroupMember = new AviPoolGroupMember();
    objAviPoolGroupMemberSecond.setPoolRef("/api/pool?name=" + strPoolNameSecond);

    let arrAviPoolGroupMember: AviPoolGroupMember[] = [];
    arrAviPoolGroupMember.push(objAviPoolGroupMemberFirst);
    arrAviPoolGroupMember.push(objAviPoolGroupMemberSecond);

    let objAviPoolGroup: AviPoolGroup = this.AviPoolGroupBuild(strPoolGroupName, strPoolGroupUUID, arrAviPoolGroupMember, strAviCloud, strTenant);

    objAviVroClient.addObject(objAviPoolGroup, objAviWorkflowRuntime.getWorkflowId(), strTenant);

    return objAviWorkflowRuntime;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like