aws-cdk.cx-api 2.220.0__tar.gz → 2.234.1__tar.gz

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.
Files changed (18) hide show
  1. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/LICENSE +1 -1
  2. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/NOTICE +1 -1
  3. {aws_cdk_cx_api-2.220.0/src/aws_cdk.cx_api.egg-info → aws_cdk_cx_api-2.234.1}/PKG-INFO +34 -45
  4. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/README.md +31 -42
  5. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/pyproject.toml +1 -1
  6. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/setup.py +4 -4
  7. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk/cx_api/__init__.py +140 -108
  8. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk/cx_api/_jsii/__init__.py +1 -1
  9. aws_cdk_cx_api-2.234.1/src/aws_cdk/cx_api/_jsii/cx-api@2.234.1.jsii.tgz +0 -0
  10. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1/src/aws_cdk.cx_api.egg-info}/PKG-INFO +34 -45
  11. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk.cx_api.egg-info/SOURCES.txt +1 -1
  12. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk.cx_api.egg-info/requires.txt +2 -2
  13. aws_cdk_cx_api-2.220.0/src/aws_cdk/cx_api/_jsii/cx-api@2.220.0.jsii.tgz +0 -0
  14. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/MANIFEST.in +0 -0
  15. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/setup.cfg +0 -0
  16. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk/cx_api/py.typed +0 -0
  17. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk.cx_api.egg-info/dependency_links.txt +0 -0
  18. {aws_cdk_cx_api-2.220.0 → aws_cdk_cx_api-2.234.1}/src/aws_cdk.cx_api.egg-info/top_level.txt +0 -0
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
189
+ Copyright 2018-2026 Amazon.com, Inc. or its affiliates. All Rights Reserved.
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  AWS Cloud Development Kit (AWS CDK)
2
- Copyright 2018-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ Copyright 2018-2026 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
 
4
4
  -------------------------------------------------------------------------------
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk.cx-api
3
- Version: 2.220.0
3
+ Version: 2.234.1
4
4
  Summary: Cloud executable protocol
5
5
  Home-page: https://github.com/aws/aws-cdk
6
6
  Author: Amazon Web Services
@@ -23,9 +23,9 @@ Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
25
  Requires-Dist: aws-cdk.cloud-assembly-schema>=45.0.0
26
- Requires-Dist: jsii<2.0.0,>=1.113.0
26
+ Requires-Dist: jsii<2.0.0,>=1.125.0
27
27
  Requires-Dist: publication>=0.0.3
28
- Requires-Dist: typeguard<4.3.0,>=2.13.3
28
+ Requires-Dist: typeguard==2.13.3
29
29
 
30
30
  # Cloud Executable API
31
31
 
@@ -557,48 +557,6 @@ If the flag is set to false then a custom resource will be created when using `U
557
557
  }
558
558
  ```
559
559
 
560
- * `@aws-cdk/aws-ecs:disableEcsImdsBlocking`
561
-
562
- When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false.
563
-
564
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
565
- accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
566
- to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
567
- IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
568
-
569
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
570
-
571
- *cdk.json*
572
-
573
- ```json
574
- {
575
- "context": {
576
- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true
577
- }
578
- }
579
- ```
580
-
581
- * `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature`
582
-
583
- When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only.**
584
-
585
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
586
- accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
587
- feature alone with this feature flag will be deprecated by <ins>end of 2025</ins> as CDK cannot
588
- guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
589
-
590
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
591
-
592
- *cdk.json*
593
-
594
- ```json
595
- {
596
- "context": {
597
- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
598
- },
599
- }
600
- ```
601
-
602
560
  * `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
603
561
 
604
562
  When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere,
@@ -794,6 +752,21 @@ When this feature flag is disabled, EgressOnlyGateway resource is created for al
794
752
  }
795
753
  ```
796
754
 
755
+ * `@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint`
756
+
757
+ When this feature flag is enabled, the JSONPath apiEndpoint value will be resolved dynamically at runtime, while slightly increasing the size of the state machine definition.
758
+ When disabled, the JSONPath apiEndpoint property will only support a static string value.
759
+
760
+ _cdk.json
761
+
762
+ ```json
763
+ {
764
+ "context": {
765
+ "@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": true
766
+ }
767
+ }
768
+ ```
769
+
797
770
  * `@aws-cdk/aws-signer:signingProfileNamePassedToCfn`
798
771
 
799
772
  When this feature flag is enabled, the `signingProfileName` property is passed to the L1 `CfnSigningProfile` construct,
@@ -815,3 +788,19 @@ in the CloudFormation template.
815
788
  }
816
789
  }
817
790
  ```
791
+
792
+ * `@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId`
793
+
794
+ When enabled, ECS patterns will generate unique target group IDs that include the load balancer name and type (public/private). This prevents CloudFormation conflicts when switching between public and private load balancers.
795
+
796
+ Without this flag, switching an ApplicationLoadBalancedFargateService from public to private (or vice versa) fails with "target group cannot be associated with more than one load balancer" error.
797
+
798
+ *cdk.json*
799
+
800
+ ```json
801
+ {
802
+ "context": {
803
+ "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true
804
+ }
805
+ }
806
+ ```
@@ -528,48 +528,6 @@ If the flag is set to false then a custom resource will be created when using `U
528
528
  }
529
529
  ```
530
530
 
531
- * `@aws-cdk/aws-ecs:disableEcsImdsBlocking`
532
-
533
- When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false.
534
-
535
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
536
- accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
537
- to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
538
- IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
539
-
540
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
541
-
542
- *cdk.json*
543
-
544
- ```json
545
- {
546
- "context": {
547
- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true
548
- }
549
- }
550
- ```
551
-
552
- * `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature`
553
-
554
- When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only.**
555
-
556
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
557
- accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
558
- feature alone with this feature flag will be deprecated by <ins>end of 2025</ins> as CDK cannot
559
- guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
560
-
561
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
562
-
563
- *cdk.json*
564
-
565
- ```json
566
- {
567
- "context": {
568
- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
569
- },
570
- }
571
- ```
572
-
573
531
  * `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
574
532
 
575
533
  When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere,
@@ -765,6 +723,21 @@ When this feature flag is disabled, EgressOnlyGateway resource is created for al
765
723
  }
766
724
  ```
767
725
 
726
+ * `@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint`
727
+
728
+ When this feature flag is enabled, the JSONPath apiEndpoint value will be resolved dynamically at runtime, while slightly increasing the size of the state machine definition.
729
+ When disabled, the JSONPath apiEndpoint property will only support a static string value.
730
+
731
+ _cdk.json
732
+
733
+ ```json
734
+ {
735
+ "context": {
736
+ "@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": true
737
+ }
738
+ }
739
+ ```
740
+
768
741
  * `@aws-cdk/aws-signer:signingProfileNamePassedToCfn`
769
742
 
770
743
  When this feature flag is enabled, the `signingProfileName` property is passed to the L1 `CfnSigningProfile` construct,
@@ -786,3 +759,19 @@ in the CloudFormation template.
786
759
  }
787
760
  }
788
761
  ```
762
+
763
+ * `@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId`
764
+
765
+ When enabled, ECS patterns will generate unique target group IDs that include the load balancer name and type (public/private). This prevents CloudFormation conflicts when switching between public and private load balancers.
766
+
767
+ Without this flag, switching an ApplicationLoadBalancedFargateService from public to private (or vice versa) fails with "target group cannot be associated with more than one load balancer" error.
768
+
769
+ *cdk.json*
770
+
771
+ ```json
772
+ {
773
+ "context": {
774
+ "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true
775
+ }
776
+ }
777
+ ```
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools~=75.3.2", "build~=1.2.2.post1"]
2
+ requires = ["setuptools~=75.3.2", "build~=1.3.0"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.pyright]
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "aws-cdk.cx-api",
8
- "version": "2.220.0",
8
+ "version": "2.234.1",
9
9
  "description": "Cloud executable protocol",
10
10
  "license": "Apache-2.0",
11
11
  "url": "https://github.com/aws/aws-cdk",
@@ -26,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "aws_cdk.cx_api._jsii": [
29
- "cx-api@2.220.0.jsii.tgz"
29
+ "cx-api@2.234.1.jsii.tgz"
30
30
  ],
31
31
  "aws_cdk.cx_api": [
32
32
  "py.typed"
@@ -35,9 +35,9 @@ kwargs = json.loads(
35
35
  "python_requires": "~=3.9",
36
36
  "install_requires": [
37
37
  "aws-cdk.cloud-assembly-schema>=45.0.0",
38
- "jsii>=1.113.0, <2.0.0",
38
+ "jsii>=1.125.0, <2.0.0",
39
39
  "publication>=0.0.3",
40
- "typeguard>=2.13.3,<4.3.0"
40
+ "typeguard==2.13.3"
41
41
  ],
42
42
  "classifiers": [
43
43
  "Intended Audience :: Developers",
@@ -529,48 +529,6 @@ If the flag is set to false then a custom resource will be created when using `U
529
529
  }
530
530
  ```
531
531
 
532
- * `@aws-cdk/aws-ecs:disableEcsImdsBlocking`
533
-
534
- When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false.
535
-
536
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
537
- accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
538
- to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
539
- IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
540
-
541
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
542
-
543
- *cdk.json*
544
-
545
- ```json
546
- {
547
- "context": {
548
- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true
549
- }
550
- }
551
- ```
552
-
553
- * `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature`
554
-
555
- When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only.**
556
-
557
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
558
- accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
559
- feature alone with this feature flag will be deprecated by <ins>end of 2025</ins> as CDK cannot
560
- guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
561
-
562
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
563
-
564
- *cdk.json*
565
-
566
- ```json
567
- {
568
- "context": {
569
- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
570
- },
571
- }
572
- ```
573
-
574
532
  * `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
575
533
 
576
534
  When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere,
@@ -766,6 +724,21 @@ When this feature flag is disabled, EgressOnlyGateway resource is created for al
766
724
  }
767
725
  ```
768
726
 
727
+ * `@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint`
728
+
729
+ When this feature flag is enabled, the JSONPath apiEndpoint value will be resolved dynamically at runtime, while slightly increasing the size of the state machine definition.
730
+ When disabled, the JSONPath apiEndpoint property will only support a static string value.
731
+
732
+ _cdk.json
733
+
734
+ ```json
735
+ {
736
+ "context": {
737
+ "@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": true
738
+ }
739
+ }
740
+ ```
741
+
769
742
  * `@aws-cdk/aws-signer:signingProfileNamePassedToCfn`
770
743
 
771
744
  When this feature flag is enabled, the `signingProfileName` property is passed to the L1 `CfnSigningProfile` construct,
@@ -787,6 +760,22 @@ in the CloudFormation template.
787
760
  }
788
761
  }
789
762
  ```
763
+
764
+ * `@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId`
765
+
766
+ When enabled, ECS patterns will generate unique target group IDs that include the load balancer name and type (public/private). This prevents CloudFormation conflicts when switching between public and private load balancers.
767
+
768
+ Without this flag, switching an ApplicationLoadBalancedFargateService from public to private (or vice versa) fails with "target group cannot be associated with more than one load balancer" error.
769
+
770
+ *cdk.json*
771
+
772
+ ```json
773
+ {
774
+ "context": {
775
+ "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true
776
+ }
777
+ }
778
+ ```
790
779
  '''
791
780
  from pkgutil import extend_path
792
781
  __path__ = extend_path(__path__, __name__)
@@ -1068,12 +1057,12 @@ class CloudArtifact(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudArt
1068
1057
  assembly: "CloudAssembly",
1069
1058
  id: builtins.str,
1070
1059
  *,
1071
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
1060
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
1072
1061
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
1073
1062
  display_name: typing.Optional[builtins.str] = None,
1074
1063
  environment: typing.Optional[builtins.str] = None,
1075
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
1076
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
1064
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
1065
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
1077
1066
  ) -> None:
1078
1067
  '''
1079
1068
  :param assembly: -
@@ -1107,12 +1096,12 @@ class CloudArtifact(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudArt
1107
1096
  assembly: "CloudAssembly",
1108
1097
  id: builtins.str,
1109
1098
  *,
1110
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
1099
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
1111
1100
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
1112
1101
  display_name: typing.Optional[builtins.str] = None,
1113
1102
  environment: typing.Optional[builtins.str] = None,
1114
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
1115
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
1103
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
1104
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
1116
1105
  ) -> typing.Optional["CloudArtifact"]:
1117
1106
  '''Returns a subclass of ``CloudArtifact`` based on the artifact type defined in the artifact manifest.
1118
1107
 
@@ -1185,9 +1174,9 @@ class CloudArtifact(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudArt
1185
1174
 
1186
1175
  @builtins.property
1187
1176
  @jsii.member(jsii_name="manifest")
1188
- def manifest(self) -> _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactManifest:
1177
+ def manifest(self) -> "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactManifest":
1189
1178
  '''The artifact's manifest.'''
1190
- return typing.cast(_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactManifest, jsii.get(self, "manifest"))
1179
+ return typing.cast("_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactManifest", jsii.get(self, "manifest"))
1191
1180
 
1192
1181
  @builtins.property
1193
1182
  @jsii.member(jsii_name="messages")
@@ -1241,6 +1230,45 @@ class CloudAssembly(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudAss
1241
1230
 
1242
1231
  jsii.create(self.__class__, self, [directory, load_options])
1243
1232
 
1233
+ @jsii.member(jsii_name="cleanupTemporaryDirectories")
1234
+ @builtins.classmethod
1235
+ def cleanup_temporary_directories(cls) -> None:
1236
+ '''Cleans up any temporary assembly directories that got created in this process.
1237
+
1238
+ If a Cloud Assembly is emitted to a temporary directory, its directory gets
1239
+ added to a list. This function iterates over that list and deletes each
1240
+ directory in it, to free up disk space.
1241
+
1242
+ This function will normally be called automatically during Node process
1243
+ exit and so you don't need to call this. However, some test environments do
1244
+ not properly trigger Node's ``exit`` event. Notably: Jest does not trigger
1245
+ the ``exit`` event (`https://github.com/jestjs/jest/issues/10927 <https://github.com/jestjs/jest/issues/10927>`_).
1246
+
1247
+
1248
+ Cleaning up temporary directories in jest
1249
+
1250
+ For Jest, you have to make sure this function is called at the end of the
1251
+ test suite instead::
1252
+
1253
+ import { CloudAssembly } from 'aws-cdk-lib/cx-api';
1254
+
1255
+ afterAll(CloudAssembly.cleanupTemporaryDirectories);
1256
+
1257
+ Alternatively, you can use the ``setupFilesAfterEnv`` feature and use a
1258
+ provided helper script to automatically inject the above into every
1259
+ test file, so you don't have to do it by hand::
1260
+
1261
+ $ npx jest --setupFilesAfterEnv aws-cdk-lib/testhelpers/jest-autoclean
1262
+
1263
+ Or put the following into ``jest.config.js``::
1264
+
1265
+ module.exports = {
1266
+ // ...
1267
+ setupFilesAfterEnv: ['aws-cdk-lib/testhelpers/jest-cleanup'],
1268
+ };
1269
+ '''
1270
+ return typing.cast(None, jsii.sinvoke(cls, "cleanupTemporaryDirectories", []))
1271
+
1244
1272
  @jsii.member(jsii_name="isCloudAssembly")
1245
1273
  @builtins.classmethod
1246
1274
  def is_cloud_assembly(cls, x: typing.Any) -> builtins.bool:
@@ -1347,7 +1375,7 @@ class CloudAssembly(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudAss
1347
1375
  return typing.cast(typing.Optional["TreeCloudArtifact"], jsii.invoke(self, "tree", []))
1348
1376
 
1349
1377
  @jsii.member(jsii_name="tryGetArtifact")
1350
- def try_get_artifact(self, id: builtins.str) -> typing.Optional[CloudArtifact]:
1378
+ def try_get_artifact(self, id: builtins.str) -> typing.Optional["CloudArtifact"]:
1351
1379
  '''Attempts to find an artifact with a specific identity.
1352
1380
 
1353
1381
  :param id: The artifact ID.
@@ -1357,13 +1385,13 @@ class CloudAssembly(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudAss
1357
1385
  if __debug__:
1358
1386
  type_hints = typing.get_type_hints(_typecheckingstub__e63d4b9de8dea3f9eae2c52ce338ea515eba253503b1e6e804b839ce0360de2f)
1359
1387
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1360
- return typing.cast(typing.Optional[CloudArtifact], jsii.invoke(self, "tryGetArtifact", [id]))
1388
+ return typing.cast(typing.Optional["CloudArtifact"], jsii.invoke(self, "tryGetArtifact", [id]))
1361
1389
 
1362
1390
  @builtins.property
1363
1391
  @jsii.member(jsii_name="artifacts")
1364
- def artifacts(self) -> typing.List[CloudArtifact]:
1392
+ def artifacts(self) -> typing.List["CloudArtifact"]:
1365
1393
  '''All artifacts included in this assembly.'''
1366
- return typing.cast(typing.List[CloudArtifact], jsii.get(self, "artifacts"))
1394
+ return typing.cast(typing.List["CloudArtifact"], jsii.get(self, "artifacts"))
1367
1395
 
1368
1396
  @builtins.property
1369
1397
  @jsii.member(jsii_name="directory")
@@ -1373,9 +1401,9 @@ class CloudAssembly(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudAss
1373
1401
 
1374
1402
  @builtins.property
1375
1403
  @jsii.member(jsii_name="manifest")
1376
- def manifest(self) -> _aws_cdk_cloud_assembly_schema_cae1d136.AssemblyManifest:
1404
+ def manifest(self) -> "_aws_cdk_cloud_assembly_schema_cae1d136.AssemblyManifest":
1377
1405
  '''The raw assembly manifest.'''
1378
- return typing.cast(_aws_cdk_cloud_assembly_schema_cae1d136.AssemblyManifest, jsii.get(self, "manifest"))
1406
+ return typing.cast("_aws_cdk_cloud_assembly_schema_cae1d136.AssemblyManifest", jsii.get(self, "manifest"))
1379
1407
 
1380
1408
  @builtins.property
1381
1409
  @jsii.member(jsii_name="nestedAssemblies")
@@ -1385,9 +1413,9 @@ class CloudAssembly(metaclass=jsii.JSIIMeta, jsii_type="@aws-cdk/cx-api.CloudAss
1385
1413
 
1386
1414
  @builtins.property
1387
1415
  @jsii.member(jsii_name="runtime")
1388
- def runtime(self) -> _aws_cdk_cloud_assembly_schema_cae1d136.RuntimeInfo:
1416
+ def runtime(self) -> "_aws_cdk_cloud_assembly_schema_cae1d136.RuntimeInfo":
1389
1417
  '''Runtime information such as module versions used to synthesize this assembly.'''
1390
- return typing.cast(_aws_cdk_cloud_assembly_schema_cae1d136.RuntimeInfo, jsii.get(self, "runtime"))
1418
+ return typing.cast("_aws_cdk_cloud_assembly_schema_cae1d136.RuntimeInfo", jsii.get(self, "runtime"))
1391
1419
 
1392
1420
  @builtins.property
1393
1421
  @jsii.member(jsii_name="stacks")
@@ -1459,12 +1487,12 @@ class CloudAssemblyBuilder(
1459
1487
  self,
1460
1488
  id: builtins.str,
1461
1489
  *,
1462
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
1490
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
1463
1491
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
1464
1492
  display_name: typing.Optional[builtins.str] = None,
1465
1493
  environment: typing.Optional[builtins.str] = None,
1466
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
1467
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
1494
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
1495
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
1468
1496
  ) -> None:
1469
1497
  '''Adds an artifact into the cloud assembly.
1470
1498
 
@@ -1495,8 +1523,8 @@ class CloudAssemblyBuilder(
1495
1523
  self,
1496
1524
  *,
1497
1525
  key: builtins.str,
1498
- props: typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AmiContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AvailabilityZonesContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.HostedZoneContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.SSMParameterContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.VpcContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.EndpointServiceAvailabilityZonesContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.LoadBalancerContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.LoadBalancerListenerContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.SecurityGroupContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.KeyContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.CcApiContextQuery, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.PluginContextQuery, typing.Dict[builtins.str, typing.Any]]],
1499
- provider: _aws_cdk_cloud_assembly_schema_cae1d136.ContextProvider,
1526
+ props: typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AmiContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AvailabilityZonesContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.HostedZoneContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.SSMParameterContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.VpcContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.EndpointServiceAvailabilityZonesContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.LoadBalancerContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.LoadBalancerListenerContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.SecurityGroupContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.KeyContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.CcApiContextQuery", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.PluginContextQuery", typing.Dict[builtins.str, typing.Any]]],
1527
+ provider: "_aws_cdk_cloud_assembly_schema_cae1d136.ContextProvider",
1500
1528
  ) -> None:
1501
1529
  '''Reports that some context is missing in order for this cloud assembly to be fully synthesized.
1502
1530
 
@@ -1515,14 +1543,14 @@ class CloudAssemblyBuilder(
1515
1543
  self,
1516
1544
  *,
1517
1545
  runtime_info: typing.Optional[typing.Union["RuntimeInfo", typing.Dict[builtins.str, typing.Any]]] = None,
1518
- ) -> CloudAssembly:
1546
+ ) -> "CloudAssembly":
1519
1547
  '''Finalizes the cloud assembly into the output directory returns a ``CloudAssembly`` object that can be used to inspect the assembly.
1520
1548
 
1521
1549
  :param runtime_info: (deprecated) Include the specified runtime information (module versions) in manifest. Default: - if this option is not specified, runtime info will not be included
1522
1550
  '''
1523
1551
  options = AssemblyBuildOptions(runtime_info=runtime_info)
1524
1552
 
1525
- return typing.cast(CloudAssembly, jsii.invoke(self, "buildAssembly", [options]))
1553
+ return typing.cast("CloudAssembly", jsii.invoke(self, "buildAssembly", [options]))
1526
1554
 
1527
1555
  @jsii.member(jsii_name="createNestedAssembly")
1528
1556
  def create_nested_assembly(
@@ -1569,7 +1597,7 @@ class CloudAssemblyBuilderProps:
1569
1597
  self,
1570
1598
  *,
1571
1599
  asset_outdir: typing.Optional[builtins.str] = None,
1572
- parent_builder: typing.Optional[CloudAssemblyBuilder] = None,
1600
+ parent_builder: typing.Optional["CloudAssemblyBuilder"] = None,
1573
1601
  ) -> None:
1574
1602
  '''Construction properties for CloudAssemblyBuilder.
1575
1603
 
@@ -1611,13 +1639,13 @@ class CloudAssemblyBuilderProps:
1611
1639
  return typing.cast(typing.Optional[builtins.str], result)
1612
1640
 
1613
1641
  @builtins.property
1614
- def parent_builder(self) -> typing.Optional[CloudAssemblyBuilder]:
1642
+ def parent_builder(self) -> typing.Optional["CloudAssemblyBuilder"]:
1615
1643
  '''If this builder is for a nested assembly, the parent assembly builder.
1616
1644
 
1617
1645
  :default: - This is a root assembly
1618
1646
  '''
1619
1647
  result = self._values.get("parent_builder")
1620
- return typing.cast(typing.Optional[CloudAssemblyBuilder], result)
1648
+ return typing.cast(typing.Optional["CloudAssemblyBuilder"], result)
1621
1649
 
1622
1650
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1623
1651
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1705,15 +1733,15 @@ class CloudFormationStackArtifact(
1705
1733
 
1706
1734
  def __init__(
1707
1735
  self,
1708
- assembly: CloudAssembly,
1736
+ assembly: "CloudAssembly",
1709
1737
  artifact_id: builtins.str,
1710
1738
  *,
1711
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
1739
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
1712
1740
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
1713
1741
  display_name: typing.Optional[builtins.str] = None,
1714
1742
  environment: typing.Optional[builtins.str] = None,
1715
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
1716
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
1743
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
1744
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
1717
1745
  ) -> None:
1718
1746
  '''
1719
1747
  :param assembly: -
@@ -1770,9 +1798,9 @@ class CloudFormationStackArtifact(
1770
1798
  @jsii.member(jsii_name="assets")
1771
1799
  def assets(
1772
1800
  self,
1773
- ) -> typing.List[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry]]:
1801
+ ) -> typing.List[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry"]]:
1774
1802
  '''Any assets associated with this stack.'''
1775
- return typing.cast(typing.List[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry]], jsii.get(self, "assets"))
1803
+ return typing.cast(typing.List[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry"]], jsii.get(self, "assets"))
1776
1804
 
1777
1805
  @builtins.property
1778
1806
  @jsii.member(jsii_name="displayName")
@@ -1902,12 +1930,12 @@ class CloudFormationStackArtifact(
1902
1930
  @jsii.member(jsii_name="lookupRole")
1903
1931
  def lookup_role(
1904
1932
  self,
1905
- ) -> typing.Optional[_aws_cdk_cloud_assembly_schema_cae1d136.BootstrapRole]:
1933
+ ) -> typing.Optional["_aws_cdk_cloud_assembly_schema_cae1d136.BootstrapRole"]:
1906
1934
  '''The role to use to look up values from the target AWS account.
1907
1935
 
1908
1936
  :default: - No role is assumed (current credentials are used)
1909
1937
  '''
1910
- return typing.cast(typing.Optional[_aws_cdk_cloud_assembly_schema_cae1d136.BootstrapRole], jsii.get(self, "lookupRole"))
1938
+ return typing.cast(typing.Optional["_aws_cdk_cloud_assembly_schema_cae1d136.BootstrapRole"], jsii.get(self, "lookupRole"))
1911
1939
 
1912
1940
  @builtins.property
1913
1941
  @jsii.member(jsii_name="notificationArns")
@@ -2311,7 +2339,7 @@ class EnvironmentUtils(
2311
2339
 
2312
2340
  @jsii.member(jsii_name="make")
2313
2341
  @builtins.classmethod
2314
- def make(cls, account: builtins.str, region: builtins.str) -> Environment:
2342
+ def make(cls, account: builtins.str, region: builtins.str) -> "Environment":
2315
2343
  '''Build an environment object from an account and region.
2316
2344
 
2317
2345
  :param account: -
@@ -2321,18 +2349,18 @@ class EnvironmentUtils(
2321
2349
  type_hints = typing.get_type_hints(_typecheckingstub__0cfb55df07761ce610adba5578402205172bce1da7a531dc6bee64c6545f6202)
2322
2350
  check_type(argname="argument account", value=account, expected_type=type_hints["account"])
2323
2351
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
2324
- return typing.cast(Environment, jsii.sinvoke(cls, "make", [account, region]))
2352
+ return typing.cast("Environment", jsii.sinvoke(cls, "make", [account, region]))
2325
2353
 
2326
2354
  @jsii.member(jsii_name="parse")
2327
2355
  @builtins.classmethod
2328
- def parse(cls, environment: builtins.str) -> Environment:
2356
+ def parse(cls, environment: builtins.str) -> "Environment":
2329
2357
  '''
2330
2358
  :param environment: -
2331
2359
  '''
2332
2360
  if __debug__:
2333
2361
  type_hints = typing.get_type_hints(_typecheckingstub__a2ed84c3997c13929dd0a6a30eb314cba65838a150b4138c07d5a1ae458e1a45)
2334
2362
  check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
2335
- return typing.cast(Environment, jsii.sinvoke(cls, "parse", [environment]))
2363
+ return typing.cast("Environment", jsii.sinvoke(cls, "parse", [environment]))
2336
2364
 
2337
2365
 
2338
2366
  @jsii.interface(jsii_type="@aws-cdk/cx-api.IEnvironmentPlaceholderProvider")
@@ -2651,7 +2679,7 @@ class MetadataEntry(_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry):
2651
2679
  self,
2652
2680
  *,
2653
2681
  type: builtins.str,
2654
- data: typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.Dict[builtins.str, typing.Any]], typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.Tag, typing.Dict[builtins.str, typing.Any]]]]] = None,
2682
+ data: typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.Dict[builtins.str, typing.Any]], typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.Tag", typing.Dict[builtins.str, typing.Any]]]]] = None,
2655
2683
  trace: typing.Optional[typing.Sequence[builtins.str]] = None,
2656
2684
  ) -> None:
2657
2685
  '''(deprecated) Backwards compatibility for when ``MetadataEntry`` was defined here.
@@ -2706,13 +2734,13 @@ class MetadataEntry(_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry):
2706
2734
  @builtins.property
2707
2735
  def data(
2708
2736
  self,
2709
- ) -> typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, _aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.List[_aws_cdk_cloud_assembly_schema_cae1d136.Tag]]]:
2737
+ ) -> typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, "_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.List["_aws_cdk_cloud_assembly_schema_cae1d136.Tag"]]]:
2710
2738
  '''The data.
2711
2739
 
2712
2740
  :default: - no data.
2713
2741
  '''
2714
2742
  result = self._values.get("data")
2715
- return typing.cast(typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, _aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.List[_aws_cdk_cloud_assembly_schema_cae1d136.Tag]]], result)
2743
+ return typing.cast(typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, "_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.List["_aws_cdk_cloud_assembly_schema_cae1d136.Tag"]]], result)
2716
2744
 
2717
2745
  @builtins.property
2718
2746
  def trace(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -2745,7 +2773,7 @@ class MetadataEntryResult(_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry)
2745
2773
  self,
2746
2774
  *,
2747
2775
  type: builtins.str,
2748
- data: typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.Dict[builtins.str, typing.Any]], typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.Tag, typing.Dict[builtins.str, typing.Any]]]]] = None,
2776
+ data: typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.Dict[builtins.str, typing.Any]], typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.Tag", typing.Dict[builtins.str, typing.Any]]]]] = None,
2749
2777
  trace: typing.Optional[typing.Sequence[builtins.str]] = None,
2750
2778
  path: builtins.str,
2751
2779
  ) -> None:
@@ -2797,13 +2825,13 @@ class MetadataEntryResult(_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry)
2797
2825
  @builtins.property
2798
2826
  def data(
2799
2827
  self,
2800
- ) -> typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, _aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.List[_aws_cdk_cloud_assembly_schema_cae1d136.Tag]]]:
2828
+ ) -> typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, "_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.List["_aws_cdk_cloud_assembly_schema_cae1d136.Tag"]]]:
2801
2829
  '''The data.
2802
2830
 
2803
2831
  :default: - no data.
2804
2832
  '''
2805
2833
  result = self._values.get("data")
2806
- return typing.cast(typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, _aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry, _aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry, typing.List[_aws_cdk_cloud_assembly_schema_cae1d136.Tag]]], result)
2834
+ return typing.cast(typing.Optional[typing.Union[builtins.str, jsii.Number, builtins.bool, "_aws_cdk_cloud_assembly_schema_cae1d136.FileAssetMetadataEntry", "_aws_cdk_cloud_assembly_schema_cae1d136.ContainerImageAssetMetadataEntry", typing.List["_aws_cdk_cloud_assembly_schema_cae1d136.Tag"]]], result)
2807
2835
 
2808
2836
  @builtins.property
2809
2837
  def trace(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -3011,15 +3039,15 @@ class NestedCloudAssemblyArtifact(
3011
3039
 
3012
3040
  def __init__(
3013
3041
  self,
3014
- assembly: CloudAssembly,
3042
+ assembly: "CloudAssembly",
3015
3043
  name: builtins.str,
3016
3044
  *,
3017
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
3045
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
3018
3046
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
3019
3047
  display_name: typing.Optional[builtins.str] = None,
3020
3048
  environment: typing.Optional[builtins.str] = None,
3021
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
3022
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
3049
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
3050
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
3023
3051
  ) -> None:
3024
3052
  '''
3025
3053
  :param assembly: -
@@ -3092,9 +3120,9 @@ class NestedCloudAssemblyArtifact(
3092
3120
 
3093
3121
  @builtins.property
3094
3122
  @jsii.member(jsii_name="nestedAssembly")
3095
- def nested_assembly(self) -> CloudAssembly:
3123
+ def nested_assembly(self) -> "CloudAssembly":
3096
3124
  '''The nested Assembly.'''
3097
- return typing.cast(CloudAssembly, jsii.get(self, "nestedAssembly"))
3125
+ return typing.cast("CloudAssembly", jsii.get(self, "nestedAssembly"))
3098
3126
 
3099
3127
 
3100
3128
  @jsii.data_type(
@@ -3241,7 +3269,7 @@ class SynthesisMessage:
3241
3269
  def __init__(
3242
3270
  self,
3243
3271
  *,
3244
- entry: typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]],
3272
+ entry: typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]],
3245
3273
  id: builtins.str,
3246
3274
  level: "SynthesisMessageLevel",
3247
3275
  ) -> None:
@@ -3254,6 +3282,7 @@ class SynthesisMessage:
3254
3282
 
3255
3283
  Example::
3256
3284
 
3285
+ from aws_cdk.cloud_assembly_schema import MetadataEntry
3257
3286
  # The code below shows an example of how to instantiate this type.
3258
3287
  # The values are placeholders you should change.
3259
3288
  import aws_cdk.cx_api as cx_api
@@ -3284,10 +3313,10 @@ class SynthesisMessage:
3284
3313
  }
3285
3314
 
3286
3315
  @builtins.property
3287
- def entry(self) -> _aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry:
3316
+ def entry(self) -> "_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry":
3288
3317
  result = self._values.get("entry")
3289
3318
  assert result is not None, "Required property 'entry' is missing"
3290
- return typing.cast(_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, result)
3319
+ return typing.cast("_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", result)
3291
3320
 
3292
3321
  @builtins.property
3293
3322
  def id(self) -> builtins.str:
@@ -3394,15 +3423,15 @@ class TreeCloudArtifact(
3394
3423
 
3395
3424
  def __init__(
3396
3425
  self,
3397
- assembly: CloudAssembly,
3426
+ assembly: "CloudAssembly",
3398
3427
  name: builtins.str,
3399
3428
  *,
3400
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
3429
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
3401
3430
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
3402
3431
  display_name: typing.Optional[builtins.str] = None,
3403
3432
  environment: typing.Optional[builtins.str] = None,
3404
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
3405
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
3433
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
3434
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
3406
3435
  ) -> None:
3407
3436
  '''
3408
3437
  :param assembly: -
@@ -3883,7 +3912,7 @@ class VpcSubnetGroup:
3883
3912
  self,
3884
3913
  *,
3885
3914
  name: builtins.str,
3886
- subnets: typing.Sequence[typing.Union[VpcSubnet, typing.Dict[builtins.str, typing.Any]]],
3915
+ subnets: typing.Sequence[typing.Union["VpcSubnet", typing.Dict[builtins.str, typing.Any]]],
3887
3916
  type: "VpcSubnetGroupType",
3888
3917
  ) -> None:
3889
3918
  '''A group of subnets returned by the VPC provider.
@@ -3934,7 +3963,7 @@ class VpcSubnetGroup:
3934
3963
  return typing.cast(builtins.str, result)
3935
3964
 
3936
3965
  @builtins.property
3937
- def subnets(self) -> typing.List[VpcSubnet]:
3966
+ def subnets(self) -> typing.List["VpcSubnet"]:
3938
3967
  '''The subnets that are part of this group.
3939
3968
 
3940
3969
  There is no condition that the subnets have to be symmetric
@@ -3942,7 +3971,7 @@ class VpcSubnetGroup:
3942
3971
  '''
3943
3972
  result = self._values.get("subnets")
3944
3973
  assert result is not None, "Required property 'subnets' is missing"
3945
- return typing.cast(typing.List[VpcSubnet], result)
3974
+ return typing.cast(typing.List["VpcSubnet"], result)
3946
3975
 
3947
3976
  @builtins.property
3948
3977
  def type(self) -> "VpcSubnetGroupType":
@@ -4054,15 +4083,15 @@ class AssetManifestArtifact(
4054
4083
 
4055
4084
  def __init__(
4056
4085
  self,
4057
- assembly: CloudAssembly,
4086
+ assembly: "CloudAssembly",
4058
4087
  name: builtins.str,
4059
4088
  *,
4060
- type: _aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType,
4089
+ type: "_aws_cdk_cloud_assembly_schema_cae1d136.ArtifactType",
4061
4090
  dependencies: typing.Optional[typing.Sequence[builtins.str]] = None,
4062
4091
  display_name: typing.Optional[builtins.str] = None,
4063
4092
  environment: typing.Optional[builtins.str] = None,
4064
- metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry, typing.Dict[builtins.str, typing.Any]]]]] = None,
4065
- properties: typing.Optional[typing.Union[typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties, typing.Dict[builtins.str, typing.Any]], typing.Union[_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties, typing.Dict[builtins.str, typing.Any]]]] = None,
4093
+ metadata: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.MetadataEntry", typing.Dict[builtins.str, typing.Any]]]]] = None,
4094
+ properties: typing.Optional[typing.Union[typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AwsCloudFormationStackProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifestProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.TreeArtifactProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.NestedCloudAssemblyProperties", typing.Dict[builtins.str, typing.Any]], typing.Union["_aws_cdk_cloud_assembly_schema_cae1d136.FeatureFlagReportProperties", typing.Dict[builtins.str, typing.Any]]]] = None,
4066
4095
  ) -> None:
4067
4096
  '''
4068
4097
  :param assembly: -
@@ -4117,9 +4146,9 @@ class AssetManifestArtifact(
4117
4146
 
4118
4147
  @builtins.property
4119
4148
  @jsii.member(jsii_name="contents")
4120
- def contents(self) -> _aws_cdk_cloud_assembly_schema_cae1d136.AssetManifest:
4149
+ def contents(self) -> "_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifest":
4121
4150
  '''The Asset Manifest contents.'''
4122
- return typing.cast(_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifest, jsii.get(self, "contents"))
4151
+ return typing.cast("_aws_cdk_cloud_assembly_schema_cae1d136.AssetManifest", jsii.get(self, "contents"))
4123
4152
 
4124
4153
  @builtins.property
4125
4154
  @jsii.member(jsii_name="file")
@@ -4583,3 +4612,6 @@ def _typecheckingstub__0f13a4defa9d74d578442cc9dbb25cbe53318785930cd66e40d43ac92
4583
4612
  ) -> None:
4584
4613
  """Type checking stubs"""
4585
4614
  pass
4615
+
4616
+ for cls in [IEnvironmentPlaceholderProvider]:
4617
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
@@ -31,7 +31,7 @@ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing
31
31
  import aws_cdk.cloud_assembly_schema._jsii
32
32
 
33
33
  __jsii_assembly__ = jsii.JSIIAssembly.load(
34
- "@aws-cdk/cx-api", "2.220.0", __name__[0:-6], "cx-api@2.220.0.jsii.tgz"
34
+ "@aws-cdk/cx-api", "2.234.1", __name__[0:-6], "cx-api@2.234.1.jsii.tgz"
35
35
  )
36
36
 
37
37
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk.cx-api
3
- Version: 2.220.0
3
+ Version: 2.234.1
4
4
  Summary: Cloud executable protocol
5
5
  Home-page: https://github.com/aws/aws-cdk
6
6
  Author: Amazon Web Services
@@ -23,9 +23,9 @@ Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
25
  Requires-Dist: aws-cdk.cloud-assembly-schema>=45.0.0
26
- Requires-Dist: jsii<2.0.0,>=1.113.0
26
+ Requires-Dist: jsii<2.0.0,>=1.125.0
27
27
  Requires-Dist: publication>=0.0.3
28
- Requires-Dist: typeguard<4.3.0,>=2.13.3
28
+ Requires-Dist: typeguard==2.13.3
29
29
 
30
30
  # Cloud Executable API
31
31
 
@@ -557,48 +557,6 @@ If the flag is set to false then a custom resource will be created when using `U
557
557
  }
558
558
  ```
559
559
 
560
- * `@aws-cdk/aws-ecs:disableEcsImdsBlocking`
561
-
562
- When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false.
563
-
564
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
565
- accessing IMDS. CDK cannot guarantee the correct execution of the feature in all platforms. Setting this feature flag
566
- to true will ensure CDK does not attempt to implement IMDS blocking. By <ins>**end of 2025**</ins>, CDK will remove the
567
- IMDS blocking feature. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
568
-
569
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
570
-
571
- *cdk.json*
572
-
573
- ```json
574
- {
575
- "context": {
576
- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true
577
- }
578
- }
579
- ```
580
-
581
- * `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature`
582
-
583
- When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only.**
584
-
585
- In an ECS Cluster with `MachineImageType.AMAZON_LINUX_2`, the canContainersAccessInstanceRole=false option attempts to add commands to block containers from
586
- accessing IMDS. Set this flag to true in order to use new and updated commands. Please note that this
587
- feature alone with this feature flag will be deprecated by <ins>end of 2025</ins> as CDK cannot
588
- guarantee the correct execution of the feature in all platforms. See [Github discussion](https://github.com/aws/aws-cdk/discussions/32609) for more information.
589
-
590
- **It is recommended to follow ECS documentation to block IMDS for your specific platform and cluster configuration.**
591
-
592
- *cdk.json*
593
-
594
- ```json
595
- {
596
- "context": {
597
- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
598
- },
599
- }
600
- ```
601
-
602
560
  * `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
603
561
 
604
562
  When enabled, the default security group ingress rules will allow IPv6 ingress from anywhere,
@@ -794,6 +752,21 @@ When this feature flag is disabled, EgressOnlyGateway resource is created for al
794
752
  }
795
753
  ```
796
754
 
755
+ * `@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint`
756
+
757
+ When this feature flag is enabled, the JSONPath apiEndpoint value will be resolved dynamically at runtime, while slightly increasing the size of the state machine definition.
758
+ When disabled, the JSONPath apiEndpoint property will only support a static string value.
759
+
760
+ _cdk.json
761
+
762
+ ```json
763
+ {
764
+ "context": {
765
+ "@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": true
766
+ }
767
+ }
768
+ ```
769
+
797
770
  * `@aws-cdk/aws-signer:signingProfileNamePassedToCfn`
798
771
 
799
772
  When this feature flag is enabled, the `signingProfileName` property is passed to the L1 `CfnSigningProfile` construct,
@@ -815,3 +788,19 @@ in the CloudFormation template.
815
788
  }
816
789
  }
817
790
  ```
791
+
792
+ * `@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId`
793
+
794
+ When enabled, ECS patterns will generate unique target group IDs that include the load balancer name and type (public/private). This prevents CloudFormation conflicts when switching between public and private load balancers.
795
+
796
+ Without this flag, switching an ApplicationLoadBalancedFargateService from public to private (or vice versa) fails with "target group cannot be associated with more than one load balancer" error.
797
+
798
+ *cdk.json*
799
+
800
+ ```json
801
+ {
802
+ "context": {
803
+ "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": true
804
+ }
805
+ }
806
+ ```
@@ -12,4 +12,4 @@ src/aws_cdk.cx_api.egg-info/top_level.txt
12
12
  src/aws_cdk/cx_api/__init__.py
13
13
  src/aws_cdk/cx_api/py.typed
14
14
  src/aws_cdk/cx_api/_jsii/__init__.py
15
- src/aws_cdk/cx_api/_jsii/cx-api@2.220.0.jsii.tgz
15
+ src/aws_cdk/cx_api/_jsii/cx-api@2.234.1.jsii.tgz
@@ -1,4 +1,4 @@
1
1
  aws-cdk.cloud-assembly-schema>=45.0.0
2
- jsii<2.0.0,>=1.113.0
2
+ jsii<2.0.0,>=1.125.0
3
3
  publication>=0.0.3
4
- typeguard<4.3.0,>=2.13.3
4
+ typeguard==2.13.3