Class RateLimitRequest.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- 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 typeenvoy.service.ratelimit.v3.RateLimitRequest
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RateLimitRequest.BuilderaddAllDescriptors(Iterable<? extends RateLimitDescriptor> values)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderaddDescriptors(int index, RateLimitDescriptor value)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderaddDescriptors(int index, RateLimitDescriptor.Builder builderForValue)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderaddDescriptors(RateLimitDescriptor value)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderaddDescriptors(RateLimitDescriptor.Builder builderForValue)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitDescriptor.BuilderaddDescriptorsBuilder()All rate limit requests must specify at least one RateLimitDescriptor.RateLimitDescriptor.BuilderaddDescriptorsBuilder(int index)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RateLimitRequestbuild()RateLimitRequestbuildPartial()RateLimitRequest.Builderclear()RateLimitRequest.BuilderclearDescriptors()All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuilderclearDomain()All rate limit requests must specify a domain.RateLimitRequest.BuilderclearField(com.google.protobuf.Descriptors.FieldDescriptor field)RateLimitRequest.BuilderclearHitsAddend()Rate limit requests can optionally specify the number of hits a request adds to the matched limit.RateLimitRequest.BuilderclearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)RateLimitRequest.Builderclone()RateLimitRequestgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()com.google.protobuf.Descriptors.DescriptorgetDescriptorForType()RateLimitDescriptorgetDescriptors(int index)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitDescriptor.BuildergetDescriptorsBuilder(int index)All rate limit requests must specify at least one RateLimitDescriptor.List<RateLimitDescriptor.Builder>getDescriptorsBuilderList()All rate limit requests must specify at least one RateLimitDescriptor.intgetDescriptorsCount()All rate limit requests must specify at least one RateLimitDescriptor.List<RateLimitDescriptor>getDescriptorsList()All rate limit requests must specify at least one RateLimitDescriptor.RateLimitDescriptorOrBuildergetDescriptorsOrBuilder(int index)All rate limit requests must specify at least one RateLimitDescriptor.List<? extends RateLimitDescriptorOrBuilder>getDescriptorsOrBuilderList()All rate limit requests must specify at least one RateLimitDescriptor.StringgetDomain()All rate limit requests must specify a domain.com.google.protobuf.ByteStringgetDomainBytes()All rate limit requests must specify a domain.intgetHitsAddend()Rate limit requests can optionally specify the number of hits a request adds to the matched limit.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()RateLimitRequest.BuildermergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)RateLimitRequest.BuildermergeFrom(com.google.protobuf.Message other)RateLimitRequest.BuildermergeFrom(RateLimitRequest other)RateLimitRequest.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)RateLimitRequest.BuilderremoveDescriptors(int index)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuildersetDescriptors(int index, RateLimitDescriptor value)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuildersetDescriptors(int index, RateLimitDescriptor.Builder builderForValue)All rate limit requests must specify at least one RateLimitDescriptor.RateLimitRequest.BuildersetDomain(String value)All rate limit requests must specify a domain.RateLimitRequest.BuildersetDomainBytes(com.google.protobuf.ByteString value)All rate limit requests must specify a domain.RateLimitRequest.BuildersetField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RateLimitRequest.BuildersetHitsAddend(int value)Rate limit requests can optionally specify the number of hits a request adds to the matched limit.RateLimitRequest.BuildersetRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)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, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
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
public 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
public RateLimitRequest getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public RateLimitRequest build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public RateLimitRequest buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public RateLimitRequest.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
public RateLimitRequest.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>
-
clearOneof
public RateLimitRequest.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- 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
public RateLimitRequest.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitRequest.Builder>
-
mergeFrom
public RateLimitRequest.Builder mergeFrom(RateLimitRequest other)
-
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
public String 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
public RateLimitRequest.Builder setDomain(String value)
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
public RateLimitRequest.Builder 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
public RateLimitRequest.Builder setDomainBytes(com.google.protobuf.ByteString value)
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
public List<RateLimitDescriptor> 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
public RateLimitDescriptor getDescriptors(int index)
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
public RateLimitRequest.Builder setDescriptors(int index, RateLimitDescriptor value)
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
public RateLimitRequest.Builder addDescriptors(RateLimitDescriptor value)
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 value)
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(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
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
public RateLimitRequest.Builder addAllDescriptors(Iterable<? extends RateLimitDescriptor> values)
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
public RateLimitRequest.Builder 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
public RateLimitRequest.Builder removeDescriptors(int index)
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
public RateLimitDescriptor.Builder getDescriptorsBuilder(int index)
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
public RateLimitDescriptorOrBuilder getDescriptorsOrBuilder(int index)
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
public List<? extends RateLimitDescriptorOrBuilder> 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
public RateLimitDescriptor.Builder 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
public RateLimitDescriptor.Builder addDescriptorsBuilder(int index)
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
public List<RateLimitDescriptor.Builder> 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.
uint32 hits_addend = 3;- Specified by:
getHitsAddendin interfaceRateLimitRequestOrBuilder- Returns:
- The hitsAddend.
-
setHitsAddend
public RateLimitRequest.Builder setHitsAddend(int value)
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.
uint32 hits_addend = 3;- Parameters:
value- The hitsAddend to set.- Returns:
- This builder for chaining.
-
clearHitsAddend
public RateLimitRequest.Builder 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.
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>
-
-