// Original file: deps/envoy-api/envoy/config/route/v3/route_components.proto import type { HeaderMatcher as _envoy_config_route_v3_HeaderMatcher, HeaderMatcher__Output as _envoy_config_route_v3_HeaderMatcher__Output } from '../../../../envoy/config/route/v3/HeaderMatcher'; /** * A virtual cluster is a way of specifying a regex matching rule against * certain important endpoints such that statistics are generated explicitly for * the matched requests. The reason this is useful is that when doing * prefix/path matching Envoy does not always know what the application * considers to be an endpoint. Thus, it’s impossible for Envoy to generically * emit per endpoint statistics. However, often systems have highly critical * endpoints that they wish to get “perfect” statistics on. Virtual cluster * statistics are perfect in the sense that they are emitted on the downstream * side such that they include network level failures. * * Documentation for :ref:`virtual cluster statistics `. * * .. note:: * * Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for * every application endpoint. This is both not easily maintainable and as well the matching and * statistics output are not free. */ export interface VirtualCluster { /** * Specifies the name of the virtual cluster. The virtual cluster name as well * as the virtual host name are used when emitting statistics. The statistics are emitted by the * router filter and are documented :ref:`here `. */ 'name'?: (string); /** * Specifies a list of header matchers to use for matching requests. Each specified header must * match. The pseudo-headers ``:path`` and ``:method`` can be used to match the request path and * method, respectively. */ 'headers'?: (_envoy_config_route_v3_HeaderMatcher)[]; } /** * A virtual cluster is a way of specifying a regex matching rule against * certain important endpoints such that statistics are generated explicitly for * the matched requests. The reason this is useful is that when doing * prefix/path matching Envoy does not always know what the application * considers to be an endpoint. Thus, it’s impossible for Envoy to generically * emit per endpoint statistics. However, often systems have highly critical * endpoints that they wish to get “perfect” statistics on. Virtual cluster * statistics are perfect in the sense that they are emitted on the downstream * side such that they include network level failures. * * Documentation for :ref:`virtual cluster statistics `. * * .. note:: * * Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for * every application endpoint. This is both not easily maintainable and as well the matching and * statistics output are not free. */ export interface VirtualCluster__Output { /** * Specifies the name of the virtual cluster. The virtual cluster name as well * as the virtual host name are used when emitting statistics. The statistics are emitted by the * router filter and are documented :ref:`here `. */ 'name': (string); /** * Specifies a list of header matchers to use for matching requests. Each specified header must * match. The pseudo-headers ``:path`` and ``:method`` can be used to match the request path and * method, respectively. */ 'headers': (_envoy_config_route_v3_HeaderMatcher__Output)[]; }