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/outputs.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
|
|
@@ -59,24 +60,24 @@ class AccessEntry(dict):
|
|
|
59
60
|
return super().get(key, default)
|
|
60
61
|
|
|
61
62
|
def __init__(__self__, *,
|
|
62
|
-
principal_arn: str,
|
|
63
|
+
principal_arn: builtins.str,
|
|
63
64
|
access_policies: Optional[Mapping[str, 'outputs.AccessPolicyAssociation']] = None,
|
|
64
|
-
kubernetes_groups: Optional[Sequence[str]] = None,
|
|
65
|
-
tags: Optional[Mapping[str, str]] = None,
|
|
65
|
+
kubernetes_groups: Optional[Sequence[builtins.str]] = None,
|
|
66
|
+
tags: Optional[Mapping[str, builtins.str]] = None,
|
|
66
67
|
type: Optional['AccessEntryType'] = None,
|
|
67
|
-
username: Optional[str] = None):
|
|
68
|
+
username: Optional[builtins.str] = None):
|
|
68
69
|
"""
|
|
69
70
|
Access entries allow an IAM principal to access your cluster.
|
|
70
71
|
|
|
71
72
|
You have the following options for authorizing an IAM principal to access Kubernetes objects on your cluster: Kubernetes role-based access control (RBAC), Amazon EKS, or both.
|
|
72
73
|
Kubernetes RBAC authorization requires you to create and manage Kubernetes Role , ClusterRole , RoleBinding , and ClusterRoleBinding objects, in addition to managing access entries. If you use Amazon EKS authorization exclusively, you don't need to create and manage Kubernetes Role , ClusterRole , RoleBinding , and ClusterRoleBinding objects.
|
|
73
|
-
:param str principal_arn: The IAM Principal ARN which requires Authentication access to the EKS cluster.
|
|
74
|
+
:param builtins.str principal_arn: The IAM Principal ARN which requires Authentication access to the EKS cluster.
|
|
74
75
|
:param Mapping[str, 'AccessPolicyAssociation'] access_policies: The access policies to associate to the access entry.
|
|
75
|
-
:param Sequence[str] kubernetes_groups: A list of groups within Kubernetes to which the IAM principal is mapped to.
|
|
76
|
-
:param Mapping[str, str] tags: The tags to apply to the AccessEntry.
|
|
76
|
+
:param Sequence[builtins.str] kubernetes_groups: A list of groups within Kubernetes to which the IAM principal is mapped to.
|
|
77
|
+
:param Mapping[str, builtins.str] tags: The tags to apply to the AccessEntry.
|
|
77
78
|
:param 'AccessEntryType' type: The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS.
|
|
78
79
|
Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
|
|
79
|
-
:param str username: Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
|
|
80
|
+
:param builtins.str username: Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
|
|
80
81
|
"""
|
|
81
82
|
pulumi.set(__self__, "principal_arn", principal_arn)
|
|
82
83
|
if access_policies is not None:
|
|
@@ -92,7 +93,7 @@ class AccessEntry(dict):
|
|
|
92
93
|
|
|
93
94
|
@property
|
|
94
95
|
@pulumi.getter(name="principalArn")
|
|
95
|
-
def principal_arn(self) -> str:
|
|
96
|
+
def principal_arn(self) -> builtins.str:
|
|
96
97
|
"""
|
|
97
98
|
The IAM Principal ARN which requires Authentication access to the EKS cluster.
|
|
98
99
|
"""
|
|
@@ -108,7 +109,7 @@ class AccessEntry(dict):
|
|
|
108
109
|
|
|
109
110
|
@property
|
|
110
111
|
@pulumi.getter(name="kubernetesGroups")
|
|
111
|
-
def kubernetes_groups(self) -> Optional[Sequence[str]]:
|
|
112
|
+
def kubernetes_groups(self) -> Optional[Sequence[builtins.str]]:
|
|
112
113
|
"""
|
|
113
114
|
A list of groups within Kubernetes to which the IAM principal is mapped to.
|
|
114
115
|
"""
|
|
@@ -116,7 +117,7 @@ class AccessEntry(dict):
|
|
|
116
117
|
|
|
117
118
|
@property
|
|
118
119
|
@pulumi.getter
|
|
119
|
-
def tags(self) -> Optional[Mapping[str, str]]:
|
|
120
|
+
def tags(self) -> Optional[Mapping[str, builtins.str]]:
|
|
120
121
|
"""
|
|
121
122
|
The tags to apply to the AccessEntry.
|
|
122
123
|
"""
|
|
@@ -133,7 +134,7 @@ class AccessEntry(dict):
|
|
|
133
134
|
|
|
134
135
|
@property
|
|
135
136
|
@pulumi.getter
|
|
136
|
-
def username(self) -> Optional[str]:
|
|
137
|
+
def username(self) -> Optional[builtins.str]:
|
|
137
138
|
"""
|
|
138
139
|
Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
|
|
139
140
|
"""
|
|
@@ -169,14 +170,14 @@ class AccessPolicyAssociation(dict):
|
|
|
169
170
|
|
|
170
171
|
def __init__(__self__, *,
|
|
171
172
|
access_scope: 'pulumi_aws.eks.outputs.AccessPolicyAssociationAccessScope',
|
|
172
|
-
policy_arn: str):
|
|
173
|
+
policy_arn: builtins.str):
|
|
173
174
|
"""
|
|
174
175
|
Associates an access policy and its scope to an IAM principal.
|
|
175
176
|
|
|
176
177
|
See for more details:
|
|
177
178
|
https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
|
|
178
179
|
:param 'pulumi_aws.eks.AccessPolicyAssociationAccessScopeArgs' access_scope: The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace.
|
|
179
|
-
:param str policy_arn: The ARN of the access policy to associate with the principal
|
|
180
|
+
:param builtins.str policy_arn: The ARN of the access policy to associate with the principal
|
|
180
181
|
"""
|
|
181
182
|
pulumi.set(__self__, "access_scope", access_scope)
|
|
182
183
|
pulumi.set(__self__, "policy_arn", policy_arn)
|
|
@@ -191,7 +192,7 @@ class AccessPolicyAssociation(dict):
|
|
|
191
192
|
|
|
192
193
|
@property
|
|
193
194
|
@pulumi.getter(name="policyArn")
|
|
194
|
-
def policy_arn(self) -> str:
|
|
195
|
+
def policy_arn(self) -> builtins.str:
|
|
195
196
|
"""
|
|
196
197
|
The ARN of the access policy to associate with the principal
|
|
197
198
|
"""
|
|
@@ -295,51 +296,51 @@ class ClusterNodeGroupOptions(dict):
|
|
|
295
296
|
return super().get(key, default)
|
|
296
297
|
|
|
297
298
|
def __init__(__self__, *,
|
|
298
|
-
ami_id: Optional[str] = None,
|
|
299
|
-
ami_type: Optional[str] = None,
|
|
300
|
-
auto_scaling_group_tags: Optional[Mapping[str, str]] = None,
|
|
301
|
-
bootstrap_extra_args: Optional[str] = None,
|
|
299
|
+
ami_id: Optional[builtins.str] = None,
|
|
300
|
+
ami_type: Optional[builtins.str] = None,
|
|
301
|
+
auto_scaling_group_tags: Optional[Mapping[str, builtins.str]] = None,
|
|
302
|
+
bootstrap_extra_args: Optional[builtins.str] = None,
|
|
302
303
|
bottlerocket_settings: Optional[Mapping[str, Any]] = None,
|
|
303
|
-
cloud_formation_tags: Optional[Mapping[str, str]] = None,
|
|
304
|
+
cloud_formation_tags: Optional[Mapping[str, builtins.str]] = None,
|
|
304
305
|
cluster_ingress_rule: Optional['pulumi_aws.ec2.SecurityGroupRule'] = None,
|
|
305
|
-
cluster_ingress_rule_id: Optional[str] = None,
|
|
306
|
-
desired_capacity: Optional[int] = None,
|
|
307
|
-
enable_detailed_monitoring: Optional[bool] = None,
|
|
308
|
-
encrypt_root_block_device: Optional[bool] = None,
|
|
306
|
+
cluster_ingress_rule_id: Optional[builtins.str] = None,
|
|
307
|
+
desired_capacity: Optional[builtins.int] = None,
|
|
308
|
+
enable_detailed_monitoring: Optional[builtins.bool] = None,
|
|
309
|
+
encrypt_root_block_device: Optional[builtins.bool] = None,
|
|
309
310
|
extra_node_security_groups: Optional[Sequence['pulumi_aws.ec2.SecurityGroup']] = None,
|
|
310
|
-
gpu: Optional[bool] = None,
|
|
311
|
-
ignore_scaling_changes: Optional[bool] = None,
|
|
311
|
+
gpu: Optional[builtins.bool] = None,
|
|
312
|
+
ignore_scaling_changes: Optional[builtins.bool] = None,
|
|
312
313
|
instance_profile: Optional['pulumi_aws.iam.InstanceProfile'] = None,
|
|
313
|
-
instance_profile_name: Optional[str] = None,
|
|
314
|
-
instance_type: Optional[str] = None,
|
|
315
|
-
key_name: Optional[str] = None,
|
|
316
|
-
kubelet_extra_args: Optional[str] = None,
|
|
317
|
-
labels: Optional[Mapping[str, str]] = None,
|
|
314
|
+
instance_profile_name: Optional[builtins.str] = None,
|
|
315
|
+
instance_type: Optional[builtins.str] = None,
|
|
316
|
+
key_name: Optional[builtins.str] = None,
|
|
317
|
+
kubelet_extra_args: Optional[builtins.str] = None,
|
|
318
|
+
labels: Optional[Mapping[str, builtins.str]] = None,
|
|
318
319
|
launch_template_tag_specifications: Optional[Sequence['pulumi_aws.ec2.outputs.LaunchTemplateTagSpecification']] = None,
|
|
319
|
-
max_size: Optional[int] = None,
|
|
320
|
-
min_refresh_percentage: Optional[int] = None,
|
|
321
|
-
min_size: Optional[int] = None,
|
|
322
|
-
node_associate_public_ip_address: Optional[bool] = None,
|
|
323
|
-
node_public_key: Optional[str] = None,
|
|
324
|
-
node_root_volume_delete_on_termination: Optional[bool] = None,
|
|
325
|
-
node_root_volume_encrypted: Optional[bool] = None,
|
|
326
|
-
node_root_volume_iops: Optional[int] = None,
|
|
327
|
-
node_root_volume_size: Optional[int] = None,
|
|
328
|
-
node_root_volume_throughput: Optional[int] = None,
|
|
329
|
-
node_root_volume_type: Optional[str] = None,
|
|
320
|
+
max_size: Optional[builtins.int] = None,
|
|
321
|
+
min_refresh_percentage: Optional[builtins.int] = None,
|
|
322
|
+
min_size: Optional[builtins.int] = None,
|
|
323
|
+
node_associate_public_ip_address: Optional[builtins.bool] = None,
|
|
324
|
+
node_public_key: Optional[builtins.str] = None,
|
|
325
|
+
node_root_volume_delete_on_termination: Optional[builtins.bool] = None,
|
|
326
|
+
node_root_volume_encrypted: Optional[builtins.bool] = None,
|
|
327
|
+
node_root_volume_iops: Optional[builtins.int] = None,
|
|
328
|
+
node_root_volume_size: Optional[builtins.int] = None,
|
|
329
|
+
node_root_volume_throughput: Optional[builtins.int] = None,
|
|
330
|
+
node_root_volume_type: Optional[builtins.str] = None,
|
|
330
331
|
node_security_group: Optional['pulumi_aws.ec2.SecurityGroup'] = None,
|
|
331
|
-
node_security_group_id: Optional[str] = None,
|
|
332
|
-
node_subnet_ids: Optional[Sequence[str]] = None,
|
|
333
|
-
node_user_data: Optional[str] = None,
|
|
334
|
-
node_user_data_override: Optional[str] = None,
|
|
332
|
+
node_security_group_id: Optional[builtins.str] = None,
|
|
333
|
+
node_subnet_ids: Optional[Sequence[builtins.str]] = None,
|
|
334
|
+
node_user_data: Optional[builtins.str] = None,
|
|
335
|
+
node_user_data_override: Optional[builtins.str] = None,
|
|
335
336
|
nodeadm_extra_options: Optional[Sequence['outputs.NodeadmOptions']] = None,
|
|
336
337
|
operating_system: Optional['OperatingSystem'] = None,
|
|
337
|
-
spot_price: Optional[str] = None,
|
|
338
|
+
spot_price: Optional[builtins.str] = None,
|
|
338
339
|
taints: Optional[Mapping[str, 'outputs.Taint']] = None,
|
|
339
|
-
version: Optional[str] = None):
|
|
340
|
+
version: Optional[builtins.str] = None):
|
|
340
341
|
"""
|
|
341
342
|
Describes the configuration options accepted by a cluster to create its own node groups.
|
|
342
|
-
:param str ami_id: The AMI ID to use for the worker nodes.
|
|
343
|
+
:param builtins.str ami_id: The AMI ID to use for the worker nodes.
|
|
343
344
|
|
|
344
345
|
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
|
|
345
346
|
|
|
@@ -347,17 +348,17 @@ class ClusterNodeGroupOptions(dict):
|
|
|
347
348
|
|
|
348
349
|
See for more details:
|
|
349
350
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
|
|
350
|
-
:param str ami_type: The AMI Type to use for the worker nodes.
|
|
351
|
+
:param builtins.str ami_type: The AMI Type to use for the worker nodes.
|
|
351
352
|
|
|
352
353
|
Only applicable when setting an AMI ID that is of type `arm64`.
|
|
353
354
|
|
|
354
355
|
Note: `amiType` and `gpu` are mutually exclusive.
|
|
355
|
-
:param Mapping[str, str] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
356
|
+
:param Mapping[str, builtins.str] auto_scaling_group_tags: The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
356
357
|
|
|
357
358
|
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
|
|
358
359
|
|
|
359
360
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
360
|
-
:param str bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
|
|
361
|
+
:param builtins.str bootstrap_extra_args: Additional args to pass directly to `/etc/eks/bootstrap.sh`. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the `--apiserver-endpoint`, `--b64-cluster-ca` and `--kubelet-extra-args` flags are included automatically based on other configuration parameters.
|
|
361
362
|
:param Mapping[str, Any] bottlerocket_settings: The configuration settings for Bottlerocket OS.
|
|
362
363
|
The settings will get merged with the base settings the provider uses to configure Bottlerocket.
|
|
363
364
|
|
|
@@ -368,24 +369,24 @@ class ClusterNodeGroupOptions(dict):
|
|
|
368
369
|
- settings.kubernetes.cluster-dns-ip
|
|
369
370
|
|
|
370
371
|
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
|
|
371
|
-
:param Mapping[str, str] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
372
|
+
:param Mapping[str, builtins.str] cloud_formation_tags: The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
372
373
|
|
|
373
374
|
Note: Given the inheritance of auto-generated CF tags and `cloudFormationTags`, you should either supply the tag in `autoScalingGroupTags` or `cloudFormationTags`, but not both.
|
|
374
375
|
:param 'pulumi_aws.ec2.SecurityGroupRule' cluster_ingress_rule: The ingress rule that gives node group access.
|
|
375
|
-
:param str cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
|
|
376
|
-
:param int desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
377
|
-
:param bool enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
|
|
376
|
+
:param builtins.str cluster_ingress_rule_id: The ID of the ingress rule that gives node group access.
|
|
377
|
+
:param builtins.int desired_capacity: The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
378
|
+
:param builtins.bool enable_detailed_monitoring: Enables/disables detailed monitoring of the EC2 instances.
|
|
378
379
|
|
|
379
380
|
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals.
|
|
380
381
|
When enabled, you can also get aggregated data across groups of similar instances.
|
|
381
382
|
|
|
382
383
|
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage.
|
|
383
384
|
For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
|
|
384
|
-
:param bool encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
|
|
385
|
+
:param builtins.bool encrypt_root_block_device: Encrypt the root block device of the nodes in the node group.
|
|
385
386
|
:param Sequence['pulumi_aws.ec2.SecurityGroup'] extra_node_security_groups: Extra security groups to attach on all nodes in this worker node group.
|
|
386
387
|
|
|
387
388
|
This additional set of security groups captures any user application rules that will be needed for the nodes.
|
|
388
|
-
:param bool gpu: Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
|
|
389
|
+
:param 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.
|
|
389
390
|
|
|
390
391
|
Defaults to false.
|
|
391
392
|
|
|
@@ -394,29 +395,29 @@ class ClusterNodeGroupOptions(dict):
|
|
|
394
395
|
See for more details:
|
|
395
396
|
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
|
|
396
397
|
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
|
|
397
|
-
:param bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
|
|
398
|
+
:param builtins.bool ignore_scaling_changes: Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
|
|
398
399
|
|
|
399
400
|
See [EKS best practices](https://aws.github.io/aws-eks-best-practices/cluster-autoscaling/) for more details.
|
|
400
401
|
:param 'pulumi_aws.iam.InstanceProfile' instance_profile: The IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
401
|
-
:param str instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
402
|
-
:param str instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
403
|
-
:param str key_name: Name of the key pair to use for SSH access to worker nodes.
|
|
404
|
-
:param str kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. 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`.
|
|
405
|
-
:param Mapping[str, 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.
|
|
402
|
+
:param builtins.str instance_profile_name: The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
403
|
+
:param builtins.str instance_type: The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
404
|
+
:param builtins.str key_name: Name of the key pair to use for SSH access to worker nodes.
|
|
405
|
+
:param builtins.str kubelet_extra_args: Extra args to pass to the Kubelet. Corresponds to the options passed in the `--kubeletExtraArgs` flag to `/etc/eks/bootstrap.sh`. For example, '--port=10251 --address=0.0.0.0'. 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`.
|
|
406
|
+
:param Mapping[str, 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.
|
|
406
407
|
:param Sequence['pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs'] launch_template_tag_specifications: The tag specifications to apply to the launch template.
|
|
407
|
-
:param int max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
408
|
-
:param int min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
|
|
409
|
-
:param int min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
410
|
-
:param 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.
|
|
411
|
-
:param str node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
|
|
408
|
+
:param builtins.int max_size: The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
409
|
+
:param builtins.int min_refresh_percentage: The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
|
|
410
|
+
:param builtins.int min_size: The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
411
|
+
:param 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.
|
|
412
|
+
:param builtins.str node_public_key: Public key material for SSH access to worker nodes. See allowed formats at:
|
|
412
413
|
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
|
|
413
414
|
If not provided, no SSH access is enabled on VMs.
|
|
414
|
-
:param bool node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
415
|
-
:param bool node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
416
|
-
:param int node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
417
|
-
:param int node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
418
|
-
:param 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'.
|
|
419
|
-
:param 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'.
|
|
415
|
+
:param builtins.bool node_root_volume_delete_on_termination: Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
416
|
+
:param builtins.bool node_root_volume_encrypted: Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
417
|
+
:param builtins.int node_root_volume_iops: The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
418
|
+
:param builtins.int node_root_volume_size: The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
419
|
+
:param 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'.
|
|
420
|
+
:param 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'.
|
|
420
421
|
:param 'pulumi_aws.ec2.SecurityGroup' node_security_group: The security group for the worker node group to communicate with the cluster.
|
|
421
422
|
|
|
422
423
|
This security group requires specific inbound and outbound rules.
|
|
@@ -425,7 +426,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
425
426
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
426
427
|
|
|
427
428
|
Note: The `nodeSecurityGroup` option and the cluster option`nodeSecurityGroupTags` are mutually exclusive.
|
|
428
|
-
:param str node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
|
|
429
|
+
:param builtins.str node_security_group_id: The ID of the security group for the worker node group to communicate with the cluster.
|
|
429
430
|
|
|
430
431
|
This security group requires specific inbound and outbound rules.
|
|
431
432
|
|
|
@@ -433,11 +434,11 @@ class ClusterNodeGroupOptions(dict):
|
|
|
433
434
|
https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
|
|
434
435
|
|
|
435
436
|
Note: The `nodeSecurityGroupId` option and the cluster option `nodeSecurityGroupTags` are mutually exclusive.
|
|
436
|
-
:param Sequence[str] node_subnet_ids: The set of subnets to override and use for the worker node group.
|
|
437
|
+
:param Sequence[builtins.str] node_subnet_ids: The set of subnets to override and use for the worker node group.
|
|
437
438
|
|
|
438
439
|
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.
|
|
439
|
-
:param 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 `#!`).
|
|
440
|
-
:param 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).
|
|
440
|
+
:param 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 `#!`).
|
|
441
|
+
:param 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).
|
|
441
442
|
|
|
442
443
|
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
|
|
443
444
|
:param Sequence['NodeadmOptions'] 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.
|
|
@@ -455,9 +456,9 @@ class ClusterNodeGroupOptions(dict):
|
|
|
455
456
|
Valid values are `RECOMMENDED`, `AL2`, `AL2023` and `Bottlerocket`.
|
|
456
457
|
|
|
457
458
|
Defaults to the current recommended OS.
|
|
458
|
-
:param str spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
459
|
+
:param builtins.str spot_price: Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
459
460
|
:param Mapping[str, 'Taint'] taints: Custom k8s node taints to be attached to each worker node. Adds the given taints to the `--register-with-taints` kubelet argument
|
|
460
|
-
:param str version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
461
|
+
:param builtins.str version: Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
461
462
|
"""
|
|
462
463
|
if ami_id is not None:
|
|
463
464
|
pulumi.set(__self__, "ami_id", ami_id)
|
|
@@ -546,7 +547,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
546
547
|
|
|
547
548
|
@property
|
|
548
549
|
@pulumi.getter(name="amiId")
|
|
549
|
-
def ami_id(self) -> Optional[str]:
|
|
550
|
+
def ami_id(self) -> Optional[builtins.str]:
|
|
550
551
|
"""
|
|
551
552
|
The AMI ID to use for the worker nodes.
|
|
552
553
|
|
|
@@ -561,7 +562,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
561
562
|
|
|
562
563
|
@property
|
|
563
564
|
@pulumi.getter(name="amiType")
|
|
564
|
-
def ami_type(self) -> Optional[str]:
|
|
565
|
+
def ami_type(self) -> Optional[builtins.str]:
|
|
565
566
|
"""
|
|
566
567
|
The AMI Type to use for the worker nodes.
|
|
567
568
|
|
|
@@ -573,7 +574,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
573
574
|
|
|
574
575
|
@property
|
|
575
576
|
@pulumi.getter(name="autoScalingGroupTags")
|
|
576
|
-
def auto_scaling_group_tags(self) -> Optional[Mapping[str, str]]:
|
|
577
|
+
def auto_scaling_group_tags(self) -> Optional[Mapping[str, builtins.str]]:
|
|
577
578
|
"""
|
|
578
579
|
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
|
|
579
580
|
|
|
@@ -585,7 +586,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
585
586
|
|
|
586
587
|
@property
|
|
587
588
|
@pulumi.getter(name="bootstrapExtraArgs")
|
|
588
|
-
def bootstrap_extra_args(self) -> Optional[str]:
|
|
589
|
+
def bootstrap_extra_args(self) -> Optional[builtins.str]:
|
|
589
590
|
"""
|
|
590
591
|
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.
|
|
591
592
|
"""
|
|
@@ -610,7 +611,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
610
611
|
|
|
611
612
|
@property
|
|
612
613
|
@pulumi.getter(name="cloudFormationTags")
|
|
613
|
-
def cloud_formation_tags(self) -> Optional[Mapping[str, str]]:
|
|
614
|
+
def cloud_formation_tags(self) -> Optional[Mapping[str, builtins.str]]:
|
|
614
615
|
"""
|
|
615
616
|
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
|
|
616
617
|
|
|
@@ -628,7 +629,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
628
629
|
|
|
629
630
|
@property
|
|
630
631
|
@pulumi.getter(name="clusterIngressRuleId")
|
|
631
|
-
def cluster_ingress_rule_id(self) -> Optional[str]:
|
|
632
|
+
def cluster_ingress_rule_id(self) -> Optional[builtins.str]:
|
|
632
633
|
"""
|
|
633
634
|
The ID of the ingress rule that gives node group access.
|
|
634
635
|
"""
|
|
@@ -636,7 +637,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
636
637
|
|
|
637
638
|
@property
|
|
638
639
|
@pulumi.getter(name="desiredCapacity")
|
|
639
|
-
def desired_capacity(self) -> Optional[int]:
|
|
640
|
+
def desired_capacity(self) -> Optional[builtins.int]:
|
|
640
641
|
"""
|
|
641
642
|
The number of worker nodes that should be running in the cluster. Defaults to 2.
|
|
642
643
|
"""
|
|
@@ -644,7 +645,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
644
645
|
|
|
645
646
|
@property
|
|
646
647
|
@pulumi.getter(name="enableDetailedMonitoring")
|
|
647
|
-
def enable_detailed_monitoring(self) -> Optional[bool]:
|
|
648
|
+
def enable_detailed_monitoring(self) -> Optional[builtins.bool]:
|
|
648
649
|
"""
|
|
649
650
|
Enables/disables detailed monitoring of the EC2 instances.
|
|
650
651
|
|
|
@@ -658,7 +659,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
658
659
|
|
|
659
660
|
@property
|
|
660
661
|
@pulumi.getter(name="encryptRootBlockDevice")
|
|
661
|
-
def encrypt_root_block_device(self) -> Optional[bool]:
|
|
662
|
+
def encrypt_root_block_device(self) -> Optional[builtins.bool]:
|
|
662
663
|
"""
|
|
663
664
|
Encrypt the root block device of the nodes in the node group.
|
|
664
665
|
"""
|
|
@@ -676,7 +677,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
676
677
|
|
|
677
678
|
@property
|
|
678
679
|
@pulumi.getter
|
|
679
|
-
def gpu(self) -> Optional[bool]:
|
|
680
|
+
def gpu(self) -> Optional[builtins.bool]:
|
|
680
681
|
"""
|
|
681
682
|
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
|
|
682
683
|
|
|
@@ -692,7 +693,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
692
693
|
|
|
693
694
|
@property
|
|
694
695
|
@pulumi.getter(name="ignoreScalingChanges")
|
|
695
|
-
def ignore_scaling_changes(self) -> Optional[bool]:
|
|
696
|
+
def ignore_scaling_changes(self) -> Optional[builtins.bool]:
|
|
696
697
|
"""
|
|
697
698
|
Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
|
|
698
699
|
|
|
@@ -710,7 +711,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
710
711
|
|
|
711
712
|
@property
|
|
712
713
|
@pulumi.getter(name="instanceProfileName")
|
|
713
|
-
def instance_profile_name(self) -> Optional[str]:
|
|
714
|
+
def instance_profile_name(self) -> Optional[builtins.str]:
|
|
714
715
|
"""
|
|
715
716
|
The name of the IAM InstanceProfile to use on the NodeGroup. Properties instanceProfile and instanceProfileName are mutually exclusive.
|
|
716
717
|
"""
|
|
@@ -718,7 +719,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
718
719
|
|
|
719
720
|
@property
|
|
720
721
|
@pulumi.getter(name="instanceType")
|
|
721
|
-
def instance_type(self) -> Optional[str]:
|
|
722
|
+
def instance_type(self) -> Optional[builtins.str]:
|
|
722
723
|
"""
|
|
723
724
|
The instance type to use for the cluster's nodes. Defaults to "t3.medium".
|
|
724
725
|
"""
|
|
@@ -726,7 +727,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
726
727
|
|
|
727
728
|
@property
|
|
728
729
|
@pulumi.getter(name="keyName")
|
|
729
|
-
def key_name(self) -> Optional[str]:
|
|
730
|
+
def key_name(self) -> Optional[builtins.str]:
|
|
730
731
|
"""
|
|
731
732
|
Name of the key pair to use for SSH access to worker nodes.
|
|
732
733
|
"""
|
|
@@ -734,7 +735,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
734
735
|
|
|
735
736
|
@property
|
|
736
737
|
@pulumi.getter(name="kubeletExtraArgs")
|
|
737
|
-
def kubelet_extra_args(self) -> Optional[str]:
|
|
738
|
+
def kubelet_extra_args(self) -> Optional[builtins.str]:
|
|
738
739
|
"""
|
|
739
740
|
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`.
|
|
740
741
|
"""
|
|
@@ -742,7 +743,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
742
743
|
|
|
743
744
|
@property
|
|
744
745
|
@pulumi.getter
|
|
745
|
-
def labels(self) -> Optional[Mapping[str, str]]:
|
|
746
|
+
def labels(self) -> Optional[Mapping[str, builtins.str]]:
|
|
746
747
|
"""
|
|
747
748
|
Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the `--node-labels` kubelet argument.
|
|
748
749
|
"""
|
|
@@ -758,7 +759,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
758
759
|
|
|
759
760
|
@property
|
|
760
761
|
@pulumi.getter(name="maxSize")
|
|
761
|
-
def max_size(self) -> Optional[int]:
|
|
762
|
+
def max_size(self) -> Optional[builtins.int]:
|
|
762
763
|
"""
|
|
763
764
|
The maximum number of worker nodes running in the cluster. Defaults to 2.
|
|
764
765
|
"""
|
|
@@ -766,7 +767,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
766
767
|
|
|
767
768
|
@property
|
|
768
769
|
@pulumi.getter(name="minRefreshPercentage")
|
|
769
|
-
def min_refresh_percentage(self) -> Optional[int]:
|
|
770
|
+
def min_refresh_percentage(self) -> Optional[builtins.int]:
|
|
770
771
|
"""
|
|
771
772
|
The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
|
|
772
773
|
"""
|
|
@@ -774,7 +775,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
774
775
|
|
|
775
776
|
@property
|
|
776
777
|
@pulumi.getter(name="minSize")
|
|
777
|
-
def min_size(self) -> Optional[int]:
|
|
778
|
+
def min_size(self) -> Optional[builtins.int]:
|
|
778
779
|
"""
|
|
779
780
|
The minimum number of worker nodes running in the cluster. Defaults to 1.
|
|
780
781
|
"""
|
|
@@ -782,7 +783,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
782
783
|
|
|
783
784
|
@property
|
|
784
785
|
@pulumi.getter(name="nodeAssociatePublicIpAddress")
|
|
785
|
-
def node_associate_public_ip_address(self) -> Optional[bool]:
|
|
786
|
+
def node_associate_public_ip_address(self) -> Optional[builtins.bool]:
|
|
786
787
|
"""
|
|
787
788
|
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.
|
|
788
789
|
"""
|
|
@@ -790,7 +791,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
790
791
|
|
|
791
792
|
@property
|
|
792
793
|
@pulumi.getter(name="nodePublicKey")
|
|
793
|
-
def node_public_key(self) -> Optional[str]:
|
|
794
|
+
def node_public_key(self) -> Optional[builtins.str]:
|
|
794
795
|
"""
|
|
795
796
|
Public key material for SSH access to worker nodes. See allowed formats at:
|
|
796
797
|
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
|
|
@@ -800,7 +801,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
800
801
|
|
|
801
802
|
@property
|
|
802
803
|
@pulumi.getter(name="nodeRootVolumeDeleteOnTermination")
|
|
803
|
-
def node_root_volume_delete_on_termination(self) -> Optional[bool]:
|
|
804
|
+
def node_root_volume_delete_on_termination(self) -> Optional[builtins.bool]:
|
|
804
805
|
"""
|
|
805
806
|
Whether the root block device should be deleted on termination of the instance. Defaults to true.
|
|
806
807
|
"""
|
|
@@ -808,7 +809,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
808
809
|
|
|
809
810
|
@property
|
|
810
811
|
@pulumi.getter(name="nodeRootVolumeEncrypted")
|
|
811
|
-
def node_root_volume_encrypted(self) -> Optional[bool]:
|
|
812
|
+
def node_root_volume_encrypted(self) -> Optional[builtins.bool]:
|
|
812
813
|
"""
|
|
813
814
|
Whether to encrypt a cluster node's root volume. Defaults to false.
|
|
814
815
|
"""
|
|
@@ -816,7 +817,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
816
817
|
|
|
817
818
|
@property
|
|
818
819
|
@pulumi.getter(name="nodeRootVolumeIops")
|
|
819
|
-
def node_root_volume_iops(self) -> Optional[int]:
|
|
820
|
+
def node_root_volume_iops(self) -> Optional[builtins.int]:
|
|
820
821
|
"""
|
|
821
822
|
The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
|
|
822
823
|
"""
|
|
@@ -824,7 +825,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
824
825
|
|
|
825
826
|
@property
|
|
826
827
|
@pulumi.getter(name="nodeRootVolumeSize")
|
|
827
|
-
def node_root_volume_size(self) -> Optional[int]:
|
|
828
|
+
def node_root_volume_size(self) -> Optional[builtins.int]:
|
|
828
829
|
"""
|
|
829
830
|
The size in GiB of a cluster node's root volume. Defaults to 20.
|
|
830
831
|
"""
|
|
@@ -832,7 +833,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
832
833
|
|
|
833
834
|
@property
|
|
834
835
|
@pulumi.getter(name="nodeRootVolumeThroughput")
|
|
835
|
-
def node_root_volume_throughput(self) -> Optional[int]:
|
|
836
|
+
def node_root_volume_throughput(self) -> Optional[builtins.int]:
|
|
836
837
|
"""
|
|
837
838
|
Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
|
|
838
839
|
"""
|
|
@@ -840,7 +841,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
840
841
|
|
|
841
842
|
@property
|
|
842
843
|
@pulumi.getter(name="nodeRootVolumeType")
|
|
843
|
-
def node_root_volume_type(self) -> Optional[str]:
|
|
844
|
+
def node_root_volume_type(self) -> Optional[builtins.str]:
|
|
844
845
|
"""
|
|
845
846
|
Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
|
|
846
847
|
"""
|
|
@@ -863,7 +864,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
863
864
|
|
|
864
865
|
@property
|
|
865
866
|
@pulumi.getter(name="nodeSecurityGroupId")
|
|
866
|
-
def node_security_group_id(self) -> Optional[str]:
|
|
867
|
+
def node_security_group_id(self) -> Optional[builtins.str]:
|
|
867
868
|
"""
|
|
868
869
|
The ID of the security group for the worker node group to communicate with the cluster.
|
|
869
870
|
|
|
@@ -878,7 +879,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
878
879
|
|
|
879
880
|
@property
|
|
880
881
|
@pulumi.getter(name="nodeSubnetIds")
|
|
881
|
-
def node_subnet_ids(self) -> Optional[Sequence[str]]:
|
|
882
|
+
def node_subnet_ids(self) -> Optional[Sequence[builtins.str]]:
|
|
882
883
|
"""
|
|
883
884
|
The set of subnets to override and use for the worker node group.
|
|
884
885
|
|
|
@@ -888,7 +889,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
888
889
|
|
|
889
890
|
@property
|
|
890
891
|
@pulumi.getter(name="nodeUserData")
|
|
891
|
-
def node_user_data(self) -> Optional[str]:
|
|
892
|
+
def node_user_data(self) -> Optional[builtins.str]:
|
|
892
893
|
"""
|
|
893
894
|
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 `#!`).
|
|
894
895
|
"""
|
|
@@ -896,7 +897,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
896
897
|
|
|
897
898
|
@property
|
|
898
899
|
@pulumi.getter(name="nodeUserDataOverride")
|
|
899
|
-
def node_user_data_override(self) -> Optional[str]:
|
|
900
|
+
def node_user_data_override(self) -> Optional[builtins.str]:
|
|
900
901
|
"""
|
|
901
902
|
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).
|
|
902
903
|
|
|
@@ -935,7 +936,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
935
936
|
|
|
936
937
|
@property
|
|
937
938
|
@pulumi.getter(name="spotPrice")
|
|
938
|
-
def spot_price(self) -> Optional[str]:
|
|
939
|
+
def spot_price(self) -> Optional[builtins.str]:
|
|
939
940
|
"""
|
|
940
941
|
Bidding price for spot instance. If set, only spot instances will be added as worker node.
|
|
941
942
|
"""
|
|
@@ -951,7 +952,7 @@ class ClusterNodeGroupOptions(dict):
|
|
|
951
952
|
|
|
952
953
|
@property
|
|
953
954
|
@pulumi.getter
|
|
954
|
-
def version(self) -> Optional[str]:
|
|
955
|
+
def version(self) -> Optional[builtins.str]:
|
|
955
956
|
"""
|
|
956
957
|
Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
|
|
957
958
|
"""
|
|
@@ -1015,12 +1016,12 @@ class CoreData(dict):
|
|
|
1015
1016
|
def __init__(__self__, *,
|
|
1016
1017
|
cluster: 'pulumi_aws.eks.Cluster',
|
|
1017
1018
|
cluster_iam_role: 'pulumi_aws.iam.Role',
|
|
1018
|
-
endpoint: str,
|
|
1019
|
+
endpoint: builtins.str,
|
|
1019
1020
|
instance_roles: Sequence['pulumi_aws.iam.Role'],
|
|
1020
1021
|
node_group_options: 'outputs.ClusterNodeGroupOptions',
|
|
1021
1022
|
provider: 'pulumi_kubernetes.Provider',
|
|
1022
|
-
subnet_ids: Sequence[str],
|
|
1023
|
-
vpc_id: str,
|
|
1023
|
+
subnet_ids: Sequence[builtins.str],
|
|
1024
|
+
vpc_id: builtins.str,
|
|
1024
1025
|
access_entries: Optional[Sequence['outputs.AccessEntry']] = None,
|
|
1025
1026
|
aws_provider: Optional['pulumi_aws.Provider'] = None,
|
|
1026
1027
|
cluster_security_group: Optional['pulumi_aws.ec2.SecurityGroup'] = None,
|
|
@@ -1028,29 +1029,29 @@ class CoreData(dict):
|
|
|
1028
1029
|
encryption_config: Optional['pulumi_aws.eks.outputs.ClusterEncryptionConfig'] = None,
|
|
1029
1030
|
fargate_profile: Optional['pulumi_aws.eks.FargateProfile'] = None,
|
|
1030
1031
|
kubeconfig: Optional[Any] = None,
|
|
1031
|
-
node_security_group_tags: Optional[Mapping[str, str]] = None,
|
|
1032
|
+
node_security_group_tags: Optional[Mapping[str, builtins.str]] = None,
|
|
1032
1033
|
oidc_provider: Optional['pulumi_aws.iam.OpenIdConnectProvider'] = None,
|
|
1033
|
-
private_subnet_ids: Optional[Sequence[str]] = None,
|
|
1034
|
-
public_subnet_ids: Optional[Sequence[str]] = None,
|
|
1034
|
+
private_subnet_ids: Optional[Sequence[builtins.str]] = None,
|
|
1035
|
+
public_subnet_ids: Optional[Sequence[builtins.str]] = None,
|
|
1035
1036
|
storage_classes: Optional[Mapping[str, 'pulumi_kubernetes.storage.v1.StorageClass']] = None,
|
|
1036
|
-
tags: Optional[Mapping[str, str]] = None,
|
|
1037
|
+
tags: Optional[Mapping[str, builtins.str]] = None,
|
|
1037
1038
|
vpc_cni: Optional['VpcCniAddon'] = None):
|
|
1038
1039
|
"""
|
|
1039
1040
|
Defines the core set of data associated with an EKS cluster, including the network in which it runs.
|
|
1040
1041
|
:param 'pulumi_aws.iam.Role' cluster_iam_role: The IAM Role attached to the EKS Cluster
|
|
1041
|
-
:param str endpoint: The EKS cluster's Kubernetes API server endpoint.
|
|
1042
|
+
:param builtins.str endpoint: The EKS cluster's Kubernetes API server endpoint.
|
|
1042
1043
|
:param Sequence['pulumi_aws.iam.Role'] instance_roles: The IAM instance roles for the cluster's nodes.
|
|
1043
1044
|
:param 'ClusterNodeGroupOptions' node_group_options: The cluster's node group options.
|
|
1044
|
-
:param Sequence[str] subnet_ids: List of subnet IDs for the EKS cluster.
|
|
1045
|
-
:param str vpc_id: ID of the cluster's VPC.
|
|
1045
|
+
:param Sequence[builtins.str] subnet_ids: List of subnet IDs for the EKS cluster.
|
|
1046
|
+
:param builtins.str vpc_id: ID of the cluster's VPC.
|
|
1046
1047
|
:param Sequence['AccessEntry'] access_entries: The access entries added to the cluster.
|
|
1047
1048
|
:param 'pulumi_aws.eks.FargateProfile' fargate_profile: The Fargate profile used to manage which pods run on Fargate.
|
|
1048
1049
|
:param Any kubeconfig: The kubeconfig file for the cluster.
|
|
1049
|
-
:param Mapping[str, str] node_security_group_tags: Tags attached to the security groups associated with the cluster's worker nodes.
|
|
1050
|
-
:param Sequence[str] private_subnet_ids: List of subnet IDs for the private subnets.
|
|
1051
|
-
:param Sequence[str] public_subnet_ids: List of subnet IDs for the public subnets.
|
|
1050
|
+
:param Mapping[str, builtins.str] node_security_group_tags: Tags attached to the security groups associated with the cluster's worker nodes.
|
|
1051
|
+
:param Sequence[builtins.str] private_subnet_ids: List of subnet IDs for the private subnets.
|
|
1052
|
+
:param Sequence[builtins.str] public_subnet_ids: List of subnet IDs for the public subnets.
|
|
1052
1053
|
:param Mapping[str, 'pulumi_kubernetes.storage.v1.StorageClass'] storage_classes: The storage class used for persistent storage by the cluster.
|
|
1053
|
-
:param Mapping[str, str] tags: A map of tags assigned to the EKS cluster.
|
|
1054
|
+
:param Mapping[str, builtins.str] tags: A map of tags assigned to the EKS cluster.
|
|
1054
1055
|
:param 'VpcCniAddon' vpc_cni: The VPC CNI for the cluster.
|
|
1055
1056
|
"""
|
|
1056
1057
|
pulumi.set(__self__, "cluster", cluster)
|
|
@@ -1105,7 +1106,7 @@ class CoreData(dict):
|
|
|
1105
1106
|
|
|
1106
1107
|
@property
|
|
1107
1108
|
@pulumi.getter
|
|
1108
|
-
def endpoint(self) -> str:
|
|
1109
|
+
def endpoint(self) -> builtins.str:
|
|
1109
1110
|
"""
|
|
1110
1111
|
The EKS cluster's Kubernetes API server endpoint.
|
|
1111
1112
|
"""
|
|
@@ -1134,7 +1135,7 @@ class CoreData(dict):
|
|
|
1134
1135
|
|
|
1135
1136
|
@property
|
|
1136
1137
|
@pulumi.getter(name="subnetIds")
|
|
1137
|
-
def subnet_ids(self) -> Sequence[str]:
|
|
1138
|
+
def subnet_ids(self) -> Sequence[builtins.str]:
|
|
1138
1139
|
"""
|
|
1139
1140
|
List of subnet IDs for the EKS cluster.
|
|
1140
1141
|
"""
|
|
@@ -1142,7 +1143,7 @@ class CoreData(dict):
|
|
|
1142
1143
|
|
|
1143
1144
|
@property
|
|
1144
1145
|
@pulumi.getter(name="vpcId")
|
|
1145
|
-
def vpc_id(self) -> str:
|
|
1146
|
+
def vpc_id(self) -> builtins.str:
|
|
1146
1147
|
"""
|
|
1147
1148
|
ID of the cluster's VPC.
|
|
1148
1149
|
"""
|
|
@@ -1194,7 +1195,7 @@ class CoreData(dict):
|
|
|
1194
1195
|
|
|
1195
1196
|
@property
|
|
1196
1197
|
@pulumi.getter(name="nodeSecurityGroupTags")
|
|
1197
|
-
def node_security_group_tags(self) -> Optional[Mapping[str, str]]:
|
|
1198
|
+
def node_security_group_tags(self) -> Optional[Mapping[str, builtins.str]]:
|
|
1198
1199
|
"""
|
|
1199
1200
|
Tags attached to the security groups associated with the cluster's worker nodes.
|
|
1200
1201
|
"""
|
|
@@ -1207,7 +1208,7 @@ class CoreData(dict):
|
|
|
1207
1208
|
|
|
1208
1209
|
@property
|
|
1209
1210
|
@pulumi.getter(name="privateSubnetIds")
|
|
1210
|
-
def private_subnet_ids(self) -> Optional[Sequence[str]]:
|
|
1211
|
+
def private_subnet_ids(self) -> Optional[Sequence[builtins.str]]:
|
|
1211
1212
|
"""
|
|
1212
1213
|
List of subnet IDs for the private subnets.
|
|
1213
1214
|
"""
|
|
@@ -1215,7 +1216,7 @@ class CoreData(dict):
|
|
|
1215
1216
|
|
|
1216
1217
|
@property
|
|
1217
1218
|
@pulumi.getter(name="publicSubnetIds")
|
|
1218
|
-
def public_subnet_ids(self) -> Optional[Sequence[str]]:
|
|
1219
|
+
def public_subnet_ids(self) -> Optional[Sequence[builtins.str]]:
|
|
1219
1220
|
"""
|
|
1220
1221
|
List of subnet IDs for the public subnets.
|
|
1221
1222
|
"""
|
|
@@ -1231,7 +1232,7 @@ class CoreData(dict):
|
|
|
1231
1232
|
|
|
1232
1233
|
@property
|
|
1233
1234
|
@pulumi.getter
|
|
1234
|
-
def tags(self) -> Optional[Mapping[str, str]]:
|
|
1235
|
+
def tags(self) -> Optional[Mapping[str, builtins.str]]:
|
|
1235
1236
|
"""
|
|
1236
1237
|
A map of tags assigned to the EKS cluster.
|
|
1237
1238
|
"""
|
|
@@ -1336,21 +1337,21 @@ class NodeadmOptions(dict):
|
|
|
1336
1337
|
return super().get(key, default)
|
|
1337
1338
|
|
|
1338
1339
|
def __init__(__self__, *,
|
|
1339
|
-
content: str,
|
|
1340
|
-
content_type: str):
|
|
1340
|
+
content: builtins.str,
|
|
1341
|
+
content_type: builtins.str):
|
|
1341
1342
|
"""
|
|
1342
1343
|
MIME document parts for nodeadm configuration. This can be shell scripts, nodeadm configuration or any other user data compatible script.
|
|
1343
1344
|
|
|
1344
1345
|
See for more details: https://awslabs.github.io/amazon-eks-ami/nodeadm/.
|
|
1345
|
-
:param str content: The actual content of the MIME document part, such as shell script code or nodeadm configuration. Must be compatible with the specified contentType.
|
|
1346
|
-
:param str content_type: The MIME type of the content. Examples are `text/x-shellscript; charset="us-ascii"` for shell scripts, and `application/node.eks.aws` nodeadm configuration.
|
|
1346
|
+
:param builtins.str content: The actual content of the MIME document part, such as shell script code or nodeadm configuration. Must be compatible with the specified contentType.
|
|
1347
|
+
:param builtins.str content_type: The MIME type of the content. Examples are `text/x-shellscript; charset="us-ascii"` for shell scripts, and `application/node.eks.aws` nodeadm configuration.
|
|
1347
1348
|
"""
|
|
1348
1349
|
pulumi.set(__self__, "content", content)
|
|
1349
1350
|
pulumi.set(__self__, "content_type", content_type)
|
|
1350
1351
|
|
|
1351
1352
|
@property
|
|
1352
1353
|
@pulumi.getter
|
|
1353
|
-
def content(self) -> str:
|
|
1354
|
+
def content(self) -> builtins.str:
|
|
1354
1355
|
"""
|
|
1355
1356
|
The actual content of the MIME document part, such as shell script code or nodeadm configuration. Must be compatible with the specified contentType.
|
|
1356
1357
|
"""
|
|
@@ -1358,7 +1359,7 @@ class NodeadmOptions(dict):
|
|
|
1358
1359
|
|
|
1359
1360
|
@property
|
|
1360
1361
|
@pulumi.getter(name="contentType")
|
|
1361
|
-
def content_type(self) -> str:
|
|
1362
|
+
def content_type(self) -> builtins.str:
|
|
1362
1363
|
"""
|
|
1363
1364
|
The MIME type of the content. Examples are `text/x-shellscript; charset="us-ascii"` for shell scripts, and `application/node.eks.aws` nodeadm configuration.
|
|
1364
1365
|
"""
|
|
@@ -1371,19 +1372,19 @@ class Taint(dict):
|
|
|
1371
1372
|
Represents a Kubernetes `taint` to apply to all Nodes in a NodeGroup. See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/.
|
|
1372
1373
|
"""
|
|
1373
1374
|
def __init__(__self__, *,
|
|
1374
|
-
effect: str,
|
|
1375
|
-
value: str):
|
|
1375
|
+
effect: builtins.str,
|
|
1376
|
+
value: builtins.str):
|
|
1376
1377
|
"""
|
|
1377
1378
|
Represents a Kubernetes `taint` to apply to all Nodes in a NodeGroup. See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/.
|
|
1378
|
-
:param str effect: The effect of the taint.
|
|
1379
|
-
:param str value: The value of the taint.
|
|
1379
|
+
:param builtins.str effect: The effect of the taint.
|
|
1380
|
+
:param builtins.str value: The value of the taint.
|
|
1380
1381
|
"""
|
|
1381
1382
|
pulumi.set(__self__, "effect", effect)
|
|
1382
1383
|
pulumi.set(__self__, "value", value)
|
|
1383
1384
|
|
|
1384
1385
|
@property
|
|
1385
1386
|
@pulumi.getter
|
|
1386
|
-
def effect(self) -> str:
|
|
1387
|
+
def effect(self) -> builtins.str:
|
|
1387
1388
|
"""
|
|
1388
1389
|
The effect of the taint.
|
|
1389
1390
|
"""
|
|
@@ -1391,7 +1392,7 @@ class Taint(dict):
|
|
|
1391
1392
|
|
|
1392
1393
|
@property
|
|
1393
1394
|
@pulumi.getter
|
|
1394
|
-
def value(self) -> str:
|
|
1395
|
+
def value(self) -> builtins.str:
|
|
1395
1396
|
"""
|
|
1396
1397
|
The value of the taint.
|
|
1397
1398
|
"""
|