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.
- pulumi_eks/__init__.py +1 -1
- pulumi_eks/_enums.py +8 -8
- pulumi_eks/_inputs.py +630 -631
- pulumi_eks/addon.py +59 -60
- pulumi_eks/cluster.py +382 -383
- pulumi_eks/cluster_creation_role_provider.py +14 -15
- pulumi_eks/managed_node_group.py +195 -196
- pulumi_eks/node_group.py +265 -266
- pulumi_eks/node_group_security_group.py +21 -22
- pulumi_eks/node_group_v2.py +280 -281
- pulumi_eks/outputs.py +227 -228
- pulumi_eks/provider.py +1 -2
- pulumi_eks/pulumi-plugin.json +1 -1
- pulumi_eks/vpc_cni_addon.py +196 -197
- {pulumi_eks-4.3.0a1766451683.dist-info → pulumi_eks-4.3.0a1768307250.dist-info}/METADATA +1 -1
- pulumi_eks-4.3.0a1768307250.dist-info/RECORD +20 -0
- pulumi_eks-4.3.0a1766451683.dist-info/RECORD +0 -20
- {pulumi_eks-4.3.0a1766451683.dist-info → pulumi_eks-4.3.0a1768307250.dist-info}/WHEEL +0 -0
- {pulumi_eks-4.3.0a1766451683.dist-info → pulumi_eks-4.3.0a1768307250.dist-info}/top_level.txt +0 -0
pulumi_eks/managed_node_group.py
CHANGED
|
@@ -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,51 +26,51 @@ __all__ = ['ManagedNodeGroupArgs', 'ManagedNodeGroup']
|
|
|
27
26
|
class ManagedNodeGroupArgs:
|
|
28
27
|
def __init__(__self__, *,
|
|
29
28
|
cluster: pulumi.Input[Union['Cluster', 'CoreDataArgs']],
|
|
30
|
-
ami_id: Optional[pulumi.Input[
|
|
31
|
-
ami_type: Optional[pulumi.Input[
|
|
32
|
-
bootstrap_extra_args: Optional[
|
|
29
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
bootstrap_extra_args: Optional[_builtins.str] = None,
|
|
33
32
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
34
|
-
capacity_type: Optional[pulumi.Input[
|
|
35
|
-
cluster_name: Optional[pulumi.Input[
|
|
36
|
-
disk_size: Optional[pulumi.Input[
|
|
37
|
-
enable_efa_support: Optional[
|
|
38
|
-
enable_imd_sv2: Optional[
|
|
39
|
-
force_update_version: Optional[pulumi.Input[
|
|
40
|
-
gpu: Optional[pulumi.Input[
|
|
41
|
-
ignore_scaling_changes: Optional[
|
|
42
|
-
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
43
|
-
kubelet_extra_args: Optional[
|
|
44
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
33
|
+
capacity_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
34
|
+
cluster_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
35
|
+
disk_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
36
|
+
enable_efa_support: Optional[_builtins.bool] = None,
|
|
37
|
+
enable_imd_sv2: Optional[_builtins.bool] = None,
|
|
38
|
+
force_update_version: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
39
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
40
|
+
ignore_scaling_changes: Optional[_builtins.bool] = None,
|
|
41
|
+
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
42
|
+
kubelet_extra_args: Optional[_builtins.str] = None,
|
|
43
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
45
44
|
launch_template: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']] = None,
|
|
46
|
-
node_group_name: Optional[pulumi.Input[
|
|
47
|
-
node_group_name_prefix: Optional[pulumi.Input[
|
|
45
|
+
node_group_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
46
|
+
node_group_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
48
47
|
node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
|
|
49
|
-
node_role_arn: Optional[pulumi.Input[
|
|
48
|
+
node_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
50
49
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]] = None,
|
|
51
50
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
52
|
-
placement_group_availability_zone: Optional[pulumi.Input[
|
|
53
|
-
release_version: Optional[pulumi.Input[
|
|
51
|
+
placement_group_availability_zone: Optional[pulumi.Input[_builtins.str]] = None,
|
|
52
|
+
release_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
54
53
|
remote_access: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs']] = None,
|
|
55
54
|
scaling_config: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs']] = None,
|
|
56
|
-
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
57
|
-
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
55
|
+
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
56
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
58
57
|
taints: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.eks.NodeGroupTaintArgs']]]] = None,
|
|
59
|
-
user_data: Optional[pulumi.Input[
|
|
60
|
-
version: Optional[pulumi.Input[
|
|
58
|
+
user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
59
|
+
version: Optional[pulumi.Input[_builtins.str]] = None):
|
|
61
60
|
"""
|
|
62
61
|
The set of arguments for constructing a ManagedNodeGroup resource.
|
|
63
62
|
:param pulumi.Input[Union['Cluster', 'CoreDataArgs']] cluster: The target EKS cluster.
|
|
64
|
-
:param pulumi.Input[
|
|
63
|
+
:param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
|
|
65
64
|
Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
|
|
66
65
|
|
|
67
66
|
Note: `amiId` is mutually exclusive with `gpu` and `amiType`.
|
|
68
67
|
|
|
69
68
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
|
|
70
|
-
:param pulumi.Input[
|
|
69
|
+
:param pulumi.Input[_builtins.str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
|
|
71
70
|
Note: `amiType` and `amiId` are mutually exclusive.
|
|
72
71
|
|
|
73
72
|
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.
|
|
74
|
-
:param
|
|
73
|
+
: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.
|
|
75
74
|
|
|
76
75
|
Note that this field conflicts with `launchTemplate`.
|
|
77
76
|
:param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
|
|
@@ -84,37 +83,37 @@ class ManagedNodeGroupArgs:
|
|
|
84
83
|
- settings.kubernetes.cluster-dns-ip
|
|
85
84
|
|
|
86
85
|
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
|
|
87
|
-
:param pulumi.Input[
|
|
88
|
-
:param pulumi.Input[
|
|
89
|
-
:param pulumi.Input[
|
|
90
|
-
:param
|
|
91
|
-
:param
|
|
86
|
+
: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.
|
|
87
|
+
:param pulumi.Input[_builtins.str] cluster_name: Name of the EKS Cluster.
|
|
88
|
+
: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.
|
|
89
|
+
: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.
|
|
90
|
+
: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.
|
|
92
91
|
Defaults to `false`.
|
|
93
92
|
|
|
94
93
|
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`.
|
|
95
|
-
:param pulumi.Input[
|
|
96
|
-
:param pulumi.Input[
|
|
94
|
+
: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.
|
|
95
|
+
:param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
|
|
97
96
|
Defaults to false.
|
|
98
97
|
|
|
99
98
|
Note: `gpu` and `amiId` are mutually exclusive.
|
|
100
99
|
|
|
101
100
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-amis.html.
|
|
102
|
-
:param
|
|
101
|
+
: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.
|
|
103
102
|
|
|
104
103
|
See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
|
|
105
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
106
|
-
:param
|
|
104
|
+
: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.
|
|
105
|
+
: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"'`.
|
|
107
106
|
Note that this field conflicts with `launchTemplate`.
|
|
108
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
107
|
+
: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.
|
|
109
108
|
:param pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs'] launch_template: Launch Template settings.
|
|
110
109
|
|
|
111
110
|
Note: This field is mutually exclusive with `kubeletExtraArgs` and `bootstrapExtraArgs`.
|
|
112
|
-
:param pulumi.Input[
|
|
113
|
-
:param pulumi.Input[
|
|
111
|
+
: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`.
|
|
112
|
+
:param pulumi.Input[_builtins.str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
|
|
114
113
|
:param pulumi.Input['pulumi_aws.iam.Role'] node_role: The IAM Role that provides permissions for the EKS Node Group.
|
|
115
114
|
|
|
116
115
|
Note, `nodeRole` and `nodeRoleArn` are mutually exclusive, and a single option must be used.
|
|
117
|
-
:param pulumi.Input[
|
|
116
|
+
:param pulumi.Input[_builtins.str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
|
|
118
117
|
|
|
119
118
|
Note, `nodeRoleArn` and `nodeRole` are mutually exclusive, and a single option must be used.
|
|
120
119
|
: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.
|
|
@@ -132,8 +131,8 @@ class ManagedNodeGroupArgs:
|
|
|
132
131
|
Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
|
|
133
132
|
|
|
134
133
|
Defaults to the current recommended OS.
|
|
135
|
-
:param pulumi.Input[
|
|
136
|
-
:param pulumi.Input[
|
|
134
|
+
:param pulumi.Input[_builtins.str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
|
|
135
|
+
:param pulumi.Input[_builtins.str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
|
|
137
136
|
:param pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs'] remote_access: Remote access settings.
|
|
138
137
|
:param pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs'] scaling_config: Scaling settings.
|
|
139
138
|
|
|
@@ -141,7 +140,7 @@ class ManagedNodeGroupArgs:
|
|
|
141
140
|
- desiredSize: 2
|
|
142
141
|
- minSize: 1
|
|
143
142
|
- maxSize: 2
|
|
144
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
143
|
+
: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).
|
|
145
144
|
|
|
146
145
|
Default subnetIds is chosen from the following list, in order, if subnetIds arg is not set:
|
|
147
146
|
- core.subnetIds
|
|
@@ -149,9 +148,9 @@ class ManagedNodeGroupArgs:
|
|
|
149
148
|
- core.publicSubnetIds
|
|
150
149
|
|
|
151
150
|
This default logic is based on the existing subnet IDs logic of this package: https://git.io/JeM11
|
|
152
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
151
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value mapping of resource tags.
|
|
153
152
|
: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.
|
|
154
|
-
:param pulumi.Input[
|
|
153
|
+
: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.
|
|
155
154
|
|
|
156
155
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data.
|
|
157
156
|
"""
|
|
@@ -219,7 +218,7 @@ class ManagedNodeGroupArgs:
|
|
|
219
218
|
if version is not None:
|
|
220
219
|
pulumi.set(__self__, "version", version)
|
|
221
220
|
|
|
222
|
-
@property
|
|
221
|
+
@_builtins.property
|
|
223
222
|
@pulumi.getter
|
|
224
223
|
def cluster(self) -> pulumi.Input[Union['Cluster', 'CoreDataArgs']]:
|
|
225
224
|
"""
|
|
@@ -231,9 +230,9 @@ class ManagedNodeGroupArgs:
|
|
|
231
230
|
def cluster(self, value: pulumi.Input[Union['Cluster', 'CoreDataArgs']]):
|
|
232
231
|
pulumi.set(self, "cluster", value)
|
|
233
232
|
|
|
234
|
-
@property
|
|
233
|
+
@_builtins.property
|
|
235
234
|
@pulumi.getter(name="amiId")
|
|
236
|
-
def ami_id(self) -> Optional[pulumi.Input[
|
|
235
|
+
def ami_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
237
236
|
"""
|
|
238
237
|
The AMI ID to use for the worker nodes.
|
|
239
238
|
Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
|
|
@@ -245,12 +244,12 @@ class ManagedNodeGroupArgs:
|
|
|
245
244
|
return pulumi.get(self, "ami_id")
|
|
246
245
|
|
|
247
246
|
@ami_id.setter
|
|
248
|
-
def ami_id(self, value: Optional[pulumi.Input[
|
|
247
|
+
def ami_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
249
248
|
pulumi.set(self, "ami_id", value)
|
|
250
249
|
|
|
251
|
-
@property
|
|
250
|
+
@_builtins.property
|
|
252
251
|
@pulumi.getter(name="amiType")
|
|
253
|
-
def ami_type(self) -> Optional[pulumi.Input[
|
|
252
|
+
def ami_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
254
253
|
"""
|
|
255
254
|
Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
|
|
256
255
|
Note: `amiType` and `amiId` are mutually exclusive.
|
|
@@ -260,12 +259,12 @@ class ManagedNodeGroupArgs:
|
|
|
260
259
|
return pulumi.get(self, "ami_type")
|
|
261
260
|
|
|
262
261
|
@ami_type.setter
|
|
263
|
-
def ami_type(self, value: Optional[pulumi.Input[
|
|
262
|
+
def ami_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
264
263
|
pulumi.set(self, "ami_type", value)
|
|
265
264
|
|
|
266
|
-
@property
|
|
265
|
+
@_builtins.property
|
|
267
266
|
@pulumi.getter(name="bootstrapExtraArgs")
|
|
268
|
-
def bootstrap_extra_args(self) -> Optional[
|
|
267
|
+
def bootstrap_extra_args(self) -> Optional[_builtins.str]:
|
|
269
268
|
"""
|
|
270
269
|
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.
|
|
271
270
|
|
|
@@ -274,10 +273,10 @@ class ManagedNodeGroupArgs:
|
|
|
274
273
|
return pulumi.get(self, "bootstrap_extra_args")
|
|
275
274
|
|
|
276
275
|
@bootstrap_extra_args.setter
|
|
277
|
-
def bootstrap_extra_args(self, value: Optional[
|
|
276
|
+
def bootstrap_extra_args(self, value: Optional[_builtins.str]):
|
|
278
277
|
pulumi.set(self, "bootstrap_extra_args", value)
|
|
279
278
|
|
|
280
|
-
@property
|
|
279
|
+
@_builtins.property
|
|
281
280
|
@pulumi.getter(name="bottlerocketSettings")
|
|
282
281
|
def bottlerocket_settings(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
|
283
282
|
"""
|
|
@@ -298,57 +297,57 @@ class ManagedNodeGroupArgs:
|
|
|
298
297
|
def bottlerocket_settings(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
|
299
298
|
pulumi.set(self, "bottlerocket_settings", value)
|
|
300
299
|
|
|
301
|
-
@property
|
|
300
|
+
@_builtins.property
|
|
302
301
|
@pulumi.getter(name="capacityType")
|
|
303
|
-
def capacity_type(self) -> Optional[pulumi.Input[
|
|
302
|
+
def capacity_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
304
303
|
"""
|
|
305
304
|
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.
|
|
306
305
|
"""
|
|
307
306
|
return pulumi.get(self, "capacity_type")
|
|
308
307
|
|
|
309
308
|
@capacity_type.setter
|
|
310
|
-
def capacity_type(self, value: Optional[pulumi.Input[
|
|
309
|
+
def capacity_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
311
310
|
pulumi.set(self, "capacity_type", value)
|
|
312
311
|
|
|
313
|
-
@property
|
|
312
|
+
@_builtins.property
|
|
314
313
|
@pulumi.getter(name="clusterName")
|
|
315
|
-
def cluster_name(self) -> Optional[pulumi.Input[
|
|
314
|
+
def cluster_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
316
315
|
"""
|
|
317
316
|
Name of the EKS Cluster.
|
|
318
317
|
"""
|
|
319
318
|
return pulumi.get(self, "cluster_name")
|
|
320
319
|
|
|
321
320
|
@cluster_name.setter
|
|
322
|
-
def cluster_name(self, value: Optional[pulumi.Input[
|
|
321
|
+
def cluster_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
323
322
|
pulumi.set(self, "cluster_name", value)
|
|
324
323
|
|
|
325
|
-
@property
|
|
324
|
+
@_builtins.property
|
|
326
325
|
@pulumi.getter(name="diskSize")
|
|
327
|
-
def disk_size(self) -> Optional[pulumi.Input[
|
|
326
|
+
def disk_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
328
327
|
"""
|
|
329
328
|
Disk size in GiB for worker nodes. Defaults to `20`. This provider will only perform drift detection if a configuration value is provided.
|
|
330
329
|
"""
|
|
331
330
|
return pulumi.get(self, "disk_size")
|
|
332
331
|
|
|
333
332
|
@disk_size.setter
|
|
334
|
-
def disk_size(self, value: Optional[pulumi.Input[
|
|
333
|
+
def disk_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
335
334
|
pulumi.set(self, "disk_size", value)
|
|
336
335
|
|
|
337
|
-
@property
|
|
336
|
+
@_builtins.property
|
|
338
337
|
@pulumi.getter(name="enableEfaSupport")
|
|
339
|
-
def enable_efa_support(self) -> Optional[
|
|
338
|
+
def enable_efa_support(self) -> Optional[_builtins.bool]:
|
|
340
339
|
"""
|
|
341
340
|
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.
|
|
342
341
|
"""
|
|
343
342
|
return pulumi.get(self, "enable_efa_support")
|
|
344
343
|
|
|
345
344
|
@enable_efa_support.setter
|
|
346
|
-
def enable_efa_support(self, value: Optional[
|
|
345
|
+
def enable_efa_support(self, value: Optional[_builtins.bool]):
|
|
347
346
|
pulumi.set(self, "enable_efa_support", value)
|
|
348
347
|
|
|
349
|
-
@property
|
|
348
|
+
@_builtins.property
|
|
350
349
|
@pulumi.getter(name="enableIMDSv2")
|
|
351
|
-
def enable_imd_sv2(self) -> Optional[
|
|
350
|
+
def enable_imd_sv2(self) -> Optional[_builtins.bool]:
|
|
352
351
|
"""
|
|
353
352
|
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.
|
|
354
353
|
Defaults to `false`.
|
|
@@ -358,24 +357,24 @@ class ManagedNodeGroupArgs:
|
|
|
358
357
|
return pulumi.get(self, "enable_imd_sv2")
|
|
359
358
|
|
|
360
359
|
@enable_imd_sv2.setter
|
|
361
|
-
def enable_imd_sv2(self, value: Optional[
|
|
360
|
+
def enable_imd_sv2(self, value: Optional[_builtins.bool]):
|
|
362
361
|
pulumi.set(self, "enable_imd_sv2", value)
|
|
363
362
|
|
|
364
|
-
@property
|
|
363
|
+
@_builtins.property
|
|
365
364
|
@pulumi.getter(name="forceUpdateVersion")
|
|
366
|
-
def force_update_version(self) -> Optional[pulumi.Input[
|
|
365
|
+
def force_update_version(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
367
366
|
"""
|
|
368
367
|
Force version update if existing pods are unable to be drained due to a pod disruption budget issue.
|
|
369
368
|
"""
|
|
370
369
|
return pulumi.get(self, "force_update_version")
|
|
371
370
|
|
|
372
371
|
@force_update_version.setter
|
|
373
|
-
def force_update_version(self, value: Optional[pulumi.Input[
|
|
372
|
+
def force_update_version(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
374
373
|
pulumi.set(self, "force_update_version", value)
|
|
375
374
|
|
|
376
|
-
@property
|
|
375
|
+
@_builtins.property
|
|
377
376
|
@pulumi.getter
|
|
378
|
-
def gpu(self) -> Optional[pulumi.Input[
|
|
377
|
+
def gpu(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
379
378
|
"""
|
|
380
379
|
Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
|
|
381
380
|
Defaults to false.
|
|
@@ -387,12 +386,12 @@ class ManagedNodeGroupArgs:
|
|
|
387
386
|
return pulumi.get(self, "gpu")
|
|
388
387
|
|
|
389
388
|
@gpu.setter
|
|
390
|
-
def gpu(self, value: Optional[pulumi.Input[
|
|
389
|
+
def gpu(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
391
390
|
pulumi.set(self, "gpu", value)
|
|
392
391
|
|
|
393
|
-
@property
|
|
392
|
+
@_builtins.property
|
|
394
393
|
@pulumi.getter(name="ignoreScalingChanges")
|
|
395
|
-
def ignore_scaling_changes(self) -> Optional[
|
|
394
|
+
def ignore_scaling_changes(self) -> Optional[_builtins.bool]:
|
|
396
395
|
"""
|
|
397
396
|
Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
|
|
398
397
|
|
|
@@ -401,24 +400,24 @@ class ManagedNodeGroupArgs:
|
|
|
401
400
|
return pulumi.get(self, "ignore_scaling_changes")
|
|
402
401
|
|
|
403
402
|
@ignore_scaling_changes.setter
|
|
404
|
-
def ignore_scaling_changes(self, value: Optional[
|
|
403
|
+
def ignore_scaling_changes(self, value: Optional[_builtins.bool]):
|
|
405
404
|
pulumi.set(self, "ignore_scaling_changes", value)
|
|
406
405
|
|
|
407
|
-
@property
|
|
406
|
+
@_builtins.property
|
|
408
407
|
@pulumi.getter(name="instanceTypes")
|
|
409
|
-
def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
408
|
+
def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
410
409
|
"""
|
|
411
410
|
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.
|
|
412
411
|
"""
|
|
413
412
|
return pulumi.get(self, "instance_types")
|
|
414
413
|
|
|
415
414
|
@instance_types.setter
|
|
416
|
-
def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
415
|
+
def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
417
416
|
pulumi.set(self, "instance_types", value)
|
|
418
417
|
|
|
419
|
-
@property
|
|
418
|
+
@_builtins.property
|
|
420
419
|
@pulumi.getter(name="kubeletExtraArgs")
|
|
421
|
-
def kubelet_extra_args(self) -> Optional[
|
|
420
|
+
def kubelet_extra_args(self) -> Optional[_builtins.str]:
|
|
422
421
|
"""
|
|
423
422
|
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"'`.
|
|
424
423
|
Note that this field conflicts with `launchTemplate`.
|
|
@@ -426,22 +425,22 @@ class ManagedNodeGroupArgs:
|
|
|
426
425
|
return pulumi.get(self, "kubelet_extra_args")
|
|
427
426
|
|
|
428
427
|
@kubelet_extra_args.setter
|
|
429
|
-
def kubelet_extra_args(self, value: Optional[
|
|
428
|
+
def kubelet_extra_args(self, value: Optional[_builtins.str]):
|
|
430
429
|
pulumi.set(self, "kubelet_extra_args", value)
|
|
431
430
|
|
|
432
|
-
@property
|
|
431
|
+
@_builtins.property
|
|
433
432
|
@pulumi.getter
|
|
434
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
433
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
435
434
|
"""
|
|
436
435
|
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.
|
|
437
436
|
"""
|
|
438
437
|
return pulumi.get(self, "labels")
|
|
439
438
|
|
|
440
439
|
@labels.setter
|
|
441
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
440
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
442
441
|
pulumi.set(self, "labels", value)
|
|
443
442
|
|
|
444
|
-
@property
|
|
443
|
+
@_builtins.property
|
|
445
444
|
@pulumi.getter(name="launchTemplate")
|
|
446
445
|
def launch_template(self) -> Optional[pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]:
|
|
447
446
|
"""
|
|
@@ -455,31 +454,31 @@ class ManagedNodeGroupArgs:
|
|
|
455
454
|
def launch_template(self, value: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]):
|
|
456
455
|
pulumi.set(self, "launch_template", value)
|
|
457
456
|
|
|
458
|
-
@property
|
|
457
|
+
@_builtins.property
|
|
459
458
|
@pulumi.getter(name="nodeGroupName")
|
|
460
|
-
def node_group_name(self) -> Optional[pulumi.Input[
|
|
459
|
+
def node_group_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
461
460
|
"""
|
|
462
461
|
Name of the EKS Node Group. If omitted, this provider will assign a random, unique name. Conflicts with `nodeGroupNamePrefix`.
|
|
463
462
|
"""
|
|
464
463
|
return pulumi.get(self, "node_group_name")
|
|
465
464
|
|
|
466
465
|
@node_group_name.setter
|
|
467
|
-
def node_group_name(self, value: Optional[pulumi.Input[
|
|
466
|
+
def node_group_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
468
467
|
pulumi.set(self, "node_group_name", value)
|
|
469
468
|
|
|
470
|
-
@property
|
|
469
|
+
@_builtins.property
|
|
471
470
|
@pulumi.getter(name="nodeGroupNamePrefix")
|
|
472
|
-
def node_group_name_prefix(self) -> Optional[pulumi.Input[
|
|
471
|
+
def node_group_name_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
473
472
|
"""
|
|
474
473
|
Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
|
|
475
474
|
"""
|
|
476
475
|
return pulumi.get(self, "node_group_name_prefix")
|
|
477
476
|
|
|
478
477
|
@node_group_name_prefix.setter
|
|
479
|
-
def node_group_name_prefix(self, value: Optional[pulumi.Input[
|
|
478
|
+
def node_group_name_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
480
479
|
pulumi.set(self, "node_group_name_prefix", value)
|
|
481
480
|
|
|
482
|
-
@property
|
|
481
|
+
@_builtins.property
|
|
483
482
|
@pulumi.getter(name="nodeRole")
|
|
484
483
|
def node_role(self) -> Optional[pulumi.Input['pulumi_aws.iam.Role']]:
|
|
485
484
|
"""
|
|
@@ -493,9 +492,9 @@ class ManagedNodeGroupArgs:
|
|
|
493
492
|
def node_role(self, value: Optional[pulumi.Input['pulumi_aws.iam.Role']]):
|
|
494
493
|
pulumi.set(self, "node_role", value)
|
|
495
494
|
|
|
496
|
-
@property
|
|
495
|
+
@_builtins.property
|
|
497
496
|
@pulumi.getter(name="nodeRoleArn")
|
|
498
|
-
def node_role_arn(self) -> Optional[pulumi.Input[
|
|
497
|
+
def node_role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
499
498
|
"""
|
|
500
499
|
Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
|
|
501
500
|
|
|
@@ -504,10 +503,10 @@ class ManagedNodeGroupArgs:
|
|
|
504
503
|
return pulumi.get(self, "node_role_arn")
|
|
505
504
|
|
|
506
505
|
@node_role_arn.setter
|
|
507
|
-
def node_role_arn(self, value: Optional[pulumi.Input[
|
|
506
|
+
def node_role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
508
507
|
pulumi.set(self, "node_role_arn", value)
|
|
509
508
|
|
|
510
|
-
@property
|
|
509
|
+
@_builtins.property
|
|
511
510
|
@pulumi.getter(name="nodeadmExtraOptions")
|
|
512
511
|
def nodeadm_extra_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]:
|
|
513
512
|
"""
|
|
@@ -529,7 +528,7 @@ class ManagedNodeGroupArgs:
|
|
|
529
528
|
def nodeadm_extra_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]):
|
|
530
529
|
pulumi.set(self, "nodeadm_extra_options", value)
|
|
531
530
|
|
|
532
|
-
@property
|
|
531
|
+
@_builtins.property
|
|
533
532
|
@pulumi.getter(name="operatingSystem")
|
|
534
533
|
def operating_system(self) -> Optional[pulumi.Input['OperatingSystem']]:
|
|
535
534
|
"""
|
|
@@ -544,31 +543,31 @@ class ManagedNodeGroupArgs:
|
|
|
544
543
|
def operating_system(self, value: Optional[pulumi.Input['OperatingSystem']]):
|
|
545
544
|
pulumi.set(self, "operating_system", value)
|
|
546
545
|
|
|
547
|
-
@property
|
|
546
|
+
@_builtins.property
|
|
548
547
|
@pulumi.getter(name="placementGroupAvailabilityZone")
|
|
549
|
-
def placement_group_availability_zone(self) -> Optional[pulumi.Input[
|
|
548
|
+
def placement_group_availability_zone(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
550
549
|
"""
|
|
551
550
|
The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
|
|
552
551
|
"""
|
|
553
552
|
return pulumi.get(self, "placement_group_availability_zone")
|
|
554
553
|
|
|
555
554
|
@placement_group_availability_zone.setter
|
|
556
|
-
def placement_group_availability_zone(self, value: Optional[pulumi.Input[
|
|
555
|
+
def placement_group_availability_zone(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
557
556
|
pulumi.set(self, "placement_group_availability_zone", value)
|
|
558
557
|
|
|
559
|
-
@property
|
|
558
|
+
@_builtins.property
|
|
560
559
|
@pulumi.getter(name="releaseVersion")
|
|
561
|
-
def release_version(self) -> Optional[pulumi.Input[
|
|
560
|
+
def release_version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
562
561
|
"""
|
|
563
562
|
AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
|
|
564
563
|
"""
|
|
565
564
|
return pulumi.get(self, "release_version")
|
|
566
565
|
|
|
567
566
|
@release_version.setter
|
|
568
|
-
def release_version(self, value: Optional[pulumi.Input[
|
|
567
|
+
def release_version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
569
568
|
pulumi.set(self, "release_version", value)
|
|
570
569
|
|
|
571
|
-
@property
|
|
570
|
+
@_builtins.property
|
|
572
571
|
@pulumi.getter(name="remoteAccess")
|
|
573
572
|
def remote_access(self) -> Optional[pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]:
|
|
574
573
|
"""
|
|
@@ -580,7 +579,7 @@ class ManagedNodeGroupArgs:
|
|
|
580
579
|
def remote_access(self, value: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]):
|
|
581
580
|
pulumi.set(self, "remote_access", value)
|
|
582
581
|
|
|
583
|
-
@property
|
|
582
|
+
@_builtins.property
|
|
584
583
|
@pulumi.getter(name="scalingConfig")
|
|
585
584
|
def scaling_config(self) -> Optional[pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs']]:
|
|
586
585
|
"""
|
|
@@ -597,9 +596,9 @@ class ManagedNodeGroupArgs:
|
|
|
597
596
|
def scaling_config(self, value: Optional[pulumi.Input['pulumi_aws.eks.NodeGroupScalingConfigArgs']]):
|
|
598
597
|
pulumi.set(self, "scaling_config", value)
|
|
599
598
|
|
|
600
|
-
@property
|
|
599
|
+
@_builtins.property
|
|
601
600
|
@pulumi.getter(name="subnetIds")
|
|
602
|
-
def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
601
|
+
def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
603
602
|
"""
|
|
604
603
|
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).
|
|
605
604
|
|
|
@@ -613,22 +612,22 @@ class ManagedNodeGroupArgs:
|
|
|
613
612
|
return pulumi.get(self, "subnet_ids")
|
|
614
613
|
|
|
615
614
|
@subnet_ids.setter
|
|
616
|
-
def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
615
|
+
def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
617
616
|
pulumi.set(self, "subnet_ids", value)
|
|
618
617
|
|
|
619
|
-
@property
|
|
618
|
+
@_builtins.property
|
|
620
619
|
@pulumi.getter
|
|
621
|
-
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
620
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
622
621
|
"""
|
|
623
622
|
Key-value mapping of resource tags.
|
|
624
623
|
"""
|
|
625
624
|
return pulumi.get(self, "tags")
|
|
626
625
|
|
|
627
626
|
@tags.setter
|
|
628
|
-
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
627
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
629
628
|
pulumi.set(self, "tags", value)
|
|
630
629
|
|
|
631
|
-
@property
|
|
630
|
+
@_builtins.property
|
|
632
631
|
@pulumi.getter
|
|
633
632
|
def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.eks.NodeGroupTaintArgs']]]]:
|
|
634
633
|
"""
|
|
@@ -640,9 +639,9 @@ class ManagedNodeGroupArgs:
|
|
|
640
639
|
def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.eks.NodeGroupTaintArgs']]]]):
|
|
641
640
|
pulumi.set(self, "taints", value)
|
|
642
641
|
|
|
643
|
-
@property
|
|
642
|
+
@_builtins.property
|
|
644
643
|
@pulumi.getter(name="userData")
|
|
645
|
-
def user_data(self) -> Optional[pulumi.Input[
|
|
644
|
+
def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
646
645
|
"""
|
|
647
646
|
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.
|
|
648
647
|
|
|
@@ -651,16 +650,16 @@ class ManagedNodeGroupArgs:
|
|
|
651
650
|
return pulumi.get(self, "user_data")
|
|
652
651
|
|
|
653
652
|
@user_data.setter
|
|
654
|
-
def user_data(self, value: Optional[pulumi.Input[
|
|
653
|
+
def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
655
654
|
pulumi.set(self, "user_data", value)
|
|
656
655
|
|
|
657
|
-
@property
|
|
656
|
+
@_builtins.property
|
|
658
657
|
@pulumi.getter
|
|
659
|
-
def version(self) -> Optional[pulumi.Input[
|
|
658
|
+
def version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
660
659
|
return pulumi.get(self, "version")
|
|
661
660
|
|
|
662
661
|
@version.setter
|
|
663
|
-
def version(self, value: Optional[pulumi.Input[
|
|
662
|
+
def version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
664
663
|
pulumi.set(self, "version", value)
|
|
665
664
|
|
|
666
665
|
|
|
@@ -670,38 +669,38 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
670
669
|
def __init__(__self__,
|
|
671
670
|
resource_name: str,
|
|
672
671
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
673
|
-
ami_id: Optional[pulumi.Input[
|
|
674
|
-
ami_type: Optional[pulumi.Input[
|
|
675
|
-
bootstrap_extra_args: Optional[
|
|
672
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
673
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
674
|
+
bootstrap_extra_args: Optional[_builtins.str] = None,
|
|
676
675
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
677
|
-
capacity_type: Optional[pulumi.Input[
|
|
676
|
+
capacity_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
678
677
|
cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
|
|
679
|
-
cluster_name: Optional[pulumi.Input[
|
|
680
|
-
disk_size: Optional[pulumi.Input[
|
|
681
|
-
enable_efa_support: Optional[
|
|
682
|
-
enable_imd_sv2: Optional[
|
|
683
|
-
force_update_version: Optional[pulumi.Input[
|
|
684
|
-
gpu: Optional[pulumi.Input[
|
|
685
|
-
ignore_scaling_changes: Optional[
|
|
686
|
-
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
687
|
-
kubelet_extra_args: Optional[
|
|
688
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
678
|
+
cluster_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
679
|
+
disk_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
680
|
+
enable_efa_support: Optional[_builtins.bool] = None,
|
|
681
|
+
enable_imd_sv2: Optional[_builtins.bool] = None,
|
|
682
|
+
force_update_version: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
683
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
684
|
+
ignore_scaling_changes: Optional[_builtins.bool] = None,
|
|
685
|
+
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
686
|
+
kubelet_extra_args: Optional[_builtins.str] = None,
|
|
687
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
689
688
|
launch_template: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]] = None,
|
|
690
|
-
node_group_name: Optional[pulumi.Input[
|
|
691
|
-
node_group_name_prefix: Optional[pulumi.Input[
|
|
689
|
+
node_group_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
690
|
+
node_group_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
692
691
|
node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
|
|
693
|
-
node_role_arn: Optional[pulumi.Input[
|
|
692
|
+
node_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
694
693
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
|
|
695
694
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
696
|
-
placement_group_availability_zone: Optional[pulumi.Input[
|
|
697
|
-
release_version: Optional[pulumi.Input[
|
|
695
|
+
placement_group_availability_zone: Optional[pulumi.Input[_builtins.str]] = None,
|
|
696
|
+
release_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
698
697
|
remote_access: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]] = None,
|
|
699
698
|
scaling_config: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']]] = None,
|
|
700
|
-
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
701
|
-
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
699
|
+
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
700
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
702
701
|
taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupTaintArgs']]]]] = None,
|
|
703
|
-
user_data: Optional[pulumi.Input[
|
|
704
|
-
version: Optional[pulumi.Input[
|
|
702
|
+
user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
703
|
+
version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
705
704
|
__props__=None):
|
|
706
705
|
"""
|
|
707
706
|
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).
|
|
@@ -863,17 +862,17 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
863
862
|
|
|
864
863
|
:param str resource_name: The name of the resource.
|
|
865
864
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
866
|
-
:param pulumi.Input[
|
|
865
|
+
:param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
|
|
867
866
|
Defaults to the latest recommended EKS Optimized AMI from the AWS Systems Manager Parameter Store.
|
|
868
867
|
|
|
869
868
|
Note: `amiId` is mutually exclusive with `gpu` and `amiType`.
|
|
870
869
|
|
|
871
870
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
|
|
872
|
-
:param pulumi.Input[
|
|
871
|
+
:param pulumi.Input[_builtins.str] ami_type: Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to `AL2_x86_64`.
|
|
873
872
|
Note: `amiType` and `amiId` are mutually exclusive.
|
|
874
873
|
|
|
875
874
|
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.
|
|
876
|
-
:param
|
|
875
|
+
: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.
|
|
877
876
|
|
|
878
877
|
Note that this field conflicts with `launchTemplate`.
|
|
879
878
|
:param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
|
|
@@ -886,38 +885,38 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
886
885
|
- settings.kubernetes.cluster-dns-ip
|
|
887
886
|
|
|
888
887
|
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
|
|
889
|
-
:param pulumi.Input[
|
|
888
|
+
: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.
|
|
890
889
|
:param pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]] cluster: The target EKS cluster.
|
|
891
|
-
:param pulumi.Input[
|
|
892
|
-
:param pulumi.Input[
|
|
893
|
-
:param
|
|
894
|
-
:param
|
|
890
|
+
:param pulumi.Input[_builtins.str] cluster_name: Name of the EKS Cluster.
|
|
891
|
+
: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.
|
|
892
|
+
: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.
|
|
893
|
+
: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.
|
|
895
894
|
Defaults to `false`.
|
|
896
895
|
|
|
897
896
|
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`.
|
|
898
|
-
:param pulumi.Input[
|
|
899
|
-
:param pulumi.Input[
|
|
897
|
+
: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.
|
|
898
|
+
:param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized AMI with GPU support for the worker nodes.
|
|
900
899
|
Defaults to false.
|
|
901
900
|
|
|
902
901
|
Note: `gpu` and `amiId` are mutually exclusive.
|
|
903
902
|
|
|
904
903
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-amis.html.
|
|
905
|
-
:param
|
|
904
|
+
: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.
|
|
906
905
|
|
|
907
906
|
See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
|
|
908
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
909
|
-
:param
|
|
907
|
+
: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.
|
|
908
|
+
: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"'`.
|
|
910
909
|
Note that this field conflicts with `launchTemplate`.
|
|
911
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
910
|
+
: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.
|
|
912
911
|
:param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']] launch_template: Launch Template settings.
|
|
913
912
|
|
|
914
913
|
Note: This field is mutually exclusive with `kubeletExtraArgs` and `bootstrapExtraArgs`.
|
|
915
|
-
:param pulumi.Input[
|
|
916
|
-
:param pulumi.Input[
|
|
914
|
+
: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`.
|
|
915
|
+
:param pulumi.Input[_builtins.str] node_group_name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `nodeGroupName`.
|
|
917
916
|
:param pulumi.Input['pulumi_aws.iam.Role'] node_role: The IAM Role that provides permissions for the EKS Node Group.
|
|
918
917
|
|
|
919
918
|
Note, `nodeRole` and `nodeRoleArn` are mutually exclusive, and a single option must be used.
|
|
920
|
-
:param pulumi.Input[
|
|
919
|
+
:param pulumi.Input[_builtins.str] node_role_arn: Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.
|
|
921
920
|
|
|
922
921
|
Note, `nodeRoleArn` and `nodeRole` are mutually exclusive, and a single option must be used.
|
|
923
922
|
: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.
|
|
@@ -935,8 +934,8 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
935
934
|
Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
|
|
936
935
|
|
|
937
936
|
Defaults to the current recommended OS.
|
|
938
|
-
:param pulumi.Input[
|
|
939
|
-
:param pulumi.Input[
|
|
937
|
+
:param pulumi.Input[_builtins.str] placement_group_availability_zone: The availability zone of the placement group for EFA support. Required if `enableEfaSupport` is true.
|
|
938
|
+
:param pulumi.Input[_builtins.str] release_version: AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.
|
|
940
939
|
:param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']] remote_access: Remote access settings.
|
|
941
940
|
:param pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']] scaling_config: Scaling settings.
|
|
942
941
|
|
|
@@ -944,7 +943,7 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
944
943
|
- desiredSize: 2
|
|
945
944
|
- minSize: 1
|
|
946
945
|
- maxSize: 2
|
|
947
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
946
|
+
: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).
|
|
948
947
|
|
|
949
948
|
Default subnetIds is chosen from the following list, in order, if subnetIds arg is not set:
|
|
950
949
|
- core.subnetIds
|
|
@@ -952,9 +951,9 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
952
951
|
- core.publicSubnetIds
|
|
953
952
|
|
|
954
953
|
This default logic is based on the existing subnet IDs logic of this package: https://git.io/JeM11
|
|
955
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
954
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value mapping of resource tags.
|
|
956
955
|
: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.
|
|
957
|
-
:param pulumi.Input[
|
|
956
|
+
: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.
|
|
958
957
|
|
|
959
958
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data.
|
|
960
959
|
"""
|
|
@@ -1137,38 +1136,38 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
1137
1136
|
def _internal_init(__self__,
|
|
1138
1137
|
resource_name: str,
|
|
1139
1138
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1140
|
-
ami_id: Optional[pulumi.Input[
|
|
1141
|
-
ami_type: Optional[pulumi.Input[
|
|
1142
|
-
bootstrap_extra_args: Optional[
|
|
1139
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1140
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1141
|
+
bootstrap_extra_args: Optional[_builtins.str] = None,
|
|
1143
1142
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
1144
|
-
capacity_type: Optional[pulumi.Input[
|
|
1143
|
+
capacity_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1145
1144
|
cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
|
|
1146
|
-
cluster_name: Optional[pulumi.Input[
|
|
1147
|
-
disk_size: Optional[pulumi.Input[
|
|
1148
|
-
enable_efa_support: Optional[
|
|
1149
|
-
enable_imd_sv2: Optional[
|
|
1150
|
-
force_update_version: Optional[pulumi.Input[
|
|
1151
|
-
gpu: Optional[pulumi.Input[
|
|
1152
|
-
ignore_scaling_changes: Optional[
|
|
1153
|
-
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
1154
|
-
kubelet_extra_args: Optional[
|
|
1155
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
1145
|
+
cluster_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1146
|
+
disk_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1147
|
+
enable_efa_support: Optional[_builtins.bool] = None,
|
|
1148
|
+
enable_imd_sv2: Optional[_builtins.bool] = None,
|
|
1149
|
+
force_update_version: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1150
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1151
|
+
ignore_scaling_changes: Optional[_builtins.bool] = None,
|
|
1152
|
+
instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1153
|
+
kubelet_extra_args: Optional[_builtins.str] = None,
|
|
1154
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1156
1155
|
launch_template: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupLaunchTemplateArgs']]] = None,
|
|
1157
|
-
node_group_name: Optional[pulumi.Input[
|
|
1158
|
-
node_group_name_prefix: Optional[pulumi.Input[
|
|
1156
|
+
node_group_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1157
|
+
node_group_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1159
1158
|
node_role: Optional[pulumi.Input['pulumi_aws.iam.Role']] = None,
|
|
1160
|
-
node_role_arn: Optional[pulumi.Input[
|
|
1159
|
+
node_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1161
1160
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
|
|
1162
1161
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
1163
|
-
placement_group_availability_zone: Optional[pulumi.Input[
|
|
1164
|
-
release_version: Optional[pulumi.Input[
|
|
1162
|
+
placement_group_availability_zone: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1163
|
+
release_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1165
1164
|
remote_access: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupRemoteAccessArgs']]] = None,
|
|
1166
1165
|
scaling_config: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupScalingConfigArgs']]] = None,
|
|
1167
|
-
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
1168
|
-
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
1166
|
+
subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1167
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1169
1168
|
taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.eks.NodeGroupTaintArgs']]]]] = None,
|
|
1170
|
-
user_data: Optional[pulumi.Input[
|
|
1171
|
-
version: Optional[pulumi.Input[
|
|
1169
|
+
user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1170
|
+
version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1172
1171
|
__props__=None):
|
|
1173
1172
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
1174
1173
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -1223,7 +1222,7 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
1223
1222
|
opts,
|
|
1224
1223
|
remote=True)
|
|
1225
1224
|
|
|
1226
|
-
@property
|
|
1225
|
+
@_builtins.property
|
|
1227
1226
|
@pulumi.getter(name="nodeGroup")
|
|
1228
1227
|
def node_group(self) -> pulumi.Output['pulumi_aws.eks.NodeGroup']:
|
|
1229
1228
|
"""
|
|
@@ -1231,9 +1230,9 @@ class ManagedNodeGroup(pulumi.ComponentResource):
|
|
|
1231
1230
|
"""
|
|
1232
1231
|
return pulumi.get(self, "node_group")
|
|
1233
1232
|
|
|
1234
|
-
@property
|
|
1233
|
+
@_builtins.property
|
|
1235
1234
|
@pulumi.getter(name="placementGroupName")
|
|
1236
|
-
def placement_group_name(self) -> pulumi.Output[
|
|
1235
|
+
def placement_group_name(self) -> pulumi.Output[_builtins.str]:
|
|
1237
1236
|
"""
|
|
1238
1237
|
The name of the placement group created for the managed node group.
|
|
1239
1238
|
"""
|