Class NodePool.UpgradeSettings.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<NodePool.UpgradeSettings.Builder>
com.google.container.v1.NodePool.UpgradeSettings.Builder
All Implemented Interfaces:
NodePool.UpgradeSettingsOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
NodePool.UpgradeSettings

public static final class NodePool.UpgradeSettings.Builder extends com.google.protobuf.GeneratedMessage.Builder<NodePool.UpgradeSettings.Builder> implements NodePool.UpgradeSettingsOrBuilder
 These upgrade settings control the level of parallelism and the level of
 disruption caused by an upgrade.

 maxUnavailable controls the number of nodes that can be simultaneously
 unavailable.

 maxSurge controls the number of additional nodes that can be added to the
 node pool temporarily for the time of the upgrade to increase the number of
 available nodes.

 (maxUnavailable + maxSurge) determines the level of parallelism (how many
 nodes are being upgraded at the same time).

 Note: upgrades inevitably introduce some disruption since workloads need to
 be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
 this holds true. (Disruption stays within the limits of
 PodDisruptionBudget, if it is configured.)

 Consider a hypothetical node pool with 5 nodes having maxSurge=2,
 maxUnavailable=1. This means the upgrade process upgrades 3 nodes
 simultaneously. It creates 2 additional (upgraded) nodes, then it brings
 down 3 old (not yet upgraded) nodes at the same time. This ensures that
 there are always at least 4 nodes available.

 These upgrade settings configure the upgrade strategy for the node pool.
 Use strategy to switch between the strategies applied to the node pool.

 If the strategy is ROLLING, use max_surge and max_unavailable to control
 the level of parallelism and the level of disruption caused by upgrade.
 1. maxSurge controls the number of additional nodes that can be added to
 the node pool temporarily for the time of the upgrade to increase the
 number of available nodes.
 2. maxUnavailable controls the number of nodes that can be simultaneously
 unavailable.
 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
 many nodes are being upgraded at the same time).

 If the strategy is BLUE_GREEN, use blue_green_settings to configure the
 blue-green upgrade related settings.
 1. standard_rollout_policy is the default policy. The policy is used to
 control the way blue pool gets drained. The draining is executed in the
 batch mode. The batch size could be specified as either percentage of the
 node pool size or the number of nodes. batch_soak_duration is the soak
 time after each batch gets drained.
 2. node_pool_soak_duration is the soak time after all blue nodes are
 drained. After this period, the blue pool nodes will be deleted.
 
Protobuf type google.container.v1.NodePool.UpgradeSettings
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<NodePool.UpgradeSettings.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.GeneratedMessage.Builder<NodePool.UpgradeSettings.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.GeneratedMessage.Builder<NodePool.UpgradeSettings.Builder>
    • getDefaultInstanceForType

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

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

      public NodePool.UpgradeSettings buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public NodePool.UpgradeSettings.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<NodePool.UpgradeSettings.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<NodePool.UpgradeSettings.Builder>
    • mergeFrom

      public NodePool.UpgradeSettings.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<NodePool.UpgradeSettings.Builder>
      Throws:
      IOException
    • getMaxSurge

      public int getMaxSurge()
       The maximum number of nodes that can be created beyond the current size
       of the node pool during the upgrade process.
       
      int32 max_surge = 1;
      Specified by:
      getMaxSurge in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The maxSurge.
    • setMaxSurge

      public NodePool.UpgradeSettings.Builder setMaxSurge(int value)
       The maximum number of nodes that can be created beyond the current size
       of the node pool during the upgrade process.
       
      int32 max_surge = 1;
      Parameters:
      value - The maxSurge to set.
      Returns:
      This builder for chaining.
    • clearMaxSurge

      public NodePool.UpgradeSettings.Builder clearMaxSurge()
       The maximum number of nodes that can be created beyond the current size
       of the node pool during the upgrade process.
       
      int32 max_surge = 1;
      Returns:
      This builder for chaining.
    • getMaxUnavailable

      public int getMaxUnavailable()
       The maximum number of nodes that can be simultaneously unavailable during
       the upgrade process. A node is considered available if its status is
       Ready.
       
      int32 max_unavailable = 2;
      Specified by:
      getMaxUnavailable in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The maxUnavailable.
    • setMaxUnavailable

      public NodePool.UpgradeSettings.Builder setMaxUnavailable(int value)
       The maximum number of nodes that can be simultaneously unavailable during
       the upgrade process. A node is considered available if its status is
       Ready.
       
      int32 max_unavailable = 2;
      Parameters:
      value - The maxUnavailable to set.
      Returns:
      This builder for chaining.
    • clearMaxUnavailable

      public NodePool.UpgradeSettings.Builder clearMaxUnavailable()
       The maximum number of nodes that can be simultaneously unavailable during
       the upgrade process. A node is considered available if its status is
       Ready.
       
      int32 max_unavailable = 2;
      Returns:
      This builder for chaining.
    • hasStrategy

      public boolean hasStrategy()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      hasStrategy in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      Whether the strategy field is set.
    • getStrategyValue

      public int getStrategyValue()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      getStrategyValue in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The enum numeric value on the wire for strategy.
    • setStrategyValue

      public NodePool.UpgradeSettings.Builder setStrategyValue(int value)
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Parameters:
      value - The enum numeric value on the wire for strategy to set.
      Returns:
      This builder for chaining.
    • getStrategy

      public NodePoolUpdateStrategy getStrategy()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      getStrategy in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The strategy.
    • setStrategy

       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Parameters:
      value - The strategy to set.
      Returns:
      This builder for chaining.
    • clearStrategy

      public NodePool.UpgradeSettings.Builder clearStrategy()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Returns:
      This builder for chaining.
    • hasBlueGreenSettings

      public boolean hasBlueGreenSettings()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      hasBlueGreenSettings in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      Whether the blueGreenSettings field is set.
    • getBlueGreenSettings

      public BlueGreenSettings getBlueGreenSettings()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      getBlueGreenSettings in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The blueGreenSettings.
    • setBlueGreenSettings

      public NodePool.UpgradeSettings.Builder setBlueGreenSettings(BlueGreenSettings value)
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
    • setBlueGreenSettings

      public NodePool.UpgradeSettings.Builder setBlueGreenSettings(BlueGreenSettings.Builder builderForValue)
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
    • mergeBlueGreenSettings

      public NodePool.UpgradeSettings.Builder mergeBlueGreenSettings(BlueGreenSettings value)
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
    • clearBlueGreenSettings

      public NodePool.UpgradeSettings.Builder clearBlueGreenSettings()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
    • getBlueGreenSettingsBuilder

      public BlueGreenSettings.Builder getBlueGreenSettingsBuilder()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
    • getBlueGreenSettingsOrBuilder

      public BlueGreenSettingsOrBuilder getBlueGreenSettingsOrBuilder()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      getBlueGreenSettingsOrBuilder in interface NodePool.UpgradeSettingsOrBuilder