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

HTTP Service URI  (proto)
=========================




.. _envoy_v3_api_msg_config.core.v3.HttpUri:

config.core.v3.HttpUri
----------------------

:repo:`[config.core.v3.HttpUri proto] <api/envoy/config/core/v3/http_uri.proto#L19>`

Envoy external URI descriptor

.. code-block:: json
  :force:

  {
    "uri": ...,
    "cluster": ...,
    "timeout": {...}
  }

.. _envoy_v3_api_field_config.core.v3.HttpUri.uri:

uri
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The HTTP server URI. It should be a full FQDN with protocol, host and path.
  
  Example:
  
  .. code-block:: yaml
  
     uri: https://www.googleapis.com/oauth2/v1/certs
  
  
  
.. _envoy_v3_api_field_config.core.v3.HttpUri.cluster:

cluster
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) A cluster is created in the Envoy "cluster_manager" config
  section. This field specifies the cluster name.
  
  Example:
  
  .. code-block:: yaml
  
     cluster: jwks_cluster
  
  
  Specify how ``uri`` is to be fetched. Today, this requires an explicit
  cluster, but in the future we may support dynamic cluster creation or
  inline DNS resolution. See `issue
  <https://github.com/envoyproxy/envoy/issues/1606>`_.
  
  
.. _envoy_v3_api_field_config.core.v3.HttpUri.timeout:

timeout
  (`Duration <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration>`_, *REQUIRED*) Sets the maximum duration in milliseconds that a response can take to arrive upon request.