Orchestrator Function: AVI Health Monitor 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 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.

You may also like