Class Cluster.LbSubsetConfig.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.LbSubsetConfigOrBuilder, Cloneable
    Enclosing class:
    Cluster.LbSubsetConfig

    public static final class Cluster.LbSubsetConfig.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
    implements Cluster.LbSubsetConfigOrBuilder
     Optionally divide the endpoints in this cluster into subsets defined by
     endpoint metadata and selected by route and weighted cluster metadata.
     [#next-free-field: 8]
     
    Protobuf type envoy.config.cluster.v3.Cluster.LbSubsetConfig
    • 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<Cluster.LbSubsetConfig.Builder>
      • clear

        public Cluster.LbSubsetConfig.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.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<Cluster.LbSubsetConfig.Builder>
      • getDefaultInstanceForType

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

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

        public Cluster.LbSubsetConfig buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public Cluster.LbSubsetConfig.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • clearField

        public Cluster.LbSubsetConfig.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • clearOneof

        public Cluster.LbSubsetConfig.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • setRepeatedField

        public Cluster.LbSubsetConfig.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                               int index,
                                                               Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • addRepeatedField

        public Cluster.LbSubsetConfig.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                               Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • mergeFrom

        public Cluster.LbSubsetConfig.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Cluster.LbSubsetConfig.Builder>
        Throws:
        IOException
      • getFallbackPolicyValue

        public int getFallbackPolicyValue()
         The behavior used when no endpoint subset matches the selected route's
         metadata. The value defaults to
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }
        Specified by:
        getFallbackPolicyValue in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The enum numeric value on the wire for fallbackPolicy.
      • setFallbackPolicyValue

        public Cluster.LbSubsetConfig.Builder setFallbackPolicyValue​(int value)
         The behavior used when no endpoint subset matches the selected route's
         metadata. The value defaults to
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The enum numeric value on the wire for fallbackPolicy to set.
        Returns:
        This builder for chaining.
      • getFallbackPolicy

        public Cluster.LbSubsetConfig.LbSubsetFallbackPolicy getFallbackPolicy()
         The behavior used when no endpoint subset matches the selected route's
         metadata. The value defaults to
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }
        Specified by:
        getFallbackPolicy in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The fallbackPolicy.
      • setFallbackPolicy

        public Cluster.LbSubsetConfig.Builder setFallbackPolicy​(Cluster.LbSubsetConfig.LbSubsetFallbackPolicy value)
         The behavior used when no endpoint subset matches the selected route's
         metadata. The value defaults to
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The fallbackPolicy to set.
        Returns:
        This builder for chaining.
      • clearFallbackPolicy

        public Cluster.LbSubsetConfig.Builder clearFallbackPolicy()
         The behavior used when no endpoint subset matches the selected route's
         metadata. The value defaults to
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • hasDefaultSubset

        public boolean hasDefaultSubset()
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
        Specified by:
        hasDefaultSubset in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        Whether the defaultSubset field is set.
      • getDefaultSubset

        public com.google.protobuf.Struct getDefaultSubset()
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
        Specified by:
        getDefaultSubset in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The defaultSubset.
      • setDefaultSubset

        public Cluster.LbSubsetConfig.Builder setDefaultSubset​(com.google.protobuf.Struct value)
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
      • setDefaultSubset

        public Cluster.LbSubsetConfig.Builder setDefaultSubset​(com.google.protobuf.Struct.Builder builderForValue)
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
      • mergeDefaultSubset

        public Cluster.LbSubsetConfig.Builder mergeDefaultSubset​(com.google.protobuf.Struct value)
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
      • clearDefaultSubset

        public Cluster.LbSubsetConfig.Builder clearDefaultSubset()
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
      • getDefaultSubsetBuilder

        public com.google.protobuf.Struct.Builder getDefaultSubsetBuilder()
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
      • getDefaultSubsetOrBuilder

        public com.google.protobuf.StructOrBuilder getDefaultSubsetOrBuilder()
         Specifies the default subset of endpoints used during fallback if
         fallback_policy is
         :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
         Each field in default_subset is
         compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
         namespace. It is valid for no hosts to match, in which case the behavior
         is the same as a fallback_policy of
         :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
         
        .google.protobuf.Struct default_subset = 2;
        Specified by:
        getDefaultSubsetOrBuilder in interface Cluster.LbSubsetConfigOrBuilder
      • getSubsetSelectorsList

        public List<Cluster.LbSubsetConfig.LbSubsetSelector> getSubsetSelectorsList()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
        Specified by:
        getSubsetSelectorsList in interface Cluster.LbSubsetConfigOrBuilder
      • getSubsetSelectorsCount

        public int getSubsetSelectorsCount()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
        Specified by:
        getSubsetSelectorsCount in interface Cluster.LbSubsetConfigOrBuilder
      • getSubsetSelectors

        public Cluster.LbSubsetConfig.LbSubsetSelector getSubsetSelectors​(int index)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
        Specified by:
        getSubsetSelectors in interface Cluster.LbSubsetConfigOrBuilder
      • setSubsetSelectors

        public Cluster.LbSubsetConfig.Builder setSubsetSelectors​(int index,
                                                                 Cluster.LbSubsetConfig.LbSubsetSelector value)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • setSubsetSelectors

        public Cluster.LbSubsetConfig.Builder setSubsetSelectors​(int index,
                                                                 Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addSubsetSelectors

        public Cluster.LbSubsetConfig.Builder addSubsetSelectors​(Cluster.LbSubsetConfig.LbSubsetSelector value)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addSubsetSelectors

        public Cluster.LbSubsetConfig.Builder addSubsetSelectors​(int index,
                                                                 Cluster.LbSubsetConfig.LbSubsetSelector value)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addSubsetSelectors

        public Cluster.LbSubsetConfig.Builder addSubsetSelectors​(Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addSubsetSelectors

        public Cluster.LbSubsetConfig.Builder addSubsetSelectors​(int index,
                                                                 Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addAllSubsetSelectors

        public Cluster.LbSubsetConfig.Builder addAllSubsetSelectors​(Iterable<? extends Cluster.LbSubsetConfig.LbSubsetSelector> values)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • clearSubsetSelectors

        public Cluster.LbSubsetConfig.Builder clearSubsetSelectors()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • removeSubsetSelectors

        public Cluster.LbSubsetConfig.Builder removeSubsetSelectors​(int index)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • getSubsetSelectorsBuilder

        public Cluster.LbSubsetConfig.LbSubsetSelector.Builder getSubsetSelectorsBuilder​(int index)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • getSubsetSelectorsOrBuilder

        public Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder getSubsetSelectorsOrBuilder​(int index)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
        Specified by:
        getSubsetSelectorsOrBuilder in interface Cluster.LbSubsetConfigOrBuilder
      • getSubsetSelectorsOrBuilderList

        public List<? extends Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder> getSubsetSelectorsOrBuilderList()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
        Specified by:
        getSubsetSelectorsOrBuilderList in interface Cluster.LbSubsetConfigOrBuilder
      • addSubsetSelectorsBuilder

        public Cluster.LbSubsetConfig.LbSubsetSelector.Builder addSubsetSelectorsBuilder()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • addSubsetSelectorsBuilder

        public Cluster.LbSubsetConfig.LbSubsetSelector.Builder addSubsetSelectorsBuilder​(int index)
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • getSubsetSelectorsBuilderList

        public List<Cluster.LbSubsetConfig.LbSubsetSelector.Builder> getSubsetSelectorsBuilderList()
         For each entry, LbEndpoint.Metadata's
         ``envoy.lb`` namespace is traversed and a subset is created for each unique
         combination of key and value. For example:
         .. code-block:: json
           { "subset_selectors": [
               { "keys": [ "version" ] },
               { "keys": [ "stage", "hardware_type" ] }
           ]}
         A subset is matched when the metadata from the selected route and
         weighted cluster contains the same keys and values as the subset's
         metadata. The same host may appear in multiple subsets.
         
        repeated .envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;
      • getLocalityWeightAware

        public boolean getLocalityWeightAware()
         If true, routing to subsets will take into account the localities and locality weights of the
         endpoints when making the routing decision.
         There are some potential pitfalls associated with enabling this feature, as the resulting
         traffic split after applying both a subset match and locality weights might be undesirable.
         Consider for example a situation in which you have 50/50 split across two localities X/Y
         which have 100 hosts each without subsetting. If the subset LB results in X having only 1
         host selected but Y having 100, then a lot more load is being dumped on the single host in X
         than originally anticipated in the load balancing assignment delivered via EDS.
         
        bool locality_weight_aware = 4;
        Specified by:
        getLocalityWeightAware in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The localityWeightAware.
      • setLocalityWeightAware

        public Cluster.LbSubsetConfig.Builder setLocalityWeightAware​(boolean value)
         If true, routing to subsets will take into account the localities and locality weights of the
         endpoints when making the routing decision.
         There are some potential pitfalls associated with enabling this feature, as the resulting
         traffic split after applying both a subset match and locality weights might be undesirable.
         Consider for example a situation in which you have 50/50 split across two localities X/Y
         which have 100 hosts each without subsetting. If the subset LB results in X having only 1
         host selected but Y having 100, then a lot more load is being dumped on the single host in X
         than originally anticipated in the load balancing assignment delivered via EDS.
         
        bool locality_weight_aware = 4;
        Parameters:
        value - The localityWeightAware to set.
        Returns:
        This builder for chaining.
      • clearLocalityWeightAware

        public Cluster.LbSubsetConfig.Builder clearLocalityWeightAware()
         If true, routing to subsets will take into account the localities and locality weights of the
         endpoints when making the routing decision.
         There are some potential pitfalls associated with enabling this feature, as the resulting
         traffic split after applying both a subset match and locality weights might be undesirable.
         Consider for example a situation in which you have 50/50 split across two localities X/Y
         which have 100 hosts each without subsetting. If the subset LB results in X having only 1
         host selected but Y having 100, then a lot more load is being dumped on the single host in X
         than originally anticipated in the load balancing assignment delivered via EDS.
         
        bool locality_weight_aware = 4;
        Returns:
        This builder for chaining.
      • getScaleLocalityWeight

        public boolean getScaleLocalityWeight()
         When used with locality_weight_aware, scales the weight of each locality by the ratio
         of hosts in the subset vs hosts in the original subset. This aims to even out the load
         going to an individual locality if said locality is disproportionately affected by the
         subset predicate.
         
        bool scale_locality_weight = 5;
        Specified by:
        getScaleLocalityWeight in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The scaleLocalityWeight.
      • setScaleLocalityWeight

        public Cluster.LbSubsetConfig.Builder setScaleLocalityWeight​(boolean value)
         When used with locality_weight_aware, scales the weight of each locality by the ratio
         of hosts in the subset vs hosts in the original subset. This aims to even out the load
         going to an individual locality if said locality is disproportionately affected by the
         subset predicate.
         
        bool scale_locality_weight = 5;
        Parameters:
        value - The scaleLocalityWeight to set.
        Returns:
        This builder for chaining.
      • clearScaleLocalityWeight

        public Cluster.LbSubsetConfig.Builder clearScaleLocalityWeight()
         When used with locality_weight_aware, scales the weight of each locality by the ratio
         of hosts in the subset vs hosts in the original subset. This aims to even out the load
         going to an individual locality if said locality is disproportionately affected by the
         subset predicate.
         
        bool scale_locality_weight = 5;
        Returns:
        This builder for chaining.
      • getPanicModeAny

        public boolean getPanicModeAny()
         If true, when a fallback policy is configured and its corresponding subset fails to find
         a host this will cause any host to be selected instead.
         This is useful when using the default subset as the fallback policy, given the default
         subset might become empty. With this option enabled, if that happens the LB will attempt
         to select a host from the entire cluster.
         
        bool panic_mode_any = 6;
        Specified by:
        getPanicModeAny in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The panicModeAny.
      • setPanicModeAny

        public Cluster.LbSubsetConfig.Builder setPanicModeAny​(boolean value)
         If true, when a fallback policy is configured and its corresponding subset fails to find
         a host this will cause any host to be selected instead.
         This is useful when using the default subset as the fallback policy, given the default
         subset might become empty. With this option enabled, if that happens the LB will attempt
         to select a host from the entire cluster.
         
        bool panic_mode_any = 6;
        Parameters:
        value - The panicModeAny to set.
        Returns:
        This builder for chaining.
      • clearPanicModeAny

        public Cluster.LbSubsetConfig.Builder clearPanicModeAny()
         If true, when a fallback policy is configured and its corresponding subset fails to find
         a host this will cause any host to be selected instead.
         This is useful when using the default subset as the fallback policy, given the default
         subset might become empty. With this option enabled, if that happens the LB will attempt
         to select a host from the entire cluster.
         
        bool panic_mode_any = 6;
        Returns:
        This builder for chaining.
      • getListAsAny

        public boolean getListAsAny()
         If true, metadata specified for a metadata key will be matched against the corresponding
         endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value
         and any of the elements in the list matches the criteria.
         
        bool list_as_any = 7;
        Specified by:
        getListAsAny in interface Cluster.LbSubsetConfigOrBuilder
        Returns:
        The listAsAny.
      • setListAsAny

        public Cluster.LbSubsetConfig.Builder setListAsAny​(boolean value)
         If true, metadata specified for a metadata key will be matched against the corresponding
         endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value
         and any of the elements in the list matches the criteria.
         
        bool list_as_any = 7;
        Parameters:
        value - The listAsAny to set.
        Returns:
        This builder for chaining.
      • clearListAsAny

        public Cluster.LbSubsetConfig.Builder clearListAsAny()
         If true, metadata specified for a metadata key will be matched against the corresponding
         endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value
         and any of the elements in the list matches the criteria.
         
        bool list_as_any = 7;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final Cluster.LbSubsetConfig.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>
      • mergeUnknownFields

        public final Cluster.LbSubsetConfig.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.LbSubsetConfig.Builder>