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