Class RateLimitDescriptor.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
io.envoyproxy.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RateLimitDescriptorOrBuilder,Cloneable
- Enclosing class:
- RateLimitDescriptor
public static final class RateLimitDescriptor.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
implements RateLimitDescriptorOrBuilder
A RateLimitDescriptor is a list of hierarchical entries that are used by the service to determine the final rate limit key and overall allowed limit. Here are some examples of how they might be used for the domain "envoy". .. code-block:: cpp ["authenticated": "false"], ["remote_address": "10.0.0.1"] What it does: Limits all unauthenticated traffic for the IP address 10.0.0.1. The configuration supplies a default limit for the *remote_address* key. If there is a desire to raise the limit for 10.0.0.1 or block it entirely it can be specified directly in the configuration. .. code-block:: cpp ["authenticated": "false"], ["path": "/foo/bar"] What it does: Limits all unauthenticated traffic globally for a specific path (or prefix if configured that way in the service). .. code-block:: cpp ["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"] What it does: Limits unauthenticated traffic to a specific path for a specific IP address. Like (1) we can raise/block specific IP addresses if we want with an override configuration. .. code-block:: cpp ["authenticated": "true"], ["client_id": "foo"] What it does: Limits all traffic for an authenticated client "foo" .. code-block:: cpp ["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"] What it does: Limits traffic to a specific path for an authenticated client "foo" The idea behind the API is that (1)/(2)/(3) and (4)/(5) can be sent in 1 request if desired. This enables building complex application scenarios with a generic backend. Optionally the descriptor can contain a limit override under a "limit" key, that specifies the number of requests per unit to use instead of the number configured in the rate limiting service.Protobuf type
envoy.extensions.common.ratelimit.v3.RateLimitDescriptor-
Method Summary
Modifier and TypeMethodDescriptionaddAllEntries(Iterable<? extends RateLimitDescriptor.Entry> values) Descriptor entries.addEntries(int index, RateLimitDescriptor.Entry value) Descriptor entries.addEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue) Descriptor entries.Descriptor entries.addEntries(RateLimitDescriptor.Entry.Builder builderForValue) Descriptor entries.Descriptor entries.addEntriesBuilder(int index) Descriptor entries.addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()Descriptor entries.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) Optional hits_addend for the rate limit descriptor.Optional rate limit override to supply to the ratelimit service.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorgetEntries(int index) Descriptor entries.getEntriesBuilder(int index) Descriptor entries.Descriptor entries.intDescriptor entries.Descriptor entries.getEntriesOrBuilder(int index) Descriptor entries.List<? extends RateLimitDescriptor.EntryOrBuilder>Descriptor entries.com.google.protobuf.UInt64ValueOptional hits_addend for the rate limit descriptor.com.google.protobuf.UInt64Value.BuilderOptional hits_addend for the rate limit descriptor.com.google.protobuf.UInt64ValueOrBuilderOptional hits_addend for the rate limit descriptor.getLimit()Optional rate limit override to supply to the ratelimit service.Optional rate limit override to supply to the ratelimit service.Optional rate limit override to supply to the ratelimit service.booleanOptional hits_addend for the rate limit descriptor.booleanhasLimit()Optional rate limit override to supply to the ratelimit service.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeFrom(RateLimitDescriptor other) mergeHitsAddend(com.google.protobuf.UInt64Value value) Optional hits_addend for the rate limit descriptor.Optional rate limit override to supply to the ratelimit service.mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) removeEntries(int index) Descriptor entries.setEntries(int index, RateLimitDescriptor.Entry value) Descriptor entries.setEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue) Descriptor entries.setHitsAddend(com.google.protobuf.UInt64Value value) Optional hits_addend for the rate limit descriptor.setHitsAddend(com.google.protobuf.UInt64Value.Builder builderForValue) Optional hits_addend for the rate limit descriptor.Optional rate limit override to supply to the ratelimit service.setLimit(RateLimitDescriptor.RateLimitOverride.Builder builderForValue) Optional rate limit override to supply to the ratelimit service.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setUnknownFields(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<RateLimitDescriptor.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<RateLimitDescriptor.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<RateLimitDescriptor.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<RateLimitDescriptor.Builder>
-
setField
public RateLimitDescriptor.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<RateLimitDescriptor.Builder>
-
clearField
public RateLimitDescriptor.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-
clearOneof
public RateLimitDescriptor.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-
setRepeatedField
public RateLimitDescriptor.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<RateLimitDescriptor.Builder>
-
addRepeatedField
public RateLimitDescriptor.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<RateLimitDescriptor.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitDescriptor.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-
mergeFrom
public RateLimitDescriptor.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<RateLimitDescriptor.Builder>- Throws:
IOException
-
getEntriesList
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesListin interfaceRateLimitDescriptorOrBuilder
-
getEntriesCount
public int getEntriesCount()Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesCountin interfaceRateLimitDescriptorOrBuilder
-
getEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesin interfaceRateLimitDescriptorOrBuilder
-
setEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
setEntries
public RateLimitDescriptor.Builder setEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue) Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addEntries
public RateLimitDescriptor.Builder addEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue) Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addAllEntries
public RateLimitDescriptor.Builder addAllEntries(Iterable<? extends RateLimitDescriptor.Entry> values) Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
clearEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
removeEntries
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
getEntriesBuilder
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
getEntriesOrBuilder
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesOrBuilderin interfaceRateLimitDescriptorOrBuilder
-
getEntriesOrBuilderList
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesOrBuilderListin interfaceRateLimitDescriptorOrBuilder
-
addEntriesBuilder
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
addEntriesBuilder
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
getEntriesBuilderList
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... } -
hasLimit
public boolean hasLimit()Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;- Specified by:
hasLimitin interfaceRateLimitDescriptorOrBuilder- Returns:
- Whether the limit field is set.
-
getLimit
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;- Specified by:
getLimitin interfaceRateLimitDescriptorOrBuilder- Returns:
- The limit.
-
setLimit
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2; -
setLimit
public RateLimitDescriptor.Builder setLimit(RateLimitDescriptor.RateLimitOverride.Builder builderForValue) Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2; -
mergeLimit
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2; -
clearLimit
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2; -
getLimitBuilder
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2; -
getLimitOrBuilder
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;- Specified by:
getLimitOrBuilderin interfaceRateLimitDescriptorOrBuilder
-
hasHitsAddend
public boolean hasHitsAddend()Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3;- Specified by:
hasHitsAddendin interfaceRateLimitDescriptorOrBuilder- Returns:
- Whether the hitsAddend field is set.
-
getHitsAddend
public com.google.protobuf.UInt64Value getHitsAddend()Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3;- Specified by:
getHitsAddendin interfaceRateLimitDescriptorOrBuilder- Returns:
- The hitsAddend.
-
setHitsAddend
Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3; -
setHitsAddend
public RateLimitDescriptor.Builder setHitsAddend(com.google.protobuf.UInt64Value.Builder builderForValue) Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3; -
mergeHitsAddend
Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3; -
clearHitsAddend
Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3; -
getHitsAddendBuilder
public com.google.protobuf.UInt64Value.Builder getHitsAddendBuilder()Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3; -
getHitsAddendOrBuilder
public com.google.protobuf.UInt64ValueOrBuilder getHitsAddendOrBuilder()Optional hits_addend for the rate limit descriptor. If set the value will override the request level hits_addend.
.google.protobuf.UInt64Value hits_addend = 3;- Specified by:
getHitsAddendOrBuilderin interfaceRateLimitDescriptorOrBuilder
-
setUnknownFields
public final RateLimitDescriptor.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-
mergeUnknownFields
public final RateLimitDescriptor.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-