aws-cdk-lib 2.186.0__py3-none-any.whl → 2.187.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 (62) hide show
  1. aws_cdk/__init__.py +281 -116
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.187.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +124 -0
  5. aws_cdk/aws_apigateway/__init__.py +48 -2
  6. aws_cdk/aws_appsync/__init__.py +14 -5
  7. aws_cdk/aws_bedrock/__init__.py +32 -22
  8. aws_cdk/aws_cassandra/__init__.py +2 -2
  9. aws_cdk/aws_cloudfront/__init__.py +11 -0
  10. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  11. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  12. aws_cdk/aws_codebuild/__init__.py +9 -0
  13. aws_cdk/aws_config/__init__.py +2 -5
  14. aws_cdk/aws_datazone/__init__.py +287 -226
  15. aws_cdk/aws_detective/__init__.py +3 -3
  16. aws_cdk/aws_dynamodb/__init__.py +37 -0
  17. aws_cdk/aws_ec2/__init__.py +154 -12
  18. aws_cdk/aws_ecr/__init__.py +143 -0
  19. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  20. aws_cdk/aws_ecs/__init__.py +51 -0
  21. aws_cdk/aws_eks/__init__.py +114 -0
  22. aws_cdk/aws_events/__init__.py +8 -11
  23. aws_cdk/aws_forecast/__init__.py +1 -1
  24. aws_cdk/aws_fsx/__init__.py +2 -2
  25. aws_cdk/aws_gamelift/__init__.py +6 -6
  26. aws_cdk/aws_identitystore/__init__.py +16 -16
  27. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  28. aws_cdk/aws_kms/__init__.py +10 -11
  29. aws_cdk/aws_lakeformation/__init__.py +3 -3
  30. aws_cdk/aws_lambda/__init__.py +105 -4
  31. aws_cdk/aws_lambda_event_sources/__init__.py +65 -3
  32. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  33. aws_cdk/aws_lex/__init__.py +981 -5
  34. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  35. aws_cdk/aws_mwaa/__init__.py +9 -9
  36. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  37. aws_cdk/aws_omics/__init__.py +216 -0
  38. aws_cdk/aws_quicksight/__init__.py +244 -39
  39. aws_cdk/aws_rds/__init__.py +102 -10
  40. aws_cdk/aws_route53/__init__.py +2 -2
  41. aws_cdk/aws_route53recoverycontrol/__init__.py +43 -2
  42. aws_cdk/aws_s3_assets/__init__.py +70 -1
  43. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  44. aws_cdk/aws_sagemaker/__init__.py +6 -4
  45. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  46. aws_cdk/aws_securitylake/__init__.py +2 -2
  47. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  48. aws_cdk/aws_sns/__init__.py +1 -1
  49. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  51. aws_cdk/aws_synthetics/__init__.py +9 -0
  52. aws_cdk/aws_systemsmanagersap/__init__.py +150 -0
  53. aws_cdk/aws_wafv2/__init__.py +464 -1138
  54. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  55. aws_cdk/cx_api/__init__.py +15 -0
  56. aws_cdk/pipelines/__init__.py +20 -2
  57. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/METADATA +4 -4
  58. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/RECORD +62 -62
  59. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/WHEEL +1 -1
  60. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/LICENSE +0 -0
  61. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/NOTICE +0 -0
  62. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/top_level.txt +0 -0
@@ -3977,6 +3977,7 @@ class AsgCapacityProviderProps(AddAutoScalingGroupCapacityOptions):
3977
3977
  "cache_disabled": "cacheDisabled",
3978
3978
  "cache_from": "cacheFrom",
3979
3979
  "cache_to": "cacheTo",
3980
+ "display_name": "displayName",
3980
3981
  "file": "file",
3981
3982
  "invalidation": "invalidation",
3982
3983
  "network_mode": "networkMode",
@@ -4000,6 +4001,7 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4000
4001
  cache_disabled: typing.Optional[builtins.bool] = None,
4001
4002
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
4002
4003
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
4004
+ display_name: typing.Optional[builtins.str] = None,
4003
4005
  file: typing.Optional[builtins.str] = None,
4004
4006
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
4005
4007
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -4020,6 +4022,7 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4020
4022
  :param cache_disabled: Disable the cache and pass ``--no-cache`` to the ``docker build`` command. Default: - cache is used
4021
4023
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from options are passed to the build command
4022
4024
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to options are passed to the build command
4025
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. If ``assetName`` is given, it will also be used as the default ``displayName``. Otherwise, the default is the construct path of the ImageAsset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAssetImage()``), this will look like ``MyFunction/AssetImage``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
4023
4026
  :param file: Path to the Dockerfile (relative to the directory). Default: 'Dockerfile'
4024
4027
  :param invalidation: Options to control which parameters are used to invalidate the asset hash. Default: - hash all parameters
4025
4028
  :param network_mode: Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking mode ``NetworkMode.DEFAULT`` will be used)
@@ -4066,6 +4069,7 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4066
4069
  "params_key": "params"
4067
4070
  }
4068
4071
  ),
4072
+ display_name="displayName",
4069
4073
  exclude=["exclude"],
4070
4074
  extra_hash="extraHash",
4071
4075
  file="file",
@@ -4106,6 +4110,7 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4106
4110
  check_type(argname="argument cache_disabled", value=cache_disabled, expected_type=type_hints["cache_disabled"])
4107
4111
  check_type(argname="argument cache_from", value=cache_from, expected_type=type_hints["cache_from"])
4108
4112
  check_type(argname="argument cache_to", value=cache_to, expected_type=type_hints["cache_to"])
4113
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
4109
4114
  check_type(argname="argument file", value=file, expected_type=type_hints["file"])
4110
4115
  check_type(argname="argument invalidation", value=invalidation, expected_type=type_hints["invalidation"])
4111
4116
  check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
@@ -4135,6 +4140,8 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4135
4140
  self._values["cache_from"] = cache_from
4136
4141
  if cache_to is not None:
4137
4142
  self._values["cache_to"] = cache_to
4143
+ if display_name is not None:
4144
+ self._values["display_name"] = display_name
4138
4145
  if file is not None:
4139
4146
  self._values["file"] = file
4140
4147
  if invalidation is not None:
@@ -4279,6 +4286,31 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
4279
4286
  result = self._values.get("cache_to")
4280
4287
  return typing.cast(typing.Optional[_DockerCacheOption_58ef18ca], result)
4281
4288
 
4289
+ @builtins.property
4290
+ def display_name(self) -> typing.Optional[builtins.str]:
4291
+ '''A display name for this asset.
4292
+
4293
+ If supplied, the display name will be used in locations where the asset
4294
+ identifier is printed, like in the CLI progress information. If the same
4295
+ asset is added multiple times, the display name of the first occurrence is
4296
+ used.
4297
+
4298
+ If ``assetName`` is given, it will also be used as the default ``displayName``.
4299
+ Otherwise, the default is the construct path of the ImageAsset construct,
4300
+ with respect to the enclosing stack. If the asset is produced by a
4301
+ construct helper function (such as ``lambda.Code.fromAssetImage()``), this
4302
+ will look like ``MyFunction/AssetImage``.
4303
+
4304
+ We use the stack-relative construct path so that in the common case where
4305
+ you have multiple stacks with the same asset, we won't show something like
4306
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
4307
+ production.
4308
+
4309
+ :default: - Stack-relative construct path
4310
+ '''
4311
+ result = self._values.get("display_name")
4312
+ return typing.cast(typing.Optional[builtins.str], result)
4313
+
4282
4314
  @builtins.property
4283
4315
  def file(self) -> typing.Optional[builtins.str]:
4284
4316
  '''Path to the Dockerfile (relative to the directory).
@@ -22687,6 +22719,7 @@ class ContainerImage(
22687
22719
  cache_disabled: typing.Optional[builtins.bool] = None,
22688
22720
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
22689
22721
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
22722
+ display_name: typing.Optional[builtins.str] = None,
22690
22723
  file: typing.Optional[builtins.str] = None,
22691
22724
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
22692
22725
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -22711,6 +22744,7 @@ class ContainerImage(
22711
22744
  :param cache_disabled: Disable the cache and pass ``--no-cache`` to the ``docker build`` command. Default: - cache is used
22712
22745
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from options are passed to the build command
22713
22746
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to options are passed to the build command
22747
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. If ``assetName`` is given, it will also be used as the default ``displayName``. Otherwise, the default is the construct path of the ImageAsset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAssetImage()``), this will look like ``MyFunction/AssetImage``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
22714
22748
  :param file: Path to the Dockerfile (relative to the directory). Default: 'Dockerfile'
22715
22749
  :param invalidation: Options to control which parameters are used to invalidate the asset hash. Default: - hash all parameters
22716
22750
  :param network_mode: Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking mode ``NetworkMode.DEFAULT`` will be used)
@@ -22733,6 +22767,7 @@ class ContainerImage(
22733
22767
  cache_disabled=cache_disabled,
22734
22768
  cache_from=cache_from,
22735
22769
  cache_to=cache_to,
22770
+ display_name=display_name,
22736
22771
  file=file,
22737
22772
  invalidation=invalidation,
22738
22773
  network_mode=network_mode,
@@ -25639,6 +25674,7 @@ class EnvironmentFile(
25639
25674
  path: builtins.str,
25640
25675
  *,
25641
25676
  deploy_time: typing.Optional[builtins.bool] = None,
25677
+ display_name: typing.Optional[builtins.str] = None,
25642
25678
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
25643
25679
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
25644
25680
  asset_hash: typing.Optional[builtins.str] = None,
@@ -25652,6 +25688,7 @@ class EnvironmentFile(
25652
25688
 
25653
25689
  :param path: Local disk path.
25654
25690
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
25691
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
25655
25692
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
25656
25693
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
25657
25694
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -25666,6 +25703,7 @@ class EnvironmentFile(
25666
25703
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
25667
25704
  options = _AssetOptions_2aa69621(
25668
25705
  deploy_time=deploy_time,
25706
+ display_name=display_name,
25669
25707
  readers=readers,
25670
25708
  source_kms_key=source_kms_key,
25671
25709
  asset_hash=asset_hash,
@@ -39231,6 +39269,7 @@ class AssetEnvironmentFile(
39231
39269
  working_directory="workingDirectory"
39232
39270
  ),
39233
39271
  deploy_time=False,
39272
+ display_name="displayName",
39234
39273
  exclude=["exclude"],
39235
39274
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
39236
39275
  ignore_mode=cdk.IgnoreMode.GLOB,
@@ -39244,6 +39283,7 @@ class AssetEnvironmentFile(
39244
39283
  path: builtins.str,
39245
39284
  *,
39246
39285
  deploy_time: typing.Optional[builtins.bool] = None,
39286
+ display_name: typing.Optional[builtins.str] = None,
39247
39287
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
39248
39288
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
39249
39289
  asset_hash: typing.Optional[builtins.str] = None,
@@ -39256,6 +39296,7 @@ class AssetEnvironmentFile(
39256
39296
  '''
39257
39297
  :param path: The path to the asset file or directory.
39258
39298
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
39299
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
39259
39300
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
39260
39301
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
39261
39302
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -39270,6 +39311,7 @@ class AssetEnvironmentFile(
39270
39311
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
39271
39312
  options = _AssetOptions_2aa69621(
39272
39313
  deploy_time=deploy_time,
39314
+ display_name=display_name,
39273
39315
  readers=readers,
39274
39316
  source_kms_key=source_kms_key,
39275
39317
  asset_hash=asset_hash,
@@ -39346,6 +39388,7 @@ class AssetImage(
39346
39388
  "params_key": "params"
39347
39389
  }
39348
39390
  ),
39391
+ display_name="displayName",
39349
39392
  exclude=["exclude"],
39350
39393
  extra_hash="extraHash",
39351
39394
  file="file",
@@ -39381,6 +39424,7 @@ class AssetImage(
39381
39424
  cache_disabled: typing.Optional[builtins.bool] = None,
39382
39425
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
39383
39426
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
39427
+ display_name: typing.Optional[builtins.str] = None,
39384
39428
  file: typing.Optional[builtins.str] = None,
39385
39429
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
39386
39430
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -39402,6 +39446,7 @@ class AssetImage(
39402
39446
  :param cache_disabled: Disable the cache and pass ``--no-cache`` to the ``docker build`` command. Default: - cache is used
39403
39447
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from options are passed to the build command
39404
39448
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to options are passed to the build command
39449
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. If ``assetName`` is given, it will also be used as the default ``displayName``. Otherwise, the default is the construct path of the ImageAsset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAssetImage()``), this will look like ``MyFunction/AssetImage``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
39405
39450
  :param file: Path to the Dockerfile (relative to the directory). Default: 'Dockerfile'
39406
39451
  :param invalidation: Options to control which parameters are used to invalidate the asset hash. Default: - hash all parameters
39407
39452
  :param network_mode: Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking mode ``NetworkMode.DEFAULT`` will be used)
@@ -39424,6 +39469,7 @@ class AssetImage(
39424
39469
  cache_disabled=cache_disabled,
39425
39470
  cache_from=cache_from,
39426
39471
  cache_to=cache_to,
39472
+ display_name=display_name,
39427
39473
  file=file,
39428
39474
  invalidation=invalidation,
39429
39475
  network_mode=network_mode,
@@ -43227,6 +43273,7 @@ def _typecheckingstub__6e2e094929b9952c79f2d2f10cac8da6c1f6dad2f0e50e17e639ed016
43227
43273
  cache_disabled: typing.Optional[builtins.bool] = None,
43228
43274
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
43229
43275
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
43276
+ display_name: typing.Optional[builtins.str] = None,
43230
43277
  file: typing.Optional[builtins.str] = None,
43231
43278
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
43232
43279
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -45113,6 +45160,7 @@ def _typecheckingstub__a3b74ad5b0ef573de8f4998ac2c10294ecc205320b367ba59d13b865f
45113
45160
  cache_disabled: typing.Optional[builtins.bool] = None,
45114
45161
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
45115
45162
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
45163
+ display_name: typing.Optional[builtins.str] = None,
45116
45164
  file: typing.Optional[builtins.str] = None,
45117
45165
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
45118
45166
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -45454,6 +45502,7 @@ def _typecheckingstub__984c009064fe3ececa2babfa7da070310c1a07aad5d8719d7817aacaf
45454
45502
  path: builtins.str,
45455
45503
  *,
45456
45504
  deploy_time: typing.Optional[builtins.bool] = None,
45505
+ display_name: typing.Optional[builtins.str] = None,
45457
45506
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
45458
45507
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
45459
45508
  asset_hash: typing.Optional[builtins.str] = None,
@@ -46754,6 +46803,7 @@ def _typecheckingstub__0c2450ee3cfe92be6dcc8ab1f8c7f9bc88382905f44289ab29eb782fb
46754
46803
  path: builtins.str,
46755
46804
  *,
46756
46805
  deploy_time: typing.Optional[builtins.bool] = None,
46806
+ display_name: typing.Optional[builtins.str] = None,
46757
46807
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
46758
46808
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
46759
46809
  asset_hash: typing.Optional[builtins.str] = None,
@@ -46782,6 +46832,7 @@ def _typecheckingstub__4d3698baaf6e6b1c9fc983c7a139e8426df4d121c2e7cd948722f7942
46782
46832
  cache_disabled: typing.Optional[builtins.bool] = None,
46783
46833
  cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
46784
46834
  cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
46835
+ display_name: typing.Optional[builtins.str] = None,
46785
46836
  file: typing.Optional[builtins.str] = None,
46786
46837
  invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
46787
46838
  network_mode: typing.Optional[_NetworkMode_897e5081] = None,
@@ -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,6 +6051,7 @@ 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: Force cluster version update. 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 .
@@ -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
+ '''Force cluster version update.'''
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(
@@ -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,6 +8034,7 @@ 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: Force cluster version update. 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 .
@@ -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
+ '''Force cluster version update.
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,
@@ -15871,6 +15927,7 @@ class Nodegroup(
15871
15927
  capacity_type=eks.CapacityType.SPOT,
15872
15928
  desired_size=123,
15873
15929
  disk_size=123,
15930
+ enable_node_auto_repair=False,
15874
15931
  force_update=False,
15875
15932
  instance_types=[instance_type],
15876
15933
  labels={
@@ -15924,6 +15981,7 @@ class Nodegroup(
15924
15981
  capacity_type: typing.Optional[CapacityType] = None,
15925
15982
  desired_size: typing.Optional[jsii.Number] = None,
15926
15983
  disk_size: typing.Optional[jsii.Number] = None,
15984
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
15927
15985
  force_update: typing.Optional[builtins.bool] = None,
15928
15986
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
15929
15987
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -15948,6 +16006,7 @@ class Nodegroup(
15948
16006
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
15949
16007
  :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
16008
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16009
+ :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
16010
  :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
16011
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
15953
16012
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -15974,6 +16033,7 @@ class Nodegroup(
15974
16033
  capacity_type=capacity_type,
15975
16034
  desired_size=desired_size,
15976
16035
  disk_size=disk_size,
16036
+ enable_node_auto_repair=enable_node_auto_repair,
15977
16037
  force_update=force_update,
15978
16038
  instance_types=instance_types,
15979
16039
  labels=labels,
@@ -16110,6 +16170,7 @@ class NodegroupAmiType(enum.Enum):
16110
16170
  "capacity_type": "capacityType",
16111
16171
  "desired_size": "desiredSize",
16112
16172
  "disk_size": "diskSize",
16173
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16113
16174
  "force_update": "forceUpdate",
16114
16175
  "instance_types": "instanceTypes",
16115
16176
  "labels": "labels",
@@ -16135,6 +16196,7 @@ class NodegroupOptions:
16135
16196
  capacity_type: typing.Optional[CapacityType] = None,
16136
16197
  desired_size: typing.Optional[jsii.Number] = None,
16137
16198
  disk_size: typing.Optional[jsii.Number] = None,
16199
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16138
16200
  force_update: typing.Optional[builtins.bool] = None,
16139
16201
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16140
16202
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16157,6 +16219,7 @@ class NodegroupOptions:
16157
16219
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16158
16220
  :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
16221
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16222
+ :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
16223
  :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
16224
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16162
16225
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16201,6 +16264,7 @@ class NodegroupOptions:
16201
16264
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16202
16265
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16203
16266
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16267
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16204
16268
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16205
16269
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16206
16270
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16225,6 +16289,8 @@ class NodegroupOptions:
16225
16289
  self._values["desired_size"] = desired_size
16226
16290
  if disk_size is not None:
16227
16291
  self._values["disk_size"] = disk_size
16292
+ if enable_node_auto_repair is not None:
16293
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16228
16294
  if force_update is not None:
16229
16295
  self._values["force_update"] = force_update
16230
16296
  if instance_types is not None:
@@ -16298,6 +16364,19 @@ class NodegroupOptions:
16298
16364
  result = self._values.get("disk_size")
16299
16365
  return typing.cast(typing.Optional[jsii.Number], result)
16300
16366
 
16367
+ @builtins.property
16368
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16369
+ '''Specifies whether to enable node auto repair for the node group.
16370
+
16371
+ Node auto repair is disabled by default.
16372
+
16373
+ :default: - disabled
16374
+
16375
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16376
+ '''
16377
+ result = self._values.get("enable_node_auto_repair")
16378
+ return typing.cast(typing.Optional[builtins.bool], result)
16379
+
16301
16380
  @builtins.property
16302
16381
  def force_update(self) -> typing.Optional[builtins.bool]:
16303
16382
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -16495,6 +16574,7 @@ class NodegroupOptions:
16495
16574
  "capacity_type": "capacityType",
16496
16575
  "desired_size": "desiredSize",
16497
16576
  "disk_size": "diskSize",
16577
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16498
16578
  "force_update": "forceUpdate",
16499
16579
  "instance_types": "instanceTypes",
16500
16580
  "labels": "labels",
@@ -16521,6 +16601,7 @@ class NodegroupProps(NodegroupOptions):
16521
16601
  capacity_type: typing.Optional[CapacityType] = None,
16522
16602
  desired_size: typing.Optional[jsii.Number] = None,
16523
16603
  disk_size: typing.Optional[jsii.Number] = None,
16604
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16524
16605
  force_update: typing.Optional[builtins.bool] = None,
16525
16606
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16526
16607
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16544,6 +16625,7 @@ class NodegroupProps(NodegroupOptions):
16544
16625
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16545
16626
  :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
16627
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16628
+ :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
16629
  :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
16630
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16549
16631
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16586,6 +16668,7 @@ class NodegroupProps(NodegroupOptions):
16586
16668
  capacity_type=eks.CapacityType.SPOT,
16587
16669
  desired_size=123,
16588
16670
  disk_size=123,
16671
+ enable_node_auto_repair=False,
16589
16672
  force_update=False,
16590
16673
  instance_types=[instance_type],
16591
16674
  labels={
@@ -16640,6 +16723,7 @@ class NodegroupProps(NodegroupOptions):
16640
16723
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16641
16724
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16642
16725
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16726
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16643
16727
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16644
16728
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16645
16729
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16667,6 +16751,8 @@ class NodegroupProps(NodegroupOptions):
16667
16751
  self._values["desired_size"] = desired_size
16668
16752
  if disk_size is not None:
16669
16753
  self._values["disk_size"] = disk_size
16754
+ if enable_node_auto_repair is not None:
16755
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16670
16756
  if force_update is not None:
16671
16757
  self._values["force_update"] = force_update
16672
16758
  if instance_types is not None:
@@ -16740,6 +16826,19 @@ class NodegroupProps(NodegroupOptions):
16740
16826
  result = self._values.get("disk_size")
16741
16827
  return typing.cast(typing.Optional[jsii.Number], result)
16742
16828
 
16829
+ @builtins.property
16830
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16831
+ '''Specifies whether to enable node auto repair for the node group.
16832
+
16833
+ Node auto repair is disabled by default.
16834
+
16835
+ :default: - disabled
16836
+
16837
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16838
+ '''
16839
+ result = self._values.get("enable_node_auto_repair")
16840
+ return typing.cast(typing.Optional[builtins.bool], result)
16841
+
16743
16842
  @builtins.property
16744
16843
  def force_update(self) -> typing.Optional[builtins.bool]:
16745
16844
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -18770,6 +18869,7 @@ class Cluster(
18770
18869
  capacity_type: typing.Optional[CapacityType] = None,
18771
18870
  desired_size: typing.Optional[jsii.Number] = None,
18772
18871
  disk_size: typing.Optional[jsii.Number] = None,
18872
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
18773
18873
  force_update: typing.Optional[builtins.bool] = None,
18774
18874
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
18775
18875
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -18795,6 +18895,7 @@ class Cluster(
18795
18895
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
18796
18896
  :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
18897
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
18898
+ :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
18899
  :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
18900
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
18800
18901
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -18821,6 +18922,7 @@ class Cluster(
18821
18922
  capacity_type=capacity_type,
18822
18923
  desired_size=desired_size,
18823
18924
  disk_size=disk_size,
18925
+ enable_node_auto_repair=enable_node_auto_repair,
18824
18926
  force_update=force_update,
18825
18927
  instance_types=instance_types,
18826
18928
  labels=labels,
@@ -21891,6 +21993,7 @@ def _typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938
21891
21993
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21892
21994
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21893
21995
  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,
21996
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21894
21997
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21895
21998
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21896
21999
  name: typing.Optional[builtins.str] = None,
@@ -21953,6 +22056,12 @@ def _typecheckingstub__b161fda542258d1cd8a20fecd3943cacecb658f19ab16b918baf49908
21953
22056
  """Type checking stubs"""
21954
22057
  pass
21955
22058
 
22059
+ def _typecheckingstub__ec11778764d939bb12cbec68a418a76be768d7a638339c5189ae6cfe44059ebd(
22060
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
22061
+ ) -> None:
22062
+ """Type checking stubs"""
22063
+ pass
22064
+
21956
22065
  def _typecheckingstub__1a14e543582631e80cb6fc2093270dba17f568b8779b381e3bc7398bfafb6699(
21957
22066
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.KubernetesNetworkConfigProperty]],
21958
22067
  ) -> None:
@@ -22168,6 +22277,7 @@ def _typecheckingstub__270f142a59c249328ab174c5b0484cfdae6e3110ab52578dbe783d6f8
22168
22277
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22169
22278
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22170
22279
  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,
22280
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22171
22281
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22172
22282
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22173
22283
  name: typing.Optional[builtins.str] = None,
@@ -23029,6 +23139,7 @@ def _typecheckingstub__786fdb6d4c92794281e2a7ea4e6305e651a12884bcdc063cf6fe5a64c
23029
23139
  capacity_type: typing.Optional[CapacityType] = None,
23030
23140
  desired_size: typing.Optional[jsii.Number] = None,
23031
23141
  disk_size: typing.Optional[jsii.Number] = None,
23142
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23032
23143
  force_update: typing.Optional[builtins.bool] = None,
23033
23144
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23034
23145
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23062,6 +23173,7 @@ def _typecheckingstub__019154b49c40dcdcdd533db7688b958baf443f513473d96721969a0d5
23062
23173
  capacity_type: typing.Optional[CapacityType] = None,
23063
23174
  desired_size: typing.Optional[jsii.Number] = None,
23064
23175
  disk_size: typing.Optional[jsii.Number] = None,
23176
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23065
23177
  force_update: typing.Optional[builtins.bool] = None,
23066
23178
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23067
23179
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23087,6 +23199,7 @@ def _typecheckingstub__c522b5bc1207d683d19377a7c1fae066520518733e5dc4e1b4952f88c
23087
23199
  capacity_type: typing.Optional[CapacityType] = None,
23088
23200
  desired_size: typing.Optional[jsii.Number] = None,
23089
23201
  disk_size: typing.Optional[jsii.Number] = None,
23202
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23090
23203
  force_update: typing.Optional[builtins.bool] = None,
23091
23204
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23092
23205
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23451,6 +23564,7 @@ def _typecheckingstub__d3dbc0c0b7cb36fb532d2c452f5cac822b7564b4aa6f4490020610695
23451
23564
  capacity_type: typing.Optional[CapacityType] = None,
23452
23565
  desired_size: typing.Optional[jsii.Number] = None,
23453
23566
  disk_size: typing.Optional[jsii.Number] = None,
23567
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23454
23568
  force_update: typing.Optional[builtins.bool] = None,
23455
23569
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23456
23570
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,