ClusterNodePool class

Constructors

ClusterNodePool({Input<ClusterNodePoolAutoscaling?>? autoscaling, Input<bool?>? ignoreNodeCountChanges, Input<int?>? initialNodeCount, Input<List<String>?>? instanceGroupUrls, Input<List<ClusterNodePoolMaintenancePolicy>?>? maintenancePolicies, Input<List<String>?>? managedInstanceGroupUrls, Input<ClusterNodePoolManagement?>? management, Input<int?>? maxPodsPerNode, Input<String?>? name, Input<String?>? namePrefix, Input<ClusterNodePoolNetworkConfig?>? networkConfig, Input<ClusterNodePoolNodeConfig?>? nodeConfig, Input<int?>? nodeCount, Input<List<ClusterNodePoolNodeDrainConfig>?>? nodeDrainConfigs, Input<List<String>?>? nodeLocations, Input<ClusterNodePoolPlacementPolicy?>? placementPolicy, Input<ClusterNodePoolQueuedProvisioning?>? queuedProvisioning, Input<ClusterNodePoolUpgradeSettings?>? upgradeSettings, Input<String?>? version})
Creates a new ClusterNodePool. autoscaling Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. ignoreNodeCountChanges Whether to ignore external changes (drift) to the node count (e.g. from GKE autoscaling). Setting this to true skips querying Compute Engine Instance Group Managers (IGMs) to determine the current node count on read, which can save API quota and speed up plans on large clusters. Unlike Terraform core's lifecycle { ignoreChanges = [nodeCount] }, this allows configuration-driven scaling updates in your HCL while still ignoring runtime autoscaling drift. initialNodeCount The number of nodes to create in this instanceGroupUrls The resource URLs of the managed instance groups associated with this node pool. maintenancePolicies The maintenance policy to use for the cluster. Structure is managedInstanceGroupUrls List of instance group URLs which have been assigned to this node pool. management Node management configuration, wherein auto-repair and auto-upgrade is configured. maxPodsPerNode The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. name The name of the cluster, unique within the project and namePrefix Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name. networkConfig Configuration for nodeConfig The node configuration of the pool. Structure is documented below. nodeCount The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling. nodeDrainConfigs Node drain configuration for this NodePool. nodeLocations The list of zones in which the cluster's nodes placementPolicy Specifies the node placement policy queuedProvisioning Specifies the configuration of queued provisioning upgradeSettings Specify node upgrade settings to change how many nodes GKE attempts to upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and max_unavailable. The maximum number of nodes upgraded simultaneously is limited to 20. version The Kubernetes version for the nodes in this pool. Note that if this field and autoUpgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the gcp.container.getEngineVersions data source's versionPrefix field to approximate fuzzy versions in a Terraform-compatible way.
const
ClusterNodePool.fromMap(Map<String, dynamic> map)
factory

Properties

autoscaling → Input<ClusterNodePoolAutoscaling?>?
Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.
final
hashCode → int
The hash code for this object.
no setterinherited
ignoreNodeCountChanges → Input<bool?>?
Whether to ignore external changes (drift) to the node count (e.g. from GKE autoscaling). Setting this to true skips querying Compute Engine Instance Group Managers (IGMs) to determine the current node count on read, which can save API quota and speed up plans on large clusters. Unlike Terraform core's lifecycle { ignoreChanges = [nodeCount] }, this allows configuration-driven scaling updates in your HCL while still ignoring runtime autoscaling drift.
final
initialNodeCount → Input<int?>?
The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if nodePool is not set. If you're using gcp.container.NodePool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting removeDefaultNodePool to true.
final
instanceGroupUrls → Input<List<String>?>?
The resource URLs of the managed instance groups associated with this node pool.
final
maintenancePolicies → Input<List<ClusterNodePoolMaintenancePolicy>?>?
The maintenance policy to use for the cluster. Structure is documented below.
final
managedInstanceGroupUrls → Input<List<String>?>?
List of instance group URLs which have been assigned to this node pool.
final
management → Input<ClusterNodePoolManagement?>?
Node management configuration, wherein auto-repair and auto-upgrade is configured.
final
maxPodsPerNode → Input<int?>?
The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled.
final
name → Input<String?>?
The name of the cluster, unique within the project and location.
final
namePrefix → Input<String?>?
Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.
final
networkConfig → Input<ClusterNodePoolNetworkConfig?>?
Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
final
nodeConfig → Input<ClusterNodePoolNodeConfig?>?
The node configuration of the pool. Structure is documented below.
final
nodeCount → Input<int?>?
The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.
final
nodeDrainConfigs → Input<List<ClusterNodePoolNodeDrainConfig>?>?
Node drain configuration for this NodePool.
final
nodeLocations → Input<List<String>?>?
The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
final
placementPolicy → Input<ClusterNodePoolPlacementPolicy?>?
Specifies the node placement policy
final
queuedProvisioning → Input<ClusterNodePoolQueuedProvisioning?>?
Specifies the configuration of queued provisioning
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
upgradeSettings → Input<ClusterNodePoolUpgradeSettings?>?
Specify node upgrade settings to change how many nodes GKE attempts to upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and max_unavailable. The maximum number of nodes upgraded simultaneously is limited to 20.
final
version → Input<String?>?
The Kubernetes version for the nodes in this pool. Note that if this field and autoUpgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the gcp.container.getEngineVersions data source's versionPrefix field to approximate fuzzy versions in a Terraform-compatible way.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toMap() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited