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.v2.RateLimitRequest| Modifier and Type | Method and Description |
|---|---|
RateLimitRequest.Builder |
addAllDescriptors(Iterable<? extends RateLimitDescriptor> values)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
addDescriptors(int index,
RateLimitDescriptor.Builder builderForValue)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
addDescriptors(int index,
RateLimitDescriptor value)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
addDescriptors(RateLimitDescriptor.Builder builderForValue)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
addDescriptors(RateLimitDescriptor value)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitDescriptor.Builder |
addDescriptorsBuilder()
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitDescriptor.Builder |
addDescriptorsBuilder(int index)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
RateLimitRequest |
build() |
RateLimitRequest |
buildPartial() |
RateLimitRequest.Builder |
clear() |
RateLimitRequest.Builder |
clearDescriptors()
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
clearDomain()
All rate limit requests must specify a domain.
|
RateLimitRequest.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
RateLimitRequest.Builder |
clearHitsAddend()
Rate limit requests can optionally specify the number of hits a request adds to the matched
limit.
|
RateLimitRequest.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
RateLimitRequest.Builder |
clone() |
RateLimitRequest |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
RateLimitDescriptor |
getDescriptors(int index)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitDescriptor.Builder |
getDescriptorsBuilder(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.
|
int |
getDescriptorsCount()
All rate limit requests must specify at least one RateLimitDescriptor.
|
List<RateLimitDescriptor> |
getDescriptorsList()
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitDescriptorOrBuilder |
getDescriptorsOrBuilder(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.
|
String |
getDomain()
All rate limit requests must specify a domain.
|
com.google.protobuf.ByteString |
getDomainBytes()
All rate limit requests must specify a domain.
|
int |
getHitsAddend()
Rate limit requests can optionally specify the number of hits a request adds to the matched
limit.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
RateLimitRequest.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
RateLimitRequest.Builder |
mergeFrom(com.google.protobuf.Message other) |
RateLimitRequest.Builder |
mergeFrom(RateLimitRequest other) |
RateLimitRequest.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
RateLimitRequest.Builder |
removeDescriptors(int index)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
setDescriptors(int index,
RateLimitDescriptor.Builder builderForValue)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
setDescriptors(int index,
RateLimitDescriptor value)
All rate limit requests must specify at least one RateLimitDescriptor.
|
RateLimitRequest.Builder |
setDomain(String value)
All rate limit requests must specify a domain.
|
RateLimitRequest.Builder |
setDomainBytes(com.google.protobuf.ByteString value)
All rate limit requests must specify a domain.
|
RateLimitRequest.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
RateLimitRequest.Builder |
setHitsAddend(int value)
Rate limit requests can optionally specify the number of hits a request adds to the matched
limit.
|
RateLimitRequest.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
RateLimitRequest.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic RateLimitRequest build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic RateLimitRequest buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic RateLimitRequest.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
setField in interface com.google.protobuf.Message.BuildersetField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
setRepeatedField in interface com.google.protobuf.Message.BuildersetRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
addRepeatedField in interface com.google.protobuf.Message.BuilderaddRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder mergeFrom(RateLimitRequest other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public RateLimitRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<RateLimitRequest.Builder>IOExceptionpublic 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;getDomain in interface RateLimitRequestOrBuilderpublic 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;getDomainBytes in interface RateLimitRequestOrBuilderpublic 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;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;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;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;getDescriptorsList in interface RateLimitRequestOrBuilderpublic 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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;getDescriptorsCount in interface RateLimitRequestOrBuilderpublic 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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;getDescriptors in interface RateLimitRequestOrBuilderpublic 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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;getDescriptorsOrBuilder in interface RateLimitRequestOrBuilderpublic 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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;getDescriptorsOrBuilderList in interface RateLimitRequestOrBuilderpublic 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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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.api.v2.ratelimit.RateLimitDescriptor descriptors = 2;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;getHitsAddend in interface RateLimitRequestOrBuilderpublic 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;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;public final RateLimitRequest.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>public final RateLimitRequest.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimitRequest.Builder>Copyright © 2018–2021 The Envoy Project. All rights reserved.