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
aws_cdk/__init__.py CHANGED
@@ -173,8 +173,8 @@ class MyNestedStack(cfn.NestedStack):
173
173
  s3.Bucket(self, "NestedBucket")
174
174
 
175
175
  class MyParentStack(Stack):
176
- 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):
177
- super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
176
+ 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):
177
+ 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)
178
178
 
179
179
  MyNestedStack(self, "Nested1")
180
180
  MyNestedStack(self, "Nested2")
@@ -2074,26 +2074,38 @@ class ArnComponents:
2074
2074
 
2075
2075
  Example::
2076
2076
 
2077
- sub_zone = route53.PublicHostedZone(self, "SubZone",
2078
- zone_name="sub.someexample.com"
2079
- )
2077
+ from aws_cdk.aws_apigatewayv2_authorizers import WebSocketIamAuthorizer
2078
+ from aws_cdk.aws_apigatewayv2_integrations import WebSocketLambdaIntegration
2079
+
2080
+ # This function handles your connect route
2081
+ # connect_handler: lambda.Function
2082
+
2083
+
2084
+ web_socket_api = apigwv2.WebSocketApi(self, "WebSocketApi")
2080
2085
 
2081
- # import the delegation role by constructing the roleArn
2082
- delegation_role_arn = Stack.of(self).format_arn(
2083
- region="", # IAM is global in each partition
2084
- service="iam",
2085
- account="parent-account-id",
2086
- resource="role",
2087
- resource_name="MyDelegationRole"
2086
+ web_socket_api.add_route("$connect",
2087
+ integration=WebSocketLambdaIntegration("Integration", connect_handler),
2088
+ authorizer=WebSocketIamAuthorizer()
2088
2089
  )
2089
- delegation_role = iam.Role.from_role_arn(self, "DelegationRole", delegation_role_arn)
2090
2090
 
2091
- route53.CrossAccountZoneDelegationRecord(self, "delegate",
2092
- delegated_zone=sub_zone,
2093
- parent_hosted_zone_name="someexample.com", # or you can use parentHostedZoneId
2094
- delegation_role=delegation_role,
2095
- assume_role_region="us-east-1"
2091
+ # Create an IAM user (identity)
2092
+ user = iam.User(self, "User")
2093
+
2094
+ web_socket_arn = Stack.of(self).format_arn(
2095
+ service="execute-api",
2096
+ resource=web_socket_api.api_id
2096
2097
  )
2098
+
2099
+ # Grant access to the IAM user
2100
+ user.attach_inline_policy(iam.Policy(self, "AllowInvoke",
2101
+ statements=[
2102
+ iam.PolicyStatement(
2103
+ actions=["execute-api:Invoke"],
2104
+ effect=iam.Effect.ALLOW,
2105
+ resources=[web_socket_arn]
2106
+ )
2107
+ ]
2108
+ ))
2097
2109
  '''
2098
2110
  if __debug__:
2099
2111
  type_hints = typing.get_type_hints(_typecheckingstub__4565cb9b5469dd4d4c1d23e54f8933087065a599bfce16e56da30ffbcbeccfc0)
@@ -2373,6 +2385,7 @@ class AssetManifestBuilder(
2373
2385
  *,
2374
2386
  image_tag: builtins.str,
2375
2387
  repository_name: builtins.str,
2388
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
2376
2389
  assume_role_arn: typing.Optional[builtins.str] = None,
2377
2390
  assume_role_external_id: typing.Optional[builtins.str] = None,
2378
2391
  region: typing.Optional[builtins.str] = None,
@@ -2386,6 +2399,7 @@ class AssetManifestBuilder(
2386
2399
  :param source: -
2387
2400
  :param image_tag: Tag of the image to publish.
2388
2401
  :param repository_name: Name of the ECR repository to publish to.
2402
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. Default: - No additional options.
2389
2403
  :param assume_role_arn: The role that needs to be assumed while publishing this asset. Default: - No role will be assumed
2390
2404
  :param assume_role_external_id: The ExternalId that needs to be supplied while assuming this role. Default: - No ExternalId will be supplied
2391
2405
  :param region: The region where this asset will need to be published. Default: - Current region
@@ -2398,6 +2412,7 @@ class AssetManifestBuilder(
2398
2412
  dest = _DockerImageDestination_132046c7(
2399
2413
  image_tag=image_tag,
2400
2414
  repository_name=repository_name,
2415
+ assume_role_additional_options=assume_role_additional_options,
2401
2416
  assume_role_arn=assume_role_arn,
2402
2417
  assume_role_external_id=assume_role_external_id,
2403
2418
  region=region,
@@ -2414,6 +2429,7 @@ class AssetManifestBuilder(
2414
2429
  *,
2415
2430
  bucket_name: builtins.str,
2416
2431
  object_key: builtins.str,
2432
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
2417
2433
  assume_role_arn: typing.Optional[builtins.str] = None,
2418
2434
  assume_role_external_id: typing.Optional[builtins.str] = None,
2419
2435
  region: typing.Optional[builtins.str] = None,
@@ -2427,6 +2443,7 @@ class AssetManifestBuilder(
2427
2443
  :param source: -
2428
2444
  :param bucket_name: The name of the bucket.
2429
2445
  :param object_key: The destination object key.
2446
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. Default: - No additional options.
2430
2447
  :param assume_role_arn: The role that needs to be assumed while publishing this asset. Default: - No role will be assumed
2431
2448
  :param assume_role_external_id: The ExternalId that needs to be supplied while assuming this role. Default: - No ExternalId will be supplied
2432
2449
  :param region: The region where this asset will need to be published. Default: - Current region
@@ -2439,6 +2456,7 @@ class AssetManifestBuilder(
2439
2456
  dest = _FileDestination_7d285b38(
2440
2457
  bucket_name=bucket_name,
2441
2458
  object_key=object_key,
2459
+ assume_role_additional_options=assume_role_additional_options,
2442
2460
  assume_role_arn=assume_role_arn,
2443
2461
  assume_role_external_id=assume_role_external_id,
2444
2462
  region=region,
@@ -2573,6 +2591,8 @@ class AssetManifestDockerImageDestination:
2573
2591
  # The values are placeholders you should change.
2574
2592
  import aws_cdk as cdk
2575
2593
 
2594
+ # assume_role_additional_options: Any
2595
+
2576
2596
  asset_manifest_docker_image_destination = cdk.AssetManifestDockerImageDestination(
2577
2597
  repository_name="repositoryName",
2578
2598
 
@@ -2582,6 +2602,9 @@ class AssetManifestDockerImageDestination:
2582
2602
  assume_role_arn="assumeRoleArn",
2583
2603
 
2584
2604
  # the properties below are optional
2605
+ assume_role_additional_options={
2606
+ "assume_role_additional_options_key": assume_role_additional_options
2607
+ },
2585
2608
  assume_role_external_id="assumeRoleExternalId"
2586
2609
  )
2587
2610
  )
@@ -2669,6 +2692,8 @@ class AssetManifestFileDestination:
2669
2692
  # The values are placeholders you should change.
2670
2693
  import aws_cdk as cdk
2671
2694
 
2695
+ # assume_role_additional_options: Any
2696
+
2672
2697
  asset_manifest_file_destination = cdk.AssetManifestFileDestination(
2673
2698
  bucket_name="bucketName",
2674
2699
 
@@ -2678,6 +2703,9 @@ class AssetManifestFileDestination:
2678
2703
  assume_role_arn="assumeRoleArn",
2679
2704
 
2680
2705
  # the properties below are optional
2706
+ assume_role_additional_options={
2707
+ "assume_role_additional_options_key": assume_role_additional_options
2708
+ },
2681
2709
  assume_role_external_id="assumeRoleExternalId"
2682
2710
  )
2683
2711
  )
@@ -5245,10 +5273,10 @@ class CfnHookTypeConfigProps:
5245
5273
  ) -> None:
5246
5274
  '''Properties for defining a ``CfnHookTypeConfig``.
5247
5275
 
5248
- :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5276
+ :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5249
5277
  :param configuration_alias: Specifies the activated hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
5250
- :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5251
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5278
+ :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5279
+ :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5252
5280
 
5253
5281
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
5254
5282
  :exampleMetadata: fixture=_generated
@@ -5288,7 +5316,7 @@ class CfnHookTypeConfigProps:
5288
5316
  def configuration(self) -> builtins.str:
5289
5317
  '''Specifies the activated hook type configuration, in this AWS account and AWS Region .
5290
5318
 
5291
- You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5319
+ You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5292
5320
 
5293
5321
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-configuration
5294
5322
  '''
@@ -5313,7 +5341,7 @@ class CfnHookTypeConfigProps:
5313
5341
  def type_arn(self) -> typing.Optional[builtins.str]:
5314
5342
  '''The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for.
5315
5343
 
5316
- You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5344
+ You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5317
5345
 
5318
5346
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typearn
5319
5347
  '''
@@ -5326,7 +5354,7 @@ class CfnHookTypeConfigProps:
5326
5354
 
5327
5355
  Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` .
5328
5356
 
5329
- You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
5357
+ You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
5330
5358
 
5331
5359
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typename
5332
5360
  '''
@@ -10607,16 +10635,20 @@ class CustomResourceProviderRuntime(enum.Enum):
10607
10635
  "bootstrap_stack_version_ssm_parameter": "bootstrapStackVersionSsmParameter",
10608
10636
  "bucket_prefix": "bucketPrefix",
10609
10637
  "cloud_formation_execution_role": "cloudFormationExecutionRole",
10638
+ "deploy_role_additional_options": "deployRoleAdditionalOptions",
10610
10639
  "deploy_role_arn": "deployRoleArn",
10611
10640
  "deploy_role_external_id": "deployRoleExternalId",
10612
10641
  "docker_tag_prefix": "dockerTagPrefix",
10613
10642
  "file_asset_publishing_external_id": "fileAssetPublishingExternalId",
10643
+ "file_asset_publishing_role_additional_options": "fileAssetPublishingRoleAdditionalOptions",
10614
10644
  "file_asset_publishing_role_arn": "fileAssetPublishingRoleArn",
10615
10645
  "file_assets_bucket_name": "fileAssetsBucketName",
10616
10646
  "generate_bootstrap_version_rule": "generateBootstrapVersionRule",
10617
10647
  "image_asset_publishing_external_id": "imageAssetPublishingExternalId",
10648
+ "image_asset_publishing_role_additional_options": "imageAssetPublishingRoleAdditionalOptions",
10618
10649
  "image_asset_publishing_role_arn": "imageAssetPublishingRoleArn",
10619
10650
  "image_assets_repository_name": "imageAssetsRepositoryName",
10651
+ "lookup_role_additional_options": "lookupRoleAdditionalOptions",
10620
10652
  "lookup_role_arn": "lookupRoleArn",
10621
10653
  "lookup_role_external_id": "lookupRoleExternalId",
10622
10654
  "qualifier": "qualifier",
@@ -10630,16 +10662,20 @@ class DefaultStackSynthesizerProps:
10630
10662
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
10631
10663
  bucket_prefix: typing.Optional[builtins.str] = None,
10632
10664
  cloud_formation_execution_role: typing.Optional[builtins.str] = None,
10665
+ deploy_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10633
10666
  deploy_role_arn: typing.Optional[builtins.str] = None,
10634
10667
  deploy_role_external_id: typing.Optional[builtins.str] = None,
10635
10668
  docker_tag_prefix: typing.Optional[builtins.str] = None,
10636
10669
  file_asset_publishing_external_id: typing.Optional[builtins.str] = None,
10670
+ file_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10637
10671
  file_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
10638
10672
  file_assets_bucket_name: typing.Optional[builtins.str] = None,
10639
10673
  generate_bootstrap_version_rule: typing.Optional[builtins.bool] = None,
10640
10674
  image_asset_publishing_external_id: typing.Optional[builtins.str] = None,
10675
+ image_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10641
10676
  image_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
10642
10677
  image_assets_repository_name: typing.Optional[builtins.str] = None,
10678
+ lookup_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10643
10679
  lookup_role_arn: typing.Optional[builtins.str] = None,
10644
10680
  lookup_role_external_id: typing.Optional[builtins.str] = None,
10645
10681
  qualifier: typing.Optional[builtins.str] = None,
@@ -10650,16 +10686,20 @@ class DefaultStackSynthesizerProps:
10650
10686
  :param bootstrap_stack_version_ssm_parameter: Bootstrap stack version SSM parameter. The placeholder ``${Qualifier}`` will be replaced with the value of qualifier. Default: DefaultStackSynthesizer.DEFAULT_BOOTSTRAP_STACK_VERSION_SSM_PARAMETER
10651
10687
  :param bucket_prefix: bucketPrefix to use while storing S3 Assets. Default: - DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PREFIX
10652
10688
  :param cloud_formation_execution_role: The role CloudFormation will assume when deploying the Stack. You must supply this if you have given a non-standard name to the execution role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_CLOUDFORMATION_ROLE_ARN
10689
+ :param deploy_role_additional_options: Additional options to pass to STS when assuming the deploy role. - ``RoleArn`` should not be used. Use the dedicated ``deployRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``deployRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
10653
10690
  :param deploy_role_arn: The role to assume to initiate a deployment in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_DEPLOY_ROLE_ARN
10654
10691
  :param deploy_role_external_id: External ID to use when assuming role for cloudformation deployments. Default: - No external ID
10655
10692
  :param docker_tag_prefix: A prefix to use while tagging and uploading Docker images to ECR. This does not add any separators - the source hash will be appended to this string directly. Default: - DefaultStackSynthesizer.DEFAULT_DOCKER_ASSET_PREFIX
10656
10693
  :param file_asset_publishing_external_id: External ID to use when assuming role for file asset publishing. Default: - No external ID
10694
+ :param file_asset_publishing_role_additional_options: Additional options to pass to STS when assuming the file asset publishing. - ``RoleArn`` should not be used. Use the dedicated ``fileAssetPublishingRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``fileAssetPublishingExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
10657
10695
  :param file_asset_publishing_role_arn: The role to use to publish file assets to the S3 bucket in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PUBLISHING_ROLE_ARN
10658
10696
  :param file_assets_bucket_name: Name of the S3 bucket to hold file assets. You must supply this if you have given a non-standard name to the staging bucket. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSETS_BUCKET_NAME
10659
10697
  :param generate_bootstrap_version_rule: Whether to add a Rule to the stack template verifying the bootstrap stack version. This generally should be left set to ``true``, unless you explicitly want to be able to deploy to an unbootstrapped environment. Default: true
10660
10698
  :param image_asset_publishing_external_id: External ID to use when assuming role for image asset publishing. Default: - No external ID
10699
+ :param image_asset_publishing_role_additional_options: Additional options to pass to STS when assuming the image asset publishing. - ``RoleArn`` should not be used. Use the dedicated ``imageAssetPublishingRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``imageAssetPublishingExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
10661
10700
  :param image_asset_publishing_role_arn: The role to use to publish image assets to the ECR repository in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSET_PUBLISHING_ROLE_ARN
10662
10701
  :param image_assets_repository_name: Name of the ECR repository to hold Docker Image assets. You must supply this if you have given a non-standard name to the ECR repository. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSETS_REPOSITORY_NAME
10702
+ :param lookup_role_additional_options: Additional options to pass to STS when assuming the lookup role. - ``RoleArn`` should not be used. Use the dedicated ``lookupRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``lookupRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
10663
10703
  :param lookup_role_arn: The role to use to look up values from the target AWS account during synthesis. Default: - None
10664
10704
  :param lookup_role_external_id: External ID to use when assuming lookup role. Default: - No external ID
10665
10705
  :param qualifier: Qualifier to disambiguate multiple environments in the same account. You can use this and leave the other naming properties empty if you have deployed the bootstrap environment with standard names but only different qualifiers. Default: - Value of context key '@aws-cdk/core:bootstrapQualifier' if set, otherwise ``DefaultStackSynthesizer.DEFAULT_QUALIFIER``
@@ -10680,16 +10720,20 @@ class DefaultStackSynthesizerProps:
10680
10720
  check_type(argname="argument bootstrap_stack_version_ssm_parameter", value=bootstrap_stack_version_ssm_parameter, expected_type=type_hints["bootstrap_stack_version_ssm_parameter"])
10681
10721
  check_type(argname="argument bucket_prefix", value=bucket_prefix, expected_type=type_hints["bucket_prefix"])
10682
10722
  check_type(argname="argument cloud_formation_execution_role", value=cloud_formation_execution_role, expected_type=type_hints["cloud_formation_execution_role"])
10723
+ check_type(argname="argument deploy_role_additional_options", value=deploy_role_additional_options, expected_type=type_hints["deploy_role_additional_options"])
10683
10724
  check_type(argname="argument deploy_role_arn", value=deploy_role_arn, expected_type=type_hints["deploy_role_arn"])
10684
10725
  check_type(argname="argument deploy_role_external_id", value=deploy_role_external_id, expected_type=type_hints["deploy_role_external_id"])
10685
10726
  check_type(argname="argument docker_tag_prefix", value=docker_tag_prefix, expected_type=type_hints["docker_tag_prefix"])
10686
10727
  check_type(argname="argument file_asset_publishing_external_id", value=file_asset_publishing_external_id, expected_type=type_hints["file_asset_publishing_external_id"])
10728
+ check_type(argname="argument file_asset_publishing_role_additional_options", value=file_asset_publishing_role_additional_options, expected_type=type_hints["file_asset_publishing_role_additional_options"])
10687
10729
  check_type(argname="argument file_asset_publishing_role_arn", value=file_asset_publishing_role_arn, expected_type=type_hints["file_asset_publishing_role_arn"])
10688
10730
  check_type(argname="argument file_assets_bucket_name", value=file_assets_bucket_name, expected_type=type_hints["file_assets_bucket_name"])
10689
10731
  check_type(argname="argument generate_bootstrap_version_rule", value=generate_bootstrap_version_rule, expected_type=type_hints["generate_bootstrap_version_rule"])
10690
10732
  check_type(argname="argument image_asset_publishing_external_id", value=image_asset_publishing_external_id, expected_type=type_hints["image_asset_publishing_external_id"])
10733
+ check_type(argname="argument image_asset_publishing_role_additional_options", value=image_asset_publishing_role_additional_options, expected_type=type_hints["image_asset_publishing_role_additional_options"])
10691
10734
  check_type(argname="argument image_asset_publishing_role_arn", value=image_asset_publishing_role_arn, expected_type=type_hints["image_asset_publishing_role_arn"])
10692
10735
  check_type(argname="argument image_assets_repository_name", value=image_assets_repository_name, expected_type=type_hints["image_assets_repository_name"])
10736
+ check_type(argname="argument lookup_role_additional_options", value=lookup_role_additional_options, expected_type=type_hints["lookup_role_additional_options"])
10693
10737
  check_type(argname="argument lookup_role_arn", value=lookup_role_arn, expected_type=type_hints["lookup_role_arn"])
10694
10738
  check_type(argname="argument lookup_role_external_id", value=lookup_role_external_id, expected_type=type_hints["lookup_role_external_id"])
10695
10739
  check_type(argname="argument qualifier", value=qualifier, expected_type=type_hints["qualifier"])
@@ -10701,6 +10745,8 @@ class DefaultStackSynthesizerProps:
10701
10745
  self._values["bucket_prefix"] = bucket_prefix
10702
10746
  if cloud_formation_execution_role is not None:
10703
10747
  self._values["cloud_formation_execution_role"] = cloud_formation_execution_role
10748
+ if deploy_role_additional_options is not None:
10749
+ self._values["deploy_role_additional_options"] = deploy_role_additional_options
10704
10750
  if deploy_role_arn is not None:
10705
10751
  self._values["deploy_role_arn"] = deploy_role_arn
10706
10752
  if deploy_role_external_id is not None:
@@ -10709,6 +10755,8 @@ class DefaultStackSynthesizerProps:
10709
10755
  self._values["docker_tag_prefix"] = docker_tag_prefix
10710
10756
  if file_asset_publishing_external_id is not None:
10711
10757
  self._values["file_asset_publishing_external_id"] = file_asset_publishing_external_id
10758
+ if file_asset_publishing_role_additional_options is not None:
10759
+ self._values["file_asset_publishing_role_additional_options"] = file_asset_publishing_role_additional_options
10712
10760
  if file_asset_publishing_role_arn is not None:
10713
10761
  self._values["file_asset_publishing_role_arn"] = file_asset_publishing_role_arn
10714
10762
  if file_assets_bucket_name is not None:
@@ -10717,10 +10765,14 @@ class DefaultStackSynthesizerProps:
10717
10765
  self._values["generate_bootstrap_version_rule"] = generate_bootstrap_version_rule
10718
10766
  if image_asset_publishing_external_id is not None:
10719
10767
  self._values["image_asset_publishing_external_id"] = image_asset_publishing_external_id
10768
+ if image_asset_publishing_role_additional_options is not None:
10769
+ self._values["image_asset_publishing_role_additional_options"] = image_asset_publishing_role_additional_options
10720
10770
  if image_asset_publishing_role_arn is not None:
10721
10771
  self._values["image_asset_publishing_role_arn"] = image_asset_publishing_role_arn
10722
10772
  if image_assets_repository_name is not None:
10723
10773
  self._values["image_assets_repository_name"] = image_assets_repository_name
10774
+ if lookup_role_additional_options is not None:
10775
+ self._values["lookup_role_additional_options"] = lookup_role_additional_options
10724
10776
  if lookup_role_arn is not None:
10725
10777
  self._values["lookup_role_arn"] = lookup_role_arn
10726
10778
  if lookup_role_external_id is not None:
@@ -10765,6 +10817,23 @@ class DefaultStackSynthesizerProps:
10765
10817
  result = self._values.get("cloud_formation_execution_role")
10766
10818
  return typing.cast(typing.Optional[builtins.str], result)
10767
10819
 
10820
+ @builtins.property
10821
+ def deploy_role_additional_options(
10822
+ self,
10823
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
10824
+ '''Additional options to pass to STS when assuming the deploy role.
10825
+
10826
+ - ``RoleArn`` should not be used. Use the dedicated ``deployRoleArn`` property instead.
10827
+ - ``ExternalId`` should not be used. Use the dedicated ``deployRoleExternalId`` instead.
10828
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
10829
+
10830
+ :default: - No additional options.
10831
+
10832
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
10833
+ '''
10834
+ result = self._values.get("deploy_role_additional_options")
10835
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
10836
+
10768
10837
  @builtins.property
10769
10838
  def deploy_role_arn(self) -> typing.Optional[builtins.str]:
10770
10839
  '''The role to assume to initiate a deployment in this environment.
@@ -10810,6 +10879,23 @@ class DefaultStackSynthesizerProps:
10810
10879
  result = self._values.get("file_asset_publishing_external_id")
10811
10880
  return typing.cast(typing.Optional[builtins.str], result)
10812
10881
 
10882
+ @builtins.property
10883
+ def file_asset_publishing_role_additional_options(
10884
+ self,
10885
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
10886
+ '''Additional options to pass to STS when assuming the file asset publishing.
10887
+
10888
+ - ``RoleArn`` should not be used. Use the dedicated ``fileAssetPublishingRoleArn`` property instead.
10889
+ - ``ExternalId`` should not be used. Use the dedicated ``fileAssetPublishingExternalId`` instead.
10890
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
10891
+
10892
+ :default: - No additional options.
10893
+
10894
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
10895
+ '''
10896
+ result = self._values.get("file_asset_publishing_role_additional_options")
10897
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
10898
+
10813
10899
  @builtins.property
10814
10900
  def file_asset_publishing_role_arn(self) -> typing.Optional[builtins.str]:
10815
10901
  '''The role to use to publish file assets to the S3 bucket in this environment.
@@ -10861,6 +10947,23 @@ class DefaultStackSynthesizerProps:
10861
10947
  result = self._values.get("image_asset_publishing_external_id")
10862
10948
  return typing.cast(typing.Optional[builtins.str], result)
10863
10949
 
10950
+ @builtins.property
10951
+ def image_asset_publishing_role_additional_options(
10952
+ self,
10953
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
10954
+ '''Additional options to pass to STS when assuming the image asset publishing.
10955
+
10956
+ - ``RoleArn`` should not be used. Use the dedicated ``imageAssetPublishingRoleArn`` property instead.
10957
+ - ``ExternalId`` should not be used. Use the dedicated ``imageAssetPublishingExternalId`` instead.
10958
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
10959
+
10960
+ :default: - No additional options.
10961
+
10962
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
10963
+ '''
10964
+ result = self._values.get("image_asset_publishing_role_additional_options")
10965
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
10966
+
10864
10967
  @builtins.property
10865
10968
  def image_asset_publishing_role_arn(self) -> typing.Optional[builtins.str]:
10866
10969
  '''The role to use to publish image assets to the ECR repository in this environment.
@@ -10891,6 +10994,23 @@ class DefaultStackSynthesizerProps:
10891
10994
  result = self._values.get("image_assets_repository_name")
10892
10995
  return typing.cast(typing.Optional[builtins.str], result)
10893
10996
 
10997
+ @builtins.property
10998
+ def lookup_role_additional_options(
10999
+ self,
11000
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
11001
+ '''Additional options to pass to STS when assuming the lookup role.
11002
+
11003
+ - ``RoleArn`` should not be used. Use the dedicated ``lookupRoleArn`` property instead.
11004
+ - ``ExternalId`` should not be used. Use the dedicated ``lookupRoleExternalId`` instead.
11005
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
11006
+
11007
+ :default: - No additional options.
11008
+
11009
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
11010
+ '''
11011
+ result = self._values.get("lookup_role_additional_options")
11012
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
11013
+
10894
11014
  @builtins.property
10895
11015
  def lookup_role_arn(self) -> typing.Optional[builtins.str]:
10896
11016
  '''The role to use to look up values from the target AWS account during synthesis.
@@ -13495,13 +13615,20 @@ class Fn(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Fn"):
13495
13615
 
13496
13616
  Example::
13497
13617
 
13498
- # cfn_template: cfn_inc.CfnInclude
13618
+ import aws_cdk as cdk
13499
13619
 
13500
- # mutating the rule
13501
- # my_parameter: core.CfnParameter
13620
+ # destination_bucket: s3.Bucket
13502
13621
 
13503
- rule = cfn_template.get_rule("MyRule")
13504
- rule.add_assertion(core.Fn.condition_contains(["m1.small"], my_parameter.value_as_string), "MyParameter has to be m1.small")
13622
+
13623
+ my_bucket_deployment = s3deploy.BucketDeployment(self, "DeployMeWithoutExtractingFilesOnDestination",
13624
+ sources=[s3deploy.Source.asset(path.join(__dirname, "my-website"))],
13625
+ destination_bucket=destination_bucket,
13626
+ extract=False
13627
+ )
13628
+
13629
+ cdk.CfnOutput(self, "ObjectKey",
13630
+ value=cdk.Fn.select(0, my_bucket_deployment.object_keys)
13631
+ )
13505
13632
  '''
13506
13633
 
13507
13634
  @jsii.member(jsii_name="base64")
@@ -18967,6 +19094,7 @@ class ReverseOptions:
18967
19094
  jsii_struct_bases=[],
18968
19095
  name_mapping={
18969
19096
  "assume_role_arn": "assumeRoleArn",
19097
+ "assume_role_additional_options": "assumeRoleAdditionalOptions",
18970
19098
  "assume_role_external_id": "assumeRoleExternalId",
18971
19099
  },
18972
19100
  )
@@ -18975,11 +19103,13 @@ class RoleOptions:
18975
19103
  self,
18976
19104
  *,
18977
19105
  assume_role_arn: builtins.str,
19106
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
18978
19107
  assume_role_external_id: typing.Optional[builtins.str] = None,
18979
19108
  ) -> None:
18980
19109
  '''Options for specifying a role.
18981
19110
 
18982
19111
  :param assume_role_arn: ARN of the role to assume.
19112
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role for cloudformation deployments. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
18983
19113
  :param assume_role_external_id: External ID to use when assuming the role. Default: - No external ID
18984
19114
 
18985
19115
  :exampleMetadata: fixture=_generated
@@ -18990,20 +19120,28 @@ class RoleOptions:
18990
19120
  # The values are placeholders you should change.
18991
19121
  import aws_cdk as cdk
18992
19122
 
19123
+ # assume_role_additional_options: Any
19124
+
18993
19125
  role_options = cdk.RoleOptions(
18994
19126
  assume_role_arn="assumeRoleArn",
18995
19127
 
18996
19128
  # the properties below are optional
19129
+ assume_role_additional_options={
19130
+ "assume_role_additional_options_key": assume_role_additional_options
19131
+ },
18997
19132
  assume_role_external_id="assumeRoleExternalId"
18998
19133
  )
18999
19134
  '''
19000
19135
  if __debug__:
19001
19136
  type_hints = typing.get_type_hints(_typecheckingstub__350c3eeb771368884765de415edb2b16931d742fbdb5253af2222e0e84a150c0)
19002
19137
  check_type(argname="argument assume_role_arn", value=assume_role_arn, expected_type=type_hints["assume_role_arn"])
19138
+ check_type(argname="argument assume_role_additional_options", value=assume_role_additional_options, expected_type=type_hints["assume_role_additional_options"])
19003
19139
  check_type(argname="argument assume_role_external_id", value=assume_role_external_id, expected_type=type_hints["assume_role_external_id"])
19004
19140
  self._values: typing.Dict[builtins.str, typing.Any] = {
19005
19141
  "assume_role_arn": assume_role_arn,
19006
19142
  }
19143
+ if assume_role_additional_options is not None:
19144
+ self._values["assume_role_additional_options"] = assume_role_additional_options
19007
19145
  if assume_role_external_id is not None:
19008
19146
  self._values["assume_role_external_id"] = assume_role_external_id
19009
19147
 
@@ -19014,6 +19152,23 @@ class RoleOptions:
19014
19152
  assert result is not None, "Required property 'assume_role_arn' is missing"
19015
19153
  return typing.cast(builtins.str, result)
19016
19154
 
19155
+ @builtins.property
19156
+ def assume_role_additional_options(
19157
+ self,
19158
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
19159
+ '''Additional options to pass to STS when assuming the role for cloudformation deployments.
19160
+
19161
+ - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead.
19162
+ - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead.
19163
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
19164
+
19165
+ :default: - No additional options.
19166
+
19167
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
19168
+ '''
19169
+ result = self._values.get("assume_role_additional_options")
19170
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
19171
+
19017
19172
  @builtins.property
19018
19173
  def assume_role_external_id(self) -> typing.Optional[builtins.str]:
19019
19174
  '''External ID to use when assuming the role.
@@ -19802,6 +19957,7 @@ class Stack(
19802
19957
  cross_region_references: typing.Optional[builtins.bool] = None,
19803
19958
  description: typing.Optional[builtins.str] = None,
19804
19959
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
19960
+ notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
19805
19961
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
19806
19962
  stack_name: typing.Optional[builtins.str] = None,
19807
19963
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
@@ -19817,6 +19973,7 @@ class Stack(
19817
19973
  :param cross_region_references: Enable this flag to allow native cross region stack references. Enabling this will create a CloudFormation custom resource in both the producing stack and consuming stack in order to perform the export/import This feature is currently experimental Default: false
19818
19974
  :param description: A description of the stack. Default: - No description.
19819
19975
  :param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
19976
+ :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
19820
19977
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
19821
19978
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
19822
19979
  :param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
@@ -19833,6 +19990,7 @@ class Stack(
19833
19990
  cross_region_references=cross_region_references,
19834
19991
  description=description,
19835
19992
  env=env,
19993
+ notification_arns=notification_arns,
19836
19994
  permissions_boundary=permissions_boundary,
19837
19995
  stack_name=stack_name,
19838
19996
  suppress_template_indentation=suppress_template_indentation,
@@ -20492,6 +20650,7 @@ class Stack(
20492
20650
  "cross_region_references": "crossRegionReferences",
20493
20651
  "description": "description",
20494
20652
  "env": "env",
20653
+ "notification_arns": "notificationArns",
20495
20654
  "permissions_boundary": "permissionsBoundary",
20496
20655
  "stack_name": "stackName",
20497
20656
  "suppress_template_indentation": "suppressTemplateIndentation",
@@ -20508,6 +20667,7 @@ class StackProps:
20508
20667
  cross_region_references: typing.Optional[builtins.bool] = None,
20509
20668
  description: typing.Optional[builtins.str] = None,
20510
20669
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
20670
+ notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20511
20671
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
20512
20672
  stack_name: typing.Optional[builtins.str] = None,
20513
20673
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
@@ -20520,6 +20680,7 @@ class StackProps:
20520
20680
  :param cross_region_references: Enable this flag to allow native cross region stack references. Enabling this will create a CloudFormation custom resource in both the producing stack and consuming stack in order to perform the export/import This feature is currently experimental Default: false
20521
20681
  :param description: A description of the stack. Default: - No description.
20522
20682
  :param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
20683
+ :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
20523
20684
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
20524
20685
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
20525
20686
  :param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
@@ -20564,6 +20725,7 @@ class StackProps:
20564
20725
  check_type(argname="argument cross_region_references", value=cross_region_references, expected_type=type_hints["cross_region_references"])
20565
20726
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
20566
20727
  check_type(argname="argument env", value=env, expected_type=type_hints["env"])
20728
+ check_type(argname="argument notification_arns", value=notification_arns, expected_type=type_hints["notification_arns"])
20567
20729
  check_type(argname="argument permissions_boundary", value=permissions_boundary, expected_type=type_hints["permissions_boundary"])
20568
20730
  check_type(argname="argument stack_name", value=stack_name, expected_type=type_hints["stack_name"])
20569
20731
  check_type(argname="argument suppress_template_indentation", value=suppress_template_indentation, expected_type=type_hints["suppress_template_indentation"])
@@ -20579,6 +20741,8 @@ class StackProps:
20579
20741
  self._values["description"] = description
20580
20742
  if env is not None:
20581
20743
  self._values["env"] = env
20744
+ if notification_arns is not None:
20745
+ self._values["notification_arns"] = notification_arns
20582
20746
  if permissions_boundary is not None:
20583
20747
  self._values["permissions_boundary"] = permissions_boundary
20584
20748
  if stack_name is not None:
@@ -20697,6 +20861,15 @@ class StackProps:
20697
20861
  result = self._values.get("env")
20698
20862
  return typing.cast(typing.Optional[Environment], result)
20699
20863
 
20864
+ @builtins.property
20865
+ def notification_arns(self) -> typing.Optional[typing.List[builtins.str]]:
20866
+ '''SNS Topic ARNs that will receive stack events.
20867
+
20868
+ :default: - no notfication arns.
20869
+ '''
20870
+ result = self._values.get("notification_arns")
20871
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
20872
+
20700
20873
  @builtins.property
20701
20874
  def permissions_boundary(self) -> typing.Optional[PermissionsBoundary]:
20702
20875
  '''Options for applying a permissions boundary to all IAM Roles and Users created within this Stage.
@@ -20913,6 +21086,7 @@ class StackSynthesizer(
20913
21086
  *,
20914
21087
  image_tag: builtins.str,
20915
21088
  repository_name: builtins.str,
21089
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
20916
21090
  assume_role_arn: typing.Optional[builtins.str] = None,
20917
21091
  assume_role_external_id: typing.Optional[builtins.str] = None,
20918
21092
  region: typing.Optional[builtins.str] = None,
@@ -20923,6 +21097,7 @@ class StackSynthesizer(
20923
21097
 
20924
21098
  :param image_tag: Tag of the image to publish.
20925
21099
  :param repository_name: Name of the ECR repository to publish to.
21100
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. Default: - No additional options.
20926
21101
  :param assume_role_arn: The role that needs to be assumed while publishing this asset. Default: - No role will be assumed
20927
21102
  :param assume_role_external_id: The ExternalId that needs to be supplied while assuming this role. Default: - No ExternalId will be supplied
20928
21103
  :param region: The region where this asset will need to be published. Default: - Current region
@@ -20930,6 +21105,7 @@ class StackSynthesizer(
20930
21105
  dest = _DockerImageDestination_132046c7(
20931
21106
  image_tag=image_tag,
20932
21107
  repository_name=repository_name,
21108
+ assume_role_additional_options=assume_role_additional_options,
20933
21109
  assume_role_arn=assume_role_arn,
20934
21110
  assume_role_external_id=assume_role_external_id,
20935
21111
  region=region,
@@ -20943,6 +21119,7 @@ class StackSynthesizer(
20943
21119
  *,
20944
21120
  bucket_name: builtins.str,
20945
21121
  object_key: builtins.str,
21122
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
20946
21123
  assume_role_arn: typing.Optional[builtins.str] = None,
20947
21124
  assume_role_external_id: typing.Optional[builtins.str] = None,
20948
21125
  region: typing.Optional[builtins.str] = None,
@@ -20953,6 +21130,7 @@ class StackSynthesizer(
20953
21130
 
20954
21131
  :param bucket_name: The name of the bucket.
20955
21132
  :param object_key: The destination object key.
21133
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. Default: - No additional options.
20956
21134
  :param assume_role_arn: The role that needs to be assumed while publishing this asset. Default: - No role will be assumed
20957
21135
  :param assume_role_external_id: The ExternalId that needs to be supplied while assuming this role. Default: - No ExternalId will be supplied
20958
21136
  :param region: The region where this asset will need to be published. Default: - Current region
@@ -20960,6 +21138,7 @@ class StackSynthesizer(
20960
21138
  location = _FileDestination_7d285b38(
20961
21139
  bucket_name=bucket_name,
20962
21140
  object_key=object_key,
21141
+ assume_role_additional_options=assume_role_additional_options,
20963
21142
  assume_role_arn=assume_role_arn,
20964
21143
  assume_role_external_id=assume_role_external_id,
20965
21144
  region=region,
@@ -20973,6 +21152,7 @@ class StackSynthesizer(
20973
21152
  session: ISynthesisSession,
20974
21153
  *,
20975
21154
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
21155
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
20976
21156
  assume_role_arn: typing.Optional[builtins.str] = None,
20977
21157
  assume_role_external_id: typing.Optional[builtins.str] = None,
20978
21158
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
@@ -20990,6 +21170,7 @@ class StackSynthesizer(
20990
21170
 
20991
21171
  :param session: -
20992
21172
  :param additional_dependencies: Identifiers of additional dependencies. Default: - No additional dependencies
21173
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role for cloudformation deployments. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
20993
21174
  :param assume_role_arn: The role that needs to be assumed to deploy the stack. Default: - No role is assumed (current credentials are used)
20994
21175
  :param assume_role_external_id: The externalID to use with the assumeRoleArn. Default: - No externalID is used
20995
21176
  :param bootstrap_stack_version_ssm_parameter: SSM parameter where the bootstrap stack version number can be found. Only used if ``requiresBootstrapStackVersion`` is set. - If this value is not set, the bootstrap stack name must be known at deployment time so the stack version can be looked up from the stack outputs. - If this value is set, the bootstrap stack can have any name because we won't need to look it up. Default: - Bootstrap stack version number looked up
@@ -21004,6 +21185,7 @@ class StackSynthesizer(
21004
21185
  check_type(argname="argument session", value=session, expected_type=type_hints["session"])
21005
21186
  options = SynthesizeStackArtifactOptions(
21006
21187
  additional_dependencies=additional_dependencies,
21188
+ assume_role_additional_options=assume_role_additional_options,
21007
21189
  assume_role_arn=assume_role_arn,
21008
21190
  assume_role_external_id=assume_role_external_id,
21009
21191
  bootstrap_stack_version_ssm_parameter=bootstrap_stack_version_ssm_parameter,
@@ -21023,6 +21205,7 @@ class StackSynthesizer(
21023
21205
  session: ISynthesisSession,
21024
21206
  *,
21025
21207
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
21208
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
21026
21209
  assume_role_arn: typing.Optional[builtins.str] = None,
21027
21210
  assume_role_external_id: typing.Optional[builtins.str] = None,
21028
21211
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
@@ -21040,6 +21223,7 @@ class StackSynthesizer(
21040
21223
  :param stack: -
21041
21224
  :param session: -
21042
21225
  :param additional_dependencies: Identifiers of additional dependencies. Default: - No additional dependencies
21226
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role for cloudformation deployments. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
21043
21227
  :param assume_role_arn: The role that needs to be assumed to deploy the stack. Default: - No role is assumed (current credentials are used)
21044
21228
  :param assume_role_external_id: The externalID to use with the assumeRoleArn. Default: - No externalID is used
21045
21229
  :param bootstrap_stack_version_ssm_parameter: SSM parameter where the bootstrap stack version number can be found. Only used if ``requiresBootstrapStackVersion`` is set. - If this value is not set, the bootstrap stack name must be known at deployment time so the stack version can be looked up from the stack outputs. - If this value is set, the bootstrap stack can have any name because we won't need to look it up. Default: - Bootstrap stack version number looked up
@@ -21059,6 +21243,7 @@ class StackSynthesizer(
21059
21243
  check_type(argname="argument session", value=session, expected_type=type_hints["session"])
21060
21244
  options = SynthesizeStackArtifactOptions(
21061
21245
  additional_dependencies=additional_dependencies,
21246
+ assume_role_additional_options=assume_role_additional_options,
21062
21247
  assume_role_arn=assume_role_arn,
21063
21248
  assume_role_external_id=assume_role_external_id,
21064
21249
  bootstrap_stack_version_ssm_parameter=bootstrap_stack_version_ssm_parameter,
@@ -21106,6 +21291,8 @@ class StackSynthesizer(
21106
21291
  self,
21107
21292
  session: ISynthesisSession,
21108
21293
  lookup_role_arn: typing.Optional[builtins.str] = None,
21294
+ lookup_role_external_id: typing.Optional[builtins.str] = None,
21295
+ lookup_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
21109
21296
  ) -> FileAssetSource:
21110
21297
  '''Write the stack template to the given session.
21111
21298
 
@@ -21125,12 +21312,16 @@ class StackSynthesizer(
21125
21312
 
21126
21313
  :param session: -
21127
21314
  :param lookup_role_arn: -
21315
+ :param lookup_role_external_id: -
21316
+ :param lookup_role_additional_options: -
21128
21317
  '''
21129
21318
  if __debug__:
21130
21319
  type_hints = typing.get_type_hints(_typecheckingstub__62d696ba90df4decdd974f310bc9aa4c4febb6430ac2286452a198208b370d88)
21131
21320
  check_type(argname="argument session", value=session, expected_type=type_hints["session"])
21132
21321
  check_type(argname="argument lookup_role_arn", value=lookup_role_arn, expected_type=type_hints["lookup_role_arn"])
21133
- return typing.cast(FileAssetSource, jsii.invoke(self, "synthesizeTemplate", [session, lookup_role_arn]))
21322
+ check_type(argname="argument lookup_role_external_id", value=lookup_role_external_id, expected_type=type_hints["lookup_role_external_id"])
21323
+ check_type(argname="argument lookup_role_additional_options", value=lookup_role_additional_options, expected_type=type_hints["lookup_role_additional_options"])
21324
+ return typing.cast(FileAssetSource, jsii.invoke(self, "synthesizeTemplate", [session, lookup_role_arn, lookup_role_external_id, lookup_role_additional_options]))
21134
21325
 
21135
21326
  @builtins.property
21136
21327
  @jsii.member(jsii_name="boundStack")
@@ -21776,6 +21967,7 @@ class SymlinkFollowMode(enum.Enum):
21776
21967
  jsii_struct_bases=[],
21777
21968
  name_mapping={
21778
21969
  "additional_dependencies": "additionalDependencies",
21970
+ "assume_role_additional_options": "assumeRoleAdditionalOptions",
21779
21971
  "assume_role_arn": "assumeRoleArn",
21780
21972
  "assume_role_external_id": "assumeRoleExternalId",
21781
21973
  "bootstrap_stack_version_ssm_parameter": "bootstrapStackVersionSsmParameter",
@@ -21791,6 +21983,7 @@ class SynthesizeStackArtifactOptions:
21791
21983
  self,
21792
21984
  *,
21793
21985
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
21986
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
21794
21987
  assume_role_arn: typing.Optional[builtins.str] = None,
21795
21988
  assume_role_external_id: typing.Optional[builtins.str] = None,
21796
21989
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
@@ -21806,6 +21999,7 @@ class SynthesizeStackArtifactOptions:
21806
21999
  configurable by synthesizers, plus ``additionalDependencies``.
21807
22000
 
21808
22001
  :param additional_dependencies: Identifiers of additional dependencies. Default: - No additional dependencies
22002
+ :param assume_role_additional_options: Additional options to pass to STS when assuming the role for cloudformation deployments. - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
21809
22003
  :param assume_role_arn: The role that needs to be assumed to deploy the stack. Default: - No role is assumed (current credentials are used)
21810
22004
  :param assume_role_external_id: The externalID to use with the assumeRoleArn. Default: - No externalID is used
21811
22005
  :param bootstrap_stack_version_ssm_parameter: SSM parameter where the bootstrap stack version number can be found. Only used if ``requiresBootstrapStackVersion`` is set. - If this value is not set, the bootstrap stack name must be known at deployment time so the stack version can be looked up from the stack outputs. - If this value is set, the bootstrap stack can have any name because we won't need to look it up. Default: - Bootstrap stack version number looked up
@@ -21823,8 +22017,13 @@ class SynthesizeStackArtifactOptions:
21823
22017
  # The values are placeholders you should change.
21824
22018
  import aws_cdk as cdk
21825
22019
 
22020
+ # assume_role_additional_options: Any
22021
+
21826
22022
  synthesize_stack_artifact_options = cdk.SynthesizeStackArtifactOptions(
21827
22023
  additional_dependencies=["additionalDependencies"],
22024
+ assume_role_additional_options={
22025
+ "assume_role_additional_options_key": assume_role_additional_options
22026
+ },
21828
22027
  assume_role_arn="assumeRoleArn",
21829
22028
  assume_role_external_id="assumeRoleExternalId",
21830
22029
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
@@ -21833,6 +22032,9 @@ class SynthesizeStackArtifactOptions:
21833
22032
  arn="arn",
21834
22033
 
21835
22034
  # the properties below are optional
22035
+ assume_role_additional_options={
22036
+ "assume_role_additional_options_key": assume_role_additional_options
22037
+ },
21836
22038
  assume_role_external_id="assumeRoleExternalId",
21837
22039
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
21838
22040
  requires_bootstrap_stack_version=123
@@ -21849,6 +22051,7 @@ class SynthesizeStackArtifactOptions:
21849
22051
  if __debug__:
21850
22052
  type_hints = typing.get_type_hints(_typecheckingstub__e6e282c65acf49e595fc28dcbaa190dcad640aa58c70588087857d69dd7559b0)
21851
22053
  check_type(argname="argument additional_dependencies", value=additional_dependencies, expected_type=type_hints["additional_dependencies"])
22054
+ check_type(argname="argument assume_role_additional_options", value=assume_role_additional_options, expected_type=type_hints["assume_role_additional_options"])
21852
22055
  check_type(argname="argument assume_role_arn", value=assume_role_arn, expected_type=type_hints["assume_role_arn"])
21853
22056
  check_type(argname="argument assume_role_external_id", value=assume_role_external_id, expected_type=type_hints["assume_role_external_id"])
21854
22057
  check_type(argname="argument bootstrap_stack_version_ssm_parameter", value=bootstrap_stack_version_ssm_parameter, expected_type=type_hints["bootstrap_stack_version_ssm_parameter"])
@@ -21860,6 +22063,8 @@ class SynthesizeStackArtifactOptions:
21860
22063
  self._values: typing.Dict[builtins.str, typing.Any] = {}
21861
22064
  if additional_dependencies is not None:
21862
22065
  self._values["additional_dependencies"] = additional_dependencies
22066
+ if assume_role_additional_options is not None:
22067
+ self._values["assume_role_additional_options"] = assume_role_additional_options
21863
22068
  if assume_role_arn is not None:
21864
22069
  self._values["assume_role_arn"] = assume_role_arn
21865
22070
  if assume_role_external_id is not None:
@@ -21886,6 +22091,23 @@ class SynthesizeStackArtifactOptions:
21886
22091
  result = self._values.get("additional_dependencies")
21887
22092
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
21888
22093
 
22094
+ @builtins.property
22095
+ def assume_role_additional_options(
22096
+ self,
22097
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
22098
+ '''Additional options to pass to STS when assuming the role for cloudformation deployments.
22099
+
22100
+ - ``RoleArn`` should not be used. Use the dedicated ``assumeRoleArn`` property instead.
22101
+ - ``ExternalId`` should not be used. Use the dedicated ``assumeRoleExternalId`` instead.
22102
+ - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default.
22103
+
22104
+ :default: - No additional options.
22105
+
22106
+ :see: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
22107
+ '''
22108
+ result = self._values.get("assume_role_additional_options")
22109
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
22110
+
21889
22111
  @builtins.property
21890
22112
  def assume_role_arn(self) -> typing.Optional[builtins.str]:
21891
22113
  '''The role that needs to be assumed to deploy the stack.
@@ -27349,10 +27571,10 @@ class CfnHookTypeConfig(
27349
27571
  '''
27350
27572
  :param scope: Scope in which this resource is defined.
27351
27573
  :param id: Construct identifier for this resource (unique in its scope).
27352
- :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
27574
+ :param configuration: Specifies the activated hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
27353
27575
  :param configuration_alias: Specifies the activated hook type configuration, in this AWS account and AWS Region . Defaults to ``default`` alias. Hook types currently support default configuration alias. Default: - "default"
27354
- :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
27355
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeARN`` and ``Configuration`` .
27576
+ :param type_arn: The Amazon Resource Number (ARN) for the hook to set ``Configuration`` for. You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
27577
+ :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
27356
27578
  '''
27357
27579
  if __debug__:
27358
27580
  type_hints = typing.get_type_hints(_typecheckingstub__440c58795f3a6a77584c4efc0cb756d094deee80919471d9fe116992443f4255)
@@ -33038,16 +33260,20 @@ class DefaultStackSynthesizer(
33038
33260
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
33039
33261
  bucket_prefix: typing.Optional[builtins.str] = None,
33040
33262
  cloud_formation_execution_role: typing.Optional[builtins.str] = None,
33263
+ deploy_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
33041
33264
  deploy_role_arn: typing.Optional[builtins.str] = None,
33042
33265
  deploy_role_external_id: typing.Optional[builtins.str] = None,
33043
33266
  docker_tag_prefix: typing.Optional[builtins.str] = None,
33044
33267
  file_asset_publishing_external_id: typing.Optional[builtins.str] = None,
33268
+ file_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
33045
33269
  file_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
33046
33270
  file_assets_bucket_name: typing.Optional[builtins.str] = None,
33047
33271
  generate_bootstrap_version_rule: typing.Optional[builtins.bool] = None,
33048
33272
  image_asset_publishing_external_id: typing.Optional[builtins.str] = None,
33273
+ image_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
33049
33274
  image_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
33050
33275
  image_assets_repository_name: typing.Optional[builtins.str] = None,
33276
+ lookup_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
33051
33277
  lookup_role_arn: typing.Optional[builtins.str] = None,
33052
33278
  lookup_role_external_id: typing.Optional[builtins.str] = None,
33053
33279
  qualifier: typing.Optional[builtins.str] = None,
@@ -33057,16 +33283,20 @@ class DefaultStackSynthesizer(
33057
33283
  :param bootstrap_stack_version_ssm_parameter: Bootstrap stack version SSM parameter. The placeholder ``${Qualifier}`` will be replaced with the value of qualifier. Default: DefaultStackSynthesizer.DEFAULT_BOOTSTRAP_STACK_VERSION_SSM_PARAMETER
33058
33284
  :param bucket_prefix: bucketPrefix to use while storing S3 Assets. Default: - DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PREFIX
33059
33285
  :param cloud_formation_execution_role: The role CloudFormation will assume when deploying the Stack. You must supply this if you have given a non-standard name to the execution role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_CLOUDFORMATION_ROLE_ARN
33286
+ :param deploy_role_additional_options: Additional options to pass to STS when assuming the deploy role. - ``RoleArn`` should not be used. Use the dedicated ``deployRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``deployRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
33060
33287
  :param deploy_role_arn: The role to assume to initiate a deployment in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_DEPLOY_ROLE_ARN
33061
33288
  :param deploy_role_external_id: External ID to use when assuming role for cloudformation deployments. Default: - No external ID
33062
33289
  :param docker_tag_prefix: A prefix to use while tagging and uploading Docker images to ECR. This does not add any separators - the source hash will be appended to this string directly. Default: - DefaultStackSynthesizer.DEFAULT_DOCKER_ASSET_PREFIX
33063
33290
  :param file_asset_publishing_external_id: External ID to use when assuming role for file asset publishing. Default: - No external ID
33291
+ :param file_asset_publishing_role_additional_options: Additional options to pass to STS when assuming the file asset publishing. - ``RoleArn`` should not be used. Use the dedicated ``fileAssetPublishingRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``fileAssetPublishingExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
33064
33292
  :param file_asset_publishing_role_arn: The role to use to publish file assets to the S3 bucket in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PUBLISHING_ROLE_ARN
33065
33293
  :param file_assets_bucket_name: Name of the S3 bucket to hold file assets. You must supply this if you have given a non-standard name to the staging bucket. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSETS_BUCKET_NAME
33066
33294
  :param generate_bootstrap_version_rule: Whether to add a Rule to the stack template verifying the bootstrap stack version. This generally should be left set to ``true``, unless you explicitly want to be able to deploy to an unbootstrapped environment. Default: true
33067
33295
  :param image_asset_publishing_external_id: External ID to use when assuming role for image asset publishing. Default: - No external ID
33296
+ :param image_asset_publishing_role_additional_options: Additional options to pass to STS when assuming the image asset publishing. - ``RoleArn`` should not be used. Use the dedicated ``imageAssetPublishingRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``imageAssetPublishingExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
33068
33297
  :param image_asset_publishing_role_arn: The role to use to publish image assets to the ECR repository in this environment. You must supply this if you have given a non-standard name to the publishing role. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSET_PUBLISHING_ROLE_ARN
33069
33298
  :param image_assets_repository_name: Name of the ECR repository to hold Docker Image assets. You must supply this if you have given a non-standard name to the ECR repository. The placeholders ``${Qualifier}``, ``${AWS::AccountId}`` and ``${AWS::Region}`` will be replaced with the values of qualifier and the stack's account and region, respectively. Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSETS_REPOSITORY_NAME
33299
+ :param lookup_role_additional_options: Additional options to pass to STS when assuming the lookup role. - ``RoleArn`` should not be used. Use the dedicated ``lookupRoleArn`` property instead. - ``ExternalId`` should not be used. Use the dedicated ``lookupRoleExternalId`` instead. - ``TransitiveTagKeys`` defaults to use all keys (if any) specified in ``Tags``. E.g, all tags are transitive by default. Default: - No additional options.
33070
33300
  :param lookup_role_arn: The role to use to look up values from the target AWS account during synthesis. Default: - None
33071
33301
  :param lookup_role_external_id: External ID to use when assuming lookup role. Default: - No external ID
33072
33302
  :param qualifier: Qualifier to disambiguate multiple environments in the same account. You can use this and leave the other naming properties empty if you have deployed the bootstrap environment with standard names but only different qualifiers. Default: - Value of context key '@aws-cdk/core:bootstrapQualifier' if set, otherwise ``DefaultStackSynthesizer.DEFAULT_QUALIFIER``
@@ -33076,16 +33306,20 @@ class DefaultStackSynthesizer(
33076
33306
  bootstrap_stack_version_ssm_parameter=bootstrap_stack_version_ssm_parameter,
33077
33307
  bucket_prefix=bucket_prefix,
33078
33308
  cloud_formation_execution_role=cloud_formation_execution_role,
33309
+ deploy_role_additional_options=deploy_role_additional_options,
33079
33310
  deploy_role_arn=deploy_role_arn,
33080
33311
  deploy_role_external_id=deploy_role_external_id,
33081
33312
  docker_tag_prefix=docker_tag_prefix,
33082
33313
  file_asset_publishing_external_id=file_asset_publishing_external_id,
33314
+ file_asset_publishing_role_additional_options=file_asset_publishing_role_additional_options,
33083
33315
  file_asset_publishing_role_arn=file_asset_publishing_role_arn,
33084
33316
  file_assets_bucket_name=file_assets_bucket_name,
33085
33317
  generate_bootstrap_version_rule=generate_bootstrap_version_rule,
33086
33318
  image_asset_publishing_external_id=image_asset_publishing_external_id,
33319
+ image_asset_publishing_role_additional_options=image_asset_publishing_role_additional_options,
33087
33320
  image_asset_publishing_role_arn=image_asset_publishing_role_arn,
33088
33321
  image_assets_repository_name=image_assets_repository_name,
33322
+ lookup_role_additional_options=lookup_role_additional_options,
33089
33323
  lookup_role_arn=lookup_role_arn,
33090
33324
  lookup_role_external_id=lookup_role_external_id,
33091
33325
  qualifier=qualifier,
@@ -34449,6 +34683,7 @@ def _typecheckingstub__e4e4609083793a8b31752be2f457b6b1f1220145a70469bafc48a1428
34449
34683
  *,
34450
34684
  image_tag: builtins.str,
34451
34685
  repository_name: builtins.str,
34686
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
34452
34687
  assume_role_arn: typing.Optional[builtins.str] = None,
34453
34688
  assume_role_external_id: typing.Optional[builtins.str] = None,
34454
34689
  region: typing.Optional[builtins.str] = None,
@@ -34463,6 +34698,7 @@ def _typecheckingstub__f12f649e9db582bca540895dead136ba4f8ce5c52abc11eb50e5224da
34463
34698
  *,
34464
34699
  bucket_name: builtins.str,
34465
34700
  object_key: builtins.str,
34701
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
34466
34702
  assume_role_arn: typing.Optional[builtins.str] = None,
34467
34703
  assume_role_external_id: typing.Optional[builtins.str] = None,
34468
34704
  region: typing.Optional[builtins.str] = None,
@@ -35404,16 +35640,20 @@ def _typecheckingstub__06784f4f0c2d983d957b0f4fbf46c4e4e85e842ac87bb6c7b582ce30b
35404
35640
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
35405
35641
  bucket_prefix: typing.Optional[builtins.str] = None,
35406
35642
  cloud_formation_execution_role: typing.Optional[builtins.str] = None,
35643
+ deploy_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
35407
35644
  deploy_role_arn: typing.Optional[builtins.str] = None,
35408
35645
  deploy_role_external_id: typing.Optional[builtins.str] = None,
35409
35646
  docker_tag_prefix: typing.Optional[builtins.str] = None,
35410
35647
  file_asset_publishing_external_id: typing.Optional[builtins.str] = None,
35648
+ file_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
35411
35649
  file_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
35412
35650
  file_assets_bucket_name: typing.Optional[builtins.str] = None,
35413
35651
  generate_bootstrap_version_rule: typing.Optional[builtins.bool] = None,
35414
35652
  image_asset_publishing_external_id: typing.Optional[builtins.str] = None,
35653
+ image_asset_publishing_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
35415
35654
  image_asset_publishing_role_arn: typing.Optional[builtins.str] = None,
35416
35655
  image_assets_repository_name: typing.Optional[builtins.str] = None,
35656
+ lookup_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
35417
35657
  lookup_role_arn: typing.Optional[builtins.str] = None,
35418
35658
  lookup_role_external_id: typing.Optional[builtins.str] = None,
35419
35659
  qualifier: typing.Optional[builtins.str] = None,
@@ -36580,6 +36820,7 @@ def _typecheckingstub__55afe4d64fb4d5ea0191f49597eab03d77d7784d61bfdf374b068db65
36580
36820
  def _typecheckingstub__350c3eeb771368884765de415edb2b16931d742fbdb5253af2222e0e84a150c0(
36581
36821
  *,
36582
36822
  assume_role_arn: builtins.str,
36823
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
36583
36824
  assume_role_external_id: typing.Optional[builtins.str] = None,
36584
36825
  ) -> None:
36585
36826
  """Type checking stubs"""
@@ -36719,6 +36960,7 @@ def _typecheckingstub__835828a2dac25cb8eb22f32985554296e8bd61463c8cc32bb2df4c1f4
36719
36960
  cross_region_references: typing.Optional[builtins.bool] = None,
36720
36961
  description: typing.Optional[builtins.str] = None,
36721
36962
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
36963
+ notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
36722
36964
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
36723
36965
  stack_name: typing.Optional[builtins.str] = None,
36724
36966
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
@@ -36843,6 +37085,7 @@ def _typecheckingstub__a36aaf4edf2967c8ed36d2cad24d023f14778db721379dffbd74eb6dd
36843
37085
  cross_region_references: typing.Optional[builtins.bool] = None,
36844
37086
  description: typing.Optional[builtins.str] = None,
36845
37087
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
37088
+ notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
36846
37089
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
36847
37090
  stack_name: typing.Optional[builtins.str] = None,
36848
37091
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
@@ -36870,6 +37113,7 @@ def _typecheckingstub__517af770e6da66daf1f297aec61d75cd37b7e192df2078e6838ab6e9e
36870
37113
  session: ISynthesisSession,
36871
37114
  *,
36872
37115
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
37116
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
36873
37117
  assume_role_arn: typing.Optional[builtins.str] = None,
36874
37118
  assume_role_external_id: typing.Optional[builtins.str] = None,
36875
37119
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
@@ -36887,6 +37131,7 @@ def _typecheckingstub__d6ef0ff2bae87721c597af1c828fef5eb405f9029af6b627795d5dc77
36887
37131
  session: ISynthesisSession,
36888
37132
  *,
36889
37133
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
37134
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
36890
37135
  assume_role_arn: typing.Optional[builtins.str] = None,
36891
37136
  assume_role_external_id: typing.Optional[builtins.str] = None,
36892
37137
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,
@@ -36909,6 +37154,8 @@ def _typecheckingstub__aa781da9870510988087be48595677f995a2926d2a52d05d9e70b5990
36909
37154
  def _typecheckingstub__62d696ba90df4decdd974f310bc9aa4c4febb6430ac2286452a198208b370d88(
36910
37155
  session: ISynthesisSession,
36911
37156
  lookup_role_arn: typing.Optional[builtins.str] = None,
37157
+ lookup_role_external_id: typing.Optional[builtins.str] = None,
37158
+ lookup_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
36912
37159
  ) -> None:
36913
37160
  """Type checking stubs"""
36914
37161
  pass
@@ -36974,6 +37221,7 @@ def _typecheckingstub__beea6de86940403553075b97b7789646bdb961b01447c5f8021c6a665
36974
37221
  def _typecheckingstub__e6e282c65acf49e595fc28dcbaa190dcad640aa58c70588087857d69dd7559b0(
36975
37222
  *,
36976
37223
  additional_dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
37224
+ assume_role_additional_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
36977
37225
  assume_role_arn: typing.Optional[builtins.str] = None,
36978
37226
  assume_role_external_id: typing.Optional[builtins.str] = None,
36979
37227
  bootstrap_stack_version_ssm_parameter: typing.Optional[builtins.str] = None,