public static final class Ratelimit.RateLimitDescriptor.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder> implements Ratelimit.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.Protobuf type
envoy.api.v2.ratelimit.RateLimitDescriptorgetAllFields, 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<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.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<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic Ratelimit.RateLimitDescriptor build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic Ratelimit.RateLimitDescriptor buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic Ratelimit.RateLimitDescriptor.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.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<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.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<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.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<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.Builder mergeFrom(Ratelimit.RateLimitDescriptor other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>public Ratelimit.RateLimitDescriptor.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<Ratelimit.RateLimitDescriptor.Builder>IOExceptionpublic List<Ratelimit.RateLimitDescriptor.Entry> getEntriesList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesList in interface Ratelimit.RateLimitDescriptorOrBuilderpublic int getEntriesCount()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesCount in interface Ratelimit.RateLimitDescriptorOrBuilderpublic Ratelimit.RateLimitDescriptor.Entry getEntries(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntries in interface Ratelimit.RateLimitDescriptorOrBuilderpublic Ratelimit.RateLimitDescriptor.Builder setEntries(int index, Ratelimit.RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder setEntries(int index, Ratelimit.RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder addEntries(Ratelimit.RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder addEntries(int index, Ratelimit.RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder addEntries(Ratelimit.RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder addEntries(int index, Ratelimit.RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder addAllEntries(Iterable<? extends Ratelimit.RateLimitDescriptor.Entry> values)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder clearEntries()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Builder removeEntries(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Entry.Builder getEntriesBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.EntryOrBuilder getEntriesOrBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesOrBuilder in interface Ratelimit.RateLimitDescriptorOrBuilderpublic List<? extends Ratelimit.RateLimitDescriptor.EntryOrBuilder> getEntriesOrBuilderList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesOrBuilderList in interface Ratelimit.RateLimitDescriptorOrBuilderpublic Ratelimit.RateLimitDescriptor.Entry.Builder addEntriesBuilder()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public Ratelimit.RateLimitDescriptor.Entry.Builder addEntriesBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public List<Ratelimit.RateLimitDescriptor.Entry.Builder> getEntriesBuilderList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }public final Ratelimit.RateLimitDescriptor.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>public final Ratelimit.RateLimitDescriptor.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Ratelimit.RateLimitDescriptor.Builder>Copyright © 2018 The Envoy Project. All rights reserved.