Class RateLimitQuotaBucketSettings
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessage
-
- io.envoyproxy.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings
-
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RateLimitQuotaBucketSettingsOrBuilder,java.io.Serializable
public final class RateLimitQuotaBucketSettings extends com.google.protobuf.GeneratedMessage 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 typeenvoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRateLimitQuotaBucketSettings.BucketIdBuilder``BucketIdBuilder`` makes it possible to build :ref:`BucketId <envoy_v3_api_msg_service.rate_limit_quota.v3.BucketId>` with values substituted from the dynamic properties associated with each individual request.static interfaceRateLimitQuotaBucketSettings.BucketIdBuilderOrBuilderstatic classRateLimitQuotaBucketSettings.BuilderRate Limit Quota Bucket Settings to apply on the successful ``bucket_matchers`` match.static classRateLimitQuotaBucketSettings.DenyResponseSettingsCustomize the deny response to the requests over the rate limit.static interfaceRateLimitQuotaBucketSettings.DenyResponseSettingsOrBuilderstatic classRateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorSpecifies the behavior when the bucket's assignment has expired, and cannot be refreshed for any reason.static interfaceRateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorOrBuilderstatic classRateLimitQuotaBucketSettings.NoAssignmentBehaviorConfigures the behavior after the first request has been matched to the bucket, and before the the RLQS server returns the first quota assignment.static interfaceRateLimitQuotaBucketSettings.NoAssignmentBehaviorOrBuilder-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description private intbitField0_static intBUCKET_ID_BUILDER_FIELD_NUMBERprivate RateLimitQuotaBucketSettings.BucketIdBuilderbucketIdBuilder_private static RateLimitQuotaBucketSettingsDEFAULT_INSTANCEstatic intDENY_RESPONSE_SETTINGS_FIELD_NUMBERprivate RateLimitQuotaBucketSettings.DenyResponseSettingsdenyResponseSettings_static intEXPIRED_ASSIGNMENT_BEHAVIOR_FIELD_NUMBERprivate RateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorexpiredAssignmentBehavior_private bytememoizedIsInitializedstatic intNO_ASSIGNMENT_BEHAVIOR_FIELD_NUMBERprivate RateLimitQuotaBucketSettings.NoAssignmentBehaviornoAssignmentBehavior_private static com.google.protobuf.Parser<RateLimitQuotaBucketSettings>PARSERstatic intREPORTING_INTERVAL_FIELD_NUMBERprivate com.google.protobuf.DurationreportingInterval_private static longserialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description privateRateLimitQuotaBucketSettings()privateRateLimitQuotaBucketSettings(com.google.protobuf.GeneratedMessage.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)RateLimitQuotaBucketSettings.BucketIdBuildergetBucketIdBuilder()``BucketId`` builder.RateLimitQuotaBucketSettings.BucketIdBuilderOrBuildergetBucketIdBuilderOrBuilder()``BucketId`` builder.static RateLimitQuotaBucketSettingsgetDefaultInstance()RateLimitQuotaBucketSettingsgetDefaultInstanceForType()RateLimitQuotaBucketSettings.DenyResponseSettingsgetDenyResponseSettings()Customize the deny response to the requests over the rate limit.RateLimitQuotaBucketSettings.DenyResponseSettingsOrBuildergetDenyResponseSettingsOrBuilder()Customize the deny response to the requests over the rate limit.static com.google.protobuf.Descriptors.DescriptorgetDescriptor()RateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorgetExpiredAssignmentBehavior()Configures the behavior in the "expired assignment" state: the bucket's assignment has expired, and cannot be refreshed.RateLimitQuotaBucketSettings.ExpiredAssignmentBehaviorOrBuildergetExpiredAssignmentBehaviorOrBuilder()Configures the behavior in the "expired assignment" state: the bucket's assignment has expired, and cannot be refreshed.RateLimitQuotaBucketSettings.NoAssignmentBehaviorgetNoAssignmentBehavior()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.RateLimitQuotaBucketSettings.NoAssignmentBehaviorOrBuildergetNoAssignmentBehaviorOrBuilder()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.com.google.protobuf.Parser<RateLimitQuotaBucketSettings>getParserForType()com.google.protobuf.DurationgetReportingInterval()The interval at which the data plane (RLQS client) is to report quota usage for this bucket.com.google.protobuf.DurationOrBuildergetReportingIntervalOrBuilder()The interval at which the data plane (RLQS client) is to report quota usage for this bucket.intgetSerializedSize()booleanhasBucketIdBuilder()``BucketId`` builder.booleanhasDenyResponseSettings()Customize the deny response to the requests over the rate limit.booleanhasExpiredAssignmentBehavior()Configures the behavior in the "expired assignment" state: the bucket's assignment has expired, and cannot be refreshed.inthashCode()booleanhasNoAssignmentBehavior()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.booleanhasReportingInterval()The interval at which the data plane (RLQS client) is to report quota usage for this bucket.protected com.google.protobuf.GeneratedMessage.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static RateLimitQuotaBucketSettings.BuildernewBuilder()static RateLimitQuotaBucketSettings.BuildernewBuilder(RateLimitQuotaBucketSettings prototype)RateLimitQuotaBucketSettings.BuildernewBuilderForType()protected RateLimitQuotaBucketSettings.BuildernewBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)static RateLimitQuotaBucketSettingsparseDelimitedFrom(java.io.InputStream input)static RateLimitQuotaBucketSettingsparseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitQuotaBucketSettingsparseFrom(byte[] data)static RateLimitQuotaBucketSettingsparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitQuotaBucketSettingsparseFrom(com.google.protobuf.ByteString data)static RateLimitQuotaBucketSettingsparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitQuotaBucketSettingsparseFrom(com.google.protobuf.CodedInputStream input)static RateLimitQuotaBucketSettingsparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitQuotaBucketSettingsparseFrom(java.io.InputStream input)static RateLimitQuotaBucketSettingsparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RateLimitQuotaBucketSettingsparseFrom(java.nio.ByteBuffer data)static RateLimitQuotaBucketSettingsparseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<RateLimitQuotaBucketSettings>parser()RateLimitQuotaBucketSettings.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
bitField0_
private int bitField0_
-
BUCKET_ID_BUILDER_FIELD_NUMBER
public static final int BUCKET_ID_BUILDER_FIELD_NUMBER
- See Also:
- Constant Field Values
-
bucketIdBuilder_
private RateLimitQuotaBucketSettings.BucketIdBuilder bucketIdBuilder_
-
REPORTING_INTERVAL_FIELD_NUMBER
public static final int REPORTING_INTERVAL_FIELD_NUMBER
- See Also:
- Constant Field Values
-
reportingInterval_
private com.google.protobuf.Duration reportingInterval_
-
DENY_RESPONSE_SETTINGS_FIELD_NUMBER
public static final int DENY_RESPONSE_SETTINGS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
denyResponseSettings_
private RateLimitQuotaBucketSettings.DenyResponseSettings denyResponseSettings_
-
NO_ASSIGNMENT_BEHAVIOR_FIELD_NUMBER
public static final int NO_ASSIGNMENT_BEHAVIOR_FIELD_NUMBER
- See Also:
- Constant Field Values
-
noAssignmentBehavior_
private RateLimitQuotaBucketSettings.NoAssignmentBehavior noAssignmentBehavior_
-
EXPIRED_ASSIGNMENT_BEHAVIOR_FIELD_NUMBER
public static final int EXPIRED_ASSIGNMENT_BEHAVIOR_FIELD_NUMBER
- See Also:
- Constant Field Values
-
expiredAssignmentBehavior_
private RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior expiredAssignmentBehavior_
-
memoizedIsInitialized
private byte memoizedIsInitialized
-
DEFAULT_INSTANCE
private static final RateLimitQuotaBucketSettings DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<RateLimitQuotaBucketSettings> PARSER
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage
-
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:
hasBucketIdBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder- 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:
getBucketIdBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder- Returns:
- The bucketIdBuilder.
-
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:
getBucketIdBuilderOrBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder
-
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:
hasReportingIntervalin interfaceRateLimitQuotaBucketSettingsOrBuilder- 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:
getReportingIntervalin interfaceRateLimitQuotaBucketSettingsOrBuilder- Returns:
- The reportingInterval.
-
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:
getReportingIntervalOrBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder
-
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:
hasDenyResponseSettingsin interfaceRateLimitQuotaBucketSettingsOrBuilder- 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:
getDenyResponseSettingsin interfaceRateLimitQuotaBucketSettingsOrBuilder- Returns:
- The denyResponseSettings.
-
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:
getDenyResponseSettingsOrBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder
-
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:
hasNoAssignmentBehaviorin interfaceRateLimitQuotaBucketSettingsOrBuilder- 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:
getNoAssignmentBehaviorin interfaceRateLimitQuotaBucketSettingsOrBuilder- Returns:
- The noAssignmentBehavior.
-
getNoAssignmentBehaviorOrBuilder
public RateLimitQuotaBucketSettings.NoAssignmentBehaviorOrBuilder getNoAssignmentBehaviorOrBuilder()
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:
getNoAssignmentBehaviorOrBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder
-
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:
hasExpiredAssignmentBehaviorin interfaceRateLimitQuotaBucketSettingsOrBuilder- 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:
getExpiredAssignmentBehaviorin interfaceRateLimitQuotaBucketSettingsOrBuilder- Returns:
- The expiredAssignmentBehavior.
-
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:
getExpiredAssignmentBehaviorOrBuilderin interfaceRateLimitQuotaBucketSettingsOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessage- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static RateLimitQuotaBucketSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static RateLimitQuotaBucketSettings parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RateLimitQuotaBucketSettings parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public RateLimitQuotaBucketSettings.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
public static RateLimitQuotaBucketSettings.Builder newBuilder()
-
newBuilder
public static RateLimitQuotaBucketSettings.Builder newBuilder(RateLimitQuotaBucketSettings prototype)
-
toBuilder
public RateLimitQuotaBucketSettings.Builder toBuilder()
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RateLimitQuotaBucketSettings.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
- Overrides:
newBuilderForTypein classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
public static RateLimitQuotaBucketSettings getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<RateLimitQuotaBucketSettings> parser()
-
getParserForType
public com.google.protobuf.Parser<RateLimitQuotaBucketSettings> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
public RateLimitQuotaBucketSettings getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-