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 VsVip with IPAM.
Private Function: AviVsVipCreateWithIPAM
publicAviVsVipCreateWithIPAM(objAviWorkflowRuntime:AviWorkflowRuntime,strTenant:string="admin",strAviCloud:string="Default-Cloud",strVipID:string,strVsVipUUID:string,strName:string,strFQDN:string,strNetworkName:string,strAviIpAddrType:"V4"|"V6",strAutoAllocateIpType:"V4_ONLY",strAviDnsInfoAlgorithm:"DNS_RECORD_RESPONSE_ROUND_ROBIN"|"DNS_RECORD_RESPONSE_CONSISTENT_HASH"="DNS_RECORD_RESPONSE_CONSISTENT_HASH",strAviDnsInfoType:"DNS_RECORD_OTHER"|"DNS_RECORD_A"|"DNS_RECORD_NS"|"DNS_RECORD_CNAME"|"DNS_RECORD_SOA"|"DNS_RECORD_PTR"|"DNS_RECORD_HINFO"|"DNS_RECORD_MX"|"DNS_RECORD_TXT"|"DNS_RECORD_RP"|"DNS_RECORD_DNSKEY"|"DNS_RECORD_AAAA"|"DNS_RECORD_SRV"|"DNS_RECORD_OPT"|"DNS_RECORD_RRSIG"|"DNS_RECORD_AXFR"|"DNS_RECORD_ANY"="DNS_RECORD_A",strLogicalRouterTier1:string,intTTL:number=30,blnAutoAllocateIp:boolean,blnEnabled:boolean,blnAviAllocatedFIp:boolean,blnAutoAllocateFloatingIp:boolean,blnAviAllocatedVip:boolean,blnEastWestPlacement:boolean):AviWorkflowRuntime{
letobjAviDnsInfo:AviDnsInfo=this.AviDnsInfoBuild(strFQDN,intTTL,strAviDnsInfoType,strAviDnsInfoAlgorithm)
letarrAviDnsInfo:AviDnsInfo[]= [];
arrAviDnsInfo.push(objAviDnsInfo);
letobjAviVroClient:AviVroClient=objAviWorkflowRuntime.getAviVroClient();
letobjAviNetwork:AviNetwork=objAviVroClient.getObjectByName("network",strNetworkName,strTenant);
letstrAviNetworkRef:string=objAviNetwork.getUrl();
letarrAviSubnet:AviSubnet[]=objAviNetwork.getConfiguredSubnets();
letobjAviSubnet:AviSubnet=arrAviSubnet[0];
letobjAviIpAddrPrefix:AviIpAddrPrefix=objAviSubnet.getPrefix();
letip:AviIpAddr=objAviIpAddrPrefix.getIpAddr();
letarrAviIpAddrPrefix:AviIpAddrPrefix[]= [];
arrAviIpAddrPrefix.push(objAviIpAddrPrefix);
letobjAviDiscoveredNetwork:AviDiscoveredNetwork=newAviDiscoveredNetwork();
objAviDiscoveredNetwork.setSubnet(arrAviIpAddrPrefix);
objAviDiscoveredNetwork.setNetworkRef(strAviNetworkRef);
letarrAviDiscoveredNetwork:AviDiscoveredNetwork[]= [];
arrAviDiscoveredNetwork.push(objAviDiscoveredNetwork);
letobjAviIPNetworkSubnet:AviIPNetworkSubnet=newAviIPNetworkSubnet();
objAviIPNetworkSubnet.setSubnet(objAviIpAddrPrefix);
objAviIPNetworkSubnet.setNetworkRef(strAviNetworkRef);
letobjAviIpAddr:AviIpAddr=objAviIpAddrPrefix.getIpAddr();
letobjAviVip:AviVip=this.AviVipBuild(strAviIpAddrType,objAviIpAddr.getAddr(),strVipID,blnEnabled,strAutoAllocateIpType,arrAviDiscoveredNetwork,objAviIPNetworkSubnet,blnAviAllocatedFIp,blnAutoAllocateIp,blnAutoAllocateFloatingIp,blnAviAllocatedVip);
letarrAviVip:AviVip[]= [];
arrAviVip.push(objAviVip);
letobjAviVsVip:AviVsVip=this.AviVsVipBuild(strAviCloud,strTenant,strName,strVsVipUUID,arrAviVip,arrAviDnsInfo,strLogicalRouterTier1,blnEastWestPlacement);
objAviVroClient.addObject(objAviVsVip,objAviWorkflowRuntime.getWorkflowId(),strTenant);
returnobjAviWorkflowRuntime;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
