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

Rate limit descriptor expression
================================




.. _extension_envoy.rate_limit_descriptors.expr:

This extension may be referenced by 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>`


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

  {
    "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.