Interface RateLimit.Action.HeaderValueMatchOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
RateLimit.Action.HeaderValueMatch, RateLimit.Action.HeaderValueMatch.Builder
Enclosing class:
RateLimit.Action

public static interface RateLimit.Action.HeaderValueMatchOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    An optional value to use if the final concatenated ``descriptor_value`` result is empty.
    com.google.protobuf.ByteString
    An optional value to use if the final concatenated ``descriptor_value`` result is empty.
    The key to use in the descriptor entry.
    com.google.protobuf.ByteString
    The key to use in the descriptor entry.
    Descriptor value of entry.
    com.google.protobuf.ByteString
    Descriptor value of entry.
    com.google.protobuf.BoolValue
    If set to true, the action will append a descriptor entry when the request matches the headers.
    com.google.protobuf.BoolValueOrBuilder
    If set to true, the action will append a descriptor entry when the request matches the headers.
    getHeaders(int index)
    Specifies a set of headers that the rate limit action should match on.
    int
    Specifies a set of headers that the rate limit action should match on.
    Specifies a set of headers that the rate limit action should match on.
    Specifies a set of headers that the rate limit action should match on.
    Specifies a set of headers that the rate limit action should match on.
    boolean
    If set to true, the action will append a descriptor entry when the request matches the headers.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • getDescriptorValue

      String getDescriptorValue()
       Descriptor value of entry.
      
       The same :ref:`format specifier <config_access_log_format>` as used for
       :ref:`HTTP access logging <config_access_log>` applies here, however
       unknown specifier values are replaced with the empty string instead of ``-``.
      
       .. note::
      
         Formatter parsing is controlled by the runtime feature flag
         ``envoy.reloadable_features.enable_formatter_for_ratelimit_action_descriptor_value``
         (disabled by default).
      
         When enabled: The format string can contain multiple valid substitution
         fields. If multiple substitution fields are present, their results will be concatenated
         to form the final descriptor value. If it contains no substitution fields, the value
         will be used as is. All substitution fields will be evaluated and their results
         concatenated. If the final concatenated result is empty and ``default_value`` is set,
         the ``default_value`` will be used. If ``default_value`` is not set and the result is
         empty, this descriptor will be skipped and not included in the rate limit call.
      
         When disabled (default): The descriptor_value is used as a literal string without any formatter
         parsing or substitution.
      
       For example, ``static_value`` will be used as is since there are no substitution fields.
       ``%REQ(:method)%`` will be replaced with the HTTP method, and
       ``%REQ(:method)%%REQ(:path)%`` will be replaced with the concatenation of the HTTP method and path.
       ``%CEL(request.headers['user-id'])%`` will use CEL to extract the user ID from request headers.
       
      string descriptor_value = 1 [(.validate.rules) = { ... }
      Returns:
      The descriptorValue.
    • getDescriptorValueBytes

      com.google.protobuf.ByteString getDescriptorValueBytes()
       Descriptor value of entry.
      
       The same :ref:`format specifier <config_access_log_format>` as used for
       :ref:`HTTP access logging <config_access_log>` applies here, however
       unknown specifier values are replaced with the empty string instead of ``-``.
      
       .. note::
      
         Formatter parsing is controlled by the runtime feature flag
         ``envoy.reloadable_features.enable_formatter_for_ratelimit_action_descriptor_value``
         (disabled by default).
      
         When enabled: The format string can contain multiple valid substitution
         fields. If multiple substitution fields are present, their results will be concatenated
         to form the final descriptor value. If it contains no substitution fields, the value
         will be used as is. All substitution fields will be evaluated and their results
         concatenated. If the final concatenated result is empty and ``default_value`` is set,
         the ``default_value`` will be used. If ``default_value`` is not set and the result is
         empty, this descriptor will be skipped and not included in the rate limit call.
      
         When disabled (default): The descriptor_value is used as a literal string without any formatter
         parsing or substitution.
      
       For example, ``static_value`` will be used as is since there are no substitution fields.
       ``%REQ(:method)%`` will be replaced with the HTTP method, and
       ``%REQ(:method)%%REQ(:path)%`` will be replaced with the concatenation of the HTTP method and path.
       ``%CEL(request.headers['user-id'])%`` will use CEL to extract the user ID from request headers.
       
      string descriptor_value = 1 [(.validate.rules) = { ... }
      Returns:
      The bytes for descriptorValue.
    • getDefaultValue

      String getDefaultValue()
       An optional value to use if the final concatenated ``descriptor_value`` result is empty.
       Only applicable when formatter parsing is enabled by the runtime feature flag
       ``envoy.reloadable_features.enable_formatter_for_ratelimit_action_descriptor_value`` (disabled by default).
       
      string default_value = 5;
      Returns:
      The defaultValue.
    • getDefaultValueBytes

      com.google.protobuf.ByteString getDefaultValueBytes()
       An optional value to use if the final concatenated ``descriptor_value`` result is empty.
       Only applicable when formatter parsing is enabled by the runtime feature flag
       ``envoy.reloadable_features.enable_formatter_for_ratelimit_action_descriptor_value`` (disabled by default).
       
      string default_value = 5;
      Returns:
      The bytes for defaultValue.
    • getDescriptorKey

      String getDescriptorKey()
       The key to use in the descriptor entry.
      
       Defaults to ``header_match``.
       
      string descriptor_key = 4;
      Returns:
      The descriptorKey.
    • getDescriptorKeyBytes

      com.google.protobuf.ByteString getDescriptorKeyBytes()
       The key to use in the descriptor entry.
      
       Defaults to ``header_match``.
       
      string descriptor_key = 4;
      Returns:
      The bytes for descriptorKey.
    • hasExpectMatch

      boolean hasExpectMatch()
       If set to true, the action will append a descriptor entry when the
       request matches the headers. If set to false, the action will append a
       descriptor entry when the request does not match the headers. The
       default value is true.
       
      .google.protobuf.BoolValue expect_match = 2;
      Returns:
      Whether the expectMatch field is set.
    • getExpectMatch

      com.google.protobuf.BoolValue getExpectMatch()
       If set to true, the action will append a descriptor entry when the
       request matches the headers. If set to false, the action will append a
       descriptor entry when the request does not match the headers. The
       default value is true.
       
      .google.protobuf.BoolValue expect_match = 2;
      Returns:
      The expectMatch.
    • getExpectMatchOrBuilder

      com.google.protobuf.BoolValueOrBuilder getExpectMatchOrBuilder()
       If set to true, the action will append a descriptor entry when the
       request matches the headers. If set to false, the action will append a
       descriptor entry when the request does not match the headers. The
       default value is true.
       
      .google.protobuf.BoolValue expect_match = 2;
    • getHeadersList

      List<HeaderMatcher> getHeadersList()
       Specifies a set of headers that the rate limit action should match
       on. The action will check the request's headers against all the
       specified headers in the config. A match will happen if all the
       headers in the config are present in the request with the same values
       (or based on presence if the value field is not in the config).
       
      repeated .envoy.config.route.v3.HeaderMatcher headers = 3 [(.validate.rules) = { ... }
    • getHeaders

      HeaderMatcher getHeaders(int index)
       Specifies a set of headers that the rate limit action should match
       on. The action will check the request's headers against all the
       specified headers in the config. A match will happen if all the
       headers in the config are present in the request with the same values
       (or based on presence if the value field is not in the config).
       
      repeated .envoy.config.route.v3.HeaderMatcher headers = 3 [(.validate.rules) = { ... }
    • getHeadersCount

      int getHeadersCount()
       Specifies a set of headers that the rate limit action should match
       on. The action will check the request's headers against all the
       specified headers in the config. A match will happen if all the
       headers in the config are present in the request with the same values
       (or based on presence if the value field is not in the config).
       
      repeated .envoy.config.route.v3.HeaderMatcher headers = 3 [(.validate.rules) = { ... }
    • getHeadersOrBuilderList

      List<? extends HeaderMatcherOrBuilder> getHeadersOrBuilderList()
       Specifies a set of headers that the rate limit action should match
       on. The action will check the request's headers against all the
       specified headers in the config. A match will happen if all the
       headers in the config are present in the request with the same values
       (or based on presence if the value field is not in the config).
       
      repeated .envoy.config.route.v3.HeaderMatcher headers = 3 [(.validate.rules) = { ... }
    • getHeadersOrBuilder

      HeaderMatcherOrBuilder getHeadersOrBuilder(int index)
       Specifies a set of headers that the rate limit action should match
       on. The action will check the request's headers against all the
       specified headers in the config. A match will happen if all the
       headers in the config are present in the request with the same values
       (or based on presence if the value field is not in the config).
       
      repeated .envoy.config.route.v3.HeaderMatcher headers = 3 [(.validate.rules) = { ... }