Class Cluster.CommonLbConfig.Builder

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

        public 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

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

        public Cluster.CommonLbConfig.Builder clearZoneAwareLbConfig()
        .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      • 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.
      • clearLocalityWeightedLbConfig

        public Cluster.CommonLbConfig.Builder clearLocalityWeightedLbConfig()
        .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      • 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.
      • 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;
      • 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>