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
@@ -17,9 +17,11 @@ Currently supported are:
17
17
  * [Start a StepFunctions state machine](#start-a-stepfunctions-state-machine)
18
18
  * [Queue a Batch job](#queue-a-batch-job)
19
19
  * [Invoke an API Gateway REST API](#invoke-an-api-gateway-rest-api)
20
+ * [Invoke an AWS API](#invoke-an-aws-api)
20
21
  * [Invoke an API Destination](#invoke-an-api-destination)
21
22
  * [Invoke an AppSync GraphQL API](#invoke-an-appsync-graphql-api)
22
23
  * [Put an event on an EventBridge bus](#put-an-event-on-an-eventbridge-bus)
24
+ * [Put an event on a Firehose delivery stream](#put-an-event-on-a-firehose-delivery-stream)
23
25
  * [Run an ECS Task](#run-an-ecs-task)
24
26
 
25
27
  * [Tagging Tasks](#tagging-tasks)
@@ -27,6 +29,7 @@ Currently supported are:
27
29
  * [Assign public IP addresses to tasks](#assign-public-ip-addresses-to-tasks)
28
30
  * [Enable Amazon ECS Exec for ECS Task](#enable-amazon-ecs-exec-for-ecs-task)
29
31
  * [Run a Redshift query](#schedule-a-redshift-query-serverless-or-cluster)
32
+ * [Publish to an SNS topic](#publish-to-an-sns-topic)
30
33
 
31
34
  See the README of the `aws-cdk-lib/aws-events` library for more information on
32
35
  EventBridge.
@@ -338,6 +341,68 @@ import aws_cdk.aws_apigatewayv2 as apigwv2
338
341
  rule.add_target(targets.ApiGatewayV2(http_api))
339
342
  ```
340
343
 
344
+ ## Invoke an AWS API
345
+
346
+ Use the `AwsApi` target to make direct AWS API calls from EventBridge rules. This is useful for invoking AWS services that don't have a dedicated EventBridge target.
347
+
348
+ ### Basic Usage
349
+
350
+ The following example shows how to update an ECS service when a rule is triggered:
351
+
352
+ ```python
353
+ rule = events.Rule(self, "Rule",
354
+ schedule=events.Schedule.rate(Duration.hours(1))
355
+ )
356
+
357
+ rule.add_target(targets.AwsApi(
358
+ service="ECS",
359
+ action="updateService",
360
+ parameters={
361
+ "service": "my-service",
362
+ "force_new_deployment": True
363
+ }
364
+ ))
365
+ ```
366
+
367
+ ### IAM Permissions
368
+
369
+ By default, the AwsApi target automatically creates the necessary IAM permissions based on the service and action you specify. The permission format follows the pattern: `service:Action`.
370
+
371
+ For example:
372
+
373
+ * `ECS` service with `updateService` action → `ecs:UpdateService` permission
374
+ * `RDS` service with `createDBSnapshot` action → `rds:CreateDBSnapshot` permission
375
+
376
+ ### Custom IAM Policy
377
+
378
+ In some cases, you may need to provide a custom IAM policy statement, especially when:
379
+
380
+ * You need to restrict permissions to specific resources (instead of `*`)
381
+ * The service requires additional permissions beyond the main action
382
+ * You want more granular control over the permissions
383
+
384
+ ```python
385
+ import aws_cdk.aws_iam as iam
386
+ import aws_cdk.aws_s3 as s3
387
+
388
+ # rule: events.Rule
389
+ # bucket: s3.Bucket
390
+
391
+
392
+ rule.add_target(targets.AwsApi(
393
+ service="s3",
394
+ action="GetBucketEncryption",
395
+ parameters={
396
+ "Bucket": bucket.bucket_name
397
+ },
398
+ policy_statement=iam.PolicyStatement(
399
+ effect=iam.Effect.ALLOW,
400
+ actions=["s3:GetEncryptionConfiguration"],
401
+ resources=[bucket.bucket_arn]
402
+ )
403
+ ))
404
+ ```
405
+
341
406
  ## Invoke an API Destination
342
407
 
343
408
  Use the `targets.ApiDestination` target to trigger an external API. You need to
@@ -369,8 +434,13 @@ to create additional rules:
369
434
  ```python
370
435
  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")
371
436
 
372
- api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
373
- destination = events.ApiDestination.from_api_destination_attributes(self, "Destination", api_destination_arn=api_destination_arn, connection=connection)
437
+ api_destination_arn = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName/11111111-1111-1111-1111-111111111111"
438
+ api_destination_arn_for_policy = "arn:aws:events:us-east-1:123456789012:api-destination/DestinationName"
439
+ destination = events.ApiDestination.from_api_destination_attributes(self, "Destination",
440
+ api_destination_arn=api_destination_arn,
441
+ connection=connection,
442
+ api_destination_arn_for_policy=api_destination_arn_for_policy
443
+ )
374
444
 
375
445
  rule = events.Rule(self, "OtherRule",
376
446
  schedule=events.Schedule.rate(Duration.minutes(10)),
@@ -454,6 +524,28 @@ rule.add_target(targets.EventBus(
454
524
  events.EventBus.from_event_bus_arn(self, "External", "arn:aws:events:eu-west-1:999999999999:event-bus/test-bus")))
455
525
  ```
456
526
 
527
+ ## Put an event on a Firehose delivery stream
528
+
529
+ Use the `FirehoseDeliveryStream` target to put event to an Amazon Data Firehose delivery stream.
530
+
531
+ The code snippet below creates the scheduled event rule that put events to an Amazon Data Firehose delivery stream.
532
+
533
+ ```python
534
+ import aws_cdk.aws_kinesisfirehose as firehose
535
+ import aws_cdk.aws_s3 as s3
536
+
537
+ # bucket: s3.Bucket
538
+
539
+ stream = firehose.DeliveryStream(self, "DeliveryStream",
540
+ destination=firehose.S3Bucket(bucket)
541
+ )
542
+
543
+ rule = events.Rule(self, "Rule",
544
+ schedule=events.Schedule.expression("rate(1 minute)")
545
+ )
546
+ rule.add_target(targets.FirehoseDeliveryStream(stream))
547
+ ```
548
+
457
549
  ## Run an ECS Task
458
550
 
459
551
  Use the `EcsTask` target to run an ECS Task.
@@ -624,6 +716,40 @@ rule.add_target(targets.RedshiftQuery(workgroup.attr_workgroup_workgroup_arn,
624
716
  sql=["SELECT * FROM foo", "SELECT * FROM baz"]
625
717
  ))
626
718
  ```
719
+
720
+ ## Publish to an SNS Topic
721
+
722
+ Use the `SnsTopic` target to publish to an SNS Topic.
723
+
724
+ The code snippet below creates the scheduled event rule that publishes to an SNS Topic using a resource policy.
725
+
726
+ ```python
727
+ import aws_cdk.aws_sns as sns
728
+
729
+ # topic: sns.ITopic
730
+
731
+
732
+ rule = events.Rule(self, "Rule",
733
+ schedule=events.Schedule.rate(cdk.Duration.hours(1))
734
+ )
735
+
736
+ rule.add_target(targets.SnsTopic(topic))
737
+ ```
738
+
739
+ Alternatively, a role can be attached to the target when the rule is triggered.
740
+
741
+ ```python
742
+ import aws_cdk.aws_sns as sns
743
+
744
+ # topic: sns.ITopic
745
+
746
+
747
+ rule = events.Rule(self, "Rule",
748
+ schedule=events.Schedule.rate(cdk.Duration.hours(1))
749
+ )
750
+
751
+ rule.add_target(targets.SnsTopic(topic, authorize_using_role=True))
752
+ ```
627
753
  '''
628
754
  from pkgutil import extend_path
629
755
  __path__ = extend_path(__path__, __name__)
@@ -690,7 +816,10 @@ from ..aws_iam import (
690
816
  IRole as _IRole_235f5d8e, PolicyStatement as _PolicyStatement_0fe33853
691
817
  )
692
818
  from ..aws_kinesis import IStream as _IStream_4e2457d2
693
- from ..aws_kinesisfirehose import CfnDeliveryStream as _CfnDeliveryStream_8f3b1735
819
+ from ..aws_kinesisfirehose import (
820
+ CfnDeliveryStream as _CfnDeliveryStream_8f3b1735,
821
+ IDeliveryStream as _IDeliveryStream_8f118861,
822
+ )
694
823
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
695
824
  from ..aws_logs import ILogGroup as _ILogGroup_3c4fa718
696
825
  from ..aws_secretsmanager import ISecret as _ISecret_6e020e6a
@@ -1103,28 +1232,22 @@ class AwsApi(
1103
1232
  ):
1104
1233
  '''Use an AWS Lambda function that makes API calls as an event rule target.
1105
1234
 
1106
- :exampleMetadata: fixture=_generated
1235
+ :exampleMetadata: infused
1107
1236
 
1108
1237
  Example::
1109
1238
 
1110
- # The code below shows an example of how to instantiate this type.
1111
- # The values are placeholders you should change.
1112
- from aws_cdk import aws_events_targets as events_targets
1113
- from aws_cdk import aws_iam as iam
1114
-
1115
- # parameters: Any
1116
- # policy_statement: iam.PolicyStatement
1117
-
1118
- aws_api = events_targets.AwsApi(
1119
- action="action",
1120
- service="service",
1121
-
1122
- # the properties below are optional
1123
- api_version="apiVersion",
1124
- catch_error_pattern="catchErrorPattern",
1125
- parameters=parameters,
1126
- policy_statement=policy_statement
1239
+ rule = events.Rule(self, "Rule",
1240
+ schedule=events.Schedule.rate(Duration.hours(1))
1127
1241
  )
1242
+
1243
+ rule.add_target(targets.AwsApi(
1244
+ service="ECS",
1245
+ action="updateService",
1246
+ parameters={
1247
+ "service": "my-service",
1248
+ "force_new_deployment": True
1249
+ }
1250
+ ))
1128
1251
  '''
1129
1252
 
1130
1253
  def __init__(
@@ -1340,28 +1463,22 @@ class AwsApiProps(AwsApiInput):
1340
1463
  :param parameters: The parameters for the service action. Default: - no parameters
1341
1464
  :param policy_statement: The IAM policy statement to allow the API call. Use only if resource restriction is needed. Default: - extract the permission from the API call
1342
1465
 
1343
- :exampleMetadata: fixture=_generated
1466
+ :exampleMetadata: infused
1344
1467
 
1345
1468
  Example::
1346
1469
 
1347
- # The code below shows an example of how to instantiate this type.
1348
- # The values are placeholders you should change.
1349
- from aws_cdk import aws_events_targets as events_targets
1350
- from aws_cdk import aws_iam as iam
1351
-
1352
- # parameters: Any
1353
- # policy_statement: iam.PolicyStatement
1354
-
1355
- aws_api_props = events_targets.AwsApiProps(
1356
- action="action",
1357
- service="service",
1358
-
1359
- # the properties below are optional
1360
- api_version="apiVersion",
1361
- catch_error_pattern="catchErrorPattern",
1362
- parameters=parameters,
1363
- policy_statement=policy_statement
1470
+ rule = events.Rule(self, "Rule",
1471
+ schedule=events.Schedule.rate(Duration.hours(1))
1364
1472
  )
1473
+
1474
+ rule.add_target(targets.AwsApi(
1475
+ service="ECS",
1476
+ action="updateService",
1477
+ parameters={
1478
+ "service": "my-service",
1479
+ "force_new_deployment": True
1480
+ }
1481
+ ))
1365
1482
  '''
1366
1483
  if __debug__:
1367
1484
  type_hints = typing.get_type_hints(_typecheckingstub__d0959cf5a09d52d03f2591de3b911528bd507126b7e2027cd7c4585de25301ad)
@@ -1648,19 +1765,19 @@ class CloudWatchLogGroup(
1648
1765
  @jsii.member(jsii_name="bind")
1649
1766
  def bind(
1650
1767
  self,
1651
- _rule: _IRule_af9e3d28,
1768
+ rule: _IRule_af9e3d28,
1652
1769
  _id: typing.Optional[builtins.str] = None,
1653
1770
  ) -> _RuleTargetConfig_4e70fe03:
1654
1771
  '''Returns a RuleTarget that can be used to log an event into a CloudWatch LogGroup.
1655
1772
 
1656
- :param _rule: -
1773
+ :param rule: -
1657
1774
  :param _id: -
1658
1775
  '''
1659
1776
  if __debug__:
1660
1777
  type_hints = typing.get_type_hints(_typecheckingstub__5583066efc6b7b2980bfbfbf33e6491271f5faf3b97e5d2ae998d1fe4189d1d4)
1661
- check_type(argname="argument _rule", value=_rule, expected_type=type_hints["_rule"])
1778
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
1662
1779
  check_type(argname="argument _id", value=_id, expected_type=type_hints["_id"])
1663
- return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [_rule, _id]))
1780
+ return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [rule, _id]))
1664
1781
 
1665
1782
 
1666
1783
  @jsii.implements(_IRuleTarget_7a91f454)
@@ -2064,19 +2181,19 @@ class EcsTask(
2064
2181
  @jsii.member(jsii_name="bind")
2065
2182
  def bind(
2066
2183
  self,
2067
- _rule: _IRule_af9e3d28,
2184
+ rule: _IRule_af9e3d28,
2068
2185
  _id: typing.Optional[builtins.str] = None,
2069
2186
  ) -> _RuleTargetConfig_4e70fe03:
2070
2187
  '''Allows using tasks as target of EventBridge events.
2071
2188
 
2072
- :param _rule: -
2189
+ :param rule: -
2073
2190
  :param _id: -
2074
2191
  '''
2075
2192
  if __debug__:
2076
2193
  type_hints = typing.get_type_hints(_typecheckingstub__8ad199a8641f171a0447e974756bbddd91b00aaa9bcf33d231826916b85b8166)
2077
- check_type(argname="argument _rule", value=_rule, expected_type=type_hints["_rule"])
2194
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
2078
2195
  check_type(argname="argument _id", value=_id, expected_type=type_hints["_id"])
2079
- return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [_rule, _id]))
2196
+ return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [rule, _id]))
2080
2197
 
2081
2198
  @builtins.property
2082
2199
  @jsii.member(jsii_name="securityGroups")
@@ -2281,15 +2398,142 @@ class EventBusProps:
2281
2398
  )
2282
2399
 
2283
2400
 
2401
+ @jsii.implements(_IRuleTarget_7a91f454)
2402
+ class FirehoseDeliveryStream(
2403
+ metaclass=jsii.JSIIMeta,
2404
+ jsii_type="aws-cdk-lib.aws_events_targets.FirehoseDeliveryStream",
2405
+ ):
2406
+ '''Customize the Amazon Data Firehose Stream Event Target.
2407
+
2408
+ :exampleMetadata: infused
2409
+
2410
+ Example::
2411
+
2412
+ import aws_cdk.aws_kinesisfirehose as firehose
2413
+ import aws_cdk.aws_s3 as s3
2414
+
2415
+ # bucket: s3.Bucket
2416
+
2417
+ stream = firehose.DeliveryStream(self, "DeliveryStream",
2418
+ destination=firehose.S3Bucket(bucket)
2419
+ )
2420
+
2421
+ rule = events.Rule(self, "Rule",
2422
+ schedule=events.Schedule.expression("rate(1 minute)")
2423
+ )
2424
+ rule.add_target(targets.FirehoseDeliveryStream(stream))
2425
+ '''
2426
+
2427
+ def __init__(
2428
+ self,
2429
+ delivery_stream: _IDeliveryStream_8f118861,
2430
+ *,
2431
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
2432
+ ) -> None:
2433
+ '''
2434
+ :param delivery_stream: -
2435
+ :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2436
+ '''
2437
+ if __debug__:
2438
+ type_hints = typing.get_type_hints(_typecheckingstub__e8b83537633e15491c91cd6cebe1eddb6bc388617c53b754a40f318f493dc48e)
2439
+ check_type(argname="argument delivery_stream", value=delivery_stream, expected_type=type_hints["delivery_stream"])
2440
+ props = FirehoseDeliveryStreamProps(message=message)
2441
+
2442
+ jsii.create(self.__class__, self, [delivery_stream, props])
2443
+
2444
+ @jsii.member(jsii_name="bind")
2445
+ def bind(
2446
+ self,
2447
+ _rule: _IRule_af9e3d28,
2448
+ _id: typing.Optional[builtins.str] = None,
2449
+ ) -> _RuleTargetConfig_4e70fe03:
2450
+ '''Returns a RuleTarget that can be used to trigger this Firehose Stream as a result from a Event Bridge event.
2451
+
2452
+ :param _rule: -
2453
+ :param _id: -
2454
+ '''
2455
+ if __debug__:
2456
+ type_hints = typing.get_type_hints(_typecheckingstub__45499f815ce457b36825c13b8a0a6ffd1d6994523698febc614678776c341fb7)
2457
+ check_type(argname="argument _rule", value=_rule, expected_type=type_hints["_rule"])
2458
+ check_type(argname="argument _id", value=_id, expected_type=type_hints["_id"])
2459
+ return typing.cast(_RuleTargetConfig_4e70fe03, jsii.invoke(self, "bind", [_rule, _id]))
2460
+
2461
+
2462
+ @jsii.data_type(
2463
+ jsii_type="aws-cdk-lib.aws_events_targets.FirehoseDeliveryStreamProps",
2464
+ jsii_struct_bases=[],
2465
+ name_mapping={"message": "message"},
2466
+ )
2467
+ class FirehoseDeliveryStreamProps:
2468
+ def __init__(
2469
+ self,
2470
+ *,
2471
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
2472
+ ) -> None:
2473
+ '''Customize the Amazon Data Firehose Stream Event Target.
2474
+
2475
+ :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2476
+
2477
+ :exampleMetadata: fixture=_generated
2478
+
2479
+ Example::
2480
+
2481
+ # The code below shows an example of how to instantiate this type.
2482
+ # The values are placeholders you should change.
2483
+ from aws_cdk import aws_events as events
2484
+ from aws_cdk import aws_events_targets as events_targets
2485
+
2486
+ # rule_target_input: events.RuleTargetInput
2487
+
2488
+ firehose_delivery_stream_props = events_targets.FirehoseDeliveryStreamProps(
2489
+ message=rule_target_input
2490
+ )
2491
+ '''
2492
+ if __debug__:
2493
+ type_hints = typing.get_type_hints(_typecheckingstub__c2311008fe7ae7c5e650063e35f32620f673ed3b0110bcab83f56ce21512d70c)
2494
+ check_type(argname="argument message", value=message, expected_type=type_hints["message"])
2495
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2496
+ if message is not None:
2497
+ self._values["message"] = message
2498
+
2499
+ @builtins.property
2500
+ def message(self) -> typing.Optional[_RuleTargetInput_6beca786]:
2501
+ '''The message to send to the stream.
2502
+
2503
+ Must be a valid JSON text passed to the target stream.
2504
+
2505
+ :default: - the entire Event Bridge event
2506
+ '''
2507
+ result = self._values.get("message")
2508
+ return typing.cast(typing.Optional[_RuleTargetInput_6beca786], result)
2509
+
2510
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2511
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2512
+
2513
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2514
+ return not (rhs == self)
2515
+
2516
+ def __repr__(self) -> str:
2517
+ return "FirehoseDeliveryStreamProps(%s)" % ", ".join(
2518
+ k + "=" + repr(v) for k, v in self._values.items()
2519
+ )
2520
+
2521
+
2284
2522
  @jsii.interface(jsii_type="aws-cdk-lib.aws_events_targets.IDeliveryStream")
2285
2523
  class IDeliveryStream(_IResource_c80c4260, typing_extensions.Protocol):
2286
- '''Represents an Amazon Data Firehose delivery stream.'''
2524
+ '''(deprecated) Represents an Amazon Data Firehose delivery stream.
2525
+
2526
+ :deprecated: Use aws_kinesisfirehose.IDeliveryStream
2527
+
2528
+ :stability: deprecated
2529
+ '''
2287
2530
 
2288
2531
  @builtins.property
2289
2532
  @jsii.member(jsii_name="deliveryStreamArn")
2290
2533
  def delivery_stream_arn(self) -> builtins.str:
2291
- '''The ARN of the delivery stream.
2534
+ '''(deprecated) The ARN of the delivery stream.
2292
2535
 
2536
+ :stability: deprecated
2293
2537
  :attribute: true
2294
2538
  '''
2295
2539
  ...
@@ -2297,8 +2541,9 @@ class IDeliveryStream(_IResource_c80c4260, typing_extensions.Protocol):
2297
2541
  @builtins.property
2298
2542
  @jsii.member(jsii_name="deliveryStreamName")
2299
2543
  def delivery_stream_name(self) -> builtins.str:
2300
- '''The name of the delivery stream.
2544
+ '''(deprecated) The name of the delivery stream.
2301
2545
 
2546
+ :stability: deprecated
2302
2547
  :attribute: true
2303
2548
  '''
2304
2549
  ...
@@ -2307,15 +2552,21 @@ class IDeliveryStream(_IResource_c80c4260, typing_extensions.Protocol):
2307
2552
  class _IDeliveryStreamProxy(
2308
2553
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
2309
2554
  ):
2310
- '''Represents an Amazon Data Firehose delivery stream.'''
2555
+ '''(deprecated) Represents an Amazon Data Firehose delivery stream.
2556
+
2557
+ :deprecated: Use aws_kinesisfirehose.IDeliveryStream
2558
+
2559
+ :stability: deprecated
2560
+ '''
2311
2561
 
2312
2562
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_events_targets.IDeliveryStream"
2313
2563
 
2314
2564
  @builtins.property
2315
2565
  @jsii.member(jsii_name="deliveryStreamArn")
2316
2566
  def delivery_stream_arn(self) -> builtins.str:
2317
- '''The ARN of the delivery stream.
2567
+ '''(deprecated) The ARN of the delivery stream.
2318
2568
 
2569
+ :stability: deprecated
2319
2570
  :attribute: true
2320
2571
  '''
2321
2572
  return typing.cast(builtins.str, jsii.get(self, "deliveryStreamArn"))
@@ -2323,8 +2574,9 @@ class _IDeliveryStreamProxy(
2323
2574
  @builtins.property
2324
2575
  @jsii.member(jsii_name="deliveryStreamName")
2325
2576
  def delivery_stream_name(self) -> builtins.str:
2326
- '''The name of the delivery stream.
2577
+ '''(deprecated) The name of the delivery stream.
2327
2578
 
2579
+ :stability: deprecated
2328
2580
  :attribute: true
2329
2581
  '''
2330
2582
  return typing.cast(builtins.str, jsii.get(self, "deliveryStreamName"))
@@ -2403,7 +2655,7 @@ class KinesisFirehoseStream(
2403
2655
  ):
2404
2656
  '''(deprecated) Customize the Amazon Data Firehose Stream Event Target.
2405
2657
 
2406
- :deprecated: Use KinesisFirehoseStreamV2
2658
+ :deprecated: Use FirehoseDeliveryStream
2407
2659
 
2408
2660
  :stability: deprecated
2409
2661
  :exampleMetadata: fixture=_generated
@@ -2432,7 +2684,7 @@ class KinesisFirehoseStream(
2432
2684
  ) -> None:
2433
2685
  '''
2434
2686
  :param stream: -
2435
- :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2687
+ :param message: (deprecated) The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2436
2688
 
2437
2689
  :stability: deprecated
2438
2690
  '''
@@ -2474,10 +2726,13 @@ class KinesisFirehoseStreamProps:
2474
2726
  *,
2475
2727
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
2476
2728
  ) -> None:
2477
- '''Customize the Amazon Data Firehose Stream Event Target.
2729
+ '''(deprecated) Customize the Amazon Data Firehose Stream Event Target.
2478
2730
 
2479
- :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2731
+ :param message: (deprecated) The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2732
+
2733
+ :deprecated: Use FirehoseDeliveryStreamProps
2480
2734
 
2735
+ :stability: deprecated
2481
2736
  :exampleMetadata: fixture=_generated
2482
2737
 
2483
2738
  Example::
@@ -2502,11 +2757,13 @@ class KinesisFirehoseStreamProps:
2502
2757
 
2503
2758
  @builtins.property
2504
2759
  def message(self) -> typing.Optional[_RuleTargetInput_6beca786]:
2505
- '''The message to send to the stream.
2760
+ '''(deprecated) The message to send to the stream.
2506
2761
 
2507
2762
  Must be a valid JSON text passed to the target stream.
2508
2763
 
2509
2764
  :default: - the entire Event Bridge event
2765
+
2766
+ :stability: deprecated
2510
2767
  '''
2511
2768
  result = self._values.get("message")
2512
2769
  return typing.cast(typing.Optional[_RuleTargetInput_6beca786], result)
@@ -2528,8 +2785,11 @@ class KinesisFirehoseStreamV2(
2528
2785
  metaclass=jsii.JSIIMeta,
2529
2786
  jsii_type="aws-cdk-lib.aws_events_targets.KinesisFirehoseStreamV2",
2530
2787
  ):
2531
- '''Customize the Amazon Data Firehose Stream Event Target V2 to support L2 Amazon Data Firehose Delivery Stream instead of L1 Cfn Firehose Delivery Stream.
2788
+ '''(deprecated) Customize the Amazon Data Firehose Stream Event Target V2 to support L2 Amazon Data Firehose Delivery Stream instead of L1 Cfn Firehose Delivery Stream.
2532
2789
 
2790
+ :deprecated: Use FirehoseDeliveryStream
2791
+
2792
+ :stability: deprecated
2533
2793
  :exampleMetadata: fixture=_generated
2534
2794
 
2535
2795
  Example::
@@ -2555,7 +2815,9 @@ class KinesisFirehoseStreamV2(
2555
2815
  ) -> None:
2556
2816
  '''
2557
2817
  :param stream: -
2558
- :param message: The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2818
+ :param message: (deprecated) The message to send to the stream. Must be a valid JSON text passed to the target stream. Default: - the entire Event Bridge event
2819
+
2820
+ :stability: deprecated
2559
2821
  '''
2560
2822
  if __debug__:
2561
2823
  type_hints = typing.get_type_hints(_typecheckingstub__e8230487c5e79599a4ad63af004c2c8350c2b25e209491350274d38019afa418)
@@ -2570,10 +2832,12 @@ class KinesisFirehoseStreamV2(
2570
2832
  _rule: _IRule_af9e3d28,
2571
2833
  _id: typing.Optional[builtins.str] = None,
2572
2834
  ) -> _RuleTargetConfig_4e70fe03:
2573
- '''Returns a RuleTarget that can be used to trigger this Firehose Stream as a result from a Event Bridge event.
2835
+ '''(deprecated) Returns a RuleTarget that can be used to trigger this Firehose Stream as a result from a Event Bridge event.
2574
2836
 
2575
2837
  :param _rule: -
2576
2838
  :param _id: -
2839
+
2840
+ :stability: deprecated
2577
2841
  '''
2578
2842
  if __debug__:
2579
2843
  type_hints = typing.get_type_hints(_typecheckingstub__3467ab0e593ed64d775dafc3b3fc1b1835fa2853c7ee8685668bf081dd189e44)
@@ -2760,7 +3024,7 @@ class LogGroupTargetInput(
2760
3024
  message: typing.Any = None,
2761
3025
  timestamp: typing.Any = None,
2762
3026
  ) -> _RuleTargetInput_6beca786:
2763
- '''(deprecated) Pass a JSON object to the the log group event target.
3027
+ '''(deprecated) Pass a JSON object to the log group event target.
2764
3028
 
2765
3029
  May contain strings returned by ``EventField.from()`` to substitute in parts of the
2766
3030
  matched event.
@@ -3302,14 +3566,18 @@ class SnsTopic(
3302
3566
  self,
3303
3567
  topic: _ITopic_9eca4852,
3304
3568
  *,
3569
+ authorize_using_role: typing.Optional[builtins.bool] = None,
3305
3570
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
3571
+ role: typing.Optional[_IRole_235f5d8e] = None,
3306
3572
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
3307
3573
  max_event_age: typing.Optional[_Duration_4839e8c3] = None,
3308
3574
  retry_attempts: typing.Optional[jsii.Number] = None,
3309
3575
  ) -> None:
3310
3576
  '''
3311
3577
  :param topic: -
3578
+ :param authorize_using_role: Specifies whether an IAM role should be used to publish to the topic. Default: - true if ``role`` is provided, false otherwise
3312
3579
  :param message: The message to send to the topic. Default: the entire EventBridge event
3580
+ :param role: The IAM role to be used to publish to the topic. Default: - a new role will be created if ``authorizeUsingRole`` is true
3313
3581
  :param dead_letter_queue: The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue
3314
3582
  :param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)
3315
3583
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185
@@ -3318,7 +3586,9 @@ class SnsTopic(
3318
3586
  type_hints = typing.get_type_hints(_typecheckingstub__b58aa74b2a717b90ef291556746b786df8882b8158b4b3255bf88691dbd8fd07)
3319
3587
  check_type(argname="argument topic", value=topic, expected_type=type_hints["topic"])
3320
3588
  props = SnsTopicProps(
3589
+ authorize_using_role=authorize_using_role,
3321
3590
  message=message,
3591
+ role=role,
3322
3592
  dead_letter_queue=dead_letter_queue,
3323
3593
  max_event_age=max_event_age,
3324
3594
  retry_attempts=retry_attempts,
@@ -5722,7 +5992,9 @@ class SfnStateMachineProps(TargetBaseProps):
5722
5992
  "dead_letter_queue": "deadLetterQueue",
5723
5993
  "max_event_age": "maxEventAge",
5724
5994
  "retry_attempts": "retryAttempts",
5995
+ "authorize_using_role": "authorizeUsingRole",
5725
5996
  "message": "message",
5997
+ "role": "role",
5726
5998
  },
5727
5999
  )
5728
6000
  class SnsTopicProps(TargetBaseProps):
@@ -5732,14 +6004,18 @@ class SnsTopicProps(TargetBaseProps):
5732
6004
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
5733
6005
  max_event_age: typing.Optional[_Duration_4839e8c3] = None,
5734
6006
  retry_attempts: typing.Optional[jsii.Number] = None,
6007
+ authorize_using_role: typing.Optional[builtins.bool] = None,
5735
6008
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
6009
+ role: typing.Optional[_IRole_235f5d8e] = None,
5736
6010
  ) -> None:
5737
6011
  '''Customize the SNS Topic Event Target.
5738
6012
 
5739
6013
  :param dead_letter_queue: The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue
5740
6014
  :param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)
5741
6015
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185
6016
+ :param authorize_using_role: Specifies whether an IAM role should be used to publish to the topic. Default: - true if ``role`` is provided, false otherwise
5742
6017
  :param message: The message to send to the topic. Default: the entire EventBridge event
6018
+ :param role: The IAM role to be used to publish to the topic. Default: - a new role will be created if ``authorizeUsingRole`` is true
5743
6019
 
5744
6020
  :exampleMetadata: infused
5745
6021
 
@@ -5750,7 +6026,9 @@ class SnsTopicProps(TargetBaseProps):
5750
6026
 
5751
6027
 
5752
6028
  on_commit_rule.add_target(targets.SnsTopic(topic,
5753
- message=events.RuleTargetInput.from_text(f"A commit was pushed to the repository {codecommit.ReferenceEvent.repositoryName} on branch {codecommit.ReferenceEvent.referenceName}")
6029
+ message=events.RuleTargetInput.from_object({
6030
+ "DataType": f"custom_{events.EventField.fromPath('$.detail-type')}"
6031
+ })
5754
6032
  ))
5755
6033
  '''
5756
6034
  if __debug__:
@@ -5758,7 +6036,9 @@ class SnsTopicProps(TargetBaseProps):
5758
6036
  check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
5759
6037
  check_type(argname="argument max_event_age", value=max_event_age, expected_type=type_hints["max_event_age"])
5760
6038
  check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
6039
+ check_type(argname="argument authorize_using_role", value=authorize_using_role, expected_type=type_hints["authorize_using_role"])
5761
6040
  check_type(argname="argument message", value=message, expected_type=type_hints["message"])
6041
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
5762
6042
  self._values: typing.Dict[builtins.str, typing.Any] = {}
5763
6043
  if dead_letter_queue is not None:
5764
6044
  self._values["dead_letter_queue"] = dead_letter_queue
@@ -5766,8 +6046,12 @@ class SnsTopicProps(TargetBaseProps):
5766
6046
  self._values["max_event_age"] = max_event_age
5767
6047
  if retry_attempts is not None:
5768
6048
  self._values["retry_attempts"] = retry_attempts
6049
+ if authorize_using_role is not None:
6050
+ self._values["authorize_using_role"] = authorize_using_role
5769
6051
  if message is not None:
5770
6052
  self._values["message"] = message
6053
+ if role is not None:
6054
+ self._values["role"] = role
5771
6055
 
5772
6056
  @builtins.property
5773
6057
  def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
@@ -5806,6 +6090,15 @@ class SnsTopicProps(TargetBaseProps):
5806
6090
  result = self._values.get("retry_attempts")
5807
6091
  return typing.cast(typing.Optional[jsii.Number], result)
5808
6092
 
6093
+ @builtins.property
6094
+ def authorize_using_role(self) -> typing.Optional[builtins.bool]:
6095
+ '''Specifies whether an IAM role should be used to publish to the topic.
6096
+
6097
+ :default: - true if ``role`` is provided, false otherwise
6098
+ '''
6099
+ result = self._values.get("authorize_using_role")
6100
+ return typing.cast(typing.Optional[builtins.bool], result)
6101
+
5809
6102
  @builtins.property
5810
6103
  def message(self) -> typing.Optional[_RuleTargetInput_6beca786]:
5811
6104
  '''The message to send to the topic.
@@ -5815,6 +6108,15 @@ class SnsTopicProps(TargetBaseProps):
5815
6108
  result = self._values.get("message")
5816
6109
  return typing.cast(typing.Optional[_RuleTargetInput_6beca786], result)
5817
6110
 
6111
+ @builtins.property
6112
+ def role(self) -> typing.Optional[_IRole_235f5d8e]:
6113
+ '''The IAM role to be used to publish to the topic.
6114
+
6115
+ :default: - a new role will be created if ``authorizeUsingRole`` is true
6116
+ '''
6117
+ result = self._values.get("role")
6118
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
6119
+
5818
6120
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5819
6121
  return isinstance(rhs, self.__class__) and rhs._values == self._values
5820
6122
 
@@ -5992,6 +6294,8 @@ __all__ = [
5992
6294
  "EphemeralStorageOverride",
5993
6295
  "EventBus",
5994
6296
  "EventBusProps",
6297
+ "FirehoseDeliveryStream",
6298
+ "FirehoseDeliveryStreamProps",
5995
6299
  "IDeliveryStream",
5996
6300
  "InferenceAcceleratorOverride",
5997
6301
  "KinesisFirehoseStream",
@@ -6179,7 +6483,7 @@ def _typecheckingstub__c7cd04d50c1c36eb2be36abb3fbdf553a534c7ae5d60f1c9cac6b5cf6
6179
6483
  pass
6180
6484
 
6181
6485
  def _typecheckingstub__5583066efc6b7b2980bfbfbf33e6491271f5faf3b97e5d2ae998d1fe4189d1d4(
6182
- _rule: _IRule_af9e3d28,
6486
+ rule: _IRule_af9e3d28,
6183
6487
  _id: typing.Optional[builtins.str] = None,
6184
6488
  ) -> None:
6185
6489
  """Type checking stubs"""
@@ -6235,7 +6539,7 @@ def _typecheckingstub__c13bb1641d81a866856c7cdeae6fa612e09bb941bc83053a19b901e30
6235
6539
  pass
6236
6540
 
6237
6541
  def _typecheckingstub__8ad199a8641f171a0447e974756bbddd91b00aaa9bcf33d231826916b85b8166(
6238
- _rule: _IRule_af9e3d28,
6542
+ rule: _IRule_af9e3d28,
6239
6543
  _id: typing.Optional[builtins.str] = None,
6240
6544
  ) -> None:
6241
6545
  """Type checking stubs"""
@@ -6272,6 +6576,28 @@ def _typecheckingstub__5af20e134873490c1ac4788761972ccd53cd625edbd9b75c1c1f0b1a3
6272
6576
  """Type checking stubs"""
6273
6577
  pass
6274
6578
 
6579
+ def _typecheckingstub__e8b83537633e15491c91cd6cebe1eddb6bc388617c53b754a40f318f493dc48e(
6580
+ delivery_stream: _IDeliveryStream_8f118861,
6581
+ *,
6582
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
6583
+ ) -> None:
6584
+ """Type checking stubs"""
6585
+ pass
6586
+
6587
+ def _typecheckingstub__45499f815ce457b36825c13b8a0a6ffd1d6994523698febc614678776c341fb7(
6588
+ _rule: _IRule_af9e3d28,
6589
+ _id: typing.Optional[builtins.str] = None,
6590
+ ) -> None:
6591
+ """Type checking stubs"""
6592
+ pass
6593
+
6594
+ def _typecheckingstub__c2311008fe7ae7c5e650063e35f32620f673ed3b0110bcab83f56ce21512d70c(
6595
+ *,
6596
+ message: typing.Optional[_RuleTargetInput_6beca786] = None,
6597
+ ) -> None:
6598
+ """Type checking stubs"""
6599
+ pass
6600
+
6275
6601
  def _typecheckingstub__04d9348fef54fca78833e3224fa6f62badc3a0e6c0bfa6af7838fe531de0ebf6(
6276
6602
  *,
6277
6603
  device_name: builtins.str,
@@ -6428,7 +6754,9 @@ def _typecheckingstub__0e0733fbe09a8310edfc7237ca759e925b3db6d25ad43627fcf4f165c
6428
6754
  def _typecheckingstub__b58aa74b2a717b90ef291556746b786df8882b8158b4b3255bf88691dbd8fd07(
6429
6755
  topic: _ITopic_9eca4852,
6430
6756
  *,
6757
+ authorize_using_role: typing.Optional[builtins.bool] = None,
6431
6758
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
6759
+ role: typing.Optional[_IRole_235f5d8e] = None,
6432
6760
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
6433
6761
  max_event_age: typing.Optional[_Duration_4839e8c3] = None,
6434
6762
  retry_attempts: typing.Optional[jsii.Number] = None,
@@ -6641,7 +6969,9 @@ def _typecheckingstub__29b5b095e8884167f8f78e4ccfc6cd844ecb24d73c2e229d24c0a7a18
6641
6969
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
6642
6970
  max_event_age: typing.Optional[_Duration_4839e8c3] = None,
6643
6971
  retry_attempts: typing.Optional[jsii.Number] = None,
6972
+ authorize_using_role: typing.Optional[builtins.bool] = None,
6644
6973
  message: typing.Optional[_RuleTargetInput_6beca786] = None,
6974
+ role: typing.Optional[_IRole_235f5d8e] = None,
6645
6975
  ) -> None:
6646
6976
  """Type checking stubs"""
6647
6977
  pass
@@ -6656,3 +6986,6 @@ def _typecheckingstub__6472cea5f7d90ec67bd493d4b2ba6bc083b2c915d8dc1da40193693c2
6656
6986
  ) -> None:
6657
6987
  """Type checking stubs"""
6658
6988
  pass
6989
+
6990
+ for cls in [IDeliveryStream]:
6991
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])