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.
