Class RouteAction.RequestMirrorPolicy.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteAction.RequestMirrorPolicyOrBuilder, Cloneable
    Enclosing class:
    RouteAction.RequestMirrorPolicy

    public static final class RouteAction.RequestMirrorPolicy.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<RouteAction.RequestMirrorPolicy.Builder>
    implements RouteAction.RequestMirrorPolicyOrBuilder
     The router is capable of shadowing traffic from one cluster to another. The current
     implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to
     respond before returning the response from the primary cluster. All normal statistics are
     collected for the shadow cluster making this feature useful for testing.
     During shadowing, the host/authority header is altered such that *-shadow* is appended. This is
     useful for logging. For example, *cluster1* becomes *cluster1-shadow*.
     .. note::
       Shadowing will not be triggered if the primary cluster does not exist.
     
    Protobuf type envoy.api.v2.route.RouteAction.RequestMirrorPolicy
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RouteAction.RequestMirrorPolicy.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RouteAction.RequestMirrorPolicy.Builder>
      • getDefaultInstanceForType

        public RouteAction.RequestMirrorPolicy getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public RouteAction.RequestMirrorPolicy build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public RouteAction.RequestMirrorPolicy buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RouteAction.RequestMirrorPolicy.Builder>
      • getCluster

        public String getCluster()
         Specifies the cluster that requests will be mirrored to. The cluster must
         exist in the cluster manager configuration.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Specified by:
        getCluster in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The cluster.
      • getClusterBytes

        public com.google.protobuf.ByteString getClusterBytes()
         Specifies the cluster that requests will be mirrored to. The cluster must
         exist in the cluster manager configuration.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Specified by:
        getClusterBytes in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The bytes for cluster.
      • setCluster

        public RouteAction.RequestMirrorPolicy.Builder setCluster​(String value)
         Specifies the cluster that requests will be mirrored to. The cluster must
         exist in the cluster manager configuration.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The cluster to set.
        Returns:
        This builder for chaining.
      • clearCluster

        public RouteAction.RequestMirrorPolicy.Builder clearCluster()
         Specifies the cluster that requests will be mirrored to. The cluster must
         exist in the cluster manager configuration.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setClusterBytes

        public RouteAction.RequestMirrorPolicy.Builder setClusterBytes​(com.google.protobuf.ByteString value)
         Specifies the cluster that requests will be mirrored to. The cluster must
         exist in the cluster manager configuration.
         
        string cluster = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for cluster to set.
        Returns:
        This builder for chaining.
      • getRuntimeKey

        @Deprecated
        public String getRuntimeKey()
        Deprecated.
        envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_key is deprecated. See envoy/api/v2/route/route_components.proto;l=606
         If not specified, all requests to the target cluster will be mirrored. If
         specified, Envoy will lookup the runtime key to get the % of requests to
         mirror. Valid values are from 0 to 10000, allowing for increments of
         0.01% of requests to be mirrored. If the runtime key is specified in the
         configuration but not present in runtime, 0 is the default and thus 0% of
         requests will be mirrored.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`runtime_fraction
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           field instead. Mirroring occurs if both this and
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           are not set.
         
        string runtime_key = 2 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getRuntimeKey in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The runtimeKey.
      • getRuntimeKeyBytes

        @Deprecated
        public com.google.protobuf.ByteString getRuntimeKeyBytes()
        Deprecated.
        envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_key is deprecated. See envoy/api/v2/route/route_components.proto;l=606
         If not specified, all requests to the target cluster will be mirrored. If
         specified, Envoy will lookup the runtime key to get the % of requests to
         mirror. Valid values are from 0 to 10000, allowing for increments of
         0.01% of requests to be mirrored. If the runtime key is specified in the
         configuration but not present in runtime, 0 is the default and thus 0% of
         requests will be mirrored.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`runtime_fraction
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           field instead. Mirroring occurs if both this and
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           are not set.
         
        string runtime_key = 2 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getRuntimeKeyBytes in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The bytes for runtimeKey.
      • setRuntimeKey

        @Deprecated
        public RouteAction.RequestMirrorPolicy.Builder setRuntimeKey​(String value)
        Deprecated.
        envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_key is deprecated. See envoy/api/v2/route/route_components.proto;l=606
         If not specified, all requests to the target cluster will be mirrored. If
         specified, Envoy will lookup the runtime key to get the % of requests to
         mirror. Valid values are from 0 to 10000, allowing for increments of
         0.01% of requests to be mirrored. If the runtime key is specified in the
         configuration but not present in runtime, 0 is the default and thus 0% of
         requests will be mirrored.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`runtime_fraction
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           field instead. Mirroring occurs if both this and
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           are not set.
         
        string runtime_key = 2 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Parameters:
        value - The runtimeKey to set.
        Returns:
        This builder for chaining.
      • clearRuntimeKey

        @Deprecated
        public RouteAction.RequestMirrorPolicy.Builder clearRuntimeKey()
        Deprecated.
        envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_key is deprecated. See envoy/api/v2/route/route_components.proto;l=606
         If not specified, all requests to the target cluster will be mirrored. If
         specified, Envoy will lookup the runtime key to get the % of requests to
         mirror. Valid values are from 0 to 10000, allowing for increments of
         0.01% of requests to be mirrored. If the runtime key is specified in the
         configuration but not present in runtime, 0 is the default and thus 0% of
         requests will be mirrored.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`runtime_fraction
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           field instead. Mirroring occurs if both this and
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           are not set.
         
        string runtime_key = 2 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Returns:
        This builder for chaining.
      • setRuntimeKeyBytes

        @Deprecated
        public RouteAction.RequestMirrorPolicy.Builder setRuntimeKeyBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_key is deprecated. See envoy/api/v2/route/route_components.proto;l=606
         If not specified, all requests to the target cluster will be mirrored. If
         specified, Envoy will lookup the runtime key to get the % of requests to
         mirror. Valid values are from 0 to 10000, allowing for increments of
         0.01% of requests to be mirrored. If the runtime key is specified in the
         configuration but not present in runtime, 0 is the default and thus 0% of
         requests will be mirrored.
         .. attention::
           **This field is deprecated**. Set the
           :ref:`runtime_fraction
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           field instead. Mirroring occurs if both this and
           <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>`
           are not set.
         
        string runtime_key = 2 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Parameters:
        value - The bytes for runtimeKey to set.
        Returns:
        This builder for chaining.
      • hasRuntimeFraction

        public boolean hasRuntimeFraction()
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
        Specified by:
        hasRuntimeFraction in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        Whether the runtimeFraction field is set.
      • getRuntimeFraction

        public RuntimeFractionalPercent getRuntimeFraction()
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
        Specified by:
        getRuntimeFraction in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The runtimeFraction.
      • setRuntimeFraction

        public RouteAction.RequestMirrorPolicy.Builder setRuntimeFraction​(RuntimeFractionalPercent value)
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
      • setRuntimeFraction

        public RouteAction.RequestMirrorPolicy.Builder setRuntimeFraction​(RuntimeFractionalPercent.Builder builderForValue)
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
      • mergeRuntimeFraction

        public RouteAction.RequestMirrorPolicy.Builder mergeRuntimeFraction​(RuntimeFractionalPercent value)
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
      • clearRuntimeFraction

        public RouteAction.RequestMirrorPolicy.Builder clearRuntimeFraction()
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
      • getRuntimeFractionBuilder

        public RuntimeFractionalPercent.Builder getRuntimeFractionBuilder()
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
      • getRuntimeFractionOrBuilder

        public RuntimeFractionalPercentOrBuilder getRuntimeFractionOrBuilder()
         If not specified, all requests to the target cluster will be mirrored.
         If specified, this field takes precedence over the `runtime_key` field and requests must also
         fall under the percentage of matches indicated by this field.
         For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the request will be mirrored.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;
        Specified by:
        getRuntimeFractionOrBuilder in interface RouteAction.RequestMirrorPolicyOrBuilder
      • hasTraceSampled

        public boolean hasTraceSampled()
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
        Specified by:
        hasTraceSampled in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        Whether the traceSampled field is set.
      • getTraceSampled

        public com.google.protobuf.BoolValue getTraceSampled()
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
        Specified by:
        getTraceSampled in interface RouteAction.RequestMirrorPolicyOrBuilder
        Returns:
        The traceSampled.
      • setTraceSampled

        public RouteAction.RequestMirrorPolicy.Builder setTraceSampled​(com.google.protobuf.BoolValue value)
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
      • setTraceSampled

        public RouteAction.RequestMirrorPolicy.Builder setTraceSampled​(com.google.protobuf.BoolValue.Builder builderForValue)
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
      • mergeTraceSampled

        public RouteAction.RequestMirrorPolicy.Builder mergeTraceSampled​(com.google.protobuf.BoolValue value)
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
      • clearTraceSampled

        public RouteAction.RequestMirrorPolicy.Builder clearTraceSampled()
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;
      • getTraceSampledBuilder

        public com.google.protobuf.BoolValue.Builder getTraceSampledBuilder()
         Determines if the trace span should be sampled. Defaults to true.
         
        .google.protobuf.BoolValue trace_sampled = 4;