.. _envoy_v3_api_file_envoy/config/core/v3/base.proto:

Common types
============


.. _envoy_v3_api_msg_config.core.v3.Locality:

config.core.v3.Locality
-----------------------

`[config.core.v3.Locality proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L68>`_

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

.. code-block:: json

  {
    "region": "...",
    "zone": "...",
    "sub_zone": "..."
  }

.. _envoy_v3_api_field_config.core.v3.Locality.region:

region
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Region this :ref:`zone <envoy_v3_api_field_config.core.v3.Locality.zone>` belongs to.
  
  
.. _envoy_v3_api_field_config.core.v3.Locality.zone:

zone
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Defines the local service zone where Envoy is running. Though optional, it
  should be set if discovery service routing is used and the discovery
  service exposes :ref:`zone data <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.locality>`,
  either in this message or via :option:`--service-zone`. The meaning of zone
  is context dependent, e.g. `Availability Zone (AZ)
  <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
  on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
  GCP, etc.
  
  
.. _envoy_v3_api_field_config.core.v3.Locality.sub_zone:

sub_zone
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) When used for locality of upstream hosts, this field further splits zone
  into smaller chunks of sub-zones so they can be load balanced
  independently.
  
  


.. _envoy_v3_api_msg_config.core.v3.BuildVersion:

config.core.v3.BuildVersion
---------------------------

`[config.core.v3.BuildVersion proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L92>`_

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

.. code-block:: json

  {
    "version": "{...}",
    "metadata": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.BuildVersion.version:

version
  (:ref:`type.v3.SemanticVersion <envoy_v3_api_msg_type.v3.SemanticVersion>`) SemVer version of extension.
  
  
.. _envoy_v3_api_field_config.core.v3.BuildVersion.metadata:

metadata
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) Free-form build information.
  Envoy defines several well known keys in the source/common/version/version.h file
  
  


.. _envoy_v3_api_msg_config.core.v3.Extension:

config.core.v3.Extension
------------------------

`[config.core.v3.Extension proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L105>`_

Version and identification for an Envoy extension.

.. code-block:: json

  {
    "name": "...",
    "category": "...",
    "version": "{...}",
    "disabled": "..."
  }

.. _envoy_v3_api_field_config.core.v3.Extension.name:

name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) This is the name of the Envoy filter as specified in the Envoy
  configuration, e.g. envoy.filters.http.router, com.acme.widget.
  
  
.. _envoy_v3_api_field_config.core.v3.Extension.category:

category
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Category of the extension.
  Extension category names use reverse DNS notation. For instance "envoy.filters.listener"
  for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from
  acme.com vendor.
  
  

.. _envoy_v3_api_field_config.core.v3.Extension.version:

version
  (:ref:`config.core.v3.BuildVersion <envoy_v3_api_msg_config.core.v3.BuildVersion>`) The version is a property of the extension and maintained independently
  of other extensions and the Envoy API.
  This field is not set when extension did not provide version information.
  
  
.. _envoy_v3_api_field_config.core.v3.Extension.disabled:

disabled
  (`bool <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Indicates that the extension is present but was disabled via dynamic configuration.
  
  


.. _envoy_v3_api_msg_config.core.v3.Node:

config.core.v3.Node
-------------------

`[config.core.v3.Node proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L137>`_

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.

.. code-block:: json

  {
    "id": "...",
    "cluster": "...",
    "metadata": "{...}",
    "dynamic_parameters": "{...}",
    "locality": "{...}",
    "user_agent_name": "...",
    "user_agent_version": "...",
    "user_agent_build_version": "{...}",
    "extensions": [],
    "client_features": [],
    "listening_addresses": []
  }

.. _envoy_v3_api_field_config.core.v3.Node.id:

id
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) An opaque node identifier for the Envoy node. This also provides the local
  service node name. It should be set if any of the following features are
  used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS
  <config_cluster_manager_cds>`, and :ref:`HTTP tracing
  <arch_overview_tracing>`, either in this message or via
  :option:`--service-node`.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.cluster:

cluster
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Defines the local service cluster name where Envoy is running. Though
  optional, it should be set if any of the following features are used:
  :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster
  verification
  <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher>`,
  :ref:`runtime override directory <envoy_v3_api_msg_config.bootstrap.v3.Runtime>`,
  :ref:`user agent addition
  <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent>`,
  :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`,
  :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing
  <arch_overview_tracing>`, either in this message or via
  :option:`--service-cluster`.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.metadata:

metadata
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) Opaque metadata extending the node identifier. Envoy will pass this
  directly to the management server.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.dynamic_parameters:

dynamic_parameters
  (**repeated** map<`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, .xds.core.v3.ContextParams>) Map from xDS resource type URL to dynamic context parameters. These may vary at runtime (unlike
  other fields in this message). For example, the xDS client may have a shard identifier that
  changes during the lifetime of the xDS client. In Envoy, this would be achieved by updating the
  dynamic context on the Server::Instance's LocalInfo context provider. The shard ID dynamic
  parameter then appears in this field during future discovery requests.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.locality:

locality
  (:ref:`config.core.v3.Locality <envoy_v3_api_msg_config.core.v3.Locality>`) Locality specifying where the Envoy instance is running.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.user_agent_name:

user_agent_name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Free-form string that identifies the entity requesting config.
  E.g. "envoy" or "grpc"
  
  
.. _envoy_v3_api_field_config.core.v3.Node.user_agent_version:

user_agent_version
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Free-form string that identifies the version of the entity requesting config.
  E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild"
  
  
  
  Only one of :ref:`user_agent_version <envoy_v3_api_field_config.core.v3.Node.user_agent_version>`, :ref:`user_agent_build_version <envoy_v3_api_field_config.core.v3.Node.user_agent_build_version>` may be set.
  
.. _envoy_v3_api_field_config.core.v3.Node.user_agent_build_version:

user_agent_build_version
  (:ref:`config.core.v3.BuildVersion <envoy_v3_api_msg_config.core.v3.BuildVersion>`) Structured version of the entity requesting config.
  
  
  
  Only one of :ref:`user_agent_version <envoy_v3_api_field_config.core.v3.Node.user_agent_version>`, :ref:`user_agent_build_version <envoy_v3_api_field_config.core.v3.Node.user_agent_build_version>` may be set.
  
.. _envoy_v3_api_field_config.core.v3.Node.extensions:

extensions
  (**repeated** :ref:`config.core.v3.Extension <envoy_v3_api_msg_config.core.v3.Extension>`) List of extensions and their versions supported by the node.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.client_features:

client_features
  (**repeated** `string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Client feature support list. These are well known features described
  in the Envoy API repository for a given major version of an API. Client features
  use reverse DNS naming scheme, for example `com.acme.feature`.
  See :ref:`the list of features <client_features>` that xDS client may
  support.
  
  
.. _envoy_v3_api_field_config.core.v3.Node.listening_addresses:

listening_addresses
  (**repeated** :ref:`config.core.v3.Address <envoy_v3_api_msg_config.core.v3.Address>`) Known listening ports on the node as a generic hint to the management server
  for filtering :ref:`listeners <config_listeners>` to be returned. For example,
  if there is a listener bound to port 80, the list can optionally contain the
  SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint.
  
  


.. _envoy_v3_api_msg_config.core.v3.Metadata:

config.core.v3.Metadata
-----------------------

`[config.core.v3.Metadata proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L233>`_

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.

.. code-block:: json

  {
    "filter_metadata": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.Metadata.filter_metadata:

filter_metadata
  (**repeated** map<`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, `Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_>) Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
  namespace is reserved for Envoy's built-in filters.
  
  


.. _envoy_v3_api_msg_config.core.v3.RuntimeUInt32:

config.core.v3.RuntimeUInt32
----------------------------

`[config.core.v3.RuntimeUInt32 proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L242>`_

Runtime derived uint32 with a default when not specified.

.. code-block:: json

  {
    "default_value": "...",
    "runtime_key": "..."
  }

.. _envoy_v3_api_field_config.core.v3.RuntimeUInt32.default_value:

default_value
  (`uint32 <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Default value if runtime value is not available.
  
  
.. _envoy_v3_api_field_config.core.v3.RuntimeUInt32.runtime_key:

runtime_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Runtime key to get value for comparison. This value is used if defined.
  
  


.. _envoy_v3_api_msg_config.core.v3.RuntimePercent:

config.core.v3.RuntimePercent
-----------------------------

`[config.core.v3.RuntimePercent proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L253>`_

Runtime derived percentage with a default when not specified.

.. code-block:: json

  {
    "default_value": "{...}",
    "runtime_key": "..."
  }

.. _envoy_v3_api_field_config.core.v3.RuntimePercent.default_value:

default_value
  (:ref:`type.v3.Percent <envoy_v3_api_msg_type.v3.Percent>`) Default value if runtime value is not available.
  
  
.. _envoy_v3_api_field_config.core.v3.RuntimePercent.runtime_key:

runtime_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Runtime key to get value for comparison. This value is used if defined.
  
  


.. _envoy_v3_api_msg_config.core.v3.RuntimeDouble:

config.core.v3.RuntimeDouble
----------------------------

`[config.core.v3.RuntimeDouble proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L262>`_

Runtime derived double with a default when not specified.

.. code-block:: json

  {
    "default_value": "...",
    "runtime_key": "..."
  }

.. _envoy_v3_api_field_config.core.v3.RuntimeDouble.default_value:

default_value
  (`double <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Default value if runtime value is not available.
  
  
.. _envoy_v3_api_field_config.core.v3.RuntimeDouble.runtime_key:

runtime_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Runtime key to get value for comparison. This value is used if defined.
  
  


.. _envoy_v3_api_msg_config.core.v3.RuntimeFeatureFlag:

config.core.v3.RuntimeFeatureFlag
---------------------------------

`[config.core.v3.RuntimeFeatureFlag proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L273>`_

Runtime derived bool with a default when not specified.

.. code-block:: json

  {
    "default_value": "{...}",
    "runtime_key": "..."
  }

.. _envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.default_value:

default_value
  (`BoolValue <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#boolvalue>`_, *REQUIRED*) Default value if runtime value is not available.
  
  
.. _envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key:

runtime_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Runtime key to get value for comparison. This value is used if defined. The boolean value must
  be represented via its
  `canonical JSON encoding <https://developers.google.com/protocol-buffers/docs/proto3#json>`_.
  
  


.. _envoy_v3_api_msg_config.core.v3.HeaderValue:

config.core.v3.HeaderValue
--------------------------

`[config.core.v3.HeaderValue proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L287>`_

Header name/value pair.

.. code-block:: json

  {
    "key": "...",
    "value": "..."
  }

.. _envoy_v3_api_field_config.core.v3.HeaderValue.key:

key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Header name.
  
  
.. _envoy_v3_api_field_config.core.v3.HeaderValue.value:

value
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Header value.
  
  The same :ref:`format specifier <config_access_log_format>` as used for
  :ref:`HTTP access logging <config_access_log>` applies here, however
  unknown header values are replaced with the empty string instead of `-`.
  
  


.. _envoy_v3_api_msg_config.core.v3.HeaderValueOption:

config.core.v3.HeaderValueOption
--------------------------------

`[config.core.v3.HeaderValueOption proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L306>`_

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

.. code-block:: json

  {
    "header": "{...}",
    "append": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.HeaderValueOption.header:

header
  (:ref:`config.core.v3.HeaderValue <envoy_v3_api_msg_config.core.v3.HeaderValue>`, *REQUIRED*) Header name/value pair that this option applies to.
  
  
.. _envoy_v3_api_field_config.core.v3.HeaderValueOption.append:

append
  (`BoolValue <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#boolvalue>`_) Should the value be appended? If true (default), the value is appended to
  existing values. Otherwise it replaces any existing values.
  
  


.. _envoy_v3_api_msg_config.core.v3.HeaderMap:

config.core.v3.HeaderMap
------------------------

`[config.core.v3.HeaderMap proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L319>`_

Wrapper for a set of headers.

.. code-block:: json

  {
    "headers": []
  }

.. _envoy_v3_api_field_config.core.v3.HeaderMap.headers:

headers
  (**repeated** :ref:`config.core.v3.HeaderValue <envoy_v3_api_msg_config.core.v3.HeaderValue>`) 
  


.. _envoy_v3_api_msg_config.core.v3.WatchedDirectory:

config.core.v3.WatchedDirectory
-------------------------------

`[config.core.v3.WatchedDirectory proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L327>`_

A directory that is watched for changes, e.g. by inotify on Linux. Move/rename
events inside this directory trigger the watch.

.. code-block:: json

  {
    "path": "..."
  }

.. _envoy_v3_api_field_config.core.v3.WatchedDirectory.path:

path
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Directory path to watch.
  
  


.. _envoy_v3_api_msg_config.core.v3.DataSource:

config.core.v3.DataSource
-------------------------

`[config.core.v3.DataSource proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L333>`_

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

.. code-block:: json

  {
    "filename": "...",
    "inline_bytes": "...",
    "inline_string": "..."
  }

.. _envoy_v3_api_field_config.core.v3.DataSource.filename:

filename
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Local filesystem data source.
  
  
  
  Precisely one of :ref:`filename <envoy_v3_api_field_config.core.v3.DataSource.filename>`, :ref:`inline_bytes <envoy_v3_api_field_config.core.v3.DataSource.inline_bytes>`, :ref:`inline_string <envoy_v3_api_field_config.core.v3.DataSource.inline_string>` must be set.
  
.. _envoy_v3_api_field_config.core.v3.DataSource.inline_bytes:

inline_bytes
  (`bytes <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Bytes inlined in the configuration.
  
  
  
  Precisely one of :ref:`filename <envoy_v3_api_field_config.core.v3.DataSource.filename>`, :ref:`inline_bytes <envoy_v3_api_field_config.core.v3.DataSource.inline_bytes>`, :ref:`inline_string <envoy_v3_api_field_config.core.v3.DataSource.inline_string>` must be set.
  
.. _envoy_v3_api_field_config.core.v3.DataSource.inline_string:

inline_string
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) String inlined in the configuration.
  
  
  
  Precisely one of :ref:`filename <envoy_v3_api_field_config.core.v3.DataSource.filename>`, :ref:`inline_bytes <envoy_v3_api_field_config.core.v3.DataSource.inline_bytes>`, :ref:`inline_string <envoy_v3_api_field_config.core.v3.DataSource.inline_string>` must be set.
  


.. _envoy_v3_api_msg_config.core.v3.RetryPolicy:

config.core.v3.RetryPolicy
--------------------------

`[config.core.v3.RetryPolicy proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L351>`_

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

.. code-block:: json

  {
    "retry_back_off": "{...}",
    "num_retries": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.RetryPolicy.retry_back_off:

retry_back_off
  (:ref:`config.core.v3.BackoffStrategy <envoy_v3_api_msg_config.core.v3.BackoffStrategy>`) Specifies parameters that control :ref:`retry backoff strategy <envoy_v3_api_msg_config.core.v3.BackoffStrategy>`.
  This parameter is optional, in which case the default base interval is 1000 milliseconds. The
  default maximum interval is 10 times the base interval.
  
  
.. _envoy_v3_api_field_config.core.v3.RetryPolicy.num_retries:

num_retries
  (`UInt32Value <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#uint32value>`_) Specifies the allowed number of retries. This parameter is optional and
  defaults to 1.
  
  


.. _envoy_v3_api_msg_config.core.v3.RemoteDataSource:

config.core.v3.RemoteDataSource
-------------------------------

`[config.core.v3.RemoteDataSource proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L366>`_

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

.. code-block:: json

  {
    "http_uri": "{...}",
    "sha256": "...",
    "retry_policy": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.RemoteDataSource.http_uri:

http_uri
  (:ref:`config.core.v3.HttpUri <envoy_v3_api_msg_config.core.v3.HttpUri>`, *REQUIRED*) The HTTP URI to fetch the remote data.
  
  
.. _envoy_v3_api_field_config.core.v3.RemoteDataSource.sha256:

sha256
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) SHA256 string for verifying data.
  
  
.. _envoy_v3_api_field_config.core.v3.RemoteDataSource.retry_policy:

retry_policy
  (:ref:`config.core.v3.RetryPolicy <envoy_v3_api_msg_config.core.v3.RetryPolicy>`) Retry policy for fetching remote data.
  
  


.. _envoy_v3_api_msg_config.core.v3.AsyncDataSource:

config.core.v3.AsyncDataSource
------------------------------

`[config.core.v3.AsyncDataSource proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L380>`_

Async data source which support async data fetch.

.. code-block:: json

  {
    "local": "{...}",
    "remote": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.AsyncDataSource.local:

local
  (:ref:`config.core.v3.DataSource <envoy_v3_api_msg_config.core.v3.DataSource>`) Local async data source.
  
  
  
  Precisely one of :ref:`local <envoy_v3_api_field_config.core.v3.AsyncDataSource.local>`, :ref:`remote <envoy_v3_api_field_config.core.v3.AsyncDataSource.remote>` must be set.
  
.. _envoy_v3_api_field_config.core.v3.AsyncDataSource.remote:

remote
  (:ref:`config.core.v3.RemoteDataSource <envoy_v3_api_msg_config.core.v3.RemoteDataSource>`) Remote async data source.
  
  
  
  Precisely one of :ref:`local <envoy_v3_api_field_config.core.v3.AsyncDataSource.local>`, :ref:`remote <envoy_v3_api_field_config.core.v3.AsyncDataSource.remote>` must be set.
  


.. _envoy_v3_api_msg_config.core.v3.TransportSocket:

config.core.v3.TransportSocket
------------------------------

`[config.core.v3.TransportSocket proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L398>`_

Configuration for transport socket in :ref:`listeners <config_listeners>` and
:ref:`clusters <envoy_v3_api_msg_config.cluster.v3.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.

.. code-block:: json

  {
    "name": "...",
    "typed_config": "{...}"
  }

.. _envoy_v3_api_field_config.core.v3.TransportSocket.name:

name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The name of the transport socket to instantiate. The name must match a supported transport
  socket implementation.
  
  
.. _envoy_v3_api_field_config.core.v3.TransportSocket.typed_config:

typed_config
  (`Any <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#any>`_) 
  Implementation specific configuration which depends on the implementation being instantiated.
  See the supported transport socket implementations for further documentation.
  
  


.. _envoy_v3_api_msg_config.core.v3.RuntimeFractionalPercent:

config.core.v3.RuntimeFractionalPercent
---------------------------------------

`[config.core.v3.RuntimeFractionalPercent proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L426>`_

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_v3_api_msg_type.v3.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.

.. code-block:: json

  {
    "default_value": "{...}",
    "runtime_key": "..."
  }

.. _envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.default_value:

default_value
  (:ref:`type.v3.FractionalPercent <envoy_v3_api_msg_type.v3.FractionalPercent>`, *REQUIRED*) Default value if the runtime value's for the numerator/denominator keys are not available.
  
  
.. _envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key:

runtime_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Runtime key for a YAML representation of a FractionalPercent.
  
  


.. _envoy_v3_api_msg_config.core.v3.ControlPlane:

config.core.v3.ControlPlane
---------------------------

`[config.core.v3.ControlPlane proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L438>`_

Identifies a specific ControlPlane instance that Envoy is connected to.

.. code-block:: json

  {
    "identifier": "..."
  }

.. _envoy_v3_api_field_config.core.v3.ControlPlane.identifier:

identifier
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) An opaque control plane identifier that uniquely identifies an instance
  of control plane. This can be used to identify which control plane instance,
  the Envoy is connected to.
  
  

.. _envoy_v3_api_enum_config.core.v3.RoutingPriority:

Enum config.core.v3.RoutingPriority
-----------------------------------

`[config.core.v3.RoutingPriority proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L36>`_

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.

.. _envoy_v3_api_enum_value_config.core.v3.RoutingPriority.DEFAULT:

DEFAULT
  *(DEFAULT)* ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RoutingPriority.HIGH:

HIGH
  ⁣
  

.. _envoy_v3_api_enum_config.core.v3.RequestMethod:

Enum config.core.v3.RequestMethod
---------------------------------

`[config.core.v3.RequestMethod proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L42>`_

HTTP request method.

.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.METHOD_UNSPECIFIED:

METHOD_UNSPECIFIED
  *(DEFAULT)* ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.GET:

GET
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.HEAD:

HEAD
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.POST:

POST
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.PUT:

PUT
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.DELETE:

DELETE
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.CONNECT:

CONNECT
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.OPTIONS:

OPTIONS
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.TRACE:

TRACE
  ⁣
  
.. _envoy_v3_api_enum_value_config.core.v3.RequestMethod.PATCH:

PATCH
  ⁣
  

.. _envoy_v3_api_enum_config.core.v3.TrafficDirection:

Enum config.core.v3.TrafficDirection
------------------------------------

`[config.core.v3.TrafficDirection proto] <https://github.com/envoyproxy/envoy/blob/v1.18.3/api/envoy/config/core/v3/base.proto#L56>`_

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

.. _envoy_v3_api_enum_value_config.core.v3.TrafficDirection.UNSPECIFIED:

UNSPECIFIED
  *(DEFAULT)* ⁣Default option is unspecified.
  
  
.. _envoy_v3_api_enum_value_config.core.v3.TrafficDirection.INBOUND:

INBOUND
  ⁣The transport is used for incoming traffic.
  
  
.. _envoy_v3_api_enum_value_config.core.v3.TrafficDirection.OUTBOUND:

OUTBOUND
  ⁣The transport is used for outgoing traffic.