Class NodePool

  • All Implemented Interfaces:
    NodePoolOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class NodePool
    extends com.google.protobuf.GeneratedMessageV3
    implements NodePoolOrBuilder
     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.
     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.
     
    Protobuf type google.container.v1beta1.NodePool
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         The name of the node pool.
         
        string name = 1;
        Specified by:
        getName in interface NodePoolOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The name of the node pool.
         
        string name = 1;
        Specified by:
        getNameBytes in interface NodePoolOrBuilder
        Returns:
        The bytes for name.
      • hasConfig

        public boolean hasConfig()
         The node configuration of the pool.
         
        .google.container.v1beta1.NodeConfig config = 2;
        Specified by:
        hasConfig in interface NodePoolOrBuilder
        Returns:
        Whether the config field is set.
      • getConfig

        public NodeConfig getConfig()
         The node configuration of the pool.
         
        .google.container.v1beta1.NodeConfig config = 2;
        Specified by:
        getConfig in interface NodePoolOrBuilder
        Returns:
        The config.
      • getInitialNodeCount

        public int getInitialNodeCount()
         The initial node count for the pool. You must ensure that your
         Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
         is sufficient for this number of instances. You must also have available
         firewall and routes quota.
         
        int32 initial_node_count = 3;
        Specified by:
        getInitialNodeCount in interface NodePoolOrBuilder
        Returns:
        The initialNodeCount.
      • getLocationsList

        public com.google.protobuf.ProtocolStringList getLocationsList()
         The list of Google Compute Engine
         [zones](https://cloud.google.com/compute/docs/zones#available) in which the
         NodePool's nodes should be located.
        
         If this value is unspecified during node pool creation, the
         [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
         value will be used, instead.
        
         Warning: changing node pool locations will result in nodes being added
         and/or removed.
         
        repeated string locations = 13;
        Specified by:
        getLocationsList in interface NodePoolOrBuilder
        Returns:
        A list containing the locations.
      • getLocationsCount

        public int getLocationsCount()
         The list of Google Compute Engine
         [zones](https://cloud.google.com/compute/docs/zones#available) in which the
         NodePool's nodes should be located.
        
         If this value is unspecified during node pool creation, the
         [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
         value will be used, instead.
        
         Warning: changing node pool locations will result in nodes being added
         and/or removed.
         
        repeated string locations = 13;
        Specified by:
        getLocationsCount in interface NodePoolOrBuilder
        Returns:
        The count of locations.
      • getLocations

        public String getLocations​(int index)
         The list of Google Compute Engine
         [zones](https://cloud.google.com/compute/docs/zones#available) in which the
         NodePool's nodes should be located.
        
         If this value is unspecified during node pool creation, the
         [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
         value will be used, instead.
        
         Warning: changing node pool locations will result in nodes being added
         and/or removed.
         
        repeated string locations = 13;
        Specified by:
        getLocations in interface NodePoolOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The locations at the given index.
      • getLocationsBytes

        public com.google.protobuf.ByteString getLocationsBytes​(int index)
         The list of Google Compute Engine
         [zones](https://cloud.google.com/compute/docs/zones#available) in which the
         NodePool's nodes should be located.
        
         If this value is unspecified during node pool creation, the
         [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
         value will be used, instead.
        
         Warning: changing node pool locations will result in nodes being added
         and/or removed.
         
        repeated string locations = 13;
        Specified by:
        getLocationsBytes in interface NodePoolOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the locations at the given index.
      • hasNetworkConfig

        public boolean hasNetworkConfig()
         Networking configuration for this NodePool. If specified, it overrides the
         cluster-level defaults.
         
        .google.container.v1beta1.NodeNetworkConfig network_config = 14;
        Specified by:
        hasNetworkConfig in interface NodePoolOrBuilder
        Returns:
        Whether the networkConfig field is set.
      • getNetworkConfig

        public NodeNetworkConfig getNetworkConfig()
         Networking configuration for this NodePool. If specified, it overrides the
         cluster-level defaults.
         
        .google.container.v1beta1.NodeNetworkConfig network_config = 14;
        Specified by:
        getNetworkConfig in interface NodePoolOrBuilder
        Returns:
        The networkConfig.
      • getSelfLink

        public String getSelfLink()
         [Output only] Server-defined URL for the resource.
         
        string self_link = 100;
        Specified by:
        getSelfLink in interface NodePoolOrBuilder
        Returns:
        The selfLink.
      • getSelfLinkBytes

        public com.google.protobuf.ByteString getSelfLinkBytes()
         [Output only] Server-defined URL for the resource.
         
        string self_link = 100;
        Specified by:
        getSelfLinkBytes in interface NodePoolOrBuilder
        Returns:
        The bytes for selfLink.
      • getVersion

        public String getVersion()
         The version of Kubernetes running on this NodePool's nodes. If unspecified,
         it defaults as described
         [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version).
         
        string version = 101;
        Specified by:
        getVersion in interface NodePoolOrBuilder
        Returns:
        The version.
      • getVersionBytes

        public com.google.protobuf.ByteString getVersionBytes()
         The version of Kubernetes running on this NodePool's nodes. If unspecified,
         it defaults as described
         [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version).
         
        string version = 101;
        Specified by:
        getVersionBytes in interface NodePoolOrBuilder
        Returns:
        The bytes for version.
      • getInstanceGroupUrlsList

        public com.google.protobuf.ProtocolStringList getInstanceGroupUrlsList()
         [Output only] The resource URLs of the [managed instance
         groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
         associated with this node pool.
         During the node pool blue-green upgrade operation, the URLs contain both
         blue and green resources.
         
        repeated string instance_group_urls = 102;
        Specified by:
        getInstanceGroupUrlsList in interface NodePoolOrBuilder
        Returns:
        A list containing the instanceGroupUrls.
      • getInstanceGroupUrlsCount

        public int getInstanceGroupUrlsCount()
         [Output only] The resource URLs of the [managed instance
         groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
         associated with this node pool.
         During the node pool blue-green upgrade operation, the URLs contain both
         blue and green resources.
         
        repeated string instance_group_urls = 102;
        Specified by:
        getInstanceGroupUrlsCount in interface NodePoolOrBuilder
        Returns:
        The count of instanceGroupUrls.
      • getInstanceGroupUrls

        public String getInstanceGroupUrls​(int index)
         [Output only] The resource URLs of the [managed instance
         groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
         associated with this node pool.
         During the node pool blue-green upgrade operation, the URLs contain both
         blue and green resources.
         
        repeated string instance_group_urls = 102;
        Specified by:
        getInstanceGroupUrls in interface NodePoolOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The instanceGroupUrls at the given index.
      • getInstanceGroupUrlsBytes

        public com.google.protobuf.ByteString getInstanceGroupUrlsBytes​(int index)
         [Output only] The resource URLs of the [managed instance
         groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
         associated with this node pool.
         During the node pool blue-green upgrade operation, the URLs contain both
         blue and green resources.
         
        repeated string instance_group_urls = 102;
        Specified by:
        getInstanceGroupUrlsBytes in interface NodePoolOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the instanceGroupUrls at the given index.
      • getStatusValue

        public int getStatusValue()
         [Output only] The status of the nodes in this pool instance.
         
        .google.container.v1beta1.NodePool.Status status = 103;
        Specified by:
        getStatusValue in interface NodePoolOrBuilder
        Returns:
        The enum numeric value on the wire for status.
      • getStatus

        public NodePool.Status getStatus()
         [Output only] The status of the nodes in this pool instance.
         
        .google.container.v1beta1.NodePool.Status status = 103;
        Specified by:
        getStatus in interface NodePoolOrBuilder
        Returns:
        The status.
      • getStatusMessage

        @Deprecated
        public String getStatusMessage()
        Deprecated.
        google.container.v1beta1.NodePool.status_message is deprecated. See google/container/v1beta1/cluster_service.proto;l=3904
         [Output only] Deprecated. Use conditions instead.
         Additional information about the current status of this
         node pool instance, if available.
         
        string status_message = 104 [deprecated = true];
        Specified by:
        getStatusMessage in interface NodePoolOrBuilder
        Returns:
        The statusMessage.
      • getStatusMessageBytes

        @Deprecated
        public com.google.protobuf.ByteString getStatusMessageBytes()
        Deprecated.
        google.container.v1beta1.NodePool.status_message is deprecated. See google/container/v1beta1/cluster_service.proto;l=3904
         [Output only] Deprecated. Use conditions instead.
         Additional information about the current status of this
         node pool instance, if available.
         
        string status_message = 104 [deprecated = true];
        Specified by:
        getStatusMessageBytes in interface NodePoolOrBuilder
        Returns:
        The bytes for statusMessage.
      • hasAutoscaling

        public boolean hasAutoscaling()
         Autoscaler configuration for this NodePool. Autoscaler is enabled
         only if a valid configuration is present.
         
        .google.container.v1beta1.NodePoolAutoscaling autoscaling = 4;
        Specified by:
        hasAutoscaling in interface NodePoolOrBuilder
        Returns:
        Whether the autoscaling field is set.
      • getAutoscaling

        public NodePoolAutoscaling getAutoscaling()
         Autoscaler configuration for this NodePool. Autoscaler is enabled
         only if a valid configuration is present.
         
        .google.container.v1beta1.NodePoolAutoscaling autoscaling = 4;
        Specified by:
        getAutoscaling in interface NodePoolOrBuilder
        Returns:
        The autoscaling.
      • hasManagement

        public boolean hasManagement()
         NodeManagement configuration for this NodePool.
         
        .google.container.v1beta1.NodeManagement management = 5;
        Specified by:
        hasManagement in interface NodePoolOrBuilder
        Returns:
        Whether the management field is set.
      • getManagement

        public NodeManagement getManagement()
         NodeManagement configuration for this NodePool.
         
        .google.container.v1beta1.NodeManagement management = 5;
        Specified by:
        getManagement in interface NodePoolOrBuilder
        Returns:
        The management.
      • hasMaxPodsConstraint

        public boolean hasMaxPodsConstraint()
         The constraint on the maximum number of pods that can be run
         simultaneously on a node in the node pool.
         
        .google.container.v1beta1.MaxPodsConstraint max_pods_constraint = 6;
        Specified by:
        hasMaxPodsConstraint in interface NodePoolOrBuilder
        Returns:
        Whether the maxPodsConstraint field is set.
      • getMaxPodsConstraint

        public MaxPodsConstraint getMaxPodsConstraint()
         The constraint on the maximum number of pods that can be run
         simultaneously on a node in the node pool.
         
        .google.container.v1beta1.MaxPodsConstraint max_pods_constraint = 6;
        Specified by:
        getMaxPodsConstraint in interface NodePoolOrBuilder
        Returns:
        The maxPodsConstraint.
      • getConditionsCount

        public int getConditionsCount()
         Which conditions caused the current node pool state.
         
        repeated .google.container.v1beta1.StatusCondition conditions = 105;
        Specified by:
        getConditionsCount in interface NodePoolOrBuilder
      • getConditions

        public StatusCondition getConditions​(int index)
         Which conditions caused the current node pool state.
         
        repeated .google.container.v1beta1.StatusCondition conditions = 105;
        Specified by:
        getConditions in interface NodePoolOrBuilder
      • getPodIpv4CidrSize

        public int getPodIpv4CidrSize()
         [Output only] The pod CIDR block size per node in this node pool.
         
        int32 pod_ipv4_cidr_size = 7;
        Specified by:
        getPodIpv4CidrSize in interface NodePoolOrBuilder
        Returns:
        The podIpv4CidrSize.
      • hasUpgradeSettings

        public boolean hasUpgradeSettings()
         Upgrade settings control disruption and speed of the upgrade.
         
        .google.container.v1beta1.NodePool.UpgradeSettings upgrade_settings = 107;
        Specified by:
        hasUpgradeSettings in interface NodePoolOrBuilder
        Returns:
        Whether the upgradeSettings field is set.
      • getUpgradeSettings

        public NodePool.UpgradeSettings getUpgradeSettings()
         Upgrade settings control disruption and speed of the upgrade.
         
        .google.container.v1beta1.NodePool.UpgradeSettings upgrade_settings = 107;
        Specified by:
        getUpgradeSettings in interface NodePoolOrBuilder
        Returns:
        The upgradeSettings.
      • hasPlacementPolicy

        public boolean hasPlacementPolicy()
         Specifies the node placement policy.
         
        .google.container.v1beta1.NodePool.PlacementPolicy placement_policy = 108;
        Specified by:
        hasPlacementPolicy in interface NodePoolOrBuilder
        Returns:
        Whether the placementPolicy field is set.
      • hasUpdateInfo

        public boolean hasUpdateInfo()
         Output only. [Output only] Update info contains relevant information during
         a node pool update.
         
        .google.container.v1beta1.NodePool.UpdateInfo update_info = 109 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasUpdateInfo in interface NodePoolOrBuilder
        Returns:
        Whether the updateInfo field is set.
      • getUpdateInfo

        public NodePool.UpdateInfo getUpdateInfo()
         Output only. [Output only] Update info contains relevant information during
         a node pool update.
         
        .google.container.v1beta1.NodePool.UpdateInfo update_info = 109 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateInfo in interface NodePoolOrBuilder
        Returns:
        The updateInfo.
      • getUpdateInfoOrBuilder

        public NodePool.UpdateInfoOrBuilder getUpdateInfoOrBuilder()
         Output only. [Output only] Update info contains relevant information during
         a node pool update.
         
        .google.container.v1beta1.NodePool.UpdateInfo update_info = 109 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateInfoOrBuilder in interface NodePoolOrBuilder
      • getEtag

        public String getEtag()
         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.
         
        string etag = 110;
        Specified by:
        getEtag in interface NodePoolOrBuilder
        Returns:
        The etag.
      • getEtagBytes

        public com.google.protobuf.ByteString getEtagBytes()
         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.
         
        string etag = 110;
        Specified by:
        getEtagBytes in interface NodePoolOrBuilder
        Returns:
        The bytes for etag.
      • hasBestEffortProvisioning

        public boolean hasBestEffortProvisioning()
         Enable best effort provisioning for nodes
         
        .google.container.v1beta1.BestEffortProvisioning best_effort_provisioning = 113;
        Specified by:
        hasBestEffortProvisioning in interface NodePoolOrBuilder
        Returns:
        Whether the bestEffortProvisioning field is set.
      • getBestEffortProvisioning

        public BestEffortProvisioning getBestEffortProvisioning()
         Enable best effort provisioning for nodes
         
        .google.container.v1beta1.BestEffortProvisioning best_effort_provisioning = 113;
        Specified by:
        getBestEffortProvisioning in interface NodePoolOrBuilder
        Returns:
        The bestEffortProvisioning.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static NodePool parseFrom​(ByteBuffer data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(ByteBuffer data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(com.google.protobuf.ByteString data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(com.google.protobuf.ByteString data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(byte[] data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(byte[] data,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodePool parseFrom​(com.google.protobuf.CodedInputStream input,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                  throws IOException
        Throws:
        IOException
      • newBuilderForType

        public NodePool.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public NodePool.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected NodePool.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static NodePool getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<NodePool> parser()
      • getParserForType

        public com.google.protobuf.Parser<NodePool> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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