public static final class Ratelimit.RateLimitDescriptor extends com.google.protobuf.GeneratedMessageV3 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.RateLimitDescriptor| Modifier and Type | Class and Description |
|---|---|
static class |
Ratelimit.RateLimitDescriptor.Builder
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.
|
static class |
Ratelimit.RateLimitDescriptor.Entry
Protobuf type
envoy.api.v2.ratelimit.RateLimitDescriptor.Entry |
static interface |
Ratelimit.RateLimitDescriptor.EntryOrBuilder |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
ENTRIES_FIELD_NUMBER |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int ENTRIES_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public List<Ratelimit.RateLimitDescriptor.Entry> getEntriesList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesList 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 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.EntryOrBuilder getEntriesOrBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesOrBuilder in interface Ratelimit.RateLimitDescriptorOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static Ratelimit.RateLimitDescriptor parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(InputStream input) throws IOException
IOExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static Ratelimit.RateLimitDescriptor parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static Ratelimit.RateLimitDescriptor parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static Ratelimit.RateLimitDescriptor parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic Ratelimit.RateLimitDescriptor.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static Ratelimit.RateLimitDescriptor.Builder newBuilder()
public static Ratelimit.RateLimitDescriptor.Builder newBuilder(Ratelimit.RateLimitDescriptor prototype)
public Ratelimit.RateLimitDescriptor.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected Ratelimit.RateLimitDescriptor.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static Ratelimit.RateLimitDescriptor getDefaultInstance()
public static com.google.protobuf.Parser<Ratelimit.RateLimitDescriptor> parser()
public com.google.protobuf.Parser<Ratelimit.RateLimitDescriptor> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public Ratelimit.RateLimitDescriptor getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018 The Envoy Project. All rights reserved.