pulumi-eks 3.9.0a1742626547__py3-none-any.whl → 4.2.0__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,6 +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
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -26,51 +27,51 @@ __all__ = ['ManagedNodeGroupArgs', 'ManagedNodeGroup']
26
27
  class ManagedNodeGroupArgs:
27
28
  def __init__(__self__, *,
28
29
  cluster: pulumi.Input[Union['Cluster', 'CoreDataArgs']],
29
- ami_id: Optional[pulumi.Input[str]] = None,
30
- ami_type: Optional[pulumi.Input[str]] = None,
31
- bootstrap_extra_args: Optional[str] = None,
30
+ ami_id: Optional[pulumi.Input[builtins.str]] = None,
31
+ ami_type: Optional[pulumi.Input[builtins.str]] = None,
32
+ bootstrap_extra_args: Optional[builtins.str] = None,
32
33
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
33
- capacity_type: Optional[pulumi.Input[str]] = None,
34
- cluster_name: Optional[pulumi.Input[str]] = None,
35
- disk_size: Optional[pulumi.Input[int]] = None,
36
- enable_efa_support: Optional[bool] = None,
37
- enable_imd_sv2: Optional[bool] = None,
38
- force_update_version: Optional[pulumi.Input[bool]] = None,
39
- gpu: Optional[pulumi.Input[bool]] = None,
40
- ignore_scaling_changes: Optional[bool] = None,
41
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
42
- kubelet_extra_args: Optional[str] = None,
43
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
34
+ capacity_type: Optional[pulumi.Input[builtins.str]] = None,
35
+ cluster_name: Optional[pulumi.Input[builtins.str]] = None,
36
+ disk_size: Optional[pulumi.Input[builtins.int]] = None,
37
+ enable_efa_support: Optional[builtins.bool] = None,
38
+ enable_imd_sv2: Optional[builtins.bool] = None,
39
+ force_update_version: Optional[pulumi.Input[builtins.bool]] = None,
40
+ gpu: Optional[pulumi.Input[builtins.bool]] = None,
41
+ ignore_scaling_changes: Optional[builtins.bool] = None,
42
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
43
+ kubelet_extra_args: Optional[builtins.str] = None,
44
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
44
45
  launch_template: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']] = None,
45
- node_group_name: Optional[pulumi.Input[str]] = None,
46
- node_group_name_prefix: Optional[pulumi.Input[str]] = None,
46
+ node_group_name: Optional[pulumi.Input[builtins.str]] = None,
47
+ node_group_name_prefix: Optional[pulumi.Input[builtins.str]] = None,
47
48
  node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
48
- node_role_arn: Optional[pulumi.Input[str]] = None,
49
+ node_role_arn: Optional[pulumi.Input[builtins.str]] = None,
49
50
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]] = None,
50
51
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
51
- placement_group_availability_zone: Optional[pulumi.Input[str]] = None,
52
- release_version: Optional[pulumi.Input[str]] = None,
52
+ placement_group_availability_zone: Optional[pulumi.Input[builtins.str]] = None,
53
+ release_version: Optional[pulumi.Input[builtins.str]] = None,
53
54
  remote_access: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs']] = None,
54
55
  scaling_config: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs']] = None,
55
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
56
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
56
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
57
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
57
58
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.eks.NodeGroupTaintArgs']]]] = None,
58
- user_data: Optional[pulumi.Input[str]] = None,
59
- version: Optional[pulumi.Input[str]] = None):
59
+ user_data: Optional[pulumi.Input[builtins.str]] = None,
60
+ version: Optional[pulumi.Input[builtins.str]] = None):
60
61
  """
61
62
  The set of arguments for constructing a ManagedNodeGroup resource.
62
63
  :param pulumi.Input[Union['Cluster', 'CoreDataArgs']] cluster: The target EKS cluster.
63
- :param pulumi.Input[str] ami_id: The AMI ID to use for the worker nodes.
64
+ :param pulumi.Input[builtins.str] ami_id: The AMI ID to use for the worker nodes.
64
65
  Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
65
66
 
66
67
  Note: `amiId` is mutually exclusive with `gpu` and `amiType`.
67
68
 
68
69
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
69
- :param pulumi.Input[str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
70
+ :param pulumi.Input[builtins.str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
70
71
  Note: `amiType` and `amiId` are mutually exclusive.
71
72
 
72
73
  See the AWS documentation (https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Nodegroup-amiType) for valid AMI Types. This provider will only perform drift detection if a configuration value is provided.
73
- :param 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.
74
+ :param 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.
74
75
 
75
76
  Note that this field conflicts with `launchTemplate`.
76
77
  :param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
@@ -83,37 +84,37 @@ class ManagedNodeGroupArgs:
83
84
  - settings.kubernetes.cluster-dns-ip
84
85
 
85
86
  For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
86
- :param pulumi.Input[str] capacity_type: Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. This provider will only perform drift detection if a configuration value is provided.
87
- :param pulumi.Input[str] cluster_name: Name of the EKS Cluster.
88
- :param pulumi.Input[int] disk_size: Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
89
- :param bool enable_efa_support: Determines whether to enable Elastic Fabric Adapter (EFA) support for the node group. If multiple different instance types are configured for the node group, the first one will be used to determine the network interfaces to use. Requires `placementGroupAvailabilityZone` to be set.
90
- :param bool enable_imd_sv2: Enables the ability to use EC2 Instance Metadata Service v2, which provides a more secure way to access instance metadata. For more information, see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html.
87
+ :param pulumi.Input[builtins.str] capacity_type: Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. This provider will only perform drift detection if a configuration value is provided.
88
+ :param pulumi.Input[builtins.str] cluster_name: Name of the EKS Cluster.
89
+ :param pulumi.Input[builtins.int] disk_size: Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
90
+ :param builtins.bool enable_efa_support: Determines whether to enable Elastic Fabric Adapter (EFA) support for the node group. If multiple different instance types are configured for the node group, the first one will be used to determine the network interfaces to use. Requires `placementGroupAvailabilityZone` to be set.
91
+ :param builtins.bool enable_imd_sv2: Enables the ability to use EC2 Instance Metadata Service v2, which provides a more secure way to access instance metadata. For more information, see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html.
91
92
  Defaults to `false`.
92
93
 
93
94
  Note that this field conflicts with `launchTemplate`. If you are providing a custom `launchTemplate`, you should enable this feature within the `launchTemplateMetadataOptions` of the supplied `launchTemplate`.
94
- :param pulumi.Input[bool] force_update_version: Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
95
- :param pulumi.Input[bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
95
+ :param pulumi.Input[builtins.bool] force_update_version: Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
96
+ :param pulumi.Input[builtins.bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
96
97
  Defaults to false.
97
98
 
98
99
  Note: `gpu` and `amiId` are mutually exclusive.
99
100
 
100
101
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-amis.html.
101
- :param bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
102
+ :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.
102
103
 
103
104
  See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
104
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: Set of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.
105
- :param 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'. To escape characters in the extra argsvalue, wrap the value in quotes. For example, `kubeletExtraArgs = '--allowed-unsafe-sysctls "net.core.somaxconn"'`.
105
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] instance_types: Set of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.
106
+ :param 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'. To escape characters in the extra argsvalue, wrap the value in quotes. For example, `kubeletExtraArgs = '--allowed-unsafe-sysctls "net.core.somaxconn"'`.
106
107
  Note that this field conflicts with `launchTemplate`.
107
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
108
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
108
109
  :param pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs'] launch_template: Launch Template settings.
109
110
 
110
111
  Note: This field is mutually exclusive with `kubeletExtraArgs` and `bootstrapExtraArgs`.
111
- :param pulumi.Input[str] node_group_name: Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
112
- :param pulumi.Input[str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
112
+ :param pulumi.Input[builtins.str] node_group_name: Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
113
+ :param pulumi.Input[builtins.str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
113
114
  :param pulumi.Input['pulumi_aws.iam.Role'] node_role: The IAM Role that provides permissions for the EKS Node Group.
114
115
 
115
116
  Note, `nodeRole` and `nodeRoleArn` are mutually exclusive, and a single option must be used.
116
- :param pulumi.Input[str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
117
+ :param pulumi.Input[builtins.str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
117
118
 
118
119
  Note, `nodeRoleArn` and `nodeRole` are mutually exclusive, and a single option must be used.
119
120
  :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.
@@ -131,8 +132,8 @@ class ManagedNodeGroupArgs:
131
132
  Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
132
133
 
133
134
  Defaults to the current recommended OS.
134
- :param pulumi.Input[str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
135
- :param pulumi.Input[str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
135
+ :param pulumi.Input[builtins.str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
136
+ :param pulumi.Input[builtins.str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
136
137
  :param pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs'] remote_access: Remote access settings.
137
138
  :param pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs'] scaling_config: Scaling settings.
138
139
 
@@ -140,7 +141,7 @@ class ManagedNodeGroupArgs:
140
141
  - desiredSize: 2
141
142
  - minSize: 1
142
143
  - maxSize: 2
143
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: `kubernetes.io/cluster/CLUSTER_NAME` (where `CLUSTER_NAME` is replaced with the name of the EKS Cluster).
144
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: `kubernetes.io/cluster/CLUSTER_NAME` (where `CLUSTER_NAME` is replaced with the name of the EKS Cluster).
144
145
 
145
146
  Default subnetIds is chosen from the following list, in order, if subnetIds arg is not set:
146
147
  - core.subnetIds
@@ -148,9 +149,9 @@ class ManagedNodeGroupArgs:
148
149
  - core.publicSubnetIds
149
150
 
150
151
  This default logic is based on the existing subnet IDs logic of this package: https://git.io/JeM11
151
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags.
152
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value mapping of resource tags.
152
153
  :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.eks.NodeGroupTaintArgs']]] taints: The Kubernetes taints to be applied to the nodes in the node group. Maximum of 50 taints per node group.
153
- :param pulumi.Input[str] user_data: User specified code to run on node startup. This is expected to handle the full AWS EKS node bootstrapping. If omitted, the provider will configure the user data.
154
+ :param pulumi.Input[builtins.str] user_data: User specified code to run on node startup. This is expected to handle the full AWS EKS node bootstrapping. If omitted, the provider will configure the user data.
154
155
 
155
156
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data.
156
157
  """
@@ -232,7 +233,7 @@ class ManagedNodeGroupArgs:
232
233
 
233
234
  @property
234
235
  @pulumi.getter(name="amiId")
235
- def ami_id(self) -> Optional[pulumi.Input[str]]:
236
+ def ami_id(self) -> Optional[pulumi.Input[builtins.str]]:
236
237
  """
237
238
  The AMI ID to use for the worker nodes.
238
239
  Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
@@ -244,12 +245,12 @@ class ManagedNodeGroupArgs:
244
245
  return pulumi.get(self, "ami_id")
245
246
 
246
247
  @ami_id.setter
247
- def ami_id(self, value: Optional[pulumi.Input[str]]):
248
+ def ami_id(self, value: Optional[pulumi.Input[builtins.str]]):
248
249
  pulumi.set(self, "ami_id", value)
249
250
 
250
251
  @property
251
252
  @pulumi.getter(name="amiType")
252
- def ami_type(self) -> Optional[pulumi.Input[str]]:
253
+ def ami_type(self) -> Optional[pulumi.Input[builtins.str]]:
253
254
  """
254
255
  Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
255
256
  Note: `amiType` and `amiId` are mutually exclusive.
@@ -259,12 +260,12 @@ class ManagedNodeGroupArgs:
259
260
  return pulumi.get(self, "ami_type")
260
261
 
261
262
  @ami_type.setter
262
- def ami_type(self, value: Optional[pulumi.Input[str]]):
263
+ def ami_type(self, value: Optional[pulumi.Input[builtins.str]]):
263
264
  pulumi.set(self, "ami_type", value)
264
265
 
265
266
  @property
266
267
  @pulumi.getter(name="bootstrapExtraArgs")
267
- def bootstrap_extra_args(self) -> Optional[str]:
268
+ def bootstrap_extra_args(self) -> Optional[builtins.str]:
268
269
  """
269
270
  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.
270
271
 
@@ -273,7 +274,7 @@ class ManagedNodeGroupArgs:
273
274
  return pulumi.get(self, "bootstrap_extra_args")
274
275
 
275
276
  @bootstrap_extra_args.setter
276
- def bootstrap_extra_args(self, value: Optional[str]):
277
+ def bootstrap_extra_args(self, value: Optional[builtins.str]):
277
278
  pulumi.set(self, "bootstrap_extra_args", value)
278
279
 
279
280
  @property
@@ -299,55 +300,55 @@ class ManagedNodeGroupArgs:
299
300
 
300
301
  @property
301
302
  @pulumi.getter(name="capacityType")
302
- def capacity_type(self) -> Optional[pulumi.Input[str]]:
303
+ def capacity_type(self) -> Optional[pulumi.Input[builtins.str]]:
303
304
  """
304
305
  Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. This provider will only perform drift detection if a configuration value is provided.
305
306
  """
306
307
  return pulumi.get(self, "capacity_type")
307
308
 
308
309
  @capacity_type.setter
309
- def capacity_type(self, value: Optional[pulumi.Input[str]]):
310
+ def capacity_type(self, value: Optional[pulumi.Input[builtins.str]]):
310
311
  pulumi.set(self, "capacity_type", value)
311
312
 
312
313
  @property
313
314
  @pulumi.getter(name="clusterName")
314
- def cluster_name(self) -> Optional[pulumi.Input[str]]:
315
+ def cluster_name(self) -> Optional[pulumi.Input[builtins.str]]:
315
316
  """
316
317
  Name of the EKS Cluster.
317
318
  """
318
319
  return pulumi.get(self, "cluster_name")
319
320
 
320
321
  @cluster_name.setter
321
- def cluster_name(self, value: Optional[pulumi.Input[str]]):
322
+ def cluster_name(self, value: Optional[pulumi.Input[builtins.str]]):
322
323
  pulumi.set(self, "cluster_name", value)
323
324
 
324
325
  @property
325
326
  @pulumi.getter(name="diskSize")
326
- def disk_size(self) -> Optional[pulumi.Input[int]]:
327
+ def disk_size(self) -> Optional[pulumi.Input[builtins.int]]:
327
328
  """
328
329
  Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
329
330
  """
330
331
  return pulumi.get(self, "disk_size")
331
332
 
332
333
  @disk_size.setter
333
- def disk_size(self, value: Optional[pulumi.Input[int]]):
334
+ def disk_size(self, value: Optional[pulumi.Input[builtins.int]]):
334
335
  pulumi.set(self, "disk_size", value)
335
336
 
336
337
  @property
337
338
  @pulumi.getter(name="enableEfaSupport")
338
- def enable_efa_support(self) -> Optional[bool]:
339
+ def enable_efa_support(self) -> Optional[builtins.bool]:
339
340
  """
340
341
  Determines whether to enable Elastic Fabric Adapter (EFA) support for the node group. If multiple different instance types are configured for the node group, the first one will be used to determine the network interfaces to use. Requires `placementGroupAvailabilityZone` to be set.
341
342
  """
342
343
  return pulumi.get(self, "enable_efa_support")
343
344
 
344
345
  @enable_efa_support.setter
345
- def enable_efa_support(self, value: Optional[bool]):
346
+ def enable_efa_support(self, value: Optional[builtins.bool]):
346
347
  pulumi.set(self, "enable_efa_support", value)
347
348
 
348
349
  @property
349
350
  @pulumi.getter(name="enableIMDSv2")
350
- def enable_imd_sv2(self) -> Optional[bool]:
351
+ def enable_imd_sv2(self) -> Optional[builtins.bool]:
351
352
  """
352
353
  Enables the ability to use EC2 Instance Metadata Service v2, which provides a more secure way to access instance metadata. For more information, see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html.
353
354
  Defaults to `false`.
@@ -357,24 +358,24 @@ class ManagedNodeGroupArgs:
357
358
  return pulumi.get(self, "enable_imd_sv2")
358
359
 
359
360
  @enable_imd_sv2.setter
360
- def enable_imd_sv2(self, value: Optional[bool]):
361
+ def enable_imd_sv2(self, value: Optional[builtins.bool]):
361
362
  pulumi.set(self, "enable_imd_sv2", value)
362
363
 
363
364
  @property
364
365
  @pulumi.getter(name="forceUpdateVersion")
365
- def force_update_version(self) -> Optional[pulumi.Input[bool]]:
366
+ def force_update_version(self) -> Optional[pulumi.Input[builtins.bool]]:
366
367
  """
367
368
  Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
368
369
  """
369
370
  return pulumi.get(self, "force_update_version")
370
371
 
371
372
  @force_update_version.setter
372
- def force_update_version(self, value: Optional[pulumi.Input[bool]]):
373
+ def force_update_version(self, value: Optional[pulumi.Input[builtins.bool]]):
373
374
  pulumi.set(self, "force_update_version", value)
374
375
 
375
376
  @property
376
377
  @pulumi.getter
377
- def gpu(self) -> Optional[pulumi.Input[bool]]:
378
+ def gpu(self) -> Optional[pulumi.Input[builtins.bool]]:
378
379
  """
379
380
  Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
380
381
  Defaults to false.
@@ -386,12 +387,12 @@ class ManagedNodeGroupArgs:
386
387
  return pulumi.get(self, "gpu")
387
388
 
388
389
  @gpu.setter
389
- def gpu(self, value: Optional[pulumi.Input[bool]]):
390
+ def gpu(self, value: Optional[pulumi.Input[builtins.bool]]):
390
391
  pulumi.set(self, "gpu", value)
391
392
 
392
393
  @property
393
394
  @pulumi.getter(name="ignoreScalingChanges")
394
- def ignore_scaling_changes(self) -> Optional[bool]:
395
+ def ignore_scaling_changes(self) -> Optional[builtins.bool]:
395
396
  """
396
397
  Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
397
398
 
@@ -400,24 +401,24 @@ class ManagedNodeGroupArgs:
400
401
  return pulumi.get(self, "ignore_scaling_changes")
401
402
 
402
403
  @ignore_scaling_changes.setter
403
- def ignore_scaling_changes(self, value: Optional[bool]):
404
+ def ignore_scaling_changes(self, value: Optional[builtins.bool]):
404
405
  pulumi.set(self, "ignore_scaling_changes", value)
405
406
 
406
407
  @property
407
408
  @pulumi.getter(name="instanceTypes")
408
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
409
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
409
410
  """
410
411
  Set of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.
411
412
  """
412
413
  return pulumi.get(self, "instance_types")
413
414
 
414
415
  @instance_types.setter
415
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
416
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
416
417
  pulumi.set(self, "instance_types", value)
417
418
 
418
419
  @property
419
420
  @pulumi.getter(name="kubeletExtraArgs")
420
- def kubelet_extra_args(self) -> Optional[str]:
421
+ def kubelet_extra_args(self) -> Optional[builtins.str]:
421
422
  """
422
423
  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'. To escape characters in the extra argsvalue, wrap the value in quotes. For example, `kubeletExtraArgs = '--allowed-unsafe-sysctls "net.core.somaxconn"'`.
423
424
  Note that this field conflicts with `launchTemplate`.
@@ -425,19 +426,19 @@ class ManagedNodeGroupArgs:
425
426
  return pulumi.get(self, "kubelet_extra_args")
426
427
 
427
428
  @kubelet_extra_args.setter
428
- def kubelet_extra_args(self, value: Optional[str]):
429
+ def kubelet_extra_args(self, value: Optional[builtins.str]):
429
430
  pulumi.set(self, "kubelet_extra_args", value)
430
431
 
431
432
  @property
432
433
  @pulumi.getter
433
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
434
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
434
435
  """
435
436
  Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
436
437
  """
437
438
  return pulumi.get(self, "labels")
438
439
 
439
440
  @labels.setter
440
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
441
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
441
442
  pulumi.set(self, "labels", value)
442
443
 
443
444
  @property
@@ -456,26 +457,26 @@ class ManagedNodeGroupArgs:
456
457
 
457
458
  @property
458
459
  @pulumi.getter(name="nodeGroupName")
459
- def node_group_name(self) -> Optional[pulumi.Input[str]]:
460
+ def node_group_name(self) -> Optional[pulumi.Input[builtins.str]]:
460
461
  """
461
462
  Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
462
463
  """
463
464
  return pulumi.get(self, "node_group_name")
464
465
 
465
466
  @node_group_name.setter
466
- def node_group_name(self, value: Optional[pulumi.Input[str]]):
467
+ def node_group_name(self, value: Optional[pulumi.Input[builtins.str]]):
467
468
  pulumi.set(self, "node_group_name", value)
468
469
 
469
470
  @property
470
471
  @pulumi.getter(name="nodeGroupNamePrefix")
471
- def node_group_name_prefix(self) -> Optional[pulumi.Input[str]]:
472
+ def node_group_name_prefix(self) -> Optional[pulumi.Input[builtins.str]]:
472
473
  """
473
474
  Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
474
475
  """
475
476
  return pulumi.get(self, "node_group_name_prefix")
476
477
 
477
478
  @node_group_name_prefix.setter
478
- def node_group_name_prefix(self, value: Optional[pulumi.Input[str]]):
479
+ def node_group_name_prefix(self, value: Optional[pulumi.Input[builtins.str]]):
479
480
  pulumi.set(self, "node_group_name_prefix", value)
480
481
 
481
482
  @property
@@ -494,7 +495,7 @@ class ManagedNodeGroupArgs:
494
495
 
495
496
  @property
496
497
  @pulumi.getter(name="nodeRoleArn")
497
- def node_role_arn(self) -> Optional[pulumi.Input[str]]:
498
+ def node_role_arn(self) -> Optional[pulumi.Input[builtins.str]]:
498
499
  """
499
500
  Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
500
501
 
@@ -503,7 +504,7 @@ class ManagedNodeGroupArgs:
503
504
  return pulumi.get(self, "node_role_arn")
504
505
 
505
506
  @node_role_arn.setter
506
- def node_role_arn(self, value: Optional[pulumi.Input[str]]):
507
+ def node_role_arn(self, value: Optional[pulumi.Input[builtins.str]]):
507
508
  pulumi.set(self, "node_role_arn", value)
508
509
 
509
510
  @property
@@ -545,26 +546,26 @@ class ManagedNodeGroupArgs:
545
546
 
546
547
  @property
547
548
  @pulumi.getter(name="placementGroupAvailabilityZone")
548
- def placement_group_availability_zone(self) -> Optional[pulumi.Input[str]]:
549
+ def placement_group_availability_zone(self) -> Optional[pulumi.Input[builtins.str]]:
549
550
  """
550
551
  The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
551
552
  """
552
553
  return pulumi.get(self, "placement_group_availability_zone")
553
554
 
554
555
  @placement_group_availability_zone.setter
555
- def placement_group_availability_zone(self, value: Optional[pulumi.Input[str]]):
556
+ def placement_group_availability_zone(self, value: Optional[pulumi.Input[builtins.str]]):
556
557
  pulumi.set(self, "placement_group_availability_zone", value)
557
558
 
558
559
  @property
559
560
  @pulumi.getter(name="releaseVersion")
560
- def release_version(self) -> Optional[pulumi.Input[str]]:
561
+ def release_version(self) -> Optional[pulumi.Input[builtins.str]]:
561
562
  """
562
563
  AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
563
564
  """
564
565
  return pulumi.get(self, "release_version")
565
566
 
566
567
  @release_version.setter
567
- def release_version(self, value: Optional[pulumi.Input[str]]):
568
+ def release_version(self, value: Optional[pulumi.Input[builtins.str]]):
568
569
  pulumi.set(self, "release_version", value)
569
570
 
570
571
  @property
@@ -598,7 +599,7 @@ class ManagedNodeGroupArgs:
598
599
 
599
600
  @property
600
601
  @pulumi.getter(name="subnetIds")
601
- def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
602
+ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
602
603
  """
603
604
  Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: `kubernetes.io/cluster/CLUSTER_NAME` (where `CLUSTER_NAME` is replaced with the name of the EKS Cluster).
604
605
 
@@ -612,19 +613,19 @@ class ManagedNodeGroupArgs:
612
613
  return pulumi.get(self, "subnet_ids")
613
614
 
614
615
  @subnet_ids.setter
615
- def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
616
+ def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
616
617
  pulumi.set(self, "subnet_ids", value)
617
618
 
618
619
  @property
619
620
  @pulumi.getter
620
- def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
621
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
621
622
  """
622
623
  Key-value mapping of resource tags.
623
624
  """
624
625
  return pulumi.get(self, "tags")
625
626
 
626
627
  @tags.setter
627
- def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
628
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
628
629
  pulumi.set(self, "tags", value)
629
630
 
630
631
  @property
@@ -641,7 +642,7 @@ class ManagedNodeGroupArgs:
641
642
 
642
643
  @property
643
644
  @pulumi.getter(name="userData")
644
- def user_data(self) -> Optional[pulumi.Input[str]]:
645
+ def user_data(self) -> Optional[pulumi.Input[builtins.str]]:
645
646
  """
646
647
  User specified code to run on node startup. This is expected to handle the full AWS EKS node bootstrapping. If omitted, the provider will configure the user data.
647
648
 
@@ -650,56 +651,57 @@ class ManagedNodeGroupArgs:
650
651
  return pulumi.get(self, "user_data")
651
652
 
652
653
  @user_data.setter
653
- def user_data(self, value: Optional[pulumi.Input[str]]):
654
+ def user_data(self, value: Optional[pulumi.Input[builtins.str]]):
654
655
  pulumi.set(self, "user_data", value)
655
656
 
656
657
  @property
657
658
  @pulumi.getter
658
- def version(self) -> Optional[pulumi.Input[str]]:
659
+ def version(self) -> Optional[pulumi.Input[builtins.str]]:
659
660
  return pulumi.get(self, "version")
660
661
 
661
662
  @version.setter
662
- def version(self, value: Optional[pulumi.Input[str]]):
663
+ def version(self, value: Optional[pulumi.Input[builtins.str]]):
663
664
  pulumi.set(self, "version", value)
664
665
 
665
666
 
667
+ @pulumi.type_token("eks:index:ManagedNodeGroup")
666
668
  class ManagedNodeGroup(pulumi.ComponentResource):
667
669
  @overload
668
670
  def __init__(__self__,
669
671
  resource_name: str,
670
672
  opts: Optional[pulumi.ResourceOptions] = None,
671
- ami_id: Optional[pulumi.Input[str]] = None,
672
- ami_type: Optional[pulumi.Input[str]] = None,
673
- bootstrap_extra_args: Optional[str] = None,
673
+ ami_id: Optional[pulumi.Input[builtins.str]] = None,
674
+ ami_type: Optional[pulumi.Input[builtins.str]] = None,
675
+ bootstrap_extra_args: Optional[builtins.str] = None,
674
676
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
675
- capacity_type: Optional[pulumi.Input[str]] = None,
677
+ capacity_type: Optional[pulumi.Input[builtins.str]] = None,
676
678
  cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
677
- cluster_name: Optional[pulumi.Input[str]] = None,
678
- disk_size: Optional[pulumi.Input[int]] = None,
679
- enable_efa_support: Optional[bool] = None,
680
- enable_imd_sv2: Optional[bool] = None,
681
- force_update_version: Optional[pulumi.Input[bool]] = None,
682
- gpu: Optional[pulumi.Input[bool]] = None,
683
- ignore_scaling_changes: Optional[bool] = None,
684
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
685
- kubelet_extra_args: Optional[str] = None,
686
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
679
+ cluster_name: Optional[pulumi.Input[builtins.str]] = None,
680
+ disk_size: Optional[pulumi.Input[builtins.int]] = None,
681
+ enable_efa_support: Optional[builtins.bool] = None,
682
+ enable_imd_sv2: Optional[builtins.bool] = None,
683
+ force_update_version: Optional[pulumi.Input[builtins.bool]] = None,
684
+ gpu: Optional[pulumi.Input[builtins.bool]] = None,
685
+ ignore_scaling_changes: Optional[builtins.bool] = None,
686
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
687
+ kubelet_extra_args: Optional[builtins.str] = None,
688
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
687
689
  launch_template: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]] = None,
688
- node_group_name: Optional[pulumi.Input[str]] = None,
689
- node_group_name_prefix: Optional[pulumi.Input[str]] = None,
690
+ node_group_name: Optional[pulumi.Input[builtins.str]] = None,
691
+ node_group_name_prefix: Optional[pulumi.Input[builtins.str]] = None,
690
692
  node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
691
- node_role_arn: Optional[pulumi.Input[str]] = None,
693
+ node_role_arn: Optional[pulumi.Input[builtins.str]] = None,
692
694
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
693
695
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
694
- placement_group_availability_zone: Optional[pulumi.Input[str]] = None,
695
- release_version: Optional[pulumi.Input[str]] = None,
696
+ placement_group_availability_zone: Optional[pulumi.Input[builtins.str]] = None,
697
+ release_version: Optional[pulumi.Input[builtins.str]] = None,
696
698
  remote_access: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]] = None,
697
699
  scaling_config: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']]] = None,
698
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
699
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
700
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
701
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
700
702
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupTaintArgs']]]]] = None,
701
- user_data: Optional[pulumi.Input[str]] = None,
702
- version: Optional[pulumi.Input[str]] = None,
703
+ user_data: Optional[pulumi.Input[builtins.str]] = None,
704
+ version: Optional[pulumi.Input[builtins.str]] = None,
703
705
  __props__=None):
704
706
  """
705
707
  Manages an EKS Node Group, which can provision and optionally update an Auto Scaling Group of Kubernetes worker nodes compatible with EKS. Additional documentation about this functionality can be found in the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).
@@ -861,17 +863,17 @@ class ManagedNodeGroup(pulumi.ComponentResource):
861
863
 
862
864
  :param str resource_name: The name of the resource.
863
865
  :param pulumi.ResourceOptions opts: Options for the resource.
864
- :param pulumi.Input[str] ami_id: The AMI ID to use for the worker nodes.
866
+ :param pulumi.Input[builtins.str] ami_id: The AMI ID to use for the worker nodes.
865
867
  Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
866
868
 
867
869
  Note: `amiId` is mutually exclusive with `gpu` and `amiType`.
868
870
 
869
871
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
870
- :param pulumi.Input[str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
872
+ :param pulumi.Input[builtins.str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
871
873
  Note: `amiType` and `amiId` are mutually exclusive.
872
874
 
873
875
  See the AWS documentation (https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Nodegroup-amiType) for valid AMI Types. This provider will only perform drift detection if a configuration value is provided.
874
- :param 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.
876
+ :param 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.
875
877
 
876
878
  Note that this field conflicts with `launchTemplate`.
877
879
  :param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
@@ -884,38 +886,38 @@ class ManagedNodeGroup(pulumi.ComponentResource):
884
886
  - settings.kubernetes.cluster-dns-ip
885
887
 
886
888
  For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
887
- :param pulumi.Input[str] capacity_type: Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. This provider will only perform drift detection if a configuration value is provided.
889
+ :param pulumi.Input[builtins.str] capacity_type: Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`. This provider will only perform drift detection if a configuration value is provided.
888
890
  :param pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]] cluster: The target EKS cluster.
889
- :param pulumi.Input[str] cluster_name: Name of the EKS Cluster.
890
- :param pulumi.Input[int] disk_size: Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
891
- :param bool enable_efa_support: Determines whether to enable Elastic Fabric Adapter (EFA) support for the node group. If multiple different instance types are configured for the node group, the first one will be used to determine the network interfaces to use. Requires `placementGroupAvailabilityZone` to be set.
892
- :param bool enable_imd_sv2: Enables the ability to use EC2 Instance Metadata Service v2, which provides a more secure way to access instance metadata. For more information, see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html.
891
+ :param pulumi.Input[builtins.str] cluster_name: Name of the EKS Cluster.
892
+ :param pulumi.Input[builtins.int] disk_size: Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
893
+ :param builtins.bool enable_efa_support: Determines whether to enable Elastic Fabric Adapter (EFA) support for the node group. If multiple different instance types are configured for the node group, the first one will be used to determine the network interfaces to use. Requires `placementGroupAvailabilityZone` to be set.
894
+ :param builtins.bool enable_imd_sv2: Enables the ability to use EC2 Instance Metadata Service v2, which provides a more secure way to access instance metadata. For more information, see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html.
893
895
  Defaults to `false`.
894
896
 
895
897
  Note that this field conflicts with `launchTemplate`. If you are providing a custom `launchTemplate`, you should enable this feature within the `launchTemplateMetadataOptions` of the supplied `launchTemplate`.
896
- :param pulumi.Input[bool] force_update_version: Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
897
- :param pulumi.Input[bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
898
+ :param pulumi.Input[builtins.bool] force_update_version: Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
899
+ :param pulumi.Input[builtins.bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
898
900
  Defaults to false.
899
901
 
900
902
  Note: `gpu` and `amiId` are mutually exclusive.
901
903
 
902
904
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-amis.html.
903
- :param bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
905
+ :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.
904
906
 
905
907
  See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
906
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: Set of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.
907
- :param 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'. To escape characters in the extra argsvalue, wrap the value in quotes. For example, `kubeletExtraArgs = '--allowed-unsafe-sysctls "net.core.somaxconn"'`.
908
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] instance_types: Set of instance types associated with the EKS Node Group. Defaults to `["t3.medium"]`. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.
909
+ :param 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'. To escape characters in the extra argsvalue, wrap the value in quotes. For example, `kubeletExtraArgs = '--allowed-unsafe-sysctls "net.core.somaxconn"'`.
908
910
  Note that this field conflicts with `launchTemplate`.
909
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
911
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
910
912
  :param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']] launch_template: Launch Template settings.
911
913
 
912
914
  Note: This field is mutually exclusive with `kubeletExtraArgs` and `bootstrapExtraArgs`.
913
- :param pulumi.Input[str] node_group_name: Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
914
- :param pulumi.Input[str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
915
+ :param pulumi.Input[builtins.str] node_group_name: Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
916
+ :param pulumi.Input[builtins.str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
915
917
  :param pulumi.Input['pulumi_aws.iam.Role'] node_role: The IAM Role that provides permissions for the EKS Node Group.
916
918
 
917
919
  Note, `nodeRole` and `nodeRoleArn` are mutually exclusive, and a single option must be used.
918
- :param pulumi.Input[str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
920
+ :param pulumi.Input[builtins.str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
919
921
 
920
922
  Note, `nodeRoleArn` and `nodeRole` are mutually exclusive, and a single option must be used.
921
923
  :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.
@@ -933,8 +935,8 @@ class ManagedNodeGroup(pulumi.ComponentResource):
933
935
  Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
934
936
 
935
937
  Defaults to the current recommended OS.
936
- :param pulumi.Input[str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
937
- :param pulumi.Input[str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
938
+ :param pulumi.Input[builtins.str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
939
+ :param pulumi.Input[builtins.str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
938
940
  :param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']] remote_access: Remote access settings.
939
941
  :param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']] scaling_config: Scaling settings.
940
942
 
@@ -942,7 +944,7 @@ class ManagedNodeGroup(pulumi.ComponentResource):
942
944
  - desiredSize: 2
943
945
  - minSize: 1
944
946
  - maxSize: 2
945
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: `kubernetes.io/cluster/CLUSTER_NAME` (where `CLUSTER_NAME` is replaced with the name of the EKS Cluster).
947
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: `kubernetes.io/cluster/CLUSTER_NAME` (where `CLUSTER_NAME` is replaced with the name of the EKS Cluster).
946
948
 
947
949
  Default subnetIds is chosen from the following list, in order, if subnetIds arg is not set:
948
950
  - core.subnetIds
@@ -950,9 +952,9 @@ class ManagedNodeGroup(pulumi.ComponentResource):
950
952
  - core.publicSubnetIds
951
953
 
952
954
  This default logic is based on the existing subnet IDs logic of this package: https://git.io/JeM11
953
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags.
955
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value mapping of resource tags.
954
956
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupTaintArgs']]]] taints: The Kubernetes taints to be applied to the nodes in the node group. Maximum of 50 taints per node group.
955
- :param pulumi.Input[str] user_data: User specified code to run on node startup. This is expected to handle the full AWS EKS node bootstrapping. If omitted, the provider will configure the user data.
957
+ :param pulumi.Input[builtins.str] user_data: User specified code to run on node startup. This is expected to handle the full AWS EKS node bootstrapping. If omitted, the provider will configure the user data.
956
958
 
957
959
  See for more details: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data.
958
960
  """
@@ -1135,38 +1137,38 @@ class ManagedNodeGroup(pulumi.ComponentResource):
1135
1137
  def _internal_init(__self__,
1136
1138
  resource_name: str,
1137
1139
  opts: Optional[pulumi.ResourceOptions] = None,
1138
- ami_id: Optional[pulumi.Input[str]] = None,
1139
- ami_type: Optional[pulumi.Input[str]] = None,
1140
- bootstrap_extra_args: Optional[str] = None,
1140
+ ami_id: Optional[pulumi.Input[builtins.str]] = None,
1141
+ ami_type: Optional[pulumi.Input[builtins.str]] = None,
1142
+ bootstrap_extra_args: Optional[builtins.str] = None,
1141
1143
  bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1142
- capacity_type: Optional[pulumi.Input[str]] = None,
1144
+ capacity_type: Optional[pulumi.Input[builtins.str]] = None,
1143
1145
  cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
1144
- cluster_name: Optional[pulumi.Input[str]] = None,
1145
- disk_size: Optional[pulumi.Input[int]] = None,
1146
- enable_efa_support: Optional[bool] = None,
1147
- enable_imd_sv2: Optional[bool] = None,
1148
- force_update_version: Optional[pulumi.Input[bool]] = None,
1149
- gpu: Optional[pulumi.Input[bool]] = None,
1150
- ignore_scaling_changes: Optional[bool] = None,
1151
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1152
- kubelet_extra_args: Optional[str] = None,
1153
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1146
+ cluster_name: Optional[pulumi.Input[builtins.str]] = None,
1147
+ disk_size: Optional[pulumi.Input[builtins.int]] = None,
1148
+ enable_efa_support: Optional[builtins.bool] = None,
1149
+ enable_imd_sv2: Optional[builtins.bool] = None,
1150
+ force_update_version: Optional[pulumi.Input[builtins.bool]] = None,
1151
+ gpu: Optional[pulumi.Input[builtins.bool]] = None,
1152
+ ignore_scaling_changes: Optional[builtins.bool] = None,
1153
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1154
+ kubelet_extra_args: Optional[builtins.str] = None,
1155
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1154
1156
  launch_template: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]] = None,
1155
- node_group_name: Optional[pulumi.Input[str]] = None,
1156
- node_group_name_prefix: Optional[pulumi.Input[str]] = None,
1157
+ node_group_name: Optional[pulumi.Input[builtins.str]] = None,
1158
+ node_group_name_prefix: Optional[pulumi.Input[builtins.str]] = None,
1157
1159
  node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
1158
- node_role_arn: Optional[pulumi.Input[str]] = None,
1160
+ node_role_arn: Optional[pulumi.Input[builtins.str]] = None,
1159
1161
  nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
1160
1162
  operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
1161
- placement_group_availability_zone: Optional[pulumi.Input[str]] = None,
1162
- release_version: Optional[pulumi.Input[str]] = None,
1163
+ placement_group_availability_zone: Optional[pulumi.Input[builtins.str]] = None,
1164
+ release_version: Optional[pulumi.Input[builtins.str]] = None,
1163
1165
  remote_access: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]] = None,
1164
1166
  scaling_config: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']]] = None,
1165
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1166
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1167
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1168
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1167
1169
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupTaintArgs']]]]] = None,
1168
- user_data: Optional[pulumi.Input[str]] = None,
1169
- version: Optional[pulumi.Input[str]] = None,
1170
+ user_data: Optional[pulumi.Input[builtins.str]] = None,
1171
+ version: Optional[pulumi.Input[builtins.str]] = None,
1170
1172
  __props__=None):
1171
1173
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1172
1174
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1231,7 +1233,7 @@ class ManagedNodeGroup(pulumi.ComponentResource):
1231
1233
 
1232
1234
  @property
1233
1235
  @pulumi.getter(name="placementGroupName")
1234
- def placement_group_name(self) -> pulumi.Output[str]:
1236
+ def placement_group_name(self) -> pulumi.Output[builtins.str]:
1235
1237
  """
1236
1238
  The name of the placement group created for the managed node group.
1237
1239
  """