Class: Google::Cloud::Container::V1::NodePool

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/container/v1/cluster_service.rb

Overview

NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.

Defined Under Namespace

Modules: Status Classes: PlacementPolicy, UpdateInfo, UpgradeSettings

Instance Attribute Summary collapse

Instance Attribute Details

#autoscaling::Google::Cloud::Container::V1::NodePoolAutoscaling

Returns Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#conditions::Array<::Google::Cloud::Container::V1::StatusCondition>

Returns Which conditions caused the current node pool state.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#config::Google::Cloud::Container::V1::NodeConfig

Returns The node configuration of the pool.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#etag::String

Returns This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.

Returns:

  • (::String)

    This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#initial_node_count::Integer

Returns The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.

Returns:

  • (::Integer)

    The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#instance_group_urls::Array<::String>

Returns [Output only] The resource URLs of the managed instance groups associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.

Returns:

  • (::Array<::String>)

    [Output only] The resource URLs of the managed instance groups associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#locations::Array<::String>

Returns The list of Google Compute Engine zones in which the NodePool's nodes should be located.

If this value is unspecified during node pool creation, the Cluster.Locations value will be used, instead.

Warning: changing node pool locations will result in nodes being added and/or removed.

Returns:

  • (::Array<::String>)

    The list of Google Compute Engine zones in which the NodePool's nodes should be located.

    If this value is unspecified during node pool creation, the Cluster.Locations value will be used, instead.

    Warning: changing node pool locations will result in nodes being added and/or removed.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#management::Google::Cloud::Container::V1::NodeManagement

Returns NodeManagement configuration for this NodePool.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#max_pods_constraint::Google::Cloud::Container::V1::MaxPodsConstraint

Returns The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#name::String

Returns The name of the node pool.

Returns:

  • (::String)

    The name of the node pool.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#network_config::Google::Cloud::Container::V1::NodeNetworkConfig

Returns Networking configuration for this NodePool. If specified, it overrides the cluster-level defaults.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#placement_policy::Google::Cloud::Container::V1::NodePool::PlacementPolicy

Returns Specifies the node placement policy.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#pod_ipv4_cidr_size::Integer

Returns [Output only] The pod CIDR block size per node in this node pool.

Returns:

  • (::Integer)

    [Output only] The pod CIDR block size per node in this node pool.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

Returns [Output only] Server-defined URL for the resource.

Returns:

  • (::String)

    [Output only] Server-defined URL for the resource.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#status::Google::Cloud::Container::V1::NodePool::Status

Returns [Output only] The status of the nodes in this pool instance.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#status_message::String

Returns [Output only] Deprecated. Use conditions instead. Additional information about the current status of this node pool instance, if available.

Returns:

  • (::String)

    [Output only] Deprecated. Use conditions instead. Additional information about the current status of this node pool instance, if available.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#update_info::Google::Cloud::Container::V1::NodePool::UpdateInfo (readonly)

Returns Output only. [Output only] Update info contains relevant information during a node pool update.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#upgrade_settings::Google::Cloud::Container::V1::NodePool::UpgradeSettings

Returns Upgrade settings control disruption and speed of the upgrade.

Returns:



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end

#version::String

Returns The version of the Kubernetes of this node.

Returns:

  • (::String)

    The version of the Kubernetes of this node.



2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
# File 'proto_docs/google/container/v1/cluster_service.rb', line 2790

class NodePool
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [rw] max_surge
  #   @return [::Integer]
  #     The maximum number of nodes that can be created beyond the current size
  #     of the node pool during the upgrade process.
  # @!attribute [rw] max_unavailable
  #   @return [::Integer]
  #     The maximum number of nodes that can be simultaneously unavailable during
  #     the upgrade process. A node is considered available if its status is
  #     Ready.
  # @!attribute [rw] strategy
  #   @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
  #     Update strategy of the node pool.
  # @!attribute [rw] blue_green_settings
  #   @return [::Google::Cloud::Container::V1::BlueGreenSettings]
  #     Settings for blue-green upgrade strategy.
  class UpgradeSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # UpdateInfo contains resource (instance groups, etc), status and other
  # intermediate information relevant to a node pool upgrade.
  # @!attribute [rw] blue_green_info
  #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
  #     Information of a blue-green upgrade.
  class UpdateInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information relevant to blue-green upgrade.
    # @!attribute [rw] phase
    #   @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
    #     Current blue-green upgrade phase.
    # @!attribute [rw] blue_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with blue pool.
    # @!attribute [rw] green_instance_group_urls
    #   @return [::Array<::String>]
    #     The resource URLs of the [managed instance groups]
    #     (/compute/docs/instance-groups/creating-groups-of-managed-instances)
    #     associated with green pool.
    # @!attribute [rw] blue_pool_deletion_start_time
    #   @return [::String]
    #     Time to start deleting blue pool to complete blue-green upgrade,
    #     in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    # @!attribute [rw] green_pool_version
    #   @return [::String]
    #     Version of green pool.
    class BlueGreenInfo
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Phase represents the different stages blue-green upgrade is running in.
      module Phase
        # Unspecified phase.
        PHASE_UNSPECIFIED = 0

        # blue-green upgrade has been initiated.
        UPDATE_STARTED = 1

        # Start creating green pool nodes.
        CREATING_GREEN_POOL = 2

        # Start cordoning blue pool nodes.
        CORDONING_BLUE_POOL = 3

        # Start draining blue pool nodes.
        DRAINING_BLUE_POOL = 4

        # Start soaking time after draining entire blue pool.
        NODE_POOL_SOAKING = 5

        # Start deleting blue nodes.
        DELETING_BLUE_POOL = 6

        # Rollback has been initiated.
        ROLLBACK_STARTED = 7
      end
    end
  end

  # PlacementPolicy defines the placement policy used by the node pool.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Container::V1::NodePool::PlacementPolicy::Type]
  #     The type of placement.
  class PlacementPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Type defines the type of placement policy.
    module Type
      # TYPE_UNSPECIFIED specifies no requirements on nodes
      # placement.
      TYPE_UNSPECIFIED = 0

      # COMPACT specifies node placement in the same availability domain to
      # ensure low communication latency.
      COMPACT = 1
    end
  end

  # The current status of the node pool instance.
  module Status
    # Not set.
    STATUS_UNSPECIFIED = 0

    # The PROVISIONING state indicates the node pool is being created.
    PROVISIONING = 1

    # The RUNNING state indicates the node pool has been created
    # and is fully usable.
    RUNNING = 2

    # The RUNNING_WITH_ERROR state indicates the node pool has been created
    # and is partially usable. Some error state has occurred and some
    # functionality may be impaired. Customer may need to reissue a request
    # or trigger a new update.
    RUNNING_WITH_ERROR = 3

    # The RECONCILING state indicates that some work is actively being done on
    # the node pool, such as upgrading node software. Details can
    # be found in the `statusMessage` field.
    RECONCILING = 4

    # The STOPPING state indicates the node pool is being deleted.
    STOPPING = 5

    # The ERROR state indicates the node pool may be unusable. Details
    # can be found in the `statusMessage` field.
    ERROR = 6
  end
end