Class RateLimit.Action.QueryParameterValueMatch

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RateLimit.Action.QueryParameterValueMatchOrBuilder, Serializable
Enclosing class:
RateLimit.Action

public static final class RateLimit.Action.QueryParameterValueMatch extends com.google.protobuf.GeneratedMessageV3 implements RateLimit.Action.QueryParameterValueMatchOrBuilder
 The following descriptor entry is appended to the descriptor:

 .. code-block:: cpp

   ("query_match", "<descriptor_value>")
 [#next-free-field: 6]
 
Protobuf type envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch
See Also:
  • Field Details

    • DESCRIPTOR_VALUE_FIELD_NUMBER

      public static final int DESCRIPTOR_VALUE_FIELD_NUMBER
      See Also:
    • DEFAULT_VALUE_FIELD_NUMBER

      public static final int DEFAULT_VALUE_FIELD_NUMBER
      See Also:
    • DESCRIPTOR_KEY_FIELD_NUMBER

      public static final int DESCRIPTOR_KEY_FIELD_NUMBER
      See Also:
    • EXPECT_MATCH_FIELD_NUMBER

      public static final int EXPECT_MATCH_FIELD_NUMBER
      See Also:
    • QUERY_PARAMETERS_FIELD_NUMBER

      public static final int QUERY_PARAMETERS_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • getDescriptorValue

      public 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) = { ... }
      Specified by:
      getDescriptorValue in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The descriptorValue.
    • getDescriptorValueBytes

      public 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) = { ... }
      Specified by:
      getDescriptorValueBytes in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The bytes for descriptorValue.
    • getDefaultValue

      public 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;
      Specified by:
      getDefaultValue in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The defaultValue.
    • getDefaultValueBytes

      public 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;
      Specified by:
      getDefaultValueBytes in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The bytes for defaultValue.
    • getDescriptorKey

      public String getDescriptorKey()
       The key to use in the descriptor entry.
      
       Defaults to ``query_match``.
       
      string descriptor_key = 4;
      Specified by:
      getDescriptorKey in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The descriptorKey.
    • getDescriptorKeyBytes

      public com.google.protobuf.ByteString getDescriptorKeyBytes()
       The key to use in the descriptor entry.
      
       Defaults to ``query_match``.
       
      string descriptor_key = 4;
      Specified by:
      getDescriptorKeyBytes in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The bytes for descriptorKey.
    • hasExpectMatch

      public 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;
      Specified by:
      hasExpectMatch in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      Whether the expectMatch field is set.
    • getExpectMatch

      public 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;
      Specified by:
      getExpectMatch in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
      Returns:
      The expectMatch.
    • getExpectMatchOrBuilder

      public 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;
      Specified by:
      getExpectMatchOrBuilder in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • getQueryParametersList

      public List<QueryParameterMatcher> getQueryParametersList()
       Specifies a set of query parameters that the rate limit action should match
       on. The action will check the request's query parameters against all the
       specified query parameters in the config. A match will happen if all the
       query parameters 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.QueryParameterMatcher query_parameters = 3 [(.validate.rules) = { ... }
      Specified by:
      getQueryParametersList in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • getQueryParametersOrBuilderList

      public List<? extends QueryParameterMatcherOrBuilder> getQueryParametersOrBuilderList()
       Specifies a set of query parameters that the rate limit action should match
       on. The action will check the request's query parameters against all the
       specified query parameters in the config. A match will happen if all the
       query parameters 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.QueryParameterMatcher query_parameters = 3 [(.validate.rules) = { ... }
      Specified by:
      getQueryParametersOrBuilderList in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • getQueryParametersCount

      public int getQueryParametersCount()
       Specifies a set of query parameters that the rate limit action should match
       on. The action will check the request's query parameters against all the
       specified query parameters in the config. A match will happen if all the
       query parameters 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.QueryParameterMatcher query_parameters = 3 [(.validate.rules) = { ... }
      Specified by:
      getQueryParametersCount in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • getQueryParameters

      public QueryParameterMatcher getQueryParameters(int index)
       Specifies a set of query parameters that the rate limit action should match
       on. The action will check the request's query parameters against all the
       specified query parameters in the config. A match will happen if all the
       query parameters 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.QueryParameterMatcher query_parameters = 3 [(.validate.rules) = { ... }
      Specified by:
      getQueryParameters in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • getQueryParametersOrBuilder

      public QueryParameterMatcherOrBuilder getQueryParametersOrBuilder(int index)
       Specifies a set of query parameters that the rate limit action should match
       on. The action will check the request's query parameters against all the
       specified query parameters in the config. A match will happen if all the
       query parameters 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.QueryParameterMatcher query_parameters = 3 [(.validate.rules) = { ... }
      Specified by:
      getQueryParametersOrBuilder in interface RateLimit.Action.QueryParameterValueMatchOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RateLimit.Action.QueryParameterValueMatch parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RateLimit.Action.QueryParameterValueMatch parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RateLimit.Action.QueryParameterValueMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected RateLimit.Action.QueryParameterValueMatch.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static RateLimit.Action.QueryParameterValueMatch getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<RateLimit.Action.QueryParameterValueMatch> parser()
    • getParserForType

      public com.google.protobuf.Parser<RateLimit.Action.QueryParameterValueMatch> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public RateLimit.Action.QueryParameterValueMatch getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder