aws-cdk-lib 2.195.0__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 (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.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 +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  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 +75 -10
  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 +136 -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 +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  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 +165 -60
  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 +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  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 +611 -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 +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -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 +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.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,11 +742,18 @@ 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
 
680
749
  jsii.create(self.__class__, self, [scope, id, props])
681
750
 
751
+ @jsii.python.classproperty
752
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
753
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
754
+ '''Uniquely identifies this class.'''
755
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
756
+
682
757
  @builtins.property
683
758
  @jsii.member(jsii_name="archiveArn")
684
759
  def archive_arn(self) -> builtins.str:
@@ -817,6 +892,7 @@ typing.cast(typing.Any, Authorization).__jsii_proxy_class__ = lambda : _Authoriz
817
892
  "event_pattern": "eventPattern",
818
893
  "archive_name": "archiveName",
819
894
  "description": "description",
895
+ "kms_key": "kmsKey",
820
896
  "retention": "retention",
821
897
  },
822
898
  )
@@ -827,6 +903,7 @@ class BaseArchiveProps:
827
903
  event_pattern: typing.Union["EventPattern", typing.Dict[builtins.str, typing.Any]],
828
904
  archive_name: typing.Optional[builtins.str] = None,
829
905
  description: typing.Optional[builtins.str] = None,
906
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
830
907
  retention: typing.Optional[_Duration_4839e8c3] = None,
831
908
  ) -> None:
832
909
  '''The event archive base properties.
@@ -834,6 +911,7 @@ class BaseArchiveProps:
834
911
  :param event_pattern: An event pattern to use to filter events sent to the archive.
835
912
  :param archive_name: The name of the archive. Default: - Automatically generated
836
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
837
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
838
916
 
839
917
  :exampleMetadata: infused
@@ -861,6 +939,7 @@ class BaseArchiveProps:
861
939
  check_type(argname="argument event_pattern", value=event_pattern, expected_type=type_hints["event_pattern"])
862
940
  check_type(argname="argument archive_name", value=archive_name, expected_type=type_hints["archive_name"])
863
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"])
864
943
  check_type(argname="argument retention", value=retention, expected_type=type_hints["retention"])
865
944
  self._values: typing.Dict[builtins.str, typing.Any] = {
866
945
  "event_pattern": event_pattern,
@@ -869,6 +948,8 @@ class BaseArchiveProps:
869
948
  self._values["archive_name"] = archive_name
870
949
  if description is not None:
871
950
  self._values["description"] = description
951
+ if kms_key is not None:
952
+ self._values["kms_key"] = kms_key
872
953
  if retention is not None:
873
954
  self._values["retention"] = retention
874
955
 
@@ -897,6 +978,15 @@ class BaseArchiveProps:
897
978
  result = self._values.get("description")
898
979
  return typing.cast(typing.Optional[builtins.str], result)
899
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
+
900
990
  @builtins.property
901
991
  def retention(self) -> typing.Optional[_Duration_4839e8c3]:
902
992
  '''The number of days to retain events for.
@@ -920,7 +1010,7 @@ class BaseArchiveProps:
920
1010
  )
921
1011
 
922
1012
 
923
- @jsii.implements(_IInspectable_c2943556)
1013
+ @jsii.implements(_IInspectable_c2943556, _IApiDestinationRef_8cd0a954)
924
1014
  class CfnApiDestination(
925
1015
  _CfnResource_9df397a6,
926
1016
  metaclass=jsii.JSIIMeta,
@@ -974,7 +1064,8 @@ class CfnApiDestination(
974
1064
  invocation_rate_limit_per_second: typing.Optional[jsii.Number] = None,
975
1065
  name: typing.Optional[builtins.str] = None,
976
1066
  ) -> None:
977
- '''
1067
+ '''Create a new ``AWS::Events::ApiDestination``.
1068
+
978
1069
  :param scope: Scope in which this resource is defined.
979
1070
  :param id: Construct identifier for this resource (unique in its scope).
980
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.
@@ -999,6 +1090,48 @@ class CfnApiDestination(
999
1090
 
1000
1091
  jsii.create(self.__class__, self, [scope, id, props])
1001
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
+
1002
1135
  @jsii.member(jsii_name="inspect")
1003
1136
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1004
1137
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1029,6 +1162,12 @@ class CfnApiDestination(
1029
1162
  '''The CloudFormation resource type name for this resource class.'''
1030
1163
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1031
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
+
1032
1171
  @builtins.property
1033
1172
  @jsii.member(jsii_name="attrArn")
1034
1173
  def attr_arn(self) -> builtins.str:
@@ -1047,7 +1186,7 @@ class CfnApiDestination(
1047
1186
 
1048
1187
  For example, the following resource defines an IAM policy that grants permission to update a specific API destination.
1049
1188
 
1050
- ``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``
1051
1190
 
1052
1191
  :cloudformationAttribute: ArnForPolicy
1053
1192
  '''
@@ -1283,7 +1422,7 @@ class CfnApiDestinationProps:
1283
1422
  )
1284
1423
 
1285
1424
 
1286
- @jsii.implements(_IInspectable_c2943556)
1425
+ @jsii.implements(_IInspectable_c2943556, _IArchiveRef_e95a5adc)
1287
1426
  class CfnArchive(
1288
1427
  _CfnResource_9df397a6,
1289
1428
  metaclass=jsii.JSIIMeta,
@@ -1334,7 +1473,8 @@ class CfnArchive(
1334
1473
  kms_key_identifier: typing.Optional[builtins.str] = None,
1335
1474
  retention_days: typing.Optional[jsii.Number] = None,
1336
1475
  ) -> None:
1337
- '''
1476
+ '''Create a new ``AWS::Events::Archive``.
1477
+
1338
1478
  :param scope: Scope in which this resource is defined.
1339
1479
  :param id: Construct identifier for this resource (unique in its scope).
1340
1480
  :param source_arn: The ARN of the event bus that sends events to the archive.
@@ -1359,6 +1499,48 @@ class CfnArchive(
1359
1499
 
1360
1500
  jsii.create(self.__class__, self, [scope, id, props])
1361
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
+
1362
1544
  @jsii.member(jsii_name="inspect")
1363
1545
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1364
1546
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1389,6 +1571,12 @@ class CfnArchive(
1389
1571
  '''The CloudFormation resource type name for this resource class.'''
1390
1572
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1391
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
+
1392
1580
  @builtins.property
1393
1581
  @jsii.member(jsii_name="attrArn")
1394
1582
  def attr_arn(self) -> builtins.str:
@@ -1638,7 +1826,7 @@ class CfnArchiveProps:
1638
1826
  )
1639
1827
 
1640
1828
 
1641
- @jsii.implements(_IInspectable_c2943556)
1829
+ @jsii.implements(_IInspectable_c2943556, _IConnectionRef_bea3332b)
1642
1830
  class CfnConnection(
1643
1831
  _CfnResource_9df397a6,
1644
1832
  metaclass=jsii.JSIIMeta,
@@ -1762,7 +1950,8 @@ class CfnConnection(
1762
1950
  kms_key_identifier: typing.Optional[builtins.str] = None,
1763
1951
  name: typing.Optional[builtins.str] = None,
1764
1952
  ) -> None:
1765
- '''
1953
+ '''Create a new ``AWS::Events::Connection``.
1954
+
1766
1955
  :param scope: Scope in which this resource is defined.
1767
1956
  :param id: Construct identifier for this resource (unique in its scope).
1768
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.
@@ -1787,6 +1976,48 @@ class CfnConnection(
1787
1976
 
1788
1977
  jsii.create(self.__class__, self, [scope, id, props])
1789
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
+
1790
2021
  @jsii.member(jsii_name="inspect")
1791
2022
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1792
2023
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1835,7 +2066,7 @@ class CfnConnection(
1835
2066
 
1836
2067
  For example, the following resource defines an IAM policy that grants permission to update a specific connection.
1837
2068
 
1838
- ``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``
1839
2070
 
1840
2071
  :cloudformationAttribute: ArnForPolicy
1841
2072
  '''
@@ -1885,6 +2116,12 @@ class CfnConnection(
1885
2116
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1886
2117
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1887
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
+
1888
2125
  @builtins.property
1889
2126
  @jsii.member(jsii_name="authorizationType")
1890
2127
  def authorization_type(self) -> typing.Optional[builtins.str]:
@@ -3176,7 +3413,7 @@ class CfnConnectionProps:
3176
3413
  )
3177
3414
 
3178
3415
 
3179
- @jsii.implements(_IInspectable_c2943556)
3416
+ @jsii.implements(_IInspectable_c2943556, _IEndpointRef_c14d05f7)
3180
3417
  class CfnEndpoint(
3181
3418
  _CfnResource_9df397a6,
3182
3419
  metaclass=jsii.JSIIMeta,
@@ -3233,7 +3470,8 @@ class CfnEndpoint(
3233
3470
  replication_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEndpoint.ReplicationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3234
3471
  role_arn: typing.Optional[builtins.str] = None,
3235
3472
  ) -> None:
3236
- '''
3473
+ '''Create a new ``AWS::Events::Endpoint``.
3474
+
3237
3475
  :param scope: Scope in which this resource is defined.
3238
3476
  :param id: Construct identifier for this resource (unique in its scope).
3239
3477
  :param event_buses: The event buses being used by the endpoint. *Exactly* : ``2``
@@ -3258,6 +3496,48 @@ class CfnEndpoint(
3258
3496
 
3259
3497
  jsii.create(self.__class__, self, [scope, id, props])
3260
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
+
3261
3541
  @jsii.member(jsii_name="inspect")
3262
3542
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3263
3543
  '''Examines the CloudFormation resource and discloses attributes.
@@ -3338,6 +3618,12 @@ class CfnEndpoint(
3338
3618
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3339
3619
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3340
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
+
3341
3627
  @builtins.property
3342
3628
  @jsii.member(jsii_name="eventBuses")
3343
3629
  def event_buses(
@@ -3952,7 +4238,7 @@ class CfnEndpointProps:
3952
4238
  )
3953
4239
 
3954
4240
 
3955
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4241
+ @jsii.implements(_IInspectable_c2943556, _IEventBusRef_aa86e9b4, _ITaggableV2_4e6798f8)
3956
4242
  class CfnEventBus(
3957
4243
  _CfnResource_9df397a6,
3958
4244
  metaclass=jsii.JSIIMeta,
@@ -3987,6 +4273,10 @@ class CfnEventBus(
3987
4273
  description="description",
3988
4274
  event_source_name="eventSourceName",
3989
4275
  kms_key_identifier="kmsKeyIdentifier",
4276
+ log_config=events.CfnEventBus.LogConfigProperty(
4277
+ include_detail="includeDetail",
4278
+ level="level"
4279
+ ),
3990
4280
  policy=policy,
3991
4281
  tags=[CfnTag(
3992
4282
  key="key",
@@ -4005,10 +4295,12 @@ class CfnEventBus(
4005
4295
  description: typing.Optional[builtins.str] = None,
4006
4296
  event_source_name: typing.Optional[builtins.str] = None,
4007
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,
4008
4299
  policy: typing.Any = None,
4009
4300
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4010
4301
  ) -> None:
4011
- '''
4302
+ '''Create a new ``AWS::Events::EventBus``.
4303
+
4012
4304
  :param scope: Scope in which this resource is defined.
4013
4305
  :param id: Construct identifier for this resource (unique in its scope).
4014
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.
@@ -4016,6 +4308,7 @@ class CfnEventBus(
4016
4308
  :param description: The event bus description.
4017
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.
4018
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* .
4019
4312
  :param policy: The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
4020
4313
  :param tags: Tags to associate with the event bus.
4021
4314
  '''
@@ -4029,12 +4322,55 @@ class CfnEventBus(
4029
4322
  description=description,
4030
4323
  event_source_name=event_source_name,
4031
4324
  kms_key_identifier=kms_key_identifier,
4325
+ log_config=log_config,
4032
4326
  policy=policy,
4033
4327
  tags=tags,
4034
4328
  )
4035
4329
 
4036
4330
  jsii.create(self.__class__, self, [scope, id, props])
4037
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
+
4038
4374
  @jsii.member(jsii_name="inspect")
4039
4375
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4040
4376
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4102,6 +4438,12 @@ class CfnEventBus(
4102
4438
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4103
4439
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4104
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
+
4105
4447
  @builtins.property
4106
4448
  @jsii.member(jsii_name="name")
4107
4449
  def name(self) -> builtins.str:
@@ -4172,6 +4514,24 @@ class CfnEventBus(
4172
4514
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4173
4515
  jsii.set(self, "kmsKeyIdentifier", value) # pyright: ignore[reportArgumentType]
4174
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
+
4175
4535
  @builtins.property
4176
4536
  @jsii.member(jsii_name="policy")
4177
4537
  def policy(self) -> typing.Any:
@@ -4251,8 +4611,86 @@ class CfnEventBus(
4251
4611
  k + "=" + repr(v) for k, v in self._values.items()
4252
4612
  )
4253
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
+
4254
4692
 
4255
- @jsii.implements(_IInspectable_c2943556)
4693
+ @jsii.implements(_IInspectable_c2943556, _IEventBusPolicyRef_308d5d57)
4256
4694
  class CfnEventBusPolicy(
4257
4695
  _CfnResource_9df397a6,
4258
4696
  metaclass=jsii.JSIIMeta,
@@ -4310,14 +4748,15 @@ class CfnEventBusPolicy(
4310
4748
  principal: typing.Optional[builtins.str] = None,
4311
4749
  statement: typing.Any = None,
4312
4750
  ) -> None:
4313
- '''
4751
+ '''Create a new ``AWS::Events::EventBusPolicy``.
4752
+
4314
4753
  :param scope: Scope in which this resource is defined.
4315
4754
  :param id: Construct identifier for this resource (unique in its scope).
4316
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.
4317
- :param action: The action that you are enabling the other account to perform.
4318
- :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.
4319
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.
4320
- :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.
4321
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.
4322
4761
  '''
4323
4762
  if __debug__:
@@ -4365,19 +4804,17 @@ class CfnEventBusPolicy(
4365
4804
  '''The CloudFormation resource type name for this resource class.'''
4366
4805
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4367
4806
 
4368
- @builtins.property
4369
- @jsii.member(jsii_name="attrId")
4370
- def attr_id(self) -> builtins.str:
4371
- '''
4372
- :cloudformationAttribute: Id
4373
- '''
4374
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
4375
-
4376
4807
  @builtins.property
4377
4808
  @jsii.member(jsii_name="cfnProperties")
4378
4809
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4379
4810
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4380
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
+
4381
4818
  @builtins.property
4382
4819
  @jsii.member(jsii_name="statementId")
4383
4820
  def statement_id(self) -> builtins.str:
@@ -4394,7 +4831,12 @@ class CfnEventBusPolicy(
4394
4831
  @builtins.property
4395
4832
  @jsii.member(jsii_name="action")
4396
4833
  def action(self) -> typing.Optional[builtins.str]:
4397
- '''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
+ '''
4398
4840
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "action"))
4399
4841
 
4400
4842
  @action.setter
@@ -4409,7 +4851,12 @@ class CfnEventBusPolicy(
4409
4851
  def condition(
4410
4852
  self,
4411
4853
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBusPolicy.ConditionProperty"]]:
4412
- '''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
+ '''
4413
4860
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEventBusPolicy.ConditionProperty"]], jsii.get(self, "condition"))
4414
4861
 
4415
4862
  @condition.setter
@@ -4438,7 +4885,12 @@ class CfnEventBusPolicy(
4438
4885
  @builtins.property
4439
4886
  @jsii.member(jsii_name="principal")
4440
4887
  def principal(self) -> typing.Optional[builtins.str]:
4441
- '''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
+ '''
4442
4894
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "principal"))
4443
4895
 
4444
4896
  @principal.setter
@@ -4474,15 +4926,11 @@ class CfnEventBusPolicy(
4474
4926
  type: typing.Optional[builtins.str] = None,
4475
4927
  value: typing.Optional[builtins.str] = None,
4476
4928
  ) -> None:
4477
- '''A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition.
4478
-
4479
- 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`` :
4480
-
4481
- ``'{"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.
4482
4930
 
4483
- :param key: Specifies the key for the condition. Currently the only supported key is ``aws:PrincipalOrgID`` .
4484
- :param type: Specifies the type of condition. Currently the only supported value is ``StringEquals`` .
4485
- :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.
4486
4934
 
4487
4935
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html
4488
4936
  :exampleMetadata: fixture=_generated
@@ -4514,9 +4962,9 @@ class CfnEventBusPolicy(
4514
4962
 
4515
4963
  @builtins.property
4516
4964
  def key(self) -> typing.Optional[builtins.str]:
4517
- '''Specifies the key for the condition.
4965
+ '''Specifies the value for the key.
4518
4966
 
4519
- Currently the only supported key is ``aws:PrincipalOrgID`` .
4967
+ Currently, this must be the ID of the organization.
4520
4968
 
4521
4969
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key
4522
4970
  '''
@@ -4527,7 +4975,7 @@ class CfnEventBusPolicy(
4527
4975
  def type(self) -> typing.Optional[builtins.str]:
4528
4976
  '''Specifies the type of condition.
4529
4977
 
4530
- Currently the only supported value is ``StringEquals`` .
4978
+ Currently the only supported value is StringEquals.
4531
4979
 
4532
4980
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type
4533
4981
  '''
@@ -4536,9 +4984,9 @@ class CfnEventBusPolicy(
4536
4984
 
4537
4985
  @builtins.property
4538
4986
  def value(self) -> typing.Optional[builtins.str]:
4539
- '''Specifies the value for the key.
4987
+ '''Specifies the key for the condition.
4540
4988
 
4541
- Currently, this must be the ID of the organization.
4989
+ Currently the only supported key is aws:PrincipalOrgID.
4542
4990
 
4543
4991
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value
4544
4992
  '''
@@ -4583,10 +5031,10 @@ class CfnEventBusPolicyProps:
4583
5031
  '''Properties for defining a ``CfnEventBusPolicy``.
4584
5032
 
4585
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.
4586
- :param action: The action that you are enabling the other account to perform.
4587
- :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.
4588
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.
4589
- :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.
4590
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.
4591
5039
 
4592
5040
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
@@ -4654,9 +5102,12 @@ class CfnEventBusPolicyProps:
4654
5102
 
4655
5103
  @builtins.property
4656
5104
  def action(self) -> typing.Optional[builtins.str]:
4657
- '''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
4658
5108
 
4659
5109
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
5110
+ :stability: deprecated
4660
5111
  '''
4661
5112
  result = self._values.get("action")
4662
5113
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4665,15 +5116,12 @@ class CfnEventBusPolicyProps:
4665
5116
  def condition(
4666
5117
  self,
4667
5118
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBusPolicy.ConditionProperty]]:
4668
- '''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.
4669
-
4670
- 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* .
4671
-
4672
- 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.
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.
4673
5120
 
4674
- The ``Condition`` is a JSON string which must contain ``Type`` , ``Key`` , and ``Value`` fields.
5121
+ :deprecated: this property has been deprecated
4675
5122
 
4676
5123
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
5124
+ :stability: deprecated
4677
5125
  '''
4678
5126
  result = self._values.get("condition")
4679
5127
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBusPolicy.ConditionProperty]], result)
@@ -4691,13 +5139,14 @@ class CfnEventBusPolicyProps:
4691
5139
 
4692
5140
  @builtins.property
4693
5141
  def principal(self) -> typing.Optional[builtins.str]:
4694
- '''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.
4695
5143
 
4696
5144
  Specify "*" to permit any account to put events to your default event bus.
4697
5145
 
4698
- 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
4699
5147
 
4700
5148
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
5149
+ :stability: deprecated
4701
5150
  '''
4702
5151
  result = self._values.get("principal")
4703
5152
  return typing.cast(typing.Optional[builtins.str], result)
@@ -4734,6 +5183,7 @@ class CfnEventBusPolicyProps:
4734
5183
  "description": "description",
4735
5184
  "event_source_name": "eventSourceName",
4736
5185
  "kms_key_identifier": "kmsKeyIdentifier",
5186
+ "log_config": "logConfig",
4737
5187
  "policy": "policy",
4738
5188
  "tags": "tags",
4739
5189
  },
@@ -4747,6 +5197,7 @@ class CfnEventBusProps:
4747
5197
  description: typing.Optional[builtins.str] = None,
4748
5198
  event_source_name: typing.Optional[builtins.str] = None,
4749
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,
4750
5201
  policy: typing.Any = None,
4751
5202
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4752
5203
  ) -> None:
@@ -4757,6 +5208,7 @@ class CfnEventBusProps:
4757
5208
  :param description: The event bus description.
4758
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.
4759
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* .
4760
5212
  :param policy: The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
4761
5213
  :param tags: Tags to associate with the event bus.
4762
5214
 
@@ -4781,6 +5233,10 @@ class CfnEventBusProps:
4781
5233
  description="description",
4782
5234
  event_source_name="eventSourceName",
4783
5235
  kms_key_identifier="kmsKeyIdentifier",
5236
+ log_config=events.CfnEventBus.LogConfigProperty(
5237
+ include_detail="includeDetail",
5238
+ level="level"
5239
+ ),
4784
5240
  policy=policy,
4785
5241
  tags=[CfnTag(
4786
5242
  key="key",
@@ -4795,6 +5251,7 @@ class CfnEventBusProps:
4795
5251
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
4796
5252
  check_type(argname="argument event_source_name", value=event_source_name, expected_type=type_hints["event_source_name"])
4797
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"])
4798
5255
  check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
4799
5256
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4800
5257
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -4808,6 +5265,8 @@ class CfnEventBusProps:
4808
5265
  self._values["event_source_name"] = event_source_name
4809
5266
  if kms_key_identifier is not None:
4810
5267
  self._values["kms_key_identifier"] = kms_key_identifier
5268
+ if log_config is not None:
5269
+ self._values["log_config"] = log_config
4811
5270
  if policy is not None:
4812
5271
  self._values["policy"] = policy
4813
5272
  if tags is not None:
@@ -4883,6 +5342,19 @@ class CfnEventBusProps:
4883
5342
  result = self._values.get("kms_key_identifier")
4884
5343
  return typing.cast(typing.Optional[builtins.str], result)
4885
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
+
4886
5358
  @builtins.property
4887
5359
  def policy(self) -> typing.Any:
4888
5360
  '''The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.
@@ -4913,7 +5385,7 @@ class CfnEventBusProps:
4913
5385
  )
4914
5386
 
4915
5387
 
4916
- @jsii.implements(_IInspectable_c2943556)
5388
+ @jsii.implements(_IInspectable_c2943556, _IRuleRef_4038a611, _ITaggableV2_4e6798f8)
4917
5389
  class CfnRule(
4918
5390
  _CfnResource_9df397a6,
4919
5391
  metaclass=jsii.JSIIMeta,
@@ -4962,6 +5434,10 @@ class CfnRule(
4962
5434
  role_arn="roleArn",
4963
5435
  schedule_expression="scheduleExpression",
4964
5436
  state="state",
5437
+ tags=[CfnTag(
5438
+ key="key",
5439
+ value="value"
5440
+ )],
4965
5441
  targets=[events.CfnRule.TargetProperty(
4966
5442
  arn="arn",
4967
5443
  id="id",
@@ -5095,9 +5571,11 @@ class CfnRule(
5095
5571
  role_arn: typing.Optional[builtins.str] = None,
5096
5572
  schedule_expression: typing.Optional[builtins.str] = None,
5097
5573
  state: typing.Optional[builtins.str] = None,
5574
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5098
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,
5099
5576
  ) -> None:
5100
- '''
5577
+ '''Create a new ``AWS::Events::Rule``.
5578
+
5101
5579
  :param scope: Scope in which this resource is defined.
5102
5580
  :param id: Construct identifier for this resource (unique in its scope).
5103
5581
  :param description: The description of the rule.
@@ -5107,6 +5585,7 @@ class CfnRule(
5107
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.
5108
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>`_ .
5109
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.
5110
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.
5111
5590
  '''
5112
5591
  if __debug__:
@@ -5121,6 +5600,7 @@ class CfnRule(
5121
5600
  role_arn=role_arn,
5122
5601
  schedule_expression=schedule_expression,
5123
5602
  state=state,
5603
+ tags=tags,
5124
5604
  targets=targets,
5125
5605
  )
5126
5606
 
@@ -5165,11 +5645,23 @@ class CfnRule(
5165
5645
  '''
5166
5646
  return typing.cast(builtins.str, jsii.get(self, "attrArn"))
5167
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
+
5168
5654
  @builtins.property
5169
5655
  @jsii.member(jsii_name="cfnProperties")
5170
5656
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5171
5657
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5172
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
+
5173
5665
  @builtins.property
5174
5666
  @jsii.member(jsii_name="description")
5175
5667
  def description(self) -> typing.Optional[builtins.str]:
@@ -5261,6 +5753,19 @@ class CfnRule(
5261
5753
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5262
5754
  jsii.set(self, "state", value) # pyright: ignore[reportArgumentType]
5263
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
+
5264
5769
  @builtins.property
5265
5770
  @jsii.member(jsii_name="targets")
5266
5771
  def targets(
@@ -7161,9 +7666,9 @@ class CfnRule(
7161
7666
  )
7162
7667
  class SqsParametersProperty:
7163
7668
  def __init__(self, *, message_group_id: builtins.str) -> None:
7164
- '''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.
7165
7670
 
7166
- :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.
7167
7672
 
7168
7673
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html
7169
7674
  :exampleMetadata: fixture=_generated
@@ -7187,7 +7692,7 @@ class CfnRule(
7187
7692
 
7188
7693
  @builtins.property
7189
7694
  def message_group_id(self) -> builtins.str:
7190
- '''The FIFO message group ID to use as the target.
7695
+ '''The ID of the message group to use as the target.
7191
7696
 
7192
7697
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid
7193
7698
  '''
@@ -7350,7 +7855,7 @@ class CfnRule(
7350
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.
7351
7856
  :param run_command_parameters: Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
7352
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.
7353
- :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.
7354
7859
 
7355
7860
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
7356
7861
  :exampleMetadata: fixture=_generated
@@ -7728,9 +8233,9 @@ class CfnRule(
7728
8233
  def sqs_parameters(
7729
8234
  self,
7730
8235
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRule.SqsParametersProperty"]]:
7731
- '''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.
7732
8237
 
7733
- 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.
7734
8239
 
7735
8240
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters
7736
8241
  '''
@@ -7760,6 +8265,7 @@ class CfnRule(
7760
8265
  "role_arn": "roleArn",
7761
8266
  "schedule_expression": "scheduleExpression",
7762
8267
  "state": "state",
8268
+ "tags": "tags",
7763
8269
  "targets": "targets",
7764
8270
  },
7765
8271
  )
@@ -7774,6 +8280,7 @@ class CfnRuleProps:
7774
8280
  role_arn: typing.Optional[builtins.str] = None,
7775
8281
  schedule_expression: typing.Optional[builtins.str] = None,
7776
8282
  state: typing.Optional[builtins.str] = None,
8283
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7777
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,
7778
8285
  ) -> None:
7779
8286
  '''Properties for defining a ``CfnRule``.
@@ -7785,6 +8292,7 @@ class CfnRuleProps:
7785
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.
7786
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>`_ .
7787
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.
7788
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.
7789
8297
 
7790
8298
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
@@ -7806,6 +8314,10 @@ class CfnRuleProps:
7806
8314
  role_arn="roleArn",
7807
8315
  schedule_expression="scheduleExpression",
7808
8316
  state="state",
8317
+ tags=[CfnTag(
8318
+ key="key",
8319
+ value="value"
8320
+ )],
7809
8321
  targets=[events.CfnRule.TargetProperty(
7810
8322
  arn="arn",
7811
8323
  id="id",
@@ -7935,6 +8447,7 @@ class CfnRuleProps:
7935
8447
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
7936
8448
  check_type(argname="argument schedule_expression", value=schedule_expression, expected_type=type_hints["schedule_expression"])
7937
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"])
7938
8451
  check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
7939
8452
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7940
8453
  if description is not None:
@@ -7951,6 +8464,8 @@ class CfnRuleProps:
7951
8464
  self._values["schedule_expression"] = schedule_expression
7952
8465
  if state is not None:
7953
8466
  self._values["state"] = state
8467
+ if tags is not None:
8468
+ self._values["tags"] = tags
7954
8469
  if targets is not None:
7955
8470
  self._values["targets"] = targets
7956
8471
 
@@ -8032,8 +8547,17 @@ class CfnRuleProps:
8032
8547
 
8033
8548
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state
8034
8549
  '''
8035
- result = self._values.get("state")
8036
- return typing.cast(typing.Optional[builtins.str], result)
8550
+ result = self._values.get("state")
8551
+ return typing.cast(typing.Optional[builtins.str], result)
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)
8037
8561
 
8038
8562
  @builtins.property
8039
8563
  def targets(
@@ -8646,6 +9170,12 @@ class EventBusPolicy(
8646
9170
 
8647
9171
  jsii.create(self.__class__, self, [scope, id, props])
8648
9172
 
9173
+ @jsii.python.classproperty
9174
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
9175
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
9176
+ '''Uniquely identifies this class.'''
9177
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
9178
+
8649
9179
 
8650
9180
  @jsii.data_type(
8651
9181
  jsii_type="aws-cdk-lib.aws_events.EventBusPolicyProps",
@@ -8741,6 +9271,7 @@ class EventBusPolicyProps:
8741
9271
  "event_bus_name": "eventBusName",
8742
9272
  "event_source_name": "eventSourceName",
8743
9273
  "kms_key": "kmsKey",
9274
+ "log_config": "logConfig",
8744
9275
  },
8745
9276
  )
8746
9277
  class EventBusProps:
@@ -8752,6 +9283,7 @@ class EventBusProps:
8752
9283
  event_bus_name: typing.Optional[builtins.str] = None,
8753
9284
  event_source_name: typing.Optional[builtins.str] = None,
8754
9285
  kms_key: typing.Optional[_IKey_5f11635f] = None,
9286
+ log_config: typing.Optional[typing.Union["LogConfig", typing.Dict[builtins.str, typing.Any]]] = None,
8755
9287
  ) -> None:
8756
9288
  '''Properties to define an event bus.
8757
9289
 
@@ -8760,6 +9292,7 @@ class EventBusProps:
8760
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
8761
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
8762
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
8763
9296
 
8764
9297
  :exampleMetadata: infused
8765
9298
 
@@ -8783,6 +9316,8 @@ class EventBusProps:
8783
9316
  )]
8784
9317
  )
8785
9318
  '''
9319
+ if isinstance(log_config, dict):
9320
+ log_config = LogConfig(**log_config)
8786
9321
  if __debug__:
8787
9322
  type_hints = typing.get_type_hints(_typecheckingstub__298a8c4285f4e039344007a0deb097d820ddec52c59d396d7a8faa1aa9c8b743)
8788
9323
  check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
@@ -8790,6 +9325,7 @@ class EventBusProps:
8790
9325
  check_type(argname="argument event_bus_name", value=event_bus_name, expected_type=type_hints["event_bus_name"])
8791
9326
  check_type(argname="argument event_source_name", value=event_source_name, expected_type=type_hints["event_source_name"])
8792
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"])
8793
9329
  self._values: typing.Dict[builtins.str, typing.Any] = {}
8794
9330
  if dead_letter_queue is not None:
8795
9331
  self._values["dead_letter_queue"] = dead_letter_queue
@@ -8801,6 +9337,8 @@ class EventBusProps:
8801
9337
  self._values["event_source_name"] = event_source_name
8802
9338
  if kms_key is not None:
8803
9339
  self._values["kms_key"] = kms_key
9340
+ if log_config is not None:
9341
+ self._values["log_config"] = log_config
8804
9342
 
8805
9343
  @builtins.property
8806
9344
  def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
@@ -8857,6 +9395,15 @@ class EventBusProps:
8857
9395
  result = self._values.get("kms_key")
8858
9396
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
8859
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
+
8860
9407
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8861
9408
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8862
9409
 
@@ -9465,6 +10012,16 @@ class IApiDestination(_IResource_c80c4260, typing_extensions.Protocol):
9465
10012
  '''
9466
10013
  ...
9467
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
+
9468
10025
 
9469
10026
  class _IApiDestinationProxy(
9470
10027
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
@@ -9491,6 +10048,16 @@ class _IApiDestinationProxy(
9491
10048
  '''
9492
10049
  return typing.cast(builtins.str, jsii.get(self, "apiDestinationName"))
9493
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
+
9494
10061
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9495
10062
  typing.cast(typing.Any, IApiDestination).__jsii_proxy_class__ = lambda : _IApiDestinationProxy
9496
10063
 
@@ -9616,6 +10183,7 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9616
10183
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
9617
10184
  archive_name: typing.Optional[builtins.str] = None,
9618
10185
  description: typing.Optional[builtins.str] = None,
10186
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
9619
10187
  retention: typing.Optional[_Duration_4839e8c3] = None,
9620
10188
  ) -> Archive:
9621
10189
  '''Create an EventBridge archive to send events to.
@@ -9627,6 +10195,7 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9627
10195
  :param event_pattern: An event pattern to use to filter events sent to the archive.
9628
10196
  :param archive_name: The name of the archive. Default: - Automatically generated
9629
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
9630
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
9631
10200
  '''
9632
10201
  ...
@@ -9699,6 +10268,7 @@ class _IEventBusProxy(
9699
10268
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
9700
10269
  archive_name: typing.Optional[builtins.str] = None,
9701
10270
  description: typing.Optional[builtins.str] = None,
10271
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
9702
10272
  retention: typing.Optional[_Duration_4839e8c3] = None,
9703
10273
  ) -> Archive:
9704
10274
  '''Create an EventBridge archive to send events to.
@@ -9710,6 +10280,7 @@ class _IEventBusProxy(
9710
10280
  :param event_pattern: An event pattern to use to filter events sent to the archive.
9711
10281
  :param archive_name: The name of the archive. Default: - Automatically generated
9712
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
9713
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
9714
10285
  '''
9715
10286
  if __debug__:
@@ -9719,6 +10290,7 @@ class _IEventBusProxy(
9719
10290
  event_pattern=event_pattern,
9720
10291
  archive_name=archive_name,
9721
10292
  description=description,
10293
+ kms_key=kms_key,
9722
10294
  retention=retention,
9723
10295
  )
9724
10296
 
@@ -9845,6 +10417,142 @@ class _IRuleTargetProxy:
9845
10417
  typing.cast(typing.Any, IRuleTarget).__jsii_proxy_class__ = lambda : _IRuleTargetProxy
9846
10418
 
9847
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
+
9848
10556
  @jsii.implements(_IResolvable_da3f097b)
9849
10557
  class Match(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_events.Match"):
9850
10558
  '''An event pattern matcher.
@@ -10567,7 +11275,7 @@ class Rule(
10567
11275
  *,
10568
11276
  enabled: typing.Optional[builtins.bool] = None,
10569
11277
  event_bus: typing.Optional[IEventBus] = None,
10570
- role: typing.Optional[_IRole_235f5d8e] = None,
11278
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10571
11279
  schedule: typing.Optional["Schedule"] = None,
10572
11280
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
10573
11281
  cross_stack_scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
@@ -10715,6 +11423,12 @@ class Rule(
10715
11423
  def _validate_rule(self) -> typing.List[builtins.str]:
10716
11424
  return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validateRule", []))
10717
11425
 
11426
+ @jsii.python.classproperty
11427
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
11428
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
11429
+ '''Uniquely identifies this class.'''
11430
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
11431
+
10718
11432
  @builtins.property
10719
11433
  @jsii.member(jsii_name="ruleArn")
10720
11434
  def rule_arn(self) -> builtins.str:
@@ -10753,7 +11467,7 @@ class RuleProps(EventCommonOptions):
10753
11467
  rule_name: typing.Optional[builtins.str] = None,
10754
11468
  enabled: typing.Optional[builtins.bool] = None,
10755
11469
  event_bus: typing.Optional[IEventBus] = None,
10756
- role: typing.Optional[_IRole_235f5d8e] = None,
11470
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10757
11471
  schedule: typing.Optional["Schedule"] = None,
10758
11472
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
10759
11473
  ) -> None:
@@ -10886,7 +11600,7 @@ class RuleProps(EventCommonOptions):
10886
11600
  return typing.cast(typing.Optional[IEventBus], result)
10887
11601
 
10888
11602
  @builtins.property
10889
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
11603
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
10890
11604
  '''The role that is used for target invocation.
10891
11605
 
10892
11606
  Must be assumable by principal ``events.amazonaws.com``.
@@ -10894,7 +11608,7 @@ class RuleProps(EventCommonOptions):
10894
11608
  :default: - No role associated
10895
11609
  '''
10896
11610
  result = self._values.get("role")
10897
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
11611
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
10898
11612
 
10899
11613
  @builtins.property
10900
11614
  def schedule(self) -> typing.Optional["Schedule"]:
@@ -11740,6 +12454,7 @@ class ApiDestination(
11740
12454
  *,
11741
12455
  api_destination_arn: builtins.str,
11742
12456
  connection: IConnection,
12457
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
11743
12458
  ) -> "ApiDestination":
11744
12459
  '''Create an Api Destination construct from an existing Api Destination ARN.
11745
12460
 
@@ -11747,17 +12462,26 @@ class ApiDestination(
11747
12462
  :param id: The construct's id.
11748
12463
  :param api_destination_arn: The ARN of the Api Destination.
11749
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
11750
12466
  '''
11751
12467
  if __debug__:
11752
12468
  type_hints = typing.get_type_hints(_typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110fa18cb55)
11753
12469
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
11754
12470
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11755
12471
  attrs = ApiDestinationAttributes(
11756
- 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,
11757
12475
  )
11758
12476
 
11759
12477
  return typing.cast("ApiDestination", jsii.sinvoke(cls, "fromApiDestinationAttributes", [scope, id, attrs]))
11760
12478
 
12479
+ @jsii.python.classproperty
12480
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
12481
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
12482
+ '''Uniquely identifies this class.'''
12483
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
12484
+
11761
12485
  @builtins.property
11762
12486
  @jsii.member(jsii_name="apiDestinationArn")
11763
12487
  def api_destination_arn(self) -> builtins.str:
@@ -11782,6 +12506,15 @@ class ApiDestination(
11782
12506
  '''The Connection to associate with Api Destination.'''
11783
12507
  return typing.cast(IConnection, jsii.get(self, "connection"))
11784
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
+
11785
12518
 
11786
12519
  @jsii.data_type(
11787
12520
  jsii_type="aws-cdk-lib.aws_events.ArchiveProps",
@@ -11790,6 +12523,7 @@ class ApiDestination(
11790
12523
  "event_pattern": "eventPattern",
11791
12524
  "archive_name": "archiveName",
11792
12525
  "description": "description",
12526
+ "kms_key": "kmsKey",
11793
12527
  "retention": "retention",
11794
12528
  "source_event_bus": "sourceEventBus",
11795
12529
  },
@@ -11801,6 +12535,7 @@ class ArchiveProps(BaseArchiveProps):
11801
12535
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
11802
12536
  archive_name: typing.Optional[builtins.str] = None,
11803
12537
  description: typing.Optional[builtins.str] = None,
12538
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
11804
12539
  retention: typing.Optional[_Duration_4839e8c3] = None,
11805
12540
  source_event_bus: IEventBus,
11806
12541
  ) -> None:
@@ -11809,41 +12544,30 @@ class ArchiveProps(BaseArchiveProps):
11809
12544
  :param event_pattern: An event pattern to use to filter events sent to the archive.
11810
12545
  :param archive_name: The name of the archive. Default: - Automatically generated
11811
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
11812
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
11813
12549
  :param source_event_bus: The event source associated with the archive.
11814
12550
 
11815
- :exampleMetadata: fixture=_generated
12551
+ :exampleMetadata: infused
11816
12552
 
11817
12553
  Example::
11818
12554
 
11819
- # The code below shows an example of how to instantiate this type.
11820
- # The values are placeholders you should change.
11821
- import aws_cdk as cdk
11822
- 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
11823
12557
 
11824
- # detail: Any
11825
- # event_bus: events.EventBus
12558
+ # kms_key: kms.IKey
11826
12559
 
11827
- archive_props = events.ArchiveProps(
11828
- event_pattern=events.EventPattern(
11829
- account=["account"],
11830
- detail={
11831
- "detail_key": detail
11832
- },
11833
- detail_type=["detailType"],
11834
- id=["id"],
11835
- region=["region"],
11836
- resources=["resources"],
11837
- source=["source"],
11838
- time=["time"],
11839
- version=["version"]
11840
- ),
11841
- source_event_bus=event_bus,
11842
12560
 
11843
- # the properties below are optional
11844
- archive_name="archiveName",
11845
- description="description",
11846
- 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
+ )
11847
12571
  )
11848
12572
  '''
11849
12573
  if isinstance(event_pattern, dict):
@@ -11853,6 +12577,7 @@ class ArchiveProps(BaseArchiveProps):
11853
12577
  check_type(argname="argument event_pattern", value=event_pattern, expected_type=type_hints["event_pattern"])
11854
12578
  check_type(argname="argument archive_name", value=archive_name, expected_type=type_hints["archive_name"])
11855
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"])
11856
12581
  check_type(argname="argument retention", value=retention, expected_type=type_hints["retention"])
11857
12582
  check_type(argname="argument source_event_bus", value=source_event_bus, expected_type=type_hints["source_event_bus"])
11858
12583
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -11863,6 +12588,8 @@ class ArchiveProps(BaseArchiveProps):
11863
12588
  self._values["archive_name"] = archive_name
11864
12589
  if description is not None:
11865
12590
  self._values["description"] = description
12591
+ if kms_key is not None:
12592
+ self._values["kms_key"] = kms_key
11866
12593
  if retention is not None:
11867
12594
  self._values["retention"] = retention
11868
12595
 
@@ -11891,6 +12618,15 @@ class ArchiveProps(BaseArchiveProps):
11891
12618
  result = self._values.get("description")
11892
12619
  return typing.cast(typing.Optional[builtins.str], result)
11893
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
+
11894
12630
  @builtins.property
11895
12631
  def retention(self) -> typing.Optional[_Duration_4839e8c3]:
11896
12632
  '''The number of days to retain events for.
@@ -12043,6 +12779,12 @@ class Connection(
12043
12779
  check_type(argname="argument connection_secret_arn", value=connection_secret_arn, expected_type=type_hints["connection_secret_arn"])
12044
12780
  return typing.cast(IConnection, jsii.sinvoke(cls, "fromEventBusArn", [scope, id, connection_arn, connection_secret_arn]))
12045
12781
 
12782
+ @jsii.python.classproperty
12783
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
12784
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
12785
+ '''Uniquely identifies this class.'''
12786
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
12787
+
12046
12788
  @builtins.property
12047
12789
  @jsii.member(jsii_name="connectionArn")
12048
12790
  def connection_arn(self) -> builtins.str:
@@ -12106,6 +12848,7 @@ class EventBus(
12106
12848
  event_bus_name: typing.Optional[builtins.str] = None,
12107
12849
  event_source_name: typing.Optional[builtins.str] = None,
12108
12850
  kms_key: typing.Optional[_IKey_5f11635f] = None,
12851
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
12109
12852
  ) -> None:
12110
12853
  '''
12111
12854
  :param scope: -
@@ -12115,6 +12858,7 @@ class EventBus(
12115
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
12116
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
12117
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
12118
12862
  '''
12119
12863
  if __debug__:
12120
12864
  type_hints = typing.get_type_hints(_typecheckingstub__95a51d19a0503daf5e05f08738b44a6276eaa23c373c99735de37b1247783380)
@@ -12126,6 +12870,7 @@ class EventBus(
12126
12870
  event_bus_name=event_bus_name,
12127
12871
  event_source_name=event_source_name,
12128
12872
  kms_key=kms_key,
12873
+ log_config=log_config,
12129
12874
  )
12130
12875
 
12131
12876
  jsii.create(self.__class__, self, [scope, id, props])
@@ -12240,6 +12985,7 @@ class EventBus(
12240
12985
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12241
12986
  archive_name: typing.Optional[builtins.str] = None,
12242
12987
  description: typing.Optional[builtins.str] = None,
12988
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12243
12989
  retention: typing.Optional[_Duration_4839e8c3] = None,
12244
12990
  ) -> Archive:
12245
12991
  '''Create an EventBridge archive to send events to.
@@ -12251,6 +12997,7 @@ class EventBus(
12251
12997
  :param event_pattern: An event pattern to use to filter events sent to the archive.
12252
12998
  :param archive_name: The name of the archive. Default: - Automatically generated
12253
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
12254
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
12255
13002
  '''
12256
13003
  if __debug__:
@@ -12260,6 +13007,7 @@ class EventBus(
12260
13007
  event_pattern=event_pattern,
12261
13008
  archive_name=archive_name,
12262
13009
  description=description,
13010
+ kms_key=kms_key,
12263
13011
  retention=retention,
12264
13012
  )
12265
13013
 
@@ -12282,6 +13030,12 @@ class EventBus(
12282
13030
  check_type(argname="argument sid", value=sid, expected_type=type_hints["sid"])
12283
13031
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee, sid]))
12284
13032
 
13033
+ @jsii.python.classproperty
13034
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
13035
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
13036
+ '''Uniquely identifies this class.'''
13037
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
13038
+
12285
13039
  @builtins.property
12286
13040
  @jsii.member(jsii_name="eventBusArn")
12287
13041
  def event_bus_arn(self) -> builtins.str:
@@ -12348,6 +13102,9 @@ __all__ = [
12348
13102
  "IEventBus",
12349
13103
  "IRule",
12350
13104
  "IRuleTarget",
13105
+ "IncludeDetail",
13106
+ "Level",
13107
+ "LogConfig",
12351
13108
  "Match",
12352
13109
  "OAuthAuthorizationProps",
12353
13110
  "OnEventOptions",
@@ -12365,6 +13122,7 @@ def _typecheckingstub__803612bfb0a8da2a8e0ca427792d066e933032d6f722156869f619496
12365
13122
  *,
12366
13123
  api_destination_arn: builtins.str,
12367
13124
  connection: IConnection,
13125
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
12368
13126
  ) -> None:
12369
13127
  """Type checking stubs"""
12370
13128
  pass
@@ -12389,6 +13147,7 @@ def _typecheckingstub__3d354e4791ce999debd366401bf6abece64fe39da3a499dafa6b3996b
12389
13147
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12390
13148
  archive_name: typing.Optional[builtins.str] = None,
12391
13149
  description: typing.Optional[builtins.str] = None,
13150
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12392
13151
  retention: typing.Optional[_Duration_4839e8c3] = None,
12393
13152
  ) -> None:
12394
13153
  """Type checking stubs"""
@@ -12413,6 +13172,7 @@ def _typecheckingstub__74aa160eedb5cb0d834ff82193fc6747b652d04f044891f2ad16f69e1
12413
13172
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
12414
13173
  archive_name: typing.Optional[builtins.str] = None,
12415
13174
  description: typing.Optional[builtins.str] = None,
13175
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
12416
13176
  retention: typing.Optional[_Duration_4839e8c3] = None,
12417
13177
  ) -> None:
12418
13178
  """Type checking stubs"""
@@ -12432,6 +13192,22 @@ def _typecheckingstub__0c7f09c3557e2395656d23b74c8de1fbe1e4a3b537284c9d270edc631
12432
13192
  """Type checking stubs"""
12433
13193
  pass
12434
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
+
12435
13211
  def _typecheckingstub__158c0bb8fa8e9ef1c2e58e89a44ebad609986b410e381f81aedd0308a9e35b28(
12436
13212
  inspector: _TreeInspector_488e0dd5,
12437
13213
  ) -> None:
@@ -12506,6 +13282,22 @@ def _typecheckingstub__a963410c1802040879d7bcae9506f4438510f71eb6934c222d9c998db
12506
13282
  """Type checking stubs"""
12507
13283
  pass
12508
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
+
12509
13301
  def _typecheckingstub__c7da996869ac9a69e8a63a58883200e217a1913f5d321926f7ab5c4ebb3e56a6(
12510
13302
  inspector: _TreeInspector_488e0dd5,
12511
13303
  ) -> None:
@@ -12580,6 +13372,22 @@ def _typecheckingstub__65bde9b35de094b905dd335652d04503af85c50ac027a006a1d7ec926
12580
13372
  """Type checking stubs"""
12581
13373
  pass
12582
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
+
12583
13391
  def _typecheckingstub__192a6c229918a43504bd57de4e35ae7938880d0c805afe4cc4c5905924754719(
12584
13392
  inspector: _TreeInspector_488e0dd5,
12585
13393
  ) -> None:
@@ -12739,6 +13547,22 @@ def _typecheckingstub__66aefb2196270463c6a9f2eea0dcb5bb280d90c63f36870b21785e675
12739
13547
  """Type checking stubs"""
12740
13548
  pass
12741
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
+
12742
13566
  def _typecheckingstub__575b3a669c9a519cfd6641ef37eb4e16de10be20251ac40d8d954a8cac93bb17(
12743
13567
  inspector: _TreeInspector_488e0dd5,
12744
13568
  ) -> None:
@@ -12851,12 +13675,29 @@ def _typecheckingstub__5766595a149723459145d9f55c6afa7ed3017d49f4af7cec85e0fffe2
12851
13675
  description: typing.Optional[builtins.str] = None,
12852
13676
  event_source_name: typing.Optional[builtins.str] = None,
12853
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,
12854
13679
  policy: typing.Any = None,
12855
13680
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
12856
13681
  ) -> None:
12857
13682
  """Type checking stubs"""
12858
13683
  pass
12859
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
+
12860
13701
  def _typecheckingstub__505cff6efff7c5a6d5cba375be4fe0f0f9042abf1bfc4636e8e005ac832fdd64(
12861
13702
  inspector: _TreeInspector_488e0dd5,
12862
13703
  ) -> None:
@@ -12899,6 +13740,12 @@ def _typecheckingstub__1899d0d8378d7d8ade574708aa2d0221794e2fcd5f946287a6f238e59
12899
13740
  """Type checking stubs"""
12900
13741
  pass
12901
13742
 
13743
+ def _typecheckingstub__51db51bf8f1ebc8d9c19cdf02644ddeaaef6bd2b5c86607383cd85b5fa2030c1(
13744
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEventBus.LogConfigProperty]],
13745
+ ) -> None:
13746
+ """Type checking stubs"""
13747
+ pass
13748
+
12902
13749
  def _typecheckingstub__6069dbf8a749c1a9a0cd15c07c6efbd2f70dbd4c7e3a6e98efd29bdb8c7acb24(
12903
13750
  value: typing.Any,
12904
13751
  ) -> None:
@@ -12918,6 +13765,14 @@ def _typecheckingstub__19cc778177531cf61ae62a46e1a008d0fb9f91cd857dc37c522f0cd73
12918
13765
  """Type checking stubs"""
12919
13766
  pass
12920
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
+
12921
13776
  def _typecheckingstub__c6df7e81a60de40e0e425694b7757e614a634ac89c7c10147ca4c807819a6b71(
12922
13777
  scope: _constructs_77d1e7e8.Construct,
12923
13778
  id: builtins.str,
@@ -13008,6 +13863,7 @@ def _typecheckingstub__79e3f734387b70ada8040490433e9e9ec9b92701ddfb55826c4adc111
13008
13863
  description: typing.Optional[builtins.str] = None,
13009
13864
  event_source_name: typing.Optional[builtins.str] = None,
13010
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,
13011
13867
  policy: typing.Any = None,
13012
13868
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13013
13869
  ) -> None:
@@ -13025,6 +13881,7 @@ def _typecheckingstub__e06314755e55e41a2976ff974daa36bbbb473330c92c9fef111b716f2
13025
13881
  role_arn: typing.Optional[builtins.str] = None,
13026
13882
  schedule_expression: typing.Optional[builtins.str] = None,
13027
13883
  state: typing.Optional[builtins.str] = None,
13884
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13028
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,
13029
13886
  ) -> None:
13030
13887
  """Type checking stubs"""
@@ -13084,6 +13941,12 @@ def _typecheckingstub__08542b68c4470a8f44e4a04ee382bb40e94dc161aad2f92bfa79298da
13084
13941
  """Type checking stubs"""
13085
13942
  pass
13086
13943
 
13944
+ def _typecheckingstub__4daedf0bf9c9ce5671a843d87568d852259b36183898da9f395d6fb1b1a1e974(
13945
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
13946
+ ) -> None:
13947
+ """Type checking stubs"""
13948
+ pass
13949
+
13087
13950
  def _typecheckingstub__0b3ddab1471338782440504c486a52daa0e3a535b2209abca3766744b2fabcfc(
13088
13951
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnRule.TargetProperty]]]],
13089
13952
  ) -> None:
@@ -13311,6 +14174,7 @@ def _typecheckingstub__1ba0cfcfcd9cab75c7bd4b5ffa2348687b001ab869ed65280a51c734b
13311
14174
  role_arn: typing.Optional[builtins.str] = None,
13312
14175
  schedule_expression: typing.Optional[builtins.str] = None,
13313
14176
  state: typing.Optional[builtins.str] = None,
14177
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
13314
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,
13315
14179
  ) -> None:
13316
14180
  """Type checking stubs"""
@@ -13386,6 +14250,7 @@ def _typecheckingstub__298a8c4285f4e039344007a0deb097d820ddec52c59d396d7a8faa1aa
13386
14250
  event_bus_name: typing.Optional[builtins.str] = None,
13387
14251
  event_source_name: typing.Optional[builtins.str] = None,
13388
14252
  kms_key: typing.Optional[_IKey_5f11635f] = None,
14253
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
13389
14254
  ) -> None:
13390
14255
  """Type checking stubs"""
13391
14256
  pass
@@ -13445,6 +14310,7 @@ def _typecheckingstub__1ed58495b96f0f8ed0dfb0c65e8400413d45c5c1f372215e535272012
13445
14310
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13446
14311
  archive_name: typing.Optional[builtins.str] = None,
13447
14312
  description: typing.Optional[builtins.str] = None,
14313
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13448
14314
  retention: typing.Optional[_Duration_4839e8c3] = None,
13449
14315
  ) -> None:
13450
14316
  """Type checking stubs"""
@@ -13464,6 +14330,14 @@ def _typecheckingstub__ee62e84f884e0e5476947339e584feca527844abc70d56b2fe2d048cc
13464
14330
  """Type checking stubs"""
13465
14331
  pass
13466
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
+
13467
14341
  def _typecheckingstub__40e12e6e33c3e0969083091ee3865292a66ff488c5232a973beb73ef6c62c5fa(
13468
14342
  *matchers: typing.Any,
13469
14343
  ) -> None:
@@ -13633,7 +14507,7 @@ def _typecheckingstub__15ada85ef5f1cb4f0237eff6253e200138049f1bebbea7163294d28f9
13633
14507
  *,
13634
14508
  enabled: typing.Optional[builtins.bool] = None,
13635
14509
  event_bus: typing.Optional[IEventBus] = None,
13636
- role: typing.Optional[_IRole_235f5d8e] = None,
14510
+ role: typing.Optional[_IRoleRef_8400221f] = None,
13637
14511
  schedule: typing.Optional[Schedule] = None,
13638
14512
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
13639
14513
  cross_stack_scope: typing.Optional[_constructs_77d1e7e8.Construct] = None,
@@ -13666,7 +14540,7 @@ def _typecheckingstub__26677a946da4037892c1c589c005b7536d8ffed632ca92c5c52a92586
13666
14540
  rule_name: typing.Optional[builtins.str] = None,
13667
14541
  enabled: typing.Optional[builtins.bool] = None,
13668
14542
  event_bus: typing.Optional[IEventBus] = None,
13669
- role: typing.Optional[_IRole_235f5d8e] = None,
14543
+ role: typing.Optional[_IRoleRef_8400221f] = None,
13670
14544
  schedule: typing.Optional[Schedule] = None,
13671
14545
  targets: typing.Optional[typing.Sequence[IRuleTarget]] = None,
13672
14546
  ) -> None:
@@ -13765,6 +14639,7 @@ def _typecheckingstub__e49376311071a64effa3b8c1dd1bd3ee0e1b2ef0514b800dd0053110f
13765
14639
  *,
13766
14640
  api_destination_arn: builtins.str,
13767
14641
  connection: IConnection,
14642
+ api_destination_arn_for_policy: typing.Optional[builtins.str] = None,
13768
14643
  ) -> None:
13769
14644
  """Type checking stubs"""
13770
14645
  pass
@@ -13774,6 +14649,7 @@ def _typecheckingstub__3e9e21c5f043688b8d785343f3fca5b1c769d309ab6d381af52c9421a
13774
14649
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13775
14650
  archive_name: typing.Optional[builtins.str] = None,
13776
14651
  description: typing.Optional[builtins.str] = None,
14652
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13777
14653
  retention: typing.Optional[_Duration_4839e8c3] = None,
13778
14654
  source_event_bus: IEventBus,
13779
14655
  ) -> None:
@@ -13823,6 +14699,7 @@ def _typecheckingstub__95a51d19a0503daf5e05f08738b44a6276eaa23c373c99735de37b124
13823
14699
  event_bus_name: typing.Optional[builtins.str] = None,
13824
14700
  event_source_name: typing.Optional[builtins.str] = None,
13825
14701
  kms_key: typing.Optional[_IKey_5f11635f] = None,
14702
+ log_config: typing.Optional[typing.Union[LogConfig, typing.Dict[builtins.str, typing.Any]]] = None,
13826
14703
  ) -> None:
13827
14704
  """Type checking stubs"""
13828
14705
  pass
@@ -13873,6 +14750,7 @@ def _typecheckingstub__7330918630167c372966fe4a86452f34a261c80460ae944bcce168d6b
13873
14750
  event_pattern: typing.Union[EventPattern, typing.Dict[builtins.str, typing.Any]],
13874
14751
  archive_name: typing.Optional[builtins.str] = None,
13875
14752
  description: typing.Optional[builtins.str] = None,
14753
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
13876
14754
  retention: typing.Optional[_Duration_4839e8c3] = None,
13877
14755
  ) -> None:
13878
14756
  """Type checking stubs"""
@@ -13884,3 +14762,6 @@ def _typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c
13884
14762
  ) -> None:
13885
14763
  """Type checking stubs"""
13886
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__'])