package envoy.api.v2.core

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Address

address.proto:117

Addresses specify either a logical or physical address and port, which are used to tell Envoy where to bind/listen, connect to upstream and find management servers.

Used in: admin.v2alpha.HostStatus, admin.v2alpha.ListenerStatus, Cluster, Listener, UpstreamBindConfig, Node, endpoint.Endpoint, endpoint.UpstreamEndpointStats, config.bootstrap.v2.Admin, config.metrics.v2.DogStatsdSink, config.metrics.v2.StatsdSink, data.accesslog.v2.AccessLogCommon, data.core.v2alpha.HealthCheckEvent, data.tap.v2alpha.Connection, service.auth.v2.AttributeContext.Peer

message AggregatedConfigSource

config_source.proto:102

Aggregated Discovery Service (ADS) options. This is currently empty, but when set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to specify that ADS is to be used.

Used in: ConfigSource

(message has no fields)

message ApiConfigSource

config_source.proto:42

API configuration source. This identifies the API type and cluster that Envoy will use to fetch an xDS API. [#next-free-field: 9]

Used in: ConfigSource, config.bootstrap.v2.Bootstrap, config.bootstrap.v2.Bootstrap.DynamicResources, config.bootstrap.v2.ClusterManager

enum ApiConfigSource.ApiType

config_source.proto:44

APIs may be fetched via either REST or gRPC.

Used in: ApiConfigSource

enum ApiVersion

config_source.proto:26

xDS API version. This is used to describe both resource and transport protocol versions (in distinct configuration fields).

Used in: ApiConfigSource, ConfigSource, SelfConfigSource

message AsyncDataSource

base.proto:328

Async data source which support async data fetch.

message BackoffStrategy

backoff.proto:21

Configuration defining a jittered exponential back off strategy.

Used in: RetryPolicy

message BindConfig

address.proto:96

Used in: Cluster, config.bootstrap.v2.ClusterManager

message BuildVersion

base.proto:91

BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings.

Used in: Extension, Node

message CidrRange

address.proto:129

CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.

Used in: listener.FilterChainMatch, config.filter.http.ip_tagging.v2.IPTagging.IPTag, config.filter.network.client_ssl_auth.v2.ClientSSLAuth, config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.TCPRoute, config.rbac.v2.Permission, config.rbac.v2.Principal

message ConfigSource

config_source.proto:133

Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters <config_cluster_manager>`, :ref:`routes <envoy_api_msg_RouteConfiguration>`, :ref:`endpoints <arch_overview_service_discovery>` etc. may either be sourced from the filesystem or from an xDS API source. Filesystem configs are watched with inotify for updates. [#next-free-field: 7]

Used in: Cluster, Cluster.EdsClusterConfig, Vhds, auth.SdsSecretConfig, config.bootstrap.v2.Bootstrap.DynamicResources, config.bootstrap.v2.RuntimeLayer.RtdsLayer, config.filter.network.http_connection_manager.v2.Rds, config.filter.network.http_connection_manager.v2.ScopedRds, config.filter.network.http_connection_manager.v2.ScopedRoutes

message ControlPlane

base.proto:377

Identifies a specific ControlPlane instance that Envoy is connected to.

Used in: DiscoveryResponse

message DataSource

base.proto:288

Data source consisting of either a file or an inline value.

Used in: auth.CertificateValidationContext, auth.GenericSecret, auth.TlsCertificate, auth.TlsSessionTicketKeys, AsyncDataSource, GrpcService.GoogleGrpc.SslCredentials, route.DirectResponseAction, config.filter.http.jwt_authn.v2alpha.JwtProvider, config.filter.network.direct_response.v2.Config, config.filter.network.redis_proxy.v2.RedisProtocolOptions, config.filter.network.redis_proxy.v2.RedisProxy, config.grpc_credential.v2alpha.FileBasedMetadataConfig, config.trace.v2alpha.XRayConfig

message EventServiceConfig

event_service_config.proto:20

[#not-implemented-hide:] Configuration of the event reporting service endpoint.

Used in: HealthCheck, config.bootstrap.v2.ClusterManager.OutlierDetection

message Extension

base.proto:102

Version and identification for an Envoy extension. [#next-free-field: 6]

Used in: Node

message GrpcMethodList

grpc_method_list.proto:19

A list of gRPC methods which can be used as an allowlist, for example.

Used in: config.filter.http.grpc_stats.v2alpha.FilterConfig

message GrpcMethodList.Service

grpc_method_list.proto:20

Used in: GrpcMethodList

message GrpcProtocolOptions

protocol.proto:296

[#not-implemented-hide:]

message GrpcService

grpc_service.proto:29

gRPC service configuration. This is used by :ref:`ApiConfigSource <envoy_api_msg_core.ApiConfigSource>` and filter configurations. [#next-free-field: 6]

Used in: ApiConfigSource, EventServiceConfig, config.accesslog.v2.CommonGrpcAccessLogConfig, config.filter.http.ext_authz.v2.ExtAuthz, config.filter.network.ext_authz.v2.ExtAuthz, config.metrics.v2.MetricsServiceConfig, config.ratelimit.v2.RateLimitServiceConfig, config.trace.v2.TraceServiceConfig, service.tap.v2alpha.StreamingGrpcSink

message GrpcService.EnvoyGrpc

grpc_service.proto:30

Used in: GrpcService

message GrpcService.GoogleGrpc

grpc_service.proto:38

[#next-free-field: 7]

Used in: GrpcService

message GrpcService.GoogleGrpc.CallCredentials

grpc_service.proto:72

[#next-free-field: 8]

Used in: GoogleGrpc

message GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials

grpc_service.proto:79

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin

grpc_service.proto:85

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials

grpc_service.proto:73

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.StsService

grpc_service.proto:100

Security token service configuration that allows Google gRPC to fetch security token from an OAuth 2.0 authorization server. See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 and https://github.com/grpc/grpc/pull/19587. [#next-free-field: 10]

Used in: CallCredentials

message GrpcService.GoogleGrpc.ChannelCredentials

grpc_service.proto:58

See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call credential types.

Used in: GoogleGrpc

message GrpcService.GoogleGrpc.GoogleLocalCredentials

grpc_service.proto:53

Local channel credentials. Only UDS is supported for now. See https://github.com/grpc/grpc/pull/15909.

Used in: ChannelCredentials

(message has no fields)

message GrpcService.GoogleGrpc.SslCredentials

grpc_service.proto:40

See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.

Used in: ChannelCredentials

message HeaderMap

base.proto:283

Wrapper for a set of headers.

Used in: data.tap.v2alpha.HttpStreamedTraceSegment

message HeaderValue

base.proto:256

Header name/value pair.

Used in: GrpcService, HeaderMap, HeaderValueOption, config.filter.http.ext_authz.v2.AuthorizationRequest, data.tap.v2alpha.HttpBufferedTrace.Message, service.ratelimit.v2.RateLimitResponse

message HeaderValueOption

base.proto:273

Header name/value pair plus option to control append behavior.

Used in: RouteConfiguration, HealthCheck.HttpHealthCheck, route.Route, route.VirtualHost, route.WeightedCluster.ClusterWeight, service.auth.v2.DeniedHttpResponse, service.auth.v2.OkHttpResponse

message HealthCheck

health_check.proto:60

[#next-free-field: 23]

Used in: Cluster, service.discovery.v2.ClusterHealthCheck

message HealthCheck.CustomHealthCheck

health_check.proto:172

Custom health check.

Used in: HealthCheck

message HealthCheck.GrpcHealthCheck

health_check.proto:156

`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.

Used in: HealthCheck

message HealthCheck.HttpHealthCheck

health_check.proto:75

[#next-free-field: 12]

Used in: HealthCheck

message HealthCheck.Payload

health_check.proto:62

Describes the encoding of the payload bytes in the payload.

Used in: HttpHealthCheck, TcpHealthCheck

message HealthCheck.RedisHealthCheck

health_check.proto:144

message HealthCheck.TcpHealthCheck

health_check.proto:134

Used in: HealthCheck

message HealthCheck.TlsOptions

health_check.proto:189

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.

Used in: HealthCheck

enum HealthStatus

health_check.proto:34

Endpoint health status.

Used in: admin.v2alpha.HostHealthStatus, endpoint.LbEndpoint, service.discovery.v2.EndpointHealth

message Http1ProtocolOptions

protocol.proto:98

[#next-free-field: 6]

Used in: Cluster, config.filter.network.http_connection_manager.v2.HttpConnectionManager

message Http1ProtocolOptions.HeaderKeyFormat

protocol.proto:99

Used in: Http1ProtocolOptions

message Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords

protocol.proto:100

Used in: HeaderKeyFormat

(message has no fields)

message Http2ProtocolOptions

protocol.proto:149

[#next-free-field: 14]

Used in: Cluster, GrpcProtocolOptions, config.filter.network.http_connection_manager.v2.HttpConnectionManager

message Http2ProtocolOptions.SettingsParameter

protocol.proto:152

Defines a parameter to be sent in the SETTINGS frame. See `RFC7540, sec. 6.5.1 <https://tools.ietf.org/html/rfc7540#section-6.5.1>`_ for details.

Used in: Http2ProtocolOptions

message HttpProtocolOptions

protocol.proto:39

[#next-free-field: 6]

Used in: Cluster, config.filter.network.http_connection_manager.v2.HttpConnectionManager

enum HttpProtocolOptions.HeadersWithUnderscoresAction

protocol.proto:45

Action to take when Envoy receives client request with header names containing underscore characters. Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore characters.

Used in: HttpProtocolOptions

message HttpUri

http_uri.proto:21

Envoy external URI descriptor

Used in: RemoteDataSource, config.filter.http.ext_authz.v2.HttpService, config.filter.http.jwt_authn.v2alpha.RemoteJwks

message Locality

base.proto:69

Identifies location of where either Envoy runs or where upstream hosts run.

Used in: admin.v2alpha.HostStatus, Node, endpoint.LocalityLbEndpoints, endpoint.UpstreamLocalityStats, service.discovery.v2.LocalityEndpoints

message Metadata

base.proto:220

Metadata provides additional inputs to filters based on matched listeners, filter chains, routes and endpoints. It is structured as a map, usually from filter name (in reverse DNS format) to metadata specific to the filter. Metadata key-values for a filter are merged as connection and request handling occurs, with later values for the same key overriding earlier values. An example use of metadata is providing additional values to http_connection_manager in the envoy.http_connection_manager.access_log namespace. Another example use of metadata is to per service config info in cluster metadata, which may get consumed by multiple filters. For load balancing, Metadata provides a means to subset cluster endpoints. Endpoints have a Metadata object associated and routes contain a Metadata object to match against. There are some well defined metadata used today for this purpose: * ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an endpoint and is also used during header processing (x-envoy-upstream-canary) and for stats purposes. [#next-major-version: move to type/metadata/v2]

Used in: Cluster, Listener, endpoint.LbEndpoint, listener.FilterChain, route.Route, route.RouteAction, route.WeightedCluster.ClusterWeight, config.filter.network.tcp_proxy.v2.TcpProxy, config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight, config.filter.network.thrift_proxy.v2alpha1.RouteAction, config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight, config.retry.omit_host_metadata.v2.OmitHostMetadataConfig, data.accesslog.v2.AccessLogCommon, service.auth.v2.AttributeContext

message Node

base.proto:132

Identifies a specific Envoy instance. The node identifier is presented to the management server, which may use this identifier to distinguish per Envoy configuration for serving. [#next-free-field: 12]

Used in: DeltaDiscoveryRequest, DiscoveryRequest, config.bootstrap.v2.Bootstrap, service.accesslog.v2.StreamAccessLogsMessage.Identifier, service.discovery.v2.HealthCheckRequest, service.event_reporting.v2alpha.StreamEventsRequest.Identifier, service.load_stats.v2.LoadStatsRequest, service.metrics.v2.StreamMetricsMessage.Identifier, service.status.v2.ClientConfig, service.tap.v2alpha.StreamTapsRequest.Identifier

message Pipe

address.proto:22

Used in: Address

message RateLimitSettings

config_source.proto:116

Rate Limit settings to be applied for discovery requests made by Envoy.

Used in: ApiConfigSource

message RemoteDataSource

base.proto:316

The message specifies how to fetch data from remote and how to verify it.

Used in: AsyncDataSource

enum RequestMethod

base.proto:43

HTTP request method.

Used in: route.VirtualCluster, data.accesslog.v2.HTTPRequestProperties

message RetryPolicy

base.proto:304

The message specifies the retry policy of remote data source when fetching fails.

Used in: RemoteDataSource

enum RoutingPriority

base.proto:37

Envoy supports :ref:`upstream priority routing <arch_overview_http_routing_priority>` both at the route and the virtual cluster level. The current priority implementation uses different connection pool and circuit breaking settings for each priority level. This means that even for HTTP/2 requests, two physical connections will be used to an upstream host. In the future Envoy will likely support true HTTP/2 priority over a single upstream connection.

Used in: cluster.CircuitBreakers.Thresholds, route.RouteAction

message RuntimeDouble

base.proto:236

Runtime derived double with a default when not specified.

message RuntimeFeatureFlag

base.proto:245

Runtime derived bool with a default when not specified.

Used in: config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency, config.filter.http.compressor.v2.Compressor, config.filter.http.ext_authz.v2.ExtAuthz, config.filter.network.local_rate_limit.v2alpha.LocalRateLimit

message RuntimeFractionalPercent

base.proto:368

Runtime derived FractionalPercent with defaults for when the numerator or denominator is not specified via a runtime key. .. note:: Parsing of the runtime key's data is implemented such that it may be represented as a :ref:`FractionalPercent <envoy_api_msg_type.FractionalPercent>` proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED.

Used in: route.CorsPolicy, route.RouteAction.RequestMirrorPolicy, route.RouteMatch, config.filter.http.csrf.v2.CsrfPolicy, config.filter.http.ext_authz.v2.ExtAuthz, config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy, service.tap.v2alpha.TapConfig

message RuntimeUInt32

base.proto:227

Runtime derived uint32 with a default when not specified.

Used in: config.filter.accesslog.v2.ComparisonFilter

message SelfConfigSource

config_source.proto:109

[#not-implemented-hide:] Self-referencing config source options. This is currently empty, but when set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to specify that other data can be obtained from the same server.

Used in: ConfigSource

message SocketAddress

address.proto:34

[#next-free-field: 7]

Used in: Address, BindConfig, config.trace.v2alpha.XRayConfig

enum SocketAddress.Protocol

address.proto:35

Used in: SocketAddress

message SocketOption

socket_option.proto:21

Generic socket option message. This would be used to set socket options that might not exist in upstream kernels or precompiled Envoy binaries. [#next-free-field: 7]

Used in: Listener, BindConfig, config.bootstrap.v2.Admin

enum SocketOption.SocketState

socket_option.proto:22

Used in: SocketOption

message TcpKeepalive

address.proto:80

Used in: UpstreamConnectionOptions

message TcpProtocolOptions

protocol.proto:22

[#not-implemented-hide:]

(message has no fields)

enum TrafficDirection

base.proto:57

Identifies the direction of the traffic relative to the local Envoy.

Used in: Listener

message TransportSocket

base.proto:344

Configuration for transport socket in :ref:`listeners <config_listeners>` and :ref:`clusters <envoy_api_msg_Cluster>`. If the configuration is empty, a default transport socket implementation and configuration will be chosen based on the platform and existence of tls_context.

Used in: Cluster, Cluster.TransportSocketMatch, listener.FilterChain, config.transport_socket.tap.v2alpha.Tap

message UpstreamHttpProtocolOptions

protocol.proto:25

Used in: Cluster