Class RateLimitQuotaBucketSettings.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RateLimitQuotaBucketSettingsOrBuilder, java.lang.Cloneable
    Enclosing class:
    RateLimitQuotaBucketSettings

    public static final class RateLimitQuotaBucketSettings.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<RateLimitQuotaBucketSettings.Builder>
    implements RateLimitQuotaBucketSettingsOrBuilder
     Rate Limit Quota Bucket Settings to apply on the successful ``bucket_matchers`` match.
    
     Specify this message in the :ref:`Matcher.OnMatch.action
     <envoy_v3_api_field_.xds.type.matcher.v3.Matcher.OnMatch.action>` field of the
     ``bucket_matchers`` matcher tree to assign the matched requests to the Quota Bucket.
     Usage example: :ref:`RateLimitQuotaFilterConfig.bucket_matchers
     <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.bucket_matchers>`.
     [#next-free-field: 6]
     
    Protobuf type envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<RateLimitQuotaBucketSettings.Builder>
      • maybeForceBuilderInitialization

        private void maybeForceBuilderInitialization()
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<RateLimitQuotaBucketSettings.Builder>
      • getDefaultInstanceForType

        public RateLimitQuotaBucketSettings getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public RateLimitQuotaBucketSettings build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public RateLimitQuotaBucketSettings buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.Builder<RateLimitQuotaBucketSettings.Builder>
      • mergeFrom

        public RateLimitQuotaBucketSettings.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RateLimitQuotaBucketSettings.Builder>
        Throws:
        java.io.IOException
      • hasBucketIdBuilder

        public boolean hasBucketIdBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
        Specified by:
        hasBucketIdBuilder in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        Whether the bucketIdBuilder field is set.
      • getBucketIdBuilder

        public RateLimitQuotaBucketSettings.BucketIdBuilder getBucketIdBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
        Specified by:
        getBucketIdBuilder in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        The bucketIdBuilder.
      • setBucketIdBuilder

        public RateLimitQuotaBucketSettings.Builder setBucketIdBuilder​(RateLimitQuotaBucketSettings.BucketIdBuilder value)
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • setBucketIdBuilder

        public RateLimitQuotaBucketSettings.Builder setBucketIdBuilder​(RateLimitQuotaBucketSettings.BucketIdBuilder.Builder builderForValue)
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • mergeBucketIdBuilder

        public RateLimitQuotaBucketSettings.Builder mergeBucketIdBuilder​(RateLimitQuotaBucketSettings.BucketIdBuilder value)
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • clearBucketIdBuilder

        public RateLimitQuotaBucketSettings.Builder clearBucketIdBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • getBucketIdBuilderBuilder

        public RateLimitQuotaBucketSettings.BucketIdBuilder.Builder getBucketIdBuilderBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • getBucketIdBuilderOrBuilder

        public RateLimitQuotaBucketSettings.BucketIdBuilderOrBuilder getBucketIdBuilderOrBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
        Specified by:
        getBucketIdBuilderOrBuilder in interface RateLimitQuotaBucketSettingsOrBuilder
      • getBucketIdBuilderFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RateLimitQuotaBucketSettings.BucketIdBuilder,​RateLimitQuotaBucketSettings.BucketIdBuilder.Builder,​RateLimitQuotaBucketSettings.BucketIdBuilderOrBuilder> getBucketIdBuilderFieldBuilder()
         ``BucketId`` builder.
        
         :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` is a map from
         the string key to the string value which serves as bucket identifier common for on
         the control plane and the data plane.
        
         While ``BucketId`` is always static, ``BucketIdBuilder`` allows to populate map values
         with the dynamic properties associated with the each individual request.
        
         Example 1: static fields only
        
         ``BucketIdBuilder``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         hello:
         string_value: world
        
         Produces the following ``BucketId`` for all requests:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         hello: world
        
         Example 2: static and dynamic fields
        
         .. validated-code-block:: yaml
         :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder
        
         bucket_id_builder:
         name:
         string_value: my_bucket
         env:
         custom_value:
         typed_config:
         '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
         header_name: environment
        
         In this example, the value of ``BucketId`` key ``env`` is substituted from the ``environment``
         request header.
        
         This is equivalent to the following ``pseudo-code``:
        
         .. code-block:: yaml
        
         name: 'my_bucket'
         env: $header['environment']
        
         For example, the request with the HTTP header ``env`` set to ``staging`` will produce
         the following ``BucketId``:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: staging
        
         For the request with the HTTP header ``environment`` set to ``prod``, will produce:
        
         .. validated-code-block:: yaml
         :type-name: envoy.service.rate_limit_quota.v3.BucketId
        
         bucket:
         name: my_bucket
         env: prod
        
         .. note::
         The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and
         ``{ b: 'B', a: 'A' }`` are identical.
        
         If not set, requests will NOT be reported to the server, and will always limited
         according to :ref:`no_assignment_behavior
         <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
         configuration.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder bucket_id_builder = 1;
      • hasReportingInterval

        public boolean hasReportingInterval()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
        Specified by:
        hasReportingInterval in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        Whether the reportingInterval field is set.
      • getReportingInterval

        public com.google.protobuf.Duration getReportingInterval()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
        Specified by:
        getReportingInterval in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        The reportingInterval.
      • setReportingInterval

        public RateLimitQuotaBucketSettings.Builder setReportingInterval​(com.google.protobuf.Duration value)
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • setReportingInterval

        public RateLimitQuotaBucketSettings.Builder setReportingInterval​(com.google.protobuf.Duration.Builder builderForValue)
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • mergeReportingInterval

        public RateLimitQuotaBucketSettings.Builder mergeReportingInterval​(com.google.protobuf.Duration value)
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • clearReportingInterval

        public RateLimitQuotaBucketSettings.Builder clearReportingInterval()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • getReportingIntervalBuilder

        public com.google.protobuf.Duration.Builder getReportingIntervalBuilder()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • getReportingIntervalOrBuilder

        public com.google.protobuf.DurationOrBuilder getReportingIntervalOrBuilder()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
        Specified by:
        getReportingIntervalOrBuilder in interface RateLimitQuotaBucketSettingsOrBuilder
      • getReportingIntervalFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,​com.google.protobuf.Duration.Builder,​com.google.protobuf.DurationOrBuilder> getReportingIntervalFieldBuilder()
         The interval at which the data plane (RLQS client) is to report quota usage for this bucket.
        
         When the first request is matched to a bucket with no assignment, the data plane is to report
         the request immediately in the :ref:`RateLimitQuotaUsageReports
         <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaUsageReports>` message.
         For the RLQS server, this signals that the data plane is now subscribed to
         the quota assignments in this bucket, and will start sending the assignment as described in
         the :ref:`RLQS documentation <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         After sending the initial report, the data plane is to continue reporting the bucket usage with
         the internal specified in this field.
        
         If for any reason RLQS client doesn't receive the initial assignment for the reported bucket,
         the data plane will eventually consider the bucket abandoned and stop sending the usage
         reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS)
         <envoy_v3_api_file_envoy/service/rate_limit_quota/v3/rlqs.proto>`.
        
         [#comment: 100000000 nanoseconds = 0.1 seconds]
         
        .google.protobuf.Duration reporting_interval = 2 [(.validate.rules) = { ... }
      • hasDenyResponseSettings

        public boolean hasDenyResponseSettings()
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
        Specified by:
        hasDenyResponseSettings in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        Whether the denyResponseSettings field is set.
      • getDenyResponseSettings

        public RateLimitQuotaBucketSettings.DenyResponseSettings getDenyResponseSettings()
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
        Specified by:
        getDenyResponseSettings in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        The denyResponseSettings.
      • setDenyResponseSettings

        public RateLimitQuotaBucketSettings.Builder setDenyResponseSettings​(RateLimitQuotaBucketSettings.DenyResponseSettings value)
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
      • setDenyResponseSettings

        public RateLimitQuotaBucketSettings.Builder setDenyResponseSettings​(RateLimitQuotaBucketSettings.DenyResponseSettings.Builder builderForValue)
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
      • mergeDenyResponseSettings

        public RateLimitQuotaBucketSettings.Builder mergeDenyResponseSettings​(RateLimitQuotaBucketSettings.DenyResponseSettings value)
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
      • clearDenyResponseSettings

        public RateLimitQuotaBucketSettings.Builder clearDenyResponseSettings()
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
      • getDenyResponseSettingsBuilder

        public RateLimitQuotaBucketSettings.DenyResponseSettings.Builder getDenyResponseSettingsBuilder()
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
      • getDenyResponseSettingsOrBuilder

        public RateLimitQuotaBucketSettings.DenyResponseSettingsOrBuilder getDenyResponseSettingsOrBuilder()
         Customize the deny response to the requests over the rate limit.
         If not set, the filter will be configured as if an empty message is set,
         and will behave according to the defaults specified in :ref:`DenyResponseSettings
         <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings>`.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings deny_response_settings = 3;
        Specified by:
        getDenyResponseSettingsOrBuilder in interface RateLimitQuotaBucketSettingsOrBuilder
      • hasNoAssignmentBehavior

        public boolean hasNoAssignmentBehavior()
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
        Specified by:
        hasNoAssignmentBehavior in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        Whether the noAssignmentBehavior field is set.
      • getNoAssignmentBehavior

        public RateLimitQuotaBucketSettings.NoAssignmentBehavior getNoAssignmentBehavior()
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
        Specified by:
        getNoAssignmentBehavior in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        The noAssignmentBehavior.
      • setNoAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder setNoAssignmentBehavior​(RateLimitQuotaBucketSettings.NoAssignmentBehavior value)
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
      • setNoAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder setNoAssignmentBehavior​(RateLimitQuotaBucketSettings.NoAssignmentBehavior.Builder builderForValue)
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
      • mergeNoAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder mergeNoAssignmentBehavior​(RateLimitQuotaBucketSettings.NoAssignmentBehavior value)
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
      • clearNoAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder clearNoAssignmentBehavior()
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
      • getNoAssignmentBehaviorBuilder

        public RateLimitQuotaBucketSettings.NoAssignmentBehavior.Builder getNoAssignmentBehaviorBuilder()
         Configures the behavior in the "no assignment" state: after the first request has been
         matched to the bucket, and before the the RLQS server returns the first quota assignment.
        
         If not set, the default behavior is to allow all requests.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior no_assignment_behavior = 4;
      • hasExpiredAssignmentBehavior

        public boolean hasExpiredAssignmentBehavior()
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
        Specified by:
        hasExpiredAssignmentBehavior in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        Whether the expiredAssignmentBehavior field is set.
      • getExpiredAssignmentBehavior

        public RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior getExpiredAssignmentBehavior()
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
        Specified by:
        getExpiredAssignmentBehavior in interface RateLimitQuotaBucketSettingsOrBuilder
        Returns:
        The expiredAssignmentBehavior.
      • setExpiredAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder setExpiredAssignmentBehavior​(RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior value)
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
      • setExpiredAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder setExpiredAssignmentBehavior​(RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.Builder builderForValue)
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
      • mergeExpiredAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder mergeExpiredAssignmentBehavior​(RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior value)
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
      • clearExpiredAssignmentBehavior

        public RateLimitQuotaBucketSettings.Builder clearExpiredAssignmentBehavior()
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
      • getExpiredAssignmentBehaviorBuilder

        public RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.Builder getExpiredAssignmentBehaviorBuilder()
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
      • getExpiredAssignmentBehaviorOrBuilder

        public RateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorOrBuilder getExpiredAssignmentBehaviorOrBuilder()
         Configures the behavior in the "expired assignment" state: the bucket's assignment has expired,
         and cannot be refreshed.
        
         If not set, the bucket is abandoned when its ``active`` assignment expires.
         The process of abandoning the bucket, and restarting the subscription is described in the
         :ref:`AbandonAction <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         message.
         
        .envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expired_assignment_behavior = 5;
        Specified by:
        getExpiredAssignmentBehaviorOrBuilder in interface RateLimitQuotaBucketSettingsOrBuilder