.. _envoy_v3_api_file_envoy/extensions/rate_limit_descriptors/expr/v3/expr.proto:

Rate limit descriptor expression (proto)
========================================




.. _extension_envoy.rate_limit_descriptors.expr:

This extension has the qualified name ``envoy.rate_limit_descriptors.expr``

.. note::
  

  This extension has an unknown security posture and should only be
  used in deployments where both the downstream and upstream are
  trusted.

.. tip::
  This extension extends and can be used with the following extension category:


  - :ref:`envoy.rate_limit_descriptors <extension_category_envoy.rate_limit_descriptors>`



  This extension must be configured with one of the following type URLs:



  - :ref:`type.googleapis.com/envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor <envoy_v3_api_msg_extensions.rate_limit_descriptors.expr.v3.Descriptor>`




.. _envoy_v3_api_msg_extensions.rate_limit_descriptors.expr.v3.Descriptor:

extensions.rate_limit_descriptors.expr.v3.Descriptor
----------------------------------------------------

:repo:`[extensions.rate_limit_descriptors.expr.v3.Descriptor proto] <api/envoy/extensions/rate_limit_descriptors/expr/v3/expr.proto#L26>`

The following descriptor entry is appended with a value computed
from a symbolic Common Expression Language expression.
See :ref:`attributes <arch_overview_attributes>` for the set of
available attributes.

.. code-block:: cpp

  ("<descriptor_key>", "<expression_value>")

.. code-block:: json
  :force:

  {
    "descriptor_key": ...,
    "skip_if_error": ...,
    "text": ...,
    "parsed": {...}
  }

.. _envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.descriptor_key:

descriptor_key
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The key to use in the descriptor entry.
  
  
.. _envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.skip_if_error:

skip_if_error
  (`bool <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) If set to true, Envoy skips the descriptor if the expression evaluates to an error.
  By default, the rate limit is not applied when an expression produces an error.
  
  
.. _envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.text:

text
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Expression in a text form, e.g. "connection.requested_server_name".
  
  
  
  Only one of :ref:`text <envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.text>`, :ref:`parsed <envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.parsed>` may be set.
  
.. _envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.parsed:

parsed
  (.google.api.expr.v1alpha1.Expr) Parsed expression in AST form.
  
  
  
  Only one of :ref:`text <envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.text>`, :ref:`parsed <envoy_v3_api_field_extensions.rate_limit_descriptors.expr.v3.Descriptor.parsed>` may be set.