etquia
Version:
Dummy package for the grpc-node repository
702 lines (684 loc) • 32.9 kB
text/typescript
// Original file: deps/envoy-api/envoy/config/core/v3/health_check.proto
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
import type { EventServiceConfig as _envoy_config_core_v3_EventServiceConfig, EventServiceConfig__Output as _envoy_config_core_v3_EventServiceConfig__Output } from '../../../../envoy/config/core/v3/EventServiceConfig';
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
import type { HeaderValueOption as _envoy_config_core_v3_HeaderValueOption, HeaderValueOption__Output as _envoy_config_core_v3_HeaderValueOption__Output } from '../../../../envoy/config/core/v3/HeaderValueOption';
import type { Int64Range as _envoy_type_v3_Int64Range, Int64Range__Output as _envoy_type_v3_Int64Range__Output } from '../../../../envoy/type/v3/Int64Range';
import type { CodecClientType as _envoy_type_v3_CodecClientType } from '../../../../envoy/type/v3/CodecClientType';
import type { StringMatcher as _envoy_type_matcher_v3_StringMatcher, StringMatcher__Output as _envoy_type_matcher_v3_StringMatcher__Output } from '../../../../envoy/type/matcher/v3/StringMatcher';
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
import type { Long } from '@grpc/proto-loader';
/**
* Custom health check.
*/
export interface _envoy_config_core_v3_HealthCheck_CustomHealthCheck {
/**
* The registered name of the custom health checker.
*/
'name'?: (string);
'typed_config'?: (_google_protobuf_Any | null);
/**
* A custom health checker specific configuration which depends on the custom health checker
* being instantiated. See :api:`envoy/config/health_checker` for reference.
* [#extension-category: envoy.health_checkers]
*/
'config_type'?: "typed_config";
}
/**
* Custom health check.
*/
export interface _envoy_config_core_v3_HealthCheck_CustomHealthCheck__Output {
/**
* The registered name of the custom health checker.
*/
'name': (string);
'typed_config'?: (_google_protobuf_Any__Output | null);
/**
* A custom health checker specific configuration which depends on the custom health checker
* being instantiated. See :api:`envoy/config/health_checker` for reference.
* [#extension-category: envoy.health_checkers]
*/
'config_type': "typed_config";
}
/**
* `grpc.health.v1.Health
* <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_-based
* healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_
* for details.
*/
export interface _envoy_config_core_v3_HealthCheck_GrpcHealthCheck {
/**
* An optional service name parameter which will be sent to gRPC service in
* `grpc.health.v1.HealthCheckRequest
* <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20>`_.
* message. See `gRPC health-checking overview
* <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for more information.
*/
'service_name'?: (string);
/**
* The value of the :authority header in the gRPC health check request. If
* left empty (default value), the name of the cluster this health check is associated
* with will be used. The authority header can be customized for a specific endpoint by setting
* the :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
*/
'authority'?: (string);
}
/**
* `grpc.health.v1.Health
* <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_-based
* healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_
* for details.
*/
export interface _envoy_config_core_v3_HealthCheck_GrpcHealthCheck__Output {
/**
* An optional service name parameter which will be sent to gRPC service in
* `grpc.health.v1.HealthCheckRequest
* <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20>`_.
* message. See `gRPC health-checking overview
* <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for more information.
*/
'service_name': (string);
/**
* The value of the :authority header in the gRPC health check request. If
* left empty (default value), the name of the cluster this health check is associated
* with will be used. The authority header can be customized for a specific endpoint by setting
* the :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
*/
'authority': (string);
}
/**
* [#next-free-field: 13]
*/
export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck {
/**
* The value of the host header in the HTTP health check request. If
* left empty (default value), the name of the cluster this health check is associated
* with will be used. The host header can be customized for a specific endpoint by setting the
* :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
*/
'host'?: (string);
/**
* Specifies the HTTP path that will be requested during health checking. For example
* * /healthcheck*.
*/
'path'?: (string);
/**
* [#not-implemented-hide:] HTTP specific payload.
*/
'send'?: (_envoy_config_core_v3_HealthCheck_Payload | null);
/**
* [#not-implemented-hide:] HTTP specific response.
*/
'receive'?: (_envoy_config_core_v3_HealthCheck_Payload | null);
/**
* Specifies a list of HTTP headers that should be added to each request that is sent to the
* health checked cluster. For more information, including details on header value syntax, see
* the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*/
'request_headers_to_add'?: (_envoy_config_core_v3_HeaderValueOption)[];
/**
* Specifies a list of HTTP headers that should be removed from each request that is sent to the
* health checked cluster.
*/
'request_headers_to_remove'?: (string)[];
/**
* Specifies a list of HTTP response statuses considered healthy. If provided, replaces default
* 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open
* semantics of :ref:`Int64Range <envoy_v3_api_msg_type.v3.Int64Range>`. The start and end of each
* range are required. Only statuses in the range [100, 600) are allowed.
*/
'expected_statuses'?: (_envoy_type_v3_Int64Range)[];
/**
* Specifies a list of HTTP response statuses considered retriable. If provided, responses in this range
* will count towards the configured :ref:`unhealthy_threshold <envoy_v3_api_field_config.core.v3.HealthCheck.unhealthy_threshold>`,
* but will not result in the host being considered immediately unhealthy. Ranges follow half-open semantics of
* :ref:`Int64Range <envoy_v3_api_msg_type.v3.Int64Range>`. The start and end of each range are required.
* Only statuses in the range [100, 600) are allowed. The :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`
* field takes precedence for any range overlaps with this field i.e. if status code 200 is both retriable and expected, a 200 response will
* be considered a successful health check. By default all responses not in
* :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>` will result in
* the host being considered immediately unhealthy i.e. if status code 200 is expected and there are no configured retriable statuses, any
* non-200 response will result in the host being marked unhealthy.
*/
'retriable_statuses'?: (_envoy_type_v3_Int64Range)[];
/**
* Use specified application protocol for health checks.
*/
'codec_client_type'?: (_envoy_type_v3_CodecClientType | keyof typeof _envoy_type_v3_CodecClientType);
/**
* An optional service name parameter which is used to validate the identity of
* the health checked cluster using a :ref:`StringMatcher
* <envoy_v3_api_msg_type.matcher.v3.StringMatcher>`. See the :ref:`architecture overview
* <arch_overview_health_checking_identity>` for more information.
*/
'service_name_matcher'?: (_envoy_type_matcher_v3_StringMatcher | null);
}
/**
* [#next-free-field: 13]
*/
export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output {
/**
* The value of the host header in the HTTP health check request. If
* left empty (default value), the name of the cluster this health check is associated
* with will be used. The host header can be customized for a specific endpoint by setting the
* :ref:`hostname <envoy_v3_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
*/
'host': (string);
/**
* Specifies the HTTP path that will be requested during health checking. For example
* * /healthcheck*.
*/
'path': (string);
/**
* [#not-implemented-hide:] HTTP specific payload.
*/
'send': (_envoy_config_core_v3_HealthCheck_Payload__Output | null);
/**
* [#not-implemented-hide:] HTTP specific response.
*/
'receive': (_envoy_config_core_v3_HealthCheck_Payload__Output | null);
/**
* Specifies a list of HTTP headers that should be added to each request that is sent to the
* health checked cluster. For more information, including details on header value syntax, see
* the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*/
'request_headers_to_add': (_envoy_config_core_v3_HeaderValueOption__Output)[];
/**
* Specifies a list of HTTP headers that should be removed from each request that is sent to the
* health checked cluster.
*/
'request_headers_to_remove': (string)[];
/**
* Specifies a list of HTTP response statuses considered healthy. If provided, replaces default
* 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open
* semantics of :ref:`Int64Range <envoy_v3_api_msg_type.v3.Int64Range>`. The start and end of each
* range are required. Only statuses in the range [100, 600) are allowed.
*/
'expected_statuses': (_envoy_type_v3_Int64Range__Output)[];
/**
* Specifies a list of HTTP response statuses considered retriable. If provided, responses in this range
* will count towards the configured :ref:`unhealthy_threshold <envoy_v3_api_field_config.core.v3.HealthCheck.unhealthy_threshold>`,
* but will not result in the host being considered immediately unhealthy. Ranges follow half-open semantics of
* :ref:`Int64Range <envoy_v3_api_msg_type.v3.Int64Range>`. The start and end of each range are required.
* Only statuses in the range [100, 600) are allowed. The :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`
* field takes precedence for any range overlaps with this field i.e. if status code 200 is both retriable and expected, a 200 response will
* be considered a successful health check. By default all responses not in
* :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>` will result in
* the host being considered immediately unhealthy i.e. if status code 200 is expected and there are no configured retriable statuses, any
* non-200 response will result in the host being marked unhealthy.
*/
'retriable_statuses': (_envoy_type_v3_Int64Range__Output)[];
/**
* Use specified application protocol for health checks.
*/
'codec_client_type': (keyof typeof _envoy_type_v3_CodecClientType);
/**
* An optional service name parameter which is used to validate the identity of
* the health checked cluster using a :ref:`StringMatcher
* <envoy_v3_api_msg_type.matcher.v3.StringMatcher>`. See the :ref:`architecture overview
* <arch_overview_health_checking_identity>` for more information.
*/
'service_name_matcher': (_envoy_type_matcher_v3_StringMatcher__Output | null);
}
/**
* Describes the encoding of the payload bytes in the payload.
*/
export interface _envoy_config_core_v3_HealthCheck_Payload {
/**
* Hex encoded payload. E.g., "000000FF".
*/
'text'?: (string);
/**
* [#not-implemented-hide:] Binary payload.
*/
'binary'?: (Buffer | Uint8Array | string);
'payload'?: "text"|"binary";
}
/**
* Describes the encoding of the payload bytes in the payload.
*/
export interface _envoy_config_core_v3_HealthCheck_Payload__Output {
/**
* Hex encoded payload. E.g., "000000FF".
*/
'text'?: (string);
/**
* [#not-implemented-hide:] Binary payload.
*/
'binary'?: (Buffer);
'payload': "text"|"binary";
}
export interface _envoy_config_core_v3_HealthCheck_RedisHealthCheck {
/**
* If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
* from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
* than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
* by setting the specified key to any value and waiting for traffic to drain.
*/
'key'?: (string);
}
export interface _envoy_config_core_v3_HealthCheck_RedisHealthCheck__Output {
/**
* If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
* from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
* than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
* by setting the specified key to any value and waiting for traffic to drain.
*/
'key': (string);
}
export interface _envoy_config_core_v3_HealthCheck_TcpHealthCheck {
/**
* Empty payloads imply a connect-only health check.
*/
'send'?: (_envoy_config_core_v3_HealthCheck_Payload | null);
/**
* When checking the response, “fuzzy” matching is performed such that each
* binary block must be found, and in the order specified, but not
* necessarily contiguous.
*/
'receive'?: (_envoy_config_core_v3_HealthCheck_Payload)[];
}
export interface _envoy_config_core_v3_HealthCheck_TcpHealthCheck__Output {
/**
* Empty payloads imply a connect-only health check.
*/
'send': (_envoy_config_core_v3_HealthCheck_Payload__Output | null);
/**
* When checking the response, “fuzzy” matching is performed such that each
* binary block must be found, and in the order specified, but not
* necessarily contiguous.
*/
'receive': (_envoy_config_core_v3_HealthCheck_Payload__Output)[];
}
/**
* Health checks occur over the transport socket specified for the cluster. This implies that if a
* cluster is using a TLS-enabled transport socket, the health check will also occur over TLS.
*
* This allows overriding the cluster TLS settings, just for health check connections.
*/
export interface _envoy_config_core_v3_HealthCheck_TlsOptions {
/**
* Specifies the ALPN protocols for health check connections. This is useful if the
* corresponding upstream is using ALPN-based :ref:`FilterChainMatch
* <envoy_v3_api_msg_config.listener.v3.FilterChainMatch>` along with different protocols for health checks
* versus data connections. If empty, no ALPN protocols will be set on health check connections.
*/
'alpn_protocols'?: (string)[];
}
/**
* Health checks occur over the transport socket specified for the cluster. This implies that if a
* cluster is using a TLS-enabled transport socket, the health check will also occur over TLS.
*
* This allows overriding the cluster TLS settings, just for health check connections.
*/
export interface _envoy_config_core_v3_HealthCheck_TlsOptions__Output {
/**
* Specifies the ALPN protocols for health check connections. This is useful if the
* corresponding upstream is using ALPN-based :ref:`FilterChainMatch
* <envoy_v3_api_msg_config.listener.v3.FilterChainMatch>` along with different protocols for health checks
* versus data connections. If empty, no ALPN protocols will be set on health check connections.
*/
'alpn_protocols': (string)[];
}
/**
* [#next-free-field: 25]
*/
export interface HealthCheck {
/**
* The time to wait for a health check response. If the timeout is reached the
* health check attempt will be considered a failure.
*/
'timeout'?: (_google_protobuf_Duration | null);
/**
* The interval between health checks.
*/
'interval'?: (_google_protobuf_Duration | null);
/**
* An optional jitter amount in milliseconds. If specified, during every
* interval Envoy will add interval_jitter to the wait time.
*/
'interval_jitter'?: (_google_protobuf_Duration | null);
/**
* The number of unhealthy health checks required before a host is marked
* unhealthy. Note that for *http* health checking if a host responds with a code not in
* :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`
* or :ref:`retriable_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.retriable_statuses>`,
* this threshold is ignored and the host is considered immediately unhealthy.
*/
'unhealthy_threshold'?: (_google_protobuf_UInt32Value | null);
/**
* 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.
*/
'healthy_threshold'?: (_google_protobuf_UInt32Value | null);
/**
* [#not-implemented-hide:] Non-serving port for health checking.
*/
'alt_port'?: (_google_protobuf_UInt32Value | null);
/**
* Reuse health check connection between health checks. Default is true.
*/
'reuse_connection'?: (_google_protobuf_BoolValue | null);
/**
* HTTP health check.
*/
'http_health_check'?: (_envoy_config_core_v3_HealthCheck_HttpHealthCheck | null);
/**
* TCP health check.
*/
'tcp_health_check'?: (_envoy_config_core_v3_HealthCheck_TcpHealthCheck | null);
/**
* gRPC health check.
*/
'grpc_health_check'?: (_envoy_config_core_v3_HealthCheck_GrpcHealthCheck | null);
/**
* The "no traffic interval" is a special health check interval that is used when a cluster has
* never had traffic routed to it. This lower interval allows cluster information to be kept up to
* date, without sending a potentially large amount of active health checking traffic for no
* reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
* standard health check interval that is defined. Note that this interval takes precedence over
* any other.
*
* The default value for "no traffic interval" is 60 seconds.
*/
'no_traffic_interval'?: (_google_protobuf_Duration | null);
/**
* Custom health check.
*/
'custom_health_check'?: (_envoy_config_core_v3_HealthCheck_CustomHealthCheck | null);
/**
* The "unhealthy interval" is a health check interval that is used for hosts that are marked as
* unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
* standard health check interval that is defined.
*
* The default value for "unhealthy interval" is the same as "interval".
*/
'unhealthy_interval'?: (_google_protobuf_Duration | null);
/**
* The "unhealthy edge interval" is a special health check interval that is used for the first
* health check right after a host is marked as unhealthy. For subsequent health checks
* Envoy will shift back to using either "unhealthy interval" if present or the standard health
* check interval that is defined.
*
* The default value for "unhealthy edge interval" is the same as "unhealthy interval".
*/
'unhealthy_edge_interval'?: (_google_protobuf_Duration | null);
/**
* The "healthy edge interval" is a special health check interval that is used for the first
* health check right after a host is marked as healthy. For subsequent health checks
* Envoy will shift back to using the standard health check interval that is defined.
*
* The default value for "healthy edge interval" is the same as the default interval.
*/
'healthy_edge_interval'?: (_google_protobuf_Duration | null);
/**
* Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
* If empty, no event log will be written.
*/
'event_log_path'?: (string);
/**
* An optional jitter amount as a percentage of interval_ms. If specified,
* during every interval Envoy will add interval_ms *
* interval_jitter_percent / 100 to the wait time.
*
* If interval_jitter_ms and interval_jitter_percent are both set, both of
* them will be used to increase the wait time.
*/
'interval_jitter_percent'?: (number);
/**
* If set to true, health check failure events will always be logged. If set to false, only the
* initial health check failure event will be logged.
* The default value is false.
*/
'always_log_health_check_failures'?: (boolean);
/**
* An optional jitter amount in milliseconds. If specified, Envoy will start health
* checking after for a random time in ms between 0 and initial_jitter. This only
* applies to the first health check.
*/
'initial_jitter'?: (_google_protobuf_Duration | null);
/**
* This allows overriding the cluster TLS settings, just for health check connections.
*/
'tls_options'?: (_envoy_config_core_v3_HealthCheck_TlsOptions | null);
/**
* [#not-implemented-hide:]
* The gRPC service for the health check event service.
* If empty, health check events won't be sent to a remote endpoint.
*/
'event_service'?: (_envoy_config_core_v3_EventServiceConfig | null);
/**
* Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's
* :ref:`tranport socket matches <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket_matches>`.
* For example, the following match criteria
*
* .. code-block:: yaml
*
* transport_socket_match_criteria:
* useMTLS: true
*
* Will match the following :ref:`cluster socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>`
*
* .. code-block:: yaml
*
* transport_socket_matches:
* - name: "useMTLS"
* match:
* useMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
*
* If this field is set, then for health checks it will supersede an entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`.
* This allows using different transport socket capabilities for health checking versus proxying to the
* endpoint.
*
* If the key/values pairs specified do not match any
* :ref:`transport socket matches <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket_matches>`,
* the cluster's :ref:`transport socket <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket>`
* will be used for health check socket configuration.
*/
'transport_socket_match_criteria'?: (_google_protobuf_Struct | null);
/**
* The "no traffic healthy interval" is a special health check interval that
* is used for hosts that are currently passing active health checking
* (including new hosts) when the cluster has received no traffic.
*
* This is useful for when we want to send frequent health checks with
* `no_traffic_interval` but then revert to lower frequency `no_traffic_healthy_interval` once
* a host in the cluster is marked as healthy.
*
* Once a cluster has been used for traffic routing, Envoy will shift back to using the
* standard health check interval that is defined.
*
* If no_traffic_healthy_interval is not set, it will default to the
* no traffic interval and send that interval regardless of health state.
*/
'no_traffic_healthy_interval'?: (_google_protobuf_Duration | null);
'health_checker'?: "http_health_check"|"tcp_health_check"|"grpc_health_check"|"custom_health_check";
}
/**
* [#next-free-field: 25]
*/
export interface HealthCheck__Output {
/**
* The time to wait for a health check response. If the timeout is reached the
* health check attempt will be considered a failure.
*/
'timeout': (_google_protobuf_Duration__Output | null);
/**
* The interval between health checks.
*/
'interval': (_google_protobuf_Duration__Output | null);
/**
* An optional jitter amount in milliseconds. If specified, during every
* interval Envoy will add interval_jitter to the wait time.
*/
'interval_jitter': (_google_protobuf_Duration__Output | null);
/**
* The number of unhealthy health checks required before a host is marked
* unhealthy. Note that for *http* health checking if a host responds with a code not in
* :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`
* or :ref:`retriable_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.retriable_statuses>`,
* this threshold is ignored and the host is considered immediately unhealthy.
*/
'unhealthy_threshold': (_google_protobuf_UInt32Value__Output | null);
/**
* 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.
*/
'healthy_threshold': (_google_protobuf_UInt32Value__Output | null);
/**
* [#not-implemented-hide:] Non-serving port for health checking.
*/
'alt_port': (_google_protobuf_UInt32Value__Output | null);
/**
* Reuse health check connection between health checks. Default is true.
*/
'reuse_connection': (_google_protobuf_BoolValue__Output | null);
/**
* HTTP health check.
*/
'http_health_check'?: (_envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output | null);
/**
* TCP health check.
*/
'tcp_health_check'?: (_envoy_config_core_v3_HealthCheck_TcpHealthCheck__Output | null);
/**
* gRPC health check.
*/
'grpc_health_check'?: (_envoy_config_core_v3_HealthCheck_GrpcHealthCheck__Output | null);
/**
* The "no traffic interval" is a special health check interval that is used when a cluster has
* never had traffic routed to it. This lower interval allows cluster information to be kept up to
* date, without sending a potentially large amount of active health checking traffic for no
* reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
* standard health check interval that is defined. Note that this interval takes precedence over
* any other.
*
* The default value for "no traffic interval" is 60 seconds.
*/
'no_traffic_interval': (_google_protobuf_Duration__Output | null);
/**
* Custom health check.
*/
'custom_health_check'?: (_envoy_config_core_v3_HealthCheck_CustomHealthCheck__Output | null);
/**
* The "unhealthy interval" is a health check interval that is used for hosts that are marked as
* unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
* standard health check interval that is defined.
*
* The default value for "unhealthy interval" is the same as "interval".
*/
'unhealthy_interval': (_google_protobuf_Duration__Output | null);
/**
* The "unhealthy edge interval" is a special health check interval that is used for the first
* health check right after a host is marked as unhealthy. For subsequent health checks
* Envoy will shift back to using either "unhealthy interval" if present or the standard health
* check interval that is defined.
*
* The default value for "unhealthy edge interval" is the same as "unhealthy interval".
*/
'unhealthy_edge_interval': (_google_protobuf_Duration__Output | null);
/**
* The "healthy edge interval" is a special health check interval that is used for the first
* health check right after a host is marked as healthy. For subsequent health checks
* Envoy will shift back to using the standard health check interval that is defined.
*
* The default value for "healthy edge interval" is the same as the default interval.
*/
'healthy_edge_interval': (_google_protobuf_Duration__Output | null);
/**
* Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
* If empty, no event log will be written.
*/
'event_log_path': (string);
/**
* An optional jitter amount as a percentage of interval_ms. If specified,
* during every interval Envoy will add interval_ms *
* interval_jitter_percent / 100 to the wait time.
*
* If interval_jitter_ms and interval_jitter_percent are both set, both of
* them will be used to increase the wait time.
*/
'interval_jitter_percent': (number);
/**
* If set to true, health check failure events will always be logged. If set to false, only the
* initial health check failure event will be logged.
* The default value is false.
*/
'always_log_health_check_failures': (boolean);
/**
* An optional jitter amount in milliseconds. If specified, Envoy will start health
* checking after for a random time in ms between 0 and initial_jitter. This only
* applies to the first health check.
*/
'initial_jitter': (_google_protobuf_Duration__Output | null);
/**
* This allows overriding the cluster TLS settings, just for health check connections.
*/
'tls_options': (_envoy_config_core_v3_HealthCheck_TlsOptions__Output | null);
/**
* [#not-implemented-hide:]
* The gRPC service for the health check event service.
* If empty, health check events won't be sent to a remote endpoint.
*/
'event_service': (_envoy_config_core_v3_EventServiceConfig__Output | null);
/**
* Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's
* :ref:`tranport socket matches <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket_matches>`.
* For example, the following match criteria
*
* .. code-block:: yaml
*
* transport_socket_match_criteria:
* useMTLS: true
*
* Will match the following :ref:`cluster socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>`
*
* .. code-block:: yaml
*
* transport_socket_matches:
* - name: "useMTLS"
* match:
* useMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
*
* If this field is set, then for health checks it will supersede an entry of *envoy.transport_socket* in the
* :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`.
* This allows using different transport socket capabilities for health checking versus proxying to the
* endpoint.
*
* If the key/values pairs specified do not match any
* :ref:`transport socket matches <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket_matches>`,
* the cluster's :ref:`transport socket <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket>`
* will be used for health check socket configuration.
*/
'transport_socket_match_criteria': (_google_protobuf_Struct__Output | null);
/**
* The "no traffic healthy interval" is a special health check interval that
* is used for hosts that are currently passing active health checking
* (including new hosts) when the cluster has received no traffic.
*
* This is useful for when we want to send frequent health checks with
* `no_traffic_interval` but then revert to lower frequency `no_traffic_healthy_interval` once
* a host in the cluster is marked as healthy.
*
* Once a cluster has been used for traffic routing, Envoy will shift back to using the
* standard health check interval that is defined.
*
* If no_traffic_healthy_interval is not set, it will default to the
* no traffic interval and send that interval regardless of health state.
*/
'no_traffic_healthy_interval': (_google_protobuf_Duration__Output | null);
'health_checker': "http_health_check"|"tcp_health_check"|"grpc_health_check"|"custom_health_check";
}