Class RateLimitDescriptor.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.Builder<RateLimitDescriptor.Builder>
-
- io.envoyproxy.envoy.api.v2.ratelimit.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.
Protobuf typeenvoy.api.v2.ratelimit.RateLimitDescriptor
-
-
Method Summary
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
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
public 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
public RateLimitDescriptor getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public RateLimitDescriptor build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public RateLimitDescriptor buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public RateLimitDescriptor.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
public RateLimitDescriptor.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RateLimitDescriptor.Builder>
-
mergeFrom
public RateLimitDescriptor.Builder mergeFrom(RateLimitDescriptor other)
-
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
public List<RateLimitDescriptor.Entry> getEntriesList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesListin interfaceRateLimitDescriptorOrBuilder
-
getEntriesCount
public int getEntriesCount()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesCountin interfaceRateLimitDescriptorOrBuilder
-
getEntries
public RateLimitDescriptor.Entry getEntries(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesin interfaceRateLimitDescriptorOrBuilder
-
setEntries
public RateLimitDescriptor.Builder setEntries(int index, RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
setEntries
public RateLimitDescriptor.Builder setEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addEntries
public RateLimitDescriptor.Builder addEntries(RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addEntries
public RateLimitDescriptor.Builder addEntries(int index, RateLimitDescriptor.Entry value)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addEntries
public RateLimitDescriptor.Builder addEntries(RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addEntries
public RateLimitDescriptor.Builder addEntries(int index, RateLimitDescriptor.Entry.Builder builderForValue)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addAllEntries
public RateLimitDescriptor.Builder addAllEntries(Iterable<? extends RateLimitDescriptor.Entry> values)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
clearEntries
public RateLimitDescriptor.Builder clearEntries()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
removeEntries
public RateLimitDescriptor.Builder removeEntries(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
getEntriesBuilder
public RateLimitDescriptor.Entry.Builder getEntriesBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
getEntriesOrBuilder
public RateLimitDescriptor.EntryOrBuilder getEntriesOrBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesOrBuilderin interfaceRateLimitDescriptorOrBuilder
-
getEntriesOrBuilderList
public List<? extends RateLimitDescriptor.EntryOrBuilder> getEntriesOrBuilderList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }- Specified by:
getEntriesOrBuilderListin interfaceRateLimitDescriptorOrBuilder
-
addEntriesBuilder
public RateLimitDescriptor.Entry.Builder addEntriesBuilder()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
addEntriesBuilder
public RateLimitDescriptor.Entry.Builder addEntriesBuilder(int index)
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
getEntriesBuilderList
public List<RateLimitDescriptor.Entry.Builder> getEntriesBuilderList()
Descriptor entries.
repeated .envoy.api.v2.ratelimit.RateLimitDescriptor.Entry entries = 1 [(.validate.rules) = { ... }
-
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>
-
-