aws-cdk-lib 2.153.0__py3-none-any.whl → 2.154.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 (266) hide show
  1. aws_cdk/__init__.py +157 -215
  2. aws_cdk/_jsii/__init__.py +2 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.153.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -3
  5. aws_cdk/aws_accessanalyzer/__init__.py +5 -5
  6. aws_cdk/aws_acmpca/__init__.py +79 -24
  7. aws_cdk/aws_amazonmq/__init__.py +161 -161
  8. aws_cdk/aws_amplify/__init__.py +36 -36
  9. aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
  10. aws_cdk/aws_apigateway/__init__.py +122 -122
  11. aws_cdk/aws_apigatewayv2/__init__.py +135 -121
  12. aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
  13. aws_cdk/aws_appconfig/__init__.py +59 -59
  14. aws_cdk/aws_appflow/__init__.py +20 -20
  15. aws_cdk/aws_appintegrations/__init__.py +19 -19
  16. aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
  17. aws_cdk/aws_applicationinsights/__init__.py +11 -11
  18. aws_cdk/aws_applicationsignals/__init__.py +5 -5
  19. aws_cdk/aws_appmesh/__init__.py +35 -35
  20. aws_cdk/aws_apprunner/__init__.py +25 -25
  21. aws_cdk/aws_appstream/__init__.py +105 -105
  22. aws_cdk/aws_appsync/__init__.py +89 -89
  23. aws_cdk/aws_apptest/__init__.py +25 -25
  24. aws_cdk/aws_aps/__init__.py +14 -14
  25. aws_cdk/aws_arczonalshift/__init__.py +200 -3
  26. aws_cdk/aws_athena/__init__.py +25 -25
  27. aws_cdk/aws_auditmanager/__init__.py +15 -15
  28. aws_cdk/aws_autoscaling/__init__.py +84 -84
  29. aws_cdk/aws_autoscalingplans/__init__.py +2 -2
  30. aws_cdk/aws_b2bi/__init__.py +24 -24
  31. aws_cdk/aws_backup/__init__.py +33 -33
  32. aws_cdk/aws_backupgateway/__init__.py +7 -7
  33. aws_cdk/aws_batch/__init__.py +289 -35
  34. aws_cdk/aws_bcmdataexports/__init__.py +2 -2
  35. aws_cdk/aws_bedrock/__init__.py +13239 -3277
  36. aws_cdk/aws_billingconductor/__init__.py +28 -28
  37. aws_cdk/aws_budgets/__init__.py +12 -12
  38. aws_cdk/aws_cassandra/__init__.py +16 -16
  39. aws_cdk/aws_ce/__init__.py +17 -17
  40. aws_cdk/aws_certificatemanager/__init__.py +9 -9
  41. aws_cdk/aws_chatbot/__init__.py +22 -22
  42. aws_cdk/aws_cleanrooms/__init__.py +2470 -307
  43. aws_cdk/aws_cleanroomsml/__init__.py +5 -5
  44. aws_cdk/aws_cloud9/__init__.py +10 -10
  45. aws_cdk/aws_cloudformation/__init__.py +94 -69
  46. aws_cdk/aws_cloudfront/__init__.py +31 -30
  47. aws_cdk/aws_cloudtrail/__init__.py +46 -44
  48. aws_cdk/aws_cloudwatch/__init__.py +61 -69
  49. aws_cdk/aws_codeartifact/__init__.py +19 -19
  50. aws_cdk/aws_codebuild/__init__.py +60 -68
  51. aws_cdk/aws_codecommit/__init__.py +10 -6
  52. aws_cdk/aws_codeconnections/__init__.py +5 -5
  53. aws_cdk/aws_codedeploy/__init__.py +28 -28
  54. aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
  55. aws_cdk/aws_codegurureviewer/__init__.py +6 -6
  56. aws_cdk/aws_codepipeline/__init__.py +849 -52
  57. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  58. aws_cdk/aws_codestar/__init__.py +8 -8
  59. aws_cdk/aws_codestarconnections/__init__.py +17 -17
  60. aws_cdk/aws_codestarnotifications/__init__.py +10 -10
  61. aws_cdk/aws_cognito/__init__.py +465 -133
  62. aws_cdk/aws_comprehend/__init__.py +20 -20
  63. aws_cdk/aws_config/__init__.py +67 -67
  64. aws_cdk/aws_connect/__init__.py +139 -137
  65. aws_cdk/aws_connectcampaigns/__init__.py +5 -5
  66. aws_cdk/aws_controltower/__init__.py +12 -12
  67. aws_cdk/aws_cur/__init__.py +12 -12
  68. aws_cdk/aws_customerprofiles/__init__.py +36 -36
  69. aws_cdk/aws_databrew/__init__.py +45 -45
  70. aws_cdk/aws_datapipeline/__init__.py +12 -8
  71. aws_cdk/aws_datasync/__init__.py +119 -117
  72. aws_cdk/aws_datazone/__init__.py +63 -63
  73. aws_cdk/aws_dax/__init__.py +20 -20
  74. aws_cdk/aws_deadline/__init__.py +221 -292
  75. aws_cdk/aws_detective/__init__.py +8 -8
  76. aws_cdk/aws_devicefarm/__init__.py +37 -37
  77. aws_cdk/aws_devopsguru/__init__.py +2 -2
  78. aws_cdk/aws_directoryservice/__init__.py +15 -15
  79. aws_cdk/aws_dlm/__init__.py +12 -12
  80. aws_cdk/aws_dms/__init__.py +300 -298
  81. aws_cdk/aws_docdb/__init__.py +49 -49
  82. aws_cdk/aws_docdbelastic/__init__.py +14 -14
  83. aws_cdk/aws_dynamodb/__init__.py +371 -37
  84. aws_cdk/aws_ec2/__init__.py +900 -606
  85. aws_cdk/aws_ecr/__init__.py +117 -77
  86. aws_cdk/aws_ecr_assets/__init__.py +4 -4
  87. aws_cdk/aws_ecs/__init__.py +190 -191
  88. aws_cdk/aws_ecs_patterns/__init__.py +2 -2
  89. aws_cdk/aws_efs/__init__.py +22 -22
  90. aws_cdk/aws_eks/__init__.py +177 -61
  91. aws_cdk/aws_elasticache/__init__.py +218 -226
  92. aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
  93. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
  94. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
  95. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
  96. aws_cdk/aws_elasticsearch/__init__.py +16 -16
  97. aws_cdk/aws_emr/__init__.py +74 -74
  98. aws_cdk/aws_emrcontainers/__init__.py +3 -3
  99. aws_cdk/aws_emrserverless/__init__.py +157 -14
  100. aws_cdk/aws_entityresolution/__init__.py +613 -35
  101. aws_cdk/aws_events/__init__.py +42 -42
  102. aws_cdk/aws_eventschemas/__init__.py +16 -16
  103. aws_cdk/aws_evidently/__init__.py +38 -38
  104. aws_cdk/aws_finspace/__init__.py +8 -8
  105. aws_cdk/aws_fis/__init__.py +12 -12
  106. aws_cdk/aws_fms/__init__.py +21 -21
  107. aws_cdk/aws_forecast/__init__.py +18 -11
  108. aws_cdk/aws_frauddetector/__init__.py +35 -35
  109. aws_cdk/aws_fsx/__init__.py +35 -35
  110. aws_cdk/aws_gamelift/__init__.py +103 -103
  111. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  112. aws_cdk/aws_glue/__init__.py +132 -139
  113. aws_cdk/aws_grafana/__init__.py +17 -17
  114. aws_cdk/aws_greengrass/__init__.py +48 -48
  115. aws_cdk/aws_greengrassv2/__init__.py +10 -10
  116. aws_cdk/aws_groundstation/__init__.py +16 -16
  117. aws_cdk/aws_guardduty/__init__.py +40 -38
  118. aws_cdk/aws_healthimaging/__init__.py +3 -3
  119. aws_cdk/aws_healthlake/__init__.py +6 -6
  120. aws_cdk/aws_iam/__init__.py +120 -122
  121. aws_cdk/aws_identitystore/__init__.py +6 -6
  122. aws_cdk/aws_imagebuilder/__init__.py +92 -92
  123. aws_cdk/aws_inspector/__init__.py +8 -8
  124. aws_cdk/aws_inspectorv2/__init__.py +102 -97
  125. aws_cdk/aws_internetmonitor/__init__.py +12 -12
  126. aws_cdk/aws_iot/__init__.py +141 -141
  127. aws_cdk/aws_iot1click/__init__.py +9 -9
  128. aws_cdk/aws_iotanalytics/__init__.py +21 -21
  129. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
  130. aws_cdk/aws_iotevents/__init__.py +20 -20
  131. aws_cdk/aws_iotfleethub/__init__.py +4 -4
  132. aws_cdk/aws_iotfleetwise/__init__.py +45 -45
  133. aws_cdk/aws_iotsitewise/__init__.py +40 -40
  134. aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
  135. aws_cdk/aws_iottwinmaker/__init__.py +34 -34
  136. aws_cdk/aws_iotwireless/__init__.py +66 -66
  137. aws_cdk/aws_ivs/__init__.py +32 -32
  138. aws_cdk/aws_ivschat/__init__.py +9 -9
  139. aws_cdk/aws_kafkaconnect/__init__.py +22 -22
  140. aws_cdk/aws_kendra/__init__.py +28 -28
  141. aws_cdk/aws_kendraranking/__init__.py +4 -4
  142. aws_cdk/aws_kinesis/__init__.py +8 -8
  143. aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
  144. aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
  145. aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
  146. aws_cdk/aws_kinesisvideo/__init__.py +10 -10
  147. aws_cdk/aws_kms/__init__.py +20 -20
  148. aws_cdk/aws_lakeformation/__init__.py +36 -36
  149. aws_cdk/aws_lambda/__init__.py +174 -118
  150. aws_cdk/aws_launchwizard/__init__.py +508 -0
  151. aws_cdk/aws_lex/__init__.py +24 -24
  152. aws_cdk/aws_licensemanager/__init__.py +17 -17
  153. aws_cdk/aws_lightsail/__init__.py +90 -90
  154. aws_cdk/aws_location/__init__.py +41 -41
  155. aws_cdk/aws_logs/__init__.py +50 -50
  156. aws_cdk/aws_lookoutequipment/__init__.py +9 -9
  157. aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
  158. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  159. aws_cdk/aws_m2/__init__.py +20 -20
  160. aws_cdk/aws_macie/__init__.py +19 -19
  161. aws_cdk/aws_managedblockchain/__init__.py +10 -10
  162. aws_cdk/aws_mediaconnect/__init__.py +114 -77
  163. aws_cdk/aws_mediaconvert/__init__.py +20 -20
  164. aws_cdk/aws_medialive/__init__.py +44 -76
  165. aws_cdk/aws_mediapackage/__init__.py +38 -38
  166. aws_cdk/aws_mediapackagev2/__init__.py +178 -25
  167. aws_cdk/aws_mediastore/__init__.py +7 -7
  168. aws_cdk/aws_mediatailor/__init__.py +40 -40
  169. aws_cdk/aws_memorydb/__init__.py +41 -41
  170. aws_cdk/aws_msk/__init__.py +39 -39
  171. aws_cdk/aws_mwaa/__init__.py +25 -25
  172. aws_cdk/aws_neptune/__init__.py +55 -55
  173. aws_cdk/aws_neptunegraph/__init__.py +11 -11
  174. aws_cdk/aws_networkfirewall/__init__.py +36 -30
  175. aws_cdk/aws_networkmanager/__init__.py +1062 -91
  176. aws_cdk/aws_nimblestudio/__init__.py +31 -31
  177. aws_cdk/aws_oam/__init__.py +8 -8
  178. aws_cdk/aws_omics/__init__.py +36 -36
  179. aws_cdk/aws_opensearchserverless/__init__.py +25 -25
  180. aws_cdk/aws_opensearchservice/__init__.py +20 -20
  181. aws_cdk/aws_opsworks/__init__.py +87 -87
  182. aws_cdk/aws_opsworkscm/__init__.py +21 -21
  183. aws_cdk/aws_organizations/__init__.py +17 -17
  184. aws_cdk/aws_osis/__init__.py +122 -9
  185. aws_cdk/aws_panorama/__init__.py +27 -22
  186. aws_cdk/aws_paymentcryptography/__init__.py +7 -7
  187. aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
  188. aws_cdk/aws_personalize/__init__.py +19 -19
  189. aws_cdk/aws_pinpoint/__init__.py +122 -122
  190. aws_cdk/aws_pinpointemail/__init__.py +16 -16
  191. aws_cdk/aws_pipes/__init__.py +14 -16
  192. aws_cdk/aws_proton/__init__.py +19 -19
  193. aws_cdk/aws_qbusiness/__init__.py +160 -45
  194. aws_cdk/aws_qldb/__init__.py +12 -12
  195. aws_cdk/aws_quicksight/__init__.py +91 -91
  196. aws_cdk/aws_ram/__init__.py +11 -11
  197. aws_cdk/aws_rds/__init__.py +365 -259
  198. aws_cdk/aws_redshift/__init__.py +136 -91
  199. aws_cdk/aws_redshiftserverless/__init__.py +27 -27
  200. aws_cdk/aws_refactorspaces/__init__.py +26 -26
  201. aws_cdk/aws_rekognition/__init__.py +16 -16
  202. aws_cdk/aws_resiliencehub/__init__.py +15 -15
  203. aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
  204. aws_cdk/aws_resourcegroups/__init__.py +6 -6
  205. aws_cdk/aws_robomaker/__init__.py +25 -25
  206. aws_cdk/aws_rolesanywhere/__init__.py +67 -19
  207. aws_cdk/aws_route53/__init__.py +36 -36
  208. aws_cdk/aws_route53profiles/__init__.py +11 -11
  209. aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
  210. aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
  211. aws_cdk/aws_route53resolver/__init__.py +123 -82
  212. aws_cdk/aws_rum/__init__.py +6 -6
  213. aws_cdk/aws_s3/__init__.py +136 -80
  214. aws_cdk/aws_s3_deployment/__init__.py +30 -24
  215. aws_cdk/aws_s3_notifications/__init__.py +3 -4
  216. aws_cdk/aws_s3express/__init__.py +5 -5
  217. aws_cdk/aws_s3objectlambda/__init__.py +6 -6
  218. aws_cdk/aws_s3outposts/__init__.py +16 -16
  219. aws_cdk/aws_sagemaker/__init__.py +2412 -280
  220. aws_cdk/aws_sam/__init__.py +101 -101
  221. aws_cdk/aws_scheduler/__init__.py +13 -13
  222. aws_cdk/aws_sdb/__init__.py +1 -1
  223. aws_cdk/aws_secretsmanager/__init__.py +20 -19
  224. aws_cdk/aws_securityhub/__init__.py +70 -57
  225. aws_cdk/aws_securitylake/__init__.py +341 -16
  226. aws_cdk/aws_servicecatalog/__init__.py +87 -87
  227. aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
  228. aws_cdk/aws_servicediscovery/__init__.py +23 -23
  229. aws_cdk/aws_ses/__init__.py +12038 -5604
  230. aws_cdk/aws_shield/__init__.py +15 -15
  231. aws_cdk/aws_signer/__init__.py +9 -9
  232. aws_cdk/aws_simspaceweaver/__init__.py +5 -5
  233. aws_cdk/aws_sns/__init__.py +28 -28
  234. aws_cdk/aws_sqs/__init__.py +20 -20
  235. aws_cdk/aws_ssm/__init__.py +172 -101
  236. aws_cdk/aws_ssmcontacts/__init__.py +18 -18
  237. aws_cdk/aws_ssmincidents/__init__.py +11 -11
  238. aws_cdk/aws_sso/__init__.py +31 -31
  239. aws_cdk/aws_stepfunctions/__init__.py +370 -28
  240. aws_cdk/aws_supportapp/__init__.py +11 -11
  241. aws_cdk/aws_synthetics/__init__.py +18 -18
  242. aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
  243. aws_cdk/aws_timestream/__init__.py +34 -34
  244. aws_cdk/aws_transfer/__init__.py +57 -57
  245. aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
  246. aws_cdk/aws_voiceid/__init__.py +4 -4
  247. aws_cdk/aws_vpclattice/__init__.py +42 -42
  248. aws_cdk/aws_waf/__init__.py +17 -17
  249. aws_cdk/aws_wafregional/__init__.py +28 -28
  250. aws_cdk/aws_wafv2/__init__.py +39 -39
  251. aws_cdk/aws_wisdom/__init__.py +16 -16
  252. aws_cdk/aws_workspaces/__init__.py +18 -18
  253. aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
  254. aws_cdk/aws_workspacesweb/__init__.py +87 -46
  255. aws_cdk/aws_xray/__init__.py +12 -12
  256. aws_cdk/cloud_assembly_schema/__init__.py +348 -239
  257. aws_cdk/custom_resources/__init__.py +283 -0
  258. aws_cdk/cx_api/__init__.py +15 -15
  259. aws_cdk/pipelines/__init__.py +172 -237
  260. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
  261. aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
  262. aws_cdk_lib-2.153.0.dist-info/RECORD +0 -291
  263. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
  264. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
  265. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
  266. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
@@ -831,6 +831,111 @@ cr.AwsCustomResource(self, "CrossAccount",
831
831
  })])
832
832
  )
833
833
  ```
834
+
835
+ #### Custom Resource Config
836
+
837
+ **This feature is currently experimental**
838
+
839
+ You can configure every CDK-vended custom resource in a given scope with `CustomResourceConfig`.
840
+
841
+ Note that `CustomResourceConfig` uses Aspects to modify your constructs. There is no guarantee in the order in which Aspects modify the construct tree, which means that adding the same Aspect more than once to a given scope produces undefined behavior. This example guarantees that every affected resource will have a log retention of ten years or one day, but you cannot know which:
842
+ CustomResourceConfig.of(App).addLogRetentionLifetime(logs.RetentionDays.TEN_YEARS);
843
+ CustomResourceConfig.of(App).addLogRetentionLifetime(logs.RetentionDays.ONE_DAY);
844
+
845
+ The following example configures every custom resource in this CDK app to retain its logs for ten years:
846
+
847
+ ```python
848
+ import aws_cdk as cdk
849
+ from aws_cdk.custom_resources import CustomResourceConfig
850
+ import aws_cdk.aws_s3_deployment as s3deploy
851
+
852
+
853
+ app = cdk.App()
854
+ CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
855
+ stack = cdk.Stack(app, "Stack")
856
+
857
+ website_bucket = s3.Bucket(stack, "WebsiteBucket")
858
+ s3deploy.BucketDeployment(stack, "s3deploy",
859
+ sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
860
+ destination_bucket=website_bucket
861
+ )
862
+ ```
863
+
864
+ The following example configures every custom resource in two top-level stacks to retain its log for ten years:
865
+
866
+ ```python
867
+ import aws_cdk as cdk
868
+ from aws_cdk.custom_resources import CustomResourceConfig
869
+ import aws_cdk.aws_s3_deployment as s3deploy
870
+
871
+
872
+ app = cdk.App()
873
+ CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
874
+
875
+ stack_a = cdk.Stack(app, "stackA")
876
+ website_bucket_a = s3.Bucket(stack_a, "WebsiteBucketA")
877
+ s3deploy.BucketDeployment(stack_a, "s3deployA",
878
+ sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
879
+ destination_bucket=website_bucket_a,
880
+ log_retention=logs.RetentionDays.ONE_DAY
881
+ )
882
+
883
+ stack_b = cdk.Stack(app, "stackB")
884
+ website_bucket_b = s3.Bucket(stack_b, "WebsiteBucketB")
885
+ s3deploy.BucketDeployment(stack_b, "s3deployB",
886
+ sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
887
+ destination_bucket=website_bucket_b,
888
+ log_retention=logs.RetentionDays.ONE_DAY
889
+ )
890
+ ```
891
+
892
+ This also applies to nested stacks:
893
+
894
+ ```python
895
+ import aws_cdk as cdk
896
+ from aws_cdk.custom_resources import CustomResourceConfig
897
+ import aws_cdk.aws_s3_deployment as s3deploy
898
+
899
+
900
+ app = cdk.App()
901
+ stack = cdk.Stack(app, "Stack")
902
+ CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
903
+
904
+ nested_stack_a = cdk.NestedStack(stack, "NestedStackA")
905
+ website_bucket_a = s3.Bucket(nested_stack_a, "WebsiteBucketA")
906
+ s3deploy.BucketDeployment(nested_stack_a, "s3deployA",
907
+ sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
908
+ destination_bucket=website_bucket_a,
909
+ log_retention=logs.RetentionDays.ONE_DAY
910
+ )
911
+
912
+ nested_stack_b = cdk.NestedStack(stack, "NestedStackB")
913
+ website_bucket_b = s3.Bucket(nested_stack_b, "WebsiteBucketB")
914
+ s3deploy.BucketDeployment(nested_stack_b, "s3deployB",
915
+ sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
916
+ destination_bucket=website_bucket_b,
917
+ log_retention=logs.RetentionDays.ONE_DAY
918
+ )
919
+ ```
920
+
921
+ The `addLogRetentionLifetime` method of `CustomResourceConfig` will associate a log group with a AWS-vended custom resource lambda.
922
+ The `addRemovalPolicy` method will configure the custom resource lambda log group removal policy to `DESTROY`.
923
+
924
+ ```python
925
+ import aws_cdk as cdk
926
+ import aws_cdk.aws_ses as ses
927
+ from aws_cdk.custom_resources import CustomResourceConfig
928
+
929
+
930
+ app = cdk.App()
931
+ stack = cdk.Stack(app, "Stack")
932
+ CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
933
+ CustomResourceConfig.of(app).add_removal_policy(cdk.RemovalPolicy.DESTROY)
934
+
935
+ ses.ReceiptRuleSet(app, "RuleSet",
936
+ drop_spam=True
937
+ )
938
+ ```
834
939
  '''
835
940
  from pkgutil import extend_path
836
941
  __path__ = extend_path(__path__, __name__)
@@ -852,6 +957,7 @@ from .._jsii import *
852
957
  import constructs as _constructs_77d1e7e8
853
958
  from .. import (
854
959
  Duration as _Duration_4839e8c3,
960
+ IAspect as _IAspect_118c810a,
855
961
  IResolvable as _IResolvable_da3f097b,
856
962
  IResolveContext as _IResolveContext_b2df1921,
857
963
  Reference as _Reference_6ab8bd04,
@@ -1687,6 +1793,138 @@ class AwsSdkCall:
1687
1793
  )
1688
1794
 
1689
1795
 
1796
+ class CustomResourceConfig(
1797
+ metaclass=jsii.JSIIMeta,
1798
+ jsii_type="aws-cdk-lib.custom_resources.CustomResourceConfig",
1799
+ ):
1800
+ '''Manages AWS-vended Custom Resources This feature is currently experimental.
1801
+
1802
+ :exampleMetadata: fixture=_generated
1803
+
1804
+ Example::
1805
+
1806
+ # The code below shows an example of how to instantiate this type.
1807
+ # The values are placeholders you should change.
1808
+ from aws_cdk import custom_resources
1809
+
1810
+ custom_resource_config = custom_resources.CustomResourceConfig.of(self)
1811
+ '''
1812
+
1813
+ @jsii.member(jsii_name="of")
1814
+ @builtins.classmethod
1815
+ def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "CustomResourceConfig":
1816
+ '''Returns the CustomResourceConfig for this scope.
1817
+
1818
+ :param scope: -
1819
+ '''
1820
+ if __debug__:
1821
+ type_hints = typing.get_type_hints(_typecheckingstub__71c1178bbfb24d2c3974ce93648bb5eea2ec04e86060e04ce5e125d8284b38db)
1822
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1823
+ return typing.cast("CustomResourceConfig", jsii.sinvoke(cls, "of", [scope]))
1824
+
1825
+ @jsii.member(jsii_name="addLogRetentionLifetime")
1826
+ def add_log_retention_lifetime(self, rentention: _RetentionDays_070f99f0) -> None:
1827
+ '''Set the log retention of AWS-vended custom resource lambdas.
1828
+
1829
+ :param rentention: -
1830
+ '''
1831
+ if __debug__:
1832
+ type_hints = typing.get_type_hints(_typecheckingstub__b24e4182dd0a87c24dfd3d5c1bc10b91914571416d15e209d3fbd01cdcca86c3)
1833
+ check_type(argname="argument rentention", value=rentention, expected_type=type_hints["rentention"])
1834
+ return typing.cast(None, jsii.invoke(self, "addLogRetentionLifetime", [rentention]))
1835
+
1836
+ @jsii.member(jsii_name="addRemovalPolicy")
1837
+ def add_removal_policy(self, removal_policy: _RemovalPolicy_9f93c814) -> None:
1838
+ '''Set the removal policy of AWS-vended custom resource logGroup.
1839
+
1840
+ :param removal_policy: -
1841
+ '''
1842
+ if __debug__:
1843
+ type_hints = typing.get_type_hints(_typecheckingstub__40b6d12e0fa498dd2bcee3634487a6647d3a4e2c1241e542a57e63d03bc0ce11)
1844
+ check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
1845
+ return typing.cast(None, jsii.invoke(self, "addRemovalPolicy", [removal_policy]))
1846
+
1847
+
1848
+ @jsii.implements(_IAspect_118c810a)
1849
+ class CustomResourceLogRetention(
1850
+ metaclass=jsii.JSIIMeta,
1851
+ jsii_type="aws-cdk-lib.custom_resources.CustomResourceLogRetention",
1852
+ ):
1853
+ '''Manages log retention for AWS-vended custom resources.
1854
+
1855
+ :exampleMetadata: fixture=_generated
1856
+
1857
+ Example::
1858
+
1859
+ # The code below shows an example of how to instantiate this type.
1860
+ # The values are placeholders you should change.
1861
+ from aws_cdk import aws_logs as logs
1862
+ from aws_cdk import custom_resources
1863
+
1864
+ custom_resource_log_retention = custom_resources.CustomResourceLogRetention(logs.RetentionDays.ONE_DAY)
1865
+ '''
1866
+
1867
+ def __init__(self, set_log_retention: _RetentionDays_070f99f0) -> None:
1868
+ '''
1869
+ :param set_log_retention: -
1870
+ '''
1871
+ if __debug__:
1872
+ type_hints = typing.get_type_hints(_typecheckingstub__d9817c2e505de7a66bfdd5dae2d9307acfd8d0c9c65dd6bd79ef0eb799e16ac3)
1873
+ check_type(argname="argument set_log_retention", value=set_log_retention, expected_type=type_hints["set_log_retention"])
1874
+ jsii.create(self.__class__, self, [set_log_retention])
1875
+
1876
+ @jsii.member(jsii_name="visit")
1877
+ def visit(self, node: _constructs_77d1e7e8.IConstruct) -> None:
1878
+ '''All aspects can visit an IConstruct.
1879
+
1880
+ :param node: -
1881
+ '''
1882
+ if __debug__:
1883
+ type_hints = typing.get_type_hints(_typecheckingstub__6d349c2bda31cd5521973775eaf8b22424069faf01c9de9d2f03e06fcd2a0da4)
1884
+ check_type(argname="argument node", value=node, expected_type=type_hints["node"])
1885
+ return typing.cast(None, jsii.invoke(self, "visit", [node]))
1886
+
1887
+
1888
+ @jsii.implements(_IAspect_118c810a)
1889
+ class CustomResourceRemovalPolicy(
1890
+ metaclass=jsii.JSIIMeta,
1891
+ jsii_type="aws-cdk-lib.custom_resources.CustomResourceRemovalPolicy",
1892
+ ):
1893
+ '''Manages removal policy for AWS-vended custom resources.
1894
+
1895
+ :exampleMetadata: fixture=_generated
1896
+
1897
+ Example::
1898
+
1899
+ # The code below shows an example of how to instantiate this type.
1900
+ # The values are placeholders you should change.
1901
+ import aws_cdk as cdk
1902
+ from aws_cdk import custom_resources
1903
+
1904
+ custom_resource_removal_policy = custom_resources.CustomResourceRemovalPolicy(cdk.RemovalPolicy.DESTROY)
1905
+ '''
1906
+
1907
+ def __init__(self, removal_policy: _RemovalPolicy_9f93c814) -> None:
1908
+ '''
1909
+ :param removal_policy: -
1910
+ '''
1911
+ if __debug__:
1912
+ type_hints = typing.get_type_hints(_typecheckingstub__eafa318fd018f6de7fbf4e835b5b4b8dd33509979ae54cebbe4417fa8b87e17b)
1913
+ check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
1914
+ jsii.create(self.__class__, self, [removal_policy])
1915
+
1916
+ @jsii.member(jsii_name="visit")
1917
+ def visit(self, node: _constructs_77d1e7e8.IConstruct) -> None:
1918
+ '''All aspects can visit an IConstruct.
1919
+
1920
+ :param node: -
1921
+ '''
1922
+ if __debug__:
1923
+ type_hints = typing.get_type_hints(_typecheckingstub__b25638ab024a9c20a9f0e648bced71eb09bda8705a26cd9e81b3c76115521efb)
1924
+ check_type(argname="argument node", value=node, expected_type=type_hints["node"])
1925
+ return typing.cast(None, jsii.invoke(self, "visit", [node]))
1926
+
1927
+
1690
1928
  @jsii.data_type(
1691
1929
  jsii_type="aws-cdk-lib.custom_resources.LogOptions",
1692
1930
  jsii_struct_bases=[],
@@ -2804,6 +3042,9 @@ __all__ = [
2804
3042
  "AwsCustomResourcePolicy",
2805
3043
  "AwsCustomResourceProps",
2806
3044
  "AwsSdkCall",
3045
+ "CustomResourceConfig",
3046
+ "CustomResourceLogRetention",
3047
+ "CustomResourceRemovalPolicy",
2807
3048
  "LogOptions",
2808
3049
  "Logging",
2809
3050
  "LoggingProps",
@@ -2896,6 +3137,48 @@ def _typecheckingstub__af7bb124668b93c6ce7d641df2daeabfe424e271742385a76e7e56ec9
2896
3137
  """Type checking stubs"""
2897
3138
  pass
2898
3139
 
3140
+ def _typecheckingstub__71c1178bbfb24d2c3974ce93648bb5eea2ec04e86060e04ce5e125d8284b38db(
3141
+ scope: _constructs_77d1e7e8.IConstruct,
3142
+ ) -> None:
3143
+ """Type checking stubs"""
3144
+ pass
3145
+
3146
+ def _typecheckingstub__b24e4182dd0a87c24dfd3d5c1bc10b91914571416d15e209d3fbd01cdcca86c3(
3147
+ rentention: _RetentionDays_070f99f0,
3148
+ ) -> None:
3149
+ """Type checking stubs"""
3150
+ pass
3151
+
3152
+ def _typecheckingstub__40b6d12e0fa498dd2bcee3634487a6647d3a4e2c1241e542a57e63d03bc0ce11(
3153
+ removal_policy: _RemovalPolicy_9f93c814,
3154
+ ) -> None:
3155
+ """Type checking stubs"""
3156
+ pass
3157
+
3158
+ def _typecheckingstub__d9817c2e505de7a66bfdd5dae2d9307acfd8d0c9c65dd6bd79ef0eb799e16ac3(
3159
+ set_log_retention: _RetentionDays_070f99f0,
3160
+ ) -> None:
3161
+ """Type checking stubs"""
3162
+ pass
3163
+
3164
+ def _typecheckingstub__6d349c2bda31cd5521973775eaf8b22424069faf01c9de9d2f03e06fcd2a0da4(
3165
+ node: _constructs_77d1e7e8.IConstruct,
3166
+ ) -> None:
3167
+ """Type checking stubs"""
3168
+ pass
3169
+
3170
+ def _typecheckingstub__eafa318fd018f6de7fbf4e835b5b4b8dd33509979ae54cebbe4417fa8b87e17b(
3171
+ removal_policy: _RemovalPolicy_9f93c814,
3172
+ ) -> None:
3173
+ """Type checking stubs"""
3174
+ pass
3175
+
3176
+ def _typecheckingstub__b25638ab024a9c20a9f0e648bced71eb09bda8705a26cd9e81b3c76115521efb(
3177
+ node: _constructs_77d1e7e8.IConstruct,
3178
+ ) -> None:
3179
+ """Type checking stubs"""
3180
+ pass
3181
+
2899
3182
  def _typecheckingstub__2622296f61199d2b10825c21d976c0578e9488ad1b2b7635565f604c598734b7(
2900
3183
  *,
2901
3184
  destination: typing.Optional[_ILogGroup_3c4fa718] = None,
@@ -588,7 +588,7 @@ class CloudArtifact(
588
588
  display_name="displayName",
589
589
  environment="environment",
590
590
  metadata={
591
- "metadata_key": [cloud_assembly_schema.MetadataEntry(
591
+ "metadata_key": [MetadataEntry(
592
592
  type="type",
593
593
 
594
594
  # the properties below are optional
@@ -596,7 +596,7 @@ class CloudArtifact(
596
596
  trace=["trace"]
597
597
  )]
598
598
  },
599
- properties=cloud_assembly_schema.AwsCloudFormationStackProperties(
599
+ properties=AwsCloudFormationStackProperties(
600
600
  template_file="templateFile",
601
601
 
602
602
  # the properties below are optional
@@ -604,7 +604,7 @@ class CloudArtifact(
604
604
  assume_role_external_id="assumeRoleExternalId",
605
605
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
606
606
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
607
- lookup_role=cloud_assembly_schema.BootstrapRole(
607
+ lookup_role=BootstrapRole(
608
608
  arn="arn",
609
609
 
610
610
  # the properties below are optional
@@ -1184,7 +1184,7 @@ class CloudFormationStackArtifact(
1184
1184
  display_name="displayName",
1185
1185
  environment="environment",
1186
1186
  metadata={
1187
- "metadata_key": [cloud_assembly_schema.MetadataEntry(
1187
+ "metadata_key": [MetadataEntry(
1188
1188
  type="type",
1189
1189
 
1190
1190
  # the properties below are optional
@@ -1192,7 +1192,7 @@ class CloudFormationStackArtifact(
1192
1192
  trace=["trace"]
1193
1193
  )]
1194
1194
  },
1195
- properties=cloud_assembly_schema.AwsCloudFormationStackProperties(
1195
+ properties=AwsCloudFormationStackProperties(
1196
1196
  template_file="templateFile",
1197
1197
 
1198
1198
  # the properties below are optional
@@ -1200,7 +1200,7 @@ class CloudFormationStackArtifact(
1200
1200
  assume_role_external_id="assumeRoleExternalId",
1201
1201
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
1202
1202
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
1203
- lookup_role=cloud_assembly_schema.BootstrapRole(
1203
+ lookup_role=BootstrapRole(
1204
1204
  arn="arn",
1205
1205
 
1206
1206
  # the properties below are optional
@@ -2247,7 +2247,7 @@ class NestedCloudAssemblyArtifact(
2247
2247
  display_name="displayName",
2248
2248
  environment="environment",
2249
2249
  metadata={
2250
- "metadata_key": [cloud_assembly_schema.MetadataEntry(
2250
+ "metadata_key": [MetadataEntry(
2251
2251
  type="type",
2252
2252
 
2253
2253
  # the properties below are optional
@@ -2255,7 +2255,7 @@ class NestedCloudAssemblyArtifact(
2255
2255
  trace=["trace"]
2256
2256
  )]
2257
2257
  },
2258
- properties=cloud_assembly_schema.AwsCloudFormationStackProperties(
2258
+ properties=AwsCloudFormationStackProperties(
2259
2259
  template_file="templateFile",
2260
2260
 
2261
2261
  # the properties below are optional
@@ -2263,7 +2263,7 @@ class NestedCloudAssemblyArtifact(
2263
2263
  assume_role_external_id="assumeRoleExternalId",
2264
2264
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
2265
2265
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
2266
- lookup_role=cloud_assembly_schema.BootstrapRole(
2266
+ lookup_role=BootstrapRole(
2267
2267
  arn="arn",
2268
2268
 
2269
2269
  # the properties below are optional
@@ -2560,7 +2560,7 @@ class TreeCloudArtifact(
2560
2560
  display_name="displayName",
2561
2561
  environment="environment",
2562
2562
  metadata={
2563
- "metadata_key": [cloud_assembly_schema.MetadataEntry(
2563
+ "metadata_key": [MetadataEntry(
2564
2564
  type="type",
2565
2565
 
2566
2566
  # the properties below are optional
@@ -2568,7 +2568,7 @@ class TreeCloudArtifact(
2568
2568
  trace=["trace"]
2569
2569
  )]
2570
2570
  },
2571
- properties=cloud_assembly_schema.AwsCloudFormationStackProperties(
2571
+ properties=AwsCloudFormationStackProperties(
2572
2572
  template_file="templateFile",
2573
2573
 
2574
2574
  # the properties below are optional
@@ -2576,7 +2576,7 @@ class TreeCloudArtifact(
2576
2576
  assume_role_external_id="assumeRoleExternalId",
2577
2577
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
2578
2578
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
2579
- lookup_role=cloud_assembly_schema.BootstrapRole(
2579
+ lookup_role=BootstrapRole(
2580
2580
  arn="arn",
2581
2581
 
2582
2582
  # the properties below are optional
@@ -3212,7 +3212,7 @@ class AssetManifestArtifact(
3212
3212
  display_name="displayName",
3213
3213
  environment="environment",
3214
3214
  metadata={
3215
- "metadata_key": [cloud_assembly_schema.MetadataEntry(
3215
+ "metadata_key": [MetadataEntry(
3216
3216
  type="type",
3217
3217
 
3218
3218
  # the properties below are optional
@@ -3220,7 +3220,7 @@ class AssetManifestArtifact(
3220
3220
  trace=["trace"]
3221
3221
  )]
3222
3222
  },
3223
- properties=cloud_assembly_schema.AwsCloudFormationStackProperties(
3223
+ properties=AwsCloudFormationStackProperties(
3224
3224
  template_file="templateFile",
3225
3225
 
3226
3226
  # the properties below are optional
@@ -3228,7 +3228,7 @@ class AssetManifestArtifact(
3228
3228
  assume_role_external_id="assumeRoleExternalId",
3229
3229
  bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
3230
3230
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
3231
- lookup_role=cloud_assembly_schema.BootstrapRole(
3231
+ lookup_role=BootstrapRole(
3232
3232
  arn="arn",
3233
3233
 
3234
3234
  # the properties below are optional