pulumi-eks 4.3.0a1766451683__py3-none-any.whl → 4.3.0a1768307250__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,7 @@
2
2
  # *** WARNING: this file was generated by pulumi-gen-eks. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import builtins
6
- import copy
5
+ import builtins as _builtins
7
6
  import warnings
8
7
  import sys
9
8
  import pulumi
@@ -27,52 +26,52 @@ __all__ = ['NodeGroupV2Args', 'NodeGroupV2']
27
26
  class NodeGroupV2Args:
28
27
  def __init__(__self__, *,
29
28
  cluster: pulumi.Input[Union['Cluster', 'CoreDataArgs']],
30
- ami_id: Optional[pulumi.Input[builtins.str]] = None,
31
- ami_type: Optional[pulumi.Input[builtins.str]] = None,
32
- auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
33
- bootstrap_extra_args: Optional[pulumi.Input[builtins.str]] = None,
29
+ ami_id: Optional[pulumi.Input[_builtins.str]] = None,
30
+ ami_type: Optional[pulumi.Input[_builtins.str]] = None,
31
+ auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
32
+ bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
34
33
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
35
- cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
34
+ cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
36
35
  cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
37
- cluster_ingress_rule_id: Optional[pulumi.Input[builtins.str]] = None,
38
- desired_capacity: Optional[pulumi.Input[builtins.int]] = None,
39
- enable_detailed_monitoring: Optional[pulumi.Input[builtins.bool]] = None,
40
- encrypt_root_block_device: Optional[pulumi.Input[builtins.bool]] = None,
36
+ cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
37
+ desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
38
+ enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
39
+ encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
41
40
  extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
42
- gpu: Optional[pulumi.Input[builtins.bool]] = None,
43
- ignore_scaling_changes: Optional[builtins.bool] = None,
41
+ gpu: Optional[pulumi.Input[_builtins.bool]] = None,
42
+ ignore_scaling_changes: Optional[_builtins.bool] = None,
44
43
  instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
45
- instance_profile_name: Optional[pulumi.Input[builtins.str]] = None,
46
- instance_type: Optional[pulumi.Input[builtins.str]] = None,
47
- key_name: Optional[pulumi.Input[builtins.str]] = None,
48
- kubelet_extra_args: Optional[pulumi.Input[builtins.str]] = None,
49
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
44
+ instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
45
+ instance_type: Optional[pulumi.Input[_builtins.str]] = None,
46
+ key_name: Optional[pulumi.Input[_builtins.str]] = None,
47
+ kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
48
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
50
49
  launch_template_tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]] = None,
51
- max_size: Optional[pulumi.Input[builtins.int]] = None,
52
- min_refresh_percentage: Optional[pulumi.Input[builtins.int]] = None,
53
- min_size: Optional[pulumi.Input[builtins.int]] = None,
54
- node_associate_public_ip_address: Optional[pulumi.Input[builtins.bool]] = None,
55
- node_public_key: Optional[pulumi.Input[builtins.str]] = None,
56
- node_root_volume_delete_on_termination: Optional[pulumi.Input[builtins.bool]] = None,
57
- node_root_volume_encrypted: Optional[pulumi.Input[builtins.bool]] = None,
58
- node_root_volume_iops: Optional[pulumi.Input[builtins.int]] = None,
59
- node_root_volume_size: Optional[pulumi.Input[builtins.int]] = None,
60
- node_root_volume_throughput: Optional[pulumi.Input[builtins.int]] = None,
61
- node_root_volume_type: Optional[pulumi.Input[builtins.str]] = None,
50
+ max_size: Optional[pulumi.Input[_builtins.int]] = None,
51
+ min_refresh_percentage: Optional[pulumi.Input[_builtins.int]] = None,
52
+ min_size: Optional[pulumi.Input[_builtins.int]] = None,
53
+ node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
54
+ node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
55
+ node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
56
+ node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
57
+ node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
58
+ node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
59
+ node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
60
+ node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
62
61
  node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
63
- node_security_group_id: Optional[pulumi.Input[builtins.str]] = None,
64
- node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
65
- node_user_data: Optional[pulumi.Input[builtins.str]] = None,
66
- node_user_data_override: Optional[pulumi.Input[builtins.str]] = None,
62
+ node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
63
+ node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
64
+ node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
65
+ node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
67
66
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]] = None,
68
67
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
69
- spot_price: Optional[pulumi.Input[builtins.str]] = None,
68
+ spot_price: Optional[pulumi.Input[_builtins.str]] = None,
70
69
  taints: Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]] = None,
71
- version: Optional[pulumi.Input[builtins.str]] = None):
70
+ version: Optional[pulumi.Input[_builtins.str]] = None):
72
71
  """
73
72
  The set of arguments for constructing a NodeGroupV2 resource.
74
73
  :param pulumi.Input[Union['Cluster', 'CoreDataArgs']] cluster: The target EKS cluster.
75
- :param pulumi.Input[builtins.str] ami_id: The AMI ID to use for the worker nodes.
74
+ :param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
76
75
 
77
76
  Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
78
77
 
@@ -80,17 +79,17 @@ class NodeGroupV2Args:
80
79
 
81
80
  See for more details:
82
81
  - https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
83
- :param pulumi.Input[builtins.str] ami_type: The AMI Type to use for the worker nodes.
82
+ :param pulumi.Input[_builtins.str] ami_type: The AMI Type to use for the worker nodes.
84
83
 
85
84
  Only applicable when setting an AMI ID that is of type `arm64`.
86
85
 
87
86
  Note: `amiType` and `gpu` are mutually exclusive.
88
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
87
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
89
88
 
90
89
  Per AWS, all stack-level tags, including automatically created tags, and the `cloudFormationTags` option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
91
90
 
92
91
  Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
93
- :param pulumi.Input[builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
92
+ :param pulumi.Input[_builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
94
93
  :param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
95
94
  The settings will get merged with the base settings the provider uses to configure Bottlerocket.
96
95
 
@@ -101,24 +100,24 @@ class NodeGroupV2Args:
101
100
  - settings.kubernetes.cluster-dns-ip
102
101
 
103
102
  For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
104
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
103
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
105
104
 
106
105
  Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
107
106
  :param pulumi.Input['pulumi_aws.ec2.SecurityGroupRule'] cluster_ingress_rule: The ingress rule that gives node group access.
108
- :param pulumi.Input[builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
109
- :param pulumi.Input[builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
110
- :param pulumi.Input[builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
107
+ :param pulumi.Input[_builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
108
+ :param pulumi.Input[_builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
109
+ :param pulumi.Input[_builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
111
110
 
112
111
  With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals.
113
112
  When enabled, you can also get aggregated data across groups of similar instances.
114
113
 
115
114
  Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage.
116
115
  For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
117
- :param pulumi.Input[builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
116
+ :param pulumi.Input[_builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
118
117
  :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]] extra_node_security_groups: Extra security groups to attach on all nodes in this worker node group.
119
118
 
120
119
  This additional set of security groups captures any user application rules that will be needed for the nodes.
121
- :param pulumi.Input[builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
120
+ :param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
122
121
 
123
122
  Defaults to false.
124
123
 
@@ -127,29 +126,29 @@ class NodeGroupV2Args:
127
126
  See for more details:
128
127
  - https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
129
128
  - https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
130
- :param builtins.bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
129
+ :param _builtins.bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
131
130
 
132
131
  See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
133
132
  :param 'pulumi_aws.iam.InstanceProfile' instance_profile: The IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
134
- :param pulumi.Input[builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
135
- :param pulumi.Input[builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
136
- :param pulumi.Input[builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
137
- :param pulumi.Input[builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
138
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
133
+ :param pulumi.Input[_builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
134
+ :param pulumi.Input[_builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
135
+ :param pulumi.Input[_builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
136
+ :param pulumi.Input[_builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
137
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
139
138
  :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]] launch_template_tag_specifications: The tag specifications to apply to the launch template.
140
- :param pulumi.Input[builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
141
- :param pulumi.Input[builtins.int] min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
142
- :param pulumi.Input[builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
143
- :param pulumi.Input[builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
144
- :param pulumi.Input[builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
139
+ :param pulumi.Input[_builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
140
+ :param pulumi.Input[_builtins.int] min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
141
+ :param pulumi.Input[_builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
142
+ :param pulumi.Input[_builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
143
+ :param pulumi.Input[_builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
145
144
  https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
146
145
  If not provided, no SSH access is enabled on VMs.
147
- :param pulumi.Input[builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
148
- :param pulumi.Input[builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
149
- :param pulumi.Input[builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
150
- :param pulumi.Input[builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
151
- :param pulumi.Input[builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
152
- :param pulumi.Input[builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
146
+ :param pulumi.Input[_builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
147
+ :param pulumi.Input[_builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
148
+ :param pulumi.Input[_builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
149
+ :param pulumi.Input[_builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
150
+ :param pulumi.Input[_builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
151
+ :param pulumi.Input[_builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
153
152
  :param pulumi.Input['pulumi_aws.ec2.SecurityGroup'] node_security_group: The security group for the worker node group to communicate with the cluster.
154
153
 
155
154
  This security group requires specific inbound and outbound rules.
@@ -158,7 +157,7 @@ class NodeGroupV2Args:
158
157
  https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
159
158
 
160
159
  Note: The `nodeSecurityGroup` option and the cluster option`nodeSecurityGroupTags` are mutually exclusive.
161
- :param pulumi.Input[builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
160
+ :param pulumi.Input[_builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
162
161
 
163
162
  This security group requires specific inbound and outbound rules.
164
163
 
@@ -166,11 +165,11 @@ class NodeGroupV2Args:
166
165
  https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
167
166
 
168
167
  Note: The `nodeSecurityGroupId` option and the cluster option `nodeSecurityGroupTags` are mutually exclusive.
169
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
168
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
170
169
 
171
170
  Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's `subnetIds` is set, or if `publicSubnetIds` and/or `privateSubnetIds` were set.
172
- :param pulumi.Input[builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
173
- :param pulumi.Input[builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
171
+ :param pulumi.Input[_builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
172
+ :param pulumi.Input[_builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
174
173
 
175
174
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
176
175
  :param pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]] nodeadm_extra_options: Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way.
@@ -188,9 +187,9 @@ class NodeGroupV2Args:
188
187
  Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
189
188
 
190
189
  Defaults to the current recommended OS.
191
- :param pulumi.Input[builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
190
+ :param pulumi.Input[_builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
192
191
  :param pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]] taints: Custom k8s node taints to be attached to each worker node. Adds the given taints to the `--register-with-taints` kubelet argument
193
- :param pulumi.Input[builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
192
+ :param pulumi.Input[_builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
194
193
  """
195
194
  pulumi.set(__self__, "cluster", cluster)
196
195
  if ami_id is not None:
@@ -278,7 +277,7 @@ class NodeGroupV2Args:
278
277
  if version is not None:
279
278
  pulumi.set(__self__, "version", version)
280
279
 
281
- @property
280
+ @_builtins.property
282
281
  @pulumi.getter
283
282
  def cluster(self) -> pulumi.Input[Union['Cluster', 'CoreDataArgs']]:
284
283
  """
@@ -290,9 +289,9 @@ class NodeGroupV2Args:
290
289
  def cluster(self, value: pulumi.Input[Union['Cluster', 'CoreDataArgs']]):
291
290
  pulumi.set(self, "cluster", value)
292
291
 
293
- @property
292
+ @_builtins.property
294
293
  @pulumi.getter(name="amiId")
295
- def ami_id(self) -> Optional[pulumi.Input[builtins.str]]:
294
+ def ami_id(self) -> Optional[pulumi.Input[_builtins.str]]:
296
295
  """
297
296
  The AMI ID to use for the worker nodes.
298
297
 
@@ -306,12 +305,12 @@ class NodeGroupV2Args:
306
305
  return pulumi.get(self, "ami_id")
307
306
 
308
307
  @ami_id.setter
309
- def ami_id(self, value: Optional[pulumi.Input[builtins.str]]):
308
+ def ami_id(self, value: Optional[pulumi.Input[_builtins.str]]):
310
309
  pulumi.set(self, "ami_id", value)
311
310
 
312
- @property
311
+ @_builtins.property
313
312
  @pulumi.getter(name="amiType")
314
- def ami_type(self) -> Optional[pulumi.Input[builtins.str]]:
313
+ def ami_type(self) -> Optional[pulumi.Input[_builtins.str]]:
315
314
  """
316
315
  The AMI Type to use for the worker nodes.
317
316
 
@@ -322,12 +321,12 @@ class NodeGroupV2Args:
322
321
  return pulumi.get(self, "ami_type")
323
322
 
324
323
  @ami_type.setter
325
- def ami_type(self, value: Optional[pulumi.Input[builtins.str]]):
324
+ def ami_type(self, value: Optional[pulumi.Input[_builtins.str]]):
326
325
  pulumi.set(self, "ami_type", value)
327
326
 
328
- @property
327
+ @_builtins.property
329
328
  @pulumi.getter(name="autoScalingGroupTags")
330
- def auto_scaling_group_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
329
+ def auto_scaling_group_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
331
330
  """
332
331
  The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
333
332
 
@@ -338,22 +337,22 @@ class NodeGroupV2Args:
338
337
  return pulumi.get(self, "auto_scaling_group_tags")
339
338
 
340
339
  @auto_scaling_group_tags.setter
341
- def auto_scaling_group_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
340
+ def auto_scaling_group_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
342
341
  pulumi.set(self, "auto_scaling_group_tags", value)
343
342
 
344
- @property
343
+ @_builtins.property
345
344
  @pulumi.getter(name="bootstrapExtraArgs")
346
- def bootstrap_extra_args(self) -> Optional[pulumi.Input[builtins.str]]:
345
+ def bootstrap_extra_args(self) -> Optional[pulumi.Input[_builtins.str]]:
347
346
  """
348
347
  Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
349
348
  """
350
349
  return pulumi.get(self, "bootstrap_extra_args")
351
350
 
352
351
  @bootstrap_extra_args.setter
353
- def bootstrap_extra_args(self, value: Optional[pulumi.Input[builtins.str]]):
352
+ def bootstrap_extra_args(self, value: Optional[pulumi.Input[_builtins.str]]):
354
353
  pulumi.set(self, "bootstrap_extra_args", value)
355
354
 
356
- @property
355
+ @_builtins.property
357
356
  @pulumi.getter(name="bottlerocketSettings")
358
357
  def bottlerocket_settings(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
359
358
  """
@@ -374,9 +373,9 @@ class NodeGroupV2Args:
374
373
  def bottlerocket_settings(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
375
374
  pulumi.set(self, "bottlerocket_settings", value)
376
375
 
377
- @property
376
+ @_builtins.property
378
377
  @pulumi.getter(name="cloudFormationTags")
379
- def cloud_formation_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
378
+ def cloud_formation_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
380
379
  """
381
380
  The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
382
381
 
@@ -385,10 +384,10 @@ class NodeGroupV2Args:
385
384
  return pulumi.get(self, "cloud_formation_tags")
386
385
 
387
386
  @cloud_formation_tags.setter
388
- def cloud_formation_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
387
+ def cloud_formation_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
389
388
  pulumi.set(self, "cloud_formation_tags", value)
390
389
 
391
- @property
390
+ @_builtins.property
392
391
  @pulumi.getter(name="clusterIngressRule")
393
392
  def cluster_ingress_rule(self) -> Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']]:
394
393
  """
@@ -400,33 +399,33 @@ class NodeGroupV2Args:
400
399
  def cluster_ingress_rule(self, value: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']]):
401
400
  pulumi.set(self, "cluster_ingress_rule", value)
402
401
 
403
- @property
402
+ @_builtins.property
404
403
  @pulumi.getter(name="clusterIngressRuleId")
405
- def cluster_ingress_rule_id(self) -> Optional[pulumi.Input[builtins.str]]:
404
+ def cluster_ingress_rule_id(self) -> Optional[pulumi.Input[_builtins.str]]:
406
405
  """
407
406
  The ID of the ingress rule that gives node group access.
408
407
  """
409
408
  return pulumi.get(self, "cluster_ingress_rule_id")
410
409
 
411
410
  @cluster_ingress_rule_id.setter
412
- def cluster_ingress_rule_id(self, value: Optional[pulumi.Input[builtins.str]]):
411
+ def cluster_ingress_rule_id(self, value: Optional[pulumi.Input[_builtins.str]]):
413
412
  pulumi.set(self, "cluster_ingress_rule_id", value)
414
413
 
415
- @property
414
+ @_builtins.property
416
415
  @pulumi.getter(name="desiredCapacity")
417
- def desired_capacity(self) -> Optional[pulumi.Input[builtins.int]]:
416
+ def desired_capacity(self) -> Optional[pulumi.Input[_builtins.int]]:
418
417
  """
419
418
  The number of worker nodes that should be running in the cluster. Defaults to 2.
420
419
  """
421
420
  return pulumi.get(self, "desired_capacity")
422
421
 
423
422
  @desired_capacity.setter
424
- def desired_capacity(self, value: Optional[pulumi.Input[builtins.int]]):
423
+ def desired_capacity(self, value: Optional[pulumi.Input[_builtins.int]]):
425
424
  pulumi.set(self, "desired_capacity", value)
426
425
 
427
- @property
426
+ @_builtins.property
428
427
  @pulumi.getter(name="enableDetailedMonitoring")
429
- def enable_detailed_monitoring(self) -> Optional[pulumi.Input[builtins.bool]]:
428
+ def enable_detailed_monitoring(self) -> Optional[pulumi.Input[_builtins.bool]]:
430
429
  """
431
430
  Enables/disables detailed monitoring of the EC2 instances.
432
431
 
@@ -439,22 +438,22 @@ class NodeGroupV2Args:
439
438
  return pulumi.get(self, "enable_detailed_monitoring")
440
439
 
441
440
  @enable_detailed_monitoring.setter
442
- def enable_detailed_monitoring(self, value: Optional[pulumi.Input[builtins.bool]]):
441
+ def enable_detailed_monitoring(self, value: Optional[pulumi.Input[_builtins.bool]]):
443
442
  pulumi.set(self, "enable_detailed_monitoring", value)
444
443
 
445
- @property
444
+ @_builtins.property
446
445
  @pulumi.getter(name="encryptRootBlockDevice")
447
- def encrypt_root_block_device(self) -> Optional[pulumi.Input[builtins.bool]]:
446
+ def encrypt_root_block_device(self) -> Optional[pulumi.Input[_builtins.bool]]:
448
447
  """
449
448
  Encrypt the root block device of the nodes in the node group.
450
449
  """
451
450
  return pulumi.get(self, "encrypt_root_block_device")
452
451
 
453
452
  @encrypt_root_block_device.setter
454
- def encrypt_root_block_device(self, value: Optional[pulumi.Input[builtins.bool]]):
453
+ def encrypt_root_block_device(self, value: Optional[pulumi.Input[_builtins.bool]]):
455
454
  pulumi.set(self, "encrypt_root_block_device", value)
456
455
 
457
- @property
456
+ @_builtins.property
458
457
  @pulumi.getter(name="extraNodeSecurityGroups")
459
458
  def extra_node_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]]:
460
459
  """
@@ -468,9 +467,9 @@ class NodeGroupV2Args:
468
467
  def extra_node_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]]):
469
468
  pulumi.set(self, "extra_node_security_groups", value)
470
469
 
471
- @property
470
+ @_builtins.property
472
471
  @pulumi.getter
473
- def gpu(self) -> Optional[pulumi.Input[builtins.bool]]:
472
+ def gpu(self) -> Optional[pulumi.Input[_builtins.bool]]:
474
473
  """
475
474
  Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
476
475
 
@@ -485,12 +484,12 @@ class NodeGroupV2Args:
485
484
  return pulumi.get(self, "gpu")
486
485
 
487
486
  @gpu.setter
488
- def gpu(self, value: Optional[pulumi.Input[builtins.bool]]):
487
+ def gpu(self, value: Optional[pulumi.Input[_builtins.bool]]):
489
488
  pulumi.set(self, "gpu", value)
490
489
 
491
- @property
490
+ @_builtins.property
492
491
  @pulumi.getter(name="ignoreScalingChanges")
493
- def ignore_scaling_changes(self) -> Optional[builtins.bool]:
492
+ def ignore_scaling_changes(self) -> Optional[_builtins.bool]:
494
493
  """
495
494
  Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
496
495
 
@@ -499,10 +498,10 @@ class NodeGroupV2Args:
499
498
  return pulumi.get(self, "ignore_scaling_changes")
500
499
 
501
500
  @ignore_scaling_changes.setter
502
- def ignore_scaling_changes(self, value: Optional[builtins.bool]):
501
+ def ignore_scaling_changes(self, value: Optional[_builtins.bool]):
503
502
  pulumi.set(self, "ignore_scaling_changes", value)
504
503
 
505
- @property
504
+ @_builtins.property
506
505
  @pulumi.getter(name="instanceProfile")
507
506
  def instance_profile(self) -> Optional['pulumi_aws.iam.InstanceProfile']:
508
507
  """
@@ -514,67 +513,67 @@ class NodeGroupV2Args:
514
513
  def instance_profile(self, value: Optional['pulumi_aws.iam.InstanceProfile']):
515
514
  pulumi.set(self, "instance_profile", value)
516
515
 
517
- @property
516
+ @_builtins.property
518
517
  @pulumi.getter(name="instanceProfileName")
519
- def instance_profile_name(self) -> Optional[pulumi.Input[builtins.str]]:
518
+ def instance_profile_name(self) -> Optional[pulumi.Input[_builtins.str]]:
520
519
  """
521
520
  The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
522
521
  """
523
522
  return pulumi.get(self, "instance_profile_name")
524
523
 
525
524
  @instance_profile_name.setter
526
- def instance_profile_name(self, value: Optional[pulumi.Input[builtins.str]]):
525
+ def instance_profile_name(self, value: Optional[pulumi.Input[_builtins.str]]):
527
526
  pulumi.set(self, "instance_profile_name", value)
528
527
 
529
- @property
528
+ @_builtins.property
530
529
  @pulumi.getter(name="instanceType")
531
- def instance_type(self) -> Optional[pulumi.Input[builtins.str]]:
530
+ def instance_type(self) -> Optional[pulumi.Input[_builtins.str]]:
532
531
  """
533
532
  The instance type to use for the cluster's nodes. Defaults to "t3.medium".
534
533
  """
535
534
  return pulumi.get(self, "instance_type")
536
535
 
537
536
  @instance_type.setter
538
- def instance_type(self, value: Optional[pulumi.Input[builtins.str]]):
537
+ def instance_type(self, value: Optional[pulumi.Input[_builtins.str]]):
539
538
  pulumi.set(self, "instance_type", value)
540
539
 
541
- @property
540
+ @_builtins.property
542
541
  @pulumi.getter(name="keyName")
543
- def key_name(self) -> Optional[pulumi.Input[builtins.str]]:
542
+ def key_name(self) -> Optional[pulumi.Input[_builtins.str]]:
544
543
  """
545
544
  Name of the key pair to use for SSH access to worker nodes.
546
545
  """
547
546
  return pulumi.get(self, "key_name")
548
547
 
549
548
  @key_name.setter
550
- def key_name(self, value: Optional[pulumi.Input[builtins.str]]):
549
+ def key_name(self, value: Optional[pulumi.Input[_builtins.str]]):
551
550
  pulumi.set(self, "key_name", value)
552
551
 
553
- @property
552
+ @_builtins.property
554
553
  @pulumi.getter(name="kubeletExtraArgs")
555
- def kubelet_extra_args(self) -> Optional[pulumi.Input[builtins.str]]:
554
+ def kubelet_extra_args(self) -> Optional[pulumi.Input[_builtins.str]]:
556
555
  """
557
556
  Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
558
557
  """
559
558
  return pulumi.get(self, "kubelet_extra_args")
560
559
 
561
560
  @kubelet_extra_args.setter
562
- def kubelet_extra_args(self, value: Optional[pulumi.Input[builtins.str]]):
561
+ def kubelet_extra_args(self, value: Optional[pulumi.Input[_builtins.str]]):
563
562
  pulumi.set(self, "kubelet_extra_args", value)
564
563
 
565
- @property
564
+ @_builtins.property
566
565
  @pulumi.getter
567
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
566
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
568
567
  """
569
568
  Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
570
569
  """
571
570
  return pulumi.get(self, "labels")
572
571
 
573
572
  @labels.setter
574
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
573
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
575
574
  pulumi.set(self, "labels", value)
576
575
 
577
- @property
576
+ @_builtins.property
578
577
  @pulumi.getter(name="launchTemplateTagSpecifications")
579
578
  def launch_template_tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]]:
580
579
  """
@@ -586,57 +585,57 @@ class NodeGroupV2Args:
586
585
  def launch_template_tag_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]]):
587
586
  pulumi.set(self, "launch_template_tag_specifications", value)
588
587
 
589
- @property
588
+ @_builtins.property
590
589
  @pulumi.getter(name="maxSize")
591
- def max_size(self) -> Optional[pulumi.Input[builtins.int]]:
590
+ def max_size(self) -> Optional[pulumi.Input[_builtins.int]]:
592
591
  """
593
592
  The maximum number of worker nodes running in the cluster. Defaults to 2.
594
593
  """
595
594
  return pulumi.get(self, "max_size")
596
595
 
597
596
  @max_size.setter
598
- def max_size(self, value: Optional[pulumi.Input[builtins.int]]):
597
+ def max_size(self, value: Optional[pulumi.Input[_builtins.int]]):
599
598
  pulumi.set(self, "max_size", value)
600
599
 
601
- @property
600
+ @_builtins.property
602
601
  @pulumi.getter(name="minRefreshPercentage")
603
- def min_refresh_percentage(self) -> Optional[pulumi.Input[builtins.int]]:
602
+ def min_refresh_percentage(self) -> Optional[pulumi.Input[_builtins.int]]:
604
603
  """
605
604
  The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
606
605
  """
607
606
  return pulumi.get(self, "min_refresh_percentage")
608
607
 
609
608
  @min_refresh_percentage.setter
610
- def min_refresh_percentage(self, value: Optional[pulumi.Input[builtins.int]]):
609
+ def min_refresh_percentage(self, value: Optional[pulumi.Input[_builtins.int]]):
611
610
  pulumi.set(self, "min_refresh_percentage", value)
612
611
 
613
- @property
612
+ @_builtins.property
614
613
  @pulumi.getter(name="minSize")
615
- def min_size(self) -> Optional[pulumi.Input[builtins.int]]:
614
+ def min_size(self) -> Optional[pulumi.Input[_builtins.int]]:
616
615
  """
617
616
  The minimum number of worker nodes running in the cluster. Defaults to 1.
618
617
  """
619
618
  return pulumi.get(self, "min_size")
620
619
 
621
620
  @min_size.setter
622
- def min_size(self, value: Optional[pulumi.Input[builtins.int]]):
621
+ def min_size(self, value: Optional[pulumi.Input[_builtins.int]]):
623
622
  pulumi.set(self, "min_size", value)
624
623
 
625
- @property
624
+ @_builtins.property
626
625
  @pulumi.getter(name="nodeAssociatePublicIpAddress")
627
- def node_associate_public_ip_address(self) -> Optional[pulumi.Input[builtins.bool]]:
626
+ def node_associate_public_ip_address(self) -> Optional[pulumi.Input[_builtins.bool]]:
628
627
  """
629
628
  Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
630
629
  """
631
630
  return pulumi.get(self, "node_associate_public_ip_address")
632
631
 
633
632
  @node_associate_public_ip_address.setter
634
- def node_associate_public_ip_address(self, value: Optional[pulumi.Input[builtins.bool]]):
633
+ def node_associate_public_ip_address(self, value: Optional[pulumi.Input[_builtins.bool]]):
635
634
  pulumi.set(self, "node_associate_public_ip_address", value)
636
635
 
637
- @property
636
+ @_builtins.property
638
637
  @pulumi.getter(name="nodePublicKey")
639
- def node_public_key(self) -> Optional[pulumi.Input[builtins.str]]:
638
+ def node_public_key(self) -> Optional[pulumi.Input[_builtins.str]]:
640
639
  """
641
640
  Public key material for SSH access to worker nodes. See allowed formats at:
642
641
  https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
@@ -645,82 +644,82 @@ class NodeGroupV2Args:
645
644
  return pulumi.get(self, "node_public_key")
646
645
 
647
646
  @node_public_key.setter
648
- def node_public_key(self, value: Optional[pulumi.Input[builtins.str]]):
647
+ def node_public_key(self, value: Optional[pulumi.Input[_builtins.str]]):
649
648
  pulumi.set(self, "node_public_key", value)
650
649
 
651
- @property
650
+ @_builtins.property
652
651
  @pulumi.getter(name="nodeRootVolumeDeleteOnTermination")
653
- def node_root_volume_delete_on_termination(self) -> Optional[pulumi.Input[builtins.bool]]:
652
+ def node_root_volume_delete_on_termination(self) -> Optional[pulumi.Input[_builtins.bool]]:
654
653
  """
655
654
  Whether the root block device should be deleted on termination of the instance. Defaults to true.
656
655
  """
657
656
  return pulumi.get(self, "node_root_volume_delete_on_termination")
658
657
 
659
658
  @node_root_volume_delete_on_termination.setter
660
- def node_root_volume_delete_on_termination(self, value: Optional[pulumi.Input[builtins.bool]]):
659
+ def node_root_volume_delete_on_termination(self, value: Optional[pulumi.Input[_builtins.bool]]):
661
660
  pulumi.set(self, "node_root_volume_delete_on_termination", value)
662
661
 
663
- @property
662
+ @_builtins.property
664
663
  @pulumi.getter(name="nodeRootVolumeEncrypted")
665
- def node_root_volume_encrypted(self) -> Optional[pulumi.Input[builtins.bool]]:
664
+ def node_root_volume_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]:
666
665
  """
667
666
  Whether to encrypt a cluster node's root volume. Defaults to false.
668
667
  """
669
668
  return pulumi.get(self, "node_root_volume_encrypted")
670
669
 
671
670
  @node_root_volume_encrypted.setter
672
- def node_root_volume_encrypted(self, value: Optional[pulumi.Input[builtins.bool]]):
671
+ def node_root_volume_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]]):
673
672
  pulumi.set(self, "node_root_volume_encrypted", value)
674
673
 
675
- @property
674
+ @_builtins.property
676
675
  @pulumi.getter(name="nodeRootVolumeIops")
677
- def node_root_volume_iops(self) -> Optional[pulumi.Input[builtins.int]]:
676
+ def node_root_volume_iops(self) -> Optional[pulumi.Input[_builtins.int]]:
678
677
  """
679
678
  The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
680
679
  """
681
680
  return pulumi.get(self, "node_root_volume_iops")
682
681
 
683
682
  @node_root_volume_iops.setter
684
- def node_root_volume_iops(self, value: Optional[pulumi.Input[builtins.int]]):
683
+ def node_root_volume_iops(self, value: Optional[pulumi.Input[_builtins.int]]):
685
684
  pulumi.set(self, "node_root_volume_iops", value)
686
685
 
687
- @property
686
+ @_builtins.property
688
687
  @pulumi.getter(name="nodeRootVolumeSize")
689
- def node_root_volume_size(self) -> Optional[pulumi.Input[builtins.int]]:
688
+ def node_root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
690
689
  """
691
690
  The size in GiB of a cluster node's root volume. Defaults to 20.
692
691
  """
693
692
  return pulumi.get(self, "node_root_volume_size")
694
693
 
695
694
  @node_root_volume_size.setter
696
- def node_root_volume_size(self, value: Optional[pulumi.Input[builtins.int]]):
695
+ def node_root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
697
696
  pulumi.set(self, "node_root_volume_size", value)
698
697
 
699
- @property
698
+ @_builtins.property
700
699
  @pulumi.getter(name="nodeRootVolumeThroughput")
701
- def node_root_volume_throughput(self) -> Optional[pulumi.Input[builtins.int]]:
700
+ def node_root_volume_throughput(self) -> Optional[pulumi.Input[_builtins.int]]:
702
701
  """
703
702
  Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
704
703
  """
705
704
  return pulumi.get(self, "node_root_volume_throughput")
706
705
 
707
706
  @node_root_volume_throughput.setter
708
- def node_root_volume_throughput(self, value: Optional[pulumi.Input[builtins.int]]):
707
+ def node_root_volume_throughput(self, value: Optional[pulumi.Input[_builtins.int]]):
709
708
  pulumi.set(self, "node_root_volume_throughput", value)
710
709
 
711
- @property
710
+ @_builtins.property
712
711
  @pulumi.getter(name="nodeRootVolumeType")
713
- def node_root_volume_type(self) -> Optional[pulumi.Input[builtins.str]]:
712
+ def node_root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
714
713
  """
715
714
  Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
716
715
  """
717
716
  return pulumi.get(self, "node_root_volume_type")
718
717
 
719
718
  @node_root_volume_type.setter
720
- def node_root_volume_type(self, value: Optional[pulumi.Input[builtins.str]]):
719
+ def node_root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
721
720
  pulumi.set(self, "node_root_volume_type", value)
722
721
 
723
- @property
722
+ @_builtins.property
724
723
  @pulumi.getter(name="nodeSecurityGroup")
725
724
  def node_security_group(self) -> Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]:
726
725
  """
@@ -739,9 +738,9 @@ class NodeGroupV2Args:
739
738
  def node_security_group(self, value: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]):
740
739
  pulumi.set(self, "node_security_group", value)
741
740
 
742
- @property
741
+ @_builtins.property
743
742
  @pulumi.getter(name="nodeSecurityGroupId")
744
- def node_security_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
743
+ def node_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
745
744
  """
746
745
  The ID of the security group for the worker node group to communicate with the cluster.
747
746
 
@@ -755,12 +754,12 @@ class NodeGroupV2Args:
755
754
  return pulumi.get(self, "node_security_group_id")
756
755
 
757
756
  @node_security_group_id.setter
758
- def node_security_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
757
+ def node_security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
759
758
  pulumi.set(self, "node_security_group_id", value)
760
759
 
761
- @property
760
+ @_builtins.property
762
761
  @pulumi.getter(name="nodeSubnetIds")
763
- def node_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
762
+ def node_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
764
763
  """
765
764
  The set of subnets to override and use for the worker node group.
766
765
 
@@ -769,24 +768,24 @@ class NodeGroupV2Args:
769
768
  return pulumi.get(self, "node_subnet_ids")
770
769
 
771
770
  @node_subnet_ids.setter
772
- def node_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
771
+ def node_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
773
772
  pulumi.set(self, "node_subnet_ids", value)
774
773
 
775
- @property
774
+ @_builtins.property
776
775
  @pulumi.getter(name="nodeUserData")
777
- def node_user_data(self) -> Optional[pulumi.Input[builtins.str]]:
776
+ def node_user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
778
777
  """
779
778
  Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
780
779
  """
781
780
  return pulumi.get(self, "node_user_data")
782
781
 
783
782
  @node_user_data.setter
784
- def node_user_data(self, value: Optional[pulumi.Input[builtins.str]]):
783
+ def node_user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
785
784
  pulumi.set(self, "node_user_data", value)
786
785
 
787
- @property
786
+ @_builtins.property
788
787
  @pulumi.getter(name="nodeUserDataOverride")
789
- def node_user_data_override(self) -> Optional[pulumi.Input[builtins.str]]:
788
+ def node_user_data_override(self) -> Optional[pulumi.Input[_builtins.str]]:
790
789
  """
791
790
  User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
792
791
 
@@ -795,10 +794,10 @@ class NodeGroupV2Args:
795
794
  return pulumi.get(self, "node_user_data_override")
796
795
 
797
796
  @node_user_data_override.setter
798
- def node_user_data_override(self, value: Optional[pulumi.Input[builtins.str]]):
797
+ def node_user_data_override(self, value: Optional[pulumi.Input[_builtins.str]]):
799
798
  pulumi.set(self, "node_user_data_override", value)
800
799
 
801
- @property
800
+ @_builtins.property
802
801
  @pulumi.getter(name="nodeadmExtraOptions")
803
802
  def nodeadm_extra_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]:
804
803
  """
@@ -820,7 +819,7 @@ class NodeGroupV2Args:
820
819
  def nodeadm_extra_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]):
821
820
  pulumi.set(self, "nodeadm_extra_options", value)
822
821
 
823
- @property
822
+ @_builtins.property
824
823
  @pulumi.getter(name="operatingSystem")
825
824
  def operating_system(self) -> Optional[pulumi.Input['OperatingSystem']]:
826
825
  """
@@ -835,19 +834,19 @@ class NodeGroupV2Args:
835
834
  def operating_system(self, value: Optional[pulumi.Input['OperatingSystem']]):
836
835
  pulumi.set(self, "operating_system", value)
837
836
 
838
- @property
837
+ @_builtins.property
839
838
  @pulumi.getter(name="spotPrice")
840
- def spot_price(self) -> Optional[pulumi.Input[builtins.str]]:
839
+ def spot_price(self) -> Optional[pulumi.Input[_builtins.str]]:
841
840
  """
842
841
  Bidding price for spot instance. If set, only spot instances will be added as worker node.
843
842
  """
844
843
  return pulumi.get(self, "spot_price")
845
844
 
846
845
  @spot_price.setter
847
- def spot_price(self, value: Optional[pulumi.Input[builtins.str]]):
846
+ def spot_price(self, value: Optional[pulumi.Input[_builtins.str]]):
848
847
  pulumi.set(self, "spot_price", value)
849
848
 
850
- @property
849
+ @_builtins.property
851
850
  @pulumi.getter
852
851
  def taints(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]]:
853
852
  """
@@ -859,16 +858,16 @@ class NodeGroupV2Args:
859
858
  def taints(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]]):
860
859
  pulumi.set(self, "taints", value)
861
860
 
862
- @property
861
+ @_builtins.property
863
862
  @pulumi.getter
864
- def version(self) -> Optional[pulumi.Input[builtins.str]]:
863
+ def version(self) -> Optional[pulumi.Input[_builtins.str]]:
865
864
  """
866
865
  Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
867
866
  """
868
867
  return pulumi.get(self, "version")
869
868
 
870
869
  @version.setter
871
- def version(self, value: Optional[pulumi.Input[builtins.str]]):
870
+ def version(self, value: Optional[pulumi.Input[_builtins.str]]):
872
871
  pulumi.set(self, "version", value)
873
872
 
874
873
 
@@ -878,56 +877,56 @@ class NodeGroupV2(pulumi.ComponentResource):
878
877
  def __init__(__self__,
879
878
  resource_name: str,
880
879
  opts: Optional[pulumi.ResourceOptions] = None,
881
- ami_id: Optional[pulumi.Input[builtins.str]] = None,
882
- ami_type: Optional[pulumi.Input[builtins.str]] = None,
883
- auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
884
- bootstrap_extra_args: Optional[pulumi.Input[builtins.str]] = None,
880
+ ami_id: Optional[pulumi.Input[_builtins.str]] = None,
881
+ ami_type: Optional[pulumi.Input[_builtins.str]] = None,
882
+ auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
883
+ bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
885
884
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
886
- cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
885
+ cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
887
886
  cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
888
887
  cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
889
- cluster_ingress_rule_id: Optional[pulumi.Input[builtins.str]] = None,
890
- desired_capacity: Optional[pulumi.Input[builtins.int]] = None,
891
- enable_detailed_monitoring: Optional[pulumi.Input[builtins.bool]] = None,
892
- encrypt_root_block_device: Optional[pulumi.Input[builtins.bool]] = None,
888
+ cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
889
+ desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
890
+ enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
891
+ encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
893
892
  extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
894
- gpu: Optional[pulumi.Input[builtins.bool]] = None,
895
- ignore_scaling_changes: Optional[builtins.bool] = None,
893
+ gpu: Optional[pulumi.Input[_builtins.bool]] = None,
894
+ ignore_scaling_changes: Optional[_builtins.bool] = None,
896
895
  instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
897
- instance_profile_name: Optional[pulumi.Input[builtins.str]] = None,
898
- instance_type: Optional[pulumi.Input[builtins.str]] = None,
899
- key_name: Optional[pulumi.Input[builtins.str]] = None,
900
- kubelet_extra_args: Optional[pulumi.Input[builtins.str]] = None,
901
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
896
+ instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
897
+ instance_type: Optional[pulumi.Input[_builtins.str]] = None,
898
+ key_name: Optional[pulumi.Input[_builtins.str]] = None,
899
+ kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
900
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
902
901
  launch_template_tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]]] = None,
903
- max_size: Optional[pulumi.Input[builtins.int]] = None,
904
- min_refresh_percentage: Optional[pulumi.Input[builtins.int]] = None,
905
- min_size: Optional[pulumi.Input[builtins.int]] = None,
906
- node_associate_public_ip_address: Optional[pulumi.Input[builtins.bool]] = None,
907
- node_public_key: Optional[pulumi.Input[builtins.str]] = None,
908
- node_root_volume_delete_on_termination: Optional[pulumi.Input[builtins.bool]] = None,
909
- node_root_volume_encrypted: Optional[pulumi.Input[builtins.bool]] = None,
910
- node_root_volume_iops: Optional[pulumi.Input[builtins.int]] = None,
911
- node_root_volume_size: Optional[pulumi.Input[builtins.int]] = None,
912
- node_root_volume_throughput: Optional[pulumi.Input[builtins.int]] = None,
913
- node_root_volume_type: Optional[pulumi.Input[builtins.str]] = None,
902
+ max_size: Optional[pulumi.Input[_builtins.int]] = None,
903
+ min_refresh_percentage: Optional[pulumi.Input[_builtins.int]] = None,
904
+ min_size: Optional[pulumi.Input[_builtins.int]] = None,
905
+ node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
906
+ node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
907
+ node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
908
+ node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
909
+ node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
910
+ node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
911
+ node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
912
+ node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
914
913
  node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
915
- node_security_group_id: Optional[pulumi.Input[builtins.str]] = None,
916
- node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
917
- node_user_data: Optional[pulumi.Input[builtins.str]] = None,
918
- node_user_data_override: Optional[pulumi.Input[builtins.str]] = None,
914
+ node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
915
+ node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
916
+ node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
917
+ node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
919
918
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
920
919
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
921
- spot_price: Optional[pulumi.Input[builtins.str]] = None,
920
+ spot_price: Optional[pulumi.Input[_builtins.str]] = None,
922
921
  taints: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]]] = None,
923
- version: Optional[pulumi.Input[builtins.str]] = None,
922
+ version: Optional[pulumi.Input[_builtins.str]] = None,
924
923
  __props__=None):
925
924
  """
926
925
  NodeGroup is a component that wraps the AWS EC2 instances that provide compute capacity for an EKS cluster.
927
926
 
928
927
  :param str resource_name: The name of the resource.
929
928
  :param pulumi.ResourceOptions opts: Options for the resource.
930
- :param pulumi.Input[builtins.str] ami_id: The AMI ID to use for the worker nodes.
929
+ :param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
931
930
 
932
931
  Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
933
932
 
@@ -935,17 +934,17 @@ class NodeGroupV2(pulumi.ComponentResource):
935
934
 
936
935
  See for more details:
937
936
  - https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
938
- :param pulumi.Input[builtins.str] ami_type: The AMI Type to use for the worker nodes.
937
+ :param pulumi.Input[_builtins.str] ami_type: The AMI Type to use for the worker nodes.
939
938
 
940
939
  Only applicable when setting an AMI ID that is of type `arm64`.
941
940
 
942
941
  Note: `amiType` and `gpu` are mutually exclusive.
943
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
942
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
944
943
 
945
944
  Per AWS, all stack-level tags, including automatically created tags, and the `cloudFormationTags` option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
946
945
 
947
946
  Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
948
- :param pulumi.Input[builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
947
+ :param pulumi.Input[_builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
949
948
  :param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
950
949
  The settings will get merged with the base settings the provider uses to configure Bottlerocket.
951
950
 
@@ -956,25 +955,25 @@ class NodeGroupV2(pulumi.ComponentResource):
956
955
  - settings.kubernetes.cluster-dns-ip
957
956
 
958
957
  For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
959
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
958
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
960
959
 
961
960
  Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
962
961
  :param pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]] cluster: The target EKS cluster.
963
962
  :param pulumi.Input['pulumi_aws.ec2.SecurityGroupRule'] cluster_ingress_rule: The ingress rule that gives node group access.
964
- :param pulumi.Input[builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
965
- :param pulumi.Input[builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
966
- :param pulumi.Input[builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
963
+ :param pulumi.Input[_builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
964
+ :param pulumi.Input[_builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
965
+ :param pulumi.Input[_builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
967
966
 
968
967
  With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals.
969
968
  When enabled, you can also get aggregated data across groups of similar instances.
970
969
 
971
970
  Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage.
972
971
  For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
973
- :param pulumi.Input[builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
972
+ :param pulumi.Input[_builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
974
973
  :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]] extra_node_security_groups: Extra security groups to attach on all nodes in this worker node group.
975
974
 
976
975
  This additional set of security groups captures any user application rules that will be needed for the nodes.
977
- :param pulumi.Input[builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
976
+ :param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
978
977
 
979
978
  Defaults to false.
980
979
 
@@ -983,29 +982,29 @@ class NodeGroupV2(pulumi.ComponentResource):
983
982
  See for more details:
984
983
  - https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
985
984
  - https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
986
- :param builtins.bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
985
+ :param _builtins.bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
987
986
 
988
987
  See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
989
988
  :param 'pulumi_aws.iam.InstanceProfile' instance_profile: The IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
990
- :param pulumi.Input[builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
991
- :param pulumi.Input[builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
992
- :param pulumi.Input[builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
993
- :param pulumi.Input[builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
994
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
989
+ :param pulumi.Input[_builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
990
+ :param pulumi.Input[_builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
991
+ :param pulumi.Input[_builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
992
+ :param pulumi.Input[_builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
993
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
995
994
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]] launch_template_tag_specifications: The tag specifications to apply to the launch template.
996
- :param pulumi.Input[builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
997
- :param pulumi.Input[builtins.int] min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
998
- :param pulumi.Input[builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
999
- :param pulumi.Input[builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
1000
- :param pulumi.Input[builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
995
+ :param pulumi.Input[_builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
996
+ :param pulumi.Input[_builtins.int] min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
997
+ :param pulumi.Input[_builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
998
+ :param pulumi.Input[_builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
999
+ :param pulumi.Input[_builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
1001
1000
  https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
1002
1001
  If not provided, no SSH access is enabled on VMs.
1003
- :param pulumi.Input[builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
1004
- :param pulumi.Input[builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
1005
- :param pulumi.Input[builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
1006
- :param pulumi.Input[builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
1007
- :param pulumi.Input[builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
1008
- :param pulumi.Input[builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
1002
+ :param pulumi.Input[_builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
1003
+ :param pulumi.Input[_builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
1004
+ :param pulumi.Input[_builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
1005
+ :param pulumi.Input[_builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
1006
+ :param pulumi.Input[_builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
1007
+ :param pulumi.Input[_builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
1009
1008
  :param pulumi.Input['pulumi_aws.ec2.SecurityGroup'] node_security_group: The security group for the worker node group to communicate with the cluster.
1010
1009
 
1011
1010
  This security group requires specific inbound and outbound rules.
@@ -1014,7 +1013,7 @@ class NodeGroupV2(pulumi.ComponentResource):
1014
1013
  https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
1015
1014
 
1016
1015
  Note: The `nodeSecurityGroup` option and the cluster option`nodeSecurityGroupTags` are mutually exclusive.
1017
- :param pulumi.Input[builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
1016
+ :param pulumi.Input[_builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
1018
1017
 
1019
1018
  This security group requires specific inbound and outbound rules.
1020
1019
 
@@ -1022,11 +1021,11 @@ class NodeGroupV2(pulumi.ComponentResource):
1022
1021
  https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
1023
1022
 
1024
1023
  Note: The `nodeSecurityGroupId` option and the cluster option `nodeSecurityGroupTags` are mutually exclusive.
1025
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
1024
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
1026
1025
 
1027
1026
  Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's `subnetIds` is set, or if `publicSubnetIds` and/or `privateSubnetIds` were set.
1028
- :param pulumi.Input[builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
1029
- :param pulumi.Input[builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
1027
+ :param pulumi.Input[_builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
1028
+ :param pulumi.Input[_builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
1030
1029
 
1031
1030
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
1032
1031
  :param pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]] nodeadm_extra_options: Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way.
@@ -1044,9 +1043,9 @@ class NodeGroupV2(pulumi.ComponentResource):
1044
1043
  Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
1045
1044
 
1046
1045
  Defaults to the current recommended OS.
1047
- :param pulumi.Input[builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
1046
+ :param pulumi.Input[_builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
1048
1047
  :param pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]] taints: Custom k8s node taints to be attached to each worker node. Adds the given taints to the `--register-with-taints` kubelet argument
1049
- :param pulumi.Input[builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
1048
+ :param pulumi.Input[_builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
1050
1049
  """
1051
1050
  ...
1052
1051
  @overload
@@ -1072,49 +1071,49 @@ class NodeGroupV2(pulumi.ComponentResource):
1072
1071
  def _internal_init(__self__,
1073
1072
  resource_name: str,
1074
1073
  opts: Optional[pulumi.ResourceOptions] = None,
1075
- ami_id: Optional[pulumi.Input[builtins.str]] = None,
1076
- ami_type: Optional[pulumi.Input[builtins.str]] = None,
1077
- auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1078
- bootstrap_extra_args: Optional[pulumi.Input[builtins.str]] = None,
1074
+ ami_id: Optional[pulumi.Input[_builtins.str]] = None,
1075
+ ami_type: Optional[pulumi.Input[_builtins.str]] = None,
1076
+ auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1077
+ bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
1079
1078
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1080
- cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1079
+ cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1081
1080
  cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
1082
1081
  cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
1083
- cluster_ingress_rule_id: Optional[pulumi.Input[builtins.str]] = None,
1084
- desired_capacity: Optional[pulumi.Input[builtins.int]] = None,
1085
- enable_detailed_monitoring: Optional[pulumi.Input[builtins.bool]] = None,
1086
- encrypt_root_block_device: Optional[pulumi.Input[builtins.bool]] = None,
1082
+ cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
1083
+ desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
1084
+ enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
1085
+ encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
1087
1086
  extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
1088
- gpu: Optional[pulumi.Input[builtins.bool]] = None,
1089
- ignore_scaling_changes: Optional[builtins.bool] = None,
1087
+ gpu: Optional[pulumi.Input[_builtins.bool]] = None,
1088
+ ignore_scaling_changes: Optional[_builtins.bool] = None,
1090
1089
  instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
1091
- instance_profile_name: Optional[pulumi.Input[builtins.str]] = None,
1092
- instance_type: Optional[pulumi.Input[builtins.str]] = None,
1093
- key_name: Optional[pulumi.Input[builtins.str]] = None,
1094
- kubelet_extra_args: Optional[pulumi.Input[builtins.str]] = None,
1095
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1090
+ instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
1091
+ instance_type: Optional[pulumi.Input[_builtins.str]] = None,
1092
+ key_name: Optional[pulumi.Input[_builtins.str]] = None,
1093
+ kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
1094
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1096
1095
  launch_template_tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs']]]]] = None,
1097
- max_size: Optional[pulumi.Input[builtins.int]] = None,
1098
- min_refresh_percentage: Optional[pulumi.Input[builtins.int]] = None,
1099
- min_size: Optional[pulumi.Input[builtins.int]] = None,
1100
- node_associate_public_ip_address: Optional[pulumi.Input[builtins.bool]] = None,
1101
- node_public_key: Optional[pulumi.Input[builtins.str]] = None,
1102
- node_root_volume_delete_on_termination: Optional[pulumi.Input[builtins.bool]] = None,
1103
- node_root_volume_encrypted: Optional[pulumi.Input[builtins.bool]] = None,
1104
- node_root_volume_iops: Optional[pulumi.Input[builtins.int]] = None,
1105
- node_root_volume_size: Optional[pulumi.Input[builtins.int]] = None,
1106
- node_root_volume_throughput: Optional[pulumi.Input[builtins.int]] = None,
1107
- node_root_volume_type: Optional[pulumi.Input[builtins.str]] = None,
1096
+ max_size: Optional[pulumi.Input[_builtins.int]] = None,
1097
+ min_refresh_percentage: Optional[pulumi.Input[_builtins.int]] = None,
1098
+ min_size: Optional[pulumi.Input[_builtins.int]] = None,
1099
+ node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
1100
+ node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
1101
+ node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
1102
+ node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
1103
+ node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
1104
+ node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1105
+ node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
1106
+ node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
1108
1107
  node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
1109
- node_security_group_id: Optional[pulumi.Input[builtins.str]] = None,
1110
- node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1111
- node_user_data: Optional[pulumi.Input[builtins.str]] = None,
1112
- node_user_data_override: Optional[pulumi.Input[builtins.str]] = None,
1108
+ node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1109
+ node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1110
+ node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
1111
+ node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
1113
1112
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
1114
1113
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
1115
- spot_price: Optional[pulumi.Input[builtins.str]] = None,
1114
+ spot_price: Optional[pulumi.Input[_builtins.str]] = None,
1116
1115
  taints: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]]] = None,
1117
- version: Optional[pulumi.Input[builtins.str]] = None,
1116
+ version: Optional[pulumi.Input[_builtins.str]] = None,
1118
1117
  __props__=None):
1119
1118
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1120
1119
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1179,7 +1178,7 @@ class NodeGroupV2(pulumi.ComponentResource):
1179
1178
  opts,
1180
1179
  remote=True)
1181
1180
 
1182
- @property
1181
+ @_builtins.property
1183
1182
  @pulumi.getter(name="autoScalingGroup")
1184
1183
  def auto_scaling_group(self) -> pulumi.Output['pulumi_aws.autoscaling.Group']:
1185
1184
  """
@@ -1187,7 +1186,7 @@ class NodeGroupV2(pulumi.ComponentResource):
1187
1186
  """
1188
1187
  return pulumi.get(self, "auto_scaling_group")
1189
1188
 
1190
- @property
1189
+ @_builtins.property
1191
1190
  @pulumi.getter(name="extraNodeSecurityGroups")
1192
1191
  def extra_node_security_groups(self) -> pulumi.Output[Sequence['pulumi_aws.ec2.SecurityGroup']]:
1193
1192
  """
@@ -1195,7 +1194,7 @@ class NodeGroupV2(pulumi.ComponentResource):
1195
1194
  """
1196
1195
  return pulumi.get(self, "extra_node_security_groups")
1197
1196
 
1198
- @property
1197
+ @_builtins.property
1199
1198
  @pulumi.getter(name="nodeSecurityGroup")
1200
1199
  def node_security_group(self) -> pulumi.Output[Optional['pulumi_aws.ec2.SecurityGroup']]:
1201
1200
  """
@@ -1203,9 +1202,9 @@ class NodeGroupV2(pulumi.ComponentResource):
1203
1202
  """
1204
1203
  return pulumi.get(self, "node_security_group")
1205
1204
 
1206
- @property
1205
+ @_builtins.property
1207
1206
  @pulumi.getter(name="nodeSecurityGroupId")
1208
- def node_security_group_id(self) -> pulumi.Output[builtins.str]:
1207
+ def node_security_group_id(self) -> pulumi.Output[_builtins.str]:
1209
1208
  """
1210
1209
  The ID of the security group for the node group to communicate with the cluster.
1211
1210
  """