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 Health Monitor.
Private Function: AviHealthMonitorCreate
publicAviHealthMonitorCreate(objAviWorkflowRuntime:AviWorkflowRuntime,strTenant:string="admin",arrHttpResponseCode:string[],blnIsFederated:boolean,intSuccessfulCheck:number,intFailedCheck:number,intTimeout:number,intSendInterval:number,intMonitorPort:number,strHealthMonitorUUID:string,strHealthMonitorName:string,strHealthMonitorDescription:string,strHealthMonitorType:"HEALTH_MONITOR_EXTERNAL"|"HEALTH_MONITOR_UDP"|"HEALTH_MONITOR_DNS"|"HEALTH_MONITOR_HTTP"|"HEALTH_MONITOR_HTTPS"|"HEALTH_MONITOR_TCP",strCommandCode:string,strUdpRequest:string,strDnsQueryName:string,strTcpRequest:string,strTcpResponse:string,strMaintenanceCode:string,blnTcpHalfOpen:boolean):AviWorkflowRuntime{
letobjAviHealthMonitor:AviHealthMonitor=this.AviHealthMonitorBuild(strTenant,strHealthMonitorName,strHealthMonitorType,strHealthMonitorDescription,strHealthMonitorUUID,blnIsFederated,intMonitorPort,intTimeout,intSendInterval,intSuccessfulCheck,intFailedCheck);
if (strHealthMonitorType==="HEALTH_MONITOR_EXTERNAL"){
letobjAviHealthMonitorExternal:AviHealthMonitorExternal=newAviHealthMonitorExternal();
objAviHealthMonitorExternal.setCommandCode(strCommandCode);
objAviHealthMonitor.setExternalMonitor(objAviHealthMonitorExternal);
}elseif (strHealthMonitorType==="HEALTH_MONITOR_UDP"){
letobjAviHealthMonitorUdp:AviHealthMonitorUdp=newAviHealthMonitorUdp();
objAviHealthMonitorUdp.setUdpRequest(strUdpRequest);
objAviHealthMonitor.setUdpMonitor(objAviHealthMonitorUdp);
}elseif (strHealthMonitorType==="HEALTH_MONITOR_DNS"){
letobjAviHealthMonitorDNS:AviHealthMonitorDNS=newAviHealthMonitorDNS();
objAviHealthMonitorDNS.setQueryName(strDnsQueryName);
objAviHealthMonitor.setDnsMonitor(objAviHealthMonitorDNS);
}elseif (strHealthMonitorType==="HEALTH_MONITOR_HTTP"){
letobjAviHealthMonitorHttp:AviHealthMonitorHttp=newAviHealthMonitorHttp();
arrHttpResponseCode.forEach((strHttpResponseCode:string):void=>{
letstrCode:string=`HTTP_${strHttpResponseCode}`;
objAviHealthMonitorHttp.addHttpResponseCodeItem(strCode);
});
objAviHealthMonitor.setHttpMonitor(objAviHealthMonitorHttp);
}elseif (strHealthMonitorType==="HEALTH_MONITOR_HTTPS"){
letobjAviHealthMonitorSSLAttributes:AviHealthMonitorSSLAttributes=newAviHealthMonitorSSLAttributes();
objAviHealthMonitorSSLAttributes.setSslProfileRef("/api/sslprofile?name=System-Standard");
objAviHealthMonitorSSLAttributes.setSslKeyAndCertificateRef("/api/sslkeyandcertificate?name=System-Default-Cert");
letobjAviHealthMonitorHttp:AviHealthMonitorHttp=newAviHealthMonitorHttp();
arrHttpResponseCode.forEach((strHttpResponseCode:string):void=>{
letstrCode:string=`HTTP_${strHttpResponseCode}`;
objAviHealthMonitorHttp.addHttpResponseCodeItem(strCode);
});
objAviHealthMonitorHttp.setSslAttributes(objAviHealthMonitorSSLAttributes);
objAviHealthMonitor.setHttpsMonitor(objAviHealthMonitorHttp);
}elseif (strHealthMonitorType==="HEALTH_MONITOR_TCP"){
letobjAviHealthMonitorTcp:AviHealthMonitorTcp=newAviHealthMonitorTcp();
objAviHealthMonitorTcp.setTcpRequest(strTcpRequest);
objAviHealthMonitorTcp.setTcpResponse(strTcpResponse);
objAviHealthMonitorTcp.setTcpHalfOpen(blnTcpHalfOpen);
if (blnTcpHalfOpen===true){
objAviHealthMonitorTcp.setMaintenanceResponse(strMaintenanceCode);
}
objAviHealthMonitor.setTcpMonitor(objAviHealthMonitorTcp);
}
letobjAviVroClient:AviVroClient=objAviWorkflowRuntime.getAviVroClient();
objAviVroClient.addObject(objAviHealthMonitor,objAviWorkflowRuntime.getWorkflowId(),strTenant);
returnobjAviWorkflowRuntime;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
