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