NodePoolState class

Input properties used for looking up and filtering NodePool resources.

Constructors

NodePoolState({Input<NodePoolAutoscaling?>? autoscaling, Input<String?>? cluster, Input<String?>? deletionPolicy, Input<bool?>? ignoreNodeCountChanges, Input<int?>? initialNodeCount, Input<List<String>?>? instanceGroupUrls, Input<String?>? location, Input<List<NodePoolMaintenancePolicy>?>? maintenancePolicies, Input<List<String>?>? managedInstanceGroupUrls, Input<NodePoolManagement?>? management, Input<int?>? maxPodsPerNode, Input<String?>? name, Input<String?>? namePrefix, Input<NodePoolNetworkConfig?>? networkConfig, Input<NodePoolNodeConfig?>? nodeConfig, Input<int?>? nodeCount, Input<List<NodePoolNodeDrainConfig>?>? nodeDrainConfigs, Input<List<String>?>? nodeLocations, Input<String?>? operation, Input<NodePoolPlacementPolicy?>? placementPolicy, Input<String?>? project, Input<NodePoolQueuedProvisioning?>? queuedProvisioning, Input<NodePoolUpgradeSettings?>? upgradeSettings, Input<String?>? version})
Creates a new NodePoolState. autoscaling Configuration required by cluster autoscaler to adjust cluster The cluster to create the node pool for. Cluster must be present in location provided for clusters. May be specified in the format projects/{{project}}/locations/{{location}}/clusters/{{cluster}} or as just the name of the cluster. deletionPolicy Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE". 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 initial number of nodes for the pool. In instanceGroupUrls The resource URLs of the managed instance groups associated with this node pool. location The location (region or zone) of the cluster. maintenancePolicies The maintenance policy of the pool. Structure is documented below. managedInstanceGroupUrls List of instance group URLs which have been assigned to this node pool. management Node management configuration, wherein auto-repair and maxPodsPerNode The maximum number of pods per node in this node pool. name The name of the node pool. If left blank, the provider will namePrefix Creates a unique name for the node pool beginning networkConfig The network configuration of the pool. Such as nodeConfig Parameters used in creating the node pool. Structure is documented below. See gcp.container.Cluster for exact schema. nodeCount The number of nodes per instance group. This field can be used to nodeDrainConfigs The node drain configuration of the pool. Structure is documented below. nodeLocations The list of zones in which the node pool's nodes should be located. Nodes must operation Optional. placementPolicy Specifies a custom placement policy for the project The ID of the project in which to create the node pool. If blank, queuedProvisioning Specifies node pool-level settings of queued provisioning. upgradeSettings Specify node upgrade settings to change how GKE upgrades nodes. version The Kubernetes version for the nodes in this pool. Note that if this field
const
NodePoolState.fromMap(Map<String, dynamic> map)
factory

Properties

autoscaling → Input<NodePoolAutoscaling?>?
Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
final
cluster → Input<String?>?
The cluster to create the node pool for. Cluster must be present in location provided for clusters. May be specified in the format projects/{{project}}/locations/{{location}}/clusters/{{cluster}} or as just the name of the cluster.
final
deletionPolicy → Input<String?>?
Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE". When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
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 initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. WARNING: Resizing your node pool manually may change this value in your existing cluster, which will trigger destruction and recreation on the next provider run (to rectify the discrepancy). If you don't need this value, don't set it. If you do need it, you can use a lifecycle block to ignore subsequent changes to this field.
final
instanceGroupUrls → Input<List<String>?>?
The resource URLs of the managed instance groups associated with this node pool.
final
location → Input<String?>?
The location (region or zone) of the cluster.
final
maintenancePolicies → Input<List<NodePoolMaintenancePolicy>?>?
The maintenance policy of the pool. 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<NodePoolManagement?>?
Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
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. See the official documentation for more information.
final
name → Input<String?>?
The name of the node pool. If left blank, the provider will auto-generate a unique name.
final
namePrefix → Input<String?>?
Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.
final
networkConfig → Input<NodePoolNetworkConfig?>?
The network configuration of the pool. Such as configuration for Adding Pod IP address ranges) to the node pool. Or enabling private nodes. Structure is documented below
final
nodeConfig → Input<NodePoolNodeConfig?>?
Parameters used in creating the node pool. Structure is documented below. See gcp.container.Cluster for exact schema.
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<NodePoolNodeDrainConfig>?>?
The node drain configuration of the pool. Structure is documented below.
final
nodeLocations → Input<List<String>?>?
The list of zones in which the node pool's nodes should be 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 unspecified, the cluster-level nodeLocations will be used.
final
operation → Input<String?>?
final
placementPolicy → Input<NodePoolPlacementPolicy?>?
Specifies a custom placement policy for the nodes.
final
project → Input<String?>?
The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
final
queuedProvisioning → Input<NodePoolQueuedProvisioning?>?
Specifies node pool-level settings of queued provisioning. Structure is documented below.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
upgradeSettings → Input<NodePoolUpgradeSettings?>?
Specify node upgrade settings to change how GKE upgrades nodes. The maximum number of nodes upgraded simultaneously is limited to 20. Structure is documented below.
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 the provider 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 provider-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