aws-cdk-lib 2.139.1__py3-none-any.whl → 2.141.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 (60) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.139.1.jsii.tgz → aws-cdk-lib@2.141.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +70 -56
  5. aws_cdk/aws_apigateway/__init__.py +126 -53
  6. aws_cdk/aws_applicationautoscaling/__init__.py +1 -4
  7. aws_cdk/aws_arczonalshift/__init__.py +49 -44
  8. aws_cdk/aws_bedrock/__init__.py +2829 -147
  9. aws_cdk/aws_cloudfront/__init__.py +51 -9
  10. aws_cdk/aws_cloudtrail/__init__.py +13 -4
  11. aws_cdk/aws_codecommit/__init__.py +72 -46
  12. aws_cdk/aws_connectcampaigns/__init__.py +34 -4
  13. aws_cdk/aws_datasync/__init__.py +96 -75
  14. aws_cdk/aws_dms/__init__.py +0 -269
  15. aws_cdk/aws_dynamodb/__init__.py +410 -0
  16. aws_cdk/aws_ec2/__init__.py +239 -84
  17. aws_cdk/aws_ecr/__init__.py +32 -7
  18. aws_cdk/aws_ecs/__init__.py +2 -4
  19. aws_cdk/aws_efs/__init__.py +16 -2
  20. aws_cdk/aws_eks/__init__.py +57 -0
  21. aws_cdk/aws_entityresolution/__init__.py +6 -2
  22. aws_cdk/aws_events/__init__.py +115 -0
  23. aws_cdk/aws_events_targets/__init__.py +15 -0
  24. aws_cdk/aws_fis/__init__.py +2 -1
  25. aws_cdk/aws_fms/__init__.py +7 -7
  26. aws_cdk/aws_gamelift/__init__.py +1984 -107
  27. aws_cdk/aws_globalaccelerator/__init__.py +20 -16
  28. aws_cdk/aws_iam/__init__.py +2 -2
  29. aws_cdk/aws_ivs/__init__.py +1 -3
  30. aws_cdk/aws_kinesis/__init__.py +21 -0
  31. aws_cdk/aws_kinesisvideo/__init__.py +6 -4
  32. aws_cdk/aws_kms/__init__.py +33 -6
  33. aws_cdk/aws_lambda/__init__.py +0 -9
  34. aws_cdk/aws_location/__init__.py +8 -4
  35. aws_cdk/aws_medialive/__init__.py +444 -3
  36. aws_cdk/aws_oam/__init__.py +45 -11
  37. aws_cdk/aws_omics/__init__.py +4 -4
  38. aws_cdk/aws_paymentcryptography/__init__.py +1155 -0
  39. aws_cdk/aws_personalize/__init__.py +8 -2
  40. aws_cdk/aws_pinpoint/__init__.py +7 -5
  41. aws_cdk/aws_qbusiness/__init__.py +5583 -0
  42. aws_cdk/aws_quicksight/__init__.py +10063 -1450
  43. aws_cdk/aws_rds/__init__.py +77 -5
  44. aws_cdk/aws_redshiftserverless/__init__.py +13 -9
  45. aws_cdk/aws_route53/__init__.py +350 -0
  46. aws_cdk/aws_route53profiles/__init__.py +1048 -0
  47. aws_cdk/aws_s3/__init__.py +1 -1
  48. aws_cdk/aws_sagemaker/__init__.py +30 -30
  49. aws_cdk/aws_ses/__init__.py +9 -9
  50. aws_cdk/aws_transfer/__init__.py +102 -37
  51. aws_cdk/aws_voiceid/__init__.py +2 -2
  52. aws_cdk/aws_workspacesweb/__init__.py +92 -6
  53. aws_cdk/custom_resources/__init__.py +23 -2
  54. aws_cdk/cx_api/__init__.py +16 -0
  55. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/METADATA +2 -2
  56. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/RECORD +60 -57
  57. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/top_level.txt +0 -0
@@ -219,6 +219,27 @@ repository.add_to_resource_policy(iam.PolicyStatement(
219
219
  principals=[iam.AnyPrincipal()]
220
220
  ))
221
221
  ```
222
+
223
+ ## CloudWatch event rules
224
+
225
+ You can publish repository events to a CloudWatch event rule with `onEvent`:
226
+
227
+ ```python
228
+ import aws_cdk.aws_lambda as lambda_
229
+ from aws_cdk.aws_events_targets import LambdaFunction
230
+
231
+
232
+ repo = ecr.Repository(self, "Repo")
233
+ lambda_handler = lambda_.Function(self, "LambdaFunction",
234
+ runtime=lambda_.Runtime.PYTHON_3_12,
235
+ code=lambda_.Code.from_inline("# dummy func"),
236
+ handler="index.handler"
237
+ )
238
+
239
+ repo.on_event("OnEventTargetLambda",
240
+ target=LambdaFunction(lambda_handler)
241
+ )
242
+ ```
222
243
  '''
223
244
  from pkgutil import extend_path
224
245
  __path__ = extend_path(__path__, __name__)
@@ -4664,15 +4685,19 @@ class Repository(
4664
4685
 
4665
4686
  Example::
4666
4687
 
4667
- import aws_cdk.aws_ecr as ecr
4688
+ import aws_cdk.aws_lambda as lambda_
4689
+ from aws_cdk.aws_events_targets import LambdaFunction
4668
4690
 
4669
4691
 
4670
- apprunner.Service(self, "Service",
4671
- source=apprunner.Source.from_ecr(
4672
- image_configuration=apprunner.ImageConfiguration(port=80),
4673
- repository=ecr.Repository.from_repository_name(self, "NginxRepository", "nginx"),
4674
- tag_or_digest="latest"
4675
- )
4692
+ repo = ecr.Repository(self, "Repo")
4693
+ lambda_handler = lambda_.Function(self, "LambdaFunction",
4694
+ runtime=lambda_.Runtime.PYTHON_3_12,
4695
+ code=lambda_.Code.from_inline("# dummy func"),
4696
+ handler="index.handler"
4697
+ )
4698
+
4699
+ repo.on_event("OnEventTargetLambda",
4700
+ target=LambdaFunction(lambda_handler)
4676
4701
  )
4677
4702
  '''
4678
4703
 
@@ -11964,7 +11964,7 @@ class CfnTaskDefinition(
11964
11964
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
11965
11965
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11966
11966
  :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . For more information, see `Amazon ECS launch types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11967
- :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
11967
+ :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
11968
11968
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11969
11969
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11970
11970
  :param volumes: The list of data volume definitions for the task. For more information, see `Using data volumes in tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on AWS Fargate .
@@ -16541,7 +16541,7 @@ class CfnTaskDefinitionProps:
16541
16541
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
16542
16542
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16543
16543
  :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . For more information, see `Amazon ECS launch types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16544
- :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
16544
+ :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
16545
16545
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
16546
16546
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16547
16547
  :param volumes: The list of data volume definitions for the task. For more information, see `Using data volumes in tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on AWS Fargate .
@@ -17052,8 +17052,6 @@ class CfnTaskDefinitionProps:
17052
17052
 
17053
17053
  A platform family is specified only for tasks using the Fargate launch type.
17054
17054
 
17055
- When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
17056
-
17057
17055
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-runtimeplatform
17058
17056
  '''
17059
17057
  result = self._values.get("runtime_platform")
@@ -71,12 +71,26 @@ efs.FileSystem(self, "OneZoneFileSystem",
71
71
  ⚠️ One Zone file systems are not compatible with the MAX_IO performance mode.
72
72
 
73
73
  ⚠️ When `oneZone` is enabled, the file system is automatically placed in the first availability zone of the VPC.
74
- It is not currently possible to specify a different availability zone.
74
+ To specify a different availability zone:
75
+
76
+ ```python
77
+ # vpc: ec2.Vpc
78
+
79
+
80
+ efs.FileSystem(self, "OneZoneFileSystem",
81
+ vpc=vpc,
82
+ one_zone=True,
83
+ vpc_subnets=ec2.SubnetSelection(
84
+ availability_zones=["us-east-1b"]
85
+ )
86
+ )
87
+ ```
75
88
 
76
89
  ⚠️ When `oneZone` is enabled, mount targets will be created only in the specified availability zone.
77
90
  This is to prevent deployment failures due to cross-AZ configurations.
78
91
 
79
- ⚠️ When `oneZone` is enabled, `vpcSubnets` cannot be specified.
92
+ ⚠️ When `oneZone` is enabled, `vpcSubnets` can be specified with
93
+ `availabilityZones` that contains exactly one single zone.
80
94
 
81
95
  ### Replicating file systems
82
96
 
@@ -10206,6 +10206,7 @@ class HelmChart(
10206
10206
  id: builtins.str,
10207
10207
  *,
10208
10208
  cluster: "ICluster",
10209
+ atomic: typing.Optional[builtins.bool] = None,
10209
10210
  chart: typing.Optional[builtins.str] = None,
10210
10211
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
10211
10212
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -10222,6 +10223,7 @@ class HelmChart(
10222
10223
  :param scope: -
10223
10224
  :param id: -
10224
10225
  :param cluster: The EKS cluster to apply this configuration to. [disable-awslint:ref-via-interface]
10226
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
10225
10227
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
10226
10228
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
10227
10229
  :param create_namespace: create namespace if not exist. Default: true
@@ -10240,6 +10242,7 @@ class HelmChart(
10240
10242
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
10241
10243
  props = HelmChartProps(
10242
10244
  cluster=cluster,
10245
+ atomic=atomic,
10243
10246
  chart=chart,
10244
10247
  chart_asset=chart_asset,
10245
10248
  create_namespace=create_namespace,
@@ -10261,6 +10264,11 @@ class HelmChart(
10261
10264
  '''The CloudFormation resource type.'''
10262
10265
  return typing.cast(builtins.str, jsii.sget(cls, "RESOURCE_TYPE"))
10263
10266
 
10267
+ @builtins.property
10268
+ @jsii.member(jsii_name="atomic")
10269
+ def atomic(self) -> typing.Optional[builtins.bool]:
10270
+ return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "atomic"))
10271
+
10264
10272
  @builtins.property
10265
10273
  @jsii.member(jsii_name="chart")
10266
10274
  def chart(self) -> typing.Optional[builtins.str]:
@@ -10286,6 +10294,7 @@ class HelmChart(
10286
10294
  jsii_type="aws-cdk-lib.aws_eks.HelmChartOptions",
10287
10295
  jsii_struct_bases=[],
10288
10296
  name_mapping={
10297
+ "atomic": "atomic",
10289
10298
  "chart": "chart",
10290
10299
  "chart_asset": "chartAsset",
10291
10300
  "create_namespace": "createNamespace",
@@ -10303,6 +10312,7 @@ class HelmChartOptions:
10303
10312
  def __init__(
10304
10313
  self,
10305
10314
  *,
10315
+ atomic: typing.Optional[builtins.bool] = None,
10306
10316
  chart: typing.Optional[builtins.str] = None,
10307
10317
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
10308
10318
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -10317,6 +10327,7 @@ class HelmChartOptions:
10317
10327
  ) -> None:
10318
10328
  '''Helm Chart options.
10319
10329
 
10330
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
10320
10331
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
10321
10332
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
10322
10333
  :param create_namespace: create namespace if not exist. Default: true
@@ -10347,6 +10358,7 @@ class HelmChartOptions:
10347
10358
  '''
10348
10359
  if __debug__:
10349
10360
  type_hints = typing.get_type_hints(_typecheckingstub__f6972a55b9cddfcfdae45e3907a04dc773d9fa367223106572ea64bf22eafe3d)
10361
+ check_type(argname="argument atomic", value=atomic, expected_type=type_hints["atomic"])
10350
10362
  check_type(argname="argument chart", value=chart, expected_type=type_hints["chart"])
10351
10363
  check_type(argname="argument chart_asset", value=chart_asset, expected_type=type_hints["chart_asset"])
10352
10364
  check_type(argname="argument create_namespace", value=create_namespace, expected_type=type_hints["create_namespace"])
@@ -10359,6 +10371,8 @@ class HelmChartOptions:
10359
10371
  check_type(argname="argument version", value=version, expected_type=type_hints["version"])
10360
10372
  check_type(argname="argument wait", value=wait, expected_type=type_hints["wait"])
10361
10373
  self._values: typing.Dict[builtins.str, typing.Any] = {}
10374
+ if atomic is not None:
10375
+ self._values["atomic"] = atomic
10362
10376
  if chart is not None:
10363
10377
  self._values["chart"] = chart
10364
10378
  if chart_asset is not None:
@@ -10382,6 +10396,18 @@ class HelmChartOptions:
10382
10396
  if wait is not None:
10383
10397
  self._values["wait"] = wait
10384
10398
 
10399
+ @builtins.property
10400
+ def atomic(self) -> typing.Optional[builtins.bool]:
10401
+ '''Whether or not Helm should treat this operation as atomic;
10402
+
10403
+ if set, upgrade process rolls back changes
10404
+ made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used.
10405
+
10406
+ :default: false
10407
+ '''
10408
+ result = self._values.get("atomic")
10409
+ return typing.cast(typing.Optional[builtins.bool], result)
10410
+
10385
10411
  @builtins.property
10386
10412
  def chart(self) -> typing.Optional[builtins.str]:
10387
10413
  '''The name of the chart.
@@ -10511,6 +10537,7 @@ class HelmChartOptions:
10511
10537
  jsii_type="aws-cdk-lib.aws_eks.HelmChartProps",
10512
10538
  jsii_struct_bases=[HelmChartOptions],
10513
10539
  name_mapping={
10540
+ "atomic": "atomic",
10514
10541
  "chart": "chart",
10515
10542
  "chart_asset": "chartAsset",
10516
10543
  "create_namespace": "createNamespace",
@@ -10529,6 +10556,7 @@ class HelmChartProps(HelmChartOptions):
10529
10556
  def __init__(
10530
10557
  self,
10531
10558
  *,
10559
+ atomic: typing.Optional[builtins.bool] = None,
10532
10560
  chart: typing.Optional[builtins.str] = None,
10533
10561
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
10534
10562
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -10544,6 +10572,7 @@ class HelmChartProps(HelmChartOptions):
10544
10572
  ) -> None:
10545
10573
  '''Helm Chart properties.
10546
10574
 
10575
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
10547
10576
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
10548
10577
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
10549
10578
  :param create_namespace: create namespace if not exist. Default: true
@@ -10574,6 +10603,7 @@ class HelmChartProps(HelmChartOptions):
10574
10603
  '''
10575
10604
  if __debug__:
10576
10605
  type_hints = typing.get_type_hints(_typecheckingstub__3cca1be87809b190e4c5e436f984009d3dce2043a4fb17be5ea74ad9b58debef)
10606
+ check_type(argname="argument atomic", value=atomic, expected_type=type_hints["atomic"])
10577
10607
  check_type(argname="argument chart", value=chart, expected_type=type_hints["chart"])
10578
10608
  check_type(argname="argument chart_asset", value=chart_asset, expected_type=type_hints["chart_asset"])
10579
10609
  check_type(argname="argument create_namespace", value=create_namespace, expected_type=type_hints["create_namespace"])
@@ -10589,6 +10619,8 @@ class HelmChartProps(HelmChartOptions):
10589
10619
  self._values: typing.Dict[builtins.str, typing.Any] = {
10590
10620
  "cluster": cluster,
10591
10621
  }
10622
+ if atomic is not None:
10623
+ self._values["atomic"] = atomic
10592
10624
  if chart is not None:
10593
10625
  self._values["chart"] = chart
10594
10626
  if chart_asset is not None:
@@ -10612,6 +10644,18 @@ class HelmChartProps(HelmChartOptions):
10612
10644
  if wait is not None:
10613
10645
  self._values["wait"] = wait
10614
10646
 
10647
+ @builtins.property
10648
+ def atomic(self) -> typing.Optional[builtins.bool]:
10649
+ '''Whether or not Helm should treat this operation as atomic;
10650
+
10651
+ if set, upgrade process rolls back changes
10652
+ made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used.
10653
+
10654
+ :default: false
10655
+ '''
10656
+ result = self._values.get("atomic")
10657
+ return typing.cast(typing.Optional[builtins.bool], result)
10658
+
10615
10659
  @builtins.property
10616
10660
  def chart(self) -> typing.Optional[builtins.str]:
10617
10661
  '''The name of the chart.
@@ -10986,6 +11030,7 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
10986
11030
  self,
10987
11031
  id: builtins.str,
10988
11032
  *,
11033
+ atomic: typing.Optional[builtins.bool] = None,
10989
11034
  chart: typing.Optional[builtins.str] = None,
10990
11035
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
10991
11036
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -11001,6 +11046,7 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
11001
11046
  '''Defines a Helm chart in this cluster.
11002
11047
 
11003
11048
  :param id: logical id of this chart.
11049
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
11004
11050
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
11005
11051
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
11006
11052
  :param create_namespace: create namespace if not exist. Default: true
@@ -11346,6 +11392,7 @@ class _IClusterProxy(
11346
11392
  self,
11347
11393
  id: builtins.str,
11348
11394
  *,
11395
+ atomic: typing.Optional[builtins.bool] = None,
11349
11396
  chart: typing.Optional[builtins.str] = None,
11350
11397
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
11351
11398
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -11361,6 +11408,7 @@ class _IClusterProxy(
11361
11408
  '''Defines a Helm chart in this cluster.
11362
11409
 
11363
11410
  :param id: logical id of this chart.
11411
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
11364
11412
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
11365
11413
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
11366
11414
  :param create_namespace: create namespace if not exist. Default: true
@@ -11379,6 +11427,7 @@ class _IClusterProxy(
11379
11427
  type_hints = typing.get_type_hints(_typecheckingstub__08729ac4099dd779679b753fc203b6492daf687a1f8a07194d707cc6e3650d37)
11380
11428
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11381
11429
  options = HelmChartOptions(
11430
+ atomic=atomic,
11382
11431
  chart=chart,
11383
11432
  chart_asset=chart_asset,
11384
11433
  create_namespace=create_namespace,
@@ -15450,6 +15499,7 @@ class Cluster(
15450
15499
  self,
15451
15500
  id: builtins.str,
15452
15501
  *,
15502
+ atomic: typing.Optional[builtins.bool] = None,
15453
15503
  chart: typing.Optional[builtins.str] = None,
15454
15504
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
15455
15505
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -15465,6 +15515,7 @@ class Cluster(
15465
15515
  '''Defines a Helm chart in this cluster.
15466
15516
 
15467
15517
  :param id: logical id of this chart.
15518
+ :param atomic: Whether or not Helm should treat this operation as atomic; if set, upgrade process rolls back changes made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used. Default: false
15468
15519
  :param chart: The name of the chart. Either this or ``chartAsset`` must be specified. Default: - No chart name. Implies ``chartAsset`` is used.
15469
15520
  :param chart_asset: The chart in the form of an asset. Either this or ``chart`` must be specified. Default: - No chart asset. Implies ``chart`` is used.
15470
15521
  :param create_namespace: create namespace if not exist. Default: true
@@ -15483,6 +15534,7 @@ class Cluster(
15483
15534
  type_hints = typing.get_type_hints(_typecheckingstub__ff2724c18a4ac2eb51d401c5ea14857dd81b51b7f44f46a894e6cac37edd774f)
15484
15535
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15485
15536
  options = HelmChartOptions(
15537
+ atomic=atomic,
15486
15538
  chart=chart,
15487
15539
  chart_asset=chart_asset,
15488
15540
  create_namespace=create_namespace,
@@ -19047,6 +19099,7 @@ def _typecheckingstub__52726bf866c12e59b4b3f451037674503c3d95da4a298075df121981e
19047
19099
  id: builtins.str,
19048
19100
  *,
19049
19101
  cluster: ICluster,
19102
+ atomic: typing.Optional[builtins.bool] = None,
19050
19103
  chart: typing.Optional[builtins.str] = None,
19051
19104
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
19052
19105
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -19064,6 +19117,7 @@ def _typecheckingstub__52726bf866c12e59b4b3f451037674503c3d95da4a298075df121981e
19064
19117
 
19065
19118
  def _typecheckingstub__f6972a55b9cddfcfdae45e3907a04dc773d9fa367223106572ea64bf22eafe3d(
19066
19119
  *,
19120
+ atomic: typing.Optional[builtins.bool] = None,
19067
19121
  chart: typing.Optional[builtins.str] = None,
19068
19122
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
19069
19123
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -19081,6 +19135,7 @@ def _typecheckingstub__f6972a55b9cddfcfdae45e3907a04dc773d9fa367223106572ea64bf2
19081
19135
 
19082
19136
  def _typecheckingstub__3cca1be87809b190e4c5e436f984009d3dce2043a4fb17be5ea74ad9b58debef(
19083
19137
  *,
19138
+ atomic: typing.Optional[builtins.bool] = None,
19084
19139
  chart: typing.Optional[builtins.str] = None,
19085
19140
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
19086
19141
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -19112,6 +19167,7 @@ def _typecheckingstub__027a1f8770d590b40eccba041afe2250c0b1eab8a8d7e20ca1928a01a
19112
19167
  def _typecheckingstub__08729ac4099dd779679b753fc203b6492daf687a1f8a07194d707cc6e3650d37(
19113
19168
  id: builtins.str,
19114
19169
  *,
19170
+ atomic: typing.Optional[builtins.bool] = None,
19115
19171
  chart: typing.Optional[builtins.str] = None,
19116
19172
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
19117
19173
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -19613,6 +19669,7 @@ def _typecheckingstub__a6aa2e382a694744786e7d6854ca13bd607970f73536c975ae7475325
19613
19669
  def _typecheckingstub__ff2724c18a4ac2eb51d401c5ea14857dd81b51b7f44f46a894e6cac37edd774f(
19614
19670
  id: builtins.str,
19615
19671
  *,
19672
+ atomic: typing.Optional[builtins.bool] = None,
19616
19673
  chart: typing.Optional[builtins.str] = None,
19617
19674
  chart_asset: typing.Optional[_Asset_ac2a7e61] = None,
19618
19675
  create_namespace: typing.Optional[builtins.bool] = None,
@@ -2912,7 +2912,7 @@ class CfnPolicyStatement(
2912
2912
  :param statement_id: A statement identifier that differentiates the statement from others in the same policy.
2913
2913
  :param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
2914
2914
  :param condition: A set of condition keys that you can use in key policies.
2915
- :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
2915
+ :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ). .. epigraph:: If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
2916
2916
  :param principal: The AWS service or AWS account that can access the resource defined as ARN.
2917
2917
  '''
2918
2918
  if __debug__:
@@ -3073,7 +3073,7 @@ class CfnPolicyStatementProps:
3073
3073
  :param statement_id: A statement identifier that differentiates the statement from others in the same policy.
3074
3074
  :param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
3075
3075
  :param condition: A set of condition keys that you can use in key policies.
3076
- :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
3076
+ :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ). .. epigraph:: If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
3077
3077
  :param principal: The AWS service or AWS account that can access the resource defined as ARN.
3078
3078
 
3079
3079
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html
@@ -3161,6 +3161,10 @@ class CfnPolicyStatementProps:
3161
3161
  def effect(self) -> typing.Optional[builtins.str]:
3162
3162
  '''Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
3163
3163
 
3164
+ .. epigraph::
3165
+
3166
+ If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
3167
+
3164
3168
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-effect
3165
3169
  '''
3166
3170
  result = self._values.get("effect")
@@ -289,6 +289,75 @@ from ..aws_iam import (
289
289
  )
290
290
 
291
291
 
292
+ @jsii.data_type(
293
+ jsii_type="aws-cdk-lib.aws_events.ApiDestinationAttributes",
294
+ jsii_struct_bases=[],
295
+ name_mapping={
296
+ "api_destination_arn": "apiDestinationArn",
297
+ "connection": "connection",
298
+ },
299
+ )
300
+ class ApiDestinationAttributes:
301
+ def __init__(
302
+ self,
303
+ *,
304
+ api_destination_arn: builtins.str,
305
+ connection: "IConnection",
306
+ ) -> None:
307
+ '''The properties to import an existing Api Destination.
308
+
309
+ :param api_destination_arn: The ARN of the Api Destination.
310
+ :param connection: The Connection to associate with the Api Destination.
311
+
312
+ :exampleMetadata: infused
313
+
314
+ Example::
315
+
316
+ connection = events.Connection.from_event_bus_arn(self, "Connection", "arn:aws:events:us-east-1:123456789012:event-bus/EventBusName", "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-f3gDy9")
317
+
318
+ api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
319
+ destination = events.ApiDestination.from_api_destination_attributes(self, "Destination", api_destination_arn=api_destination_arn, connection=connection)
320
+
321
+ rule = events.Rule(self, "OtherRule",
322
+ schedule=events.Schedule.rate(Duration.minutes(10)),
323
+ targets=[targets.ApiDestination(destination)]
324
+ )
325
+ '''
326
+ if __debug__:
327
+ type_hints = typing.get_type_hints(_typecheckingstub__803612bfb0a8da2a8e0ca427792d066e933032d6f722156869f61949617c8303)
328
+ check_type(argname="argument api_destination_arn", value=api_destination_arn, expected_type=type_hints["api_destination_arn"])
329
+ check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
330
+ self._values: typing.Dict[builtins.str, typing.Any] = {
331
+ "api_destination_arn": api_destination_arn,
332
+ "connection": connection,
333
+ }
334
+
335
+ @builtins.property
336
+ def api_destination_arn(self) -> builtins.str:
337
+ '''The ARN of the Api Destination.'''
338
+ result = self._values.get("api_destination_arn")
339
+ assert result is not None, "Required property 'api_destination_arn' is missing"
340
+ return typing.cast(builtins.str, result)
341
+
342
+ @builtins.property
343
+ def connection(self) -> "IConnection":
344
+ '''The Connection to associate with the Api Destination.'''
345
+ result = self._values.get("connection")
346
+ assert result is not None, "Required property 'connection' is missing"
347
+ return typing.cast("IConnection", result)
348
+
349
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
350
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
351
+
352
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
353
+ return not (rhs == self)
354
+
355
+ def __repr__(self) -> str:
356
+ return "ApiDestinationAttributes(%s)" % ", ".join(
357
+ k + "=" + repr(v) for k, v in self._values.items()
358
+ )
359
+
360
+
292
361
  @jsii.data_type(
293
362
  jsii_type="aws-cdk-lib.aws_events.ApiDestinationProps",
294
363
  jsii_struct_bases=[],
@@ -10706,6 +10775,33 @@ class ApiDestination(
10706
10775
 
10707
10776
  jsii.create(self.__class__, self, [scope, id, props])
10708
10777
 
10778
+ @jsii.member(jsii_name="fromApiDestinationAttributes")
10779
+ @builtins.classmethod
10780
+ def from_api_destination_attributes(
10781
+ cls,
10782
+ scope: _constructs_77d1e7e8.Construct,
10783
+ id: builtins.str,
10784
+ *,
10785
+ api_destination_arn: builtins.str,
10786
+ connection: IConnection,
10787
+ ) -> "ApiDestination":
10788
+ '''Create an Api Destination construct from an existing Api Destination ARN.
10789
+
10790
+ :param scope: The scope creating construct (usually ``this``).
10791
+ :param id: The construct's id.
10792
+ :param api_destination_arn: The ARN of the Api Destination.
10793
+ :param connection: The Connection to associate with the Api Destination.
10794
+ '''
10795
+ if __debug__:
10796
+ type_hints = typing.get_type_hints(_typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110fa18cb55)
10797
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
10798
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
10799
+ attrs = ApiDestinationAttributes(
10800
+ api_destination_arn=api_destination_arn, connection=connection
10801
+ )
10802
+
10803
+ return typing.cast("ApiDestination", jsii.sinvoke(cls, "fromApiDestinationAttributes", [scope, id, attrs]))
10804
+
10709
10805
  @builtins.property
10710
10806
  @jsii.member(jsii_name="apiDestinationArn")
10711
10807
  def api_destination_arn(self) -> builtins.str:
@@ -11243,6 +11339,7 @@ class EventBus(
11243
11339
 
11244
11340
  __all__ = [
11245
11341
  "ApiDestination",
11342
+ "ApiDestinationAttributes",
11246
11343
  "ApiDestinationProps",
11247
11344
  "Archive",
11248
11345
  "ArchiveProps",
@@ -11294,6 +11391,14 @@ __all__ = [
11294
11391
 
11295
11392
  publication.publish()
11296
11393
 
11394
+ def _typecheckingstub__803612bfb0a8da2a8e0ca427792d066e933032d6f722156869f61949617c8303(
11395
+ *,
11396
+ api_destination_arn: builtins.str,
11397
+ connection: IConnection,
11398
+ ) -> None:
11399
+ """Type checking stubs"""
11400
+ pass
11401
+
11297
11402
  def _typecheckingstub__ce93e81ddac7a0ebc3fe6cf2783ea61dde8338f099332864ff087db25f7e83f2(
11298
11403
  *,
11299
11404
  connection: IConnection,
@@ -12562,6 +12667,16 @@ def _typecheckingstub__1aa3407b00276436e9ed372bbdc08c6dfd1419e8730d4851ceddeade8
12562
12667
  """Type checking stubs"""
12563
12668
  pass
12564
12669
 
12670
+ def _typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110fa18cb55(
12671
+ scope: _constructs_77d1e7e8.Construct,
12672
+ id: builtins.str,
12673
+ *,
12674
+ api_destination_arn: builtins.str,
12675
+ connection: IConnection,
12676
+ ) -> None:
12677
+ """Type checking stubs"""
12678
+ pass
12679
+
12565
12680
  def _typecheckingstub__3e9e21c5f043688b8d785343f3fca5b1c769d309ab6d381af52c9421aebc588a(
12566
12681
  *,
12567
12682
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
@@ -347,6 +347,21 @@ rule = events.Rule(self, "Rule",
347
347
  )
348
348
  ```
349
349
 
350
+ You can also import an existing connection and destination
351
+ to create additional rules:
352
+
353
+ ```python
354
+ connection = events.Connection.from_event_bus_arn(self, "Connection", "arn:aws:events:us-east-1:123456789012:event-bus/EventBusName", "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-f3gDy9")
355
+
356
+ api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
357
+ destination = events.ApiDestination.from_api_destination_attributes(self, "Destination", api_destination_arn=api_destination_arn, connection=connection)
358
+
359
+ rule = events.Rule(self, "OtherRule",
360
+ schedule=events.Schedule.rate(Duration.minutes(10)),
361
+ targets=[targets.ApiDestination(destination)]
362
+ )
363
+ ```
364
+
350
365
  ## Put an event on an EventBridge bus
351
366
 
352
367
  Use the `EventBus` target to route event to a different EventBus.
@@ -220,7 +220,8 @@ class CfnExperimentTemplate(
220
220
  @builtins.property
221
221
  @jsii.member(jsii_name="attrId")
222
222
  def attr_id(self) -> builtins.str:
223
- '''
223
+ '''The ID of the experiment template.
224
+
224
225
  :cloudformationAttribute: Id
225
226
  '''
226
227
  return typing.cast(builtins.str, jsii.get(self, "attrId"))