Class RateLimitRequest.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
io.envoyproxy.envoy.service.ratelimit.v3.RateLimitRequest.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RateLimitRequestOrBuilder,Cloneable
- Enclosing class:
- RateLimitRequest
public static final class RateLimitRequest.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
implements RateLimitRequestOrBuilder
Main message for a rate limit request. The rate limit service is designed to be fully generic in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded configuration will parse the request and find the most specific limit to apply. In addition, a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any of them are over limit. This enables more complex application level rate limiting scenarios if desired.Protobuf type
envoy.service.ratelimit.v3.RateLimitRequest-
Method Summary
Modifier and TypeMethodDescriptionaddAllDescriptors(Iterable<? extends RateLimitDescriptor> values) All rate limit requests must specify at least one RateLimitDescriptor.addDescriptors(int index, RateLimitDescriptor value) All rate limit requests must specify at least one RateLimitDescriptor.addDescriptors(int index, RateLimitDescriptor.Builder builderForValue) All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify at least one RateLimitDescriptor.addDescriptors(RateLimitDescriptor.Builder builderForValue) All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify at least one RateLimitDescriptor.addDescriptorsBuilder(int index) All rate limit requests must specify at least one RateLimitDescriptor.addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify a domain.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) Rate limit requests can optionally specify the number of hits a request adds to the matched limit.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorgetDescriptors(int index) All rate limit requests must specify at least one RateLimitDescriptor.getDescriptorsBuilder(int index) All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify at least one RateLimitDescriptor.intAll rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify at least one RateLimitDescriptor.getDescriptorsOrBuilder(int index) All rate limit requests must specify at least one RateLimitDescriptor.List<? extends RateLimitDescriptorOrBuilder>All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify a domain.com.google.protobuf.ByteStringAll rate limit requests must specify a domain.intRate limit requests can optionally specify the number of hits a request adds to the matched limit.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeFrom(RateLimitRequest other) final RateLimitRequest.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) removeDescriptors(int index) All rate limit requests must specify at least one RateLimitDescriptor.setDescriptors(int index, RateLimitDescriptor value) All rate limit requests must specify at least one RateLimitDescriptor.setDescriptors(int index, RateLimitDescriptor.Builder builderForValue) All rate limit requests must specify at least one RateLimitDescriptor.All rate limit requests must specify a domain.setDomainBytes(com.google.protobuf.ByteString value) All rate limit requests must specify a domain.setHitsAddend(int value) Rate limit requests can optionally specify the number of hits a request adds to the matched limit.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) final RateLimitRequest.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
setField
public RateLimitRequest.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
clearField
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
clearOneof
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
setRepeatedField
public RateLimitRequest.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
addRepeatedField
public RateLimitRequest.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitRequest.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
mergeFrom
public RateLimitRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitRequest.Builder>- Throws:
IOException
-
getDomain
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Specified by:
getDomainin interfaceRateLimitRequestOrBuilder- Returns:
- The domain.
-
getDomainBytes
public com.google.protobuf.ByteString getDomainBytes()All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Specified by:
getDomainBytesin interfaceRateLimitRequestOrBuilder- Returns:
- The bytes for domain.
-
setDomain
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Parameters:
value- The domain to set.- Returns:
- This builder for chaining.
-
clearDomain
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Returns:
- This builder for chaining.
-
setDomainBytes
All rate limit requests must specify a domain. This enables the configuration to be per application without fear of overlap. E.g., "envoy".
string domain = 1;- Parameters:
value- The bytes for domain to set.- Returns:
- This builder for chaining.
-
getDescriptorsList
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsListin interfaceRateLimitRequestOrBuilder
-
getDescriptorsCount
public int getDescriptorsCount()All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsCountin interfaceRateLimitRequestOrBuilder
-
getDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsin interfaceRateLimitRequestOrBuilder
-
setDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
setDescriptors
public RateLimitRequest.Builder setDescriptors(int index, RateLimitDescriptor.Builder builderForValue) All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addDescriptors
public RateLimitRequest.Builder addDescriptors(int index, RateLimitDescriptor.Builder builderForValue) All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addAllDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
clearDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
removeDescriptors
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
getDescriptorsBuilder
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
getDescriptorsOrBuilder
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsOrBuilderin interfaceRateLimitRequestOrBuilder
-
getDescriptorsOrBuilderList
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2;- Specified by:
getDescriptorsOrBuilderListin interfaceRateLimitRequestOrBuilder
-
addDescriptorsBuilder
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
addDescriptorsBuilder
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
getDescriptorsBuilderList
All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is processed by the service (see below). If any of the descriptors are over limit, the entire request is considered to be over limit.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor descriptors = 2; -
getHitsAddend
public int getHitsAddend()Rate limit requests can optionally specify the number of hits a request adds to the matched limit. If the value is not set in the message, a request increases the matched limit by 1. This value can be overridden by setting filter state value ``envoy.ratelimit.hits_addend`` to the desired number. Invalid number (< 0) or number will be ignored.
uint32 hits_addend = 3;- Specified by:
getHitsAddendin interfaceRateLimitRequestOrBuilder- Returns:
- The hitsAddend.
-
setHitsAddend
Rate limit requests can optionally specify the number of hits a request adds to the matched limit. If the value is not set in the message, a request increases the matched limit by 1. This value can be overridden by setting filter state value ``envoy.ratelimit.hits_addend`` to the desired number. Invalid number (< 0) or number will be ignored.
uint32 hits_addend = 3;- Parameters:
value- The hitsAddend to set.- Returns:
- This builder for chaining.
-
clearHitsAddend
Rate limit requests can optionally specify the number of hits a request adds to the matched limit. If the value is not set in the message, a request increases the matched limit by 1. This value can be overridden by setting filter state value ``envoy.ratelimit.hits_addend`` to the desired number. Invalid number (< 0) or number will be ignored.
uint32 hits_addend = 3;- Returns:
- This builder for chaining.
-
setUnknownFields
public final RateLimitRequest.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
mergeUnknownFields
public final RateLimitRequest.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-