|  | package monitors | 
|  |  | 
|  | // Type represents the type of Monitor. | 
|  | type Type string | 
|  |  | 
|  | // Useful constants. | 
|  | const ( | 
|  | CONNECT Type = "CONNECT" | 
|  | HTTP    Type = "HTTP" | 
|  | HTTPS   Type = "HTTPS" | 
|  | ) | 
|  |  | 
|  | // ConnectMonitor represents a CONNECT monitor which performs a basic connection | 
|  | // to each node on its defined port to ensure that the service is listening | 
|  | // properly. The connect monitor is the most basic type of health check and | 
|  | // does no post-processing or protocol specific health checks. | 
|  | type ConnectMonitor struct { | 
|  | // Number of permissible monitor failures before removing a node from | 
|  | // rotation. Must be a number between 1 and 10. | 
|  | AttemptLimit int `mapstructure:"attemptsBeforeDeactivation"` | 
|  |  | 
|  | // The minimum number of seconds to wait before executing the health monitor. | 
|  | // Must be a number between 1 and 3600. | 
|  | Delay int | 
|  |  | 
|  | // Maximum number of seconds to wait for a connection to be established | 
|  | // before timing out. Must be a number between 1 and 300. | 
|  | Timeout int | 
|  |  | 
|  | // Type of the health monitor. Must be specified as "CONNECT" to monitor | 
|  | // connections. | 
|  | Type Type | 
|  | } | 
|  |  | 
|  | // HTTPMonitor represents a HTTP monitor type, which is generally considered a | 
|  | // more intelligent and powerful type than CONNECT. It is capable of processing | 
|  | // a HTTP or HTTPS response to determine the condition of a node. It supports | 
|  | // the same basic properties as CONNECT and includes additional attributes that | 
|  | // are used to evaluate the HTTP response. | 
|  | type HTTPMonitor struct { | 
|  | // Number of permissible monitor failures before removing a node from | 
|  | // rotation. Must be a number between 1 and 10. | 
|  | AttemptLimit int `mapstructure:"attemptsBeforeDeactivation"` | 
|  |  | 
|  | // The minimum number of seconds to wait before executing the health monitor. | 
|  | // Must be a number between 1 and 3600. | 
|  | Delay int | 
|  |  | 
|  | // Maximum number of seconds to wait for a connection to be established | 
|  | // before timing out. Must be a number between 1 and 300. | 
|  | Timeout int | 
|  |  | 
|  | // Type of the health monitor. Must be specified as "CONNECT" to monitor | 
|  | // connections. | 
|  | Type Type | 
|  |  | 
|  | // A regular expression that will be used to evaluate the contents of the | 
|  | // body of the response. | 
|  | BodyRegex string | 
|  |  | 
|  | // The name of a host for which the health monitors will check. | 
|  | HostHeader string | 
|  |  | 
|  | // The HTTP path that will be used in the sample request. | 
|  | Path string | 
|  |  | 
|  | // A regular expression that will be used to evaluate the HTTP status code | 
|  | // returned in the response. | 
|  | StatusRegex string | 
|  | } | 
|  |  | 
|  | // HTTPSMonitor the HTTPS equivalent of HTTPMonitor | 
|  | type HTTPSMonitor HTTPMonitor |