Class LocalRateLimit.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, LocalRateLimitOrBuilder, Cloneable
    Enclosing class:
    LocalRateLimit

    public static final class LocalRateLimit.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
    implements LocalRateLimitOrBuilder
    Protobuf type envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit
    • Method Detail

      • 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.Builder<LocalRateLimit.Builder>
      • clear

        public LocalRateLimit.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • 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.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • getDefaultInstanceForType

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

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

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

        public LocalRateLimit.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • setField

        public LocalRateLimit.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                               Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • clearField

        public LocalRateLimit.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • clearOneof

        public LocalRateLimit.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • setRepeatedField

        public LocalRateLimit.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                       int index,
                                                       Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • addRepeatedField

        public LocalRateLimit.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                       Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • mergeFrom

        public LocalRateLimit.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<LocalRateLimit.Builder>
      • isInitialized

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

        public LocalRateLimit.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws 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<LocalRateLimit.Builder>
        Throws:
        IOException
      • getStatPrefix

        public String getStatPrefix()
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefix in interface LocalRateLimitOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public com.google.protobuf.ByteString getStatPrefixBytes()
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefixBytes in interface LocalRateLimitOrBuilder
        Returns:
        The bytes for statPrefix.
      • setStatPrefix

        public LocalRateLimit.Builder setStatPrefix​(String value)
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The statPrefix to set.
        Returns:
        This builder for chaining.
      • clearStatPrefix

        public LocalRateLimit.Builder clearStatPrefix()
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setStatPrefixBytes

        public LocalRateLimit.Builder setStatPrefixBytes​(com.google.protobuf.ByteString value)
         The prefix to use when emitting :ref:`statistics
         <config_network_filters_local_rate_limit_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for statPrefix to set.
        Returns:
        This builder for chaining.
      • hasTokenBucket

        public boolean hasTokenBucket()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        hasTokenBucket in interface LocalRateLimitOrBuilder
        Returns:
        Whether the tokenBucket field is set.
      • getTokenBucket

        public TokenBucket getTokenBucket()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        getTokenBucket in interface LocalRateLimitOrBuilder
        Returns:
        The tokenBucket.
      • setTokenBucket

        public LocalRateLimit.Builder setTokenBucket​(TokenBucket value)
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
      • setTokenBucket

        public LocalRateLimit.Builder setTokenBucket​(TokenBucket.Builder builderForValue)
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
      • mergeTokenBucket

        public LocalRateLimit.Builder mergeTokenBucket​(TokenBucket value)
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
      • clearTokenBucket

        public LocalRateLimit.Builder clearTokenBucket()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
      • getTokenBucketBuilder

        public TokenBucket.Builder getTokenBucketBuilder()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
      • getTokenBucketOrBuilder

        public TokenBucketOrBuilder getTokenBucketOrBuilder()
         The token bucket configuration to use for rate limiting connections that are processed by the
         filter's filter chain. Each incoming connection processed by the filter consumes a single
         token. If the token is available, the connection will be allowed. If no tokens are available,
         the connection will be immediately closed.
         .. note::
           In the current implementation each filter and filter chain has an independent rate limit, unless
           a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
         .. note::
           In the current implementation the token bucket's :ref:`fill_interval
           <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
           refills.
         
        .envoy.type.v3.TokenBucket token_bucket = 2 [(.validate.rules) = { ... }
        Specified by:
        getTokenBucketOrBuilder in interface LocalRateLimitOrBuilder
      • hasRuntimeEnabled

        public boolean hasRuntimeEnabled()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
        Specified by:
        hasRuntimeEnabled in interface LocalRateLimitOrBuilder
        Returns:
        Whether the runtimeEnabled field is set.
      • getRuntimeEnabled

        public RuntimeFeatureFlag getRuntimeEnabled()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
        Specified by:
        getRuntimeEnabled in interface LocalRateLimitOrBuilder
        Returns:
        The runtimeEnabled.
      • setRuntimeEnabled

        public LocalRateLimit.Builder setRuntimeEnabled​(RuntimeFeatureFlag value)
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
      • setRuntimeEnabled

        public LocalRateLimit.Builder setRuntimeEnabled​(RuntimeFeatureFlag.Builder builderForValue)
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
      • mergeRuntimeEnabled

        public LocalRateLimit.Builder mergeRuntimeEnabled​(RuntimeFeatureFlag value)
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
      • clearRuntimeEnabled

        public LocalRateLimit.Builder clearRuntimeEnabled()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
      • getRuntimeEnabledBuilder

        public RuntimeFeatureFlag.Builder getRuntimeEnabledBuilder()
         Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
         to enabled.
         
        .envoy.config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
      • getShareKey

        public String getShareKey()
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Specified by:
        getShareKey in interface LocalRateLimitOrBuilder
        Returns:
        The shareKey.
      • getShareKeyBytes

        public com.google.protobuf.ByteString getShareKeyBytes()
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Specified by:
        getShareKeyBytes in interface LocalRateLimitOrBuilder
        Returns:
        The bytes for shareKey.
      • setShareKey

        public LocalRateLimit.Builder setShareKey​(String value)
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Parameters:
        value - The shareKey to set.
        Returns:
        This builder for chaining.
      • clearShareKey

        public LocalRateLimit.Builder clearShareKey()
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Returns:
        This builder for chaining.
      • setShareKeyBytes

        public LocalRateLimit.Builder setShareKeyBytes​(com.google.protobuf.ByteString value)
         Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
         with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
         and ``share_key`` configuration. All fields of ``token_bucket`` must match exactly for the token bucket to be shared. If this
         field is empty, this filter will not share a token bucket with any other filter.
         
        string share_key = 4;
        Parameters:
        value - The bytes for shareKey to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final LocalRateLimit.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
      • mergeUnknownFields

        public final LocalRateLimit.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>