Interface RedisProxyOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    RedisProxy, RedisProxy.Builder

    public interface RedisProxyOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • getStatPrefix

        String getStatPrefix()
         The prefix to use when emitting :ref:`statistics <config_network_filters_redis_proxy_stats>`.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        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) = { ... }
        Returns:
        The bytes for statPrefix.
      • hasSettings

        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) = { ... }
        Returns:
        Whether the settings field is set.
      • getSettings

        RedisProxy.ConnPoolSettings getSettings()
         Network settings for the connection pool to the upstream clusters.
         
        .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings settings = 3 [(.validate.rules) = { ... }
        Returns:
        The settings.
      • getSettingsOrBuilder

        RedisProxy.ConnPoolSettingsOrBuilder getSettingsOrBuilder()
         Network settings for the connection pool to the upstream clusters.
         
        .envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings settings = 3 [(.validate.rules) = { ... }
      • getLatencyInMicros

        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;
        Returns:
        The latencyInMicros.
      • hasPrefixRoutes

        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;
        Returns:
        Whether the prefixRoutes field is set.
      • getPrefixRoutes

        RedisProxy.PrefixRoutes 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;
        Returns:
        The prefixRoutes.
      • getPrefixRoutesOrBuilder

        RedisProxy.PrefixRoutesOrBuilder 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;
      • hasDownstreamAuthPassword

        @Deprecated
        boolean 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=266
         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"];
        Returns:
        Whether the downstreamAuthPassword field is set.
      • getDownstreamAuthPassword

        @Deprecated
        DataSource 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=266
         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"];
        Returns:
        The downstreamAuthPassword.
      • getDownstreamAuthPasswordOrBuilder

        @Deprecated
        DataSourceOrBuilder 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"];
      • getDownstreamAuthPasswordsList

        List<DataSource> 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];
      • getDownstreamAuthPasswords

        DataSource 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. 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];
      • getDownstreamAuthPasswordsCount

        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];
      • getDownstreamAuthPasswordsOrBuilderList

        List<? extends DataSourceOrBuilder> 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];
      • getDownstreamAuthPasswordsOrBuilder

        DataSourceOrBuilder 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. 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];
      • getFaultsList

        List<RedisProxy.RedisFault> 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;
      • getFaults

        RedisProxy.RedisFault getFaults​(int index)
         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;
      • getFaultsCount

        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;
      • getFaultsOrBuilderList

        List<? extends RedisProxy.RedisFaultOrBuilder> 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;
      • getFaultsOrBuilder

        RedisProxy.RedisFaultOrBuilder getFaultsOrBuilder​(int index)
         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;
      • hasDownstreamAuthUsername

        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];
        Returns:
        Whether the downstreamAuthUsername field is set.
      • getDownstreamAuthUsername

        DataSource 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];
        Returns:
        The downstreamAuthUsername.
      • getDownstreamAuthUsernameOrBuilder

        DataSourceOrBuilder 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];