Skip to content

Replace Health Check.

PUT
/api/config/namespaces/{metadata.namespace}/healthchecks/{metadata.name}
curl --request PUT \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/namespaces/example/healthchecks/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "healthy_threshold": 1, "http_health_check": { "expected_status_codes": [], "headers": {}, "host_header": "example", "path": "example", "request_headers_to_remove": [], "use_http2": false, "use_origin_server_name": {}, "expected_response": "" }, "interval": 1, "jitter_percent": 0, "tcp_health_check": { "expected_response": "example", "send_payload": "example" }, "timeout": 1, "udp_icmp_health_check": {}, "unhealthy_threshold": 1 } }'

Healthcheck object defines method to determine if the given Endpoint is healthy. Single Healthcheck object can be referred to by one or many Cluster objects.

Examples of this operation.

metadata.namespace
required
string

Namespace This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

metadata.name
required
string

Name The configuration object to be replaced will be looked up by name.

Media typeapplication/json
ReplaceRequest is used to replace contents of a healthcheck

This is the input message of the ‘Replace’ RPC.

object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
healthy_threshold

Number of successful responses before declaring healthy. In other words, this is the number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. Required: YES.

integer format: int64
http_health_check
object
expected_status_codes
Expected Status Codes

Specifies a list of HTTP response status codes considered healthy. To treat default HTTP expected status code 200 as healthy, user has to configure it explicitly. This is a list of strings, each of which is single HTTP status code or a range with start and end values separated by ”-”.

Array<string>
default: <= 16 items
headers
Headers to add in health check request

Specifies a list of HTTP headers that should be added to each request that is sent to the health checked cluster. This is a list of key-value pairs.

object
host_header
host_header

Exclusive with [use_origin_server_name] The value of the host header.

string
<= 262 characters
path
path

Specifies the HTTP path that will be requested during health checking. Required: YES.

string
<= 2048 characters
request_headers_to_remove
Headers to be removed from health check request

Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. This is a list of keys of headers.

Array<string>
default: <= 16 items
use_http2
Use HTTP2

If set, health checks will be made using HTTP/2.

boolean format: boolean
use_origin_server_name
object
expected_response
Expected response

Raw bytes expected in the response of HTTP health check. Input is to be given in Hex encoded format. If left empty, then response body is not considered for evaluating health check status.

string
"" <= 2048 characters
interval

Time interval in seconds between two healthcheck requests. Required: YES.

integer format: int64
jitter_percent

Add a random amount of time as a percent value to the interval between successive healthcheck requests.

integer format: int64
0
tcp_health_check
object
expected_response
expected response

Raw bytes expected in the request. Describes the encoding of the payload bytes in the payload. Hex encoded payload.

string
<= 2048 characters
send_payload
send payload

Raw bytes sent in the request. Empty payloads imply a connect-only health check. Describes the encoding of the payload bytes in the payload. Hex encoded payload.

string
<= 2048 characters
timeout

Timeout in seconds to wait for successful response. In other words, it is the time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. Required: YES.

integer format: int64
udp_icmp_health_check
object
unhealthy_threshold

Number of failed responses before declaring unhealthy. In other words, this is the number of unhealthy health checks required before a host is marked unhealthy. Note that for HTTP health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. Required: YES.

integer format: int64

A successful response.

Media typeapplication/json
object
Examplegenerated
{}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example