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/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,49 +26,49 @@ __all__ = ['NodeGroupArgs', 'NodeGroup']
|
|
|
27
26
|
class NodeGroupArgs:
|
|
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
|
-
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
33
|
-
bootstrap_extra_args: Optional[pulumi.Input[
|
|
29
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
32
|
+
bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
34
33
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
35
|
-
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
34
|
+
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
36
35
|
cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
|
|
37
|
-
cluster_ingress_rule_id: Optional[pulumi.Input[
|
|
38
|
-
desired_capacity: Optional[pulumi.Input[
|
|
39
|
-
enable_detailed_monitoring: Optional[pulumi.Input[
|
|
40
|
-
encrypt_root_block_device: Optional[pulumi.Input[
|
|
36
|
+
cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
37
|
+
desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
|
|
38
|
+
enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
39
|
+
encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
41
40
|
extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
|
|
42
|
-
gpu: Optional[pulumi.Input[
|
|
41
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
43
42
|
instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
|
|
44
|
-
instance_profile_name: Optional[pulumi.Input[
|
|
45
|
-
instance_type: Optional[pulumi.Input[
|
|
46
|
-
key_name: Optional[pulumi.Input[
|
|
47
|
-
kubelet_extra_args: Optional[pulumi.Input[
|
|
48
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
49
|
-
max_size: Optional[pulumi.Input[
|
|
50
|
-
min_size: Optional[pulumi.Input[
|
|
51
|
-
node_associate_public_ip_address: Optional[pulumi.Input[
|
|
52
|
-
node_public_key: Optional[pulumi.Input[
|
|
53
|
-
node_root_volume_delete_on_termination: Optional[pulumi.Input[
|
|
54
|
-
node_root_volume_encrypted: Optional[pulumi.Input[
|
|
55
|
-
node_root_volume_iops: Optional[pulumi.Input[
|
|
56
|
-
node_root_volume_size: Optional[pulumi.Input[
|
|
57
|
-
node_root_volume_throughput: Optional[pulumi.Input[
|
|
58
|
-
node_root_volume_type: Optional[pulumi.Input[
|
|
43
|
+
instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
44
|
+
instance_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
45
|
+
key_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
46
|
+
kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
47
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
48
|
+
max_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
49
|
+
min_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
50
|
+
node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
51
|
+
node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
52
|
+
node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
53
|
+
node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
54
|
+
node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
|
|
55
|
+
node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
56
|
+
node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
|
|
57
|
+
node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
59
58
|
node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
|
|
60
|
-
node_security_group_id: Optional[pulumi.Input[
|
|
61
|
-
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
62
|
-
node_user_data: Optional[pulumi.Input[
|
|
63
|
-
node_user_data_override: Optional[pulumi.Input[
|
|
59
|
+
node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
60
|
+
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
61
|
+
node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
62
|
+
node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
|
|
64
63
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]] = None,
|
|
65
64
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
66
|
-
spot_price: Optional[pulumi.Input[
|
|
65
|
+
spot_price: Optional[pulumi.Input[_builtins.str]] = None,
|
|
67
66
|
taints: Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]] = None,
|
|
68
|
-
version: Optional[pulumi.Input[
|
|
67
|
+
version: Optional[pulumi.Input[_builtins.str]] = None):
|
|
69
68
|
"""
|
|
70
69
|
The set of arguments for constructing a NodeGroup resource.
|
|
71
70
|
:param pulumi.Input[Union['Cluster', 'CoreDataArgs']] cluster: The target EKS cluster.
|
|
72
|
-
:param pulumi.Input[
|
|
71
|
+
:param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
|
|
73
72
|
|
|
74
73
|
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
|
|
75
74
|
|
|
@@ -77,17 +76,17 @@ class NodeGroupArgs:
|
|
|
77
76
|
|
|
78
77
|
See for more details:
|
|
79
78
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
|
|
80
|
-
:param pulumi.Input[
|
|
79
|
+
:param pulumi.Input[_builtins.str] ami_type: The AMI Type to use for the worker nodes.
|
|
81
80
|
|
|
82
81
|
Only applicable when setting an AMI ID that is of type `arm64`.
|
|
83
82
|
|
|
84
83
|
Note: `amiType` and `gpu` are mutually exclusive.
|
|
85
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
84
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
86
85
|
|
|
87
86
|
Per AWS, all stack-level tags, including automatically created tags, and the `cloudFormationTags` option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
|
|
88
87
|
|
|
89
88
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
90
|
-
:param pulumi.Input[
|
|
89
|
+
:param pulumi.Input[_builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
|
|
91
90
|
:param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
|
|
92
91
|
The settings will get merged with the base settings the provider uses to configure Bottlerocket.
|
|
93
92
|
|
|
@@ -98,24 +97,24 @@ class NodeGroupArgs:
|
|
|
98
97
|
- settings.kubernetes.cluster-dns-ip
|
|
99
98
|
|
|
100
99
|
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
|
|
101
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
100
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
102
101
|
|
|
103
102
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
104
103
|
:param pulumi.Input['pulumi_aws.ec2.SecurityGroupRule'] cluster_ingress_rule: The ingress rule that gives node group access.
|
|
105
|
-
:param pulumi.Input[
|
|
106
|
-
:param pulumi.Input[
|
|
107
|
-
:param pulumi.Input[
|
|
104
|
+
:param pulumi.Input[_builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
|
|
105
|
+
:param pulumi.Input[_builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
106
|
+
:param pulumi.Input[_builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
|
|
108
107
|
|
|
109
108
|
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals.
|
|
110
109
|
When enabled, you can also get aggregated data across groups of similar instances.
|
|
111
110
|
|
|
112
111
|
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage.
|
|
113
112
|
For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
|
|
114
|
-
:param pulumi.Input[
|
|
113
|
+
:param pulumi.Input[_builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
|
|
115
114
|
:param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]] extra_node_security_groups: Extra security groups to attach on all nodes in this worker node group.
|
|
116
115
|
|
|
117
116
|
This additional set of security groups captures any user application rules that will be needed for the nodes.
|
|
118
|
-
:param pulumi.Input[
|
|
117
|
+
:param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
|
|
119
118
|
|
|
120
119
|
Defaults to false.
|
|
121
120
|
|
|
@@ -125,23 +124,23 @@ class NodeGroupArgs:
|
|
|
125
124
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
|
|
126
125
|
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
|
|
127
126
|
:param 'pulumi_aws.iam.InstanceProfile' instance_profile: The IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
128
|
-
:param pulumi.Input[
|
|
129
|
-
:param pulumi.Input[
|
|
130
|
-
:param pulumi.Input[
|
|
131
|
-
:param pulumi.Input[
|
|
132
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
133
|
-
:param pulumi.Input[
|
|
134
|
-
:param pulumi.Input[
|
|
135
|
-
:param pulumi.Input[
|
|
136
|
-
:param pulumi.Input[
|
|
127
|
+
:param pulumi.Input[_builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
128
|
+
:param pulumi.Input[_builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
129
|
+
:param pulumi.Input[_builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
|
|
130
|
+
:param pulumi.Input[_builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
|
|
131
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
|
|
132
|
+
:param pulumi.Input[_builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
133
|
+
:param pulumi.Input[_builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
134
|
+
:param pulumi.Input[_builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
|
|
135
|
+
:param pulumi.Input[_builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
|
|
137
136
|
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
|
|
138
137
|
If not provided, no SSH access is enabled on VMs.
|
|
139
|
-
:param pulumi.Input[
|
|
140
|
-
:param pulumi.Input[
|
|
141
|
-
:param pulumi.Input[
|
|
142
|
-
:param pulumi.Input[
|
|
143
|
-
:param pulumi.Input[
|
|
144
|
-
:param pulumi.Input[
|
|
138
|
+
:param pulumi.Input[_builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
139
|
+
:param pulumi.Input[_builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
140
|
+
:param pulumi.Input[_builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
141
|
+
:param pulumi.Input[_builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
142
|
+
:param pulumi.Input[_builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
|
|
143
|
+
:param pulumi.Input[_builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
|
|
145
144
|
:param pulumi.Input['pulumi_aws.ec2.SecurityGroup'] node_security_group: The security group for the worker node group to communicate with the cluster.
|
|
146
145
|
|
|
147
146
|
This security group requires specific inbound and outbound rules.
|
|
@@ -150,7 +149,7 @@ class NodeGroupArgs:
|
|
|
150
149
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
151
150
|
|
|
152
151
|
Note: The `nodeSecurityGroup` option and the cluster option`nodeSecurityGroupTags` are mutually exclusive.
|
|
153
|
-
:param pulumi.Input[
|
|
152
|
+
:param pulumi.Input[_builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
|
|
154
153
|
|
|
155
154
|
This security group requires specific inbound and outbound rules.
|
|
156
155
|
|
|
@@ -158,11 +157,11 @@ class NodeGroupArgs:
|
|
|
158
157
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
159
158
|
|
|
160
159
|
Note: The `nodeSecurityGroupId` option and the cluster option `nodeSecurityGroupTags` are mutually exclusive.
|
|
161
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
160
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
|
|
162
161
|
|
|
163
162
|
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's `subnetIds` is set, or if `publicSubnetIds` and/or `privateSubnetIds` were set.
|
|
164
|
-
:param pulumi.Input[
|
|
165
|
-
:param pulumi.Input[
|
|
163
|
+
:param pulumi.Input[_builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
|
|
164
|
+
:param pulumi.Input[_builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
|
|
166
165
|
|
|
167
166
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
|
|
168
167
|
: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.
|
|
@@ -180,9 +179,9 @@ class NodeGroupArgs:
|
|
|
180
179
|
Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
|
|
181
180
|
|
|
182
181
|
Defaults to the current recommended OS.
|
|
183
|
-
:param pulumi.Input[
|
|
182
|
+
:param pulumi.Input[_builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
184
183
|
:param pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]] taints: Custom k8s node taints to be attached to each worker node. Adds the given taints to the `--register-with-taints` kubelet argument
|
|
185
|
-
:param pulumi.Input[
|
|
184
|
+
:param pulumi.Input[_builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
186
185
|
"""
|
|
187
186
|
pulumi.set(__self__, "cluster", cluster)
|
|
188
187
|
if ami_id is not None:
|
|
@@ -264,7 +263,7 @@ class NodeGroupArgs:
|
|
|
264
263
|
if version is not None:
|
|
265
264
|
pulumi.set(__self__, "version", version)
|
|
266
265
|
|
|
267
|
-
@property
|
|
266
|
+
@_builtins.property
|
|
268
267
|
@pulumi.getter
|
|
269
268
|
def cluster(self) -> pulumi.Input[Union['Cluster', 'CoreDataArgs']]:
|
|
270
269
|
"""
|
|
@@ -276,9 +275,9 @@ class NodeGroupArgs:
|
|
|
276
275
|
def cluster(self, value: pulumi.Input[Union['Cluster', 'CoreDataArgs']]):
|
|
277
276
|
pulumi.set(self, "cluster", value)
|
|
278
277
|
|
|
279
|
-
@property
|
|
278
|
+
@_builtins.property
|
|
280
279
|
@pulumi.getter(name="amiId")
|
|
281
|
-
def ami_id(self) -> Optional[pulumi.Input[
|
|
280
|
+
def ami_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
282
281
|
"""
|
|
283
282
|
The AMI ID to use for the worker nodes.
|
|
284
283
|
|
|
@@ -292,12 +291,12 @@ class NodeGroupArgs:
|
|
|
292
291
|
return pulumi.get(self, "ami_id")
|
|
293
292
|
|
|
294
293
|
@ami_id.setter
|
|
295
|
-
def ami_id(self, value: Optional[pulumi.Input[
|
|
294
|
+
def ami_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
296
295
|
pulumi.set(self, "ami_id", value)
|
|
297
296
|
|
|
298
|
-
@property
|
|
297
|
+
@_builtins.property
|
|
299
298
|
@pulumi.getter(name="amiType")
|
|
300
|
-
def ami_type(self) -> Optional[pulumi.Input[
|
|
299
|
+
def ami_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
301
300
|
"""
|
|
302
301
|
The AMI Type to use for the worker nodes.
|
|
303
302
|
|
|
@@ -308,12 +307,12 @@ class NodeGroupArgs:
|
|
|
308
307
|
return pulumi.get(self, "ami_type")
|
|
309
308
|
|
|
310
309
|
@ami_type.setter
|
|
311
|
-
def ami_type(self, value: Optional[pulumi.Input[
|
|
310
|
+
def ami_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
312
311
|
pulumi.set(self, "ami_type", value)
|
|
313
312
|
|
|
314
|
-
@property
|
|
313
|
+
@_builtins.property
|
|
315
314
|
@pulumi.getter(name="autoScalingGroupTags")
|
|
316
|
-
def auto_scaling_group_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
315
|
+
def auto_scaling_group_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
317
316
|
"""
|
|
318
317
|
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
319
318
|
|
|
@@ -324,22 +323,22 @@ class NodeGroupArgs:
|
|
|
324
323
|
return pulumi.get(self, "auto_scaling_group_tags")
|
|
325
324
|
|
|
326
325
|
@auto_scaling_group_tags.setter
|
|
327
|
-
def auto_scaling_group_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
326
|
+
def auto_scaling_group_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
328
327
|
pulumi.set(self, "auto_scaling_group_tags", value)
|
|
329
328
|
|
|
330
|
-
@property
|
|
329
|
+
@_builtins.property
|
|
331
330
|
@pulumi.getter(name="bootstrapExtraArgs")
|
|
332
|
-
def bootstrap_extra_args(self) -> Optional[pulumi.Input[
|
|
331
|
+
def bootstrap_extra_args(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
333
332
|
"""
|
|
334
333
|
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.
|
|
335
334
|
"""
|
|
336
335
|
return pulumi.get(self, "bootstrap_extra_args")
|
|
337
336
|
|
|
338
337
|
@bootstrap_extra_args.setter
|
|
339
|
-
def bootstrap_extra_args(self, value: Optional[pulumi.Input[
|
|
338
|
+
def bootstrap_extra_args(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
340
339
|
pulumi.set(self, "bootstrap_extra_args", value)
|
|
341
340
|
|
|
342
|
-
@property
|
|
341
|
+
@_builtins.property
|
|
343
342
|
@pulumi.getter(name="bottlerocketSettings")
|
|
344
343
|
def bottlerocket_settings(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
|
345
344
|
"""
|
|
@@ -360,9 +359,9 @@ class NodeGroupArgs:
|
|
|
360
359
|
def bottlerocket_settings(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
|
361
360
|
pulumi.set(self, "bottlerocket_settings", value)
|
|
362
361
|
|
|
363
|
-
@property
|
|
362
|
+
@_builtins.property
|
|
364
363
|
@pulumi.getter(name="cloudFormationTags")
|
|
365
|
-
def cloud_formation_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
364
|
+
def cloud_formation_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
366
365
|
"""
|
|
367
366
|
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
368
367
|
|
|
@@ -371,10 +370,10 @@ class NodeGroupArgs:
|
|
|
371
370
|
return pulumi.get(self, "cloud_formation_tags")
|
|
372
371
|
|
|
373
372
|
@cloud_formation_tags.setter
|
|
374
|
-
def cloud_formation_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
373
|
+
def cloud_formation_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
375
374
|
pulumi.set(self, "cloud_formation_tags", value)
|
|
376
375
|
|
|
377
|
-
@property
|
|
376
|
+
@_builtins.property
|
|
378
377
|
@pulumi.getter(name="clusterIngressRule")
|
|
379
378
|
def cluster_ingress_rule(self) -> Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']]:
|
|
380
379
|
"""
|
|
@@ -386,33 +385,33 @@ class NodeGroupArgs:
|
|
|
386
385
|
def cluster_ingress_rule(self, value: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']]):
|
|
387
386
|
pulumi.set(self, "cluster_ingress_rule", value)
|
|
388
387
|
|
|
389
|
-
@property
|
|
388
|
+
@_builtins.property
|
|
390
389
|
@pulumi.getter(name="clusterIngressRuleId")
|
|
391
|
-
def cluster_ingress_rule_id(self) -> Optional[pulumi.Input[
|
|
390
|
+
def cluster_ingress_rule_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
392
391
|
"""
|
|
393
392
|
The ID of the ingress rule that gives node group access.
|
|
394
393
|
"""
|
|
395
394
|
return pulumi.get(self, "cluster_ingress_rule_id")
|
|
396
395
|
|
|
397
396
|
@cluster_ingress_rule_id.setter
|
|
398
|
-
def cluster_ingress_rule_id(self, value: Optional[pulumi.Input[
|
|
397
|
+
def cluster_ingress_rule_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
399
398
|
pulumi.set(self, "cluster_ingress_rule_id", value)
|
|
400
399
|
|
|
401
|
-
@property
|
|
400
|
+
@_builtins.property
|
|
402
401
|
@pulumi.getter(name="desiredCapacity")
|
|
403
|
-
def desired_capacity(self) -> Optional[pulumi.Input[
|
|
402
|
+
def desired_capacity(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
404
403
|
"""
|
|
405
404
|
The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
406
405
|
"""
|
|
407
406
|
return pulumi.get(self, "desired_capacity")
|
|
408
407
|
|
|
409
408
|
@desired_capacity.setter
|
|
410
|
-
def desired_capacity(self, value: Optional[pulumi.Input[
|
|
409
|
+
def desired_capacity(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
411
410
|
pulumi.set(self, "desired_capacity", value)
|
|
412
411
|
|
|
413
|
-
@property
|
|
412
|
+
@_builtins.property
|
|
414
413
|
@pulumi.getter(name="enableDetailedMonitoring")
|
|
415
|
-
def enable_detailed_monitoring(self) -> Optional[pulumi.Input[
|
|
414
|
+
def enable_detailed_monitoring(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
416
415
|
"""
|
|
417
416
|
Enables/disables detailed monitoring of the EC2 instances.
|
|
418
417
|
|
|
@@ -425,22 +424,22 @@ class NodeGroupArgs:
|
|
|
425
424
|
return pulumi.get(self, "enable_detailed_monitoring")
|
|
426
425
|
|
|
427
426
|
@enable_detailed_monitoring.setter
|
|
428
|
-
def enable_detailed_monitoring(self, value: Optional[pulumi.Input[
|
|
427
|
+
def enable_detailed_monitoring(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
429
428
|
pulumi.set(self, "enable_detailed_monitoring", value)
|
|
430
429
|
|
|
431
|
-
@property
|
|
430
|
+
@_builtins.property
|
|
432
431
|
@pulumi.getter(name="encryptRootBlockDevice")
|
|
433
|
-
def encrypt_root_block_device(self) -> Optional[pulumi.Input[
|
|
432
|
+
def encrypt_root_block_device(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
434
433
|
"""
|
|
435
434
|
Encrypt the root block device of the nodes in the node group.
|
|
436
435
|
"""
|
|
437
436
|
return pulumi.get(self, "encrypt_root_block_device")
|
|
438
437
|
|
|
439
438
|
@encrypt_root_block_device.setter
|
|
440
|
-
def encrypt_root_block_device(self, value: Optional[pulumi.Input[
|
|
439
|
+
def encrypt_root_block_device(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
441
440
|
pulumi.set(self, "encrypt_root_block_device", value)
|
|
442
441
|
|
|
443
|
-
@property
|
|
442
|
+
@_builtins.property
|
|
444
443
|
@pulumi.getter(name="extraNodeSecurityGroups")
|
|
445
444
|
def extra_node_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]]:
|
|
446
445
|
"""
|
|
@@ -454,9 +453,9 @@ class NodeGroupArgs:
|
|
|
454
453
|
def extra_node_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]]):
|
|
455
454
|
pulumi.set(self, "extra_node_security_groups", value)
|
|
456
455
|
|
|
457
|
-
@property
|
|
456
|
+
@_builtins.property
|
|
458
457
|
@pulumi.getter
|
|
459
|
-
def gpu(self) -> Optional[pulumi.Input[
|
|
458
|
+
def gpu(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
460
459
|
"""
|
|
461
460
|
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
|
|
462
461
|
|
|
@@ -471,10 +470,10 @@ class NodeGroupArgs:
|
|
|
471
470
|
return pulumi.get(self, "gpu")
|
|
472
471
|
|
|
473
472
|
@gpu.setter
|
|
474
|
-
def gpu(self, value: Optional[pulumi.Input[
|
|
473
|
+
def gpu(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
475
474
|
pulumi.set(self, "gpu", value)
|
|
476
475
|
|
|
477
|
-
@property
|
|
476
|
+
@_builtins.property
|
|
478
477
|
@pulumi.getter(name="instanceProfile")
|
|
479
478
|
def instance_profile(self) -> Optional['pulumi_aws.iam.InstanceProfile']:
|
|
480
479
|
"""
|
|
@@ -486,105 +485,105 @@ class NodeGroupArgs:
|
|
|
486
485
|
def instance_profile(self, value: Optional['pulumi_aws.iam.InstanceProfile']):
|
|
487
486
|
pulumi.set(self, "instance_profile", value)
|
|
488
487
|
|
|
489
|
-
@property
|
|
488
|
+
@_builtins.property
|
|
490
489
|
@pulumi.getter(name="instanceProfileName")
|
|
491
|
-
def instance_profile_name(self) -> Optional[pulumi.Input[
|
|
490
|
+
def instance_profile_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
492
491
|
"""
|
|
493
492
|
The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
494
493
|
"""
|
|
495
494
|
return pulumi.get(self, "instance_profile_name")
|
|
496
495
|
|
|
497
496
|
@instance_profile_name.setter
|
|
498
|
-
def instance_profile_name(self, value: Optional[pulumi.Input[
|
|
497
|
+
def instance_profile_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
499
498
|
pulumi.set(self, "instance_profile_name", value)
|
|
500
499
|
|
|
501
|
-
@property
|
|
500
|
+
@_builtins.property
|
|
502
501
|
@pulumi.getter(name="instanceType")
|
|
503
|
-
def instance_type(self) -> Optional[pulumi.Input[
|
|
502
|
+
def instance_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
504
503
|
"""
|
|
505
504
|
The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
506
505
|
"""
|
|
507
506
|
return pulumi.get(self, "instance_type")
|
|
508
507
|
|
|
509
508
|
@instance_type.setter
|
|
510
|
-
def instance_type(self, value: Optional[pulumi.Input[
|
|
509
|
+
def instance_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
511
510
|
pulumi.set(self, "instance_type", value)
|
|
512
511
|
|
|
513
|
-
@property
|
|
512
|
+
@_builtins.property
|
|
514
513
|
@pulumi.getter(name="keyName")
|
|
515
|
-
def key_name(self) -> Optional[pulumi.Input[
|
|
514
|
+
def key_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
516
515
|
"""
|
|
517
516
|
Name of the key pair to use for SSH access to worker nodes.
|
|
518
517
|
"""
|
|
519
518
|
return pulumi.get(self, "key_name")
|
|
520
519
|
|
|
521
520
|
@key_name.setter
|
|
522
|
-
def key_name(self, value: Optional[pulumi.Input[
|
|
521
|
+
def key_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
523
522
|
pulumi.set(self, "key_name", value)
|
|
524
523
|
|
|
525
|
-
@property
|
|
524
|
+
@_builtins.property
|
|
526
525
|
@pulumi.getter(name="kubeletExtraArgs")
|
|
527
|
-
def kubelet_extra_args(self) -> Optional[pulumi.Input[
|
|
526
|
+
def kubelet_extra_args(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
528
527
|
"""
|
|
529
528
|
Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
|
|
530
529
|
"""
|
|
531
530
|
return pulumi.get(self, "kubelet_extra_args")
|
|
532
531
|
|
|
533
532
|
@kubelet_extra_args.setter
|
|
534
|
-
def kubelet_extra_args(self, value: Optional[pulumi.Input[
|
|
533
|
+
def kubelet_extra_args(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
535
534
|
pulumi.set(self, "kubelet_extra_args", value)
|
|
536
535
|
|
|
537
|
-
@property
|
|
536
|
+
@_builtins.property
|
|
538
537
|
@pulumi.getter
|
|
539
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
538
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
540
539
|
"""
|
|
541
540
|
Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
|
|
542
541
|
"""
|
|
543
542
|
return pulumi.get(self, "labels")
|
|
544
543
|
|
|
545
544
|
@labels.setter
|
|
546
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
545
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
547
546
|
pulumi.set(self, "labels", value)
|
|
548
547
|
|
|
549
|
-
@property
|
|
548
|
+
@_builtins.property
|
|
550
549
|
@pulumi.getter(name="maxSize")
|
|
551
|
-
def max_size(self) -> Optional[pulumi.Input[
|
|
550
|
+
def max_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
552
551
|
"""
|
|
553
552
|
The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
554
553
|
"""
|
|
555
554
|
return pulumi.get(self, "max_size")
|
|
556
555
|
|
|
557
556
|
@max_size.setter
|
|
558
|
-
def max_size(self, value: Optional[pulumi.Input[
|
|
557
|
+
def max_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
559
558
|
pulumi.set(self, "max_size", value)
|
|
560
559
|
|
|
561
|
-
@property
|
|
560
|
+
@_builtins.property
|
|
562
561
|
@pulumi.getter(name="minSize")
|
|
563
|
-
def min_size(self) -> Optional[pulumi.Input[
|
|
562
|
+
def min_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
564
563
|
"""
|
|
565
564
|
The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
566
565
|
"""
|
|
567
566
|
return pulumi.get(self, "min_size")
|
|
568
567
|
|
|
569
568
|
@min_size.setter
|
|
570
|
-
def min_size(self, value: Optional[pulumi.Input[
|
|
569
|
+
def min_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
571
570
|
pulumi.set(self, "min_size", value)
|
|
572
571
|
|
|
573
|
-
@property
|
|
572
|
+
@_builtins.property
|
|
574
573
|
@pulumi.getter(name="nodeAssociatePublicIpAddress")
|
|
575
|
-
def node_associate_public_ip_address(self) -> Optional[pulumi.Input[
|
|
574
|
+
def node_associate_public_ip_address(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
576
575
|
"""
|
|
577
576
|
Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
|
|
578
577
|
"""
|
|
579
578
|
return pulumi.get(self, "node_associate_public_ip_address")
|
|
580
579
|
|
|
581
580
|
@node_associate_public_ip_address.setter
|
|
582
|
-
def node_associate_public_ip_address(self, value: Optional[pulumi.Input[
|
|
581
|
+
def node_associate_public_ip_address(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
583
582
|
pulumi.set(self, "node_associate_public_ip_address", value)
|
|
584
583
|
|
|
585
|
-
@property
|
|
584
|
+
@_builtins.property
|
|
586
585
|
@pulumi.getter(name="nodePublicKey")
|
|
587
|
-
def node_public_key(self) -> Optional[pulumi.Input[
|
|
586
|
+
def node_public_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
588
587
|
"""
|
|
589
588
|
Public key material for SSH access to worker nodes. See allowed formats at:
|
|
590
589
|
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
|
|
@@ -593,82 +592,82 @@ class NodeGroupArgs:
|
|
|
593
592
|
return pulumi.get(self, "node_public_key")
|
|
594
593
|
|
|
595
594
|
@node_public_key.setter
|
|
596
|
-
def node_public_key(self, value: Optional[pulumi.Input[
|
|
595
|
+
def node_public_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
597
596
|
pulumi.set(self, "node_public_key", value)
|
|
598
597
|
|
|
599
|
-
@property
|
|
598
|
+
@_builtins.property
|
|
600
599
|
@pulumi.getter(name="nodeRootVolumeDeleteOnTermination")
|
|
601
|
-
def node_root_volume_delete_on_termination(self) -> Optional[pulumi.Input[
|
|
600
|
+
def node_root_volume_delete_on_termination(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
602
601
|
"""
|
|
603
602
|
Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
604
603
|
"""
|
|
605
604
|
return pulumi.get(self, "node_root_volume_delete_on_termination")
|
|
606
605
|
|
|
607
606
|
@node_root_volume_delete_on_termination.setter
|
|
608
|
-
def node_root_volume_delete_on_termination(self, value: Optional[pulumi.Input[
|
|
607
|
+
def node_root_volume_delete_on_termination(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
609
608
|
pulumi.set(self, "node_root_volume_delete_on_termination", value)
|
|
610
609
|
|
|
611
|
-
@property
|
|
610
|
+
@_builtins.property
|
|
612
611
|
@pulumi.getter(name="nodeRootVolumeEncrypted")
|
|
613
|
-
def node_root_volume_encrypted(self) -> Optional[pulumi.Input[
|
|
612
|
+
def node_root_volume_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
614
613
|
"""
|
|
615
614
|
Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
616
615
|
"""
|
|
617
616
|
return pulumi.get(self, "node_root_volume_encrypted")
|
|
618
617
|
|
|
619
618
|
@node_root_volume_encrypted.setter
|
|
620
|
-
def node_root_volume_encrypted(self, value: Optional[pulumi.Input[
|
|
619
|
+
def node_root_volume_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
621
620
|
pulumi.set(self, "node_root_volume_encrypted", value)
|
|
622
621
|
|
|
623
|
-
@property
|
|
622
|
+
@_builtins.property
|
|
624
623
|
@pulumi.getter(name="nodeRootVolumeIops")
|
|
625
|
-
def node_root_volume_iops(self) -> Optional[pulumi.Input[
|
|
624
|
+
def node_root_volume_iops(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
626
625
|
"""
|
|
627
626
|
The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
628
627
|
"""
|
|
629
628
|
return pulumi.get(self, "node_root_volume_iops")
|
|
630
629
|
|
|
631
630
|
@node_root_volume_iops.setter
|
|
632
|
-
def node_root_volume_iops(self, value: Optional[pulumi.Input[
|
|
631
|
+
def node_root_volume_iops(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
633
632
|
pulumi.set(self, "node_root_volume_iops", value)
|
|
634
633
|
|
|
635
|
-
@property
|
|
634
|
+
@_builtins.property
|
|
636
635
|
@pulumi.getter(name="nodeRootVolumeSize")
|
|
637
|
-
def node_root_volume_size(self) -> Optional[pulumi.Input[
|
|
636
|
+
def node_root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
638
637
|
"""
|
|
639
638
|
The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
640
639
|
"""
|
|
641
640
|
return pulumi.get(self, "node_root_volume_size")
|
|
642
641
|
|
|
643
642
|
@node_root_volume_size.setter
|
|
644
|
-
def node_root_volume_size(self, value: Optional[pulumi.Input[
|
|
643
|
+
def node_root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
645
644
|
pulumi.set(self, "node_root_volume_size", value)
|
|
646
645
|
|
|
647
|
-
@property
|
|
646
|
+
@_builtins.property
|
|
648
647
|
@pulumi.getter(name="nodeRootVolumeThroughput")
|
|
649
|
-
def node_root_volume_throughput(self) -> Optional[pulumi.Input[
|
|
648
|
+
def node_root_volume_throughput(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
650
649
|
"""
|
|
651
650
|
Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
|
|
652
651
|
"""
|
|
653
652
|
return pulumi.get(self, "node_root_volume_throughput")
|
|
654
653
|
|
|
655
654
|
@node_root_volume_throughput.setter
|
|
656
|
-
def node_root_volume_throughput(self, value: Optional[pulumi.Input[
|
|
655
|
+
def node_root_volume_throughput(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
657
656
|
pulumi.set(self, "node_root_volume_throughput", value)
|
|
658
657
|
|
|
659
|
-
@property
|
|
658
|
+
@_builtins.property
|
|
660
659
|
@pulumi.getter(name="nodeRootVolumeType")
|
|
661
|
-
def node_root_volume_type(self) -> Optional[pulumi.Input[
|
|
660
|
+
def node_root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
662
661
|
"""
|
|
663
662
|
Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
|
|
664
663
|
"""
|
|
665
664
|
return pulumi.get(self, "node_root_volume_type")
|
|
666
665
|
|
|
667
666
|
@node_root_volume_type.setter
|
|
668
|
-
def node_root_volume_type(self, value: Optional[pulumi.Input[
|
|
667
|
+
def node_root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
669
668
|
pulumi.set(self, "node_root_volume_type", value)
|
|
670
669
|
|
|
671
|
-
@property
|
|
670
|
+
@_builtins.property
|
|
672
671
|
@pulumi.getter(name="nodeSecurityGroup")
|
|
673
672
|
def node_security_group(self) -> Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]:
|
|
674
673
|
"""
|
|
@@ -687,9 +686,9 @@ class NodeGroupArgs:
|
|
|
687
686
|
def node_security_group(self, value: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]):
|
|
688
687
|
pulumi.set(self, "node_security_group", value)
|
|
689
688
|
|
|
690
|
-
@property
|
|
689
|
+
@_builtins.property
|
|
691
690
|
@pulumi.getter(name="nodeSecurityGroupId")
|
|
692
|
-
def node_security_group_id(self) -> Optional[pulumi.Input[
|
|
691
|
+
def node_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
693
692
|
"""
|
|
694
693
|
The ID of the security group for the worker node group to communicate with the cluster.
|
|
695
694
|
|
|
@@ -703,12 +702,12 @@ class NodeGroupArgs:
|
|
|
703
702
|
return pulumi.get(self, "node_security_group_id")
|
|
704
703
|
|
|
705
704
|
@node_security_group_id.setter
|
|
706
|
-
def node_security_group_id(self, value: Optional[pulumi.Input[
|
|
705
|
+
def node_security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
707
706
|
pulumi.set(self, "node_security_group_id", value)
|
|
708
707
|
|
|
709
|
-
@property
|
|
708
|
+
@_builtins.property
|
|
710
709
|
@pulumi.getter(name="nodeSubnetIds")
|
|
711
|
-
def node_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
710
|
+
def node_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
712
711
|
"""
|
|
713
712
|
The set of subnets to override and use for the worker node group.
|
|
714
713
|
|
|
@@ -717,24 +716,24 @@ class NodeGroupArgs:
|
|
|
717
716
|
return pulumi.get(self, "node_subnet_ids")
|
|
718
717
|
|
|
719
718
|
@node_subnet_ids.setter
|
|
720
|
-
def node_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
719
|
+
def node_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
721
720
|
pulumi.set(self, "node_subnet_ids", value)
|
|
722
721
|
|
|
723
|
-
@property
|
|
722
|
+
@_builtins.property
|
|
724
723
|
@pulumi.getter(name="nodeUserData")
|
|
725
|
-
def node_user_data(self) -> Optional[pulumi.Input[
|
|
724
|
+
def node_user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
726
725
|
"""
|
|
727
726
|
Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
|
|
728
727
|
"""
|
|
729
728
|
return pulumi.get(self, "node_user_data")
|
|
730
729
|
|
|
731
730
|
@node_user_data.setter
|
|
732
|
-
def node_user_data(self, value: Optional[pulumi.Input[
|
|
731
|
+
def node_user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
733
732
|
pulumi.set(self, "node_user_data", value)
|
|
734
733
|
|
|
735
|
-
@property
|
|
734
|
+
@_builtins.property
|
|
736
735
|
@pulumi.getter(name="nodeUserDataOverride")
|
|
737
|
-
def node_user_data_override(self) -> Optional[pulumi.Input[
|
|
736
|
+
def node_user_data_override(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
738
737
|
"""
|
|
739
738
|
User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
|
|
740
739
|
|
|
@@ -743,10 +742,10 @@ class NodeGroupArgs:
|
|
|
743
742
|
return pulumi.get(self, "node_user_data_override")
|
|
744
743
|
|
|
745
744
|
@node_user_data_override.setter
|
|
746
|
-
def node_user_data_override(self, value: Optional[pulumi.Input[
|
|
745
|
+
def node_user_data_override(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
747
746
|
pulumi.set(self, "node_user_data_override", value)
|
|
748
747
|
|
|
749
|
-
@property
|
|
748
|
+
@_builtins.property
|
|
750
749
|
@pulumi.getter(name="nodeadmExtraOptions")
|
|
751
750
|
def nodeadm_extra_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]:
|
|
752
751
|
"""
|
|
@@ -768,7 +767,7 @@ class NodeGroupArgs:
|
|
|
768
767
|
def nodeadm_extra_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeadmOptionsArgs']]]]):
|
|
769
768
|
pulumi.set(self, "nodeadm_extra_options", value)
|
|
770
769
|
|
|
771
|
-
@property
|
|
770
|
+
@_builtins.property
|
|
772
771
|
@pulumi.getter(name="operatingSystem")
|
|
773
772
|
def operating_system(self) -> Optional[pulumi.Input['OperatingSystem']]:
|
|
774
773
|
"""
|
|
@@ -783,19 +782,19 @@ class NodeGroupArgs:
|
|
|
783
782
|
def operating_system(self, value: Optional[pulumi.Input['OperatingSystem']]):
|
|
784
783
|
pulumi.set(self, "operating_system", value)
|
|
785
784
|
|
|
786
|
-
@property
|
|
785
|
+
@_builtins.property
|
|
787
786
|
@pulumi.getter(name="spotPrice")
|
|
788
|
-
def spot_price(self) -> Optional[pulumi.Input[
|
|
787
|
+
def spot_price(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
789
788
|
"""
|
|
790
789
|
Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
791
790
|
"""
|
|
792
791
|
return pulumi.get(self, "spot_price")
|
|
793
792
|
|
|
794
793
|
@spot_price.setter
|
|
795
|
-
def spot_price(self, value: Optional[pulumi.Input[
|
|
794
|
+
def spot_price(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
796
795
|
pulumi.set(self, "spot_price", value)
|
|
797
796
|
|
|
798
|
-
@property
|
|
797
|
+
@_builtins.property
|
|
799
798
|
@pulumi.getter
|
|
800
799
|
def taints(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]]:
|
|
801
800
|
"""
|
|
@@ -807,16 +806,16 @@ class NodeGroupArgs:
|
|
|
807
806
|
def taints(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['TaintArgs']]]]):
|
|
808
807
|
pulumi.set(self, "taints", value)
|
|
809
808
|
|
|
810
|
-
@property
|
|
809
|
+
@_builtins.property
|
|
811
810
|
@pulumi.getter
|
|
812
|
-
def version(self) -> Optional[pulumi.Input[
|
|
811
|
+
def version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
813
812
|
"""
|
|
814
813
|
Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
815
814
|
"""
|
|
816
815
|
return pulumi.get(self, "version")
|
|
817
816
|
|
|
818
817
|
@version.setter
|
|
819
|
-
def version(self, value: Optional[pulumi.Input[
|
|
818
|
+
def version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
820
819
|
pulumi.set(self, "version", value)
|
|
821
820
|
|
|
822
821
|
|
|
@@ -831,53 +830,53 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
831
830
|
def __init__(__self__,
|
|
832
831
|
resource_name: str,
|
|
833
832
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
834
|
-
ami_id: Optional[pulumi.Input[
|
|
835
|
-
ami_type: Optional[pulumi.Input[
|
|
836
|
-
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
837
|
-
bootstrap_extra_args: Optional[pulumi.Input[
|
|
833
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
834
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
835
|
+
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
836
|
+
bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
838
837
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
839
|
-
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
838
|
+
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
840
839
|
cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
|
|
841
840
|
cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
|
|
842
|
-
cluster_ingress_rule_id: Optional[pulumi.Input[
|
|
843
|
-
desired_capacity: Optional[pulumi.Input[
|
|
844
|
-
enable_detailed_monitoring: Optional[pulumi.Input[
|
|
845
|
-
encrypt_root_block_device: Optional[pulumi.Input[
|
|
841
|
+
cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
842
|
+
desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
|
|
843
|
+
enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
844
|
+
encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
846
845
|
extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
|
|
847
|
-
gpu: Optional[pulumi.Input[
|
|
846
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
848
847
|
instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
|
|
849
|
-
instance_profile_name: Optional[pulumi.Input[
|
|
850
|
-
instance_type: Optional[pulumi.Input[
|
|
851
|
-
key_name: Optional[pulumi.Input[
|
|
852
|
-
kubelet_extra_args: Optional[pulumi.Input[
|
|
853
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
854
|
-
max_size: Optional[pulumi.Input[
|
|
855
|
-
min_size: Optional[pulumi.Input[
|
|
856
|
-
node_associate_public_ip_address: Optional[pulumi.Input[
|
|
857
|
-
node_public_key: Optional[pulumi.Input[
|
|
858
|
-
node_root_volume_delete_on_termination: Optional[pulumi.Input[
|
|
859
|
-
node_root_volume_encrypted: Optional[pulumi.Input[
|
|
860
|
-
node_root_volume_iops: Optional[pulumi.Input[
|
|
861
|
-
node_root_volume_size: Optional[pulumi.Input[
|
|
862
|
-
node_root_volume_throughput: Optional[pulumi.Input[
|
|
863
|
-
node_root_volume_type: Optional[pulumi.Input[
|
|
848
|
+
instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
849
|
+
instance_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
850
|
+
key_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
851
|
+
kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
852
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
853
|
+
max_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
854
|
+
min_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
855
|
+
node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
856
|
+
node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
857
|
+
node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
858
|
+
node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
859
|
+
node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
|
|
860
|
+
node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
861
|
+
node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
|
|
862
|
+
node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
864
863
|
node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
|
|
865
|
-
node_security_group_id: Optional[pulumi.Input[
|
|
866
|
-
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
867
|
-
node_user_data: Optional[pulumi.Input[
|
|
868
|
-
node_user_data_override: Optional[pulumi.Input[
|
|
864
|
+
node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
865
|
+
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
866
|
+
node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
867
|
+
node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
|
|
869
868
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
|
|
870
869
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
871
|
-
spot_price: Optional[pulumi.Input[
|
|
870
|
+
spot_price: Optional[pulumi.Input[_builtins.str]] = None,
|
|
872
871
|
taints: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]]] = None,
|
|
873
|
-
version: Optional[pulumi.Input[
|
|
872
|
+
version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
874
873
|
__props__=None):
|
|
875
874
|
"""
|
|
876
875
|
NodeGroup is a component that wraps the AWS EC2 instances that provide compute capacity for an EKS cluster.
|
|
877
876
|
|
|
878
877
|
:param str resource_name: The name of the resource.
|
|
879
878
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
880
|
-
:param pulumi.Input[
|
|
879
|
+
:param pulumi.Input[_builtins.str] ami_id: The AMI ID to use for the worker nodes.
|
|
881
880
|
|
|
882
881
|
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
|
|
883
882
|
|
|
@@ -885,17 +884,17 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
885
884
|
|
|
886
885
|
See for more details:
|
|
887
886
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
|
|
888
|
-
:param pulumi.Input[
|
|
887
|
+
:param pulumi.Input[_builtins.str] ami_type: The AMI Type to use for the worker nodes.
|
|
889
888
|
|
|
890
889
|
Only applicable when setting an AMI ID that is of type `arm64`.
|
|
891
890
|
|
|
892
891
|
Note: `amiType` and `gpu` are mutually exclusive.
|
|
893
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
892
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
894
893
|
|
|
895
894
|
Per AWS, all stack-level tags, including automatically created tags, and the `cloudFormationTags` option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
|
|
896
895
|
|
|
897
896
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
898
|
-
:param pulumi.Input[
|
|
897
|
+
:param pulumi.Input[_builtins.str] bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
|
|
899
898
|
:param pulumi.Input[Mapping[str, Any]] bottlerocket_settings: The configuration settings for Bottlerocket OS.
|
|
900
899
|
The settings will get merged with the base settings the provider uses to configure Bottlerocket.
|
|
901
900
|
|
|
@@ -906,25 +905,25 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
906
905
|
- settings.kubernetes.cluster-dns-ip
|
|
907
906
|
|
|
908
907
|
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
|
|
909
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
908
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
910
909
|
|
|
911
910
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
912
911
|
:param pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]] cluster: The target EKS cluster.
|
|
913
912
|
:param pulumi.Input['pulumi_aws.ec2.SecurityGroupRule'] cluster_ingress_rule: The ingress rule that gives node group access.
|
|
914
|
-
:param pulumi.Input[
|
|
915
|
-
:param pulumi.Input[
|
|
916
|
-
:param pulumi.Input[
|
|
913
|
+
:param pulumi.Input[_builtins.str] cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
|
|
914
|
+
:param pulumi.Input[_builtins.int] desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
915
|
+
:param pulumi.Input[_builtins.bool] enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
|
|
917
916
|
|
|
918
917
|
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals.
|
|
919
918
|
When enabled, you can also get aggregated data across groups of similar instances.
|
|
920
919
|
|
|
921
920
|
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage.
|
|
922
921
|
For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
|
|
923
|
-
:param pulumi.Input[
|
|
922
|
+
:param pulumi.Input[_builtins.bool] encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
|
|
924
923
|
:param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]] extra_node_security_groups: Extra security groups to attach on all nodes in this worker node group.
|
|
925
924
|
|
|
926
925
|
This additional set of security groups captures any user application rules that will be needed for the nodes.
|
|
927
|
-
:param pulumi.Input[
|
|
926
|
+
:param pulumi.Input[_builtins.bool] gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
|
|
928
927
|
|
|
929
928
|
Defaults to false.
|
|
930
929
|
|
|
@@ -934,23 +933,23 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
934
933
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
|
|
935
934
|
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
|
|
936
935
|
:param 'pulumi_aws.iam.InstanceProfile' instance_profile: The IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
937
|
-
:param pulumi.Input[
|
|
938
|
-
:param pulumi.Input[
|
|
939
|
-
:param pulumi.Input[
|
|
940
|
-
:param pulumi.Input[
|
|
941
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[
|
|
942
|
-
:param pulumi.Input[
|
|
943
|
-
:param pulumi.Input[
|
|
944
|
-
:param pulumi.Input[
|
|
945
|
-
:param pulumi.Input[
|
|
936
|
+
:param pulumi.Input[_builtins.str] instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
937
|
+
:param pulumi.Input[_builtins.str] instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
938
|
+
:param pulumi.Input[_builtins.str] key_name: Name of the key pair to use for SSH access to worker nodes.
|
|
939
|
+
:param pulumi.Input[_builtins.str] kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. Note that the `labels` and `taints` properties will be applied to this list (using `--node-labels` and `--register-with-taints` respectively) after to the explicit `kubeletExtraArgs`.
|
|
940
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
|
|
941
|
+
:param pulumi.Input[_builtins.int] max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
942
|
+
:param pulumi.Input[_builtins.int] min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
943
|
+
:param pulumi.Input[_builtins.bool] node_associate_public_ip_address: Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
|
|
944
|
+
:param pulumi.Input[_builtins.str] node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
|
|
946
945
|
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
|
|
947
946
|
If not provided, no SSH access is enabled on VMs.
|
|
948
|
-
:param pulumi.Input[
|
|
949
|
-
:param pulumi.Input[
|
|
950
|
-
:param pulumi.Input[
|
|
951
|
-
:param pulumi.Input[
|
|
952
|
-
:param pulumi.Input[
|
|
953
|
-
:param pulumi.Input[
|
|
947
|
+
:param pulumi.Input[_builtins.bool] node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
948
|
+
:param pulumi.Input[_builtins.bool] node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
949
|
+
:param pulumi.Input[_builtins.int] node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
950
|
+
:param pulumi.Input[_builtins.int] node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
951
|
+
:param pulumi.Input[_builtins.int] node_root_volume_throughput: Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
|
|
952
|
+
:param pulumi.Input[_builtins.str] node_root_volume_type: Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
|
|
954
953
|
:param pulumi.Input['pulumi_aws.ec2.SecurityGroup'] node_security_group: The security group for the worker node group to communicate with the cluster.
|
|
955
954
|
|
|
956
955
|
This security group requires specific inbound and outbound rules.
|
|
@@ -959,7 +958,7 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
959
958
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
960
959
|
|
|
961
960
|
Note: The `nodeSecurityGroup` option and the cluster option`nodeSecurityGroupTags` are mutually exclusive.
|
|
962
|
-
:param pulumi.Input[
|
|
961
|
+
:param pulumi.Input[_builtins.str] node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
|
|
963
962
|
|
|
964
963
|
This security group requires specific inbound and outbound rules.
|
|
965
964
|
|
|
@@ -967,11 +966,11 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
967
966
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
968
967
|
|
|
969
968
|
Note: The `nodeSecurityGroupId` option and the cluster option `nodeSecurityGroupTags` are mutually exclusive.
|
|
970
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
969
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] node_subnet_ids: The set of subnets to override and use for the worker node group.
|
|
971
970
|
|
|
972
971
|
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's `subnetIds` is set, or if `publicSubnetIds` and/or `privateSubnetIds` were set.
|
|
973
|
-
:param pulumi.Input[
|
|
974
|
-
:param pulumi.Input[
|
|
972
|
+
:param pulumi.Input[_builtins.str] node_user_data: Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a `#!`).
|
|
973
|
+
:param pulumi.Input[_builtins.str] node_user_data_override: User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
|
|
975
974
|
|
|
976
975
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
|
|
977
976
|
: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.
|
|
@@ -989,9 +988,9 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
989
988
|
Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
|
|
990
989
|
|
|
991
990
|
Defaults to the current recommended OS.
|
|
992
|
-
:param pulumi.Input[
|
|
991
|
+
:param pulumi.Input[_builtins.str] spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
993
992
|
:param pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]] taints: Custom k8s node taints to be attached to each worker node. Adds the given taints to the `--register-with-taints` kubelet argument
|
|
994
|
-
:param pulumi.Input[
|
|
993
|
+
:param pulumi.Input[_builtins.str] version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
995
994
|
"""
|
|
996
995
|
...
|
|
997
996
|
@overload
|
|
@@ -1017,46 +1016,46 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
1017
1016
|
def _internal_init(__self__,
|
|
1018
1017
|
resource_name: str,
|
|
1019
1018
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1020
|
-
ami_id: Optional[pulumi.Input[
|
|
1021
|
-
ami_type: Optional[pulumi.Input[
|
|
1022
|
-
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
1023
|
-
bootstrap_extra_args: Optional[pulumi.Input[
|
|
1019
|
+
ami_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1020
|
+
ami_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1021
|
+
auto_scaling_group_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1022
|
+
bootstrap_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1024
1023
|
bottlerocket_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
|
1025
|
-
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
1024
|
+
cloud_formation_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1026
1025
|
cluster: Optional[pulumi.Input[Union['Cluster', Union['CoreDataArgs', 'CoreDataArgsDict']]]] = None,
|
|
1027
1026
|
cluster_ingress_rule: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroupRule']] = None,
|
|
1028
|
-
cluster_ingress_rule_id: Optional[pulumi.Input[
|
|
1029
|
-
desired_capacity: Optional[pulumi.Input[
|
|
1030
|
-
enable_detailed_monitoring: Optional[pulumi.Input[
|
|
1031
|
-
encrypt_root_block_device: Optional[pulumi.Input[
|
|
1027
|
+
cluster_ingress_rule_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1028
|
+
desired_capacity: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1029
|
+
enable_detailed_monitoring: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1030
|
+
encrypt_root_block_device: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1032
1031
|
extra_node_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.SecurityGroup']]]] = None,
|
|
1033
|
-
gpu: Optional[pulumi.Input[
|
|
1032
|
+
gpu: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1034
1033
|
instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
|
|
1035
|
-
instance_profile_name: Optional[pulumi.Input[
|
|
1036
|
-
instance_type: Optional[pulumi.Input[
|
|
1037
|
-
key_name: Optional[pulumi.Input[
|
|
1038
|
-
kubelet_extra_args: Optional[pulumi.Input[
|
|
1039
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[
|
|
1040
|
-
max_size: Optional[pulumi.Input[
|
|
1041
|
-
min_size: Optional[pulumi.Input[
|
|
1042
|
-
node_associate_public_ip_address: Optional[pulumi.Input[
|
|
1043
|
-
node_public_key: Optional[pulumi.Input[
|
|
1044
|
-
node_root_volume_delete_on_termination: Optional[pulumi.Input[
|
|
1045
|
-
node_root_volume_encrypted: Optional[pulumi.Input[
|
|
1046
|
-
node_root_volume_iops: Optional[pulumi.Input[
|
|
1047
|
-
node_root_volume_size: Optional[pulumi.Input[
|
|
1048
|
-
node_root_volume_throughput: Optional[pulumi.Input[
|
|
1049
|
-
node_root_volume_type: Optional[pulumi.Input[
|
|
1034
|
+
instance_profile_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1035
|
+
instance_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1036
|
+
key_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1037
|
+
kubelet_extra_args: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1038
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1039
|
+
max_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1040
|
+
min_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1041
|
+
node_associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1042
|
+
node_public_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1043
|
+
node_root_volume_delete_on_termination: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1044
|
+
node_root_volume_encrypted: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1045
|
+
node_root_volume_iops: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1046
|
+
node_root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1047
|
+
node_root_volume_throughput: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1048
|
+
node_root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1050
1049
|
node_security_group: Optional[pulumi.Input['pulumi_aws.ec2.SecurityGroup']] = None,
|
|
1051
|
-
node_security_group_id: Optional[pulumi.Input[
|
|
1052
|
-
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
1053
|
-
node_user_data: Optional[pulumi.Input[
|
|
1054
|
-
node_user_data_override: Optional[pulumi.Input[
|
|
1050
|
+
node_security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1051
|
+
node_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1052
|
+
node_user_data: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1053
|
+
node_user_data_override: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1055
1054
|
nodeadm_extra_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeadmOptionsArgs', 'NodeadmOptionsArgsDict']]]]] = None,
|
|
1056
1055
|
operating_system: Optional[pulumi.Input['OperatingSystem']] = None,
|
|
1057
|
-
spot_price: Optional[pulumi.Input[
|
|
1056
|
+
spot_price: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1058
1057
|
taints: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['TaintArgs', 'TaintArgsDict']]]]] = None,
|
|
1059
|
-
version: Optional[pulumi.Input[
|
|
1058
|
+
version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1060
1059
|
__props__=None):
|
|
1061
1060
|
pulumi.log.warn("""NodeGroup is deprecated: NodeGroup uses AWS EC2 LaunchConfiguration which has been deprecated by AWS and doesn't support the newest instance types. Please use NodeGroupV2 instead.""")
|
|
1062
1061
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
@@ -1120,15 +1119,15 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
1120
1119
|
opts,
|
|
1121
1120
|
remote=True)
|
|
1122
1121
|
|
|
1123
|
-
@property
|
|
1122
|
+
@_builtins.property
|
|
1124
1123
|
@pulumi.getter(name="autoScalingGroupName")
|
|
1125
|
-
def auto_scaling_group_name(self) -> pulumi.Output[
|
|
1124
|
+
def auto_scaling_group_name(self) -> pulumi.Output[_builtins.str]:
|
|
1126
1125
|
"""
|
|
1127
1126
|
The AutoScalingGroup name for the Node group.
|
|
1128
1127
|
"""
|
|
1129
1128
|
return pulumi.get(self, "auto_scaling_group_name")
|
|
1130
1129
|
|
|
1131
|
-
@property
|
|
1130
|
+
@_builtins.property
|
|
1132
1131
|
@pulumi.getter(name="cfnStack")
|
|
1133
1132
|
def cfn_stack(self) -> pulumi.Output['pulumi_aws.cloudformation.Stack']:
|
|
1134
1133
|
"""
|
|
@@ -1136,7 +1135,7 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
1136
1135
|
"""
|
|
1137
1136
|
return pulumi.get(self, "cfn_stack")
|
|
1138
1137
|
|
|
1139
|
-
@property
|
|
1138
|
+
@_builtins.property
|
|
1140
1139
|
@pulumi.getter(name="extraNodeSecurityGroups")
|
|
1141
1140
|
def extra_node_security_groups(self) -> pulumi.Output[Sequence['pulumi_aws.ec2.SecurityGroup']]:
|
|
1142
1141
|
"""
|
|
@@ -1144,7 +1143,7 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
1144
1143
|
"""
|
|
1145
1144
|
return pulumi.get(self, "extra_node_security_groups")
|
|
1146
1145
|
|
|
1147
|
-
@property
|
|
1146
|
+
@_builtins.property
|
|
1148
1147
|
@pulumi.getter(name="nodeSecurityGroup")
|
|
1149
1148
|
def node_security_group(self) -> pulumi.Output[Optional['pulumi_aws.ec2.SecurityGroup']]:
|
|
1150
1149
|
"""
|
|
@@ -1152,9 +1151,9 @@ class NodeGroup(pulumi.ComponentResource):
|
|
|
1152
1151
|
"""
|
|
1153
1152
|
return pulumi.get(self, "node_security_group")
|
|
1154
1153
|
|
|
1155
|
-
@property
|
|
1154
|
+
@_builtins.property
|
|
1156
1155
|
@pulumi.getter(name="nodeSecurityGroupId")
|
|
1157
|
-
def node_security_group_id(self) -> pulumi.Output[
|
|
1156
|
+
def node_security_group_id(self) -> pulumi.Output[_builtins.str]:
|
|
1158
1157
|
"""
|
|
1159
1158
|
The ID of the security group for the node group to communicate with the cluster.
|
|
1160
1159
|
"""
|