Class RateLimit.Action.GenericKey

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

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

 .. code-block:: cpp

   ("generic_key", "<descriptor_value>")
 
Protobuf type envoy.config.route.v3.RateLimit.Action.GenericKey
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:
  • 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. 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.GenericKeyOrBuilder
      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. 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.GenericKeyOrBuilder
      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 = 3;
      Specified by:
      getDefaultValue in interface RateLimit.Action.GenericKeyOrBuilder
      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 = 3;
      Specified by:
      getDefaultValueBytes in interface RateLimit.Action.GenericKeyOrBuilder
      Returns:
      The bytes for defaultValue.
    • getDescriptorKey

      public String getDescriptorKey()
       An optional key to use in the descriptor entry. If not set it defaults
       to 'generic_key' as the descriptor key.
       
      string descriptor_key = 2;
      Specified by:
      getDescriptorKey in interface RateLimit.Action.GenericKeyOrBuilder
      Returns:
      The descriptorKey.
    • getDescriptorKeyBytes

      public com.google.protobuf.ByteString getDescriptorKeyBytes()
       An optional key to use in the descriptor entry. If not set it defaults
       to 'generic_key' as the descriptor key.
       
      string descriptor_key = 2;
      Specified by:
      getDescriptorKeyBytes in interface RateLimit.Action.GenericKeyOrBuilder
      Returns:
      The bytes for descriptorKey.
    • 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.GenericKey parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

      public static RateLimit.Action.GenericKey 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.GenericKey parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

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

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

      public RateLimit.Action.GenericKey.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static RateLimit.Action.GenericKey.Builder 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.GenericKey.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

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

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

      public com.google.protobuf.Parser<RateLimit.Action.GenericKey> 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.GenericKey getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder