aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (62) hide show
  1. aws_cdk/__init__.py +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -311,6 +311,20 @@ When this feature flag is enabled and calling KMS key grant method, the created
311
311
  }
312
312
  ```
313
313
 
314
+ * `@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal`
315
+
316
+ Enable grant methods on imported KMS Aliases to apply permissions scoped by the alias using the `kms:ResourceAliases` condition key. When this flag is disabled, grant* methods on `Alias.fromAliasName` remain no-ops to preserve existing behavior.
317
+
318
+ *cdk.json*
319
+
320
+ ```json
321
+ {
322
+ "context": {
323
+ "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": true
324
+ }
325
+ }
326
+ ```
327
+
314
328
  * `@aws-cdk/aws-eks:nodegroupNameAttribute`
315
329
 
316
330
  When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix.
@@ -540,6 +540,7 @@ pass in order to promote from the `PreProd` to the `Prod` environment:
540
540
 
541
541
  preprod = MyApplicationStage(self, "PreProd")
542
542
  prod = MyApplicationStage(self, "Prod")
543
+ topic = sns.Topic(self, "ChangeApprovalTopic")
543
544
 
544
545
  pipeline.add_stage(preprod,
545
546
  post=[
@@ -549,7 +550,12 @@ pipeline.add_stage(preprod,
549
550
  ]
550
551
  )
551
552
  pipeline.add_stage(prod,
552
- pre=[pipelines.ManualApprovalStep("PromoteToProd")]
553
+ pre=[pipelines.ManualApprovalStep("PromoteToProd",
554
+ # All options below are optional
555
+ comment="Please validate changes",
556
+ review_url="https://my.webservice.com/",
557
+ notification_topic=topic
558
+ )]
553
559
  )
554
560
  ```
555
561
 
@@ -1837,19 +1843,18 @@ class AddStageOpts:
1837
1843
 
1838
1844
  # pipeline: pipelines.CodePipeline
1839
1845
 
1840
- preprod = MyApplicationStage(self, "PreProd")
1841
- prod = MyApplicationStage(self, "Prod")
1846
+ topic = sns.Topic(self, "SecurityChangesTopic")
1847
+ topic.add_subscription(subscriptions.EmailSubscription("test@email.com"))
1842
1848
 
1843
- pipeline.add_stage(preprod,
1844
- post=[
1845
- pipelines.ShellStep("Validate Endpoint",
1846
- commands=["curl -Ssf https://my.webservice.com/"]
1849
+ stage = MyApplicationStage(self, "MyApplication")
1850
+ pipeline.add_stage(stage,
1851
+ pre=[
1852
+ pipelines.ConfirmPermissionsBroadening("Check",
1853
+ stage=stage,
1854
+ notification_topic=topic
1847
1855
  )
1848
1856
  ]
1849
1857
  )
1850
- pipeline.add_stage(prod,
1851
- pre=[pipelines.ManualApprovalStep("PromoteToProd")]
1852
- )
1853
1858
  '''
1854
1859
  if __debug__:
1855
1860
  type_hints = typing.get_type_hints(_typecheckingstub__1b9c1bc74292ecb27724ef07a41dc8f1b1ee5d9dc268940f2ec578982b596b0a)
@@ -3759,32 +3764,64 @@ typing.cast(typing.Any, IFileSetProducer).__jsii_proxy_class__ = lambda : _IFile
3759
3764
  @jsii.data_type(
3760
3765
  jsii_type="aws-cdk-lib.pipelines.ManualApprovalStepProps",
3761
3766
  jsii_struct_bases=[],
3762
- name_mapping={"comment": "comment"},
3767
+ name_mapping={
3768
+ "comment": "comment",
3769
+ "notification_topic": "notificationTopic",
3770
+ "review_url": "reviewUrl",
3771
+ },
3763
3772
  )
3764
3773
  class ManualApprovalStepProps:
3765
- def __init__(self, *, comment: typing.Optional[builtins.str] = None) -> None:
3774
+ def __init__(
3775
+ self,
3776
+ *,
3777
+ comment: typing.Optional[builtins.str] = None,
3778
+ notification_topic: typing.Optional[_ITopic_9eca4852] = None,
3779
+ review_url: typing.Optional[builtins.str] = None,
3780
+ ) -> None:
3766
3781
  '''Construction properties for a ``ManualApprovalStep``.
3767
3782
 
3768
3783
  :param comment: The comment to display with this manual approval. Default: - No comment
3784
+ :param notification_topic: Optional SNS topic to send notifications to when an approval is pending. Default: - No notifications
3785
+ :param review_url: The URL for review associated with this manual approval. Default: - No URL
3769
3786
 
3770
- :exampleMetadata: fixture=_generated
3787
+ :exampleMetadata: infused
3771
3788
 
3772
3789
  Example::
3773
3790
 
3774
- # The code below shows an example of how to instantiate this type.
3775
- # The values are placeholders you should change.
3776
- from aws_cdk import pipelines
3791
+ # pipeline: pipelines.CodePipeline
3792
+
3793
+ preprod = MyApplicationStage(self, "PreProd")
3794
+ prod = MyApplicationStage(self, "Prod")
3795
+ topic = sns.Topic(self, "ChangeApprovalTopic")
3777
3796
 
3778
- manual_approval_step_props = pipelines.ManualApprovalStepProps(
3779
- comment="comment"
3797
+ pipeline.add_stage(preprod,
3798
+ post=[
3799
+ pipelines.ShellStep("Validate Endpoint",
3800
+ commands=["curl -Ssf https://my.webservice.com/"]
3801
+ )
3802
+ ]
3803
+ )
3804
+ pipeline.add_stage(prod,
3805
+ pre=[pipelines.ManualApprovalStep("PromoteToProd",
3806
+ # All options below are optional
3807
+ comment="Please validate changes",
3808
+ review_url="https://my.webservice.com/",
3809
+ notification_topic=topic
3810
+ )]
3780
3811
  )
3781
3812
  '''
3782
3813
  if __debug__:
3783
3814
  type_hints = typing.get_type_hints(_typecheckingstub__5a0a42f985a6aa39b8db8606833d899bd8c93567a96ac5acb2c9407bde8793ed)
3784
3815
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
3816
+ check_type(argname="argument notification_topic", value=notification_topic, expected_type=type_hints["notification_topic"])
3817
+ check_type(argname="argument review_url", value=review_url, expected_type=type_hints["review_url"])
3785
3818
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3786
3819
  if comment is not None:
3787
3820
  self._values["comment"] = comment
3821
+ if notification_topic is not None:
3822
+ self._values["notification_topic"] = notification_topic
3823
+ if review_url is not None:
3824
+ self._values["review_url"] = review_url
3788
3825
 
3789
3826
  @builtins.property
3790
3827
  def comment(self) -> typing.Optional[builtins.str]:
@@ -3795,6 +3832,24 @@ class ManualApprovalStepProps:
3795
3832
  result = self._values.get("comment")
3796
3833
  return typing.cast(typing.Optional[builtins.str], result)
3797
3834
 
3835
+ @builtins.property
3836
+ def notification_topic(self) -> typing.Optional[_ITopic_9eca4852]:
3837
+ '''Optional SNS topic to send notifications to when an approval is pending.
3838
+
3839
+ :default: - No notifications
3840
+ '''
3841
+ result = self._values.get("notification_topic")
3842
+ return typing.cast(typing.Optional[_ITopic_9eca4852], result)
3843
+
3844
+ @builtins.property
3845
+ def review_url(self) -> typing.Optional[builtins.str]:
3846
+ '''The URL for review associated with this manual approval.
3847
+
3848
+ :default: - No URL
3849
+ '''
3850
+ result = self._values.get("review_url")
3851
+ return typing.cast(typing.Optional[builtins.str], result)
3852
+
3798
3853
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3799
3854
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3800
3855
 
@@ -4505,17 +4560,26 @@ class ShellStepProps:
4505
4560
 
4506
4561
  Example::
4507
4562
 
4508
- # code_pipeline: codepipeline.Pipeline
4509
-
4563
+ # pipeline: pipelines.CodePipeline
4510
4564
 
4511
- source_artifact = codepipeline.Artifact("MySourceArtifact")
4565
+ preprod = MyApplicationStage(self, "PreProd")
4566
+ prod = MyApplicationStage(self, "Prod")
4567
+ topic = sns.Topic(self, "ChangeApprovalTopic")
4512
4568
 
4513
- pipeline = pipelines.CodePipeline(self, "Pipeline",
4514
- code_pipeline=code_pipeline,
4515
- synth=pipelines.ShellStep("Synth",
4516
- input=pipelines.CodePipelineFileSet.from_artifact(source_artifact),
4517
- commands=["npm ci", "npm run build", "npx cdk synth"]
4518
- )
4569
+ pipeline.add_stage(preprod,
4570
+ post=[
4571
+ pipelines.ShellStep("Validate Endpoint",
4572
+ commands=["curl -Ssf https://my.webservice.com/"]
4573
+ )
4574
+ ]
4575
+ )
4576
+ pipeline.add_stage(prod,
4577
+ pre=[pipelines.ManualApprovalStep("PromoteToProd",
4578
+ # All options below are optional
4579
+ comment="Please validate changes",
4580
+ review_url="https://my.webservice.com/",
4581
+ notification_topic=topic
4582
+ )]
4519
4583
  )
4520
4584
  '''
4521
4585
  if __debug__:
@@ -7317,6 +7381,7 @@ class ManualApprovalStep(
7317
7381
 
7318
7382
  preprod = MyApplicationStage(self, "PreProd")
7319
7383
  prod = MyApplicationStage(self, "Prod")
7384
+ topic = sns.Topic(self, "ChangeApprovalTopic")
7320
7385
 
7321
7386
  pipeline.add_stage(preprod,
7322
7387
  post=[
@@ -7326,7 +7391,12 @@ class ManualApprovalStep(
7326
7391
  ]
7327
7392
  )
7328
7393
  pipeline.add_stage(prod,
7329
- pre=[pipelines.ManualApprovalStep("PromoteToProd")]
7394
+ pre=[pipelines.ManualApprovalStep("PromoteToProd",
7395
+ # All options below are optional
7396
+ comment="Please validate changes",
7397
+ review_url="https://my.webservice.com/",
7398
+ notification_topic=topic
7399
+ )]
7330
7400
  )
7331
7401
  '''
7332
7402
 
@@ -7335,15 +7405,23 @@ class ManualApprovalStep(
7335
7405
  id: builtins.str,
7336
7406
  *,
7337
7407
  comment: typing.Optional[builtins.str] = None,
7408
+ notification_topic: typing.Optional[_ITopic_9eca4852] = None,
7409
+ review_url: typing.Optional[builtins.str] = None,
7338
7410
  ) -> None:
7339
7411
  '''
7340
7412
  :param id: Identifier for this step.
7341
7413
  :param comment: The comment to display with this manual approval. Default: - No comment
7414
+ :param notification_topic: Optional SNS topic to send notifications to when an approval is pending. Default: - No notifications
7415
+ :param review_url: The URL for review associated with this manual approval. Default: - No URL
7342
7416
  '''
7343
7417
  if __debug__:
7344
7418
  type_hints = typing.get_type_hints(_typecheckingstub__e1bf3ac4525b2831190c490c38deb9452f7e662bb66f5cb63ba43cdac1db0dc4)
7345
7419
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7346
- props = ManualApprovalStepProps(comment=comment)
7420
+ props = ManualApprovalStepProps(
7421
+ comment=comment,
7422
+ notification_topic=notification_topic,
7423
+ review_url=review_url,
7424
+ )
7347
7425
 
7348
7426
  jsii.create(self.__class__, self, [id, props])
7349
7427
 
@@ -7356,6 +7434,24 @@ class ManualApprovalStep(
7356
7434
  '''
7357
7435
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "comment"))
7358
7436
 
7437
+ @builtins.property
7438
+ @jsii.member(jsii_name="notificationTopic")
7439
+ def notification_topic(self) -> typing.Optional[_ITopic_9eca4852]:
7440
+ '''Optional SNS topic to send notifications.
7441
+
7442
+ :default: - No notifications
7443
+ '''
7444
+ return typing.cast(typing.Optional[_ITopic_9eca4852], jsii.get(self, "notificationTopic"))
7445
+
7446
+ @builtins.property
7447
+ @jsii.member(jsii_name="reviewUrl")
7448
+ def review_url(self) -> typing.Optional[builtins.str]:
7449
+ '''The URL for review associated with this manual approval.
7450
+
7451
+ :default: - No URL
7452
+ '''
7453
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "reviewUrl"))
7454
+
7359
7455
 
7360
7456
  class ShellStep(
7361
7457
  Step,
@@ -7371,17 +7467,26 @@ class ShellStep(
7371
7467
 
7372
7468
  Example::
7373
7469
 
7374
- # code_pipeline: codepipeline.Pipeline
7375
-
7470
+ # pipeline: pipelines.CodePipeline
7376
7471
 
7377
- source_artifact = codepipeline.Artifact("MySourceArtifact")
7472
+ preprod = MyApplicationStage(self, "PreProd")
7473
+ prod = MyApplicationStage(self, "Prod")
7474
+ topic = sns.Topic(self, "ChangeApprovalTopic")
7378
7475
 
7379
- pipeline = pipelines.CodePipeline(self, "Pipeline",
7380
- code_pipeline=code_pipeline,
7381
- synth=pipelines.ShellStep("Synth",
7382
- input=pipelines.CodePipelineFileSet.from_artifact(source_artifact),
7383
- commands=["npm ci", "npm run build", "npx cdk synth"]
7384
- )
7476
+ pipeline.add_stage(preprod,
7477
+ post=[
7478
+ pipelines.ShellStep("Validate Endpoint",
7479
+ commands=["curl -Ssf https://my.webservice.com/"]
7480
+ )
7481
+ ]
7482
+ )
7483
+ pipeline.add_stage(prod,
7484
+ pre=[pipelines.ManualApprovalStep("PromoteToProd",
7485
+ # All options below are optional
7486
+ comment="Please validate changes",
7487
+ review_url="https://my.webservice.com/",
7488
+ notification_topic=topic
7489
+ )]
7385
7490
  )
7386
7491
  '''
7387
7492
 
@@ -8109,6 +8214,8 @@ def _typecheckingstub__99773084b7df122e2f7df8455d5966ec674016081ec53bbdb52b9a758
8109
8214
  def _typecheckingstub__5a0a42f985a6aa39b8db8606833d899bd8c93567a96ac5acb2c9407bde8793ed(
8110
8215
  *,
8111
8216
  comment: typing.Optional[builtins.str] = None,
8217
+ notification_topic: typing.Optional[_ITopic_9eca4852] = None,
8218
+ review_url: typing.Optional[builtins.str] = None,
8112
8219
  ) -> None:
8113
8220
  """Type checking stubs"""
8114
8221
  pass
@@ -8592,6 +8699,8 @@ def _typecheckingstub__e1bf3ac4525b2831190c490c38deb9452f7e662bb66f5cb63ba43cdac
8592
8699
  id: builtins.str,
8593
8700
  *,
8594
8701
  comment: typing.Optional[builtins.str] = None,
8702
+ notification_topic: typing.Optional[_ITopic_9eca4852] = None,
8703
+ review_url: typing.Optional[builtins.str] = None,
8595
8704
  ) -> None:
8596
8705
  """Type checking stubs"""
8597
8706
  pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk-lib
3
- Version: 2.200.2
3
+ Version: 2.202.0
4
4
  Summary: Version 2 of the AWS Cloud Development Kit library
5
5
  Home-page: https://github.com/aws/aws-cdk
6
6
  Author: Amazon Web Services
@@ -20,9 +20,9 @@ Requires-Python: ~=3.9
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
22
  License-File: NOTICE
23
- Requires-Dist: aws-cdk.asset-awscli-v1==2.2.237
23
+ Requires-Dist: aws-cdk.asset-awscli-v1==2.2.240
24
24
  Requires-Dist: aws-cdk.asset-node-proxy-agent-v6<3.0.0,>=2.1.0
25
- Requires-Dist: aws-cdk.cloud-assembly-schema<45.0.0,>=44.1.0
25
+ Requires-Dist: aws-cdk.cloud-assembly-schema<45.0.0,>=44.2.0
26
26
  Requires-Dist: constructs<11.0.0,>=10.0.0
27
27
  Requires-Dist: jsii<2.0.0,>=1.112.0
28
28
  Requires-Dist: publication>=0.0.3