aws-cdk-lib 2.176.0__py3-none-any.whl → 2.178.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 (120) hide show
  1. aws_cdk/__init__.py +106 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.176.0.jsii.tgz → aws-cdk-lib@2.178.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_apigatewayv2_integrations/__init__.py +2 -2
  8. aws_cdk/aws_appconfig/__init__.py +10 -10
  9. aws_cdk/aws_appflow/__init__.py +20 -20
  10. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  11. aws_cdk/aws_appmesh/__init__.py +8 -8
  12. aws_cdk/aws_appsync/__init__.py +10387 -7038
  13. aws_cdk/aws_apptest/__init__.py +4 -4
  14. aws_cdk/aws_aps/__init__.py +135 -0
  15. aws_cdk/aws_athena/__init__.py +10 -10
  16. aws_cdk/aws_backup/__init__.py +14 -14
  17. aws_cdk/aws_batch/__init__.py +189 -24
  18. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  19. aws_cdk/aws_bedrock/__init__.py +5494 -2518
  20. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  21. aws_cdk/aws_chatbot/__init__.py +4 -4
  22. aws_cdk/aws_cloudformation/__init__.py +22 -18
  23. aws_cdk/aws_cloudfront/__init__.py +686 -9
  24. aws_cdk/aws_cloudfront_origins/__init__.py +73 -2
  25. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  26. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  27. aws_cdk/aws_codedeploy/__init__.py +2 -2
  28. aws_cdk/aws_codepipeline/__init__.py +59 -6
  29. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  30. aws_cdk/aws_cognito/__init__.py +204 -159
  31. aws_cdk/aws_connect/__init__.py +4 -4
  32. aws_cdk/aws_customerprofiles/__init__.py +6 -4
  33. aws_cdk/aws_databrew/__init__.py +16 -16
  34. aws_cdk/aws_datasync/__init__.py +14 -11
  35. aws_cdk/aws_datazone/__init__.py +199 -129
  36. aws_cdk/aws_dms/__init__.py +4 -4
  37. aws_cdk/aws_dynamodb/__init__.py +267 -25
  38. aws_cdk/aws_ec2/__init__.py +1142 -184
  39. aws_cdk/aws_ecs/__init__.py +767 -124
  40. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  41. aws_cdk/aws_efs/__init__.py +8 -8
  42. aws_cdk/aws_eks/__init__.py +55 -35
  43. aws_cdk/aws_elasticache/__init__.py +10 -10
  44. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  45. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  46. aws_cdk/aws_emr/__init__.py +16 -16
  47. aws_cdk/aws_emrserverless/__init__.py +93 -4
  48. aws_cdk/aws_entityresolution/__init__.py +31 -17
  49. aws_cdk/aws_events/__init__.py +12 -12
  50. aws_cdk/aws_fis/__init__.py +16 -16
  51. aws_cdk/aws_fms/__init__.py +46 -0
  52. aws_cdk/aws_gamelift/__init__.py +8 -10
  53. aws_cdk/aws_glue/__init__.py +1326 -7
  54. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  55. aws_cdk/aws_guardduty/__init__.py +521 -0
  56. aws_cdk/aws_healthlake/__init__.py +10 -2
  57. aws_cdk/aws_iam/__init__.py +8 -0
  58. aws_cdk/aws_imagebuilder/__init__.py +88 -74
  59. aws_cdk/aws_iot/__init__.py +40 -40
  60. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  61. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  62. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  63. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  64. aws_cdk/aws_iotwireless/__init__.py +4 -4
  65. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  66. aws_cdk/aws_kendra/__init__.py +0 -10
  67. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  68. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  69. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  70. aws_cdk/aws_kms/__init__.py +11 -10
  71. aws_cdk/aws_lambda/__init__.py +47 -4
  72. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  73. aws_cdk/aws_launchwizard/__init__.py +10 -10
  74. aws_cdk/aws_logs/__init__.py +78 -74
  75. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  76. aws_cdk/aws_medialive/__init__.py +16 -16
  77. aws_cdk/aws_mediatailor/__init__.py +10 -10
  78. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  79. aws_cdk/aws_notifications/__init__.py +1927 -0
  80. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  81. aws_cdk/aws_omics/__init__.py +4 -4
  82. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  83. aws_cdk/aws_opsworks/__init__.py +58 -58
  84. aws_cdk/aws_personalize/__init__.py +8 -8
  85. aws_cdk/aws_pipes/__init__.py +20 -20
  86. aws_cdk/aws_qbusiness/__init__.py +119 -0
  87. aws_cdk/aws_quicksight/__init__.py +247 -92
  88. aws_cdk/aws_rds/__init__.py +37 -37
  89. aws_cdk/aws_redshift/__init__.py +19 -15
  90. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  91. aws_cdk/aws_route53/__init__.py +10 -4
  92. aws_cdk/aws_route53_targets/__init__.py +15 -15
  93. aws_cdk/aws_rum/__init__.py +4 -4
  94. aws_cdk/aws_s3/__init__.py +801 -2
  95. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  96. aws_cdk/aws_s3tables/__init__.py +2 -2
  97. aws_cdk/aws_sagemaker/__init__.py +84 -60
  98. aws_cdk/aws_sam/__init__.py +48 -48
  99. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  100. aws_cdk/aws_securityhub/__init__.py +12 -12
  101. aws_cdk/aws_sns/__init__.py +137 -12
  102. aws_cdk/aws_ssm/__init__.py +5 -5
  103. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  104. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  105. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  106. aws_cdk/aws_synthetics/__init__.py +109 -36
  107. aws_cdk/aws_timestream/__init__.py +41 -0
  108. aws_cdk/aws_transfer/__init__.py +9 -10
  109. aws_cdk/aws_wafv2/__init__.py +24 -22
  110. aws_cdk/aws_wisdom/__init__.py +8 -8
  111. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  112. aws_cdk/aws_xray/__init__.py +8 -8
  113. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  114. aws_cdk/cx_api/__init__.py +62 -4
  115. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/METADATA +3 -3
  116. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/RECORD +120 -118
  117. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/LICENSE +0 -0
  118. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/NOTICE +0 -0
  119. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/WHEEL +0 -0
  120. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.178.0.dist-info}/top_level.txt +0 -0
@@ -49,6 +49,8 @@ load_balanced_fargate_service = ecs_patterns.ApplicationLoadBalancedFargateServi
49
49
  command=["command"],
50
50
  entry_point=["entry", "point"]
51
51
  ),
52
+ container_cpu=256,
53
+ container_memory_limit_mi_b=512,
52
54
  min_healthy_percent=100
53
55
  )
54
56
 
@@ -74,6 +76,10 @@ By setting `redirectHTTP` to true, CDK will automatically create a listener on p
74
76
 
75
77
  If you specify the option `recordType` you can decide if you want the construct to use CNAME or Route53-Aliases as record sets.
76
78
 
79
+ To set the minimum number of CPU units to reserve for the container, you can use the `containerCpu` property.
80
+
81
+ To set the amount of memory (in MiB) to provide to the container, you can use the `containerMemoryLimitMiB` property.
82
+
77
83
  If you need to encrypt the traffic between the load balancer and the ECS tasks, you can set the `targetProtocol` to `HTTPS`.
78
84
 
79
85
  Additionally, if more than one application target group are needed, instantiate one of the following:
@@ -8411,6 +8417,8 @@ class ApplicationLoadBalancedFargateService(
8411
8417
  id: builtins.str,
8412
8418
  *,
8413
8419
  assign_public_ip: typing.Optional[builtins.bool] = None,
8420
+ container_cpu: typing.Optional[jsii.Number] = None,
8421
+ container_memory_limit_mib: typing.Optional[jsii.Number] = None,
8414
8422
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
8415
8423
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
8416
8424
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8457,6 +8465,8 @@ class ApplicationLoadBalancedFargateService(
8457
8465
  :param scope: -
8458
8466
  :param id: -
8459
8467
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
8468
+ :param container_cpu: The minimum number of CPU units to reserve for the container. Default: - No minimum CPU units reserved.
8469
+ :param container_memory_limit_mib: The amount (in MiB) of memory to present to the container. If your container attempts to exceed the allocated memory, the container is terminated. Default: - No memory limit.
8460
8470
  :param health_check: The health check command and associated configuration parameters for the container. Default: - Health check configuration from container.
8461
8471
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
8462
8472
  :param task_subnets: The subnets to associate with the service. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
@@ -8504,6 +8514,8 @@ class ApplicationLoadBalancedFargateService(
8504
8514
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8505
8515
  props = ApplicationLoadBalancedFargateServiceProps(
8506
8516
  assign_public_ip=assign_public_ip,
8517
+ container_cpu=container_cpu,
8518
+ container_memory_limit_mib=container_memory_limit_mib,
8507
8519
  health_check=health_check,
8508
8520
  security_groups=security_groups,
8509
8521
  task_subnets=task_subnets,
@@ -8611,6 +8623,8 @@ class ApplicationLoadBalancedFargateService(
8611
8623
  "runtime_platform": "runtimePlatform",
8612
8624
  "task_definition": "taskDefinition",
8613
8625
  "assign_public_ip": "assignPublicIp",
8626
+ "container_cpu": "containerCpu",
8627
+ "container_memory_limit_mib": "containerMemoryLimitMiB",
8614
8628
  "health_check": "healthCheck",
8615
8629
  "security_groups": "securityGroups",
8616
8630
  "task_subnets": "taskSubnets",
@@ -8661,6 +8675,8 @@ class ApplicationLoadBalancedFargateServiceProps(
8661
8675
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
8662
8676
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
8663
8677
  assign_public_ip: typing.Optional[builtins.bool] = None,
8678
+ container_cpu: typing.Optional[jsii.Number] = None,
8679
+ container_memory_limit_mib: typing.Optional[jsii.Number] = None,
8664
8680
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
8665
8681
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
8666
8682
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -8705,6 +8721,8 @@ class ApplicationLoadBalancedFargateServiceProps(
8705
8721
  :param runtime_platform: The runtime platform of the task definition. Default: - If the property is undefined, ``operatingSystemFamily`` is LINUX and ``cpuArchitecture`` is X86_64
8706
8722
  :param task_definition: The task definition to use for tasks in the service. TaskDefinition or TaskImageOptions must be specified, but not both. [disable-awslint:ref-via-interface] Default: - none
8707
8723
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
8724
+ :param container_cpu: The minimum number of CPU units to reserve for the container. Default: - No minimum CPU units reserved.
8725
+ :param container_memory_limit_mib: The amount (in MiB) of memory to present to the container. If your container attempts to exceed the allocated memory, the container is terminated. Default: - No memory limit.
8708
8726
  :param health_check: The health check command and associated configuration parameters for the container. Default: - Health check configuration from container.
8709
8727
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
8710
8728
  :param task_subnets: The subnets to associate with the service. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
@@ -8793,6 +8811,8 @@ class ApplicationLoadBalancedFargateServiceProps(
8793
8811
  check_type(argname="argument runtime_platform", value=runtime_platform, expected_type=type_hints["runtime_platform"])
8794
8812
  check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
8795
8813
  check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
8814
+ check_type(argname="argument container_cpu", value=container_cpu, expected_type=type_hints["container_cpu"])
8815
+ check_type(argname="argument container_memory_limit_mib", value=container_memory_limit_mib, expected_type=type_hints["container_memory_limit_mib"])
8796
8816
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
8797
8817
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
8798
8818
  check_type(argname="argument task_subnets", value=task_subnets, expected_type=type_hints["task_subnets"])
@@ -8873,6 +8893,10 @@ class ApplicationLoadBalancedFargateServiceProps(
8873
8893
  self._values["task_definition"] = task_definition
8874
8894
  if assign_public_ip is not None:
8875
8895
  self._values["assign_public_ip"] = assign_public_ip
8896
+ if container_cpu is not None:
8897
+ self._values["container_cpu"] = container_cpu
8898
+ if container_memory_limit_mib is not None:
8899
+ self._values["container_memory_limit_mib"] = container_memory_limit_mib
8876
8900
  if health_check is not None:
8877
8901
  self._values["health_check"] = health_check
8878
8902
  if security_groups is not None:
@@ -9324,6 +9348,27 @@ class ApplicationLoadBalancedFargateServiceProps(
9324
9348
  result = self._values.get("assign_public_ip")
9325
9349
  return typing.cast(typing.Optional[builtins.bool], result)
9326
9350
 
9351
+ @builtins.property
9352
+ def container_cpu(self) -> typing.Optional[jsii.Number]:
9353
+ '''The minimum number of CPU units to reserve for the container.
9354
+
9355
+ :default: - No minimum CPU units reserved.
9356
+ '''
9357
+ result = self._values.get("container_cpu")
9358
+ return typing.cast(typing.Optional[jsii.Number], result)
9359
+
9360
+ @builtins.property
9361
+ def container_memory_limit_mib(self) -> typing.Optional[jsii.Number]:
9362
+ '''The amount (in MiB) of memory to present to the container.
9363
+
9364
+ If your container attempts to exceed the allocated memory, the container
9365
+ is terminated.
9366
+
9367
+ :default: - No memory limit.
9368
+ '''
9369
+ result = self._values.get("container_memory_limit_mib")
9370
+ return typing.cast(typing.Optional[jsii.Number], result)
9371
+
9327
9372
  @builtins.property
9328
9373
  def health_check(self) -> typing.Optional[_HealthCheck_6459d04f]:
9329
9374
  '''The health check command and associated configuration parameters for the container.
@@ -17086,6 +17131,8 @@ def _typecheckingstub__52e4707f036e6b5ab8a12a1dd88ad78656d9ef102eb7d04caef957d69
17086
17131
  id: builtins.str,
17087
17132
  *,
17088
17133
  assign_public_ip: typing.Optional[builtins.bool] = None,
17134
+ container_cpu: typing.Optional[jsii.Number] = None,
17135
+ container_memory_limit_mib: typing.Optional[jsii.Number] = None,
17089
17136
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
17090
17137
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
17091
17138
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -17170,6 +17217,8 @@ def _typecheckingstub__cdcb8bd483faaddad588ad37d4527fa1a0028fc2307a21fc3690044a0
17170
17217
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
17171
17218
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
17172
17219
  assign_public_ip: typing.Optional[builtins.bool] = None,
17220
+ container_cpu: typing.Optional[jsii.Number] = None,
17221
+ container_memory_limit_mib: typing.Optional[jsii.Number] = None,
17173
17222
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
17174
17223
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
17175
17224
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1634,7 +1634,7 @@ class CfnFileSystem(
1634
1634
  :param kms_key_id: The ID of the AWS KMS key to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault KMS key . If this parameter is not specified, the default KMS key for Amazon EFS is used. This ID can be in one of the following formats: - Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab`` . - ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` . - Key alias - A previously created display name for a key, for example ``alias/projectKey1`` . - Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1`` . If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true.
1635
1635
  :param lifecycle_policies: An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following: - When to move files in the file system from primary storage to IA storage. - When to move files in the file system from primary storage or IA storage to Archive storage. - When to move files that are in IA or Archive storage to primary storage. .. epigraph:: Amazon EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA`` , ``TransitionToArchive`` ``TransitionToPrimaryStorageClass`` . See the example requests in the following section for more information.
1636
1636
  :param performance_mode: The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems. .. epigraph:: Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems. Default is ``generalPurpose`` .
1637
- :param provisioned_throughput_in_mibps: The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact AWS Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
1637
+ :param provisioned_throughput_in_mibps: The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
1638
1638
  :param replication_configuration: Describes the replication configuration for a specific file system.
1639
1639
  :param throughput_mode: Specifies the throughput mode for the file system. The mode can be ``bursting`` , ``provisioned`` , or ``elastic`` . If you set ``ThroughputMode`` to ``provisioned`` , you must also set a value for ``ProvisionedThroughputInMibps`` . After you create the file system, you can decrease your file system's Provisioned throughput or change between the throughput modes, with certain time restrictions. For more information, see `Specifying throughput with provisioned mode <https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput>`_ in the *Amazon EFS User Guide* . Default is ``bursting`` .
1640
1640
  '''
@@ -2502,7 +2502,7 @@ class CfnFileSystemProps:
2502
2502
  :param kms_key_id: The ID of the AWS KMS key to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault KMS key . If this parameter is not specified, the default KMS key for Amazon EFS is used. This ID can be in one of the following formats: - Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab`` . - ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` . - Key alias - A previously created display name for a key, for example ``alias/projectKey1`` . - Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1`` . If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true.
2503
2503
  :param lifecycle_policies: An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following: - When to move files in the file system from primary storage to IA storage. - When to move files in the file system from primary storage or IA storage to Archive storage. - When to move files that are in IA or Archive storage to primary storage. .. epigraph:: Amazon EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA`` , ``TransitionToArchive`` ``TransitionToPrimaryStorageClass`` . See the example requests in the following section for more information.
2504
2504
  :param performance_mode: The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems. .. epigraph:: Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems. Default is ``generalPurpose`` .
2505
- :param provisioned_throughput_in_mibps: The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact AWS Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
2505
+ :param provisioned_throughput_in_mibps: The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
2506
2506
  :param replication_configuration: Describes the replication configuration for a specific file system.
2507
2507
  :param throughput_mode: Specifies the throughput mode for the file system. The mode can be ``bursting`` , ``provisioned`` , or ``elastic`` . If you set ``ThroughputMode`` to ``provisioned`` , you must also set a value for ``ProvisionedThroughputInMibps`` . After you create the file system, you can decrease your file system's Provisioned throughput or change between the throughput modes, with certain time restrictions. For more information, see `Specifying throughput with provisioned mode <https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput>`_ in the *Amazon EFS User Guide* . Default is ``bursting`` .
2508
2508
 
@@ -2742,7 +2742,7 @@ class CfnFileSystemProps:
2742
2742
  def provisioned_throughput_in_mibps(self) -> typing.Optional[jsii.Number]:
2743
2743
  '''The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating.
2744
2744
 
2745
- Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact AWS Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
2745
+ Required if ``ThroughputMode`` is set to ``provisioned`` . Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Support . For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`_ in the *Amazon EFS User Guide* .
2746
2746
 
2747
2747
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-provisionedthroughputinmibps
2748
2748
  '''
@@ -2829,7 +2829,7 @@ class CfnMountTarget(
2829
2829
  :param scope: Scope in which this resource is defined.
2830
2830
  :param id: Construct identifier for this resource (unique in its scope).
2831
2831
  :param file_system_id: The ID of the file system for which to create the mount target.
2832
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2832
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2833
2833
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2834
2834
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2835
2835
  '''
@@ -2919,7 +2919,7 @@ class CfnMountTarget(
2919
2919
  @builtins.property
2920
2920
  @jsii.member(jsii_name="securityGroups")
2921
2921
  def security_groups(self) -> typing.List[builtins.str]:
2922
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2922
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2923
2923
  return typing.cast(typing.List[builtins.str], jsii.get(self, "securityGroups"))
2924
2924
 
2925
2925
  @security_groups.setter
@@ -2978,7 +2978,7 @@ class CfnMountTargetProps:
2978
2978
  '''Properties for defining a ``CfnMountTarget``.
2979
2979
 
2980
2980
  :param file_system_id: The ID of the file system for which to create the mount target.
2981
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2981
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2982
2982
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2983
2983
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2984
2984
 
@@ -3026,9 +3026,9 @@ class CfnMountTargetProps:
3026
3026
 
3027
3027
  @builtins.property
3028
3028
  def security_groups(self) -> typing.List[builtins.str]:
3029
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3029
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3030
3030
 
3031
- These must be for the same VPC as subnet specified.
3031
+ These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
3032
3032
 
3033
3033
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups
3034
3034
  '''
@@ -822,7 +822,7 @@ By default, CDK will create a new python lambda function to apply your k8s manif
822
822
 
823
823
  ```python
824
824
  handler_role = iam.Role.from_role_arn(self, "HandlerRole", "arn:aws:iam::123456789012:role/lambda-role")
825
- # get the serivceToken from the custom resource provider
825
+ # get the serviceToken from the custom resource provider
826
826
  function_arn = lambda_.Function.from_function_name(self, "ProviderOnEventFunc", "ProviderframeworkonEvent-XXX").function_arn
827
827
  kubectl_provider = eks.KubectlProvider.from_kubectl_provider_attributes(self, "KubectlProvider",
828
828
  function_arn=function_arn,
@@ -2690,7 +2690,7 @@ class AddonProps:
2690
2690
 
2691
2691
  :param addon_name: Name of the Add-On.
2692
2692
  :param cluster: The EKS cluster the Add-On is associated with.
2693
- :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
2693
+ :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versions. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
2694
2694
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
2695
2695
 
2696
2696
  :exampleMetadata: infused
@@ -2741,7 +2741,7 @@ class AddonProps:
2741
2741
  def addon_version(self) -> typing.Optional[builtins.str]:
2742
2742
  '''Version of the Add-On.
2743
2743
 
2744
- You can check all available versions with describe-addon-versons.
2744
+ You can check all available versions with describe-addon-versions.
2745
2745
  For example, this lists all available versions for the ``eks-pod-identity-agent`` addon:
2746
2746
  $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent
2747
2747
  --query 'addons[*].addonVersions[*].addonVersion'
@@ -4675,11 +4675,11 @@ class CfnAccessEntry(
4675
4675
  :param scope: Scope in which this resource is defined.
4676
4676
  :param id: Construct identifier for this resource (unique in its scope).
4677
4677
  :param cluster_name: The name of your cluster.
4678
- :param principal_arn: The ARN of the IAM principal for the ``AccessEntry`` . You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation. The valid principals differ depending on the type of the access entry in the ``type`` field. The only valid ARN is IAM roles for the types of access entries for nodes: `` `` . You can use every IAM principal type for ``STANDARD`` access entries. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions. `IAM best practices <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp>`_ recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.
4678
+ :param principal_arn: The ARN of the IAM principal for the ``AccessEntry`` . You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation. The valid principals differ depending on the type of the access entry in the ``type`` field. For ``STANDARD`` access entries, you can use every IAM principal type. For nodes ( ``EC2`` (for EKS Auto Mode), ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``FARGATE_LINUX`` , and ``HYBRID_LINUX`` ), the only valid ARN is IAM roles. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions. `IAM best practices <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp>`_ recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.
4679
4679
  :param access_policies: The access policies to associate to the access entry.
4680
4680
  :param kubernetes_groups: The value for ``name`` that you've specified for ``kind: Group`` as a ``subject`` in a Kubernetes ``RoleBinding`` or ``ClusterRoleBinding`` object. Amazon EKS doesn't confirm that the value for ``name`` exists in any bindings on your cluster. You can specify one or more names. Kubernetes authorizes the ``principalArn`` of the access entry to access any cluster objects that you've specified in a Kubernetes ``Role`` or ``ClusterRole`` object that is also specified in a binding's ``roleRef`` . For more information about creating Kubernetes ``RoleBinding`` , ``ClusterRoleBinding`` , ``Role`` , or ``ClusterRole`` objects, see `Using RBAC Authorization in the Kubernetes documentation <https://docs.aws.amazon.com/https://kubernetes.io/docs/reference/access-authn-authz/rbac/>`_ . If you want Amazon EKS to authorize the ``principalArn`` (instead of, or in addition to Kubernetes authorizing the ``principalArn`` ), you can associate one or more access policies to the access entry using ``AssociateAccessPolicy`` . If you associate any access policies, the ``principalARN`` has all permissions assigned in the associated access policies and all permissions in any Kubernetes ``Role`` or ``ClusterRole`` objects that the group names are bound to.
4681
4681
  :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.
4682
- :param type: The type of the new access entry. Valid values are ``Standard`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , and ``EC2_WINDOWS`` . If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry. If you set the value to ``EC2_LINUX`` or ``EC2_WINDOWS`` , you can't specify values for ``kubernetesGroups`` , or associate an ``AccessPolicy`` to the access entry.
4682
+ :param type: The type of the new access entry. Valid values are ``STANDARD`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``EC2`` (for EKS Auto Mode), ``HYBRID_LINUX`` , and ``HYPERPOD_LINUX`` . If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . If you have the access mode of the cluster set to ``API_AND_CONFIG_MAP`` , it's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry. If you set the value to ``EC2_LINUX`` or ``EC2_WINDOWS`` , you can't specify values for ``kubernetesGroups`` , or associate an ``AccessPolicy`` to the access entry.
4683
4683
  :param username: The username to authenticate to Kubernetes with. We recommend not specifying a username and letting Amazon EKS specify it for you. For more information about the value Amazon EKS specifies for you, or constraints before specifying your own username, see `Creating access entries <https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html#creating-access-entries>`_ in the *Amazon EKS User Guide* .
4684
4684
  '''
4685
4685
  if __debug__:
@@ -4824,10 +4824,7 @@ class CfnAccessEntry(
4824
4824
  @builtins.property
4825
4825
  @jsii.member(jsii_name="type")
4826
4826
  def type(self) -> typing.Optional[builtins.str]:
4827
- '''The type of the new access entry.
4828
-
4829
- Valid values are ``Standard`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , and ``EC2_WINDOWS`` .
4830
- '''
4827
+ '''The type of the new access entry.'''
4831
4828
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "type"))
4832
4829
 
4833
4830
  @type.setter
@@ -5034,11 +5031,11 @@ class CfnAccessEntryProps:
5034
5031
  '''Properties for defining a ``CfnAccessEntry``.
5035
5032
 
5036
5033
  :param cluster_name: The name of your cluster.
5037
- :param principal_arn: The ARN of the IAM principal for the ``AccessEntry`` . You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation. The valid principals differ depending on the type of the access entry in the ``type`` field. The only valid ARN is IAM roles for the types of access entries for nodes: `` `` . You can use every IAM principal type for ``STANDARD`` access entries. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions. `IAM best practices <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp>`_ recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.
5034
+ :param principal_arn: The ARN of the IAM principal for the ``AccessEntry`` . You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation. The valid principals differ depending on the type of the access entry in the ``type`` field. For ``STANDARD`` access entries, you can use every IAM principal type. For nodes ( ``EC2`` (for EKS Auto Mode), ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``FARGATE_LINUX`` , and ``HYBRID_LINUX`` ), the only valid ARN is IAM roles. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions. `IAM best practices <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp>`_ recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.
5038
5035
  :param access_policies: The access policies to associate to the access entry.
5039
5036
  :param kubernetes_groups: The value for ``name`` that you've specified for ``kind: Group`` as a ``subject`` in a Kubernetes ``RoleBinding`` or ``ClusterRoleBinding`` object. Amazon EKS doesn't confirm that the value for ``name`` exists in any bindings on your cluster. You can specify one or more names. Kubernetes authorizes the ``principalArn`` of the access entry to access any cluster objects that you've specified in a Kubernetes ``Role`` or ``ClusterRole`` object that is also specified in a binding's ``roleRef`` . For more information about creating Kubernetes ``RoleBinding`` , ``ClusterRoleBinding`` , ``Role`` , or ``ClusterRole`` objects, see `Using RBAC Authorization in the Kubernetes documentation <https://docs.aws.amazon.com/https://kubernetes.io/docs/reference/access-authn-authz/rbac/>`_ . If you want Amazon EKS to authorize the ``principalArn`` (instead of, or in addition to Kubernetes authorizing the ``principalArn`` ), you can associate one or more access policies to the access entry using ``AssociateAccessPolicy`` . If you associate any access policies, the ``principalARN`` has all permissions assigned in the associated access policies and all permissions in any Kubernetes ``Role`` or ``ClusterRole`` objects that the group names are bound to.
5040
5037
  :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.
5041
- :param type: The type of the new access entry. Valid values are ``Standard`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , and ``EC2_WINDOWS`` . If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry. If you set the value to ``EC2_LINUX`` or ``EC2_WINDOWS`` , you can't specify values for ``kubernetesGroups`` , or associate an ``AccessPolicy`` to the access entry.
5038
+ :param type: The type of the new access entry. Valid values are ``STANDARD`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``EC2`` (for EKS Auto Mode), ``HYBRID_LINUX`` , and ``HYPERPOD_LINUX`` . If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . If you have the access mode of the cluster set to ``API_AND_CONFIG_MAP`` , it's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry. If you set the value to ``EC2_LINUX`` or ``EC2_WINDOWS`` , you can't specify values for ``kubernetesGroups`` , or associate an ``AccessPolicy`` to the access entry.
5042
5039
  :param username: The username to authenticate to Kubernetes with. We recommend not specifying a username and letting Amazon EKS specify it for you. For more information about the value Amazon EKS specifies for you, or constraints before specifying your own username, see `Creating access entries <https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html#creating-access-entries>`_ in the *Amazon EKS User Guide* .
5043
5040
 
5044
5041
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html
@@ -5113,7 +5110,7 @@ class CfnAccessEntryProps:
5113
5110
 
5114
5111
  You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation.
5115
5112
 
5116
- The valid principals differ depending on the type of the access entry in the ``type`` field. The only valid ARN is IAM roles for the types of access entries for nodes: `` `` . You can use every IAM principal type for ``STANDARD`` access entries. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions.
5113
+ The valid principals differ depending on the type of the access entry in the ``type`` field. For ``STANDARD`` access entries, you can use every IAM principal type. For nodes ( ``EC2`` (for EKS Auto Mode), ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``FARGATE_LINUX`` , and ``HYBRID_LINUX`` ), the only valid ARN is IAM roles. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions.
5117
5114
 
5118
5115
  `IAM best practices <https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp>`_ recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.
5119
5116
 
@@ -5162,9 +5159,11 @@ class CfnAccessEntryProps:
5162
5159
 
5163
5160
  @builtins.property
5164
5161
  def type(self) -> typing.Optional[builtins.str]:
5165
- '''The type of the new access entry. Valid values are ``Standard`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , and ``EC2_WINDOWS`` .
5162
+ '''The type of the new access entry.
5166
5163
 
5167
- If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry.
5164
+ Valid values are ``STANDARD`` , ``FARGATE_LINUX`` , ``EC2_LINUX`` , ``EC2_WINDOWS`` , ``EC2`` (for EKS Auto Mode), ``HYBRID_LINUX`` , and ``HYPERPOD_LINUX`` .
5165
+
5166
+ If the ``principalArn`` is for an IAM role that's used for self-managed Amazon EC2 nodes, specify ``EC2_LINUX`` or ``EC2_WINDOWS`` . Amazon EKS grants the necessary permissions to the node for you. If the ``principalArn`` is for any other purpose, specify ``STANDARD`` . If you don't specify a value, Amazon EKS sets the value to ``STANDARD`` . If you have the access mode of the cluster set to ``API_AND_CONFIG_MAP`` , it's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the ``aws-auth`` ``ConfigMap`` for the roles. You can't change this value once you've created the access entry.
5168
5167
 
5169
5168
  If you set the value to ``EC2_LINUX`` or ``EC2_WINDOWS`` , you can't specify values for ``kubernetesGroups`` , or associate an ``AccessPolicy`` to the access entry.
5170
5169
 
@@ -5261,7 +5260,7 @@ class CfnAddon(
5261
5260
  :param configuration_values: The configuration values that you provided.
5262
5261
  :param pod_identity_associations: An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster. For more information, see `Attach an IAM Role to an Amazon EKS add-on using Pod Identity <https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html>`_ in the *Amazon EKS User Guide* .
5263
5262
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.
5264
- :param resolve_conflicts: How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: - *None* – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. - *Overwrite* – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see `UpdateAddon <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ . If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
5263
+ :param resolve_conflicts: How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: - *None* – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. - *Overwrite* – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see ```UpdateAddon`` <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ . If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
5265
5264
  :param service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see `Amazon EKS node IAM role <https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html>`_ in the *Amazon EKS User Guide* . .. epigraph:: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see `Enabling IAM roles for service accounts on your cluster <https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html>`_ in the *Amazon EKS User Guide* .
5266
5265
  :param tags: The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Add-on tags do not propagate to any other resources associated with the cluster.
5267
5266
  '''
@@ -5571,7 +5570,7 @@ class CfnAddonProps:
5571
5570
  :param configuration_values: The configuration values that you provided.
5572
5571
  :param pod_identity_associations: An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster. For more information, see `Attach an IAM Role to an Amazon EKS add-on using Pod Identity <https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html>`_ in the *Amazon EKS User Guide* .
5573
5572
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.
5574
- :param resolve_conflicts: How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: - *None* – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. - *Overwrite* – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see `UpdateAddon <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ . If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
5573
+ :param resolve_conflicts: How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: - *None* – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. - *Overwrite* – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see ```UpdateAddon`` <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ . If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
5575
5574
  :param service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see `Amazon EKS node IAM role <https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html>`_ in the *Amazon EKS User Guide* . .. epigraph:: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see `Enabling IAM roles for service accounts on your cluster <https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html>`_ in the *Amazon EKS User Guide* .
5576
5575
  :param tags: The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Add-on tags do not propagate to any other resources associated with the cluster.
5577
5576
 
@@ -5708,7 +5707,7 @@ class CfnAddonProps:
5708
5707
 
5709
5708
  - *None* – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
5710
5709
  - *Overwrite* – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
5711
- - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see `UpdateAddon <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ .
5710
+ - *Preserve* – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see ```UpdateAddon`` <https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html>`_ .
5712
5711
 
5713
5712
  If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
5714
5713
 
@@ -9418,7 +9417,8 @@ class CfnNodegroup(
9418
9417
  )],
9419
9418
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
9420
9419
  max_unavailable=123,
9421
- max_unavailable_percentage=123
9420
+ max_unavailable_percentage=123,
9421
+ update_strategy="updateStrategy"
9422
9422
  ),
9423
9423
  version="version"
9424
9424
  )
@@ -9437,7 +9437,7 @@ class CfnNodegroup(
9437
9437
  disk_size: typing.Optional[jsii.Number] = None,
9438
9438
  force_update_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9439
9439
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
9440
- labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
9440
+ labels: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
9441
9441
  launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnNodegroup.LaunchTemplateSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9442
9442
  nodegroup_name: typing.Optional[builtins.str] = None,
9443
9443
  node_repair_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnNodegroup.NodeRepairConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -9689,14 +9689,14 @@ class CfnNodegroup(
9689
9689
  @jsii.member(jsii_name="labels")
9690
9690
  def labels(
9691
9691
  self,
9692
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
9692
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
9693
9693
  '''The Kubernetes ``labels`` applied to the nodes in the node group.'''
9694
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "labels"))
9694
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "labels"))
9695
9695
 
9696
9696
  @labels.setter
9697
9697
  def labels(
9698
9698
  self,
9699
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
9699
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
9700
9700
  ) -> None:
9701
9701
  if __debug__:
9702
9702
  type_hints = typing.get_type_hints(_typecheckingstub__bfdcdc90e2da680bcf24a101a162039fcfa5c8ddbf5eae9a97a45451dc10a0e1)
@@ -10294,6 +10294,7 @@ class CfnNodegroup(
10294
10294
  name_mapping={
10295
10295
  "max_unavailable": "maxUnavailable",
10296
10296
  "max_unavailable_percentage": "maxUnavailablePercentage",
10297
+ "update_strategy": "updateStrategy",
10297
10298
  },
10298
10299
  )
10299
10300
  class UpdateConfigProperty:
@@ -10302,11 +10303,13 @@ class CfnNodegroup(
10302
10303
  *,
10303
10304
  max_unavailable: typing.Optional[jsii.Number] = None,
10304
10305
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
10306
+ update_strategy: typing.Optional[builtins.str] = None,
10305
10307
  ) -> None:
10306
10308
  '''The update configuration for the node group.
10307
10309
 
10308
10310
  :param max_unavailable: The maximum number of nodes unavailable at once during a version update. Nodes are updated in parallel. This value or ``maxUnavailablePercentage`` is required to have a value.The maximum number is 100.
10309
10311
  :param max_unavailable_percentage: The maximum percentage of nodes unavailable during a version update. This percentage of nodes are updated in parallel, up to 100 nodes at once. This value or ``maxUnavailable`` is required to have a value.
10312
+ :param update_strategy: The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10310
10313
 
10311
10314
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html
10312
10315
  :exampleMetadata: fixture=_generated
@@ -10319,18 +10322,22 @@ class CfnNodegroup(
10319
10322
 
10320
10323
  update_config_property = eks.CfnNodegroup.UpdateConfigProperty(
10321
10324
  max_unavailable=123,
10322
- max_unavailable_percentage=123
10325
+ max_unavailable_percentage=123,
10326
+ update_strategy="updateStrategy"
10323
10327
  )
10324
10328
  '''
10325
10329
  if __debug__:
10326
10330
  type_hints = typing.get_type_hints(_typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe5434326e12)
10327
10331
  check_type(argname="argument max_unavailable", value=max_unavailable, expected_type=type_hints["max_unavailable"])
10328
10332
  check_type(argname="argument max_unavailable_percentage", value=max_unavailable_percentage, expected_type=type_hints["max_unavailable_percentage"])
10333
+ check_type(argname="argument update_strategy", value=update_strategy, expected_type=type_hints["update_strategy"])
10329
10334
  self._values: typing.Dict[builtins.str, typing.Any] = {}
10330
10335
  if max_unavailable is not None:
10331
10336
  self._values["max_unavailable"] = max_unavailable
10332
10337
  if max_unavailable_percentage is not None:
10333
10338
  self._values["max_unavailable_percentage"] = max_unavailable_percentage
10339
+ if update_strategy is not None:
10340
+ self._values["update_strategy"] = update_strategy
10334
10341
 
10335
10342
  @builtins.property
10336
10343
  def max_unavailable(self) -> typing.Optional[jsii.Number]:
@@ -10354,6 +10361,17 @@ class CfnNodegroup(
10354
10361
  result = self._values.get("max_unavailable_percentage")
10355
10362
  return typing.cast(typing.Optional[jsii.Number], result)
10356
10363
 
10364
+ @builtins.property
10365
+ def update_strategy(self) -> typing.Optional[builtins.str]:
10366
+ '''The configuration for the behavior to follow during an node group version update of this managed node group.
10367
+
10368
+ You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10369
+
10370
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html#cfn-eks-nodegroup-updateconfig-updatestrategy
10371
+ '''
10372
+ result = self._values.get("update_strategy")
10373
+ return typing.cast(typing.Optional[builtins.str], result)
10374
+
10357
10375
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10358
10376
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10359
10377
 
@@ -10403,7 +10421,7 @@ class CfnNodegroupProps:
10403
10421
  disk_size: typing.Optional[jsii.Number] = None,
10404
10422
  force_update_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10405
10423
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
10406
- labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
10424
+ labels: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
10407
10425
  launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10408
10426
  nodegroup_name: typing.Optional[builtins.str] = None,
10409
10427
  node_repair_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.NodeRepairConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -10491,7 +10509,8 @@ class CfnNodegroupProps:
10491
10509
  )],
10492
10510
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
10493
10511
  max_unavailable=123,
10494
- max_unavailable_percentage=123
10512
+ max_unavailable_percentage=123,
10513
+ update_strategy="updateStrategy"
10495
10514
  ),
10496
10515
  version="version"
10497
10516
  )
@@ -10649,7 +10668,7 @@ class CfnNodegroupProps:
10649
10668
  @builtins.property
10650
10669
  def labels(
10651
10670
  self,
10652
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
10671
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
10653
10672
  '''The Kubernetes ``labels`` applied to the nodes in the node group.
10654
10673
 
10655
10674
  .. epigraph::
@@ -10659,7 +10678,7 @@ class CfnNodegroupProps:
10659
10678
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-labels
10660
10679
  '''
10661
10680
  result = self._values.get("labels")
10662
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
10681
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
10663
10682
 
10664
10683
  @builtins.property
10665
10684
  def launch_template(
@@ -14203,7 +14222,7 @@ class KubectlProvider(
14203
14222
  Example::
14204
14223
 
14205
14224
  handler_role = iam.Role.from_role_arn(self, "HandlerRole", "arn:aws:iam::123456789012:role/lambda-role")
14206
- # get the serivceToken from the custom resource provider
14225
+ # get the serviceToken from the custom resource provider
14207
14226
  function_arn = lambda_.Function.from_function_name(self, "ProviderOnEventFunc", "ProviderframeworkonEvent-XXX").function_arn
14208
14227
  kubectl_provider = eks.KubectlProvider.from_kubectl_provider_attributes(self, "KubectlProvider",
14209
14228
  function_arn=function_arn,
@@ -14333,7 +14352,7 @@ class KubectlProviderAttributes:
14333
14352
  Example::
14334
14353
 
14335
14354
  handler_role = iam.Role.from_role_arn(self, "HandlerRole", "arn:aws:iam::123456789012:role/lambda-role")
14336
- # get the serivceToken from the custom resource provider
14355
+ # get the serviceToken from the custom resource provider
14337
14356
  function_arn = lambda_.Function.from_function_name(self, "ProviderOnEventFunc", "ProviderframeworkonEvent-XXX").function_arn
14338
14357
  kubectl_provider = eks.KubectlProvider.from_kubectl_provider_attributes(self, "KubectlProvider",
14339
14358
  function_arn=function_arn,
@@ -14522,7 +14541,7 @@ class KubernetesManifest(
14522
14541
  @jsii.python.classproperty
14523
14542
  @jsii.member(jsii_name="RESOURCE_TYPE")
14524
14543
  def RESOURCE_TYPE(cls) -> builtins.str:
14525
- '''The CloudFormation reosurce type.'''
14544
+ '''The CloudFormation resource type.'''
14526
14545
  return typing.cast(builtins.str, jsii.sget(cls, "RESOURCE_TYPE"))
14527
14546
 
14528
14547
 
@@ -14951,7 +14970,7 @@ class KubernetesObjectValue(
14951
14970
  @jsii.python.classproperty
14952
14971
  @jsii.member(jsii_name="RESOURCE_TYPE")
14953
14972
  def RESOURCE_TYPE(cls) -> builtins.str:
14954
- '''The CloudFormation reosurce type.'''
14973
+ '''The CloudFormation resource type.'''
14955
14974
  return typing.cast(builtins.str, jsii.sget(cls, "RESOURCE_TYPE"))
14956
14975
 
14957
14976
  @builtins.property
@@ -17873,7 +17892,7 @@ class Addon(
17873
17892
  :param id: The construct ID.
17874
17893
  :param addon_name: Name of the Add-On.
17875
17894
  :param cluster: The EKS cluster the Add-On is associated with.
17876
- :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
17895
+ :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versions. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
17877
17896
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
17878
17897
  '''
17879
17898
  if __debug__:
@@ -21964,7 +21983,7 @@ def _typecheckingstub__27ebd660a66f96284eec036f7614b1586f77d9990c9dd345fe73522c7
21964
21983
  disk_size: typing.Optional[jsii.Number] = None,
21965
21984
  force_update_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21966
21985
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
21967
- labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
21986
+ labels: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
21968
21987
  launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21969
21988
  nodegroup_name: typing.Optional[builtins.str] = None,
21970
21989
  node_repair_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.NodeRepairConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -22040,7 +22059,7 @@ def _typecheckingstub__d7945a05c2376d70b30fc28a96959abf6f7e23d90fd6e700764137f4b
22040
22059
  pass
22041
22060
 
22042
22061
  def _typecheckingstub__bfdcdc90e2da680bcf24a101a162039fcfa5c8ddbf5eae9a97a45451dc10a0e1(
22043
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
22062
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
22044
22063
  ) -> None:
22045
22064
  """Type checking stubs"""
22046
22065
  pass
@@ -22151,6 +22170,7 @@ def _typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe543
22151
22170
  *,
22152
22171
  max_unavailable: typing.Optional[jsii.Number] = None,
22153
22172
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
22173
+ update_strategy: typing.Optional[builtins.str] = None,
22154
22174
  ) -> None:
22155
22175
  """Type checking stubs"""
22156
22176
  pass
@@ -22165,7 +22185,7 @@ def _typecheckingstub__61a7b4277678abead400083fb1974a4f71ee28a78b5e79235fc3a4581
22165
22185
  disk_size: typing.Optional[jsii.Number] = None,
22166
22186
  force_update_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22167
22187
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
22168
- labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
22188
+ labels: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
22169
22189
  launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22170
22190
  nodegroup_name: typing.Optional[builtins.str] = None,
22171
22191
  node_repair_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnNodegroup.NodeRepairConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,