public final class RateLimitDescriptor extends com.google.protobuf.GeneratedMessageV3 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| Modifier and Type | Class and Description |
|---|---|
static class |
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 |
RateLimitDescriptor.Entry
Protobuf type
envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry |
static interface |
RateLimitDescriptor.EntryOrBuilder |
static class |
RateLimitDescriptor.RateLimitOverride
Override rate limit to apply to this descriptor instead of the limit
configured in the rate limit service.
|
static interface |
RateLimitDescriptor.RateLimitOverrideOrBuilder |
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, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| Modifier and Type | Field and Description |
|---|---|
static int |
ENTRIES_FIELD_NUMBER |
static int |
LIMIT_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
static RateLimitDescriptor |
getDefaultInstance() |
RateLimitDescriptor |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
RateLimitDescriptor.Entry |
getEntries(int index)
Descriptor entries.
|
int |
getEntriesCount()
Descriptor entries.
|
List<RateLimitDescriptor.Entry> |
getEntriesList()
Descriptor entries.
|
RateLimitDescriptor.EntryOrBuilder |
getEntriesOrBuilder(int index)
Descriptor entries.
|
List<? extends RateLimitDescriptor.EntryOrBuilder> |
getEntriesOrBuilderList()
Descriptor entries.
|
RateLimitDescriptor.RateLimitOverride |
getLimit()
Optional rate limit override to supply to the ratelimit service.
|
RateLimitDescriptor.RateLimitOverrideOrBuilder |
getLimitOrBuilder()
Optional rate limit override to supply to the ratelimit service.
|
com.google.protobuf.Parser<RateLimitDescriptor> |
getParserForType() |
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
int |
hashCode() |
boolean |
hasLimit()
Optional rate limit override to supply to the ratelimit service.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RateLimitDescriptor.Builder |
newBuilder() |
static RateLimitDescriptor.Builder |
newBuilder(RateLimitDescriptor prototype) |
RateLimitDescriptor.Builder |
newBuilderForType() |
protected RateLimitDescriptor.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static RateLimitDescriptor |
parseDelimitedFrom(InputStream input) |
static RateLimitDescriptor |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RateLimitDescriptor |
parseFrom(byte[] data) |
static RateLimitDescriptor |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RateLimitDescriptor |
parseFrom(ByteBuffer data) |
static RateLimitDescriptor |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RateLimitDescriptor |
parseFrom(com.google.protobuf.ByteString data) |
static RateLimitDescriptor |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RateLimitDescriptor |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RateLimitDescriptor |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RateLimitDescriptor |
parseFrom(InputStream input) |
static RateLimitDescriptor |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RateLimitDescriptor> |
parser() |
RateLimitDescriptor.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, 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 static final int LIMIT_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance in class com.google.protobuf.GeneratedMessageV3public 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<RateLimitDescriptor.Entry> getEntriesList()
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesList in interface RateLimitDescriptorOrBuilderpublic List<? extends RateLimitDescriptor.EntryOrBuilder> getEntriesOrBuilderList()
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesOrBuilderList in interface RateLimitDescriptorOrBuilderpublic int getEntriesCount()
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesCount in interface RateLimitDescriptorOrBuilderpublic RateLimitDescriptor.Entry getEntries(int index)
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntries in interface RateLimitDescriptorOrBuilderpublic RateLimitDescriptor.EntryOrBuilder getEntriesOrBuilder(int index)
Descriptor entries.
repeated .envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }getEntriesOrBuilder in interface RateLimitDescriptorOrBuilderpublic boolean hasLimit()
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;hasLimit in interface RateLimitDescriptorOrBuilderpublic RateLimitDescriptor.RateLimitOverride getLimit()
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;getLimit in interface RateLimitDescriptorOrBuilderpublic RateLimitDescriptor.RateLimitOverrideOrBuilder getLimitOrBuilder()
Optional rate limit override to supply to the ratelimit service.
.envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride limit = 2;getLimitOrBuilder in interface 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 RateLimitDescriptor parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RateLimitDescriptor parseFrom(InputStream input) throws IOException
IOExceptionpublic static RateLimitDescriptor parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RateLimitDescriptor parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static RateLimitDescriptor parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RateLimitDescriptor parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static RateLimitDescriptor parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic RateLimitDescriptor.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static RateLimitDescriptor.Builder newBuilder()
public static RateLimitDescriptor.Builder newBuilder(RateLimitDescriptor prototype)
public RateLimitDescriptor.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected RateLimitDescriptor.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static RateLimitDescriptor getDefaultInstance()
public static com.google.protobuf.Parser<RateLimitDescriptor> parser()
public com.google.protobuf.Parser<RateLimitDescriptor> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public RateLimitDescriptor getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2021 The Envoy Project. All rights reserved.