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) = { ... }
      • 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) = { ... }
      • 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) = { ... }
      • 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) = { ... }
      • 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;
      • 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;
      • 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;
      • 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

        boolean hasDownstreamAuthPassword()
         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.
         
        .envoy.config.core.v3.DataSource downstream_auth_password = 6 [(.udpa.annotations.sensitive) = true];
      • getDownstreamAuthPassword

        DataSource getDownstreamAuthPassword()
         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.
         
        .envoy.config.core.v3.DataSource downstream_auth_password = 6 [(.udpa.annotations.sensitive) = true];
      • getDownstreamAuthPasswordOrBuilder

        DataSourceOrBuilder getDownstreamAuthPasswordOrBuilder()
         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.
         
        .envoy.config.core.v3.DataSource downstream_auth_password = 6 [(.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];
      • 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];
      • 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];