Class RedisProxy
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,RedisProxyOrBuilder,Serializable
public final class RedisProxy
extends com.google.protobuf.GeneratedMessageV3
implements RedisProxyOrBuilder
[#next-free-field: 12]Protobuf type
envoy.extensions.filters.network.redis_proxy.v3.RedisProxy- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class[#next-free-field: 12]static final classConfiguration to limit reconnection rate to redis server to protect redis server from client reconnection storm.static interfacestatic final classRedis connection pool settings.static interfacestatic final classProtobuf typeenvoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutesstatic interfacestatic final classRedisFault defines faults used for fault injection.static interfaceNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleangetCustomCommands(int index) Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/com.google.protobuf.ByteStringgetCustomCommandsBytes(int index) Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/intOptional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/com.google.protobuf.ProtocolStringListOptional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/static RedisProxystatic final com.google.protobuf.Descriptors.DescriptorDeprecated.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_password is deprecated.Deprecated.getDownstreamAuthPasswords(int index) Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command.intAuthenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command.Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command.getDownstreamAuthPasswordsOrBuilder(int index) Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command.List<? extends DataSourceOrBuilder>Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command.If a username is provided an ACL style AUTH command will be required with a username and password.If a username is provided an ACL style AUTH command will be required with a username and password.External authentication configuration.External authentication configuration.getFaults(int index) List of faults to inject.intList of faults to inject.List of faults to inject.getFaultsOrBuilder(int index) List of faults to inject.List<? extends RedisProxy.RedisFaultOrBuilder>List of faults to inject.booleanIndicates that latency stat should be computed in microseconds.com.google.protobuf.Parser<RedisProxy>List of **unique** prefixes used to separate keys from different workloads to different clusters.List of **unique** prefixes used to separate keys from different workloads to different clusters.intNetwork settings for the connection pool to the upstream clusters.Network settings for the connection pool to the upstream clusters.The prefix to use when emitting :ref:`statistics <config_network_filters_redis_proxy_stats>`.com.google.protobuf.ByteStringThe prefix to use when emitting :ref:`statistics <config_network_filters_redis_proxy_stats>`.booleanDeprecated.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_password is deprecated.booleanIf a username is provided an ACL style AUTH command will be required with a username and password.booleanExternal authentication configuration.inthashCode()booleanList of **unique** prefixes used to separate keys from different workloads to different clusters.booleanNetwork settings for the connection pool to the upstream clusters.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic RedisProxy.Builderstatic RedisProxy.BuildernewBuilder(RedisProxy prototype) protected RedisProxy.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static RedisProxyparseDelimitedFrom(InputStream input) static RedisProxyparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RedisProxyparseFrom(byte[] data) static RedisProxyparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RedisProxyparseFrom(com.google.protobuf.ByteString data) static RedisProxyparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RedisProxyparseFrom(com.google.protobuf.CodedInputStream input) static RedisProxyparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RedisProxyparseFrom(InputStream input) static RedisProxyparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RedisProxyparseFrom(ByteBuffer data) static RedisProxyparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<RedisProxy>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, 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, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
STAT_PREFIX_FIELD_NUMBER
public static final int STAT_PREFIX_FIELD_NUMBER- See Also:
-
SETTINGS_FIELD_NUMBER
public static final int SETTINGS_FIELD_NUMBER- See Also:
-
LATENCY_IN_MICROS_FIELD_NUMBER
public static final int LATENCY_IN_MICROS_FIELD_NUMBER- See Also:
-
PREFIX_ROUTES_FIELD_NUMBER
public static final int PREFIX_ROUTES_FIELD_NUMBER- See Also:
-
DOWNSTREAM_AUTH_PASSWORD_FIELD_NUMBER
public static final int DOWNSTREAM_AUTH_PASSWORD_FIELD_NUMBER- See Also:
-
DOWNSTREAM_AUTH_PASSWORDS_FIELD_NUMBER
public static final int DOWNSTREAM_AUTH_PASSWORDS_FIELD_NUMBER- See Also:
-
FAULTS_FIELD_NUMBER
public static final int FAULTS_FIELD_NUMBER- See Also:
-
DOWNSTREAM_AUTH_USERNAME_FIELD_NUMBER
public static final int DOWNSTREAM_AUTH_USERNAME_FIELD_NUMBER- See Also:
-
EXTERNAL_AUTH_PROVIDER_FIELD_NUMBER
public static final int EXTERNAL_AUTH_PROVIDER_FIELD_NUMBER- See Also:
-
CUSTOM_COMMANDS_FIELD_NUMBER
public static final int CUSTOM_COMMANDS_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
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
-
getStatPrefix
The prefix to use when emitting :ref:`statistics <config_network_filters_redis_proxy_stats>`.
string stat_prefix = 1 [(.validate.rules) = { ... }- Specified by:
getStatPrefixin interfaceRedisProxyOrBuilder- Returns:
- The statPrefix.
-
getStatPrefixBytes
public com.google.protobuf.ByteString getStatPrefixBytes()The prefix to use when emitting :ref:`statistics <config_network_filters_redis_proxy_stats>`.
string stat_prefix = 1 [(.validate.rules) = { ... }- Specified by:
getStatPrefixBytesin interfaceRedisProxyOrBuilder- Returns:
- The bytes for statPrefix.
-
hasSettings
public boolean hasSettings()Network settings for the connection pool to the upstream clusters.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings settings = 3 [(.validate.rules) = { ... }- Specified by:
hasSettingsin interfaceRedisProxyOrBuilder- Returns:
- Whether the settings field is set.
-
getSettings
Network settings for the connection pool to the upstream clusters.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings settings = 3 [(.validate.rules) = { ... }- Specified by:
getSettingsin interfaceRedisProxyOrBuilder- Returns:
- The settings.
-
getSettingsOrBuilder
Network settings for the connection pool to the upstream clusters.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings settings = 3 [(.validate.rules) = { ... }- Specified by:
getSettingsOrBuilderin interfaceRedisProxyOrBuilder
-
getLatencyInMicros
public boolean getLatencyInMicros()Indicates that latency stat should be computed in microseconds. By default it is computed in milliseconds. This does not apply to upstream command stats currently.
bool latency_in_micros = 4;- Specified by:
getLatencyInMicrosin interfaceRedisProxyOrBuilder- Returns:
- The latencyInMicros.
-
hasPrefixRoutes
public boolean hasPrefixRoutes()List of **unique** prefixes used to separate keys from different workloads to different clusters. Envoy will always favor the longest match first in case of overlap. A catch-all cluster can be used to forward commands when there is no match. Time complexity of the lookups are in O(min(longest key prefix, key length)). Example: .. code-block:: yaml prefix_routes: routes: - prefix: "ab" cluster: "cluster_a" - prefix: "abc" cluster: "cluster_b" When using the above routes, the following prefixes would be sent to: * ``get abc:users`` would retrieve the key 'abc:users' from cluster_b. * ``get ab:users`` would retrieve the key 'ab:users' from cluster_a. * ``get z:users`` would return a NoUpstreamHost error. A :ref:`catch-all route<envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.catch_all_route>` would have retrieved the key from that cluster instead. See the :ref:`configuration section <arch_overview_redis_configuration>` of the architecture overview for recommendations on configuring the backing clusters..envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes prefix_routes = 5;- Specified by:
hasPrefixRoutesin interfaceRedisProxyOrBuilder- Returns:
- Whether the prefixRoutes field is set.
-
getPrefixRoutes
List of **unique** prefixes used to separate keys from different workloads to different clusters. Envoy will always favor the longest match first in case of overlap. A catch-all cluster can be used to forward commands when there is no match. Time complexity of the lookups are in O(min(longest key prefix, key length)). Example: .. code-block:: yaml prefix_routes: routes: - prefix: "ab" cluster: "cluster_a" - prefix: "abc" cluster: "cluster_b" When using the above routes, the following prefixes would be sent to: * ``get abc:users`` would retrieve the key 'abc:users' from cluster_b. * ``get ab:users`` would retrieve the key 'ab:users' from cluster_a. * ``get z:users`` would return a NoUpstreamHost error. A :ref:`catch-all route<envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.catch_all_route>` would have retrieved the key from that cluster instead. See the :ref:`configuration section <arch_overview_redis_configuration>` of the architecture overview for recommendations on configuring the backing clusters..envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes prefix_routes = 5;- Specified by:
getPrefixRoutesin interfaceRedisProxyOrBuilder- Returns:
- The prefixRoutes.
-
getPrefixRoutesOrBuilder
List of **unique** prefixes used to separate keys from different workloads to different clusters. Envoy will always favor the longest match first in case of overlap. A catch-all cluster can be used to forward commands when there is no match. Time complexity of the lookups are in O(min(longest key prefix, key length)). Example: .. code-block:: yaml prefix_routes: routes: - prefix: "ab" cluster: "cluster_a" - prefix: "abc" cluster: "cluster_b" When using the above routes, the following prefixes would be sent to: * ``get abc:users`` would retrieve the key 'abc:users' from cluster_b. * ``get ab:users`` would retrieve the key 'ab:users' from cluster_a. * ``get z:users`` would return a NoUpstreamHost error. A :ref:`catch-all route<envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.catch_all_route>` would have retrieved the key from that cluster instead. See the :ref:`configuration section <arch_overview_redis_configuration>` of the architecture overview for recommendations on configuring the backing clusters..envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes prefix_routes = 5;- Specified by:
getPrefixRoutesOrBuilderin interfaceRedisProxyOrBuilder
-
hasDownstreamAuthPassword
Deprecated.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_password is deprecated. See envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto;l=301Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this password before enabling any other command. If an AUTH command's password matches this password, an "OK" response will be returned to the client. If the AUTH command password does not match this password, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned. .. attention:: This field is deprecated. Use :ref:`downstream_auth_passwords <envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_passwords>`.
.envoy.config.core.v3.DataSource downstream_auth_password = 6 [deprecated = true, (.udpa.annotations.sensitive) = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];- Specified by:
hasDownstreamAuthPasswordin interfaceRedisProxyOrBuilder- Returns:
- Whether the downstreamAuthPassword field is set.
-
getDownstreamAuthPassword
Deprecated.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_password is deprecated. See envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto;l=301Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this password before enabling any other command. If an AUTH command's password matches this password, an "OK" response will be returned to the client. If the AUTH command password does not match this password, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned. .. attention:: This field is deprecated. Use :ref:`downstream_auth_passwords <envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_passwords>`.
.envoy.config.core.v3.DataSource downstream_auth_password = 6 [deprecated = true, (.udpa.annotations.sensitive) = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];- Specified by:
getDownstreamAuthPasswordin interfaceRedisProxyOrBuilder- Returns:
- The downstreamAuthPassword.
-
getDownstreamAuthPasswordOrBuilder
Deprecated.Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this password before enabling any other command. If an AUTH command's password matches this password, an "OK" response will be returned to the client. If the AUTH command password does not match this password, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned. .. attention:: This field is deprecated. Use :ref:`downstream_auth_passwords <envoy_v3_api_field_extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_passwords>`.
.envoy.config.core.v3.DataSource downstream_auth_password = 6 [deprecated = true, (.udpa.annotations.sensitive) = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];- Specified by:
getDownstreamAuthPasswordOrBuilderin interfaceRedisProxyOrBuilder
-
getDownstreamAuthPasswordsList
Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned to the client. If the AUTH command password does not match, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when the password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned.
repeated .envoy.config.core.v3.DataSource downstream_auth_passwords = 9 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthPasswordsListin interfaceRedisProxyOrBuilder
-
getDownstreamAuthPasswordsOrBuilderList
Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned to the client. If the AUTH command password does not match, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when the password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned.
repeated .envoy.config.core.v3.DataSource downstream_auth_passwords = 9 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthPasswordsOrBuilderListin interfaceRedisProxyOrBuilder
-
getDownstreamAuthPasswordsCount
public int getDownstreamAuthPasswordsCount()Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned to the client. If the AUTH command password does not match, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when the password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned.
repeated .envoy.config.core.v3.DataSource downstream_auth_passwords = 9 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthPasswordsCountin interfaceRedisProxyOrBuilder
-
getDownstreamAuthPasswords
Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned to the client. If the AUTH command password does not match, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when the password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned.
repeated .envoy.config.core.v3.DataSource downstream_auth_passwords = 9 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthPasswordsin interfaceRedisProxyOrBuilder
-
getDownstreamAuthPasswordsOrBuilder
Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with one of these passwords before enabling any other command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned to the client. If the AUTH command password does not match, then an "ERR invalid password" error will be returned. If any other command is received before AUTH when the password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no password is set" error will be returned.
repeated .envoy.config.core.v3.DataSource downstream_auth_passwords = 9 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthPasswordsOrBuilderin interfaceRedisProxyOrBuilder
-
getFaultsList
List of faults to inject. Faults currently come in two flavors: - Delay, which delays a request. - Error, which responds to a request with an error. Errors can also have delays attached. Example: .. code-block:: yaml faults: - fault_type: ERROR fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" commands: - GET - fault_type: DELAY fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" delay: 2s See the :ref:`fault injection section <config_network_filters_redis_proxy_fault_injection>` for more information on how to configure this.repeated .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault faults = 8;- Specified by:
getFaultsListin interfaceRedisProxyOrBuilder
-
getFaultsOrBuilderList
List of faults to inject. Faults currently come in two flavors: - Delay, which delays a request. - Error, which responds to a request with an error. Errors can also have delays attached. Example: .. code-block:: yaml faults: - fault_type: ERROR fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" commands: - GET - fault_type: DELAY fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" delay: 2s See the :ref:`fault injection section <config_network_filters_redis_proxy_fault_injection>` for more information on how to configure this.repeated .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault faults = 8;- Specified by:
getFaultsOrBuilderListin interfaceRedisProxyOrBuilder
-
getFaultsCount
public int getFaultsCount()List of faults to inject. Faults currently come in two flavors: - Delay, which delays a request. - Error, which responds to a request with an error. Errors can also have delays attached. Example: .. code-block:: yaml faults: - fault_type: ERROR fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" commands: - GET - fault_type: DELAY fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" delay: 2s See the :ref:`fault injection section <config_network_filters_redis_proxy_fault_injection>` for more information on how to configure this.repeated .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault faults = 8;- Specified by:
getFaultsCountin interfaceRedisProxyOrBuilder
-
getFaults
List of faults to inject. Faults currently come in two flavors: - Delay, which delays a request. - Error, which responds to a request with an error. Errors can also have delays attached. Example: .. code-block:: yaml faults: - fault_type: ERROR fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" commands: - GET - fault_type: DELAY fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" delay: 2s See the :ref:`fault injection section <config_network_filters_redis_proxy_fault_injection>` for more information on how to configure this.repeated .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault faults = 8;- Specified by:
getFaultsin interfaceRedisProxyOrBuilder
-
getFaultsOrBuilder
List of faults to inject. Faults currently come in two flavors: - Delay, which delays a request. - Error, which responds to a request with an error. Errors can also have delays attached. Example: .. code-block:: yaml faults: - fault_type: ERROR fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" commands: - GET - fault_type: DELAY fault_enabled: default_value: numerator: 10 denominator: HUNDRED runtime_key: "bogus_key" delay: 2s See the :ref:`fault injection section <config_network_filters_redis_proxy_fault_injection>` for more information on how to configure this.repeated .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault faults = 8;- Specified by:
getFaultsOrBuilderin interfaceRedisProxyOrBuilder
-
hasDownstreamAuthUsername
public boolean hasDownstreamAuthUsername()If a username is provided an ACL style AUTH command will be required with a username and password. Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this username and the ``downstream_auth_password`` before enabling any other command. If an AUTH command's username and password matches this username and the ``downstream_auth_password`` , an "OK" response will be returned to the client. If the AUTH command username or password does not match this username or the ``downstream_auth_password``, then an "WRONGPASS invalid username-password pair" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no ACL is set" error will be returned.
.envoy.config.core.v3.DataSource downstream_auth_username = 7 [(.udpa.annotations.sensitive) = true];- Specified by:
hasDownstreamAuthUsernamein interfaceRedisProxyOrBuilder- Returns:
- Whether the downstreamAuthUsername field is set.
-
getDownstreamAuthUsername
If a username is provided an ACL style AUTH command will be required with a username and password. Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this username and the ``downstream_auth_password`` before enabling any other command. If an AUTH command's username and password matches this username and the ``downstream_auth_password`` , an "OK" response will be returned to the client. If the AUTH command username or password does not match this username or the ``downstream_auth_password``, then an "WRONGPASS invalid username-password pair" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no ACL is set" error will be returned.
.envoy.config.core.v3.DataSource downstream_auth_username = 7 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthUsernamein interfaceRedisProxyOrBuilder- Returns:
- The downstreamAuthUsername.
-
getDownstreamAuthUsernameOrBuilder
If a username is provided an ACL style AUTH command will be required with a username and password. Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis AUTH command <https://redis.io/commands/auth>`_ with this username and the ``downstream_auth_password`` before enabling any other command. If an AUTH command's username and password matches this username and the ``downstream_auth_password`` , an "OK" response will be returned to the client. If the AUTH command username or password does not match this username or the ``downstream_auth_password``, then an "WRONGPASS invalid username-password pair" error will be returned. If any other command is received before AUTH when this password is set, then a "NOAUTH Authentication required." error response will be sent to the client. If an AUTH command is received when the password is not set, then an "ERR Client sent AUTH, but no ACL is set" error will be returned.
.envoy.config.core.v3.DataSource downstream_auth_username = 7 [(.udpa.annotations.sensitive) = true];- Specified by:
getDownstreamAuthUsernameOrBuilderin interfaceRedisProxyOrBuilder
-
hasExternalAuthProvider
public boolean hasExternalAuthProvider()External authentication configuration. If set, instead of validating username and password against ``downstream_auth_username`` and ``downstream_auth_password``, the filter will call an external gRPC service to authenticate the client. A typical usage of this feature is for situations where the password is a one-time token that needs to be validated against a remote service, like a sidecar. Expiration is also supported, which will disable any further commands from the client after the expiration time, unless a new AUTH command is received and the external auth service returns a new expiration time. If the external auth service returns an error, authentication is considered failed. If this setting is set together with ``downstream_auth_username`` and ``downstream_auth_password``, the external auth service will be source of truth, but those fields will still be used for downstream authentication to the cluster. The API is defined by :ref:`RedisProxyExternalAuthRequest <envoy_v3_api_msg_service.redis_auth.v3.RedisProxyExternalAuthRequest>`.
.envoy.extensions.filters.network.redis_proxy.v3.RedisExternalAuthProvider external_auth_provider = 10;- Specified by:
hasExternalAuthProviderin interfaceRedisProxyOrBuilder- Returns:
- Whether the externalAuthProvider field is set.
-
getExternalAuthProvider
External authentication configuration. If set, instead of validating username and password against ``downstream_auth_username`` and ``downstream_auth_password``, the filter will call an external gRPC service to authenticate the client. A typical usage of this feature is for situations where the password is a one-time token that needs to be validated against a remote service, like a sidecar. Expiration is also supported, which will disable any further commands from the client after the expiration time, unless a new AUTH command is received and the external auth service returns a new expiration time. If the external auth service returns an error, authentication is considered failed. If this setting is set together with ``downstream_auth_username`` and ``downstream_auth_password``, the external auth service will be source of truth, but those fields will still be used for downstream authentication to the cluster. The API is defined by :ref:`RedisProxyExternalAuthRequest <envoy_v3_api_msg_service.redis_auth.v3.RedisProxyExternalAuthRequest>`.
.envoy.extensions.filters.network.redis_proxy.v3.RedisExternalAuthProvider external_auth_provider = 10;- Specified by:
getExternalAuthProviderin interfaceRedisProxyOrBuilder- Returns:
- The externalAuthProvider.
-
getExternalAuthProviderOrBuilder
External authentication configuration. If set, instead of validating username and password against ``downstream_auth_username`` and ``downstream_auth_password``, the filter will call an external gRPC service to authenticate the client. A typical usage of this feature is for situations where the password is a one-time token that needs to be validated against a remote service, like a sidecar. Expiration is also supported, which will disable any further commands from the client after the expiration time, unless a new AUTH command is received and the external auth service returns a new expiration time. If the external auth service returns an error, authentication is considered failed. If this setting is set together with ``downstream_auth_username`` and ``downstream_auth_password``, the external auth service will be source of truth, but those fields will still be used for downstream authentication to the cluster. The API is defined by :ref:`RedisProxyExternalAuthRequest <envoy_v3_api_msg_service.redis_auth.v3.RedisProxyExternalAuthRequest>`.
.envoy.extensions.filters.network.redis_proxy.v3.RedisExternalAuthProvider external_auth_provider = 10;- Specified by:
getExternalAuthProviderOrBuilderin interfaceRedisProxyOrBuilder
-
getCustomCommandsList
public com.google.protobuf.ProtocolStringList getCustomCommandsList()Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/
repeated string custom_commands = 11;- Specified by:
getCustomCommandsListin interfaceRedisProxyOrBuilder- Returns:
- A list containing the customCommands.
-
getCustomCommandsCount
public int getCustomCommandsCount()Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/
repeated string custom_commands = 11;- Specified by:
getCustomCommandsCountin interfaceRedisProxyOrBuilder- Returns:
- The count of customCommands.
-
getCustomCommands
Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/
repeated string custom_commands = 11;- Specified by:
getCustomCommandsin interfaceRedisProxyOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The customCommands at the given index.
-
getCustomCommandsBytes
public com.google.protobuf.ByteString getCustomCommandsBytes(int index) Optional configure redis custom commands for the proxy, eg -> ["my_custom_cmd1", "my_custom_cmd2"] .. note:: The is to support redis's feature wherein new commands can be added using redis' modules api: https://redis.io/docs/latest/develop/reference/modules/
repeated string custom_commands = 11;- Specified by:
getCustomCommandsBytesin interfaceRedisProxyOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the customCommands at the given index.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RedisProxy parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RedisProxy parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RedisProxy parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RedisProxy parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RedisProxy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RedisProxy parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RedisProxy parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static RedisProxy parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RedisProxy parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RedisProxy.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-