api/agent: enable setting SuccessBeforePassing and FailuresBeforeCritical in API (#7949)

Fixes #7764

Until now these two fields could only be set through on-disk agent configuration.
This change adds the fields to the agent API struct definition so that they can
be set using the agent HTTP API.
This commit is contained in:
Seth Hoenig 2020-06-29 07:52:35 -05:00 committed by hashicorp-ci
parent c7a6c5c4f5
commit 870097646e
2 changed files with 30 additions and 20 deletions

View File

@ -188,26 +188,28 @@ type AgentCheckRegistration struct {
// AgentServiceCheck is used to define a node or service level check // AgentServiceCheck is used to define a node or service level check
type AgentServiceCheck struct { type AgentServiceCheck struct {
CheckID string `json:",omitempty"` CheckID string `json:",omitempty"`
Name string `json:",omitempty"` Name string `json:",omitempty"`
Args []string `json:"ScriptArgs,omitempty"` Args []string `json:"ScriptArgs,omitempty"`
DockerContainerID string `json:",omitempty"` DockerContainerID string `json:",omitempty"`
Shell string `json:",omitempty"` // Only supported for Docker. Shell string `json:",omitempty"` // Only supported for Docker.
Interval string `json:",omitempty"` Interval string `json:",omitempty"`
Timeout string `json:",omitempty"` Timeout string `json:",omitempty"`
TTL string `json:",omitempty"` TTL string `json:",omitempty"`
HTTP string `json:",omitempty"` HTTP string `json:",omitempty"`
Header map[string][]string `json:",omitempty"` Header map[string][]string `json:",omitempty"`
Method string `json:",omitempty"` Method string `json:",omitempty"`
Body string `json:",omitempty"` Body string `json:",omitempty"`
TCP string `json:",omitempty"` TCP string `json:",omitempty"`
Status string `json:",omitempty"` Status string `json:",omitempty"`
Notes string `json:",omitempty"` Notes string `json:",omitempty"`
TLSSkipVerify bool `json:",omitempty"` TLSSkipVerify bool `json:",omitempty"`
GRPC string `json:",omitempty"` GRPC string `json:",omitempty"`
GRPCUseTLS bool `json:",omitempty"` GRPCUseTLS bool `json:",omitempty"`
AliasNode string `json:",omitempty"` AliasNode string `json:",omitempty"`
AliasService string `json:",omitempty"` AliasService string `json:",omitempty"`
SuccessBeforePassing int `json:",omitempty"`
FailuresBeforeCritical int `json:",omitempty"`
// In Consul 0.7 and later, checks that are associated with a service // In Consul 0.7 and later, checks that are associated with a service
// may also contain this optional DeregisterCriticalServiceAfter field, // may also contain this optional DeregisterCriticalServiceAfter field,

View File

@ -207,6 +207,14 @@ The table below shows this endpoint's support for
- `Status` `(string: "")` - Specifies the initial status of the health check. - `Status` `(string: "")` - Specifies the initial status of the health check.
- `SuccessBeforePassing` `(int: 0)` - Specifies the number of consecutive successful
results required before check status transitions to passing. Available for HTTP,
TCP, gRPC, Docker & Monitor checks.
- `FailuresBeforeCritical` `(int: 0)` - Specifies the number of consecutive unsuccessful
results required before check status transitions to critical. Available for HTTP,
TCP, gRPC, Docker & Monitor checks.
### Sample Payload ### Sample Payload
```json ```json