aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.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 (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -335,9 +335,50 @@ events.EventBus(self, "Bus",
335
335
  )
336
336
  ```
337
337
 
338
- **Note**: Archives and schema discovery are not supported for event buses encrypted using a customer managed key.
339
- To enable archives or schema discovery on an event bus, choose to use an AWS owned key.
338
+ To use a customer managed key for an archive, use the `kmsKey` attribute.
339
+
340
+ Note: When you attach a customer managed key to either an EventBus or an Archive, a policy that allows EventBridge to interact with your resource will be added.
341
+
342
+ ```python
343
+ import aws_cdk.aws_kms as kms
344
+ from aws_cdk.aws_events import Archive, EventBus
345
+
346
+ # kms_key: kms.IKey
347
+
348
+
349
+ stack = Stack()
350
+
351
+ event_bus = EventBus(stack, "Bus")
352
+
353
+ archive = Archive(stack, "Archive",
354
+ kms_key=kms_key,
355
+ source_event_bus=event_bus,
356
+ event_pattern=events.EventPattern(
357
+ source=["aws.ec2"]
358
+ )
359
+ )
360
+ ```
361
+
362
+ To enable archives or schema discovery on an event bus, customers has the choice of using either an AWS owned key or a customer managed key.
340
363
  For more information, see [KMS key options for event bus encryption](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-at-rest-key-options.html).
364
+
365
+ ## Configuring logging
366
+
367
+ To configure logging for an Event Bus, leverage the LogConfig property. It allows different level of logging (NONE, INFO, TRACE, ERROR) and wether to include details or not.
368
+
369
+ ```python
370
+ from aws_cdk.aws_events import EventBus, IncludeDetail, Level
371
+
372
+
373
+ bus = EventBus(self, "Bus",
374
+ log_config=events.LogConfig(
375
+ include_detail=IncludeDetail.FULL,
376
+ level=Level.TRACE
377
+ )
378
+ )
379
+ ```
380
+
381
+ See more [Specifying event bus log level](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level)
341
382
  '''
342
383
  from pkgutil import extend_path
343
384
  __path__ = extend_path(__path__, __name__)
@@ -396,6 +437,23 @@ from ..aws_iam import (
396
437
  )
397
438
  from ..aws_kms import IKey as _IKey_5f11635f
398
439
  from ..aws_sqs import IQueue as _IQueue_7ed6f679
440
+ from ..interfaces.aws_events import (
441
+ ApiDestinationReference as _ApiDestinationReference_6371608b,
442
+ ArchiveReference as _ArchiveReference_40db88e4,
443
+ ConnectionReference as _ConnectionReference_d427d036,
444
+ EndpointReference as _EndpointReference_091493df,
445
+ EventBusPolicyReference as _EventBusPolicyReference_9bb2c85f,
446
+ EventBusReference as _EventBusReference_f9e830e1,
447
+ IApiDestinationRef as _IApiDestinationRef_8cd0a954,
448
+ IArchiveRef as _IArchiveRef_e95a5adc,
449
+ IConnectionRef as _IConnectionRef_bea3332b,
450
+ IEndpointRef as _IEndpointRef_c14d05f7,
451
+ IEventBusPolicyRef as _IEventBusPolicyRef_308d5d57,
452
+ IEventBusRef as _IEventBusRef_aa86e9b4,
453
+ IRuleRef as _IRuleRef_4038a611,
454
+ RuleReference as _RuleReference_38eeaae2,
455
+ )
456
+ from ..interfaces.aws_iam import IRoleRef as _IRoleRef_8400221f
399
457
 
400
458
 
401
459
  @jsii.data_type(
@@ -404,6 +462,7 @@ from ..aws_sqs import IQueue as _IQueue_7ed6f679
404
462
  name_mapping={
405
463
  "api_destination_arn": "apiDestinationArn",
406
464
  "connection": "connection",
465
+ "api_destination_arn_for_policy": "apiDestinationArnForPolicy",
407
466
  },
408
467
  )
409
468
  class ApiDestinationAttributes:
@@ -412,11 +471,13 @@ class ApiDestinationAttributes:
412
471
  *,
413
472
  api_destination_arn: builtins.str,
414
473
  connection: "IConnection",
474
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
415
475
  ) -> None:
416
476
  '''The properties to import an existing Api Destination.
417
477
 
418
478
  :param api_destination_arn: The ARN of the Api Destination.
419
479
  :param connection: The Connection to associate with the Api Destination.
480
+ :param api_destination_arn_for_policy: The Amazon Resource Name (ARN) of an API destination in resource format. Default: undefined - Imported API destination does not have ARN in resource format
420
481
 
421
482
  :exampleMetadata: infused
422
483
 
@@ -424,8 +485,13 @@ class ApiDestinationAttributes:
424
485
 
425
486
  connection = events.Connection.from_event_bus_arn(self, "Connection", "arn:aws:events:us-east-1:123456789012:event-bus/EventBusName", "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-f3gDy9")
426
487
 
427
- api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
428
- destination = events.ApiDestination.from_api_destination_attributes(self, "Destination", api_destination_arn=api_destination_arn, connection=connection)
488
+ api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName/11111111-1111-1111-1111-111111111111"
489
+ api_destination_arn_for_policy = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
490
+ destination = events.ApiDestination.from_api_destination_attributes(self, "Destination",
491
+ api_destination_arn=api_destination_arn,
492
+ connection=connection,
493
+ api_destination_arn_for_policy=api_destination_arn_for_policy
494
+ )
429
495
 
430
496
  rule = events.Rule(self, "OtherRule",
431
497
  schedule=events.Schedule.rate(Duration.minutes(10)),
@@ -436,10 +502,13 @@ class ApiDestinationAttributes:
436
502
  type_hints = typing.get_type_hints(_typecheckingstub__803612bfb0a8da2a8e0ca427792d066e933032d6f722156869f61949617c8303)
437
503
  check_type(argname="argument api_destination_arn", value=api_destination_arn, expected_type=type_hints["api_destination_arn"])
438
504
  check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
505
+ check_type(argname="argument api_destination_arn_for_policy", value=api_destination_arn_for_policy, expected_type=type_hints["api_destination_arn_for_policy"])
439
506
  self._values: typing.Dict[builtins.str, typing.Any] = {
440
507
  "api_destination_arn": api_destination_arn,
441
508
  "connection": connection,
442
509
  }
510
+ if api_destination_arn_for_policy is not None:
511
+ self._values["api_destination_arn_for_policy"] = api_destination_arn_for_policy
443
512
 
444
513
  @builtins.property
445
514
  def api_destination_arn(self) -> builtins.str:
@@ -455,6 +524,15 @@ class ApiDestinationAttributes:
455
524
  assert result is not None, "Required property 'connection' is missing"
456
525
  return typing.cast("IConnection", result)
457
526
 
527
+ @builtins.property
528
+ def api_destination_arn_for_policy(self) -> typing.Optional[builtins.str]:
529
+ '''The Amazon Resource Name (ARN) of an API destination in resource format.
530
+
531
+ :default: undefined - Imported API destination does not have ARN in resource format
532
+ '''
533
+ result = self._values.get("api_destination_arn_for_policy")
534
+ return typing.cast(typing.Optional[builtins.str], result)
535
+
458
536
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
459
537
  return isinstance(rhs, self.__class__) and rhs._values == self._values
460
538
 
@@ -610,38 +688,26 @@ class Archive(
610
688
  '''Define an EventBridge Archive.
611
689
 
612
690
  :resource: AWS::Events::Archive
613
- :exampleMetadata: fixture=_generated
691
+ :exampleMetadata: infused
614
692
 
615
693
  Example::
616
694
 
617
- # The code below shows an example of how to instantiate this type.
618
- # The values are placeholders you should change.
619
- import aws_cdk as cdk
620
- from aws_cdk import aws_events as events
695
+ import aws_cdk.aws_kms as kms
696
+ from aws_cdk.aws_events import Archive, EventBus
621
697
 
622
- # detail: Any
623
- # event_bus: events.EventBus
698
+ # kms_key: kms.IKey
624
699
 
625
- archive = events.Archive(self, "MyArchive",
626
- event_pattern=events.EventPattern(
627
- account=["account"],
628
- detail={
629
- "detail_key": detail
630
- },
631
- detail_type=["detailType"],
632
- id=["id"],
633
- region=["region"],
634
- resources=["resources"],
635
- source=["source"],
636
- time=["time"],
637
- version=["version"]
638
- ),
639
- source_event_bus=event_bus,
640
700
 
641
- # the properties below are optional
642
- archive_name="archiveName",
643
- description="description",
644
- retention=cdk.Duration.minutes(30)
701
+ stack = Stack()
702
+
703
+ event_bus = EventBus(stack, "Bus")
704
+
705
+ archive = Archive(stack, "Archive",
706
+ kms_key=kms_key,
707
+ source_event_bus=event_bus,
708
+ event_pattern=events.EventPattern(
709
+ source=["aws.ec2"]
710
+ )
645
711
  )
646
712
  '''
647
713
 
@@ -654,6 +720,7 @@ class Archive(
654
720
  event_pattern: typing.Union["EventPattern", typing.Dict[builtins.str, typing.Any]],
655
721
  archive_name: typing.Optional[builtins.str] = None,
656
722
  description: typing.Optional[builtins.str] = None,
723
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
657
724
  retention: typing.Optional[_Duration_4839e8c3] = None,
658
725
  ) -> None:
659
726
  '''
@@ -663,6 +730,7 @@ class Archive(
663
730
  :param event_pattern: An event pattern to use to filter events sent to the archive.
664
731
  :param archive_name: The name of the archive. Default: - Automatically generated
665
732
  :param description: A description for the archive. Default: - none
733
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
666
734
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
667
735
  '''
668
736
  if __debug__:
@@ -674,6 +742,7 @@ class Archive(
674
742
  event_pattern=event_pattern,
675
743
  archive_name=archive_name,
676
744
  description=description,
745
+ kms_key=kms_key,
677
746
  retention=retention,
678
747
  )
679
748
 
@@ -823,6 +892,7 @@ typing.cast(typing.Any, Authorization).__jsii_proxy_class__ = lambda : _Authoriz
823
892
  "event_pattern": "eventPattern",
824
893
  "archive_name": "archiveName",
825
894
  "description": "description",
895
+ "kms_key": "kmsKey",
826
896
  "retention": "retention",
827
897
  },
828
898
  )
@@ -833,6 +903,7 @@ class BaseArchiveProps:
833
903
  event_pattern: typing.Union["EventPattern", typing.Dict[builtins.str, typing.Any]],
834
904
  archive_name: typing.Optional[builtins.str] = None,
835
905
  description: typing.Optional[builtins.str] = None,
906
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
836
907
  retention: typing.Optional[_Duration_4839e8c3] = None,
837
908
  ) -> None:
838
909
  '''The event archive base properties.
@@ -840,6 +911,7 @@ class BaseArchiveProps:
840
911
  :param event_pattern: An event pattern to use to filter events sent to the archive.
841
912
  :param archive_name: The name of the archive. Default: - Automatically generated
842
913
  :param description: A description for the archive. Default: - none
914
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
843
915
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
844
916
 
845
917
  :exampleMetadata: infused
@@ -867,6 +939,7 @@ class BaseArchiveProps:
867
939
  check_type(argname="argument event_pattern", value=event_pattern, expected_type=type_hints["event_pattern"])
868
940
  check_type(argname="argument archive_name", value=archive_name, expected_type=type_hints["archive_name"])
869
941
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
942
+ check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
870
943
  check_type(argname="argument retention", value=retention, expected_type=type_hints["retention"])
871
944
  self._values: typing.Dict[builtins.str, typing.Any] = {
872
945
  "event_pattern": event_pattern,
@@ -875,6 +948,8 @@ class BaseArchiveProps:
875
948
  self._values["archive_name"] = archive_name
876
949
  if description is not None:
877
950
  self._values["description"] = description
951
+ if kms_key is not None:
952
+ self._values["kms_key"] = kms_key
878
953
  if retention is not None:
879
954
  self._values["retention"] = retention
880
955
 
@@ -903,6 +978,15 @@ class BaseArchiveProps:
903
978
  result = self._values.get("description")
904
979
  return typing.cast(typing.Optional[builtins.str], result)
905
980
 
981
+ @builtins.property
982
+ def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
983
+ '''The customer managed key that encrypts this archive.
984
+
985
+ :default: - Use an AWS managed key
986
+ '''
987
+ result = self._values.get("kms_key")
988
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
989
+
906
990
  @builtins.property
907
991
  def retention(self) -> typing.Optional[_Duration_4839e8c3]:
908
992
  '''The number of days to retain events for.
@@ -926,7 +1010,7 @@ class BaseArchiveProps:
926
1010
  )
927
1011
 
928
1012
 
929
- @jsii.implements(_IInspectable_c2943556)
1013
+ @jsii.implements(_IInspectable_c2943556, _IApiDestinationRef_8cd0a954)
930
1014
  class CfnApiDestination(
931
1015
  _CfnResource_9df397a6,
932
1016
  metaclass=jsii.JSIIMeta,
@@ -980,7 +1064,8 @@ class CfnApiDestination(
980
1064
  invocation_rate_limit_per_second: typing.Optional[jsii.Number] = None,
981
1065
  name: typing.Optional[builtins.str] = None,
982
1066
  ) -> None:
983
- '''
1067
+ '''Create a new ``AWS::Events::ApiDestination``.
1068
+
984
1069
  :param scope: Scope in which this resource is defined.
985
1070
  :param id: Construct identifier for this resource (unique in its scope).
986
1071
  :param connection_arn: The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.
@@ -1005,6 +1090,48 @@ class CfnApiDestination(
1005
1090
 
1006
1091
  jsii.create(self.__class__, self, [scope, id, props])
1007
1092
 
1093
+ @jsii.member(jsii_name="fromApiDestinationArn")
1094
+ @builtins.classmethod
1095
+ def from_api_destination_arn(
1096
+ cls,
1097
+ scope: _constructs_77d1e7e8.Construct,
1098
+ id: builtins.str,
1099
+ arn: builtins.str,
1100
+ ) -> _IApiDestinationRef_8cd0a954:
1101
+ '''Creates a new IApiDestinationRef from an ARN.
1102
+
1103
+ :param scope: -
1104
+ :param id: -
1105
+ :param arn: -
1106
+ '''
1107
+ if __debug__:
1108
+ type_hints = typing.get_type_hints(_typecheckingstub__e4d067d14eb4986a791825f5574a2a1b7996e52c30d1c10ce8e7b59e60ddb769)
1109
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1110
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1111
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
1112
+ return typing.cast(_IApiDestinationRef_8cd0a954, jsii.sinvoke(cls, "fromApiDestinationArn", [scope, id, arn]))
1113
+
1114
+ @jsii.member(jsii_name="fromApiDestinationName")
1115
+ @builtins.classmethod
1116
+ def from_api_destination_name(
1117
+ cls,
1118
+ scope: _constructs_77d1e7e8.Construct,
1119
+ id: builtins.str,
1120
+ api_destination_name: builtins.str,
1121
+ ) -> _IApiDestinationRef_8cd0a954:
1122
+ '''Creates a new IApiDestinationRef from a apiDestinationName.
1123
+
1124
+ :param scope: -
1125
+ :param id: -
1126
+ :param api_destination_name: -
1127
+ '''
1128
+ if __debug__:
1129
+ type_hints = typing.get_type_hints(_typecheckingstub__2f7e79e48e08b958f9ad095544607e87dd2f1aa8eef727bec93c1ee0def4c583)
1130
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1131
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1132
+ check_type(argname="argument api_destination_name", value=api_destination_name, expected_type=type_hints["api_destination_name"])
1133
+ return typing.cast(_IApiDestinationRef_8cd0a954, jsii.sinvoke(cls, "fromApiDestinationName", [scope, id, api_destination_name]))
1134
+
1008
1135
  @jsii.member(jsii_name="inspect")
1009
1136
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1010
1137
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1035,6 +1162,12 @@ class CfnApiDestination(
1035
1162
  '''The CloudFormation resource type name for this resource class.'''
1036
1163
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1037
1164
 
1165
+ @builtins.property
1166
+ @jsii.member(jsii_name="apiDestinationRef")
1167
+ def api_destination_ref(self) -> _ApiDestinationReference_6371608b:
1168
+ '''A reference to a ApiDestination resource.'''
1169
+ return typing.cast(_ApiDestinationReference_6371608b, jsii.get(self, "apiDestinationRef"))
1170
+
1038
1171
  @builtins.property
1039
1172
  @jsii.member(jsii_name="attrArn")
1040
1173
  def attr_arn(self) -> builtins.str:
@@ -1053,7 +1186,7 @@ class CfnApiDestination(
1053
1186
 
1054
1187
  For example, the following resource defines an IAM policy that grants permission to update a specific API destination.
1055
1188
 
1056
- ``Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - events:UpdateApiDestination Resource: - !GetAtt myApiDestination.ArnForPolicy``
1189
+ ``Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17 ' Statement: - Effect: Allow Action: - events:UpdateApiDestination Resource: - !GetAtt myApiDestination.ArnForPolicy``
1057
1190
 
1058
1191
  :cloudformationAttribute: ArnForPolicy
1059
1192
  '''
@@ -1289,7 +1422,7 @@ class CfnApiDestinationProps:
1289
1422
  )
1290
1423
 
1291
1424
 
1292
- @jsii.implements(_IInspectable_c2943556)
1425
+ @jsii.implements(_IInspectable_c2943556, _IArchiveRef_e95a5adc)
1293
1426
  class CfnArchive(
1294
1427
  _CfnResource_9df397a6,
1295
1428
  metaclass=jsii.JSIIMeta,
@@ -1340,7 +1473,8 @@ class CfnArchive(
1340
1473
  kms_key_identifier: typing.Optional[builtins.str] = None,
1341
1474
  retention_days: typing.Optional[jsii.Number] = None,
1342
1475
  ) -> None:
1343
- '''
1476
+ '''Create a new ``AWS::Events::Archive``.
1477
+
1344
1478
  :param scope: Scope in which this resource is defined.
1345
1479
  :param id: Construct identifier for this resource (unique in its scope).
1346
1480
  :param source_arn: The ARN of the event bus that sends events to the archive.
@@ -1365,6 +1499,48 @@ class CfnArchive(
1365
1499
 
1366
1500
  jsii.create(self.__class__, self, [scope, id, props])
1367
1501
 
1502
+ @jsii.member(jsii_name="fromArchiveArn")
1503
+ @builtins.classmethod
1504
+ def from_archive_arn(
1505
+ cls,
1506
+ scope: _constructs_77d1e7e8.Construct,
1507
+ id: builtins.str,
1508
+ arn: builtins.str,
1509
+ ) -> _IArchiveRef_e95a5adc:
1510
+ '''Creates a new IArchiveRef from an ARN.
1511
+
1512
+ :param scope: -
1513
+ :param id: -
1514
+ :param arn: -
1515
+ '''
1516
+ if __debug__:
1517
+ type_hints = typing.get_type_hints(_typecheckingstub__8e8ead948e3f54f53c0d21e22906517bc78f6bc7b15975a7503199c89c0cc2d8)
1518
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1519
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1520
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
1521
+ return typing.cast(_IArchiveRef_e95a5adc, jsii.sinvoke(cls, "fromArchiveArn", [scope, id, arn]))
1522
+
1523
+ @jsii.member(jsii_name="fromArchiveName")
1524
+ @builtins.classmethod
1525
+ def from_archive_name(
1526
+ cls,
1527
+ scope: _constructs_77d1e7e8.Construct,
1528
+ id: builtins.str,
1529
+ archive_name: builtins.str,
1530
+ ) -> _IArchiveRef_e95a5adc:
1531
+ '''Creates a new IArchiveRef from a archiveName.
1532
+
1533
+ :param scope: -
1534
+ :param id: -
1535
+ :param archive_name: -
1536
+ '''
1537
+ if __debug__:
1538
+ type_hints = typing.get_type_hints(_typecheckingstub__f94b64dd5cb2b916b6680e63c92384270a55a857a32d8c25ec445a22c5a86f62)
1539
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1540
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1541
+ check_type(argname="argument archive_name", value=archive_name, expected_type=type_hints["archive_name"])
1542
+ return typing.cast(_IArchiveRef_e95a5adc, jsii.sinvoke(cls, "fromArchiveName", [scope, id, archive_name]))
1543
+
1368
1544
  @jsii.member(jsii_name="inspect")
1369
1545
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1370
1546
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1395,6 +1571,12 @@ class CfnArchive(
1395
1571
  '''The CloudFormation resource type name for this resource class.'''
1396
1572
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1397
1573
 
1574
+ @builtins.property
1575
+ @jsii.member(jsii_name="archiveRef")
1576
+ def archive_ref(self) -> _ArchiveReference_40db88e4:
1577
+ '''A reference to a Archive resource.'''
1578
+ return typing.cast(_ArchiveReference_40db88e4, jsii.get(self, "archiveRef"))
1579
+
1398
1580
  @builtins.property
1399
1581
  @jsii.member(jsii_name="attrArn")
1400
1582
  def attr_arn(self) -> builtins.str:
@@ -1644,7 +1826,7 @@ class CfnArchiveProps:
1644
1826
  )
1645
1827
 
1646
1828
 
1647
- @jsii.implements(_IInspectable_c2943556)
1829
+ @jsii.implements(_IInspectable_c2943556, _IConnectionRef_bea3332b)
1648
1830
  class CfnConnection(
1649
1831
  _CfnResource_9df397a6,
1650
1832
  metaclass=jsii.JSIIMeta,
@@ -1768,7 +1950,8 @@ class CfnConnection(
1768
1950
  kms_key_identifier: typing.Optional[builtins.str] = None,
1769
1951
  name: typing.Optional[builtins.str] = None,
1770
1952
  ) -> None:
1771
- '''
1953
+ '''Create a new ``AWS::Events::Connection``.
1954
+
1772
1955
  :param scope: Scope in which this resource is defined.
1773
1956
  :param id: Construct identifier for this resource (unique in its scope).
1774
1957
  :param authorization_type: The type of authorization to use for the connection. .. epigraph:: OAUTH tokens are refreshed when a 401 or 407 response is returned.
@@ -1793,6 +1976,48 @@ class CfnConnection(
1793
1976
 
1794
1977
  jsii.create(self.__class__, self, [scope, id, props])
1795
1978
 
1979
+ @jsii.member(jsii_name="fromConnectionArn")
1980
+ @builtins.classmethod
1981
+ def from_connection_arn(
1982
+ cls,
1983
+ scope: _constructs_77d1e7e8.Construct,
1984
+ id: builtins.str,
1985
+ arn: builtins.str,
1986
+ ) -> _IConnectionRef_bea3332b:
1987
+ '''Creates a new IConnectionRef from an ARN.
1988
+
1989
+ :param scope: -
1990
+ :param id: -
1991
+ :param arn: -
1992
+ '''
1993
+ if __debug__:
1994
+ type_hints = typing.get_type_hints(_typecheckingstub__630a9669f06abf4f4e8bad75138d45b4182263c18c97fb22a426fbc0a2bbcdc2)
1995
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1996
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1997
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
1998
+ return typing.cast(_IConnectionRef_bea3332b, jsii.sinvoke(cls, "fromConnectionArn", [scope, id, arn]))
1999
+
2000
+ @jsii.member(jsii_name="fromConnectionName")
2001
+ @builtins.classmethod
2002
+ def from_connection_name(
2003
+ cls,
2004
+ scope: _constructs_77d1e7e8.Construct,
2005
+ id: builtins.str,
2006
+ connection_name: builtins.str,
2007
+ ) -> _IConnectionRef_bea3332b:
2008
+ '''Creates a new IConnectionRef from a connectionName.
2009
+
2010
+ :param scope: -
2011
+ :param id: -
2012
+ :param connection_name: -
2013
+ '''
2014
+ if __debug__:
2015
+ type_hints = typing.get_type_hints(_typecheckingstub__d14cab009a8170454a66a3e141b7bf3bd9913cd1520a24a6bd2047517dc43bca)
2016
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2017
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2018
+ check_type(argname="argument connection_name", value=connection_name, expected_type=type_hints["connection_name"])
2019
+ return typing.cast(_IConnectionRef_bea3332b, jsii.sinvoke(cls, "fromConnectionName", [scope, id, connection_name]))
2020
+
1796
2021
  @jsii.member(jsii_name="inspect")
1797
2022
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1798
2023
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1841,7 +2066,7 @@ class CfnConnection(
1841
2066
 
1842
2067
  For example, the following resource defines an IAM policy that grants permission to update a specific connection.
1843
2068
 
1844
- ``Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - events:UpdateConnection Resource: - !GetAtt myConnection.ArnForPolicy``
2069
+ ``Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17 ' Statement: - Effect: Allow Action: - events:UpdateConnection Resource: - !GetAtt myConnection.ArnForPolicy``
1845
2070
 
1846
2071
  :cloudformationAttribute: ArnForPolicy
1847
2072
  '''
@@ -1891,6 +2116,12 @@ class CfnConnection(
1891
2116
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1892
2117
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1893
2118
 
2119
+ @builtins.property
2120
+ @jsii.member(jsii_name="connectionRef")
2121
+ def connection_ref(self) -> _ConnectionReference_d427d036:
2122
+ '''A reference to a Connection resource.'''
2123
+ return typing.cast(_ConnectionReference_d427d036, jsii.get(self, "connectionRef"))
2124
+
1894
2125
  @builtins.property
1895
2126
  @jsii.member(jsii_name="authorizationType")
1896
2127
  def authorization_type(self) -> typing.Optional[builtins.str]:
@@ -3182,7 +3413,7 @@ class CfnConnectionProps:
3182
3413
  )
3183
3414
 
3184
3415
 
3185
- @jsii.implements(_IInspectable_c2943556)
3416
+ @jsii.implements(_IInspectable_c2943556, _IEndpointRef_c14d05f7)
3186
3417
  class CfnEndpoint(
3187
3418
  _CfnResource_9df397a6,
3188
3419
  metaclass=jsii.JSIIMeta,
@@ -3239,7 +3470,8 @@ class CfnEndpoint(
3239
3470
  replication_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEndpoint.ReplicationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3240
3471
  role_arn: typing.Optional[builtins.str] = None,
3241
3472
  ) -> None:
3242
- '''
3473
+ '''Create a new ``AWS::Events::Endpoint``.
3474
+
3243
3475
  :param scope: Scope in which this resource is defined.
3244
3476
  :param id: Construct identifier for this resource (unique in its scope).
3245
3477
  :param event_buses: The event buses being used by the endpoint. *Exactly* : ``2``
@@ -3264,6 +3496,48 @@ class CfnEndpoint(
3264
3496
 
3265
3497
  jsii.create(self.__class__, self, [scope, id, props])
3266
3498
 
3499
+ @jsii.member(jsii_name="fromEndpointArn")
3500
+ @builtins.classmethod
3501
+ def from_endpoint_arn(
3502
+ cls,
3503
+ scope: _constructs_77d1e7e8.Construct,
3504
+ id: builtins.str,
3505
+ arn: builtins.str,
3506
+ ) -> _IEndpointRef_c14d05f7:
3507
+ '''Creates a new IEndpointRef from an ARN.
3508
+
3509
+ :param scope: -
3510
+ :param id: -
3511
+ :param arn: -
3512
+ '''
3513
+ if __debug__:
3514
+ type_hints = typing.get_type_hints(_typecheckingstub__b8df0737b10ec98bf62c1be2c67715f159dc221d2935abd8e8ae6669ca458d7f)
3515
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3516
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3517
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
3518
+ return typing.cast(_IEndpointRef_c14d05f7, jsii.sinvoke(cls, "fromEndpointArn", [scope, id, arn]))
3519
+
3520
+ @jsii.member(jsii_name="fromEndpointName")
3521
+ @builtins.classmethod
3522
+ def from_endpoint_name(
3523
+ cls,
3524
+ scope: _constructs_77d1e7e8.Construct,
3525
+ id: builtins.str,
3526
+ endpoint_name: builtins.str,
3527
+ ) -> _IEndpointRef_c14d05f7:
3528
+ '''Creates a new IEndpointRef from a endpointName.
3529
+
3530
+ :param scope: -
3531
+ :param id: -
3532
+ :param endpoint_name: -
3533
+ '''
3534
+ if __debug__:
3535
+ type_hints = typing.get_type_hints(_typecheckingstub__777109eec20698d982fd6e8cd9ad182871f5e151603cba27527f7f96a6fb3f5e)
3536
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3537
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3538
+ check_type(argname="argument endpoint_name", value=endpoint_name, expected_type=type_hints["endpoint_name"])
3539
+ return typing.cast(_IEndpointRef_c14d05f7, jsii.sinvoke(cls, "fromEndpointName", [scope, id, endpoint_name]))
3540
+
3267
3541
  @jsii.member(jsii_name="inspect")
3268
3542
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3269
3543
  '''Examines the CloudFormation resource and discloses attributes.
@@ -3344,6 +3618,12 @@ class CfnEndpoint(
3344
3618
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3345
3619
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3346
3620
 
3621
+ @builtins.property
3622
+ @jsii.member(jsii_name="endpointRef")
3623
+ def endpoint_ref(self) -> _EndpointReference_091493df:
3624
+ '''A reference to a Endpoint resource.'''
3625
+ return typing.cast(_EndpointReference_091493df, jsii.get(self, "endpointRef"))
3626
+
3347
3627
  @builtins.property
3348
3628
  @jsii.member(jsii_name="eventBuses")
3349
3629
  def event_buses(
@@ -3958,7 +4238,7 @@ class CfnEndpointProps:
3958
4238
  )
3959
4239
 
3960
4240
 
3961
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4241
+ @jsii.implements(_IInspectable_c2943556, _IEventBusRef_aa86e9b4, _ITaggableV2_4e6798f8)
3962
4242
  class CfnEventBus(
3963
4243
  _CfnResource_9df397a6,
3964
4244
  metaclass=jsii.JSIIMeta,
@@ -3993,6 +4273,10 @@ class CfnEventBus(
3993
4273
  description="description",
3994
4274
  event_source_name="eventSourceName",
3995
4275
  kms_key_identifier="kmsKeyIdentifier",
4276
+ log_config=events.CfnEventBus.LogConfigProperty(
4277
+ include_detail="includeDetail",
4278
+ level="level"
4279
+ ),
3996
4280
  policy=policy,
3997
4281
  tags=[CfnTag(
3998
4282
  key="key",
@@ -4011,10 +4295,12 @@ class CfnEventBus(
4011
4295
  description: typing.Optional[builtins.str] = None,
4012
4296
  event_source_name: typing.Optional[builtins.str] = None,
4013
4297
  kms_key_identifier: typing.Optional[builtins.str] = None,
4298
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEventBus.LogConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4014
4299
  policy: typing.Any = None,
4015
4300
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4016
4301
  ) -> None:
4017
- '''
4302
+ '''Create a new ``AWS::Events::EventBus``.
4303
+
4018
4304
  :param scope: Scope in which this resource is defined.
4019
4305
  :param id: Construct identifier for this resource (unique in its scope).
4020
4306
  :param name: The name of the new event bus. Custom event bus names can't contain the ``/`` character, but you can use the ``/`` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to. You can't use the name ``default`` for a custom event bus, as this name is already used for your account's default event bus.
@@ -4022,6 +4308,7 @@ class CfnEventBus(
4022
4308
  :param description: The event bus description.
4023
4309
  :param event_source_name: If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.
4024
4310
  :param kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. If you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus. For more information, see `Identify and view keys <https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html>`_ in the *AWS Key Management Service Developer Guide* . .. epigraph:: Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if: - You call ``[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)`` on an event bus set to use a customer managed key for encryption. - You call ``[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)`` to set a customer managed key on an event bus with schema discovery enabled. To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see `Encrypting events <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html>`_ in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well. For more information, see `Encrypting archives <https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html>`_ in the *Amazon EventBridge User Guide* .
4311
+ :param log_config: The logging configuration settings for the event bus. For more information, see `Configuring logs for event buses <https://docs.aws.amazon.com/eb-event-bus-logs.html>`_ in the *EventBridge User Guide* .
4025
4312
  :param policy: The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
4026
4313
  :param tags: Tags to associate with the event bus.
4027
4314
  '''
@@ -4035,12 +4322,55 @@ class CfnEventBus(
4035
4322
  description=description,
4036
4323
  event_source_name=event_source_name,
4037
4324
  kms_key_identifier=kms_key_identifier,
4325
+ log_config=log_config,
4038
4326
  policy=policy,
4039
4327
  tags=tags,
4040
4328
  )
4041
4329
 
4042
4330
  jsii.create(self.__class__, self, [scope, id, props])
4043
4331
 
4332
+ @jsii.member(jsii_name="fromEventBusArn")
4333
+ @builtins.classmethod
4334
+ def from_event_bus_arn(
4335
+ cls,
4336
+ scope: _constructs_77d1e7e8.Construct,
4337
+ id: builtins.str,
4338
+ arn: builtins.str,
4339
+ ) -> _IEventBusRef_aa86e9b4:
4340
+ '''Creates a new IEventBusRef from an ARN.
4341
+
4342
+ :param scope: -
4343
+ :param id: -
4344
+ :param arn: -
4345
+ '''
4346
+ if __debug__:
4347
+ type_hints = typing.get_type_hints(_typecheckingstub__52da9c5fdac4b9a20af016bb86d96bb717169d7d2f8789450b948f3ae2849d73)
4348
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4349
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4350
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
4351
+ return typing.cast(_IEventBusRef_aa86e9b4, jsii.sinvoke(cls, "fromEventBusArn", [scope, id, arn]))
4352
+
4353
+ @jsii.member(jsii_name="fromEventBusName")
4354
+ @builtins.classmethod
4355
+ def from_event_bus_name(
4356
+ cls,
4357
+ scope: _constructs_77d1e7e8.Construct,
4358
+ id: builtins.str,
4359
+ event_bus_name: builtins.str,
4360
+ ) -> _IEventBusRef_aa86e9b4:
4361
+ '''Creates a new IEventBusRef from a eventBusName.
4362
+
4363
+ :param scope: -
4364
+ :param id: -
4365
+ :param event_bus_name: -
4366
+ '''
4367
+ if __debug__:
4368
+ type_hints = typing.get_type_hints(_typecheckingstub__c06912850ab4232d75f46bf4e7fc5fb53350cab9f80c585bec5b376767c64960)
4369
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4370
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4371
+ check_type(argname="argument event_bus_name", value=event_bus_name, expected_type=type_hints["event_bus_name"])
4372
+ return typing.cast(_IEventBusRef_aa86e9b4, jsii.sinvoke(cls, "fromEventBusName", [scope, id, event_bus_name]))
4373
+
4044
4374
  @jsii.member(jsii_name="inspect")
4045
4375
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4046
4376
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4108,6 +4438,12 @@ class CfnEventBus(
4108
4438
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4109
4439
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4110
4440
 
4441
+ @builtins.property
4442
+ @jsii.member(jsii_name="eventBusRef")
4443
+ def event_bus_ref(self) -> _EventBusReference_f9e830e1:
4444
+ '''A reference to a EventBus resource.'''
4445
+ return typing.cast(_EventBusReference_f9e830e1, jsii.get(self, "eventBusRef"))
4446
+
4111
4447
  @builtins.property
4112
4448
  @jsii.member(jsii_name="name")
4113
4449
  def name(self) -> builtins.str:
@@ -4178,6 +4514,24 @@ class CfnEventBus(
4178
4514
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4179
4515
  jsii.set(self, "kmsKeyIdentifier", value) # pyright: ignore[reportArgumentType]
4180
4516
 
4517
+ @builtins.property
4518
+ @jsii.member(jsii_name="logConfig")
4519
+ def log_config(
4520
+ self,
4521
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBus.LogConfigProperty"]]:
4522
+ '''The logging configuration settings for the event bus.'''
4523
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBus.LogConfigProperty"]], jsii.get(self, "logConfig"))
4524
+
4525
+ @log_config.setter
4526
+ def log_config(
4527
+ self,
4528
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBus.LogConfigProperty"]],
4529
+ ) -> None:
4530
+ if __debug__:
4531
+ type_hints = typing.get_type_hints(_typecheckingstub__51db51bf8f1ebc8d9c19cdf02644ddeaaef6bd2b5c86607383cd85b5fa2030c1)
4532
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4533
+ jsii.set(self, "logConfig", value) # pyright: ignore[reportArgumentType]
4534
+
4181
4535
  @builtins.property
4182
4536
  @jsii.member(jsii_name="policy")
4183
4537
  def policy(self) -> typing.Any:
@@ -4257,8 +4611,86 @@ class CfnEventBus(
4257
4611
  k + "=" + repr(v) for k, v in self._values.items()
4258
4612
  )
4259
4613
 
4614
+ @jsii.data_type(
4615
+ jsii_type="aws-cdk-lib.aws_events.CfnEventBus.LogConfigProperty",
4616
+ jsii_struct_bases=[],
4617
+ name_mapping={"include_detail": "includeDetail", "level": "level"},
4618
+ )
4619
+ class LogConfigProperty:
4620
+ def __init__(
4621
+ self,
4622
+ *,
4623
+ include_detail: typing.Optional[builtins.str] = None,
4624
+ level: typing.Optional[builtins.str] = None,
4625
+ ) -> None:
4626
+ '''The logging configuration settings for the event bus.
4627
+
4628
+ For more information, see `Configuring logs for event buses <https://docs.aws.amazon.com/eb-event-bus-logs.html>`_ in the *EventBridge User Guide* .
4629
+
4630
+ :param include_detail: Whether EventBridge include detailed event information in the records it generates. Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details. For more information, see `Including detail data in event bus logs <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data>`_ in the *EventBridge User Guide* .
4631
+ :param level: The level of logging detail to include. This applies to all log destinations for the event bus. For more information, see `Specifying event bus log level <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level>`_ in the *EventBridge User Guide* .
4632
+
4633
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-logconfig.html
4634
+ :exampleMetadata: fixture=_generated
4635
+
4636
+ Example::
4637
+
4638
+ # The code below shows an example of how to instantiate this type.
4639
+ # The values are placeholders you should change.
4640
+ from aws_cdk import aws_events as events
4641
+
4642
+ log_config_property = events.CfnEventBus.LogConfigProperty(
4643
+ include_detail="includeDetail",
4644
+ level="level"
4645
+ )
4646
+ '''
4647
+ if __debug__:
4648
+ type_hints = typing.get_type_hints(_typecheckingstub__325c97a9fc2ec199dfb4fb51645bc16dde3cf1f257d1bcf5c86f7cd3a0b2d77c)
4649
+ check_type(argname="argument include_detail", value=include_detail, expected_type=type_hints["include_detail"])
4650
+ check_type(argname="argument level", value=level, expected_type=type_hints["level"])
4651
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4652
+ if include_detail is not None:
4653
+ self._values["include_detail"] = include_detail
4654
+ if level is not None:
4655
+ self._values["level"] = level
4656
+
4657
+ @builtins.property
4658
+ def include_detail(self) -> typing.Optional[builtins.str]:
4659
+ '''Whether EventBridge include detailed event information in the records it generates.
4660
+
4661
+ Detailed data can be useful for troubleshooting and debugging. This information includes details of the event itself, as well as target details.
4662
+
4663
+ For more information, see `Including detail data in event bus logs <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-logs-data>`_ in the *EventBridge User Guide* .
4664
+
4665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-logconfig.html#cfn-events-eventbus-logconfig-includedetail
4666
+ '''
4667
+ result = self._values.get("include_detail")
4668
+ return typing.cast(typing.Optional[builtins.str], result)
4669
+
4670
+ @builtins.property
4671
+ def level(self) -> typing.Optional[builtins.str]:
4672
+ '''The level of logging detail to include. This applies to all log destinations for the event bus.
4673
+
4674
+ For more information, see `Specifying event bus log level <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html#eb-event-bus-logs-level>`_ in the *EventBridge User Guide* .
4675
+
4676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-logconfig.html#cfn-events-eventbus-logconfig-level
4677
+ '''
4678
+ result = self._values.get("level")
4679
+ return typing.cast(typing.Optional[builtins.str], result)
4680
+
4681
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4682
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4683
+
4684
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4685
+ return not (rhs == self)
4686
+
4687
+ def __repr__(self) -> str:
4688
+ return "LogConfigProperty(%s)" % ", ".join(
4689
+ k + "=" + repr(v) for k, v in self._values.items()
4690
+ )
4691
+
4260
4692
 
4261
- @jsii.implements(_IInspectable_c2943556)
4693
+ @jsii.implements(_IInspectable_c2943556, _IEventBusPolicyRef_308d5d57)
4262
4694
  class CfnEventBusPolicy(
4263
4695
  _CfnResource_9df397a6,
4264
4696
  metaclass=jsii.JSIIMeta,
@@ -4316,14 +4748,15 @@ class CfnEventBusPolicy(
4316
4748
  principal: typing.Optional[builtins.str] = None,
4317
4749
  statement: typing.Any = None,
4318
4750
  ) -> None:
4319
- '''
4751
+ '''Create a new ``AWS::Events::EventBusPolicy``.
4752
+
4320
4753
  :param scope: Scope in which this resource is defined.
4321
4754
  :param id: Construct identifier for this resource (unique in its scope).
4322
4755
  :param statement_id: An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this ``StatementId`` when you run `RemovePermission <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html>`_ . .. epigraph:: Each ``StatementId`` must be unique.
4323
- :param action: The action that you are enabling the other account to perform.
4324
- :param condition: This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see `What Is AWS Organizations <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html>`_ in the *AWS Organizations User Guide* . If you specify ``Condition`` with an AWS organization ID, and specify "*" as the value for ``Principal`` , you grant permission to all the accounts in the named organization. The ``Condition`` is a JSON string which must contain ``Type`` , ``Key`` , and ``Value`` fields.
4756
+ :param action: (deprecated) The action that you are enabling the other account to perform.
4757
+ :param condition: (deprecated) This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4325
4758
  :param event_bus_name: The name of the event bus associated with the rule. If you omit this, the default event bus is used.
4326
- :param principal: The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus. If you specify "*" without specifying ``Condition`` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an ``account`` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.
4759
+ :param principal: (deprecated) The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus.
4327
4760
  :param statement: A JSON string that describes the permission policy statement. You can include a ``Policy`` parameter in the request instead of using the ``StatementId`` , ``Action`` , ``Principal`` , or ``Condition`` parameters.
4328
4761
  '''
4329
4762
  if __debug__:
@@ -4371,19 +4804,17 @@ class CfnEventBusPolicy(
4371
4804
  '''The CloudFormation resource type name for this resource class.'''
4372
4805
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4373
4806
 
4374
- @builtins.property
4375
- @jsii.member(jsii_name="attrId")
4376
- def attr_id(self) -> builtins.str:
4377
- '''
4378
- :cloudformationAttribute: Id
4379
- '''
4380
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
4381
-
4382
4807
  @builtins.property
4383
4808
  @jsii.member(jsii_name="cfnProperties")
4384
4809
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4385
4810
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4386
4811
 
4812
+ @builtins.property
4813
+ @jsii.member(jsii_name="eventBusPolicyRef")
4814
+ def event_bus_policy_ref(self) -> _EventBusPolicyReference_9bb2c85f:
4815
+ '''A reference to a EventBusPolicy resource.'''
4816
+ return typing.cast(_EventBusPolicyReference_9bb2c85f, jsii.get(self, "eventBusPolicyRef"))
4817
+
4387
4818
  @builtins.property
4388
4819
  @jsii.member(jsii_name="statementId")
4389
4820
  def statement_id(self) -> builtins.str:
@@ -4400,7 +4831,12 @@ class CfnEventBusPolicy(
4400
4831
  @builtins.property
4401
4832
  @jsii.member(jsii_name="action")
4402
4833
  def action(self) -> typing.Optional[builtins.str]:
4403
- '''The action that you are enabling the other account to perform.'''
4834
+ '''(deprecated) The action that you are enabling the other account to perform.
4835
+
4836
+ :deprecated: this property has been deprecated
4837
+
4838
+ :stability: deprecated
4839
+ '''
4404
4840
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "action"))
4405
4841
 
4406
4842
  @action.setter
@@ -4415,7 +4851,12 @@ class CfnEventBusPolicy(
4415
4851
  def condition(
4416
4852
  self,
4417
4853
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBusPolicy.ConditionProperty"]]:
4418
- '''This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.'''
4854
+ '''(deprecated) This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4855
+
4856
+ :deprecated: this property has been deprecated
4857
+
4858
+ :stability: deprecated
4859
+ '''
4419
4860
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBusPolicy.ConditionProperty"]], jsii.get(self, "condition"))
4420
4861
 
4421
4862
  @condition.setter
@@ -4444,7 +4885,12 @@ class CfnEventBusPolicy(
4444
4885
  @builtins.property
4445
4886
  @jsii.member(jsii_name="principal")
4446
4887
  def principal(self) -> typing.Optional[builtins.str]:
4447
- '''The 12-digit AWS account ID that you are permitting to put events to your default event bus.'''
4888
+ '''(deprecated) The 12-digit AWS account ID that you are permitting to put events to your default event bus.
4889
+
4890
+ :deprecated: this property has been deprecated
4891
+
4892
+ :stability: deprecated
4893
+ '''
4448
4894
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "principal"))
4449
4895
 
4450
4896
  @principal.setter
@@ -4480,15 +4926,11 @@ class CfnEventBusPolicy(
4480
4926
  type: typing.Optional[builtins.str] = None,
4481
4927
  value: typing.Optional[builtins.str] = None,
4482
4928
  ) -> None:
4483
- '''A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition.
4484
-
4485
- Currently, the only supported condition is membership in a certain AWS organization. The string must contain ``Type`` , ``Key`` , and ``Value`` fields. The ``Value`` field specifies the ID of the AWS organization. Following is an example value for ``Condition`` :
4486
-
4487
- ``'{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890"}'``
4929
+ '''This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4488
4930
 
4489
- :param key: Specifies the key for the condition. Currently the only supported key is ``aws:PrincipalOrgID`` .
4490
- :param type: Specifies the type of condition. Currently the only supported value is ``StringEquals`` .
4491
- :param value: Specifies the value for the key. Currently, this must be the ID of the organization.
4931
+ :param key: Specifies the value for the key. Currently, this must be the ID of the organization.
4932
+ :param type: Specifies the type of condition. Currently the only supported value is StringEquals.
4933
+ :param value: Specifies the key for the condition. Currently the only supported key is aws:PrincipalOrgID.
4492
4934
 
4493
4935
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html
4494
4936
  :exampleMetadata: fixture=_generated
@@ -4520,9 +4962,9 @@ class CfnEventBusPolicy(
4520
4962
 
4521
4963
  @builtins.property
4522
4964
  def key(self) -> typing.Optional[builtins.str]:
4523
- '''Specifies the key for the condition.
4965
+ '''Specifies the value for the key.
4524
4966
 
4525
- Currently the only supported key is ``aws:PrincipalOrgID`` .
4967
+ Currently, this must be the ID of the organization.
4526
4968
 
4527
4969
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key
4528
4970
  '''
@@ -4533,7 +4975,7 @@ class CfnEventBusPolicy(
4533
4975
  def type(self) -> typing.Optional[builtins.str]:
4534
4976
  '''Specifies the type of condition.
4535
4977
 
4536
- Currently the only supported value is ``StringEquals`` .
4978
+ Currently the only supported value is StringEquals.
4537
4979
 
4538
4980
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type
4539
4981
  '''
@@ -4542,9 +4984,9 @@ class CfnEventBusPolicy(
4542
4984
 
4543
4985
  @builtins.property
4544
4986
  def value(self) -> typing.Optional[builtins.str]:
4545
- '''Specifies the value for the key.
4987
+ '''Specifies the key for the condition.
4546
4988
 
4547
- Currently, this must be the ID of the organization.
4989
+ Currently the only supported key is aws:PrincipalOrgID.
4548
4990
 
4549
4991
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value
4550
4992
  '''
@@ -4589,10 +5031,10 @@ class CfnEventBusPolicyProps:
4589
5031
  '''Properties for defining a ``CfnEventBusPolicy``.
4590
5032
 
4591
5033
  :param statement_id: An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this ``StatementId`` when you run `RemovePermission <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html>`_ . .. epigraph:: Each ``StatementId`` must be unique.
4592
- :param action: The action that you are enabling the other account to perform.
4593
- :param condition: This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see `What Is AWS Organizations <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html>`_ in the *AWS Organizations User Guide* . If you specify ``Condition`` with an AWS organization ID, and specify "*" as the value for ``Principal`` , you grant permission to all the accounts in the named organization. The ``Condition`` is a JSON string which must contain ``Type`` , ``Key`` , and ``Value`` fields.
5034
+ :param action: (deprecated) The action that you are enabling the other account to perform.
5035
+ :param condition: (deprecated) This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4594
5036
  :param event_bus_name: The name of the event bus associated with the rule. If you omit this, the default event bus is used.
4595
- :param principal: The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus. If you specify "*" without specifying ``Condition`` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an ``account`` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.
5037
+ :param principal: (deprecated) The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus.
4596
5038
  :param statement: A JSON string that describes the permission policy statement. You can include a ``Policy`` parameter in the request instead of using the ``StatementId`` , ``Action`` , ``Principal`` , or ``Condition`` parameters.
4597
5039
 
4598
5040
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
@@ -4660,9 +5102,12 @@ class CfnEventBusPolicyProps:
4660
5102
 
4661
5103
  @builtins.property
4662
5104
  def action(self) -> typing.Optional[builtins.str]:
4663
- '''The action that you are enabling the other account to perform.
5105
+ '''(deprecated) The action that you are enabling the other account to perform.
5106
+
5107
+ :deprecated: this property has been deprecated
4664
5108
 
4665
5109
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
5110
+ :stability: deprecated
4666
5111
  '''
4667
5112
  result = self._values.get("action")
4668
5113
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4671,15 +5116,12 @@ class CfnEventBusPolicyProps:
4671
5116
  def condition(
4672
5117
  self,
4673
5118
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBusPolicy.ConditionProperty]]:
4674
- '''This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4675
-
4676
- For more information about AWS Organizations, see `What Is AWS Organizations <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html>`_ in the *AWS Organizations User Guide* .
5119
+ '''(deprecated) This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization.
4677
5120
 
4678
- If you specify ``Condition`` with an AWS organization ID, and specify "*" as the value for ``Principal`` , you grant permission to all the accounts in the named organization.
4679
-
4680
- The ``Condition`` is a JSON string which must contain ``Type`` , ``Key`` , and ``Value`` fields.
5121
+ :deprecated: this property has been deprecated
4681
5122
 
4682
5123
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
5124
+ :stability: deprecated
4683
5125
  '''
4684
5126
  result = self._values.get("condition")
4685
5127
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBusPolicy.ConditionProperty]], result)
@@ -4697,13 +5139,14 @@ class CfnEventBusPolicyProps:
4697
5139
 
4698
5140
  @builtins.property
4699
5141
  def principal(self) -> typing.Optional[builtins.str]:
4700
- '''The 12-digit AWS account ID that you are permitting to put events to your default event bus.
5142
+ '''(deprecated) The 12-digit AWS account ID that you are permitting to put events to your default event bus.
4701
5143
 
4702
5144
  Specify "*" to permit any account to put events to your default event bus.
4703
5145
 
4704
- If you specify "*" without specifying ``Condition`` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an ``account`` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.
5146
+ :deprecated: this property has been deprecated
4705
5147
 
4706
5148
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
5149
+ :stability: deprecated
4707
5150
  '''
4708
5151
  result = self._values.get("principal")
4709
5152
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4740,6 +5183,7 @@ class CfnEventBusPolicyProps:
4740
5183
  "description": "description",
4741
5184
  "event_source_name": "eventSourceName",
4742
5185
  "kms_key_identifier": "kmsKeyIdentifier",
5186
+ "log_config": "logConfig",
4743
5187
  "policy": "policy",
4744
5188
  "tags": "tags",
4745
5189
  },
@@ -4753,6 +5197,7 @@ class CfnEventBusProps:
4753
5197
  description: typing.Optional[builtins.str] = None,
4754
5198
  event_source_name: typing.Optional[builtins.str] = None,
4755
5199
  kms_key_identifier: typing.Optional[builtins.str] = None,
5200
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventBus.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4756
5201
  policy: typing.Any = None,
4757
5202
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4758
5203
  ) -> None:
@@ -4763,6 +5208,7 @@ class CfnEventBusProps:
4763
5208
  :param description: The event bus description.
4764
5209
  :param event_source_name: If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.
4765
5210
  :param kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. If you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt events on the event bus. For more information, see `Identify and view keys <https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html>`_ in the *AWS Key Management Service Developer Guide* . .. epigraph:: Schema discovery is not supported for event buses encrypted using a customer managed key. EventBridge returns an error if: - You call ``[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)`` on an event bus set to use a customer managed key for encryption. - You call ``[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)`` to set a customer managed key on an event bus with schema discovery enabled. To enable schema discovery on an event bus, choose to use an AWS owned key . For more information, see `Encrypting events <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption-event-bus-cmkey.html>`_ in the *Amazon EventBridge User Guide* . > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well. For more information, see `Encrypting archives <https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html>`_ in the *Amazon EventBridge User Guide* .
5211
+ :param log_config: The logging configuration settings for the event bus. For more information, see `Configuring logs for event buses <https://docs.aws.amazon.com/eb-event-bus-logs.html>`_ in the *EventBridge User Guide* .
4766
5212
  :param policy: The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
4767
5213
  :param tags: Tags to associate with the event bus.
4768
5214
 
@@ -4787,6 +5233,10 @@ class CfnEventBusProps:
4787
5233
  description="description",
4788
5234
  event_source_name="eventSourceName",
4789
5235
  kms_key_identifier="kmsKeyIdentifier",
5236
+ log_config=events.CfnEventBus.LogConfigProperty(
5237
+ include_detail="includeDetail",
5238
+ level="level"
5239
+ ),
4790
5240
  policy=policy,
4791
5241
  tags=[CfnTag(
4792
5242
  key="key",
@@ -4801,6 +5251,7 @@ class CfnEventBusProps:
4801
5251
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
4802
5252
  check_type(argname="argument event_source_name", value=event_source_name, expected_type=type_hints["event_source_name"])
4803
5253
  check_type(argname="argument kms_key_identifier", value=kms_key_identifier, expected_type=type_hints["kms_key_identifier"])
5254
+ check_type(argname="argument log_config", value=log_config, expected_type=type_hints["log_config"])
4804
5255
  check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
4805
5256
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4806
5257
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -4814,6 +5265,8 @@ class CfnEventBusProps:
4814
5265
  self._values["event_source_name"] = event_source_name
4815
5266
  if kms_key_identifier is not None:
4816
5267
  self._values["kms_key_identifier"] = kms_key_identifier
5268
+ if log_config is not None:
5269
+ self._values["log_config"] = log_config
4817
5270
  if policy is not None:
4818
5271
  self._values["policy"] = policy
4819
5272
  if tags is not None:
@@ -4889,6 +5342,19 @@ class CfnEventBusProps:
4889
5342
  result = self._values.get("kms_key_identifier")
4890
5343
  return typing.cast(typing.Optional[builtins.str], result)
4891
5344
 
5345
+ @builtins.property
5346
+ def log_config(
5347
+ self,
5348
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBus.LogConfigProperty]]:
5349
+ '''The logging configuration settings for the event bus.
5350
+
5351
+ For more information, see `Configuring logs for event buses <https://docs.aws.amazon.com/eb-event-bus-logs.html>`_ in the *EventBridge User Guide* .
5352
+
5353
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-logconfig
5354
+ '''
5355
+ result = self._values.get("log_config")
5356
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBus.LogConfigProperty]], result)
5357
+
4892
5358
  @builtins.property
4893
5359
  def policy(self) -> typing.Any:
4894
5360
  '''The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
@@ -4919,7 +5385,7 @@ class CfnEventBusProps:
4919
5385
  )
4920
5386
 
4921
5387
 
4922
- @jsii.implements(_IInspectable_c2943556)
5388
+ @jsii.implements(_IInspectable_c2943556, _IRuleRef_4038a611, _ITaggableV2_4e6798f8)
4923
5389
  class CfnRule(
4924
5390
  _CfnResource_9df397a6,
4925
5391
  metaclass=jsii.JSIIMeta,
@@ -4968,6 +5434,10 @@ class CfnRule(
4968
5434
  role_arn="roleArn",
4969
5435
  schedule_expression="scheduleExpression",
4970
5436
  state="state",
5437
+ tags=[CfnTag(
5438
+ key="key",
5439
+ value="value"
5440
+ )],
4971
5441
  targets=[events.CfnRule.TargetProperty(
4972
5442
  arn="arn",
4973
5443
  id="id",
@@ -5101,9 +5571,11 @@ class CfnRule(
5101
5571
  role_arn: typing.Optional[builtins.str] = None,
5102
5572
  schedule_expression: typing.Optional[builtins.str] = None,
5103
5573
  state: typing.Optional[builtins.str] = None,
5574
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5104
5575
  targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRule.TargetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5105
5576
  ) -> None:
5106
- '''
5577
+ '''Create a new ``AWS::Events::Rule``.
5578
+
5107
5579
  :param scope: Scope in which this resource is defined.
5108
5580
  :param id: Construct identifier for this resource (unique in its scope).
5109
5581
  :param description: The description of the rule.
@@ -5113,6 +5585,7 @@ class CfnRule(
5113
5585
  :param role_arn: The Amazon Resource Name (ARN) of the role that is used for target invocation. If you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a ``RoleArn`` with proper permissions in the ``Target`` structure, instead of here in this parameter.
5114
5586
  :param schedule_expression: The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see `Creating an Amazon EventBridge rule that runs on a schedule <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html>`_ .
5115
5587
  :param state: The state of the rule. Valid values include: - ``DISABLED`` : The rule is disabled. EventBridge does not match any events against the rule. - ``ENABLED`` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail. - ``ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`` : The rule is enabled for all events, including AWS management events delivered through CloudTrail. Management events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see `Logging management events <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events>`_ in the *CloudTrail User Guide* , and `Filtering management events from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail>`_ in the **Amazon EventBridge User Guide** . This value is only valid for rules on the `default <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses>`_ event bus or `custom event buses <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html>`_ . It does not apply to `partner event buses <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html>`_ .
5588
+ :param tags: Any tags assigned to the event rule.
5116
5589
  :param targets: Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule. Targets are the resources that are invoked when a rule is triggered. The maximum number of entries per request is 10. .. epigraph:: Each rule can have up to five (5) targets associated with it at one time. For a list of services you can configure as targets for events, see `EventBridge targets <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html>`_ in the **Amazon EventBridge User Guide** . Creating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are: - ``Amazon EBS CreateSnapshot API call`` - ``Amazon EC2 RebootInstances API call`` - ``Amazon EC2 StopInstances API call`` - ``Amazon EC2 TerminateInstances API call`` For some target types, ``PutTargets`` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the ``KinesisParameters`` argument. To invoke a command on multiple EC2 instances with one rule, you can use the ``RunCommandParameters`` field. To be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions: - For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. - For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the ``RoleARN`` argument in ``PutTargets`` . For more information, see `Authentication and Access Control <https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html>`_ in the **Amazon EventBridge User Guide** . If another AWS account is in the same region and has granted you permission (using ``PutPermission`` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the ``Arn`` value when you run ``PutTargets`` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see `Amazon EventBridge Pricing <https://docs.aws.amazon.com/eventbridge/pricing/>`_ . .. epigraph:: ``Input`` , ``InputPath`` , and ``InputTransformer`` are not available with ``PutTarget`` if the target is an event bus of a different AWS account. If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a ``RoleArn`` with proper permissions in the ``Target`` structure. For more information, see `Sending and Receiving Events Between AWS Accounts <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html>`_ in the *Amazon EventBridge User Guide* . .. epigraph:: If you have an IAM role on a cross-account event bus target, a ``PutTargets`` call without a role on the same target (same ``Id`` and ``Arn`` ) will not remove the role. For more information about enabling cross-account events, see `PutPermission <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html>`_ . *Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event: - If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). - If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant. - If *InputPath* is specified in the form of JSONPath (for example, ``$.detail`` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). - If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify ``InputPath`` or ``InputTransformer`` , you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, ``FailedEntryCount`` is non-zero in the response and each entry in ``FailedEntries`` provides the ID of the failed target and the error code.
5117
5590
  '''
5118
5591
  if __debug__:
@@ -5127,6 +5600,7 @@ class CfnRule(
5127
5600
  role_arn=role_arn,
5128
5601
  schedule_expression=schedule_expression,
5129
5602
  state=state,
5603
+ tags=tags,
5130
5604
  targets=targets,
5131
5605
  )
5132
5606
 
@@ -5171,11 +5645,23 @@ class CfnRule(
5171
5645
  '''
5172
5646
  return typing.cast(builtins.str, jsii.get(self, "attrArn"))
5173
5647
 
5648
+ @builtins.property
5649
+ @jsii.member(jsii_name="cdkTagManager")
5650
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
5651
+ '''Tag Manager which manages the tags for this resource.'''
5652
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
5653
+
5174
5654
  @builtins.property
5175
5655
  @jsii.member(jsii_name="cfnProperties")
5176
5656
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5177
5657
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5178
5658
 
5659
+ @builtins.property
5660
+ @jsii.member(jsii_name="ruleRef")
5661
+ def rule_ref(self) -> _RuleReference_38eeaae2:
5662
+ '''A reference to a Rule resource.'''
5663
+ return typing.cast(_RuleReference_38eeaae2, jsii.get(self, "ruleRef"))
5664
+
5179
5665
  @builtins.property
5180
5666
  @jsii.member(jsii_name="description")
5181
5667
  def description(self) -> typing.Optional[builtins.str]:
@@ -5267,6 +5753,19 @@ class CfnRule(
5267
5753
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5268
5754
  jsii.set(self, "state", value) # pyright: ignore[reportArgumentType]
5269
5755
 
5756
+ @builtins.property
5757
+ @jsii.member(jsii_name="tags")
5758
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5759
+ '''Any tags assigned to the event rule.'''
5760
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
5761
+
5762
+ @tags.setter
5763
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
5764
+ if __debug__:
5765
+ type_hints = typing.get_type_hints(_typecheckingstub__4daedf0bf9c9ce5671a843d87568d852259b36183898da9f395d6fb1b1a1e974)
5766
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5767
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
5768
+
5270
5769
  @builtins.property
5271
5770
  @jsii.member(jsii_name="targets")
5272
5771
  def targets(
@@ -7167,9 +7666,9 @@ class CfnRule(
7167
7666
  )
7168
7667
  class SqsParametersProperty:
7169
7668
  def __init__(self, *, message_group_id: builtins.str) -> None:
7170
- '''This structure includes the custom parameter to be used when the target is an SQS FIFO queue.
7669
+ '''The custom parameters for EventBridge to use for a target that is an Amazon SQS fair or FIFO queue.
7171
7670
 
7172
- :param message_group_id: The FIFO message group ID to use as the target.
7671
+ :param message_group_id: The ID of the message group to use as the target.
7173
7672
 
7174
7673
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html
7175
7674
  :exampleMetadata: fixture=_generated
@@ -7193,7 +7692,7 @@ class CfnRule(
7193
7692
 
7194
7693
  @builtins.property
7195
7694
  def message_group_id(self) -> builtins.str:
7196
- '''The FIFO message group ID to use as the target.
7695
+ '''The ID of the message group to use as the target.
7197
7696
 
7198
7697
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid
7199
7698
  '''
@@ -7356,7 +7855,7 @@ class CfnRule(
7356
7855
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.
7357
7856
  :param run_command_parameters: Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
7358
7857
  :param sage_maker_pipeline_parameters: Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline. If you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.
7359
- :param sqs_parameters: Contains the message group ID to use when the target is a FIFO queue. If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.
7858
+ :param sqs_parameters: Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue. If you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.
7360
7859
 
7361
7860
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
7362
7861
  :exampleMetadata: fixture=_generated
@@ -7734,9 +8233,9 @@ class CfnRule(
7734
8233
  def sqs_parameters(
7735
8234
  self,
7736
8235
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRule.SqsParametersProperty"]]:
7737
- '''Contains the message group ID to use when the target is a FIFO queue.
8236
+ '''Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.
7738
8237
 
7739
- If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.
8238
+ If you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.
7740
8239
 
7741
8240
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters
7742
8241
  '''
@@ -7766,6 +8265,7 @@ class CfnRule(
7766
8265
  "role_arn": "roleArn",
7767
8266
  "schedule_expression": "scheduleExpression",
7768
8267
  "state": "state",
8268
+ "tags": "tags",
7769
8269
  "targets": "targets",
7770
8270
  },
7771
8271
  )
@@ -7780,6 +8280,7 @@ class CfnRuleProps:
7780
8280
  role_arn: typing.Optional[builtins.str] = None,
7781
8281
  schedule_expression: typing.Optional[builtins.str] = None,
7782
8282
  state: typing.Optional[builtins.str] = None,
8283
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7783
8284
  targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRule.TargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7784
8285
  ) -> None:
7785
8286
  '''Properties for defining a ``CfnRule``.
@@ -7791,6 +8292,7 @@ class CfnRuleProps:
7791
8292
  :param role_arn: The Amazon Resource Name (ARN) of the role that is used for target invocation. If you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a ``RoleArn`` with proper permissions in the ``Target`` structure, instead of here in this parameter.
7792
8293
  :param schedule_expression: The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see `Creating an Amazon EventBridge rule that runs on a schedule <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html>`_ .
7793
8294
  :param state: The state of the rule. Valid values include: - ``DISABLED`` : The rule is disabled. EventBridge does not match any events against the rule. - ``ENABLED`` : The rule is enabled. EventBridge matches events against the rule, *except* for AWS management events delivered through CloudTrail. - ``ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`` : The rule is enabled for all events, including AWS management events delivered through CloudTrail. Management events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see `Logging management events <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events>`_ in the *CloudTrail User Guide* , and `Filtering management events from AWS services <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail>`_ in the **Amazon EventBridge User Guide** . This value is only valid for rules on the `default <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses>`_ event bus or `custom event buses <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html>`_ . It does not apply to `partner event buses <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html>`_ .
8295
+ :param tags: Any tags assigned to the event rule.
7794
8296
  :param targets: Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule. Targets are the resources that are invoked when a rule is triggered. The maximum number of entries per request is 10. .. epigraph:: Each rule can have up to five (5) targets associated with it at one time. For a list of services you can configure as targets for events, see `EventBridge targets <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html>`_ in the **Amazon EventBridge User Guide** . Creating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are: - ``Amazon EBS CreateSnapshot API call`` - ``Amazon EC2 RebootInstances API call`` - ``Amazon EC2 StopInstances API call`` - ``Amazon EC2 TerminateInstances API call`` For some target types, ``PutTargets`` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the ``KinesisParameters`` argument. To invoke a command on multiple EC2 instances with one rule, you can use the ``RunCommandParameters`` field. To be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions: - For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. - For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the ``RoleARN`` argument in ``PutTargets`` . For more information, see `Authentication and Access Control <https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html>`_ in the **Amazon EventBridge User Guide** . If another AWS account is in the same region and has granted you permission (using ``PutPermission`` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the ``Arn`` value when you run ``PutTargets`` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see `Amazon EventBridge Pricing <https://docs.aws.amazon.com/eventbridge/pricing/>`_ . .. epigraph:: ``Input`` , ``InputPath`` , and ``InputTransformer`` are not available with ``PutTarget`` if the target is an event bus of a different AWS account. If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a ``RoleArn`` with proper permissions in the ``Target`` structure. For more information, see `Sending and Receiving Events Between AWS Accounts <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html>`_ in the *Amazon EventBridge User Guide* . .. epigraph:: If you have an IAM role on a cross-account event bus target, a ``PutTargets`` call without a role on the same target (same ``Id`` and ``Arn`` ) will not remove the role. For more information about enabling cross-account events, see `PutPermission <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html>`_ . *Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event: - If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). - If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant. - If *InputPath* is specified in the form of JSONPath (for example, ``$.detail`` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). - If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify ``InputPath`` or ``InputTransformer`` , you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, ``FailedEntryCount`` is non-zero in the response and each entry in ``FailedEntries`` provides the ID of the failed target and the error code.
7795
8297
 
7796
8298
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
@@ -7812,6 +8314,10 @@ class CfnRuleProps:
7812
8314
  role_arn="roleArn",
7813
8315
  schedule_expression="scheduleExpression",
7814
8316
  state="state",
8317
+ tags=[CfnTag(
8318
+ key="key",
8319
+ value="value"
8320
+ )],
7815
8321
  targets=[events.CfnRule.TargetProperty(
7816
8322
  arn="arn",
7817
8323
  id="id",
@@ -7941,6 +8447,7 @@ class CfnRuleProps:
7941
8447
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
7942
8448
  check_type(argname="argument schedule_expression", value=schedule_expression, expected_type=type_hints["schedule_expression"])
7943
8449
  check_type(argname="argument state", value=state, expected_type=type_hints["state"])
8450
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7944
8451
  check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
7945
8452
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7946
8453
  if description is not None:
@@ -7957,6 +8464,8 @@ class CfnRuleProps:
7957
8464
  self._values["schedule_expression"] = schedule_expression
7958
8465
  if state is not None:
7959
8466
  self._values["state"] = state
8467
+ if tags is not None:
8468
+ self._values["tags"] = tags
7960
8469
  if targets is not None:
7961
8470
  self._values["targets"] = targets
7962
8471
 
@@ -8041,6 +8550,15 @@ class CfnRuleProps:
8041
8550
  result = self._values.get("state")
8042
8551
  return typing.cast(typing.Optional[builtins.str], result)
8043
8552
 
8553
+ @builtins.property
8554
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8555
+ '''Any tags assigned to the event rule.
8556
+
8557
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-tags
8558
+ '''
8559
+ result = self._values.get("tags")
8560
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8561
+
8044
8562
  @builtins.property
8045
8563
  def targets(
8046
8564
  self,
@@ -8753,6 +9271,7 @@ class EventBusPolicyProps:
8753
9271
  "event_bus_name": "eventBusName",
8754
9272
  "event_source_name": "eventSourceName",
8755
9273
  "kms_key": "kmsKey",
9274
+ "log_config": "logConfig",
8756
9275
  },
8757
9276
  )
8758
9277
  class EventBusProps:
@@ -8764,6 +9283,7 @@ class EventBusProps:
8764
9283
  event_bus_name: typing.Optional[builtins.str] = None,
8765
9284
  event_source_name: typing.Optional[builtins.str] = None,
8766
9285
  kms_key: typing.Optional[_IKey_5f11635f] = None,
9286
+ log_config: typing.Optional[typing.Union["LogConfig", typing.Dict[builtins.str, typing.Any]]] = None,
8767
9287
  ) -> None:
8768
9288
  '''Properties to define an event bus.
8769
9289
 
@@ -8772,6 +9292,7 @@ class EventBusProps:
8772
9292
  :param event_bus_name: The name of the event bus you are creating Note: If 'eventSourceName' is passed in, you cannot set this. Default: - automatically generated name
8773
9293
  :param event_source_name: The partner event source to associate with this event bus resource Note: If 'eventBusName' is passed in, you cannot set this. Default: - no partner event source
8774
9294
  :param kms_key: The customer managed key that encrypt events on this event bus. Default: - Use an AWS managed key
9295
+ :param log_config: The Logging Configuration of the Èvent Bus. Default: - no logging
8775
9296
 
8776
9297
  :exampleMetadata: infused
8777
9298
 
@@ -8795,6 +9316,8 @@ class EventBusProps:
8795
9316
  )]
8796
9317
  )
8797
9318
  '''
9319
+ if isinstance(log_config, dict):
9320
+ log_config = LogConfig(**log_config)
8798
9321
  if __debug__:
8799
9322
  type_hints = typing.get_type_hints(_typecheckingstub__298a8c4285f4e039344007a0deb097d820ddec52c59d396d7a8faa1aa9c8b743)
8800
9323
  check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
@@ -8802,6 +9325,7 @@ class EventBusProps:
8802
9325
  check_type(argname="argument event_bus_name", value=event_bus_name, expected_type=type_hints["event_bus_name"])
8803
9326
  check_type(argname="argument event_source_name", value=event_source_name, expected_type=type_hints["event_source_name"])
8804
9327
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
9328
+ check_type(argname="argument log_config", value=log_config, expected_type=type_hints["log_config"])
8805
9329
  self._values: typing.Dict[builtins.str, typing.Any] = {}
8806
9330
  if dead_letter_queue is not None:
8807
9331
  self._values["dead_letter_queue"] = dead_letter_queue
@@ -8813,6 +9337,8 @@ class EventBusProps:
8813
9337
  self._values["event_source_name"] = event_source_name
8814
9338
  if kms_key is not None:
8815
9339
  self._values["kms_key"] = kms_key
9340
+ if log_config is not None:
9341
+ self._values["log_config"] = log_config
8816
9342
 
8817
9343
  @builtins.property
8818
9344
  def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
@@ -8869,6 +9395,15 @@ class EventBusProps:
8869
9395
  result = self._values.get("kms_key")
8870
9396
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
8871
9397
 
9398
+ @builtins.property
9399
+ def log_config(self) -> typing.Optional["LogConfig"]:
9400
+ '''The Logging Configuration of the Èvent Bus.
9401
+
9402
+ :default: - no logging
9403
+ '''
9404
+ result = self._values.get("log_config")
9405
+ return typing.cast(typing.Optional["LogConfig"], result)
9406
+
8872
9407
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8873
9408
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8874
9409
 
@@ -9477,6 +10012,16 @@ class IApiDestination(_IResource_c80c4260, typing_extensions.Protocol):
9477
10012
  '''
9478
10013
  ...
9479
10014
 
10015
+ @builtins.property
10016
+ @jsii.member(jsii_name="apiDestinationArnForPolicy")
10017
+ def api_destination_arn_for_policy(self) -> typing.Optional[builtins.str]:
10018
+ '''The Amazon Resource Name (ARN) of an API destination in resource format, so it can be used in the Resource element of IAM permission policy statements.
10019
+
10020
+ :see: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html#amazoneventbridge-resources-for-iam-policies
10021
+ :attribute: true
10022
+ '''
10023
+ ...
10024
+
9480
10025
 
9481
10026
  class _IApiDestinationProxy(
9482
10027
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
@@ -9503,6 +10048,16 @@ class _IApiDestinationProxy(
9503
10048
  '''
9504
10049
  return typing.cast(builtins.str, jsii.get(self, "apiDestinationName"))
9505
10050
 
10051
+ @builtins.property
10052
+ @jsii.member(jsii_name="apiDestinationArnForPolicy")
10053
+ def api_destination_arn_for_policy(self) -> typing.Optional[builtins.str]:
10054
+ '''The Amazon Resource Name (ARN) of an API destination in resource format, so it can be used in the Resource element of IAM permission policy statements.
10055
+
10056
+ :see: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html#amazoneventbridge-resources-for-iam-policies
10057
+ :attribute: true
10058
+ '''
10059
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "apiDestinationArnForPolicy"))
10060
+
9506
10061
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9507
10062
  typing.cast(typing.Any, IApiDestination).__jsii_proxy_class__ = lambda : _IApiDestinationProxy
9508
10063
 
@@ -9628,6 +10183,7 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9628
10183
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
9629
10184
  archive_name: typing.Optional[builtins.str] = None,
9630
10185
  description: typing.Optional[builtins.str] = None,
10186
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
9631
10187
  retention: typing.Optional[_Duration_4839e8c3] = None,
9632
10188
  ) -> Archive:
9633
10189
  '''Create an EventBridge archive to send events to.
@@ -9639,6 +10195,7 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9639
10195
  :param event_pattern: An event pattern to use to filter events sent to the archive.
9640
10196
  :param archive_name: The name of the archive. Default: - Automatically generated
9641
10197
  :param description: A description for the archive. Default: - none
10198
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
9642
10199
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
9643
10200
  '''
9644
10201
  ...
@@ -9711,6 +10268,7 @@ class _IEventBusProxy(
9711
10268
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
9712
10269
  archive_name: typing.Optional[builtins.str] = None,
9713
10270
  description: typing.Optional[builtins.str] = None,
10271
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
9714
10272
  retention: typing.Optional[_Duration_4839e8c3] = None,
9715
10273
  ) -> Archive:
9716
10274
  '''Create an EventBridge archive to send events to.
@@ -9722,6 +10280,7 @@ class _IEventBusProxy(
9722
10280
  :param event_pattern: An event pattern to use to filter events sent to the archive.
9723
10281
  :param archive_name: The name of the archive. Default: - Automatically generated
9724
10282
  :param description: A description for the archive. Default: - none
10283
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
9725
10284
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
9726
10285
  '''
9727
10286
  if __debug__:
@@ -9731,6 +10290,7 @@ class _IEventBusProxy(
9731
10290
  event_pattern=event_pattern,
9732
10291
  archive_name=archive_name,
9733
10292
  description=description,
10293
+ kms_key=kms_key,
9734
10294
  retention=retention,
9735
10295
  )
9736
10296
 
@@ -9857,6 +10417,142 @@ class _IRuleTargetProxy:
9857
10417
  typing.cast(typing.Any, IRuleTarget).__jsii_proxy_class__ = lambda : _IRuleTargetProxy
9858
10418
 
9859
10419
 
10420
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_events.IncludeDetail")
10421
+ class IncludeDetail(enum.Enum):
10422
+ '''Whether EventBridge include detailed event information in the records it generates.
10423
+
10424
+ Detailed data can be useful for troubleshooting and debugging.
10425
+ This information includes details of the event itself, as well as target details.
10426
+
10427
+ :exampleMetadata: infused
10428
+
10429
+ Example::
10430
+
10431
+ from aws_cdk.aws_events import EventBus, IncludeDetail, Level
10432
+
10433
+
10434
+ bus = EventBus(self, "Bus",
10435
+ log_config=events.LogConfig(
10436
+ include_detail=IncludeDetail.FULL,
10437
+ level=Level.TRACE
10438
+ )
10439
+ )
10440
+ '''
10441
+
10442
+ FULL = "FULL"
10443
+ '''FULL: Include all details related to event itself and the request EventBridge sends to the target.
10444
+
10445
+ Detailed data can be useful for troubleshooting and debugging.
10446
+ '''
10447
+ NONE = "NONE"
10448
+ '''NONE: Does not include any details.'''
10449
+
10450
+
10451
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_events.Level")
10452
+ class Level(enum.Enum):
10453
+ '''The level of logging detail to include.
10454
+
10455
+ This applies to all log destinations for the event bus.
10456
+
10457
+ :exampleMetadata: infused
10458
+
10459
+ Example::
10460
+
10461
+ from aws_cdk.aws_events import EventBus, IncludeDetail, Level
10462
+
10463
+
10464
+ bus = EventBus(self, "Bus",
10465
+ log_config=events.LogConfig(
10466
+ include_detail=IncludeDetail.FULL,
10467
+ level=Level.TRACE
10468
+ )
10469
+ )
10470
+ '''
10471
+
10472
+ INFO = "INFO"
10473
+ '''INFO: EventBridge sends any logs related to errors, as well as major steps performed during event processing.'''
10474
+ ERROR = "ERROR"
10475
+ '''ERROR: EventBridge sends any logs related to errors generated during event processing and target delivery.'''
10476
+ TRACE = "TRACE"
10477
+ '''TRACE: EventBridge sends any logs generated during all steps in the event processing.'''
10478
+ OFF = "OFF"
10479
+ '''OFF: EventBridge does not send any logs.
10480
+
10481
+ This is the default.
10482
+ '''
10483
+
10484
+
10485
+ @jsii.data_type(
10486
+ jsii_type="aws-cdk-lib.aws_events.LogConfig",
10487
+ jsii_struct_bases=[],
10488
+ name_mapping={"include_detail": "includeDetail", "level": "level"},
10489
+ )
10490
+ class LogConfig:
10491
+ def __init__(
10492
+ self,
10493
+ *,
10494
+ include_detail: typing.Optional[IncludeDetail] = None,
10495
+ level: typing.Optional[Level] = None,
10496
+ ) -> None:
10497
+ '''Interface for Logging Configuration of the Event Bus.
10498
+
10499
+ :param include_detail: Whether EventBridge include detailed event information in the records it generates. Default: no details
10500
+ :param level: Logging level. Default: OFF
10501
+
10502
+ :exampleMetadata: infused
10503
+
10504
+ Example::
10505
+
10506
+ from aws_cdk.aws_events import EventBus, IncludeDetail, Level
10507
+
10508
+
10509
+ bus = EventBus(self, "Bus",
10510
+ log_config=events.LogConfig(
10511
+ include_detail=IncludeDetail.FULL,
10512
+ level=Level.TRACE
10513
+ )
10514
+ )
10515
+ '''
10516
+ if __debug__:
10517
+ type_hints = typing.get_type_hints(_typecheckingstub__198ca7d856a2573ae11c3570c27c6ff5d3b3d059abd28650a790b698a11f30b9)
10518
+ check_type(argname="argument include_detail", value=include_detail, expected_type=type_hints["include_detail"])
10519
+ check_type(argname="argument level", value=level, expected_type=type_hints["level"])
10520
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10521
+ if include_detail is not None:
10522
+ self._values["include_detail"] = include_detail
10523
+ if level is not None:
10524
+ self._values["level"] = level
10525
+
10526
+ @builtins.property
10527
+ def include_detail(self) -> typing.Optional[IncludeDetail]:
10528
+ '''Whether EventBridge include detailed event information in the records it generates.
10529
+
10530
+ :default: no details
10531
+ '''
10532
+ result = self._values.get("include_detail")
10533
+ return typing.cast(typing.Optional[IncludeDetail], result)
10534
+
10535
+ @builtins.property
10536
+ def level(self) -> typing.Optional[Level]:
10537
+ '''Logging level.
10538
+
10539
+ :default: OFF
10540
+ '''
10541
+ result = self._values.get("level")
10542
+ return typing.cast(typing.Optional[Level], result)
10543
+
10544
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10545
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10546
+
10547
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10548
+ return not (rhs == self)
10549
+
10550
+ def __repr__(self) -> str:
10551
+ return "LogConfig(%s)" % ", ".join(
10552
+ k + "=" + repr(v) for k, v in self._values.items()
10553
+ )
10554
+
10555
+
9860
10556
  @jsii.implements(_IResolvable_da3f097b)
9861
10557
  class Match(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_events.Match"):
9862
10558
  '''An event pattern matcher.
@@ -10579,7 +11275,7 @@ class Rule(
10579
11275
  *,
10580
11276
  enabled: typing.Optional[builtins.bool] = None,
10581
11277
  event_bus: typing.Optional[IEventBus] = None,
10582
- role: typing.Optional[_IRole_235f5d8e] = None,
11278
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10583
11279
  schedule: typing.Optional["Schedule"] = None,
10584
11280
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
10585
11281
  cross_stack_scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
@@ -10771,7 +11467,7 @@ class RuleProps(EventCommonOptions):
10771
11467
  rule_name: typing.Optional[builtins.str] = None,
10772
11468
  enabled: typing.Optional[builtins.bool] = None,
10773
11469
  event_bus: typing.Optional[IEventBus] = None,
10774
- role: typing.Optional[_IRole_235f5d8e] = None,
11470
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10775
11471
  schedule: typing.Optional["Schedule"] = None,
10776
11472
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
10777
11473
  ) -> None:
@@ -10904,7 +11600,7 @@ class RuleProps(EventCommonOptions):
10904
11600
  return typing.cast(typing.Optional[IEventBus], result)
10905
11601
 
10906
11602
  @builtins.property
10907
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
11603
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
10908
11604
  '''The role that is used for target invocation.
10909
11605
 
10910
11606
  Must be assumable by principal ``events.amazonaws.com``.
@@ -10912,7 +11608,7 @@ class RuleProps(EventCommonOptions):
10912
11608
  :default: - No role associated
10913
11609
  '''
10914
11610
  result = self._values.get("role")
10915
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
11611
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
10916
11612
 
10917
11613
  @builtins.property
10918
11614
  def schedule(self) -> typing.Optional["Schedule"]:
@@ -11758,6 +12454,7 @@ class ApiDestination(
11758
12454
  *,
11759
12455
  api_destination_arn: builtins.str,
11760
12456
  connection: IConnection,
12457
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
11761
12458
  ) -> "ApiDestination":
11762
12459
  '''Create an Api Destination construct from an existing Api Destination ARN.
11763
12460
 
@@ -11765,13 +12462,16 @@ class ApiDestination(
11765
12462
  :param id: The construct's id.
11766
12463
  :param api_destination_arn: The ARN of the Api Destination.
11767
12464
  :param connection: The Connection to associate with the Api Destination.
12465
+ :param api_destination_arn_for_policy: The Amazon Resource Name (ARN) of an API destination in resource format. Default: undefined - Imported API destination does not have ARN in resource format
11768
12466
  '''
11769
12467
  if __debug__:
11770
12468
  type_hints = typing.get_type_hints(_typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110fa18cb55)
11771
12469
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
11772
12470
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11773
12471
  attrs = ApiDestinationAttributes(
11774
- api_destination_arn=api_destination_arn, connection=connection
12472
+ api_destination_arn=api_destination_arn,
12473
+ connection=connection,
12474
+ api_destination_arn_for_policy=api_destination_arn_for_policy,
11775
12475
  )
11776
12476
 
11777
12477
  return typing.cast("ApiDestination", jsii.sinvoke(cls, "fromApiDestinationAttributes", [scope, id, attrs]))
@@ -11806,6 +12506,15 @@ class ApiDestination(
11806
12506
  '''The Connection to associate with Api Destination.'''
11807
12507
  return typing.cast(IConnection, jsii.get(self, "connection"))
11808
12508
 
12509
+ @builtins.property
12510
+ @jsii.member(jsii_name="apiDestinationArnForPolicy")
12511
+ def api_destination_arn_for_policy(self) -> typing.Optional[builtins.str]:
12512
+ '''The Amazon Resource Name (ARN) of an API destination in resource format.
12513
+
12514
+ :attribute: true
12515
+ '''
12516
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "apiDestinationArnForPolicy"))
12517
+
11809
12518
 
11810
12519
  @jsii.data_type(
11811
12520
  jsii_type="aws-cdk-lib.aws_events.ArchiveProps",
@@ -11814,6 +12523,7 @@ class ApiDestination(
11814
12523
  "event_pattern": "eventPattern",
11815
12524
  "archive_name": "archiveName",
11816
12525
  "description": "description",
12526
+ "kms_key": "kmsKey",
11817
12527
  "retention": "retention",
11818
12528
  "source_event_bus": "sourceEventBus",
11819
12529
  },
@@ -11825,6 +12535,7 @@ class ArchiveProps(BaseArchiveProps):
11825
12535
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
11826
12536
  archive_name: typing.Optional[builtins.str] = None,
11827
12537
  description: typing.Optional[builtins.str] = None,
12538
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
11828
12539
  retention: typing.Optional[_Duration_4839e8c3] = None,
11829
12540
  source_event_bus: IEventBus,
11830
12541
  ) -> None:
@@ -11833,41 +12544,30 @@ class ArchiveProps(BaseArchiveProps):
11833
12544
  :param event_pattern: An event pattern to use to filter events sent to the archive.
11834
12545
  :param archive_name: The name of the archive. Default: - Automatically generated
11835
12546
  :param description: A description for the archive. Default: - none
12547
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
11836
12548
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
11837
12549
  :param source_event_bus: The event source associated with the archive.
11838
12550
 
11839
- :exampleMetadata: fixture=_generated
12551
+ :exampleMetadata: infused
11840
12552
 
11841
12553
  Example::
11842
12554
 
11843
- # The code below shows an example of how to instantiate this type.
11844
- # The values are placeholders you should change.
11845
- import aws_cdk as cdk
11846
- from aws_cdk import aws_events as events
12555
+ import aws_cdk.aws_kms as kms
12556
+ from aws_cdk.aws_events import Archive, EventBus
11847
12557
 
11848
- # detail: Any
11849
- # event_bus: events.EventBus
12558
+ # kms_key: kms.IKey
11850
12559
 
11851
- archive_props = events.ArchiveProps(
11852
- event_pattern=events.EventPattern(
11853
- account=["account"],
11854
- detail={
11855
- "detail_key": detail
11856
- },
11857
- detail_type=["detailType"],
11858
- id=["id"],
11859
- region=["region"],
11860
- resources=["resources"],
11861
- source=["source"],
11862
- time=["time"],
11863
- version=["version"]
11864
- ),
11865
- source_event_bus=event_bus,
11866
12560
 
11867
- # the properties below are optional
11868
- archive_name="archiveName",
11869
- description="description",
11870
- retention=cdk.Duration.minutes(30)
12561
+ stack = Stack()
12562
+
12563
+ event_bus = EventBus(stack, "Bus")
12564
+
12565
+ archive = Archive(stack, "Archive",
12566
+ kms_key=kms_key,
12567
+ source_event_bus=event_bus,
12568
+ event_pattern=events.EventPattern(
12569
+ source=["aws.ec2"]
12570
+ )
11871
12571
  )
11872
12572
  '''
11873
12573
  if isinstance(event_pattern, dict):
@@ -11877,6 +12577,7 @@ class ArchiveProps(BaseArchiveProps):
11877
12577
  check_type(argname="argument event_pattern", value=event_pattern, expected_type=type_hints["event_pattern"])
11878
12578
  check_type(argname="argument archive_name", value=archive_name, expected_type=type_hints["archive_name"])
11879
12579
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
12580
+ check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
11880
12581
  check_type(argname="argument retention", value=retention, expected_type=type_hints["retention"])
11881
12582
  check_type(argname="argument source_event_bus", value=source_event_bus, expected_type=type_hints["source_event_bus"])
11882
12583
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -11887,6 +12588,8 @@ class ArchiveProps(BaseArchiveProps):
11887
12588
  self._values["archive_name"] = archive_name
11888
12589
  if description is not None:
11889
12590
  self._values["description"] = description
12591
+ if kms_key is not None:
12592
+ self._values["kms_key"] = kms_key
11890
12593
  if retention is not None:
11891
12594
  self._values["retention"] = retention
11892
12595
 
@@ -11915,6 +12618,15 @@ class ArchiveProps(BaseArchiveProps):
11915
12618
  result = self._values.get("description")
11916
12619
  return typing.cast(typing.Optional[builtins.str], result)
11917
12620
 
12621
+ @builtins.property
12622
+ def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
12623
+ '''The customer managed key that encrypts this archive.
12624
+
12625
+ :default: - Use an AWS managed key
12626
+ '''
12627
+ result = self._values.get("kms_key")
12628
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
12629
+
11918
12630
  @builtins.property
11919
12631
  def retention(self) -> typing.Optional[_Duration_4839e8c3]:
11920
12632
  '''The number of days to retain events for.
@@ -12136,6 +12848,7 @@ class EventBus(
12136
12848
  event_bus_name: typing.Optional[builtins.str] = None,
12137
12849
  event_source_name: typing.Optional[builtins.str] = None,
12138
12850
  kms_key: typing.Optional[_IKey_5f11635f] = None,
12851
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
12139
12852
  ) -> None:
12140
12853
  '''
12141
12854
  :param scope: -
@@ -12145,6 +12858,7 @@ class EventBus(
12145
12858
  :param event_bus_name: The name of the event bus you are creating Note: If 'eventSourceName' is passed in, you cannot set this. Default: - automatically generated name
12146
12859
  :param event_source_name: The partner event source to associate with this event bus resource Note: If 'eventBusName' is passed in, you cannot set this. Default: - no partner event source
12147
12860
  :param kms_key: The customer managed key that encrypt events on this event bus. Default: - Use an AWS managed key
12861
+ :param log_config: The Logging Configuration of the Èvent Bus. Default: - no logging
12148
12862
  '''
12149
12863
  if __debug__:
12150
12864
  type_hints = typing.get_type_hints(_typecheckingstub__95a51d19a0503daf5e05f08738b44a6276eaa23c373c99735de37b1247783380)
@@ -12156,6 +12870,7 @@ class EventBus(
12156
12870
  event_bus_name=event_bus_name,
12157
12871
  event_source_name=event_source_name,
12158
12872
  kms_key=kms_key,
12873
+ log_config=log_config,
12159
12874
  )
12160
12875
 
12161
12876
  jsii.create(self.__class__, self, [scope, id, props])
@@ -12270,6 +12985,7 @@ class EventBus(
12270
12985
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12271
12986
  archive_name: typing.Optional[builtins.str] = None,
12272
12987
  description: typing.Optional[builtins.str] = None,
12988
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12273
12989
  retention: typing.Optional[_Duration_4839e8c3] = None,
12274
12990
  ) -> Archive:
12275
12991
  '''Create an EventBridge archive to send events to.
@@ -12281,6 +12997,7 @@ class EventBus(
12281
12997
  :param event_pattern: An event pattern to use to filter events sent to the archive.
12282
12998
  :param archive_name: The name of the archive. Default: - Automatically generated
12283
12999
  :param description: A description for the archive. Default: - none
13000
+ :param kms_key: The customer managed key that encrypts this archive. Default: - Use an AWS managed key
12284
13001
  :param retention: The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely. Default: - Infinite
12285
13002
  '''
12286
13003
  if __debug__:
@@ -12290,6 +13007,7 @@ class EventBus(
12290
13007
  event_pattern=event_pattern,
12291
13008
  archive_name=archive_name,
12292
13009
  description=description,
13010
+ kms_key=kms_key,
12293
13011
  retention=retention,
12294
13012
  )
12295
13013
 
@@ -12384,6 +13102,9 @@ __all__ = [
12384
13102
  "IEventBus",
12385
13103
  "IRule",
12386
13104
  "IRuleTarget",
13105
+ "IncludeDetail",
13106
+ "Level",
13107
+ "LogConfig",
12387
13108
  "Match",
12388
13109
  "OAuthAuthorizationProps",
12389
13110
  "OnEventOptions",
@@ -12401,6 +13122,7 @@ def _typecheckingstub__803612bfb0a8da2a8e0ca427792d066e933032d6f722156869f619496
12401
13122
  *,
12402
13123
  api_destination_arn: builtins.str,
12403
13124
  connection: IConnection,
13125
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
12404
13126
  ) -> None:
12405
13127
  """Type checking stubs"""
12406
13128
  pass
@@ -12425,6 +13147,7 @@ def _typecheckingstub__3d354e4791ce999debd366401bf6abece64fe39da3a499dafa6b3996b
12425
13147
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12426
13148
  archive_name: typing.Optional[builtins.str] = None,
12427
13149
  description: typing.Optional[builtins.str] = None,
13150
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12428
13151
  retention: typing.Optional[_Duration_4839e8c3] = None,
12429
13152
  ) -> None:
12430
13153
  """Type checking stubs"""
@@ -12449,6 +13172,7 @@ def _typecheckingstub__74aa160eedb5cb0d834ff82193fc6747b652d04f044891f2ad16f69e1
12449
13172
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12450
13173
  archive_name: typing.Optional[builtins.str] = None,
12451
13174
  description: typing.Optional[builtins.str] = None,
13175
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12452
13176
  retention: typing.Optional[_Duration_4839e8c3] = None,
12453
13177
  ) -> None:
12454
13178
  """Type checking stubs"""
@@ -12468,6 +13192,22 @@ def _typecheckingstub__0c7f09c3557e2395656d23b74c8de1fbe1e4a3b537284c9d270edc631
12468
13192
  """Type checking stubs"""
12469
13193
  pass
12470
13194
 
13195
+ def _typecheckingstub__e4d067d14eb4986a791825f5574a2a1b7996e52c30d1c10ce8e7b59e60ddb769(
13196
+ scope: _constructs_77d1e7e8.Construct,
13197
+ id: builtins.str,
13198
+ arn: builtins.str,
13199
+ ) -> None:
13200
+ """Type checking stubs"""
13201
+ pass
13202
+
13203
+ def _typecheckingstub__2f7e79e48e08b958f9ad095544607e87dd2f1aa8eef727bec93c1ee0def4c583(
13204
+ scope: _constructs_77d1e7e8.Construct,
13205
+ id: builtins.str,
13206
+ api_destination_name: builtins.str,
13207
+ ) -> None:
13208
+ """Type checking stubs"""
13209
+ pass
13210
+
12471
13211
  def _typecheckingstub__158c0bb8fa8e9ef1c2e58e89a44ebad609986b410e381f81aedd0308a9e35b28(
12472
13212
  inspector: _TreeInspector_488e0dd5,
12473
13213
  ) -> None:
@@ -12542,6 +13282,22 @@ def _typecheckingstub__a963410c1802040879d7bcae9506f4438510f71eb6934c222d9c998db
12542
13282
  """Type checking stubs"""
12543
13283
  pass
12544
13284
 
13285
+ def _typecheckingstub__8e8ead948e3f54f53c0d21e22906517bc78f6bc7b15975a7503199c89c0cc2d8(
13286
+ scope: _constructs_77d1e7e8.Construct,
13287
+ id: builtins.str,
13288
+ arn: builtins.str,
13289
+ ) -> None:
13290
+ """Type checking stubs"""
13291
+ pass
13292
+
13293
+ def _typecheckingstub__f94b64dd5cb2b916b6680e63c92384270a55a857a32d8c25ec445a22c5a86f62(
13294
+ scope: _constructs_77d1e7e8.Construct,
13295
+ id: builtins.str,
13296
+ archive_name: builtins.str,
13297
+ ) -> None:
13298
+ """Type checking stubs"""
13299
+ pass
13300
+
12545
13301
  def _typecheckingstub__c7da996869ac9a69e8a63a58883200e217a1913f5d321926f7ab5c4ebb3e56a6(
12546
13302
  inspector: _TreeInspector_488e0dd5,
12547
13303
  ) -> None:
@@ -12616,6 +13372,22 @@ def _typecheckingstub__65bde9b35de094b905dd335652d04503af85c50ac027a006a1d7ec926
12616
13372
  """Type checking stubs"""
12617
13373
  pass
12618
13374
 
13375
+ def _typecheckingstub__630a9669f06abf4f4e8bad75138d45b4182263c18c97fb22a426fbc0a2bbcdc2(
13376
+ scope: _constructs_77d1e7e8.Construct,
13377
+ id: builtins.str,
13378
+ arn: builtins.str,
13379
+ ) -> None:
13380
+ """Type checking stubs"""
13381
+ pass
13382
+
13383
+ def _typecheckingstub__d14cab009a8170454a66a3e141b7bf3bd9913cd1520a24a6bd2047517dc43bca(
13384
+ scope: _constructs_77d1e7e8.Construct,
13385
+ id: builtins.str,
13386
+ connection_name: builtins.str,
13387
+ ) -> None:
13388
+ """Type checking stubs"""
13389
+ pass
13390
+
12619
13391
  def _typecheckingstub__192a6c229918a43504bd57de4e35ae7938880d0c805afe4cc4c5905924754719(
12620
13392
  inspector: _TreeInspector_488e0dd5,
12621
13393
  ) -> None:
@@ -12775,6 +13547,22 @@ def _typecheckingstub__66aefb2196270463c6a9f2eea0dcb5bb280d90c63f36870b21785e675
12775
13547
  """Type checking stubs"""
12776
13548
  pass
12777
13549
 
13550
+ def _typecheckingstub__b8df0737b10ec98bf62c1be2c67715f159dc221d2935abd8e8ae6669ca458d7f(
13551
+ scope: _constructs_77d1e7e8.Construct,
13552
+ id: builtins.str,
13553
+ arn: builtins.str,
13554
+ ) -> None:
13555
+ """Type checking stubs"""
13556
+ pass
13557
+
13558
+ def _typecheckingstub__777109eec20698d982fd6e8cd9ad182871f5e151603cba27527f7f96a6fb3f5e(
13559
+ scope: _constructs_77d1e7e8.Construct,
13560
+ id: builtins.str,
13561
+ endpoint_name: builtins.str,
13562
+ ) -> None:
13563
+ """Type checking stubs"""
13564
+ pass
13565
+
12778
13566
  def _typecheckingstub__575b3a669c9a519cfd6641ef37eb4e16de10be20251ac40d8d954a8cac93bb17(
12779
13567
  inspector: _TreeInspector_488e0dd5,
12780
13568
  ) -> None:
@@ -12887,12 +13675,29 @@ def _typecheckingstub__5766595a149723459145d9f55c6afa7ed3017d49f4af7cec85e0fffe2
12887
13675
  description: typing.Optional[builtins.str] = None,
12888
13676
  event_source_name: typing.Optional[builtins.str] = None,
12889
13677
  kms_key_identifier: typing.Optional[builtins.str] = None,
13678
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventBus.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12890
13679
  policy: typing.Any = None,
12891
13680
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
12892
13681
  ) -> None:
12893
13682
  """Type checking stubs"""
12894
13683
  pass
12895
13684
 
13685
+ def _typecheckingstub__52da9c5fdac4b9a20af016bb86d96bb717169d7d2f8789450b948f3ae2849d73(
13686
+ scope: _constructs_77d1e7e8.Construct,
13687
+ id: builtins.str,
13688
+ arn: builtins.str,
13689
+ ) -> None:
13690
+ """Type checking stubs"""
13691
+ pass
13692
+
13693
+ def _typecheckingstub__c06912850ab4232d75f46bf4e7fc5fb53350cab9f80c585bec5b376767c64960(
13694
+ scope: _constructs_77d1e7e8.Construct,
13695
+ id: builtins.str,
13696
+ event_bus_name: builtins.str,
13697
+ ) -> None:
13698
+ """Type checking stubs"""
13699
+ pass
13700
+
12896
13701
  def _typecheckingstub__505cff6efff7c5a6d5cba375be4fe0f0f9042abf1bfc4636e8e005ac832fdd64(
12897
13702
  inspector: _TreeInspector_488e0dd5,
12898
13703
  ) -> None:
@@ -12935,6 +13740,12 @@ def _typecheckingstub__1899d0d8378d7d8ade574708aa2d0221794e2fcd5f946287a6f238e59
12935
13740
  """Type checking stubs"""
12936
13741
  pass
12937
13742
 
13743
+ def _typecheckingstub__51db51bf8f1ebc8d9c19cdf02644ddeaaef6bd2b5c86607383cd85b5fa2030c1(
13744
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBus.LogConfigProperty]],
13745
+ ) -> None:
13746
+ """Type checking stubs"""
13747
+ pass
13748
+
12938
13749
  def _typecheckingstub__6069dbf8a749c1a9a0cd15c07c6efbd2f70dbd4c7e3a6e98efd29bdb8c7acb24(
12939
13750
  value: typing.Any,
12940
13751
  ) -> None:
@@ -12954,6 +13765,14 @@ def _typecheckingstub__19cc778177531cf61ae62a46e1a008d0fb9f91cd857dc37c522f0cd73
12954
13765
  """Type checking stubs"""
12955
13766
  pass
12956
13767
 
13768
+ def _typecheckingstub__325c97a9fc2ec199dfb4fb51645bc16dde3cf1f257d1bcf5c86f7cd3a0b2d77c(
13769
+ *,
13770
+ include_detail: typing.Optional[builtins.str] = None,
13771
+ level: typing.Optional[builtins.str] = None,
13772
+ ) -> None:
13773
+ """Type checking stubs"""
13774
+ pass
13775
+
12957
13776
  def _typecheckingstub__c6df7e81a60de40e0e425694b7757e614a634ac89c7c10147ca4c807819a6b71(
12958
13777
  scope: _constructs_77d1e7e8.Construct,
12959
13778
  id: builtins.str,
@@ -13044,6 +13863,7 @@ def _typecheckingstub__79e3f734387b70ada8040490433e9e9ec9b92701ddfb55826c4adc111
13044
13863
  description: typing.Optional[builtins.str] = None,
13045
13864
  event_source_name: typing.Optional[builtins.str] = None,
13046
13865
  kms_key_identifier: typing.Optional[builtins.str] = None,
13866
+ log_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEventBus.LogConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13047
13867
  policy: typing.Any = None,
13048
13868
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13049
13869
  ) -> None:
@@ -13061,6 +13881,7 @@ def _typecheckingstub__e06314755e55e41a2976ff974daa36bbbb473330c92c9fef111b716f2
13061
13881
  role_arn: typing.Optional[builtins.str] = None,
13062
13882
  schedule_expression: typing.Optional[builtins.str] = None,
13063
13883
  state: typing.Optional[builtins.str] = None,
13884
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13064
13885
  targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRule.TargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13065
13886
  ) -> None:
13066
13887
  """Type checking stubs"""
@@ -13120,6 +13941,12 @@ def _typecheckingstub__08542b68c4470a8f44e4a04ee382bb40e94dc161aad2f92bfa79298da
13120
13941
  """Type checking stubs"""
13121
13942
  pass
13122
13943
 
13944
+ def _typecheckingstub__4daedf0bf9c9ce5671a843d87568d852259b36183898da9f395d6fb1b1a1e974(
13945
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
13946
+ ) -> None:
13947
+ """Type checking stubs"""
13948
+ pass
13949
+
13123
13950
  def _typecheckingstub__0b3ddab1471338782440504c486a52daa0e3a535b2209abca3766744b2fabcfc(
13124
13951
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnRule.TargetProperty]]]],
13125
13952
  ) -> None:
@@ -13347,6 +14174,7 @@ def _typecheckingstub__1ba0cfcfcd9cab75c7bd4b5ffa2348687b001ab869ed65280a51c734b
13347
14174
  role_arn: typing.Optional[builtins.str] = None,
13348
14175
  schedule_expression: typing.Optional[builtins.str] = None,
13349
14176
  state: typing.Optional[builtins.str] = None,
14177
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13350
14178
  targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRule.TargetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13351
14179
  ) -> None:
13352
14180
  """Type checking stubs"""
@@ -13422,6 +14250,7 @@ def _typecheckingstub__298a8c4285f4e039344007a0deb097d820ddec52c59d396d7a8faa1aa
13422
14250
  event_bus_name: typing.Optional[builtins.str] = None,
13423
14251
  event_source_name: typing.Optional[builtins.str] = None,
13424
14252
  kms_key: typing.Optional[_IKey_5f11635f] = None,
14253
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
13425
14254
  ) -> None:
13426
14255
  """Type checking stubs"""
13427
14256
  pass
@@ -13481,6 +14310,7 @@ def _typecheckingstub__1ed58495b96f0f8ed0dfb0c65e8400413d45c5c1f372215e535272012
13481
14310
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13482
14311
  archive_name: typing.Optional[builtins.str] = None,
13483
14312
  description: typing.Optional[builtins.str] = None,
14313
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13484
14314
  retention: typing.Optional[_Duration_4839e8c3] = None,
13485
14315
  ) -> None:
13486
14316
  """Type checking stubs"""
@@ -13500,6 +14330,14 @@ def _typecheckingstub__ee62e84f884e0e5476947339e584feca527844abc70d56b2fe2d048cc
13500
14330
  """Type checking stubs"""
13501
14331
  pass
13502
14332
 
14333
+ def _typecheckingstub__198ca7d856a2573ae11c3570c27c6ff5d3b3d059abd28650a790b698a11f30b9(
14334
+ *,
14335
+ include_detail: typing.Optional[IncludeDetail] = None,
14336
+ level: typing.Optional[Level] = None,
14337
+ ) -> None:
14338
+ """Type checking stubs"""
14339
+ pass
14340
+
13503
14341
  def _typecheckingstub__40e12e6e33c3e0969083091ee3865292a66ff488c5232a973beb73ef6c62c5fa(
13504
14342
  *matchers: typing.Any,
13505
14343
  ) -> None:
@@ -13669,7 +14507,7 @@ def _typecheckingstub__15ada85ef5f1cb4f0237eff6253e200138049f1bebbea7163294d28f9
13669
14507
  *,
13670
14508
  enabled: typing.Optional[builtins.bool] = None,
13671
14509
  event_bus: typing.Optional[IEventBus] = None,
13672
- role: typing.Optional[_IRole_235f5d8e] = None,
14510
+ role: typing.Optional[_IRoleRef_8400221f] = None,
13673
14511
  schedule: typing.Optional[Schedule] = None,
13674
14512
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
13675
14513
  cross_stack_scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
@@ -13702,7 +14540,7 @@ def _typecheckingstub__26677a946da4037892c1c589c005b7536d8ffed632ca92c5c52a92586
13702
14540
  rule_name: typing.Optional[builtins.str] = None,
13703
14541
  enabled: typing.Optional[builtins.bool] = None,
13704
14542
  event_bus: typing.Optional[IEventBus] = None,
13705
- role: typing.Optional[_IRole_235f5d8e] = None,
14543
+ role: typing.Optional[_IRoleRef_8400221f] = None,
13706
14544
  schedule: typing.Optional[Schedule] = None,
13707
14545
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
13708
14546
  ) -> None:
@@ -13801,6 +14639,7 @@ def _typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110f
13801
14639
  *,
13802
14640
  api_destination_arn: builtins.str,
13803
14641
  connection: IConnection,
14642
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
13804
14643
  ) -> None:
13805
14644
  """Type checking stubs"""
13806
14645
  pass
@@ -13810,6 +14649,7 @@ def _typecheckingstub__3e9e21c5f043688b8d785343f3fca5b1c769d309ab6d381af52c9421a
13810
14649
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13811
14650
  archive_name: typing.Optional[builtins.str] = None,
13812
14651
  description: typing.Optional[builtins.str] = None,
14652
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13813
14653
  retention: typing.Optional[_Duration_4839e8c3] = None,
13814
14654
  source_event_bus: IEventBus,
13815
14655
  ) -> None:
@@ -13859,6 +14699,7 @@ def _typecheckingstub__95a51d19a0503daf5e05f08738b44a6276eaa23c373c99735de37b124
13859
14699
  event_bus_name: typing.Optional[builtins.str] = None,
13860
14700
  event_source_name: typing.Optional[builtins.str] = None,
13861
14701
  kms_key: typing.Optional[_IKey_5f11635f] = None,
14702
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
13862
14703
  ) -> None:
13863
14704
  """Type checking stubs"""
13864
14705
  pass
@@ -13909,6 +14750,7 @@ def _typecheckingstub__7330918630167c372966fe4a86452f34a261c80460ae944bcce168d6b
13909
14750
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13910
14751
  archive_name: typing.Optional[builtins.str] = None,
13911
14752
  description: typing.Optional[builtins.str] = None,
14753
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13912
14754
  retention: typing.Optional[_Duration_4839e8c3] = None,
13913
14755
  ) -> None:
13914
14756
  """Type checking stubs"""
@@ -13920,3 +14762,6 @@ def _typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c
13920
14762
  ) -> None:
13921
14763
  """Type checking stubs"""
13922
14764
  pass
14765
+
14766
+ for cls in [IApiDestination, IConnection, IEventBus, IRule, IRuleTarget]:
14767
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])