aws-cdk-lib 2.159.1__py3-none-any.whl → 2.161.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 (58) hide show
  1. aws_cdk/__init__.py +281 -33
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.159.1.jsii.tgz → aws-cdk-lib@2.161.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +13 -14
  5. aws_cdk/aws_autoscaling/__init__.py +2 -2
  6. aws_cdk/aws_b2bi/__init__.py +2283 -672
  7. aws_cdk/aws_batch/__init__.py +9 -5
  8. aws_cdk/aws_bedrock/__init__.py +52 -20
  9. aws_cdk/aws_cloudformation/__init__.py +9 -9
  10. aws_cdk/aws_cloudtrail/__init__.py +97 -183
  11. aws_cdk/aws_cloudwatch/__init__.py +38 -42
  12. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  13. aws_cdk/aws_cognito/__init__.py +18 -0
  14. aws_cdk/aws_datasync/__init__.py +1 -1
  15. aws_cdk/aws_dynamodb/__init__.py +4 -4
  16. aws_cdk/aws_ec2/__init__.py +138 -12
  17. aws_cdk/aws_ecs/__init__.py +517 -6
  18. aws_cdk/aws_eks/__init__.py +118 -2
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +5 -3
  20. aws_cdk/aws_glue/__init__.py +386 -0
  21. aws_cdk/aws_iotfleetwise/__init__.py +49 -49
  22. aws_cdk/aws_iottwinmaker/__init__.py +4 -4
  23. aws_cdk/aws_iotwireless/__init__.py +2 -1
  24. aws_cdk/aws_kinesisfirehose/__init__.py +52 -76
  25. aws_cdk/aws_kms/__init__.py +4 -4
  26. aws_cdk/aws_lambda/__init__.py +385 -244
  27. aws_cdk/aws_logs/__init__.py +455 -24
  28. aws_cdk/aws_mediaconnect/__init__.py +6 -4
  29. aws_cdk/aws_medialive/__init__.py +36 -0
  30. aws_cdk/aws_organizations/__init__.py +4 -3
  31. aws_cdk/aws_pipes/__init__.py +2 -2
  32. aws_cdk/aws_quicksight/__init__.py +1086 -6
  33. aws_cdk/aws_rds/__init__.py +182 -3
  34. aws_cdk/aws_route53resolver/__init__.py +3 -17
  35. aws_cdk/aws_s3/__init__.py +24 -15
  36. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  37. aws_cdk/aws_s3express/__init__.py +314 -4
  38. aws_cdk/aws_sagemaker/__init__.py +44 -4
  39. aws_cdk/aws_secretsmanager/__init__.py +14 -7
  40. aws_cdk/aws_securityhub/__init__.py +16 -14
  41. aws_cdk/aws_ses/__init__.py +52 -18
  42. aws_cdk/aws_sqs/__init__.py +16 -14
  43. aws_cdk/aws_ssm/__init__.py +6 -2
  44. aws_cdk/aws_stepfunctions/__init__.py +412 -32
  45. aws_cdk/aws_synthetics/__init__.py +46 -0
  46. aws_cdk/aws_waf/__init__.py +33 -22
  47. aws_cdk/aws_wafregional/__init__.py +36 -24
  48. aws_cdk/aws_workspacesweb/__init__.py +54 -3
  49. aws_cdk/cloud_assembly_schema/__init__.py +1304 -417
  50. aws_cdk/cloudformation_include/__init__.py +28 -0
  51. aws_cdk/cx_api/__init__.py +129 -0
  52. aws_cdk/pipelines/__init__.py +4 -4
  53. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/METADATA +4 -4
  54. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/RECORD +58 -58
  55. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/LICENSE +0 -0
  56. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/NOTICE +0 -0
  57. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/WHEEL +0 -0
  58. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/top_level.txt +0 -0
@@ -539,6 +539,7 @@ class CfnInclude(
539
539
  *,
540
540
  template_file: builtins.str,
541
541
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
542
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
542
543
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union["CfnIncludeProps", typing.Dict[builtins.str, typing.Any]]]] = None,
543
544
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
544
545
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -548,6 +549,7 @@ class CfnInclude(
548
549
  :param id: -
549
550
  :param template_file: Path to the template file. Both JSON and YAML template formats are supported.
550
551
  :param allow_cyclical_references: Specifies whether to allow cyclical references, effectively disregarding safeguards meant to avoid undeployable templates. This should only be set to true in the case of templates utilizing cloud transforms (e.g. SAM) that after processing the transform will no longer contain any circular references. Default: - will throw an error on detecting any cyclical references
552
+ :param dehydrated_resources: Specifies a list of LogicalIDs for resources that will be included in the CDK Stack, but will not be parsed and converted to CDK types. This allows you to use CFN templates that rely on Intrinsic placement that ``cfn-include`` would otherwise reject, such as non-primitive values in resource update policies. Default: - All resources are hydrated
551
553
  :param load_nested_stacks: Specifies the template files that define nested stacks that should be included. If your template specifies a stack that isn't included here, it won't be created as a NestedStack resource, and it won't be accessible from the ``CfnInclude.getNestedStack`` method (but will still be accessible from the ``CfnInclude.getResource`` method). If you include a stack here with an ID that isn't in the template, or is in the template but is not a nested stack, template creation will fail and an error will be thrown. Default: - no nested stacks will be included
552
554
  :param parameters: Specifies parameters to be replaced by the values in this mapping. Any parameters in the template that aren't specified here will be left unmodified. If you include a parameter here with an ID that isn't in the template, template creation will fail and an error will be thrown. If you are importing a parameter from a live stack, we cannot know the value of that parameter. You will need to supply a value for your parameters, else the default value will be used. Default: - parameters will retain their original definitions
553
555
  :param preserve_logical_ids: Whether the resources should have the same logical IDs in the resulting CDK template as they did in the original CloudFormation template file. If you're vending a Construct using an existing CloudFormation template, make sure to pass this as ``false``. **Note**: regardless of whether this option is true or false, the ``CfnInclude.getResource`` and related methods always uses the original logical ID of the resource/element, as specified in the template file. Default: true
@@ -559,6 +561,7 @@ class CfnInclude(
559
561
  props = CfnIncludeProps(
560
562
  template_file=template_file,
561
563
  allow_cyclical_references=allow_cyclical_references,
564
+ dehydrated_resources=dehydrated_resources,
562
565
  load_nested_stacks=load_nested_stacks,
563
566
  parameters=parameters,
564
567
  preserve_logical_ids=preserve_logical_ids,
@@ -707,6 +710,7 @@ class CfnInclude(
707
710
  *,
708
711
  template_file: builtins.str,
709
712
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
713
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
710
714
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union["CfnIncludeProps", typing.Dict[builtins.str, typing.Any]]]] = None,
711
715
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
712
716
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -721,6 +725,7 @@ class CfnInclude(
721
725
  :param logical_id: the ID of the stack to retrieve, as it appears in the template.
722
726
  :param template_file: Path to the template file. Both JSON and YAML template formats are supported.
723
727
  :param allow_cyclical_references: Specifies whether to allow cyclical references, effectively disregarding safeguards meant to avoid undeployable templates. This should only be set to true in the case of templates utilizing cloud transforms (e.g. SAM) that after processing the transform will no longer contain any circular references. Default: - will throw an error on detecting any cyclical references
728
+ :param dehydrated_resources: Specifies a list of LogicalIDs for resources that will be included in the CDK Stack, but will not be parsed and converted to CDK types. This allows you to use CFN templates that rely on Intrinsic placement that ``cfn-include`` would otherwise reject, such as non-primitive values in resource update policies. Default: - All resources are hydrated
724
729
  :param load_nested_stacks: Specifies the template files that define nested stacks that should be included. If your template specifies a stack that isn't included here, it won't be created as a NestedStack resource, and it won't be accessible from the ``CfnInclude.getNestedStack`` method (but will still be accessible from the ``CfnInclude.getResource`` method). If you include a stack here with an ID that isn't in the template, or is in the template but is not a nested stack, template creation will fail and an error will be thrown. Default: - no nested stacks will be included
725
730
  :param parameters: Specifies parameters to be replaced by the values in this mapping. Any parameters in the template that aren't specified here will be left unmodified. If you include a parameter here with an ID that isn't in the template, template creation will fail and an error will be thrown. If you are importing a parameter from a live stack, we cannot know the value of that parameter. You will need to supply a value for your parameters, else the default value will be used. Default: - parameters will retain their original definitions
726
731
  :param preserve_logical_ids: Whether the resources should have the same logical IDs in the resulting CDK template as they did in the original CloudFormation template file. If you're vending a Construct using an existing CloudFormation template, make sure to pass this as ``false``. **Note**: regardless of whether this option is true or false, the ``CfnInclude.getResource`` and related methods always uses the original logical ID of the resource/element, as specified in the template file. Default: true
@@ -733,6 +738,7 @@ class CfnInclude(
733
738
  nested_stack_props = CfnIncludeProps(
734
739
  template_file=template_file,
735
740
  allow_cyclical_references=allow_cyclical_references,
741
+ dehydrated_resources=dehydrated_resources,
736
742
  load_nested_stacks=load_nested_stacks,
737
743
  parameters=parameters,
738
744
  preserve_logical_ids=preserve_logical_ids,
@@ -747,6 +753,7 @@ class CfnInclude(
747
753
  name_mapping={
748
754
  "template_file": "templateFile",
749
755
  "allow_cyclical_references": "allowCyclicalReferences",
756
+ "dehydrated_resources": "dehydratedResources",
750
757
  "load_nested_stacks": "loadNestedStacks",
751
758
  "parameters": "parameters",
752
759
  "preserve_logical_ids": "preserveLogicalIds",
@@ -758,6 +765,7 @@ class CfnIncludeProps:
758
765
  *,
759
766
  template_file: builtins.str,
760
767
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
768
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
761
769
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union["CfnIncludeProps", typing.Dict[builtins.str, typing.Any]]]] = None,
762
770
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
763
771
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -766,6 +774,7 @@ class CfnIncludeProps:
766
774
 
767
775
  :param template_file: Path to the template file. Both JSON and YAML template formats are supported.
768
776
  :param allow_cyclical_references: Specifies whether to allow cyclical references, effectively disregarding safeguards meant to avoid undeployable templates. This should only be set to true in the case of templates utilizing cloud transforms (e.g. SAM) that after processing the transform will no longer contain any circular references. Default: - will throw an error on detecting any cyclical references
777
+ :param dehydrated_resources: Specifies a list of LogicalIDs for resources that will be included in the CDK Stack, but will not be parsed and converted to CDK types. This allows you to use CFN templates that rely on Intrinsic placement that ``cfn-include`` would otherwise reject, such as non-primitive values in resource update policies. Default: - All resources are hydrated
769
778
  :param load_nested_stacks: Specifies the template files that define nested stacks that should be included. If your template specifies a stack that isn't included here, it won't be created as a NestedStack resource, and it won't be accessible from the ``CfnInclude.getNestedStack`` method (but will still be accessible from the ``CfnInclude.getResource`` method). If you include a stack here with an ID that isn't in the template, or is in the template but is not a nested stack, template creation will fail and an error will be thrown. Default: - no nested stacks will be included
770
779
  :param parameters: Specifies parameters to be replaced by the values in this mapping. Any parameters in the template that aren't specified here will be left unmodified. If you include a parameter here with an ID that isn't in the template, template creation will fail and an error will be thrown. If you are importing a parameter from a live stack, we cannot know the value of that parameter. You will need to supply a value for your parameters, else the default value will be used. Default: - parameters will retain their original definitions
771
780
  :param preserve_logical_ids: Whether the resources should have the same logical IDs in the resulting CDK template as they did in the original CloudFormation template file. If you're vending a Construct using an existing CloudFormation template, make sure to pass this as ``false``. **Note**: regardless of whether this option is true or false, the ``CfnInclude.getResource`` and related methods always uses the original logical ID of the resource/element, as specified in the template file. Default: true
@@ -787,6 +796,7 @@ class CfnIncludeProps:
787
796
  type_hints = typing.get_type_hints(_typecheckingstub__ec894574320f1d1806f81c6bd6f030b31c90de46348de376f43cb70a72909217)
788
797
  check_type(argname="argument template_file", value=template_file, expected_type=type_hints["template_file"])
789
798
  check_type(argname="argument allow_cyclical_references", value=allow_cyclical_references, expected_type=type_hints["allow_cyclical_references"])
799
+ check_type(argname="argument dehydrated_resources", value=dehydrated_resources, expected_type=type_hints["dehydrated_resources"])
790
800
  check_type(argname="argument load_nested_stacks", value=load_nested_stacks, expected_type=type_hints["load_nested_stacks"])
791
801
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
792
802
  check_type(argname="argument preserve_logical_ids", value=preserve_logical_ids, expected_type=type_hints["preserve_logical_ids"])
@@ -795,6 +805,8 @@ class CfnIncludeProps:
795
805
  }
796
806
  if allow_cyclical_references is not None:
797
807
  self._values["allow_cyclical_references"] = allow_cyclical_references
808
+ if dehydrated_resources is not None:
809
+ self._values["dehydrated_resources"] = dehydrated_resources
798
810
  if load_nested_stacks is not None:
799
811
  self._values["load_nested_stacks"] = load_nested_stacks
800
812
  if parameters is not None:
@@ -824,6 +836,19 @@ class CfnIncludeProps:
824
836
  result = self._values.get("allow_cyclical_references")
825
837
  return typing.cast(typing.Optional[builtins.bool], result)
826
838
 
839
+ @builtins.property
840
+ def dehydrated_resources(self) -> typing.Optional[typing.List[builtins.str]]:
841
+ '''Specifies a list of LogicalIDs for resources that will be included in the CDK Stack, but will not be parsed and converted to CDK types.
842
+
843
+ This allows you to use CFN templates
844
+ that rely on Intrinsic placement that ``cfn-include``
845
+ would otherwise reject, such as non-primitive values in resource update policies.
846
+
847
+ :default: - All resources are hydrated
848
+ '''
849
+ result = self._values.get("dehydrated_resources")
850
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
851
+
827
852
  @builtins.property
828
853
  def load_nested_stacks(
829
854
  self,
@@ -965,6 +990,7 @@ def _typecheckingstub__4185853ea24f6986c8394bfadb21bcc9f34dfbaabb091ba9acbe1da7d
965
990
  *,
966
991
  template_file: builtins.str,
967
992
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
993
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
968
994
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union[CfnIncludeProps, typing.Dict[builtins.str, typing.Any]]]] = None,
969
995
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
970
996
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -1025,6 +1051,7 @@ def _typecheckingstub__1de5dca9b9d136124e6e84c51950c6936c1c380a5f8a618f7f849bd32
1025
1051
  *,
1026
1052
  template_file: builtins.str,
1027
1053
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
1054
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
1028
1055
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union[CfnIncludeProps, typing.Dict[builtins.str, typing.Any]]]] = None,
1029
1056
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
1030
1057
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -1036,6 +1063,7 @@ def _typecheckingstub__ec894574320f1d1806f81c6bd6f030b31c90de46348de376f43cb70a7
1036
1063
  *,
1037
1064
  template_file: builtins.str,
1038
1065
  allow_cyclical_references: typing.Optional[builtins.bool] = None,
1066
+ dehydrated_resources: typing.Optional[typing.Sequence[builtins.str]] = None,
1039
1067
  load_nested_stacks: typing.Optional[typing.Mapping[builtins.str, typing.Union[CfnIncludeProps, typing.Dict[builtins.str, typing.Any]]]] = None,
1040
1068
  parameters: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
1041
1069
  preserve_logical_ids: typing.Optional[builtins.bool] = None,
@@ -410,6 +410,72 @@ When this feature flag is enabled, we will only grant the necessary permissions
410
410
  }
411
411
  }
412
412
  ```
413
+
414
+ * `@aws-cdk/aws-ec2:ec2SumTImeoutEnabled`
415
+
416
+ Currently is both initOptions.timeout and resourceSignalTimeout are both specified in the options for creating an EC2 Instance, only the value from 'resourceSignalTimeout' will be used.
417
+
418
+ When this feature flag is enabled, if both initOptions.timeout and resourceSignalTimeout are specified, the values will to be summed together.
419
+
420
+ *cdk.json*
421
+
422
+ ```json
423
+ {
424
+ "context": {
425
+ "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true
426
+ }
427
+ }
428
+ ```
429
+
430
+ * `@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission`
431
+
432
+ Currently, when using a Lambda authorizer with an AppSync GraphQL API, the AWS CDK automatically generates the necessary AWS::Lambda::Permission to allow the AppSync API to invoke the Lambda authorizer. This permission is overly permissive because it lacks a SourceArn, meaning it allows invocations from any source.
433
+
434
+ When this feature flag is enabled, the AWS::Lambda::Permission will be properly scoped with the SourceArn corresponding to the specific AppSync GraphQL API.
435
+
436
+ *cdk.json*
437
+
438
+ ```json
439
+ {
440
+ "context": {
441
+ "@aws-cdk/aws-ec2:appSyncGraphQLAPIScopeLambdaPermission": true
442
+ }
443
+ }
444
+ ```
445
+
446
+ * `@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId`
447
+
448
+ When enabled, the value of property `instanceResourceId` in construct `DatabaseInstanceReadReplica` will be set to the correct value which is `DbiResourceId` instead of currently `DbInstanceArn`* (fix)
449
+
450
+ When this feature flag is enabled, the value of that property will be as expected set to `DbiResourceId` attribute, and that will fix the grantConnect method.
451
+
452
+ *cdk.json*
453
+
454
+ ```json
455
+ {
456
+ "context": {
457
+ "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true
458
+ }
459
+ }
460
+ ```
461
+
462
+ * `@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages`
463
+
464
+ Currently, when bundling Lambda functions with the non-latest runtime that supports AWS SDK JavaScript (v3), only the `@aws-sdk/*` packages are excluded by default.
465
+ However, this can cause version mismatches between the `@aws-sdk/*` and `@smithy/*` packages, as they are tightly coupled dependencies in AWS SDK v3.
466
+
467
+ When this feature flag is enabled, both `@aws-sdk/*` and `@smithy/*` packages will be excluded during the bundling process. This ensures that no mismatches
468
+ occur between these tightly coupled dependencies when using the AWS SDK v3 in Lambda functions.
469
+
470
+ *cdk.json*
471
+
472
+ ```json
473
+ {
474
+ "context": {
475
+ "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true
476
+ }
477
+ }
478
+ ```
413
479
  '''
414
480
  from pkgutil import extend_path
415
481
  __path__ = extend_path(__path__, __name__)
@@ -626,6 +692,7 @@ class CloudArtifact(
626
692
  from aws_cdk import cloud_assembly_schema
627
693
  from aws_cdk import cx_api
628
694
 
695
+ # assume_role_additional_options: Any
629
696
  # cloud_assembly: cx_api.CloudAssembly
630
697
 
631
698
  cloud_artifact = cx_api.CloudArtifact.from_manifest(cloud_assembly, "MyCloudArtifact",
@@ -648,6 +715,9 @@ class CloudArtifact(
648
715
  template_file="templateFile",
649
716
 
650
717
  # the properties below are optional
718
+ assume_role_additional_options={
719
+ "assume_role_additional_options_key": assume_role_additional_options
720
+ },
651
721
  assume_role_arn="assumeRoleArn",
652
722
  assume_role_external_id="assumeRoleExternalId",
653
723
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -656,10 +726,14 @@ class CloudArtifact(
656
726
  arn="arn",
657
727
 
658
728
  # the properties below are optional
729
+ assume_role_additional_options={
730
+ "assume_role_additional_options_key": assume_role_additional_options
731
+ },
659
732
  assume_role_external_id="assumeRoleExternalId",
660
733
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
661
734
  requires_bootstrap_stack_version=123
662
735
  ),
736
+ notification_arns=["notificationArns"],
663
737
  parameters={
664
738
  "parameters_key": "parameters"
665
739
  },
@@ -1222,6 +1296,7 @@ class CloudFormationStackArtifact(
1222
1296
  from aws_cdk import cloud_assembly_schema
1223
1297
  from aws_cdk import cx_api
1224
1298
 
1299
+ # assume_role_additional_options: Any
1225
1300
  # cloud_assembly: cx_api.CloudAssembly
1226
1301
 
1227
1302
  cloud_formation_stack_artifact = cx_api.CloudFormationStackArtifact(cloud_assembly, "artifactId",
@@ -1244,6 +1319,9 @@ class CloudFormationStackArtifact(
1244
1319
  template_file="templateFile",
1245
1320
 
1246
1321
  # the properties below are optional
1322
+ assume_role_additional_options={
1323
+ "assume_role_additional_options_key": assume_role_additional_options
1324
+ },
1247
1325
  assume_role_arn="assumeRoleArn",
1248
1326
  assume_role_external_id="assumeRoleExternalId",
1249
1327
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -1252,10 +1330,14 @@ class CloudFormationStackArtifact(
1252
1330
  arn="arn",
1253
1331
 
1254
1332
  # the properties below are optional
1333
+ assume_role_additional_options={
1334
+ "assume_role_additional_options_key": assume_role_additional_options
1335
+ },
1255
1336
  assume_role_external_id="assumeRoleExternalId",
1256
1337
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
1257
1338
  requires_bootstrap_stack_version=123
1258
1339
  ),
1340
+ notification_arns=["notificationArns"],
1259
1341
  parameters={
1260
1342
  "parameters_key": "parameters"
1261
1343
  },
@@ -1360,6 +1442,12 @@ class CloudFormationStackArtifact(
1360
1442
  '''The environment into which to deploy this artifact.'''
1361
1443
  return typing.cast("Environment", jsii.get(self, "environment"))
1362
1444
 
1445
+ @builtins.property
1446
+ @jsii.member(jsii_name="notificationArns")
1447
+ def notification_arns(self) -> typing.List[builtins.str]:
1448
+ '''SNS Topics that will receive stack events.'''
1449
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "notificationArns"))
1450
+
1363
1451
  @builtins.property
1364
1452
  @jsii.member(jsii_name="originalName")
1365
1453
  def original_name(self) -> builtins.str:
@@ -1402,6 +1490,23 @@ class CloudFormationStackArtifact(
1402
1490
  '''Full path to the template file.'''
1403
1491
  return typing.cast(builtins.str, jsii.get(self, "templateFullPath"))
1404
1492
 
1493
+ @builtins.property
1494
+ @jsii.member(jsii_name="assumeRoleAdditionalOptions")
1495
+ def assume_role_additional_options(
1496
+ self,
1497
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
1498
+ '''Additional options to pass to STS when assuming the role for cloudformation deployments.
1499
+
1500
+ - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead.
1501
+ - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead.
1502
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
1503
+
1504
+ :default: - No additional options.
1505
+
1506
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
1507
+ '''
1508
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], jsii.get(self, "assumeRoleAdditionalOptions"))
1509
+
1405
1510
  @builtins.property
1406
1511
  @jsii.member(jsii_name="assumeRoleArn")
1407
1512
  def assume_role_arn(self) -> typing.Optional[builtins.str]:
@@ -2287,6 +2392,7 @@ class NestedCloudAssemblyArtifact(
2287
2392
  from aws_cdk import cloud_assembly_schema
2288
2393
  from aws_cdk import cx_api
2289
2394
 
2395
+ # assume_role_additional_options: Any
2290
2396
  # cloud_assembly: cx_api.CloudAssembly
2291
2397
 
2292
2398
  nested_cloud_assembly_artifact = cx_api.NestedCloudAssemblyArtifact(cloud_assembly, "name",
@@ -2309,6 +2415,9 @@ class NestedCloudAssemblyArtifact(
2309
2415
  template_file="templateFile",
2310
2416
 
2311
2417
  # the properties below are optional
2418
+ assume_role_additional_options={
2419
+ "assume_role_additional_options_key": assume_role_additional_options
2420
+ },
2312
2421
  assume_role_arn="assumeRoleArn",
2313
2422
  assume_role_external_id="assumeRoleExternalId",
2314
2423
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -2317,10 +2426,14 @@ class NestedCloudAssemblyArtifact(
2317
2426
  arn="arn",
2318
2427
 
2319
2428
  # the properties below are optional
2429
+ assume_role_additional_options={
2430
+ "assume_role_additional_options_key": assume_role_additional_options
2431
+ },
2320
2432
  assume_role_external_id="assumeRoleExternalId",
2321
2433
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
2322
2434
  requires_bootstrap_stack_version=123
2323
2435
  ),
2436
+ notification_arns=["notificationArns"],
2324
2437
  parameters={
2325
2438
  "parameters_key": "parameters"
2326
2439
  },
@@ -2600,6 +2713,7 @@ class TreeCloudArtifact(
2600
2713
  from aws_cdk import cloud_assembly_schema
2601
2714
  from aws_cdk import cx_api
2602
2715
 
2716
+ # assume_role_additional_options: Any
2603
2717
  # cloud_assembly: cx_api.CloudAssembly
2604
2718
 
2605
2719
  tree_cloud_artifact = cx_api.TreeCloudArtifact(cloud_assembly, "name",
@@ -2622,6 +2736,9 @@ class TreeCloudArtifact(
2622
2736
  template_file="templateFile",
2623
2737
 
2624
2738
  # the properties below are optional
2739
+ assume_role_additional_options={
2740
+ "assume_role_additional_options_key": assume_role_additional_options
2741
+ },
2625
2742
  assume_role_arn="assumeRoleArn",
2626
2743
  assume_role_external_id="assumeRoleExternalId",
2627
2744
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -2630,10 +2747,14 @@ class TreeCloudArtifact(
2630
2747
  arn="arn",
2631
2748
 
2632
2749
  # the properties below are optional
2750
+ assume_role_additional_options={
2751
+ "assume_role_additional_options_key": assume_role_additional_options
2752
+ },
2633
2753
  assume_role_external_id="assumeRoleExternalId",
2634
2754
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
2635
2755
  requires_bootstrap_stack_version=123
2636
2756
  ),
2757
+ notification_arns=["notificationArns"],
2637
2758
  parameters={
2638
2759
  "parameters_key": "parameters"
2639
2760
  },
@@ -3252,6 +3373,7 @@ class AssetManifestArtifact(
3252
3373
  from aws_cdk import cloud_assembly_schema
3253
3374
  from aws_cdk import cx_api
3254
3375
 
3376
+ # assume_role_additional_options: Any
3255
3377
  # cloud_assembly: cx_api.CloudAssembly
3256
3378
 
3257
3379
  asset_manifest_artifact = cx_api.AssetManifestArtifact(cloud_assembly, "name",
@@ -3274,6 +3396,9 @@ class AssetManifestArtifact(
3274
3396
  template_file="templateFile",
3275
3397
 
3276
3398
  # the properties below are optional
3399
+ assume_role_additional_options={
3400
+ "assume_role_additional_options_key": assume_role_additional_options
3401
+ },
3277
3402
  assume_role_arn="assumeRoleArn",
3278
3403
  assume_role_external_id="assumeRoleExternalId",
3279
3404
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -3282,10 +3407,14 @@ class AssetManifestArtifact(
3282
3407
  arn="arn",
3283
3408
 
3284
3409
  # the properties below are optional
3410
+ assume_role_additional_options={
3411
+ "assume_role_additional_options_key": assume_role_additional_options
3412
+ },
3285
3413
  assume_role_external_id="assumeRoleExternalId",
3286
3414
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
3287
3415
  requires_bootstrap_stack_version=123
3288
3416
  ),
3417
+ notification_arns=["notificationArns"],
3289
3418
  parameters={
3290
3419
  "parameters_key": "parameters"
3291
3420
  },
@@ -71,8 +71,8 @@ class ComputeStack(Stack):
71
71
  # Stack to hold the pipeline
72
72
  #
73
73
  class MyPipelineStack(Stack):
74
- def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
75
- super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
74
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
75
+ super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
76
76
 
77
77
  pipeline = pipelines.CodePipeline(self, "Pipeline",
78
78
  synth=pipelines.ShellStep("Synth",
@@ -513,8 +513,8 @@ The creation of change sets can be switched off by setting `useChangeSets: false
513
513
 
514
514
 
515
515
  class PipelineStack(Stack):
516
- def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
517
- super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
516
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
517
+ super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
518
518
 
519
519
  pipeline = pipelines.CodePipeline(self, "Pipeline",
520
520
  synth=synth,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk-lib
3
- Version: 2.159.1
3
+ Version: 2.161.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
@@ -24,7 +24,7 @@ License-File: NOTICE
24
24
  Requires-Dist: aws-cdk.asset-awscli-v1<3.0.0,>=2.2.202
25
25
  Requires-Dist: aws-cdk.asset-kubectl-v20<3.0.0,>=2.1.2
26
26
  Requires-Dist: aws-cdk.asset-node-proxy-agent-v6<3.0.0,>=2.1.0
27
- Requires-Dist: aws-cdk.cloud-assembly-schema<37.0.0,>=36.0.24
27
+ Requires-Dist: aws-cdk.cloud-assembly-schema<39.0.0,>=38.0.0
28
28
  Requires-Dist: constructs<11.0.0,>=10.0.0
29
29
  Requires-Dist: jsii<2.0.0,>=1.103.1
30
30
  Requires-Dist: publication>=0.0.3
@@ -204,8 +204,8 @@ class MyNestedStack(cfn.NestedStack):
204
204
  s3.Bucket(self, "NestedBucket")
205
205
 
206
206
  class MyParentStack(Stack):
207
- def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
208
- super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
207
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
208
+ super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
209
209
 
210
210
  MyNestedStack(self, "Nested1")
211
211
  MyNestedStack(self, "Nested2")