Class Cluster.CommonLbConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Cluster.CommonLbConfig.Builder>
io.envoyproxy.envoy.api.v2.Cluster.CommonLbConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.CommonLbConfigOrBuilder, Cloneable
Enclosing class:
Cluster.CommonLbConfig

public static final class Cluster.CommonLbConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Cluster.CommonLbConfig.Builder> implements Cluster.CommonLbConfigOrBuilder
 Common configuration for all load balancer implementations.
 [#next-free-field: 8]
 
Protobuf type envoy.api.v2.Cluster.CommonLbConfig
  • Method Details

    • 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.CommonLbConfig.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.CommonLbConfig.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.CommonLbConfig.Builder>
    • getDefaultInstanceForType

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

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

      public Cluster.CommonLbConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.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.CommonLbConfig.Builder>
    • setField

      public Cluster.CommonLbConfig.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<Cluster.CommonLbConfig.Builder>
    • clearField

      public Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
    • clearOneof

      public Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
    • setRepeatedField

      public Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
    • addRepeatedField

      public Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
    • mergeFrom

      public Cluster.CommonLbConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Cluster.CommonLbConfig.Builder>
    • mergeFrom

    • isInitialized

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

      public Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
      Throws:
      IOException
    • getLocalityConfigSpecifierCase

      public Cluster.CommonLbConfig.LocalityConfigSpecifierCase getLocalityConfigSpecifierCase()
      Specified by:
      getLocalityConfigSpecifierCase in interface Cluster.CommonLbConfigOrBuilder
    • clearLocalityConfigSpecifier

      public Cluster.CommonLbConfig.Builder clearLocalityConfigSpecifier()
    • hasHealthyPanicThreshold

      public boolean hasHealthyPanicThreshold()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
      Specified by:
      hasHealthyPanicThreshold in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the healthyPanicThreshold field is set.
    • getHealthyPanicThreshold

      public Percent getHealthyPanicThreshold()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
      Specified by:
      getHealthyPanicThreshold in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The healthyPanicThreshold.
    • setHealthyPanicThreshold

      public Cluster.CommonLbConfig.Builder setHealthyPanicThreshold(Percent value)
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
    • setHealthyPanicThreshold

      public Cluster.CommonLbConfig.Builder setHealthyPanicThreshold(Percent.Builder builderForValue)
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
    • mergeHealthyPanicThreshold

      public Cluster.CommonLbConfig.Builder mergeHealthyPanicThreshold(Percent value)
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
    • clearHealthyPanicThreshold

      public Cluster.CommonLbConfig.Builder clearHealthyPanicThreshold()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
    • getHealthyPanicThresholdBuilder

      public Percent.Builder getHealthyPanicThresholdBuilder()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
    • getHealthyPanicThresholdOrBuilder

      public PercentOrBuilder getHealthyPanicThresholdOrBuilder()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
         The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.Percent healthy_panic_threshold = 1;
      Specified by:
      getHealthyPanicThresholdOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasZoneAwareLbConfig

      public boolean hasZoneAwareLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      hasZoneAwareLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the zoneAwareLbConfig field is set.
    • getZoneAwareLbConfig

      public Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      getZoneAwareLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The zoneAwareLbConfig.
    • setZoneAwareLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • setZoneAwareLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • mergeZoneAwareLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • clearZoneAwareLbConfig

      public Cluster.CommonLbConfig.Builder clearZoneAwareLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • getZoneAwareLbConfigBuilder

      public Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder getZoneAwareLbConfigBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • getZoneAwareLbConfigOrBuilder

      public Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      getZoneAwareLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasLocalityWeightedLbConfig

      public boolean hasLocalityWeightedLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      hasLocalityWeightedLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the localityWeightedLbConfig field is set.
    • getLocalityWeightedLbConfig

      public Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      getLocalityWeightedLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The localityWeightedLbConfig.
    • setLocalityWeightedLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • setLocalityWeightedLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • mergeLocalityWeightedLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • clearLocalityWeightedLbConfig

      public Cluster.CommonLbConfig.Builder clearLocalityWeightedLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • getLocalityWeightedLbConfigBuilder

      public Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder getLocalityWeightedLbConfigBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • getLocalityWeightedLbConfigOrBuilder

      public Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      getLocalityWeightedLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasUpdateMergeWindow

      public boolean hasUpdateMergeWindow()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      hasUpdateMergeWindow in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the updateMergeWindow field is set.
    • getUpdateMergeWindow

      public com.google.protobuf.Duration getUpdateMergeWindow()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      getUpdateMergeWindow in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The updateMergeWindow.
    • setUpdateMergeWindow

      public Cluster.CommonLbConfig.Builder setUpdateMergeWindow(com.google.protobuf.Duration value)
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
    • setUpdateMergeWindow

      public Cluster.CommonLbConfig.Builder setUpdateMergeWindow(com.google.protobuf.Duration.Builder builderForValue)
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
    • mergeUpdateMergeWindow

      public Cluster.CommonLbConfig.Builder mergeUpdateMergeWindow(com.google.protobuf.Duration value)
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
    • clearUpdateMergeWindow

      public Cluster.CommonLbConfig.Builder clearUpdateMergeWindow()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
    • getUpdateMergeWindowBuilder

      public com.google.protobuf.Duration.Builder getUpdateMergeWindowBuilder()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
    • getUpdateMergeWindowOrBuilder

      public com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      getUpdateMergeWindowOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • getIgnoreNewHostsUntilFirstHc

      public boolean getIgnoreNewHostsUntilFirstHc()
       If set to true, Envoy will not consider new hosts when computing load balancing weights until
       they have been health checked for the first time. This will have no effect unless
       active health checking is also configured.
      
       Ignoring a host means that for any load balancing calculations that adjust weights based
       on the ratio of eligible hosts and total hosts (priority spillover, locality weighting and
       panic mode) Envoy will exclude these hosts in the denominator.
      
       For example, with hosts in two priorities P0 and P1, where P0 looks like
       {healthy, unhealthy (new), unhealthy (new)}
       and where P1 looks like
       {healthy, healthy}
       all traffic will still hit P0, as 1 / (3 - 2) = 1.
      
       Enabling this will allow scaling up the number of hosts for a given cluster without entering
       panic mode or triggering priority spillover, assuming the hosts pass the first health check.
      
       If panic mode is triggered, new hosts are still eligible for traffic; they simply do not
       contribute to the calculation when deciding whether panic mode is enabled or not.
       
      bool ignore_new_hosts_until_first_hc = 5;
      Specified by:
      getIgnoreNewHostsUntilFirstHc in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The ignoreNewHostsUntilFirstHc.
    • setIgnoreNewHostsUntilFirstHc

      public Cluster.CommonLbConfig.Builder setIgnoreNewHostsUntilFirstHc(boolean value)
       If set to true, Envoy will not consider new hosts when computing load balancing weights until
       they have been health checked for the first time. This will have no effect unless
       active health checking is also configured.
      
       Ignoring a host means that for any load balancing calculations that adjust weights based
       on the ratio of eligible hosts and total hosts (priority spillover, locality weighting and
       panic mode) Envoy will exclude these hosts in the denominator.
      
       For example, with hosts in two priorities P0 and P1, where P0 looks like
       {healthy, unhealthy (new), unhealthy (new)}
       and where P1 looks like
       {healthy, healthy}
       all traffic will still hit P0, as 1 / (3 - 2) = 1.
      
       Enabling this will allow scaling up the number of hosts for a given cluster without entering
       panic mode or triggering priority spillover, assuming the hosts pass the first health check.
      
       If panic mode is triggered, new hosts are still eligible for traffic; they simply do not
       contribute to the calculation when deciding whether panic mode is enabled or not.
       
      bool ignore_new_hosts_until_first_hc = 5;
      Parameters:
      value - The ignoreNewHostsUntilFirstHc to set.
      Returns:
      This builder for chaining.
    • clearIgnoreNewHostsUntilFirstHc

      public Cluster.CommonLbConfig.Builder clearIgnoreNewHostsUntilFirstHc()
       If set to true, Envoy will not consider new hosts when computing load balancing weights until
       they have been health checked for the first time. This will have no effect unless
       active health checking is also configured.
      
       Ignoring a host means that for any load balancing calculations that adjust weights based
       on the ratio of eligible hosts and total hosts (priority spillover, locality weighting and
       panic mode) Envoy will exclude these hosts in the denominator.
      
       For example, with hosts in two priorities P0 and P1, where P0 looks like
       {healthy, unhealthy (new), unhealthy (new)}
       and where P1 looks like
       {healthy, healthy}
       all traffic will still hit P0, as 1 / (3 - 2) = 1.
      
       Enabling this will allow scaling up the number of hosts for a given cluster without entering
       panic mode or triggering priority spillover, assuming the hosts pass the first health check.
      
       If panic mode is triggered, new hosts are still eligible for traffic; they simply do not
       contribute to the calculation when deciding whether panic mode is enabled or not.
       
      bool ignore_new_hosts_until_first_hc = 5;
      Returns:
      This builder for chaining.
    • getCloseConnectionsOnHostSetChange

      public boolean getCloseConnectionsOnHostSetChange()
       If set to `true`, the cluster manager will drain all existing
       connections to upstream hosts whenever hosts are added or removed from the cluster.
       
      bool close_connections_on_host_set_change = 6;
      Specified by:
      getCloseConnectionsOnHostSetChange in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The closeConnectionsOnHostSetChange.
    • setCloseConnectionsOnHostSetChange

      public Cluster.CommonLbConfig.Builder setCloseConnectionsOnHostSetChange(boolean value)
       If set to `true`, the cluster manager will drain all existing
       connections to upstream hosts whenever hosts are added or removed from the cluster.
       
      bool close_connections_on_host_set_change = 6;
      Parameters:
      value - The closeConnectionsOnHostSetChange to set.
      Returns:
      This builder for chaining.
    • clearCloseConnectionsOnHostSetChange

      public Cluster.CommonLbConfig.Builder clearCloseConnectionsOnHostSetChange()
       If set to `true`, the cluster manager will drain all existing
       connections to upstream hosts whenever hosts are added or removed from the cluster.
       
      bool close_connections_on_host_set_change = 6;
      Returns:
      This builder for chaining.
    • hasConsistentHashingLbConfig

      public boolean hasConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      hasConsistentHashingLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the consistentHashingLbConfig field is set.
    • getConsistentHashingLbConfig

      public Cluster.CommonLbConfig.ConsistentHashingLbConfig getConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      getConsistentHashingLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The consistentHashingLbConfig.
    • setConsistentHashingLbConfig

       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
    • setConsistentHashingLbConfig

       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
    • mergeConsistentHashingLbConfig

       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
    • clearConsistentHashingLbConfig

      public Cluster.CommonLbConfig.Builder clearConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
    • getConsistentHashingLbConfigBuilder

      public Cluster.CommonLbConfig.ConsistentHashingLbConfig.Builder getConsistentHashingLbConfigBuilder()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
    • getConsistentHashingLbConfigOrBuilder

      public Cluster.CommonLbConfig.ConsistentHashingLbConfigOrBuilder getConsistentHashingLbConfigOrBuilder()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      getConsistentHashingLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • setUnknownFields

      public final Cluster.CommonLbConfig.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.CommonLbConfig.Builder>
    • mergeUnknownFields

      public final Cluster.CommonLbConfig.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.CommonLbConfig.Builder>