aws-cdk-lib 2.186.0__py3-none-any.whl → 2.188.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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (85) hide show
  1. aws_cdk/__init__.py +303 -119
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.188.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +136 -0
  5. aws_cdk/aws_apigateway/__init__.py +69 -17
  6. aws_cdk/aws_apigatewayv2/__init__.py +88 -0
  7. aws_cdk/aws_appconfig/__init__.py +30 -14
  8. aws_cdk/aws_appsync/__init__.py +14 -5
  9. aws_cdk/aws_arczonalshift/__init__.py +4 -4
  10. aws_cdk/aws_bedrock/__init__.py +637 -32
  11. aws_cdk/aws_budgets/__init__.py +8 -8
  12. aws_cdk/aws_cassandra/__init__.py +4 -2
  13. aws_cdk/aws_ce/__init__.py +2 -2
  14. aws_cdk/aws_cloudformation/__init__.py +3 -3
  15. aws_cdk/aws_cloudfront/__init__.py +11 -0
  16. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  17. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  18. aws_cdk/aws_codebuild/__init__.py +32 -1
  19. aws_cdk/aws_codepipeline/__init__.py +47 -32
  20. aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
  21. aws_cdk/aws_codestarnotifications/__init__.py +16 -16
  22. aws_cdk/aws_cognito/__init__.py +8 -2
  23. aws_cdk/aws_config/__init__.py +2 -5
  24. aws_cdk/aws_datazone/__init__.py +287 -226
  25. aws_cdk/aws_detective/__init__.py +3 -3
  26. aws_cdk/aws_dynamodb/__init__.py +37 -0
  27. aws_cdk/aws_ec2/__init__.py +2448 -442
  28. aws_cdk/aws_ecr/__init__.py +143 -0
  29. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  30. aws_cdk/aws_ecs/__init__.py +51 -0
  31. aws_cdk/aws_eks/__init__.py +222 -6
  32. aws_cdk/aws_events/__init__.py +8 -11
  33. aws_cdk/aws_events_targets/__init__.py +136 -0
  34. aws_cdk/aws_forecast/__init__.py +1 -1
  35. aws_cdk/aws_fsx/__init__.py +2 -2
  36. aws_cdk/aws_gamelift/__init__.py +11 -11
  37. aws_cdk/aws_iam/__init__.py +6 -4
  38. aws_cdk/aws_identitystore/__init__.py +6 -4
  39. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  40. aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
  41. aws_cdk/aws_kms/__init__.py +10 -11
  42. aws_cdk/aws_lakeformation/__init__.py +3 -3
  43. aws_cdk/aws_lambda/__init__.py +105 -4
  44. aws_cdk/aws_lambda_event_sources/__init__.py +87 -25
  45. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  46. aws_cdk/aws_lex/__init__.py +985 -5
  47. aws_cdk/aws_logs/__init__.py +18 -0
  48. aws_cdk/aws_logs_destinations/__init__.py +146 -0
  49. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  50. aws_cdk/aws_mwaa/__init__.py +9 -9
  51. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  52. aws_cdk/aws_notifications/__init__.py +4 -4
  53. aws_cdk/aws_omics/__init__.py +225 -1
  54. aws_cdk/aws_opensearchserverless/__init__.py +31 -23
  55. aws_cdk/aws_organizations/__init__.py +1 -1
  56. aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
  57. aws_cdk/aws_quicksight/__init__.py +268 -50
  58. aws_cdk/aws_rds/__init__.py +186 -10
  59. aws_cdk/aws_route53/__init__.py +5 -5
  60. aws_cdk/aws_route53recoverycontrol/__init__.py +41 -2
  61. aws_cdk/aws_rum/__init__.py +13 -10
  62. aws_cdk/aws_s3/__init__.py +3 -6
  63. aws_cdk/aws_s3_assets/__init__.py +70 -1
  64. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  65. aws_cdk/aws_sagemaker/__init__.py +47 -4
  66. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  67. aws_cdk/aws_securitylake/__init__.py +2 -2
  68. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  69. aws_cdk/aws_sns/__init__.py +1 -1
  70. aws_cdk/aws_ssmincidents/__init__.py +10 -10
  71. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  72. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  73. aws_cdk/aws_synthetics/__init__.py +9 -0
  74. aws_cdk/aws_systemsmanagersap/__init__.py +160 -0
  75. aws_cdk/aws_transfer/__init__.py +19 -10
  76. aws_cdk/aws_wafv2/__init__.py +512 -1141
  77. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  78. aws_cdk/cx_api/__init__.py +38 -2
  79. aws_cdk/pipelines/__init__.py +52 -2
  80. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/METADATA +4 -4
  81. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/RECORD +85 -85
  82. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/WHEEL +1 -1
  83. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/LICENSE +0 -0
  84. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/NOTICE +0 -0
  85. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/top_level.txt +0 -0
@@ -2046,6 +2046,20 @@ cluster = eks.Cluster(self, "Cluster",
2046
2046
  )
2047
2047
  ```
2048
2048
 
2049
+ ## NodeGroup Repair Config
2050
+
2051
+ You can enable Managed Node Group [auto-repair config](https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair) using `enableNodeAutoRepair`
2052
+ property. For example:
2053
+
2054
+ ```python
2055
+ # cluster: eks.Cluster
2056
+
2057
+
2058
+ cluster.add_nodegroup_capacity("NodeGroup",
2059
+ enable_node_auto_repair=True
2060
+ )
2061
+ ```
2062
+
2049
2063
  ## Known Issues and Limitations
2050
2064
 
2051
2065
  * [One cluster per stack](https://github.com/aws/aws-cdk/issues/10073)
@@ -5950,6 +5964,7 @@ class CfnCluster(
5950
5964
  ),
5951
5965
  resources=["resources"]
5952
5966
  )],
5967
+ force=False,
5953
5968
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
5954
5969
  elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
5955
5970
  enabled=False
@@ -6015,6 +6030,7 @@ class CfnCluster(
6015
6030
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6016
6031
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ComputeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6017
6032
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.EncryptionConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6033
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6018
6034
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.KubernetesNetworkConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6019
6035
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.LoggingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6020
6036
  name: typing.Optional[builtins.str] = None,
@@ -6035,11 +6051,12 @@ class CfnCluster(
6035
6051
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
6036
6052
  :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .
6037
6053
  :param encryption_config: The encryption configuration for the cluster.
6054
+ :param force: Set this value to ``true`` to override upgrade-blocking readiness checks when updating a cluster. Default: - false
6038
6055
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
6039
6056
  :param logging: The logging configuration for your cluster.
6040
6057
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
6041
6058
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
6042
- :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.
6059
+ :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can add, change, or remove this configuration after the cluster is created.
6043
6060
  :param storage_config: Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the *Amazon EKS User Guide* .
6044
6061
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
6045
6062
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the *Amazon EKS User Guide* . <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
@@ -6057,6 +6074,7 @@ class CfnCluster(
6057
6074
  bootstrap_self_managed_addons=bootstrap_self_managed_addons,
6058
6075
  compute_config=compute_config,
6059
6076
  encryption_config=encryption_config,
6077
+ force=force,
6060
6078
  kubernetes_network_config=kubernetes_network_config,
6061
6079
  logging=logging,
6062
6080
  name=name,
@@ -6295,6 +6313,24 @@ class CfnCluster(
6295
6313
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6296
6314
  jsii.set(self, "encryptionConfig", value) # pyright: ignore[reportArgumentType]
6297
6315
 
6316
+ @builtins.property
6317
+ @jsii.member(jsii_name="force")
6318
+ def force(
6319
+ self,
6320
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6321
+ '''Set this value to ``true`` to override upgrade-blocking readiness checks when updating a cluster.'''
6322
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "force"))
6323
+
6324
+ @force.setter
6325
+ def force(
6326
+ self,
6327
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
6328
+ ) -> None:
6329
+ if __debug__:
6330
+ type_hints = typing.get_type_hints(_typecheckingstub__ec11778764d939bb12cbec68a418a76be768d7a638339c5189ae6cfe44059ebd)
6331
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6332
+ jsii.set(self, "force", value) # pyright: ignore[reportArgumentType]
6333
+
6298
6334
  @builtins.property
6299
6335
  @jsii.member(jsii_name="kubernetesNetworkConfig")
6300
6336
  def kubernetes_network_config(
@@ -7378,7 +7414,7 @@ class CfnCluster(
7378
7414
  ) -> None:
7379
7415
  '''The configuration in the cluster for EKS Hybrid Nodes.
7380
7416
 
7381
- You can't change or update this configuration after the cluster is created.
7417
+ You can add, change, or remove this configuration after the cluster is created.
7382
7418
 
7383
7419
  :param remote_node_networks: The list of network CIDRs that can contain hybrid nodes. These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ). It must satisfy the following requirements: - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range. - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect . - Each host must allow outbound connection to the EKS cluster control plane on TCP ports ``443`` and ``10250`` . - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations. - Each host must allow TCP and UDP network connectivity to and from other hosts that are running ``CoreDNS`` on UDP port ``53`` for service and pod DNS names.
7384
7420
  :param remote_pod_networks: The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ). It must satisfy the following requirements: - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
@@ -7955,6 +7991,7 @@ class CfnCluster(
7955
7991
  "bootstrap_self_managed_addons": "bootstrapSelfManagedAddons",
7956
7992
  "compute_config": "computeConfig",
7957
7993
  "encryption_config": "encryptionConfig",
7994
+ "force": "force",
7958
7995
  "kubernetes_network_config": "kubernetesNetworkConfig",
7959
7996
  "logging": "logging",
7960
7997
  "name": "name",
@@ -7977,6 +8014,7 @@ class CfnClusterProps:
7977
8014
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7978
8015
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7979
8016
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8017
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7980
8018
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7981
8019
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7982
8020
  name: typing.Optional[builtins.str] = None,
@@ -7996,11 +8034,12 @@ class CfnClusterProps:
7996
8034
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
7997
8035
  :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .
7998
8036
  :param encryption_config: The encryption configuration for the cluster.
8037
+ :param force: Set this value to ``true`` to override upgrade-blocking readiness checks when updating a cluster. Default: - false
7999
8038
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
8000
8039
  :param logging: The logging configuration for your cluster.
8001
8040
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
8002
8041
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
8003
- :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.
8042
+ :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can add, change, or remove this configuration after the cluster is created.
8004
8043
  :param storage_config: Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the *Amazon EKS User Guide* .
8005
8044
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
8006
8045
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the *Amazon EKS User Guide* . <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
@@ -8045,6 +8084,7 @@ class CfnClusterProps:
8045
8084
  ),
8046
8085
  resources=["resources"]
8047
8086
  )],
8087
+ force=False,
8048
8088
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
8049
8089
  elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
8050
8090
  enabled=False
@@ -8106,6 +8146,7 @@ class CfnClusterProps:
8106
8146
  check_type(argname="argument bootstrap_self_managed_addons", value=bootstrap_self_managed_addons, expected_type=type_hints["bootstrap_self_managed_addons"])
8107
8147
  check_type(argname="argument compute_config", value=compute_config, expected_type=type_hints["compute_config"])
8108
8148
  check_type(argname="argument encryption_config", value=encryption_config, expected_type=type_hints["encryption_config"])
8149
+ check_type(argname="argument force", value=force, expected_type=type_hints["force"])
8109
8150
  check_type(argname="argument kubernetes_network_config", value=kubernetes_network_config, expected_type=type_hints["kubernetes_network_config"])
8110
8151
  check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
8111
8152
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
@@ -8128,6 +8169,8 @@ class CfnClusterProps:
8128
8169
  self._values["compute_config"] = compute_config
8129
8170
  if encryption_config is not None:
8130
8171
  self._values["encryption_config"] = encryption_config
8172
+ if force is not None:
8173
+ self._values["force"] = force
8131
8174
  if kubernetes_network_config is not None:
8132
8175
  self._values["kubernetes_network_config"] = kubernetes_network_config
8133
8176
  if logging is not None:
@@ -8225,6 +8268,19 @@ class CfnClusterProps:
8225
8268
  result = self._values.get("encryption_config")
8226
8269
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.EncryptionConfigProperty]]]], result)
8227
8270
 
8271
+ @builtins.property
8272
+ def force(
8273
+ self,
8274
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
8275
+ '''Set this value to ``true`` to override upgrade-blocking readiness checks when updating a cluster.
8276
+
8277
+ :default: - false
8278
+
8279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-force
8280
+ '''
8281
+ result = self._values.get("force")
8282
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
8283
+
8228
8284
  @builtins.property
8229
8285
  def kubernetes_network_config(
8230
8286
  self,
@@ -8277,7 +8333,7 @@ class CfnClusterProps:
8277
8333
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.RemoteNetworkConfigProperty]]:
8278
8334
  '''The configuration in the cluster for EKS Hybrid Nodes.
8279
8335
 
8280
- You can't change or update this configuration after the cluster is created.
8336
+ You can add, change, or remove this configuration after the cluster is created.
8281
8337
 
8282
8338
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-remotenetworkconfig
8283
8339
  '''
@@ -10977,10 +11033,12 @@ class CfnPodIdentityAssociation(
10977
11033
  service_account="serviceAccount",
10978
11034
 
10979
11035
  # the properties below are optional
11036
+ disable_session_tags=False,
10980
11037
  tags=[CfnTag(
10981
11038
  key="key",
10982
11039
  value="value"
10983
- )]
11040
+ )],
11041
+ target_role_arn="targetRoleArn"
10984
11042
  )
10985
11043
  '''
10986
11044
 
@@ -10993,7 +11051,9 @@ class CfnPodIdentityAssociation(
10993
11051
  namespace: builtins.str,
10994
11052
  role_arn: builtins.str,
10995
11053
  service_account: builtins.str,
11054
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10996
11055
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11056
+ target_role_arn: typing.Optional[builtins.str] = None,
10997
11057
  ) -> None:
10998
11058
  '''
10999
11059
  :param scope: Scope in which this resource is defined.
@@ -11002,7 +11062,9 @@ class CfnPodIdentityAssociation(
11002
11062
  :param namespace: The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.
11003
11063
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.
11004
11064
  :param service_account: The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.
11065
+ :param disable_session_tags: The Disable Session Tags of the pod identity association.
11005
11066
  :param tags: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources. The following basic restrictions apply to tags: - Maximum number of tags per resource – 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length – 128 Unicode characters in UTF-8 - Maximum value length – 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11067
+ :param target_role_arn: The Target Role Arn of the pod identity association.
11006
11068
  '''
11007
11069
  if __debug__:
11008
11070
  type_hints = typing.get_type_hints(_typecheckingstub__be8311b6089cea26f85c63a586f0c5b063230a1b4a96ffcd4c6c983a331d8652)
@@ -11013,7 +11075,9 @@ class CfnPodIdentityAssociation(
11013
11075
  namespace=namespace,
11014
11076
  role_arn=role_arn,
11015
11077
  service_account=service_account,
11078
+ disable_session_tags=disable_session_tags,
11016
11079
  tags=tags,
11080
+ target_role_arn=target_role_arn,
11017
11081
  )
11018
11082
 
11019
11083
  jsii.create(self.__class__, self, [scope, id, props])
@@ -11066,6 +11130,15 @@ class CfnPodIdentityAssociation(
11066
11130
  '''
11067
11131
  return typing.cast(builtins.str, jsii.get(self, "attrAssociationId"))
11068
11132
 
11133
+ @builtins.property
11134
+ @jsii.member(jsii_name="attrExternalId")
11135
+ def attr_external_id(self) -> builtins.str:
11136
+ '''The External Id of the pod identity association.
11137
+
11138
+ :cloudformationAttribute: ExternalId
11139
+ '''
11140
+ return typing.cast(builtins.str, jsii.get(self, "attrExternalId"))
11141
+
11069
11142
  @builtins.property
11070
11143
  @jsii.member(jsii_name="cdkTagManager")
11071
11144
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -11129,6 +11202,24 @@ class CfnPodIdentityAssociation(
11129
11202
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11130
11203
  jsii.set(self, "serviceAccount", value) # pyright: ignore[reportArgumentType]
11131
11204
 
11205
+ @builtins.property
11206
+ @jsii.member(jsii_name="disableSessionTags")
11207
+ def disable_session_tags(
11208
+ self,
11209
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11210
+ '''The Disable Session Tags of the pod identity association.'''
11211
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "disableSessionTags"))
11212
+
11213
+ @disable_session_tags.setter
11214
+ def disable_session_tags(
11215
+ self,
11216
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
11217
+ ) -> None:
11218
+ if __debug__:
11219
+ type_hints = typing.get_type_hints(_typecheckingstub__cb3dbe4cc3b44e9265bbfe13e41235db909b0c1dc0e052b3bdda07fd4b228e8b)
11220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11221
+ jsii.set(self, "disableSessionTags", value) # pyright: ignore[reportArgumentType]
11222
+
11132
11223
  @builtins.property
11133
11224
  @jsii.member(jsii_name="tags")
11134
11225
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -11142,6 +11233,19 @@ class CfnPodIdentityAssociation(
11142
11233
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11143
11234
  jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
11144
11235
 
11236
+ @builtins.property
11237
+ @jsii.member(jsii_name="targetRoleArn")
11238
+ def target_role_arn(self) -> typing.Optional[builtins.str]:
11239
+ '''The Target Role Arn of the pod identity association.'''
11240
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "targetRoleArn"))
11241
+
11242
+ @target_role_arn.setter
11243
+ def target_role_arn(self, value: typing.Optional[builtins.str]) -> None:
11244
+ if __debug__:
11245
+ type_hints = typing.get_type_hints(_typecheckingstub__cb6220c6db8cf93a8a307b1ba0630d6bc64b4a09325e7cfe5854228aa75ff833)
11246
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11247
+ jsii.set(self, "targetRoleArn", value) # pyright: ignore[reportArgumentType]
11248
+
11145
11249
 
11146
11250
  @jsii.data_type(
11147
11251
  jsii_type="aws-cdk-lib.aws_eks.CfnPodIdentityAssociationProps",
@@ -11151,7 +11255,9 @@ class CfnPodIdentityAssociation(
11151
11255
  "namespace": "namespace",
11152
11256
  "role_arn": "roleArn",
11153
11257
  "service_account": "serviceAccount",
11258
+ "disable_session_tags": "disableSessionTags",
11154
11259
  "tags": "tags",
11260
+ "target_role_arn": "targetRoleArn",
11155
11261
  },
11156
11262
  )
11157
11263
  class CfnPodIdentityAssociationProps:
@@ -11162,7 +11268,9 @@ class CfnPodIdentityAssociationProps:
11162
11268
  namespace: builtins.str,
11163
11269
  role_arn: builtins.str,
11164
11270
  service_account: builtins.str,
11271
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11165
11272
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11273
+ target_role_arn: typing.Optional[builtins.str] = None,
11166
11274
  ) -> None:
11167
11275
  '''Properties for defining a ``CfnPodIdentityAssociation``.
11168
11276
 
@@ -11170,7 +11278,9 @@ class CfnPodIdentityAssociationProps:
11170
11278
  :param namespace: The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.
11171
11279
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.
11172
11280
  :param service_account: The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.
11281
+ :param disable_session_tags: The Disable Session Tags of the pod identity association.
11173
11282
  :param tags: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources. The following basic restrictions apply to tags: - Maximum number of tags per resource – 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length – 128 Unicode characters in UTF-8 - Maximum value length – 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11283
+ :param target_role_arn: The Target Role Arn of the pod identity association.
11174
11284
 
11175
11285
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html
11176
11286
  :exampleMetadata: fixture=_generated
@@ -11188,10 +11298,12 @@ class CfnPodIdentityAssociationProps:
11188
11298
  service_account="serviceAccount",
11189
11299
 
11190
11300
  # the properties below are optional
11301
+ disable_session_tags=False,
11191
11302
  tags=[CfnTag(
11192
11303
  key="key",
11193
11304
  value="value"
11194
- )]
11305
+ )],
11306
+ target_role_arn="targetRoleArn"
11195
11307
  )
11196
11308
  '''
11197
11309
  if __debug__:
@@ -11200,15 +11312,21 @@ class CfnPodIdentityAssociationProps:
11200
11312
  check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
11201
11313
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
11202
11314
  check_type(argname="argument service_account", value=service_account, expected_type=type_hints["service_account"])
11315
+ check_type(argname="argument disable_session_tags", value=disable_session_tags, expected_type=type_hints["disable_session_tags"])
11203
11316
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
11317
+ check_type(argname="argument target_role_arn", value=target_role_arn, expected_type=type_hints["target_role_arn"])
11204
11318
  self._values: typing.Dict[builtins.str, typing.Any] = {
11205
11319
  "cluster_name": cluster_name,
11206
11320
  "namespace": namespace,
11207
11321
  "role_arn": role_arn,
11208
11322
  "service_account": service_account,
11209
11323
  }
11324
+ if disable_session_tags is not None:
11325
+ self._values["disable_session_tags"] = disable_session_tags
11210
11326
  if tags is not None:
11211
11327
  self._values["tags"] = tags
11328
+ if target_role_arn is not None:
11329
+ self._values["target_role_arn"] = target_role_arn
11212
11330
 
11213
11331
  @builtins.property
11214
11332
  def cluster_name(self) -> builtins.str:
@@ -11254,6 +11372,17 @@ class CfnPodIdentityAssociationProps:
11254
11372
  assert result is not None, "Required property 'service_account' is missing"
11255
11373
  return typing.cast(builtins.str, result)
11256
11374
 
11375
+ @builtins.property
11376
+ def disable_session_tags(
11377
+ self,
11378
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11379
+ '''The Disable Session Tags of the pod identity association.
11380
+
11381
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-disablesessiontags
11382
+ '''
11383
+ result = self._values.get("disable_session_tags")
11384
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
11385
+
11257
11386
  @builtins.property
11258
11387
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
11259
11388
  '''Metadata that assists with categorization and organization.
@@ -11279,6 +11408,15 @@ class CfnPodIdentityAssociationProps:
11279
11408
  result = self._values.get("tags")
11280
11409
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
11281
11410
 
11411
+ @builtins.property
11412
+ def target_role_arn(self) -> typing.Optional[builtins.str]:
11413
+ '''The Target Role Arn of the pod identity association.
11414
+
11415
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-targetrolearn
11416
+ '''
11417
+ result = self._values.get("target_role_arn")
11418
+ return typing.cast(typing.Optional[builtins.str], result)
11419
+
11282
11420
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
11283
11421
  return isinstance(rhs, self.__class__) and rhs._values == self._values
11284
11422
 
@@ -15871,6 +16009,7 @@ class Nodegroup(
15871
16009
  capacity_type=eks.CapacityType.SPOT,
15872
16010
  desired_size=123,
15873
16011
  disk_size=123,
16012
+ enable_node_auto_repair=False,
15874
16013
  force_update=False,
15875
16014
  instance_types=[instance_type],
15876
16015
  labels={
@@ -15924,6 +16063,7 @@ class Nodegroup(
15924
16063
  capacity_type: typing.Optional[CapacityType] = None,
15925
16064
  desired_size: typing.Optional[jsii.Number] = None,
15926
16065
  disk_size: typing.Optional[jsii.Number] = None,
16066
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
15927
16067
  force_update: typing.Optional[builtins.bool] = None,
15928
16068
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
15929
16069
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -15948,6 +16088,7 @@ class Nodegroup(
15948
16088
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
15949
16089
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
15950
16090
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16091
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
15951
16092
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
15952
16093
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
15953
16094
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -15974,6 +16115,7 @@ class Nodegroup(
15974
16115
  capacity_type=capacity_type,
15975
16116
  desired_size=desired_size,
15976
16117
  disk_size=disk_size,
16118
+ enable_node_auto_repair=enable_node_auto_repair,
15977
16119
  force_update=force_update,
15978
16120
  instance_types=instance_types,
15979
16121
  labels=labels,
@@ -16084,6 +16226,10 @@ class NodegroupAmiType(enum.Enum):
16084
16226
  '''Bottlerocket Linux with Nvidia-GPU support (ARM-64).'''
16085
16227
  BOTTLEROCKET_X86_64_NVIDIA = "BOTTLEROCKET_X86_64_NVIDIA"
16086
16228
  '''Bottlerocket with Nvidia-GPU support (x86-64).'''
16229
+ BOTTLEROCKET_ARM_64_FIPS = "BOTTLEROCKET_ARM_64_FIPS"
16230
+ '''Bottlerocket Linux (ARM-64) with FIPS enabled.'''
16231
+ BOTTLEROCKET_X86_64_FIPS = "BOTTLEROCKET_X86_64_FIPS"
16232
+ '''Bottlerocket (x86-64) with FIPS enabled.'''
16087
16233
  WINDOWS_CORE_2019_X86_64 = "WINDOWS_CORE_2019_X86_64"
16088
16234
  '''Windows Core 2019 (x86-64).'''
16089
16235
  WINDOWS_CORE_2022_X86_64 = "WINDOWS_CORE_2022_X86_64"
@@ -16110,6 +16256,7 @@ class NodegroupAmiType(enum.Enum):
16110
16256
  "capacity_type": "capacityType",
16111
16257
  "desired_size": "desiredSize",
16112
16258
  "disk_size": "diskSize",
16259
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16113
16260
  "force_update": "forceUpdate",
16114
16261
  "instance_types": "instanceTypes",
16115
16262
  "labels": "labels",
@@ -16135,6 +16282,7 @@ class NodegroupOptions:
16135
16282
  capacity_type: typing.Optional[CapacityType] = None,
16136
16283
  desired_size: typing.Optional[jsii.Number] = None,
16137
16284
  disk_size: typing.Optional[jsii.Number] = None,
16285
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16138
16286
  force_update: typing.Optional[builtins.bool] = None,
16139
16287
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16140
16288
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16157,6 +16305,7 @@ class NodegroupOptions:
16157
16305
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16158
16306
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
16159
16307
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16308
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
16160
16309
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
16161
16310
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16162
16311
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16201,6 +16350,7 @@ class NodegroupOptions:
16201
16350
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16202
16351
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16203
16352
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16353
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16204
16354
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16205
16355
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16206
16356
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16225,6 +16375,8 @@ class NodegroupOptions:
16225
16375
  self._values["desired_size"] = desired_size
16226
16376
  if disk_size is not None:
16227
16377
  self._values["disk_size"] = disk_size
16378
+ if enable_node_auto_repair is not None:
16379
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16228
16380
  if force_update is not None:
16229
16381
  self._values["force_update"] = force_update
16230
16382
  if instance_types is not None:
@@ -16298,6 +16450,19 @@ class NodegroupOptions:
16298
16450
  result = self._values.get("disk_size")
16299
16451
  return typing.cast(typing.Optional[jsii.Number], result)
16300
16452
 
16453
+ @builtins.property
16454
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16455
+ '''Specifies whether to enable node auto repair for the node group.
16456
+
16457
+ Node auto repair is disabled by default.
16458
+
16459
+ :default: - disabled
16460
+
16461
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16462
+ '''
16463
+ result = self._values.get("enable_node_auto_repair")
16464
+ return typing.cast(typing.Optional[builtins.bool], result)
16465
+
16301
16466
  @builtins.property
16302
16467
  def force_update(self) -> typing.Optional[builtins.bool]:
16303
16468
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -16495,6 +16660,7 @@ class NodegroupOptions:
16495
16660
  "capacity_type": "capacityType",
16496
16661
  "desired_size": "desiredSize",
16497
16662
  "disk_size": "diskSize",
16663
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16498
16664
  "force_update": "forceUpdate",
16499
16665
  "instance_types": "instanceTypes",
16500
16666
  "labels": "labels",
@@ -16521,6 +16687,7 @@ class NodegroupProps(NodegroupOptions):
16521
16687
  capacity_type: typing.Optional[CapacityType] = None,
16522
16688
  desired_size: typing.Optional[jsii.Number] = None,
16523
16689
  disk_size: typing.Optional[jsii.Number] = None,
16690
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16524
16691
  force_update: typing.Optional[builtins.bool] = None,
16525
16692
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16526
16693
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16544,6 +16711,7 @@ class NodegroupProps(NodegroupOptions):
16544
16711
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16545
16712
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
16546
16713
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16714
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
16547
16715
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
16548
16716
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16549
16717
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16586,6 +16754,7 @@ class NodegroupProps(NodegroupOptions):
16586
16754
  capacity_type=eks.CapacityType.SPOT,
16587
16755
  desired_size=123,
16588
16756
  disk_size=123,
16757
+ enable_node_auto_repair=False,
16589
16758
  force_update=False,
16590
16759
  instance_types=[instance_type],
16591
16760
  labels={
@@ -16640,6 +16809,7 @@ class NodegroupProps(NodegroupOptions):
16640
16809
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16641
16810
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16642
16811
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16812
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16643
16813
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16644
16814
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16645
16815
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16667,6 +16837,8 @@ class NodegroupProps(NodegroupOptions):
16667
16837
  self._values["desired_size"] = desired_size
16668
16838
  if disk_size is not None:
16669
16839
  self._values["disk_size"] = disk_size
16840
+ if enable_node_auto_repair is not None:
16841
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16670
16842
  if force_update is not None:
16671
16843
  self._values["force_update"] = force_update
16672
16844
  if instance_types is not None:
@@ -16740,6 +16912,19 @@ class NodegroupProps(NodegroupOptions):
16740
16912
  result = self._values.get("disk_size")
16741
16913
  return typing.cast(typing.Optional[jsii.Number], result)
16742
16914
 
16915
+ @builtins.property
16916
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16917
+ '''Specifies whether to enable node auto repair for the node group.
16918
+
16919
+ Node auto repair is disabled by default.
16920
+
16921
+ :default: - disabled
16922
+
16923
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16924
+ '''
16925
+ result = self._values.get("enable_node_auto_repair")
16926
+ return typing.cast(typing.Optional[builtins.bool], result)
16927
+
16743
16928
  @builtins.property
16744
16929
  def force_update(self) -> typing.Optional[builtins.bool]:
16745
16930
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -18770,6 +18955,7 @@ class Cluster(
18770
18955
  capacity_type: typing.Optional[CapacityType] = None,
18771
18956
  desired_size: typing.Optional[jsii.Number] = None,
18772
18957
  disk_size: typing.Optional[jsii.Number] = None,
18958
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
18773
18959
  force_update: typing.Optional[builtins.bool] = None,
18774
18960
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
18775
18961
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -18795,6 +18981,7 @@ class Cluster(
18795
18981
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
18796
18982
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
18797
18983
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
18984
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
18798
18985
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
18799
18986
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
18800
18987
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -18821,6 +19008,7 @@ class Cluster(
18821
19008
  capacity_type=capacity_type,
18822
19009
  desired_size=desired_size,
18823
19010
  disk_size=disk_size,
19011
+ enable_node_auto_repair=enable_node_auto_repair,
18824
19012
  force_update=force_update,
18825
19013
  instance_types=instance_types,
18826
19014
  labels=labels,
@@ -21891,6 +22079,7 @@ def _typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938
21891
22079
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21892
22080
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21893
22081
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
22082
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21894
22083
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21895
22084
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21896
22085
  name: typing.Optional[builtins.str] = None,
@@ -21953,6 +22142,12 @@ def _typecheckingstub__b161fda542258d1cd8a20fecd3943cacecb658f19ab16b918baf49908
21953
22142
  """Type checking stubs"""
21954
22143
  pass
21955
22144
 
22145
+ def _typecheckingstub__ec11778764d939bb12cbec68a418a76be768d7a638339c5189ae6cfe44059ebd(
22146
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
22147
+ ) -> None:
22148
+ """Type checking stubs"""
22149
+ pass
22150
+
21956
22151
  def _typecheckingstub__1a14e543582631e80cb6fc2093270dba17f568b8779b381e3bc7398bfafb6699(
21957
22152
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.KubernetesNetworkConfigProperty]],
21958
22153
  ) -> None:
@@ -22168,6 +22363,7 @@ def _typecheckingstub__270f142a59c249328ab174c5b0484cfdae6e3110ab52578dbe783d6f8
22168
22363
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22169
22364
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22170
22365
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
22366
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22171
22367
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22172
22368
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22173
22369
  name: typing.Optional[builtins.str] = None,
@@ -22596,7 +22792,9 @@ def _typecheckingstub__be8311b6089cea26f85c63a586f0c5b063230a1b4a96ffcd4c6c983a3
22596
22792
  namespace: builtins.str,
22597
22793
  role_arn: builtins.str,
22598
22794
  service_account: builtins.str,
22795
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22599
22796
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
22797
+ target_role_arn: typing.Optional[builtins.str] = None,
22600
22798
  ) -> None:
22601
22799
  """Type checking stubs"""
22602
22800
  pass
@@ -22637,19 +22835,33 @@ def _typecheckingstub__ea3bb34348aff57e29a5352e7460510bda8dd51720dbf7d275297137f
22637
22835
  """Type checking stubs"""
22638
22836
  pass
22639
22837
 
22838
+ def _typecheckingstub__cb3dbe4cc3b44e9265bbfe13e41235db909b0c1dc0e052b3bdda07fd4b228e8b(
22839
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
22840
+ ) -> None:
22841
+ """Type checking stubs"""
22842
+ pass
22843
+
22640
22844
  def _typecheckingstub__b0e0a0551adefc10761733af04b8c51e7dad6b483be9252882ecff10539c7dcc(
22641
22845
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
22642
22846
  ) -> None:
22643
22847
  """Type checking stubs"""
22644
22848
  pass
22645
22849
 
22850
+ def _typecheckingstub__cb6220c6db8cf93a8a307b1ba0630d6bc64b4a09325e7cfe5854228aa75ff833(
22851
+ value: typing.Optional[builtins.str],
22852
+ ) -> None:
22853
+ """Type checking stubs"""
22854
+ pass
22855
+
22646
22856
  def _typecheckingstub__40e8da56b529234cdbb596fa46af952a935adf744e907347861dfc232b89038b(
22647
22857
  *,
22648
22858
  cluster_name: builtins.str,
22649
22859
  namespace: builtins.str,
22650
22860
  role_arn: builtins.str,
22651
22861
  service_account: builtins.str,
22862
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22652
22863
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
22864
+ target_role_arn: typing.Optional[builtins.str] = None,
22653
22865
  ) -> None:
22654
22866
  """Type checking stubs"""
22655
22867
  pass
@@ -23029,6 +23241,7 @@ def _typecheckingstub__786fdb6d4c92794281e2a7ea4e6305e651a12884bcdc063cf6fe5a64c
23029
23241
  capacity_type: typing.Optional[CapacityType] = None,
23030
23242
  desired_size: typing.Optional[jsii.Number] = None,
23031
23243
  disk_size: typing.Optional[jsii.Number] = None,
23244
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23032
23245
  force_update: typing.Optional[builtins.bool] = None,
23033
23246
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23034
23247
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23062,6 +23275,7 @@ def _typecheckingstub__019154b49c40dcdcdd533db7688b958baf443f513473d96721969a0d5
23062
23275
  capacity_type: typing.Optional[CapacityType] = None,
23063
23276
  desired_size: typing.Optional[jsii.Number] = None,
23064
23277
  disk_size: typing.Optional[jsii.Number] = None,
23278
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23065
23279
  force_update: typing.Optional[builtins.bool] = None,
23066
23280
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23067
23281
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23087,6 +23301,7 @@ def _typecheckingstub__c522b5bc1207d683d19377a7c1fae066520518733e5dc4e1b4952f88c
23087
23301
  capacity_type: typing.Optional[CapacityType] = None,
23088
23302
  desired_size: typing.Optional[jsii.Number] = None,
23089
23303
  disk_size: typing.Optional[jsii.Number] = None,
23304
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23090
23305
  force_update: typing.Optional[builtins.bool] = None,
23091
23306
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23092
23307
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23451,6 +23666,7 @@ def _typecheckingstub__d3dbc0c0b7cb36fb532d2c452f5cac822b7564b4aa6f4490020610695
23451
23666
  capacity_type: typing.Optional[CapacityType] = None,
23452
23667
  desired_size: typing.Optional[jsii.Number] = None,
23453
23668
  disk_size: typing.Optional[jsii.Number] = None,
23669
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23454
23670
  force_update: typing.Optional[builtins.bool] = None,
23455
23671
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23456
23672
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,