Class RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction
- All Implemented Interfaces:
com.google.protobuf.Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
,Serializable
- Enclosing class:
RateLimitQuotaResponse.BucketAction
public static final class RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction
extends com.google.protobuf.GeneratedMessage
implements RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
Quota assignment for the bucket. Configures the rate limiting strategy and the duration for the given :ref:`bucket_id <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`. **Applying the first assignment to the bucket** Once the data plane receives the ``QuotaAssignmentAction``, it must send the current usage report for the bucket, and start rate limiting requests matched into the bucket using the strategy configured in the :ref:`rate_limit_strategy <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.rate_limit_strategy>` field. The assignment becomes bucket's ``active`` assignment. **Expiring the assignment** The duration of the assignment defined in the :ref:`assignment_time_to_live <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>` field. When the duration runs off, the assignment is ``expired``, and no longer ``active``. The data plane should stop applying the rate limiting strategy to the bucket, and transition the bucket to the "expired assignment" state. This activates the behavior configured in the :ref:`expired_assignment_behavior <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.expired_assignment_behavior>` field. **Replacing the assignment** * If the rate limiting strategy is different from bucket's ``active`` assignment, or the current bucket assignment is ``expired``, the data plane must immediately end the current assignment, report the bucket usage, and apply the new assignment. The new assignment becomes bucket's ``active`` assignment. * If the rate limiting strategy is the same as the bucket's ``active`` (not ``expired``) assignment, the data plane should extend the duration of the ``active`` assignment for the duration of the new assignment provided in the :ref:`assignment_time_to_live <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>` field. The ``active`` assignment is considered unchanged.Protobuf type
envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Quota assignment for the bucket.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>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParent
Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
private com.google.protobuf.Duration
private int
private static final RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction
private byte
private static final com.google.protobuf.Parser
<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> static final int
private RateLimitStrategy
private static final long
Fields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, unknownFields
Fields inherited from class com.google.protobuf.AbstractMessage
memoizedSize
Fields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
private
QuotaAssignmentAction
(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
Method Summary
Modifier and TypeMethodDescriptionboolean
com.google.protobuf.Duration
A duration after which the assignment is be considered ``expired``.com.google.protobuf.DurationOrBuilder
A duration after which the assignment is be considered ``expired``.static final com.google.protobuf.Descriptors.Descriptor
com.google.protobuf.Parser
<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> Configures the local rate limiter for the request matched to the bucket.Configures the local rate limiter for the request matched to the bucket.int
boolean
A duration after which the assignment is be considered ``expired``.int
hashCode()
boolean
Configures the local rate limiter for the request matched to the bucket.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
final boolean
newBuilderForType
(com.google.protobuf.AbstractMessage.BuilderParent parent) parseDelimitedFrom
(InputStream input) parseDelimitedFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom
(byte[] data) parseFrom
(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom
(com.google.protobuf.ByteString data) parseFrom
(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom
(com.google.protobuf.CodedInputStream input) parseFrom
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom
(InputStream input) parseFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom
(ByteBuffer data) parseFrom
(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser
<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> parser()
void
writeTo
(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
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
bitField0_
private int bitField0_ -
ASSIGNMENT_TIME_TO_LIVE_FIELD_NUMBER
public static final int ASSIGNMENT_TIME_TO_LIVE_FIELD_NUMBER- See Also:
-
assignmentTimeToLive_
private com.google.protobuf.Duration assignmentTimeToLive_ -
RATE_LIMIT_STRATEGY_FIELD_NUMBER
public static final int RATE_LIMIT_STRATEGY_FIELD_NUMBER- See Also:
-
rateLimitStrategy_
-
memoizedIsInitialized
private byte memoizedIsInitialized -
DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> PARSER
-
-
Constructor Details
-
QuotaAssignmentAction
private QuotaAssignmentAction(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
QuotaAssignmentAction
private QuotaAssignmentAction()
-
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage
-
hasAssignmentTimeToLive
public boolean hasAssignmentTimeToLive()A duration after which the assignment is be considered ``expired``. The process of the expiration is described :ref:`above <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`. * If unset, the assignment has no expiration date. * If set to ``0``, the assignment expires immediately, forcing the client into the :ref:`"expired assignment" <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>` state. This may be used by the RLQS server in cases when it needs clients to proactively fall back to the pre-configured :ref:`ExpiredAssignmentBehavior <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`, f.e. before the server going into restart. .. attention:: Note that :ref:`expiring <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>` the assignment is not the same as :ref:`abandoning <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>` the assignment. While expiring the assignment just transitions the bucket to the "expired assignment" state; abandoning the assignment completely erases the bucket from the data plane memory, and stops the usage reports.
.google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... }
- Specified by:
hasAssignmentTimeToLive
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
- Returns:
- Whether the assignmentTimeToLive field is set.
-
getAssignmentTimeToLive
public com.google.protobuf.Duration getAssignmentTimeToLive()A duration after which the assignment is be considered ``expired``. The process of the expiration is described :ref:`above <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`. * If unset, the assignment has no expiration date. * If set to ``0``, the assignment expires immediately, forcing the client into the :ref:`"expired assignment" <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>` state. This may be used by the RLQS server in cases when it needs clients to proactively fall back to the pre-configured :ref:`ExpiredAssignmentBehavior <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`, f.e. before the server going into restart. .. attention:: Note that :ref:`expiring <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>` the assignment is not the same as :ref:`abandoning <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>` the assignment. While expiring the assignment just transitions the bucket to the "expired assignment" state; abandoning the assignment completely erases the bucket from the data plane memory, and stops the usage reports.
.google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... }
- Specified by:
getAssignmentTimeToLive
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
- Returns:
- The assignmentTimeToLive.
-
getAssignmentTimeToLiveOrBuilder
public com.google.protobuf.DurationOrBuilder getAssignmentTimeToLiveOrBuilder()A duration after which the assignment is be considered ``expired``. The process of the expiration is described :ref:`above <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`. * If unset, the assignment has no expiration date. * If set to ``0``, the assignment expires immediately, forcing the client into the :ref:`"expired assignment" <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>` state. This may be used by the RLQS server in cases when it needs clients to proactively fall back to the pre-configured :ref:`ExpiredAssignmentBehavior <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`, f.e. before the server going into restart. .. attention:: Note that :ref:`expiring <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>` the assignment is not the same as :ref:`abandoning <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>` the assignment. While expiring the assignment just transitions the bucket to the "expired assignment" state; abandoning the assignment completely erases the bucket from the data plane memory, and stops the usage reports.
.google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... }
- Specified by:
getAssignmentTimeToLiveOrBuilder
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
-
hasRateLimitStrategy
public boolean hasRateLimitStrategy()Configures the local rate limiter for the request matched to the bucket. If not set, allow all requests.
.envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3;
- Specified by:
hasRateLimitStrategy
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
- Returns:
- Whether the rateLimitStrategy field is set.
-
getRateLimitStrategy
Configures the local rate limiter for the request matched to the bucket. If not set, allow all requests.
.envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3;
- Specified by:
getRateLimitStrategy
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
- Returns:
- The rateLimitStrategy.
-
getRateLimitStrategyOrBuilder
Configures the local rate limiter for the request matched to the bucket. If not set, allow all requests.
.envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3;
- Specified by:
getRateLimitStrategyOrBuilder
in interfaceRateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage
-
writeTo
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(InputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseDelimitedFrom(InputStream input) throws IOException - Throws:
IOException
-
parseDelimitedFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
public static RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder newBuilder(RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction prototype) -
toBuilder
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) - Overrides:
newBuilderForType
in classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
-
parser
public static com.google.protobuf.Parser<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> parser() -
getParserForType
public com.google.protobuf.Parser<RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction> getParserForType()- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-