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
@@ -73,9 +73,55 @@ from .. import (
73
73
  TagManager as _TagManager_0a598cb3,
74
74
  TreeInspector as _TreeInspector_488e0dd5,
75
75
  )
76
+ from ..interfaces.aws_glue import (
77
+ ClassifierReference as _ClassifierReference_26aea84f,
78
+ ConnectionReference as _ConnectionReference_f88c2093,
79
+ CrawlerReference as _CrawlerReference_143309bb,
80
+ CustomEntityTypeReference as _CustomEntityTypeReference_151d55a9,
81
+ DataCatalogEncryptionSettingsReference as _DataCatalogEncryptionSettingsReference_35fb76c3,
82
+ DataQualityRulesetReference as _DataQualityRulesetReference_4d6e4e83,
83
+ DatabaseReference as _DatabaseReference_37094586,
84
+ DevEndpointReference as _DevEndpointReference_e8b61e51,
85
+ IClassifierRef as _IClassifierRef_580996de,
86
+ IConnectionRef as _IConnectionRef_a16488ae,
87
+ ICrawlerRef as _ICrawlerRef_51dfa641,
88
+ ICustomEntityTypeRef as _ICustomEntityTypeRef_223f7f71,
89
+ IDataCatalogEncryptionSettingsRef as _IDataCatalogEncryptionSettingsRef_8507b18b,
90
+ IDataQualityRulesetRef as _IDataQualityRulesetRef_f944e18c,
91
+ IDatabaseRef as _IDatabaseRef_df838168,
92
+ IDevEndpointRef as _IDevEndpointRef_5bb61de4,
93
+ IIntegrationResourcePropertyRef as _IIntegrationResourcePropertyRef_68a80746,
94
+ IJobRef as _IJobRef_b119043c,
95
+ IMLTransformRef as _IMLTransformRef_9f131017,
96
+ IPartitionRef as _IPartitionRef_64160494,
97
+ IRegistryRef as _IRegistryRef_fee99a35,
98
+ ISchemaRef as _ISchemaRef_48c52337,
99
+ ISchemaVersionMetadataRef as _ISchemaVersionMetadataRef_f0f20d95,
100
+ ISchemaVersionRef as _ISchemaVersionRef_fe82c194,
101
+ ISecurityConfigurationRef as _ISecurityConfigurationRef_042477d9,
102
+ ITableOptimizerRef as _ITableOptimizerRef_72703445,
103
+ ITableRef as _ITableRef_1b430560,
104
+ ITriggerRef as _ITriggerRef_d85f5014,
105
+ IUsageProfileRef as _IUsageProfileRef_7fb2f866,
106
+ IWorkflowRef as _IWorkflowRef_130478b3,
107
+ IntegrationResourcePropertyReference as _IntegrationResourcePropertyReference_0fbb76f4,
108
+ JobReference as _JobReference_d005117a,
109
+ MLTransformReference as _MLTransformReference_ea7fd169,
110
+ PartitionReference as _PartitionReference_e368d968,
111
+ RegistryReference as _RegistryReference_58b511c1,
112
+ SchemaReference as _SchemaReference_401c1d73,
113
+ SchemaVersionMetadataReference as _SchemaVersionMetadataReference_7dafd56f,
114
+ SchemaVersionReference as _SchemaVersionReference_6f6236bc,
115
+ SecurityConfigurationReference as _SecurityConfigurationReference_1d945f0e,
116
+ TableOptimizerReference as _TableOptimizerReference_392646f1,
117
+ TableReference as _TableReference_efc43a16,
118
+ TriggerReference as _TriggerReference_161c4574,
119
+ UsageProfileReference as _UsageProfileReference_1becbb69,
120
+ WorkflowReference as _WorkflowReference_c2d065d8,
121
+ )
76
122
 
77
123
 
78
- @jsii.implements(_IInspectable_c2943556)
124
+ @jsii.implements(_IInspectable_c2943556, _IClassifierRef_580996de)
79
125
  class CfnClassifier(
80
126
  _CfnResource_9df397a6,
81
127
  metaclass=jsii.JSIIMeta,
@@ -141,7 +187,8 @@ class CfnClassifier(
141
187
  json_classifier: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnClassifier.JsonClassifierProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
142
188
  xml_classifier: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnClassifier.XMLClassifierProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
143
189
  ) -> None:
144
- '''
190
+ '''Create a new ``AWS::Glue::Classifier``.
191
+
145
192
  :param scope: Scope in which this resource is defined.
146
193
  :param id: Construct identifier for this resource (unique in its scope).
147
194
  :param csv_classifier: A classifier for comma-separated values (CSV).
@@ -205,6 +252,12 @@ class CfnClassifier(
205
252
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
206
253
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
207
254
 
255
+ @builtins.property
256
+ @jsii.member(jsii_name="classifierRef")
257
+ def classifier_ref(self) -> _ClassifierReference_26aea84f:
258
+ '''A reference to a Classifier resource.'''
259
+ return typing.cast(_ClassifierReference_26aea84f, jsii.get(self, "classifierRef"))
260
+
208
261
  @builtins.property
209
262
  @jsii.member(jsii_name="csvClassifier")
210
263
  def csv_classifier(
@@ -904,7 +957,7 @@ class CfnClassifierProps:
904
957
  )
905
958
 
906
959
 
907
- @jsii.implements(_IInspectable_c2943556)
960
+ @jsii.implements(_IInspectable_c2943556, _IConnectionRef_a16488ae)
908
961
  class CfnConnection(
909
962
  _CfnResource_9df397a6,
910
963
  metaclass=jsii.JSIIMeta,
@@ -994,7 +1047,8 @@ class CfnConnection(
994
1047
  catalog_id: builtins.str,
995
1048
  connection_input: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnection.ConnectionInputProperty", typing.Dict[builtins.str, typing.Any]]],
996
1049
  ) -> None:
997
- '''
1050
+ '''Create a new ``AWS::Glue::Connection``.
1051
+
998
1052
  :param scope: Scope in which this resource is defined.
999
1053
  :param id: Construct identifier for this resource (unique in its scope).
1000
1054
  :param catalog_id: The ID of the data catalog to create the catalog object in. Currently, this should be the AWS account ID. .. epigraph:: To specify the account ID, you can use the ``Ref`` intrinsic function with the ``AWS::AccountId`` pseudo parameter. For example: ``!Ref AWS::AccountId`` .
@@ -1053,6 +1107,12 @@ class CfnConnection(
1053
1107
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1054
1108
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1055
1109
 
1110
+ @builtins.property
1111
+ @jsii.member(jsii_name="connectionRef")
1112
+ def connection_ref(self) -> _ConnectionReference_f88c2093:
1113
+ '''A reference to a Connection resource.'''
1114
+ return typing.cast(_ConnectionReference_f88c2093, jsii.get(self, "connectionRef"))
1115
+
1056
1116
  @builtins.property
1057
1117
  @jsii.member(jsii_name="catalogId")
1058
1118
  def catalog_id(self) -> builtins.str:
@@ -1438,7 +1498,7 @@ class CfnConnection(
1438
1498
  ) -> None:
1439
1499
  '''A structure that is used to specify a connection to create or update.
1440
1500
 
1441
- :param connection_type: The type of the connection. Currently, these types are supported:. - ``JDBC`` - Designates a connection to a database through Java Database Connectivity (JDBC). ``JDBC`` Connections use the following ConnectionParameters. - Required: All of ( ``HOST`` , ``PORT`` , ``JDBC_ENGINE`` ) or ``JDBC_CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - Optional: ``JDBC_ENFORCE_SSL`` , ``CUSTOM_JDBC_CERT`` , ``CUSTOM_JDBC_CERT_STRING`` , ``SKIP_CUSTOM_JDBC_CERT_VALIDATION`` . These parameters are used to configure SSL with JDBC. - ``KAFKA`` - Designates a connection to an Apache Kafka streaming platform. ``KAFKA`` Connections use the following ConnectionParameters. - Required: ``KAFKA_BOOTSTRAP_SERVERS`` . - Optional: ``KAFKA_SSL_ENABLED`` , ``KAFKA_CUSTOM_CERT`` , ``KAFKA_SKIP_CUSTOM_CERT_VALIDATION`` . These parameters are used to configure SSL with ``KAFKA`` . - Optional: ``KAFKA_CLIENT_KEYSTORE`` , ``KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``KAFKA_CLIENT_KEY_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD`` . These parameters are used to configure TLS client configuration with SSL in ``KAFKA`` . - Optional: ``KAFKA_SASL_MECHANISM`` . Can be specified as ``SCRAM-SHA-512`` , ``GSSAPI`` , or ``AWS_MSK_IAM`` . - Optional: ``KAFKA_SASL_SCRAM_USERNAME`` , ``KAFKA_SASL_SCRAM_PASSWORD`` , ``ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD`` . These parameters are used to configure SASL/SCRAM-SHA-512 authentication with ``KAFKA`` . - Optional: ``KAFKA_SASL_GSSAPI_KEYTAB`` , ``KAFKA_SASL_GSSAPI_KRB5_CONF`` , ``KAFKA_SASL_GSSAPI_SERVICE`` , ``KAFKA_SASL_GSSAPI_PRINCIPAL`` . These parameters are used to configure SASL/GSSAPI authentication with ``KAFKA`` . - ``MONGODB`` - Designates a connection to a MongoDB document database. ``MONGODB`` Connections use the following ConnectionParameters. - Required: ``CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``VIEW_VALIDATION_REDSHIFT`` - Designates a connection used for view validation by Amazon Redshift. - ``VIEW_VALIDATION_ATHENA`` - Designates a connection used for view validation by Amazon Athena. - ``NETWORK`` - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). ``NETWORK`` Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements. - ``MARKETPLACE`` - Uses configuration settings contained in a connector purchased from AWS Marketplace to read from and write to data stores that are not natively supported by AWS Glue . ``MARKETPLACE`` Connections use the following ConnectionParameters. - Required: ``CONNECTOR_TYPE`` , ``CONNECTOR_URL`` , ``CONNECTOR_CLASS_NAME`` , ``CONNECTION_URL`` . - Required for ``JDBC`` ``CONNECTOR_TYPE`` connections: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``CUSTOM`` - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by AWS Glue . Additionally, a ``ConnectionType`` for the following SaaS connectors is supported: - ``FACEBOOKADS`` - Designates a connection to Facebook Ads. - ``GOOGLEADS`` - Designates a connection to Google Ads. - ``GOOGLESHEETS`` - Designates a connection to Google Sheets. - ``GOOGLEANALYTICS4`` - Designates a connection to Google Analytics 4. - ``HUBSPOT`` - Designates a connection to HubSpot. - ``INSTAGRAMADS`` - Designates a connection to Instagram Ads. - ``INTERCOM`` - Designates a connection to Intercom. - ``JIRACLOUD`` - Designates a connection to Jira Cloud. - ``MARKETO`` - Designates a connection to Adobe Marketo Engage. - ``NETSUITEERP`` - Designates a connection to Oracle NetSuite. - ``SALESFORCE`` - Designates a connection to Salesforce using OAuth authentication. - ``SALESFORCEMARKETINGCLOUD`` - Designates a connection to Salesforce Marketing Cloud. - ``SALESFORCEPARDOT`` - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). - ``SAPODATA`` - Designates a connection to SAP OData. - ``SERVICENOW`` - Designates a connection to ServiceNow. - ``SLACK`` - Designates a connection to Slack. - ``SNAPCHATADS`` - Designates a connection to Snapchat Ads. - ``STRIPE`` - Designates a connection to Stripe. - ``ZENDESK`` - Designates a connection to Zendesk. - ``ZOHOCRM`` - Designates a connection to Zoho CRM. For more information on the connection parameters needed for a particular connector, see the documentation for the connector in `Adding an AWS Glue connection <https://docs.aws.amazon.com/glue/latest/dg/console-connections.html>`_ in the AWS Glue User Guide. ``SFTP`` is not supported. For more information about how optional ConnectionProperties are used to configure features in AWS Glue , consult `AWS Glue connection properties <https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html>`_ . For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult `Using connectors and connections <https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html>`_ .
1501
+ :param connection_type: The type of the connection. Currently, these types are supported:. - ``JDBC`` - Designates a connection to a database through Java Database Connectivity (JDBC). ``JDBC`` Connections use the following ConnectionParameters. - Required: All of ( ``HOST`` , ``PORT`` , ``JDBC_ENGINE`` ) or ``JDBC_CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - Optional: ``JDBC_ENFORCE_SSL`` , ``CUSTOM_JDBC_CERT`` , ``CUSTOM_JDBC_CERT_STRING`` , ``SKIP_CUSTOM_JDBC_CERT_VALIDATION`` . These parameters are used to configure SSL with JDBC. - ``KAFKA`` - Designates a connection to an Apache Kafka streaming platform. ``KAFKA`` Connections use the following ConnectionParameters. - Required: ``KAFKA_BOOTSTRAP_SERVERS`` . - Optional: ``KAFKA_SSL_ENABLED`` , ``KAFKA_CUSTOM_CERT`` , ``KAFKA_SKIP_CUSTOM_CERT_VALIDATION`` . These parameters are used to configure SSL with ``KAFKA`` . - Optional: ``KAFKA_CLIENT_KEYSTORE`` , ``KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``KAFKA_CLIENT_KEY_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD`` , ``ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD`` . These parameters are used to configure TLS client configuration with SSL in ``KAFKA`` . - Optional: ``KAFKA_SASL_MECHANISM`` . Can be specified as ``SCRAM-SHA-512`` , ``GSSAPI`` , or ``AWS_MSK_IAM`` . - Optional: ``KAFKA_SASL_SCRAM_USERNAME`` , ``KAFKA_SASL_SCRAM_PASSWORD`` , ``ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD`` . These parameters are used to configure SASL/SCRAM-SHA-512 authentication with ``KAFKA`` . - Optional: ``KAFKA_SASL_GSSAPI_KEYTAB`` , ``KAFKA_SASL_GSSAPI_KRB5_CONF`` , ``KAFKA_SASL_GSSAPI_SERVICE`` , ``KAFKA_SASL_GSSAPI_PRINCIPAL`` . These parameters are used to configure SASL/GSSAPI authentication with ``KAFKA`` . - ``MONGODB`` - Designates a connection to a MongoDB document database. ``MONGODB`` Connections use the following ConnectionParameters. - Required: ``CONNECTION_URL`` . - Required: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``VIEW_VALIDATION_REDSHIFT`` - Designates a connection used for view validation by Amazon Redshift. - ``VIEW_VALIDATION_ATHENA`` - Designates a connection used for view validation by Amazon Athena. - ``NETWORK`` - Designates a network connection to a data source within an Amazon Virtual Private Cloud environment (Amazon VPC). ``NETWORK`` Connections do not require ConnectionParameters. Instead, provide a PhysicalConnectionRequirements. - ``MARKETPLACE`` - Uses configuration settings contained in a connector purchased from AWS Marketplace to read from and write to data stores that are not natively supported by AWS Glue . ``MARKETPLACE`` Connections use the following ConnectionParameters. - Required: ``CONNECTOR_TYPE`` , ``CONNECTOR_URL`` , ``CONNECTOR_CLASS_NAME`` , ``CONNECTION_URL`` . - Required for ``JDBC`` ``CONNECTOR_TYPE`` connections: All of ( ``USERNAME`` , ``PASSWORD`` ) or ``SECRET_ID`` . - ``CUSTOM`` - Uses configuration settings contained in a custom connector to read from and write to data stores that are not natively supported by AWS Glue . Additionally, a ``ConnectionType`` for the following SaaS connectors is supported: - ``FACEBOOKADS`` - Designates a connection to Facebook Ads. - ``GOOGLEADS`` - Designates a connection to Google Ads. - ``GOOGLESHEETS`` - Designates a connection to Google Sheets. - ``GOOGLEANALYTICS4`` - Designates a connection to Google Analytics 4. - ``HUBSPOT`` - Designates a connection to HubSpot. - ``INSTAGRAMADS`` - Designates a connection to Instagram Ads. - ``INTERCOM`` - Designates a connection to Intercom. - ``JIRACLOUD`` - Designates a connection to Jira Cloud. - ``MARKETO`` - Designates a connection to Adobe Marketo Engage. - ``NETSUITEERP`` - Designates a connection to Oracle NetSuite. - ``SALESFORCE`` - Designates a connection to Salesforce using OAuth authentication. - ``SALESFORCEMARKETINGCLOUD`` - Designates a connection to Salesforce Marketing Cloud. - ``SALESFORCEPARDOT`` - Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE). - ``SAPODATA`` - Designates a connection to SAP OData. - ``SERVICENOW`` - Designates a connection to ServiceNow. - ``SLACK`` - Designates a connection to Slack. - ``SNOWFLAKE`` - Designates a connection to Snowflake. - ``SNAPCHATADS`` - Designates a connection to Snapchat Ads. - ``STRIPE`` - Designates a connection to Stripe. - ``ZENDESK`` - Designates a connection to Zendesk. - ``ZOHOCRM`` - Designates a connection to Zoho CRM. - ``ADOBEANALYTICS`` - Designates a connection to Adobe Analytics. - ``LINKEDIN`` - Designates a connection to LinkedIn. - ``MIXPANEL`` - Designates a connection to Mixpanel. - ``ASANA`` - Designates a connection to Asana. - ``SMARTSHEET`` - Designates a connection to Smartsheet. - ``DATADOG`` - Designates a connection to Datadog. - ``WOOCOMMERCE`` - Designates a connection to WooCommerce. - ``PAYPAL`` - Designates a connection to PayPal. - ``QUICKBOOKS`` - Designates a connection to QuickBooks. - ``FACEBOOKPAGEINSIGHTS`` - Designates a connection to Facebook Page Insights. - ``FRESHDESK`` - Designates a connection to Freshdesk. - ``TWILIO`` - Designates a connection to Twilio. - ``DOCUSIGNMONITOR`` - Designates a connection to DocuSign Monitor. - ``FRESHSALES`` - Designates a connection to Freshsales. - ``ZOOM`` - Designates a connection to Zoom. - ``GOOGLESEARCHCONSOLE`` - Designates a connection to Google Search Console. - ``SALESFORCECOMMERCECLOUD`` - Designates a connection to Salesforce Commerce Cloud. - ``SAPCONCUR`` - Designates a connection to SAP Concur. - ``DYNATRACE`` - Designates a connection to Dynatrace. - ``MICROSOFTDYNAMIC365FINANCEANDOPS`` - Designates a connection to Microsoft Dynamics 365 Finance and Operations. - ``MICROSOFTTEAMS`` - Designates a connection to Microsoft Teams. - ``BLACKBAUDRAISEREDGENXT`` - Designates a connection to Blackbaud Raiser's Edge NXT. - ``MAILCHIMP`` - Designates a connection to Mailchimp. - ``GITLAB`` - Designates a connection to GitLab. - ``PENDO`` - Designates a connection to Pendo. - ``PRODUCTBOARD`` - Designates a connection to Productboard. - ``CIRCLECI`` - Designates a connection to CircleCI. - ``PIPEDIVE`` - Designates a connection to Pipedrive. - ``SENDGRID`` - Designates a connection to SendGrid. For more information on the connection parameters needed for a particular connector, see the documentation for the connector in `Adding an AWS Glue connection <https://docs.aws.amazon.com/glue/latest/dg/console-connections.html>`_ in the AWS Glue User Guide. ``SFTP`` is not supported. For more information about how optional ConnectionProperties are used to configure features in AWS Glue , consult `AWS Glue connection properties <https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html>`_ . For more information about how optional ConnectionProperties are used to configure features in AWS Glue Studio, consult `Using connectors and connections <https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html>`_ .
1442
1502
  :param athena_properties: Connection properties specific to the Athena compute environment.
1443
1503
  :param authentication_configuration: The authentication properties of the connection.
1444
1504
  :param connection_properties: These key-value pairs define parameters for the connection.
@@ -1617,10 +1677,40 @@ class CfnConnection(
1617
1677
  - ``SAPODATA`` - Designates a connection to SAP OData.
1618
1678
  - ``SERVICENOW`` - Designates a connection to ServiceNow.
1619
1679
  - ``SLACK`` - Designates a connection to Slack.
1680
+ - ``SNOWFLAKE`` - Designates a connection to Snowflake.
1620
1681
  - ``SNAPCHATADS`` - Designates a connection to Snapchat Ads.
1621
1682
  - ``STRIPE`` - Designates a connection to Stripe.
1622
1683
  - ``ZENDESK`` - Designates a connection to Zendesk.
1623
1684
  - ``ZOHOCRM`` - Designates a connection to Zoho CRM.
1685
+ - ``ADOBEANALYTICS`` - Designates a connection to Adobe Analytics.
1686
+ - ``LINKEDIN`` - Designates a connection to LinkedIn.
1687
+ - ``MIXPANEL`` - Designates a connection to Mixpanel.
1688
+ - ``ASANA`` - Designates a connection to Asana.
1689
+ - ``SMARTSHEET`` - Designates a connection to Smartsheet.
1690
+ - ``DATADOG`` - Designates a connection to Datadog.
1691
+ - ``WOOCOMMERCE`` - Designates a connection to WooCommerce.
1692
+ - ``PAYPAL`` - Designates a connection to PayPal.
1693
+ - ``QUICKBOOKS`` - Designates a connection to QuickBooks.
1694
+ - ``FACEBOOKPAGEINSIGHTS`` - Designates a connection to Facebook Page Insights.
1695
+ - ``FRESHDESK`` - Designates a connection to Freshdesk.
1696
+ - ``TWILIO`` - Designates a connection to Twilio.
1697
+ - ``DOCUSIGNMONITOR`` - Designates a connection to DocuSign Monitor.
1698
+ - ``FRESHSALES`` - Designates a connection to Freshsales.
1699
+ - ``ZOOM`` - Designates a connection to Zoom.
1700
+ - ``GOOGLESEARCHCONSOLE`` - Designates a connection to Google Search Console.
1701
+ - ``SALESFORCECOMMERCECLOUD`` - Designates a connection to Salesforce Commerce Cloud.
1702
+ - ``SAPCONCUR`` - Designates a connection to SAP Concur.
1703
+ - ``DYNATRACE`` - Designates a connection to Dynatrace.
1704
+ - ``MICROSOFTDYNAMIC365FINANCEANDOPS`` - Designates a connection to Microsoft Dynamics 365 Finance and Operations.
1705
+ - ``MICROSOFTTEAMS`` - Designates a connection to Microsoft Teams.
1706
+ - ``BLACKBAUDRAISEREDGENXT`` - Designates a connection to Blackbaud Raiser's Edge NXT.
1707
+ - ``MAILCHIMP`` - Designates a connection to Mailchimp.
1708
+ - ``GITLAB`` - Designates a connection to GitLab.
1709
+ - ``PENDO`` - Designates a connection to Pendo.
1710
+ - ``PRODUCTBOARD`` - Designates a connection to Productboard.
1711
+ - ``CIRCLECI`` - Designates a connection to CircleCI.
1712
+ - ``PIPEDIVE`` - Designates a connection to Pipedrive.
1713
+ - ``SENDGRID`` - Designates a connection to SendGrid.
1624
1714
 
1625
1715
  For more information on the connection parameters needed for a particular connector, see the documentation for the connector in `Adding an AWS Glue connection <https://docs.aws.amazon.com/glue/latest/dg/console-connections.html>`_ in the AWS Glue User Guide.
1626
1716
 
@@ -2325,7 +2415,7 @@ class CfnConnectionProps:
2325
2415
  )
2326
2416
 
2327
2417
 
2328
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2418
+ @jsii.implements(_IInspectable_c2943556, _ICrawlerRef_51dfa641, _ITaggable_36806126)
2329
2419
  class CfnCrawler(
2330
2420
  _CfnResource_9df397a6,
2331
2421
  metaclass=jsii.JSIIMeta,
@@ -2364,7 +2454,9 @@ class CfnCrawler(
2364
2454
  write_manifest=False
2365
2455
  )],
2366
2456
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
2367
- path="path"
2457
+ path="path",
2458
+ scan_all=False,
2459
+ scan_rate=123
2368
2460
  )],
2369
2461
  hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
2370
2462
  connection_name="connectionName",
@@ -2444,7 +2536,8 @@ class CfnCrawler(
2444
2536
  table_prefix: typing.Optional[builtins.str] = None,
2445
2537
  tags: typing.Any = None,
2446
2538
  ) -> None:
2447
- '''
2539
+ '''Create a new ``AWS::Glue::Crawler``.
2540
+
2448
2541
  :param scope: Scope in which this resource is defined.
2449
2542
  :param id: Construct identifier for this resource (unique in its scope).
2450
2543
  :param role: The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.
@@ -2485,6 +2578,27 @@ class CfnCrawler(
2485
2578
 
2486
2579
  jsii.create(self.__class__, self, [scope, id, props])
2487
2580
 
2581
+ @jsii.member(jsii_name="fromCrawlerName")
2582
+ @builtins.classmethod
2583
+ def from_crawler_name(
2584
+ cls,
2585
+ scope: _constructs_77d1e7e8.Construct,
2586
+ id: builtins.str,
2587
+ crawler_name: builtins.str,
2588
+ ) -> _ICrawlerRef_51dfa641:
2589
+ '''Creates a new ICrawlerRef from a crawlerName.
2590
+
2591
+ :param scope: -
2592
+ :param id: -
2593
+ :param crawler_name: -
2594
+ '''
2595
+ if __debug__:
2596
+ type_hints = typing.get_type_hints(_typecheckingstub__9ad087260b86f149a125685668b821ca3edecc96c6b66bdc38f719435de5a0b5)
2597
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2598
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2599
+ check_type(argname="argument crawler_name", value=crawler_name, expected_type=type_hints["crawler_name"])
2600
+ return typing.cast(_ICrawlerRef_51dfa641, jsii.sinvoke(cls, "fromCrawlerName", [scope, id, crawler_name]))
2601
+
2488
2602
  @jsii.member(jsii_name="inspect")
2489
2603
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2490
2604
  '''Examines the CloudFormation resource and discloses attributes.
@@ -2520,6 +2634,12 @@ class CfnCrawler(
2520
2634
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2521
2635
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2522
2636
 
2637
+ @builtins.property
2638
+ @jsii.member(jsii_name="crawlerRef")
2639
+ def crawler_ref(self) -> _CrawlerReference_143309bb:
2640
+ '''A reference to a Crawler resource.'''
2641
+ return typing.cast(_CrawlerReference_143309bb, jsii.get(self, "crawlerRef"))
2642
+
2523
2643
  @builtins.property
2524
2644
  @jsii.member(jsii_name="tags")
2525
2645
  def tags(self) -> _TagManager_0a598cb3:
@@ -2973,13 +3093,21 @@ class CfnCrawler(
2973
3093
  @jsii.data_type(
2974
3094
  jsii_type="aws-cdk-lib.aws_glue.CfnCrawler.DynamoDBTargetProperty",
2975
3095
  jsii_struct_bases=[],
2976
- name_mapping={"path": "path"},
3096
+ name_mapping={"path": "path", "scan_all": "scanAll", "scan_rate": "scanRate"},
2977
3097
  )
2978
3098
  class DynamoDBTargetProperty:
2979
- def __init__(self, *, path: typing.Optional[builtins.str] = None) -> None:
3099
+ def __init__(
3100
+ self,
3101
+ *,
3102
+ path: typing.Optional[builtins.str] = None,
3103
+ scan_all: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3104
+ scan_rate: typing.Optional[jsii.Number] = None,
3105
+ ) -> None:
2980
3106
  '''Specifies an Amazon DynamoDB table to crawl.
2981
3107
 
2982
3108
  :param path: The name of the DynamoDB table to crawl.
3109
+ :param scan_all: Indicates whether to scan all the records, or to sample rows from the table. Scanning all the records can take a long time when the table is not a high throughput table. A value of ``true`` means to scan all records, while a value of ``false`` means to sample the records. If no value is specified, the value defaults to ``true`` .
3110
+ :param scan_rate: The percentage of the configured read capacity units to use by the AWS Glue crawler. Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second. The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode).
2983
3111
 
2984
3112
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html
2985
3113
  :exampleMetadata: fixture=_generated
@@ -2991,15 +3119,23 @@ class CfnCrawler(
2991
3119
  from aws_cdk import aws_glue as glue
2992
3120
 
2993
3121
  dynamo_dBTarget_property = glue.CfnCrawler.DynamoDBTargetProperty(
2994
- path="path"
3122
+ path="path",
3123
+ scan_all=False,
3124
+ scan_rate=123
2995
3125
  )
2996
3126
  '''
2997
3127
  if __debug__:
2998
3128
  type_hints = typing.get_type_hints(_typecheckingstub__4c03ffc3d1fa17ed9770b2c448e87c012b6d363001f06ce8b95bdb9c62711274)
2999
3129
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
3130
+ check_type(argname="argument scan_all", value=scan_all, expected_type=type_hints["scan_all"])
3131
+ check_type(argname="argument scan_rate", value=scan_rate, expected_type=type_hints["scan_rate"])
3000
3132
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3001
3133
  if path is not None:
3002
3134
  self._values["path"] = path
3135
+ if scan_all is not None:
3136
+ self._values["scan_all"] = scan_all
3137
+ if scan_rate is not None:
3138
+ self._values["scan_rate"] = scan_rate
3003
3139
 
3004
3140
  @builtins.property
3005
3141
  def path(self) -> typing.Optional[builtins.str]:
@@ -3010,6 +3146,34 @@ class CfnCrawler(
3010
3146
  result = self._values.get("path")
3011
3147
  return typing.cast(typing.Optional[builtins.str], result)
3012
3148
 
3149
+ @builtins.property
3150
+ def scan_all(
3151
+ self,
3152
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3153
+ '''Indicates whether to scan all the records, or to sample rows from the table.
3154
+
3155
+ Scanning all the records can take a long time when the table is not a high throughput table.
3156
+
3157
+ A value of ``true`` means to scan all records, while a value of ``false`` means to sample the records. If no value is specified, the value defaults to ``true`` .
3158
+
3159
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-scanall
3160
+ '''
3161
+ result = self._values.get("scan_all")
3162
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3163
+
3164
+ @builtins.property
3165
+ def scan_rate(self) -> typing.Optional[jsii.Number]:
3166
+ '''The percentage of the configured read capacity units to use by the AWS Glue crawler.
3167
+
3168
+ Read capacity units is a term defined by DynamoDB, and is a numeric value that acts as rate limiter for the number of reads that can be performed on that table per second.
3169
+
3170
+ The valid values are null or a value between 0.1 to 1.5. A null value is used when user does not provide a value, and defaults to 0.5 of the configured Read Capacity Unit (for provisioned tables), or 0.25 of the max configured Read Capacity Unit (for tables using on-demand mode).
3171
+
3172
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-scanrate
3173
+ '''
3174
+ result = self._values.get("scan_rate")
3175
+ return typing.cast(typing.Optional[jsii.Number], result)
3176
+
3013
3177
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3014
3178
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3015
3179
 
@@ -3917,7 +4081,9 @@ class CfnCrawler(
3917
4081
  write_manifest=False
3918
4082
  )],
3919
4083
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
3920
- path="path"
4084
+ path="path",
4085
+ scan_all=False,
4086
+ scan_rate=123
3921
4087
  )],
3922
4088
  hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
3923
4089
  connection_name="connectionName",
@@ -4163,7 +4329,9 @@ class CfnCrawlerProps:
4163
4329
  write_manifest=False
4164
4330
  )],
4165
4331
  dynamo_db_targets=[glue.CfnCrawler.DynamoDBTargetProperty(
4166
- path="path"
4332
+ path="path",
4333
+ scan_all=False,
4334
+ scan_rate=123
4167
4335
  )],
4168
4336
  hudi_targets=[glue.CfnCrawler.HudiTargetProperty(
4169
4337
  connection_name="connectionName",
@@ -4423,7 +4591,7 @@ class CfnCrawlerProps:
4423
4591
  )
4424
4592
 
4425
4593
 
4426
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4594
+ @jsii.implements(_IInspectable_c2943556, _ICustomEntityTypeRef_223f7f71, _ITaggableV2_4e6798f8)
4427
4595
  class CfnCustomEntityType(
4428
4596
  _CfnResource_9df397a6,
4429
4597
  metaclass=jsii.JSIIMeta,
@@ -4463,7 +4631,8 @@ class CfnCustomEntityType(
4463
4631
  regex_string: typing.Optional[builtins.str] = None,
4464
4632
  tags: typing.Any = None,
4465
4633
  ) -> None:
4466
- '''
4634
+ '''Create a new ``AWS::Glue::CustomEntityType``.
4635
+
4467
4636
  :param scope: Scope in which this resource is defined.
4468
4637
  :param id: Construct identifier for this resource (unique in its scope).
4469
4638
  :param context_words: A list of context words. If none of these context words are found within the vicinity of the regular expression the data will not be detected as sensitive data. If no context words are passed only a regular expression is checked.
@@ -4484,6 +4653,27 @@ class CfnCustomEntityType(
4484
4653
 
4485
4654
  jsii.create(self.__class__, self, [scope, id, props])
4486
4655
 
4656
+ @jsii.member(jsii_name="fromCustomEntityTypeId")
4657
+ @builtins.classmethod
4658
+ def from_custom_entity_type_id(
4659
+ cls,
4660
+ scope: _constructs_77d1e7e8.Construct,
4661
+ id: builtins.str,
4662
+ custom_entity_type_id: builtins.str,
4663
+ ) -> _ICustomEntityTypeRef_223f7f71:
4664
+ '''Creates a new ICustomEntityTypeRef from a customEntityTypeId.
4665
+
4666
+ :param scope: -
4667
+ :param id: -
4668
+ :param custom_entity_type_id: -
4669
+ '''
4670
+ if __debug__:
4671
+ type_hints = typing.get_type_hints(_typecheckingstub__d9fcfdaedb8245c0773846f383316c653711b4bf502cef627cc38c7a82d234b1)
4672
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4673
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4674
+ check_type(argname="argument custom_entity_type_id", value=custom_entity_type_id, expected_type=type_hints["custom_entity_type_id"])
4675
+ return typing.cast(_ICustomEntityTypeRef_223f7f71, jsii.sinvoke(cls, "fromCustomEntityTypeId", [scope, id, custom_entity_type_id]))
4676
+
4487
4677
  @jsii.member(jsii_name="inspect")
4488
4678
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4489
4679
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4533,6 +4723,12 @@ class CfnCustomEntityType(
4533
4723
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4534
4724
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4535
4725
 
4726
+ @builtins.property
4727
+ @jsii.member(jsii_name="customEntityTypeRef")
4728
+ def custom_entity_type_ref(self) -> _CustomEntityTypeReference_151d55a9:
4729
+ '''A reference to a CustomEntityType resource.'''
4730
+ return typing.cast(_CustomEntityTypeReference_151d55a9, jsii.get(self, "customEntityTypeRef"))
4731
+
4536
4732
  @builtins.property
4537
4733
  @jsii.member(jsii_name="contextWords")
4538
4734
  def context_words(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -4700,7 +4896,7 @@ class CfnCustomEntityTypeProps:
4700
4896
  )
4701
4897
 
4702
4898
 
4703
- @jsii.implements(_IInspectable_c2943556)
4899
+ @jsii.implements(_IInspectable_c2943556, _IDataCatalogEncryptionSettingsRef_8507b18b)
4704
4900
  class CfnDataCatalogEncryptionSettings(
4705
4901
  _CfnResource_9df397a6,
4706
4902
  metaclass=jsii.JSIIMeta,
@@ -4744,7 +4940,8 @@ class CfnDataCatalogEncryptionSettings(
4744
4940
  catalog_id: builtins.str,
4745
4941
  data_catalog_encryption_settings: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataCatalogEncryptionSettings.DataCatalogEncryptionSettingsProperty", typing.Dict[builtins.str, typing.Any]]],
4746
4942
  ) -> None:
4747
- '''
4943
+ '''Create a new ``AWS::Glue::DataCatalogEncryptionSettings``.
4944
+
4748
4945
  :param scope: Scope in which this resource is defined.
4749
4946
  :param id: Construct identifier for this resource (unique in its scope).
4750
4947
  :param catalog_id: The ID of the Data Catalog in which the settings are created.
@@ -4804,6 +5001,14 @@ class CfnDataCatalogEncryptionSettings(
4804
5001
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4805
5002
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4806
5003
 
5004
+ @builtins.property
5005
+ @jsii.member(jsii_name="dataCatalogEncryptionSettingsRef")
5006
+ def data_catalog_encryption_settings_ref(
5007
+ self,
5008
+ ) -> _DataCatalogEncryptionSettingsReference_35fb76c3:
5009
+ '''A reference to a DataCatalogEncryptionSettings resource.'''
5010
+ return typing.cast(_DataCatalogEncryptionSettingsReference_35fb76c3, jsii.get(self, "dataCatalogEncryptionSettingsRef"))
5011
+
4807
5012
  @builtins.property
4808
5013
  @jsii.member(jsii_name="catalogId")
4809
5014
  def catalog_id(self) -> builtins.str:
@@ -5183,7 +5388,7 @@ class CfnDataCatalogEncryptionSettingsProps:
5183
5388
  )
5184
5389
 
5185
5390
 
5186
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
5391
+ @jsii.implements(_IInspectable_c2943556, _IDataQualityRulesetRef_f944e18c, _ITaggableV2_4e6798f8)
5187
5392
  class CfnDataQualityRuleset(
5188
5393
  _CfnResource_9df397a6,
5189
5394
  metaclass=jsii.JSIIMeta,
@@ -5230,7 +5435,8 @@ class CfnDataQualityRuleset(
5230
5435
  tags: typing.Any = None,
5231
5436
  target_table: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataQualityRuleset.DataQualityTargetTableProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5232
5437
  ) -> None:
5233
- '''
5438
+ '''Create a new ``AWS::Glue::DataQualityRuleset``.
5439
+
5234
5440
  :param scope: Scope in which this resource is defined.
5235
5441
  :param id: Construct identifier for this resource (unique in its scope).
5236
5442
  :param client_token: Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.
@@ -5304,6 +5510,12 @@ class CfnDataQualityRuleset(
5304
5510
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5305
5511
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5306
5512
 
5513
+ @builtins.property
5514
+ @jsii.member(jsii_name="dataQualityRulesetRef")
5515
+ def data_quality_ruleset_ref(self) -> _DataQualityRulesetReference_4d6e4e83:
5516
+ '''A reference to a DataQualityRuleset resource.'''
5517
+ return typing.cast(_DataQualityRulesetReference_4d6e4e83, jsii.get(self, "dataQualityRulesetRef"))
5518
+
5307
5519
  @builtins.property
5308
5520
  @jsii.member(jsii_name="clientToken")
5309
5521
  def client_token(self) -> typing.Optional[builtins.str]:
@@ -5605,7 +5817,7 @@ class CfnDataQualityRulesetProps:
5605
5817
  )
5606
5818
 
5607
5819
 
5608
- @jsii.implements(_IInspectable_c2943556)
5820
+ @jsii.implements(_IInspectable_c2943556, _IDatabaseRef_df838168)
5609
5821
  class CfnDatabase(
5610
5822
  _CfnResource_9df397a6,
5611
5823
  metaclass=jsii.JSIIMeta,
@@ -5665,7 +5877,8 @@ class CfnDatabase(
5665
5877
  database_input: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDatabase.DatabaseInputProperty", typing.Dict[builtins.str, typing.Any]]],
5666
5878
  database_name: typing.Optional[builtins.str] = None,
5667
5879
  ) -> None:
5668
- '''
5880
+ '''Create a new ``AWS::Glue::Database``.
5881
+
5669
5882
  :param scope: Scope in which this resource is defined.
5670
5883
  :param id: Construct identifier for this resource (unique in its scope).
5671
5884
  :param catalog_id: The AWS account ID for the account in which to create the catalog object. .. epigraph:: To specify the account ID, you can use the ``Ref`` intrinsic function with the ``AWS::AccountId`` pseudo parameter. For example: ``!Ref AWS::AccountId``
@@ -5684,6 +5897,27 @@ class CfnDatabase(
5684
5897
 
5685
5898
  jsii.create(self.__class__, self, [scope, id, props])
5686
5899
 
5900
+ @jsii.member(jsii_name="fromDatabaseName")
5901
+ @builtins.classmethod
5902
+ def from_database_name(
5903
+ cls,
5904
+ scope: _constructs_77d1e7e8.Construct,
5905
+ id: builtins.str,
5906
+ database_name: builtins.str,
5907
+ ) -> _IDatabaseRef_df838168:
5908
+ '''Creates a new IDatabaseRef from a databaseName.
5909
+
5910
+ :param scope: -
5911
+ :param id: -
5912
+ :param database_name: -
5913
+ '''
5914
+ if __debug__:
5915
+ type_hints = typing.get_type_hints(_typecheckingstub__46d072003af0a253294aa99188670d3a5326fb17900c9f4bc5ca0850d973ee94)
5916
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5917
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5918
+ check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
5919
+ return typing.cast(_IDatabaseRef_df838168, jsii.sinvoke(cls, "fromDatabaseName", [scope, id, database_name]))
5920
+
5687
5921
  @jsii.member(jsii_name="inspect")
5688
5922
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5689
5923
  '''Examines the CloudFormation resource and discloses attributes.
@@ -5719,6 +5953,12 @@ class CfnDatabase(
5719
5953
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5720
5954
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5721
5955
 
5956
+ @builtins.property
5957
+ @jsii.member(jsii_name="databaseRef")
5958
+ def database_ref(self) -> _DatabaseReference_37094586:
5959
+ '''A reference to a Database resource.'''
5960
+ return typing.cast(_DatabaseReference_37094586, jsii.get(self, "databaseRef"))
5961
+
5722
5962
  @builtins.property
5723
5963
  @jsii.member(jsii_name="catalogId")
5724
5964
  def catalog_id(self) -> builtins.str:
@@ -6350,7 +6590,7 @@ class CfnDatabaseProps:
6350
6590
  )
6351
6591
 
6352
6592
 
6353
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6593
+ @jsii.implements(_IInspectable_c2943556, _IDevEndpointRef_5bb61de4, _ITaggable_36806126)
6354
6594
  class CfnDevEndpoint(
6355
6595
  _CfnResource_9df397a6,
6356
6596
  metaclass=jsii.JSIIMeta,
@@ -6415,7 +6655,8 @@ class CfnDevEndpoint(
6415
6655
  tags: typing.Any = None,
6416
6656
  worker_type: typing.Optional[builtins.str] = None,
6417
6657
  ) -> None:
6418
- '''
6658
+ '''Create a new ``AWS::Glue::DevEndpoint``.
6659
+
6419
6660
  :param scope: Scope in which this resource is defined.
6420
6661
  :param id: Construct identifier for this resource (unique in its scope).
6421
6662
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role used in this ``DevEndpoint`` .
@@ -6501,6 +6742,12 @@ class CfnDevEndpoint(
6501
6742
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6502
6743
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6503
6744
 
6745
+ @builtins.property
6746
+ @jsii.member(jsii_name="devEndpointRef")
6747
+ def dev_endpoint_ref(self) -> _DevEndpointReference_e8b61e51:
6748
+ '''A reference to a DevEndpoint resource.'''
6749
+ return typing.cast(_DevEndpointReference_e8b61e51, jsii.get(self, "devEndpointRef"))
6750
+
6504
6751
  @builtins.property
6505
6752
  @jsii.member(jsii_name="tags")
6506
6753
  def tags(self) -> _TagManager_0a598cb3:
@@ -7036,18 +7283,16 @@ class CfnDevEndpointProps:
7036
7283
  )
7037
7284
 
7038
7285
 
7039
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7040
- class CfnJob(
7286
+ @jsii.implements(_IInspectable_c2943556, _IIntegrationResourcePropertyRef_68a80746, _ITaggableV2_4e6798f8)
7287
+ class CfnIntegrationResourceProperty(
7041
7288
  _CfnResource_9df397a6,
7042
7289
  metaclass=jsii.JSIIMeta,
7043
- jsii_type="aws-cdk-lib.aws_glue.CfnJob",
7290
+ jsii_type="aws-cdk-lib.aws_glue.CfnIntegrationResourceProperty",
7044
7291
  ):
7045
- '''The ``AWS::Glue::Job`` resource specifies an AWS Glue job in the data catalog.
7292
+ '''Resource Type definition for AWS::Glue::IntegrationResourceProperty.
7046
7293
 
7047
- For more information, see `Adding Jobs in AWS Glue <https://docs.aws.amazon.com/glue/latest/dg/add-job.html>`_ and `Job Structure <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job>`_ in the *AWS Glue Developer Guide.*
7048
-
7049
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html
7050
- :cloudformationResource: AWS::Glue::Job
7294
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html
7295
+ :cloudformationResource: AWS::Glue::IntegrationResourceProperty
7051
7296
  :exampleMetadata: fixture=_generated
7052
7297
 
7053
7298
  Example::
@@ -7056,47 +7301,25 @@ class CfnJob(
7056
7301
  # The values are placeholders you should change.
7057
7302
  from aws_cdk import aws_glue as glue
7058
7303
 
7059
- # default_arguments: Any
7060
- # non_overridable_arguments: Any
7061
- # tags: Any
7062
-
7063
- cfn_job = glue.CfnJob(self, "MyCfnJob",
7064
- command=glue.CfnJob.JobCommandProperty(
7065
- name="name",
7066
- python_version="pythonVersion",
7067
- runtime="runtime",
7068
- script_location="scriptLocation"
7069
- ),
7070
- role="role",
7304
+ cfn_integration_resource_property = glue.CfnIntegrationResourceProperty(self, "MyCfnIntegrationResourceProperty",
7305
+ resource_arn="resourceArn",
7071
7306
 
7072
7307
  # the properties below are optional
7073
- allocated_capacity=123,
7074
- connections=glue.CfnJob.ConnectionsListProperty(
7075
- connections=["connections"]
7076
- ),
7077
- default_arguments=default_arguments,
7078
- description="description",
7079
- execution_class="executionClass",
7080
- execution_property=glue.CfnJob.ExecutionPropertyProperty(
7081
- max_concurrent_runs=123
7082
- ),
7083
- glue_version="glueVersion",
7084
- job_mode="jobMode",
7085
- job_run_queuing_enabled=False,
7086
- log_uri="logUri",
7087
- maintenance_window="maintenanceWindow",
7088
- max_capacity=123,
7089
- max_retries=123,
7090
- name="name",
7091
- non_overridable_arguments=non_overridable_arguments,
7092
- notification_property=glue.CfnJob.NotificationPropertyProperty(
7093
- notify_delay_after=123
7308
+ source_processing_properties=glue.CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty(
7309
+ role_arn="roleArn"
7094
7310
  ),
7095
- number_of_workers=123,
7096
- security_configuration="securityConfiguration",
7097
- tags=tags,
7098
- timeout=123,
7099
- worker_type="workerType"
7311
+ tags=[CfnTag(
7312
+ key="key",
7313
+ value="value"
7314
+ )],
7315
+ target_processing_properties=glue.CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty(
7316
+ role_arn="roleArn",
7317
+
7318
+ # the properties below are optional
7319
+ connection_name="connectionName",
7320
+ event_bus_arn="eventBusArn",
7321
+ kms_arn="kmsArn"
7322
+ )
7100
7323
  )
7101
7324
  '''
7102
7325
 
@@ -7105,85 +7328,29 @@ class CfnJob(
7105
7328
  scope: _constructs_77d1e7e8.Construct,
7106
7329
  id: builtins.str,
7107
7330
  *,
7108
- command: typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.JobCommandProperty", typing.Dict[builtins.str, typing.Any]]],
7109
- role: builtins.str,
7110
- allocated_capacity: typing.Optional[jsii.Number] = None,
7111
- connections: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.ConnectionsListProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7112
- default_arguments: typing.Any = None,
7113
- description: typing.Optional[builtins.str] = None,
7114
- execution_class: typing.Optional[builtins.str] = None,
7115
- execution_property: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.ExecutionPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7116
- glue_version: typing.Optional[builtins.str] = None,
7117
- job_mode: typing.Optional[builtins.str] = None,
7118
- job_run_queuing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7119
- log_uri: typing.Optional[builtins.str] = None,
7120
- maintenance_window: typing.Optional[builtins.str] = None,
7121
- max_capacity: typing.Optional[jsii.Number] = None,
7122
- max_retries: typing.Optional[jsii.Number] = None,
7123
- name: typing.Optional[builtins.str] = None,
7124
- non_overridable_arguments: typing.Any = None,
7125
- notification_property: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.NotificationPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7126
- number_of_workers: typing.Optional[jsii.Number] = None,
7127
- security_configuration: typing.Optional[builtins.str] = None,
7128
- tags: typing.Any = None,
7129
- timeout: typing.Optional[jsii.Number] = None,
7130
- worker_type: typing.Optional[builtins.str] = None,
7331
+ resource_arn: builtins.str,
7332
+ source_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7333
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7334
+ target_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7131
7335
  ) -> None:
7132
- '''
7336
+ '''Create a new ``AWS::Glue::IntegrationResourceProperty``.
7337
+
7133
7338
  :param scope: Scope in which this resource is defined.
7134
7339
  :param id: Construct identifier for this resource (unique in its scope).
7135
- :param command: The code that executes a job.
7136
- :param role: The name or Amazon Resource Name (ARN) of the IAM role associated with this job.
7137
- :param allocated_capacity: This parameter is no longer supported. Use ``MaxCapacity`` instead. The number of capacity units that are allocated to this job.
7138
- :param connections: The connections used for this job.
7139
- :param default_arguments: The default arguments for this job, specified as name-value pairs. You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see `Calling AWS Glue APIs in Python <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html>`_ in the *AWS Glue Developer Guide* . For information about the key-value pairs that AWS Glue consumes to set up your job, see `Special Parameters Used by AWS Glue <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html>`_ in the *AWS Glue Developer Guide* .
7140
- :param description: A description of the job.
7141
- :param execution_class: Indicates whether the job is run with a standard or flexible execution class. The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources. The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. Only jobs with AWS Glue version 3.0 and above and command type ``glueetl`` will be allowed to set ``ExecutionClass`` to ``FLEX`` . The flexible execution class is available for Spark jobs.
7142
- :param execution_property: The maximum number of concurrent runs that are allowed for this job.
7143
- :param glue_version: Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see `Glue version <https://docs.aws.amazon.com/glue/latest/dg/add-job.html>`_ in the developer guide. Jobs that are created without specifying a Glue version default to the latest Glue version available.
7144
- :param job_mode: A mode that describes how a job was created. Valid values are:. - ``SCRIPT`` - The job was created using the AWS Glue Studio script editor. - ``VISUAL`` - The job was created using the AWS Glue Studio visual editor. - ``NOTEBOOK`` - The job was created using an interactive sessions notebook. When the ``JobMode`` field is missing or null, ``SCRIPT`` is assigned as the default value.
7145
- :param job_run_queuing_enabled: Specifies whether job run queuing is enabled for the job runs for this job. A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing. If this field does not match the value set in the job run, then the value from the job run field will be used.
7146
- :param log_uri: This field is reserved for future use.
7147
- :param maintenance_window: This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs. AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
7148
- :param max_capacity: The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. Do not set ``Max Capacity`` if using ``WorkerType`` and ``NumberOfWorkers`` . The value that can be allocated for ``MaxCapacity`` depends on whether you are running a Python shell job or an Apache Spark ETL job: - When you specify a Python shell job ( ``JobCommand.Name`` ="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. - When you specify an Apache Spark ETL job ( ``JobCommand.Name`` ="glueetl"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
7149
- :param max_retries: The maximum number of times to retry this job after a JobRun fails.
7150
- :param name: The name you assign to this job definition.
7151
- :param non_overridable_arguments: Non-overridable arguments for this job, specified as name-value pairs.
7152
- :param notification_property: Specifies configuration properties of a notification.
7153
- :param number_of_workers: The number of workers of a defined ``workerType`` that are allocated when a job runs. The maximum number of workers you can define are 299 for ``G.1X`` , and 149 for ``G.2X`` .
7154
- :param security_configuration: The name of the ``SecurityConfiguration`` structure to be used with this job.
7155
- :param tags: The tags to use with this job.
7156
- :param timeout: The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
7157
- :param worker_type: The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs. - For the ``G.1X`` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. - For the ``G.2X`` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. - For the ``G.4X`` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm). - For the ``G.8X`` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the ``G.4X`` worker type. - For the ``G.025X`` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs. - For the ``Z.2X`` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
7340
+ :param resource_arn: The connection ARN of the source, or the database ARN of the target.
7341
+ :param source_processing_properties: The resource properties associated with the integration source.
7342
+ :param tags: An array of key-value pairs to apply to this resource.
7343
+ :param target_processing_properties: The resource properties associated with the integration target.
7158
7344
  '''
7159
7345
  if __debug__:
7160
- type_hints = typing.get_type_hints(_typecheckingstub__2bea698eff4ea1d2bc08b1ab842f318f77ba719c0241a0959453e26989b5b53e)
7346
+ type_hints = typing.get_type_hints(_typecheckingstub__ae17c734cde2f5daac3730b0666a9bbab9b5da447b629240e30963ab9c7f08f1)
7161
7347
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7162
7348
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7163
- props = CfnJobProps(
7164
- command=command,
7165
- role=role,
7166
- allocated_capacity=allocated_capacity,
7167
- connections=connections,
7168
- default_arguments=default_arguments,
7169
- description=description,
7170
- execution_class=execution_class,
7171
- execution_property=execution_property,
7172
- glue_version=glue_version,
7173
- job_mode=job_mode,
7174
- job_run_queuing_enabled=job_run_queuing_enabled,
7175
- log_uri=log_uri,
7176
- maintenance_window=maintenance_window,
7177
- max_capacity=max_capacity,
7178
- max_retries=max_retries,
7179
- name=name,
7180
- non_overridable_arguments=non_overridable_arguments,
7181
- notification_property=notification_property,
7182
- number_of_workers=number_of_workers,
7183
- security_configuration=security_configuration,
7349
+ props = CfnIntegrationResourcePropertyProps(
7350
+ resource_arn=resource_arn,
7351
+ source_processing_properties=source_processing_properties,
7184
7352
  tags=tags,
7185
- timeout=timeout,
7186
- worker_type=worker_type,
7353
+ target_processing_properties=target_processing_properties,
7187
7354
  )
7188
7355
 
7189
7356
  jsii.create(self.__class__, self, [scope, id, props])
@@ -7195,7 +7362,7 @@ class CfnJob(
7195
7362
  :param inspector: tree inspector to collect and process attributes.
7196
7363
  '''
7197
7364
  if __debug__:
7198
- type_hints = typing.get_type_hints(_typecheckingstub__d425131e9ab8979b5db307155c42bb9935456dd21866bba5ed461a9c8c90df3c)
7365
+ type_hints = typing.get_type_hints(_typecheckingstub__46d69862dc7dde6ecceaf897c68f6494da749c002c2fc78d76e6799de13bd2d8)
7199
7366
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
7200
7367
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
7201
7368
 
@@ -7208,7 +7375,7 @@ class CfnJob(
7208
7375
  :param props: -
7209
7376
  '''
7210
7377
  if __debug__:
7211
- type_hints = typing.get_type_hints(_typecheckingstub__ff736c600c4721825d122a059a265a3c60efe89b58ef836fd0db2d0e1b7f6ae1)
7378
+ type_hints = typing.get_type_hints(_typecheckingstub__21df869892b19f6d632e31fd42a47b31e468b35e796adf031824e29f18a1dfd4)
7212
7379
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
7213
7380
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
7214
7381
 
@@ -7218,50 +7385,636 @@ class CfnJob(
7218
7385
  '''The CloudFormation resource type name for this resource class.'''
7219
7386
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
7220
7387
 
7388
+ @builtins.property
7389
+ @jsii.member(jsii_name="attrResourcePropertyArn")
7390
+ def attr_resource_property_arn(self) -> builtins.str:
7391
+ '''The integration resource property ARN.
7392
+
7393
+ :cloudformationAttribute: ResourcePropertyArn
7394
+ '''
7395
+ return typing.cast(builtins.str, jsii.get(self, "attrResourcePropertyArn"))
7396
+
7397
+ @builtins.property
7398
+ @jsii.member(jsii_name="cdkTagManager")
7399
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
7400
+ '''Tag Manager which manages the tags for this resource.'''
7401
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
7402
+
7221
7403
  @builtins.property
7222
7404
  @jsii.member(jsii_name="cfnProperties")
7223
7405
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7224
7406
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7225
7407
 
7226
7408
  @builtins.property
7227
- @jsii.member(jsii_name="tags")
7228
- def tags(self) -> _TagManager_0a598cb3:
7229
- '''Tag Manager which manages the tags for this resource.'''
7230
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
7409
+ @jsii.member(jsii_name="integrationResourcePropertyRef")
7410
+ def integration_resource_property_ref(
7411
+ self,
7412
+ ) -> _IntegrationResourcePropertyReference_0fbb76f4:
7413
+ '''A reference to a IntegrationResourceProperty resource.'''
7414
+ return typing.cast(_IntegrationResourcePropertyReference_0fbb76f4, jsii.get(self, "integrationResourcePropertyRef"))
7231
7415
 
7232
7416
  @builtins.property
7233
- @jsii.member(jsii_name="command")
7234
- def command(
7235
- self,
7236
- ) -> typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"]:
7237
- '''The code that executes a job.'''
7238
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"], jsii.get(self, "command"))
7417
+ @jsii.member(jsii_name="resourceArn")
7418
+ def resource_arn(self) -> builtins.str:
7419
+ '''The connection ARN of the source, or the database ARN of the target.'''
7420
+ return typing.cast(builtins.str, jsii.get(self, "resourceArn"))
7239
7421
 
7240
- @command.setter
7241
- def command(
7242
- self,
7243
- value: typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"],
7244
- ) -> None:
7422
+ @resource_arn.setter
7423
+ def resource_arn(self, value: builtins.str) -> None:
7245
7424
  if __debug__:
7246
- type_hints = typing.get_type_hints(_typecheckingstub__92e6559d7b7e4750985b75f86ff0ead213e6dcf804f0f9d87d12c5dd11ef4b68)
7425
+ type_hints = typing.get_type_hints(_typecheckingstub__c464711887144dbc1e3c1e1eda79ff02c8f1cd0e0fb10f8356ded145b598ca4b)
7247
7426
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7248
- jsii.set(self, "command", value) # pyright: ignore[reportArgumentType]
7427
+ jsii.set(self, "resourceArn", value) # pyright: ignore[reportArgumentType]
7249
7428
 
7250
7429
  @builtins.property
7251
- @jsii.member(jsii_name="role")
7252
- def role(self) -> builtins.str:
7253
- '''The name or Amazon Resource Name (ARN) of the IAM role associated with this job.'''
7254
- return typing.cast(builtins.str, jsii.get(self, "role"))
7430
+ @jsii.member(jsii_name="sourceProcessingProperties")
7431
+ def source_processing_properties(
7432
+ self,
7433
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty"]]:
7434
+ '''The resource properties associated with the integration source.'''
7435
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty"]], jsii.get(self, "sourceProcessingProperties"))
7255
7436
 
7256
- @role.setter
7257
- def role(self, value: builtins.str) -> None:
7437
+ @source_processing_properties.setter
7438
+ def source_processing_properties(
7439
+ self,
7440
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty"]],
7441
+ ) -> None:
7258
7442
  if __debug__:
7259
- type_hints = typing.get_type_hints(_typecheckingstub__d6215be83f5dcb82628d4c0f7daff3e6e5a40b7ba8133cbdd559c85f264c8248)
7443
+ type_hints = typing.get_type_hints(_typecheckingstub__ec3419db4cbc5e91effd1829b2f9850e866041a702776a1f1e3de5e078637e20)
7260
7444
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7261
- jsii.set(self, "role", value) # pyright: ignore[reportArgumentType]
7445
+ jsii.set(self, "sourceProcessingProperties", value) # pyright: ignore[reportArgumentType]
7262
7446
 
7263
7447
  @builtins.property
7264
- @jsii.member(jsii_name="allocatedCapacity")
7448
+ @jsii.member(jsii_name="tags")
7449
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7450
+ '''An array of key-value pairs to apply to this resource.'''
7451
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
7452
+
7453
+ @tags.setter
7454
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
7455
+ if __debug__:
7456
+ type_hints = typing.get_type_hints(_typecheckingstub__f016591c61e82e1cfee1b2f7fbb7e9b7e69c013f866e691bfd71179667693aac)
7457
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7458
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
7459
+
7460
+ @builtins.property
7461
+ @jsii.member(jsii_name="targetProcessingProperties")
7462
+ def target_processing_properties(
7463
+ self,
7464
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty"]]:
7465
+ '''The resource properties associated with the integration target.'''
7466
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty"]], jsii.get(self, "targetProcessingProperties"))
7467
+
7468
+ @target_processing_properties.setter
7469
+ def target_processing_properties(
7470
+ self,
7471
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty"]],
7472
+ ) -> None:
7473
+ if __debug__:
7474
+ type_hints = typing.get_type_hints(_typecheckingstub__479e5167d31a49f354c0c3a47279def6ea08ddad3a85550b9cb30f108f7bdcc3)
7475
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7476
+ jsii.set(self, "targetProcessingProperties", value) # pyright: ignore[reportArgumentType]
7477
+
7478
+ @jsii.data_type(
7479
+ jsii_type="aws-cdk-lib.aws_glue.CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty",
7480
+ jsii_struct_bases=[],
7481
+ name_mapping={"role_arn": "roleArn"},
7482
+ )
7483
+ class SourceProcessingPropertiesProperty:
7484
+ def __init__(self, *, role_arn: builtins.str) -> None:
7485
+ '''The resource properties associated with the integration source.
7486
+
7487
+ :param role_arn: The IAM role to access the Glue connection.
7488
+
7489
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-sourceprocessingproperties.html
7490
+ :exampleMetadata: fixture=_generated
7491
+
7492
+ Example::
7493
+
7494
+ # The code below shows an example of how to instantiate this type.
7495
+ # The values are placeholders you should change.
7496
+ from aws_cdk import aws_glue as glue
7497
+
7498
+ source_processing_properties_property = glue.CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty(
7499
+ role_arn="roleArn"
7500
+ )
7501
+ '''
7502
+ if __debug__:
7503
+ type_hints = typing.get_type_hints(_typecheckingstub__1746720d7169b5950c1d069a3db28d2ce2fab948ab493aba439f030e01921dcf)
7504
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
7505
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7506
+ "role_arn": role_arn,
7507
+ }
7508
+
7509
+ @builtins.property
7510
+ def role_arn(self) -> builtins.str:
7511
+ '''The IAM role to access the Glue connection.
7512
+
7513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-sourceprocessingproperties.html#cfn-glue-integrationresourceproperty-sourceprocessingproperties-rolearn
7514
+ '''
7515
+ result = self._values.get("role_arn")
7516
+ assert result is not None, "Required property 'role_arn' is missing"
7517
+ return typing.cast(builtins.str, result)
7518
+
7519
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7520
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7521
+
7522
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7523
+ return not (rhs == self)
7524
+
7525
+ def __repr__(self) -> str:
7526
+ return "SourceProcessingPropertiesProperty(%s)" % ", ".join(
7527
+ k + "=" + repr(v) for k, v in self._values.items()
7528
+ )
7529
+
7530
+ @jsii.data_type(
7531
+ jsii_type="aws-cdk-lib.aws_glue.CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty",
7532
+ jsii_struct_bases=[],
7533
+ name_mapping={
7534
+ "role_arn": "roleArn",
7535
+ "connection_name": "connectionName",
7536
+ "event_bus_arn": "eventBusArn",
7537
+ "kms_arn": "kmsArn",
7538
+ },
7539
+ )
7540
+ class TargetProcessingPropertiesProperty:
7541
+ def __init__(
7542
+ self,
7543
+ *,
7544
+ role_arn: builtins.str,
7545
+ connection_name: typing.Optional[builtins.str] = None,
7546
+ event_bus_arn: typing.Optional[builtins.str] = None,
7547
+ kms_arn: typing.Optional[builtins.str] = None,
7548
+ ) -> None:
7549
+ '''The resource properties associated with the integration target.
7550
+
7551
+ :param role_arn: The IAM role to access the Glue database.
7552
+ :param connection_name: The Glue network connection to configure the Glue job running in the customer VPC.
7553
+ :param event_bus_arn: The ARN of an Eventbridge event bus to receive the integration status notification.
7554
+ :param kms_arn: The ARN of the KMS key used for encryption.
7555
+
7556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-targetprocessingproperties.html
7557
+ :exampleMetadata: fixture=_generated
7558
+
7559
+ Example::
7560
+
7561
+ # The code below shows an example of how to instantiate this type.
7562
+ # The values are placeholders you should change.
7563
+ from aws_cdk import aws_glue as glue
7564
+
7565
+ target_processing_properties_property = glue.CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty(
7566
+ role_arn="roleArn",
7567
+
7568
+ # the properties below are optional
7569
+ connection_name="connectionName",
7570
+ event_bus_arn="eventBusArn",
7571
+ kms_arn="kmsArn"
7572
+ )
7573
+ '''
7574
+ if __debug__:
7575
+ type_hints = typing.get_type_hints(_typecheckingstub__71bd14f343e17ac6f0cc146efa01c15b1b4ca262149364ac44132eba27211bc5)
7576
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
7577
+ check_type(argname="argument connection_name", value=connection_name, expected_type=type_hints["connection_name"])
7578
+ check_type(argname="argument event_bus_arn", value=event_bus_arn, expected_type=type_hints["event_bus_arn"])
7579
+ check_type(argname="argument kms_arn", value=kms_arn, expected_type=type_hints["kms_arn"])
7580
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7581
+ "role_arn": role_arn,
7582
+ }
7583
+ if connection_name is not None:
7584
+ self._values["connection_name"] = connection_name
7585
+ if event_bus_arn is not None:
7586
+ self._values["event_bus_arn"] = event_bus_arn
7587
+ if kms_arn is not None:
7588
+ self._values["kms_arn"] = kms_arn
7589
+
7590
+ @builtins.property
7591
+ def role_arn(self) -> builtins.str:
7592
+ '''The IAM role to access the Glue database.
7593
+
7594
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-targetprocessingproperties.html#cfn-glue-integrationresourceproperty-targetprocessingproperties-rolearn
7595
+ '''
7596
+ result = self._values.get("role_arn")
7597
+ assert result is not None, "Required property 'role_arn' is missing"
7598
+ return typing.cast(builtins.str, result)
7599
+
7600
+ @builtins.property
7601
+ def connection_name(self) -> typing.Optional[builtins.str]:
7602
+ '''The Glue network connection to configure the Glue job running in the customer VPC.
7603
+
7604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-targetprocessingproperties.html#cfn-glue-integrationresourceproperty-targetprocessingproperties-connectionname
7605
+ '''
7606
+ result = self._values.get("connection_name")
7607
+ return typing.cast(typing.Optional[builtins.str], result)
7608
+
7609
+ @builtins.property
7610
+ def event_bus_arn(self) -> typing.Optional[builtins.str]:
7611
+ '''The ARN of an Eventbridge event bus to receive the integration status notification.
7612
+
7613
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-targetprocessingproperties.html#cfn-glue-integrationresourceproperty-targetprocessingproperties-eventbusarn
7614
+ '''
7615
+ result = self._values.get("event_bus_arn")
7616
+ return typing.cast(typing.Optional[builtins.str], result)
7617
+
7618
+ @builtins.property
7619
+ def kms_arn(self) -> typing.Optional[builtins.str]:
7620
+ '''The ARN of the KMS key used for encryption.
7621
+
7622
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-integrationresourceproperty-targetprocessingproperties.html#cfn-glue-integrationresourceproperty-targetprocessingproperties-kmsarn
7623
+ '''
7624
+ result = self._values.get("kms_arn")
7625
+ return typing.cast(typing.Optional[builtins.str], result)
7626
+
7627
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7628
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7629
+
7630
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7631
+ return not (rhs == self)
7632
+
7633
+ def __repr__(self) -> str:
7634
+ return "TargetProcessingPropertiesProperty(%s)" % ", ".join(
7635
+ k + "=" + repr(v) for k, v in self._values.items()
7636
+ )
7637
+
7638
+
7639
+ @jsii.data_type(
7640
+ jsii_type="aws-cdk-lib.aws_glue.CfnIntegrationResourcePropertyProps",
7641
+ jsii_struct_bases=[],
7642
+ name_mapping={
7643
+ "resource_arn": "resourceArn",
7644
+ "source_processing_properties": "sourceProcessingProperties",
7645
+ "tags": "tags",
7646
+ "target_processing_properties": "targetProcessingProperties",
7647
+ },
7648
+ )
7649
+ class CfnIntegrationResourcePropertyProps:
7650
+ def __init__(
7651
+ self,
7652
+ *,
7653
+ resource_arn: builtins.str,
7654
+ source_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7655
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7656
+ target_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7657
+ ) -> None:
7658
+ '''Properties for defining a ``CfnIntegrationResourceProperty``.
7659
+
7660
+ :param resource_arn: The connection ARN of the source, or the database ARN of the target.
7661
+ :param source_processing_properties: The resource properties associated with the integration source.
7662
+ :param tags: An array of key-value pairs to apply to this resource.
7663
+ :param target_processing_properties: The resource properties associated with the integration target.
7664
+
7665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html
7666
+ :exampleMetadata: fixture=_generated
7667
+
7668
+ Example::
7669
+
7670
+ # The code below shows an example of how to instantiate this type.
7671
+ # The values are placeholders you should change.
7672
+ from aws_cdk import aws_glue as glue
7673
+
7674
+ cfn_integration_resource_property_props = glue.CfnIntegrationResourcePropertyProps(
7675
+ resource_arn="resourceArn",
7676
+
7677
+ # the properties below are optional
7678
+ source_processing_properties=glue.CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty(
7679
+ role_arn="roleArn"
7680
+ ),
7681
+ tags=[CfnTag(
7682
+ key="key",
7683
+ value="value"
7684
+ )],
7685
+ target_processing_properties=glue.CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty(
7686
+ role_arn="roleArn",
7687
+
7688
+ # the properties below are optional
7689
+ connection_name="connectionName",
7690
+ event_bus_arn="eventBusArn",
7691
+ kms_arn="kmsArn"
7692
+ )
7693
+ )
7694
+ '''
7695
+ if __debug__:
7696
+ type_hints = typing.get_type_hints(_typecheckingstub__85ed4d06cc122e78ef67818e2a911a38f8807718eef54875b3bdcd9a6e70f92f)
7697
+ check_type(argname="argument resource_arn", value=resource_arn, expected_type=type_hints["resource_arn"])
7698
+ check_type(argname="argument source_processing_properties", value=source_processing_properties, expected_type=type_hints["source_processing_properties"])
7699
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7700
+ check_type(argname="argument target_processing_properties", value=target_processing_properties, expected_type=type_hints["target_processing_properties"])
7701
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7702
+ "resource_arn": resource_arn,
7703
+ }
7704
+ if source_processing_properties is not None:
7705
+ self._values["source_processing_properties"] = source_processing_properties
7706
+ if tags is not None:
7707
+ self._values["tags"] = tags
7708
+ if target_processing_properties is not None:
7709
+ self._values["target_processing_properties"] = target_processing_properties
7710
+
7711
+ @builtins.property
7712
+ def resource_arn(self) -> builtins.str:
7713
+ '''The connection ARN of the source, or the database ARN of the target.
7714
+
7715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html#cfn-glue-integrationresourceproperty-resourcearn
7716
+ '''
7717
+ result = self._values.get("resource_arn")
7718
+ assert result is not None, "Required property 'resource_arn' is missing"
7719
+ return typing.cast(builtins.str, result)
7720
+
7721
+ @builtins.property
7722
+ def source_processing_properties(
7723
+ self,
7724
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty]]:
7725
+ '''The resource properties associated with the integration source.
7726
+
7727
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html#cfn-glue-integrationresourceproperty-sourceprocessingproperties
7728
+ '''
7729
+ result = self._values.get("source_processing_properties")
7730
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty]], result)
7731
+
7732
+ @builtins.property
7733
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7734
+ '''An array of key-value pairs to apply to this resource.
7735
+
7736
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html#cfn-glue-integrationresourceproperty-tags
7737
+ '''
7738
+ result = self._values.get("tags")
7739
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
7740
+
7741
+ @builtins.property
7742
+ def target_processing_properties(
7743
+ self,
7744
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty]]:
7745
+ '''The resource properties associated with the integration target.
7746
+
7747
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-integrationresourceproperty.html#cfn-glue-integrationresourceproperty-targetprocessingproperties
7748
+ '''
7749
+ result = self._values.get("target_processing_properties")
7750
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty]], result)
7751
+
7752
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7753
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7754
+
7755
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7756
+ return not (rhs == self)
7757
+
7758
+ def __repr__(self) -> str:
7759
+ return "CfnIntegrationResourcePropertyProps(%s)" % ", ".join(
7760
+ k + "=" + repr(v) for k, v in self._values.items()
7761
+ )
7762
+
7763
+
7764
+ @jsii.implements(_IInspectable_c2943556, _IJobRef_b119043c, _ITaggable_36806126)
7765
+ class CfnJob(
7766
+ _CfnResource_9df397a6,
7767
+ metaclass=jsii.JSIIMeta,
7768
+ jsii_type="aws-cdk-lib.aws_glue.CfnJob",
7769
+ ):
7770
+ '''The ``AWS::Glue::Job`` resource specifies an AWS Glue job in the data catalog.
7771
+
7772
+ For more information, see `Adding Jobs in AWS Glue <https://docs.aws.amazon.com/glue/latest/dg/add-job.html>`_ and `Job Structure <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job>`_ in the *AWS Glue Developer Guide.*
7773
+
7774
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html
7775
+ :cloudformationResource: AWS::Glue::Job
7776
+ :exampleMetadata: fixture=_generated
7777
+
7778
+ Example::
7779
+
7780
+ # The code below shows an example of how to instantiate this type.
7781
+ # The values are placeholders you should change.
7782
+ from aws_cdk import aws_glue as glue
7783
+
7784
+ # default_arguments: Any
7785
+ # non_overridable_arguments: Any
7786
+ # tags: Any
7787
+
7788
+ cfn_job = glue.CfnJob(self, "MyCfnJob",
7789
+ command=glue.CfnJob.JobCommandProperty(
7790
+ name="name",
7791
+ python_version="pythonVersion",
7792
+ runtime="runtime",
7793
+ script_location="scriptLocation"
7794
+ ),
7795
+ role="role",
7796
+
7797
+ # the properties below are optional
7798
+ allocated_capacity=123,
7799
+ connections=glue.CfnJob.ConnectionsListProperty(
7800
+ connections=["connections"]
7801
+ ),
7802
+ default_arguments=default_arguments,
7803
+ description="description",
7804
+ execution_class="executionClass",
7805
+ execution_property=glue.CfnJob.ExecutionPropertyProperty(
7806
+ max_concurrent_runs=123
7807
+ ),
7808
+ glue_version="glueVersion",
7809
+ job_mode="jobMode",
7810
+ job_run_queuing_enabled=False,
7811
+ log_uri="logUri",
7812
+ maintenance_window="maintenanceWindow",
7813
+ max_capacity=123,
7814
+ max_retries=123,
7815
+ name="name",
7816
+ non_overridable_arguments=non_overridable_arguments,
7817
+ notification_property=glue.CfnJob.NotificationPropertyProperty(
7818
+ notify_delay_after=123
7819
+ ),
7820
+ number_of_workers=123,
7821
+ security_configuration="securityConfiguration",
7822
+ tags=tags,
7823
+ timeout=123,
7824
+ worker_type="workerType"
7825
+ )
7826
+ '''
7827
+
7828
+ def __init__(
7829
+ self,
7830
+ scope: _constructs_77d1e7e8.Construct,
7831
+ id: builtins.str,
7832
+ *,
7833
+ command: typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.JobCommandProperty", typing.Dict[builtins.str, typing.Any]]],
7834
+ role: builtins.str,
7835
+ allocated_capacity: typing.Optional[jsii.Number] = None,
7836
+ connections: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.ConnectionsListProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7837
+ default_arguments: typing.Any = None,
7838
+ description: typing.Optional[builtins.str] = None,
7839
+ execution_class: typing.Optional[builtins.str] = None,
7840
+ execution_property: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.ExecutionPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7841
+ glue_version: typing.Optional[builtins.str] = None,
7842
+ job_mode: typing.Optional[builtins.str] = None,
7843
+ job_run_queuing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7844
+ log_uri: typing.Optional[builtins.str] = None,
7845
+ maintenance_window: typing.Optional[builtins.str] = None,
7846
+ max_capacity: typing.Optional[jsii.Number] = None,
7847
+ max_retries: typing.Optional[jsii.Number] = None,
7848
+ name: typing.Optional[builtins.str] = None,
7849
+ non_overridable_arguments: typing.Any = None,
7850
+ notification_property: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJob.NotificationPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7851
+ number_of_workers: typing.Optional[jsii.Number] = None,
7852
+ security_configuration: typing.Optional[builtins.str] = None,
7853
+ tags: typing.Any = None,
7854
+ timeout: typing.Optional[jsii.Number] = None,
7855
+ worker_type: typing.Optional[builtins.str] = None,
7856
+ ) -> None:
7857
+ '''Create a new ``AWS::Glue::Job``.
7858
+
7859
+ :param scope: Scope in which this resource is defined.
7860
+ :param id: Construct identifier for this resource (unique in its scope).
7861
+ :param command: The code that executes a job.
7862
+ :param role: The name or Amazon Resource Name (ARN) of the IAM role associated with this job.
7863
+ :param allocated_capacity: This parameter is no longer supported. Use ``MaxCapacity`` instead. The number of capacity units that are allocated to this job.
7864
+ :param connections: The connections used for this job.
7865
+ :param default_arguments: The default arguments for this job, specified as name-value pairs. You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see `Calling AWS Glue APIs in Python <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html>`_ in the *AWS Glue Developer Guide* . For information about the key-value pairs that AWS Glue consumes to set up your job, see `Special Parameters Used by AWS Glue <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html>`_ in the *AWS Glue Developer Guide* .
7866
+ :param description: A description of the job.
7867
+ :param execution_class: Indicates whether the job is run with a standard or flexible execution class. The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources. The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. Only jobs with AWS Glue version 3.0 and above and command type ``glueetl`` will be allowed to set ``ExecutionClass`` to ``FLEX`` . The flexible execution class is available for Spark jobs.
7868
+ :param execution_property: The maximum number of concurrent runs that are allowed for this job.
7869
+ :param glue_version: Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see `Glue version <https://docs.aws.amazon.com/glue/latest/dg/add-job.html>`_ in the developer guide. Jobs that are created without specifying a Glue version default to the latest Glue version available.
7870
+ :param job_mode: A mode that describes how a job was created. Valid values are:. - ``SCRIPT`` - The job was created using the AWS Glue Studio script editor. - ``VISUAL`` - The job was created using the AWS Glue Studio visual editor. - ``NOTEBOOK`` - The job was created using an interactive sessions notebook. When the ``JobMode`` field is missing or null, ``SCRIPT`` is assigned as the default value.
7871
+ :param job_run_queuing_enabled: Specifies whether job run queuing is enabled for the job runs for this job. A value of true means job run queuing is enabled for the job runs. If false or not populated, the job runs will not be considered for queueing. If this field does not match the value set in the job run, then the value from the job run field will be used.
7872
+ :param log_uri: This field is reserved for future use.
7873
+ :param maintenance_window: This field specifies a day of the week and hour for a maintenance window for streaming jobs. AWS Glue periodically performs maintenance activities. During these maintenance windows, AWS Glue will need to restart your streaming jobs. AWS Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.
7874
+ :param max_capacity: The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. Do not set ``Max Capacity`` if using ``WorkerType`` and ``NumberOfWorkers`` . The value that can be allocated for ``MaxCapacity`` depends on whether you are running a Python shell job or an Apache Spark ETL job: - When you specify a Python shell job ( ``JobCommand.Name`` ="pythonshell"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. - When you specify an Apache Spark ETL job ( ``JobCommand.Name`` ="glueetl"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.
7875
+ :param max_retries: The maximum number of times to retry this job after a JobRun fails.
7876
+ :param name: The name you assign to this job definition.
7877
+ :param non_overridable_arguments: Non-overridable arguments for this job, specified as name-value pairs.
7878
+ :param notification_property: Specifies configuration properties of a notification.
7879
+ :param number_of_workers: The number of workers of a defined ``workerType`` that are allocated when a job runs. The maximum number of workers you can define are 299 for ``G.1X`` , and 149 for ``G.2X`` .
7880
+ :param security_configuration: The name of the ``SecurityConfiguration`` structure to be used with this job.
7881
+ :param tags: The tags to use with this job.
7882
+ :param timeout: The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
7883
+ :param worker_type: The type of predefined worker that is allocated when a job runs. AWS Glue provides multiple worker types to accommodate different workload requirements: G Worker Types (General-purpose compute workers): - G.1X: 1 DPU (4 vCPUs, 16 GB memory, 94GB disk) - G.2X: 2 DPU (8 vCPUs, 32 GB memory, 138GB disk) - G.4X: 4 DPU (16 vCPUs, 64 GB memory, 256GB disk) - G.8X: 8 DPU (32 vCPUs, 128 GB memory, 512GB disk) - G.12X: 12 DPU (48 vCPUs, 192 GB memory, 768GB disk) - G.16X: 16 DPU (64 vCPUs, 256 GB memory, 1024GB disk) R Worker Types (Memory-optimized workers): - R.1X: 1 M-DPU (4 vCPUs, 32 GB memory) - R.2X: 2 M-DPU (8 vCPUs, 64 GB memory) - R.4X: 4 M-DPU (16 vCPUs, 128 GB memory) - R.8X: 8 M-DPU (32 vCPUs, 256 GB memory)
7884
+ '''
7885
+ if __debug__:
7886
+ type_hints = typing.get_type_hints(_typecheckingstub__2bea698eff4ea1d2bc08b1ab842f318f77ba719c0241a0959453e26989b5b53e)
7887
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7888
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7889
+ props = CfnJobProps(
7890
+ command=command,
7891
+ role=role,
7892
+ allocated_capacity=allocated_capacity,
7893
+ connections=connections,
7894
+ default_arguments=default_arguments,
7895
+ description=description,
7896
+ execution_class=execution_class,
7897
+ execution_property=execution_property,
7898
+ glue_version=glue_version,
7899
+ job_mode=job_mode,
7900
+ job_run_queuing_enabled=job_run_queuing_enabled,
7901
+ log_uri=log_uri,
7902
+ maintenance_window=maintenance_window,
7903
+ max_capacity=max_capacity,
7904
+ max_retries=max_retries,
7905
+ name=name,
7906
+ non_overridable_arguments=non_overridable_arguments,
7907
+ notification_property=notification_property,
7908
+ number_of_workers=number_of_workers,
7909
+ security_configuration=security_configuration,
7910
+ tags=tags,
7911
+ timeout=timeout,
7912
+ worker_type=worker_type,
7913
+ )
7914
+
7915
+ jsii.create(self.__class__, self, [scope, id, props])
7916
+
7917
+ @jsii.member(jsii_name="fromJobName")
7918
+ @builtins.classmethod
7919
+ def from_job_name(
7920
+ cls,
7921
+ scope: _constructs_77d1e7e8.Construct,
7922
+ id: builtins.str,
7923
+ job_name: builtins.str,
7924
+ ) -> _IJobRef_b119043c:
7925
+ '''Creates a new IJobRef from a jobName.
7926
+
7927
+ :param scope: -
7928
+ :param id: -
7929
+ :param job_name: -
7930
+ '''
7931
+ if __debug__:
7932
+ type_hints = typing.get_type_hints(_typecheckingstub__800b295a4e0e23b0b95e4eb1a477f6d73e527378c000c53073ea7b72fd6c7b58)
7933
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7934
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7935
+ check_type(argname="argument job_name", value=job_name, expected_type=type_hints["job_name"])
7936
+ return typing.cast(_IJobRef_b119043c, jsii.sinvoke(cls, "fromJobName", [scope, id, job_name]))
7937
+
7938
+ @jsii.member(jsii_name="inspect")
7939
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
7940
+ '''Examines the CloudFormation resource and discloses attributes.
7941
+
7942
+ :param inspector: tree inspector to collect and process attributes.
7943
+ '''
7944
+ if __debug__:
7945
+ type_hints = typing.get_type_hints(_typecheckingstub__d425131e9ab8979b5db307155c42bb9935456dd21866bba5ed461a9c8c90df3c)
7946
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
7947
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
7948
+
7949
+ @jsii.member(jsii_name="renderProperties")
7950
+ def _render_properties(
7951
+ self,
7952
+ props: typing.Mapping[builtins.str, typing.Any],
7953
+ ) -> typing.Mapping[builtins.str, typing.Any]:
7954
+ '''
7955
+ :param props: -
7956
+ '''
7957
+ if __debug__:
7958
+ type_hints = typing.get_type_hints(_typecheckingstub__ff736c600c4721825d122a059a265a3c60efe89b58ef836fd0db2d0e1b7f6ae1)
7959
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
7960
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
7961
+
7962
+ @jsii.python.classproperty
7963
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
7964
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
7965
+ '''The CloudFormation resource type name for this resource class.'''
7966
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
7967
+
7968
+ @builtins.property
7969
+ @jsii.member(jsii_name="cfnProperties")
7970
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7971
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7972
+
7973
+ @builtins.property
7974
+ @jsii.member(jsii_name="jobRef")
7975
+ def job_ref(self) -> _JobReference_d005117a:
7976
+ '''A reference to a Job resource.'''
7977
+ return typing.cast(_JobReference_d005117a, jsii.get(self, "jobRef"))
7978
+
7979
+ @builtins.property
7980
+ @jsii.member(jsii_name="tags")
7981
+ def tags(self) -> _TagManager_0a598cb3:
7982
+ '''Tag Manager which manages the tags for this resource.'''
7983
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
7984
+
7985
+ @builtins.property
7986
+ @jsii.member(jsii_name="command")
7987
+ def command(
7988
+ self,
7989
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"]:
7990
+ '''The code that executes a job.'''
7991
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"], jsii.get(self, "command"))
7992
+
7993
+ @command.setter
7994
+ def command(
7995
+ self,
7996
+ value: typing.Union[_IResolvable_da3f097b, "CfnJob.JobCommandProperty"],
7997
+ ) -> None:
7998
+ if __debug__:
7999
+ type_hints = typing.get_type_hints(_typecheckingstub__92e6559d7b7e4750985b75f86ff0ead213e6dcf804f0f9d87d12c5dd11ef4b68)
8000
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8001
+ jsii.set(self, "command", value) # pyright: ignore[reportArgumentType]
8002
+
8003
+ @builtins.property
8004
+ @jsii.member(jsii_name="role")
8005
+ def role(self) -> builtins.str:
8006
+ '''The name or Amazon Resource Name (ARN) of the IAM role associated with this job.'''
8007
+ return typing.cast(builtins.str, jsii.get(self, "role"))
8008
+
8009
+ @role.setter
8010
+ def role(self, value: builtins.str) -> None:
8011
+ if __debug__:
8012
+ type_hints = typing.get_type_hints(_typecheckingstub__d6215be83f5dcb82628d4c0f7daff3e6e5a40b7ba8133cbdd559c85f264c8248)
8013
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8014
+ jsii.set(self, "role", value) # pyright: ignore[reportArgumentType]
8015
+
8016
+ @builtins.property
8017
+ @jsii.member(jsii_name="allocatedCapacity")
7265
8018
  def allocated_capacity(self) -> typing.Optional[jsii.Number]:
7266
8019
  '''This parameter is no longer supported.
7267
8020
 
@@ -7919,7 +8672,7 @@ class CfnJobProps:
7919
8672
  :param security_configuration: The name of the ``SecurityConfiguration`` structure to be used with this job.
7920
8673
  :param tags: The tags to use with this job.
7921
8674
  :param timeout: The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).
7922
- :param worker_type: The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs. - For the ``G.1X`` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. - For the ``G.2X`` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs. - For the ``G.4X`` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm). - For the ``G.8X`` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the ``G.4X`` worker type. - For the ``G.025X`` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs. - For the ``Z.2X`` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
8675
+ :param worker_type: The type of predefined worker that is allocated when a job runs. AWS Glue provides multiple worker types to accommodate different workload requirements: G Worker Types (General-purpose compute workers): - G.1X: 1 DPU (4 vCPUs, 16 GB memory, 94GB disk) - G.2X: 2 DPU (8 vCPUs, 32 GB memory, 138GB disk) - G.4X: 4 DPU (16 vCPUs, 64 GB memory, 256GB disk) - G.8X: 8 DPU (32 vCPUs, 128 GB memory, 512GB disk) - G.12X: 12 DPU (48 vCPUs, 192 GB memory, 768GB disk) - G.16X: 16 DPU (64 vCPUs, 256 GB memory, 1024GB disk) R Worker Types (Memory-optimized workers): - R.1X: 1 M-DPU (4 vCPUs, 32 GB memory) - R.2X: 2 M-DPU (8 vCPUs, 64 GB memory) - R.4X: 4 M-DPU (16 vCPUs, 128 GB memory) - R.8X: 8 M-DPU (32 vCPUs, 256 GB memory)
7923
8676
 
7924
8677
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html
7925
8678
  :exampleMetadata: fixture=_generated
@@ -8304,14 +9057,23 @@ class CfnJobProps:
8304
9057
  def worker_type(self) -> typing.Optional[builtins.str]:
8305
9058
  '''The type of predefined worker that is allocated when a job runs.
8306
9059
 
8307
- Accepts a value of G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.
9060
+ AWS Glue provides multiple worker types to accommodate different workload requirements:
9061
+
9062
+ G Worker Types (General-purpose compute workers):
9063
+
9064
+ - G.1X: 1 DPU (4 vCPUs, 16 GB memory, 94GB disk)
9065
+ - G.2X: 2 DPU (8 vCPUs, 32 GB memory, 138GB disk)
9066
+ - G.4X: 4 DPU (16 vCPUs, 64 GB memory, 256GB disk)
9067
+ - G.8X: 8 DPU (32 vCPUs, 128 GB memory, 512GB disk)
9068
+ - G.12X: 12 DPU (48 vCPUs, 192 GB memory, 768GB disk)
9069
+ - G.16X: 16 DPU (64 vCPUs, 256 GB memory, 1024GB disk)
9070
+
9071
+ R Worker Types (Memory-optimized workers):
8308
9072
 
8309
- - For the ``G.1X`` worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
8310
- - For the ``G.2X`` worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.
8311
- - For the ``G.4X`` worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs in the following AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).
8312
- - For the ``G.8X`` worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later Spark ETL jobs, in the same AWS Regions as supported for the ``G.4X`` worker type.
8313
- - For the ``G.025X`` worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk, and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for AWS Glue version 3.0 or later streaming jobs.
8314
- - For the ``Z.2X`` worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
9073
+ - R.1X: 1 M-DPU (4 vCPUs, 32 GB memory)
9074
+ - R.2X: 2 M-DPU (8 vCPUs, 64 GB memory)
9075
+ - R.4X: 4 M-DPU (16 vCPUs, 128 GB memory)
9076
+ - R.8X: 8 M-DPU (32 vCPUs, 256 GB memory)
8315
9077
 
8316
9078
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype
8317
9079
  '''
@@ -8330,7 +9092,7 @@ class CfnJobProps:
8330
9092
  )
8331
9093
 
8332
9094
 
8333
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
9095
+ @jsii.implements(_IInspectable_c2943556, _IMLTransformRef_9f131017, _ITaggable_36806126)
8334
9096
  class CfnMLTransform(
8335
9097
  _CfnResource_9df397a6,
8336
9098
  metaclass=jsii.JSIIMeta,
@@ -8417,7 +9179,8 @@ class CfnMLTransform(
8417
9179
  transform_encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMLTransform.TransformEncryptionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8418
9180
  worker_type: typing.Optional[builtins.str] = None,
8419
9181
  ) -> None:
8420
- '''
9182
+ '''Create a new ``AWS::Glue::MLTransform``.
9183
+
8421
9184
  :param scope: Scope in which this resource is defined.
8422
9185
  :param id: Construct identifier for this resource (unique in its scope).
8423
9186
  :param input_record_tables: A list of AWS Glue table definitions used by the transform.
@@ -8499,6 +9262,12 @@ class CfnMLTransform(
8499
9262
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8500
9263
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8501
9264
 
9265
+ @builtins.property
9266
+ @jsii.member(jsii_name="mlTransformRef")
9267
+ def ml_transform_ref(self) -> _MLTransformReference_ea7fd169:
9268
+ '''A reference to a MLTransform resource.'''
9269
+ return typing.cast(_MLTransformReference_ea7fd169, jsii.get(self, "mlTransformRef"))
9270
+
8502
9271
  @builtins.property
8503
9272
  @jsii.member(jsii_name="tags")
8504
9273
  def tags(self) -> _TagManager_0a598cb3:
@@ -9580,7 +10349,7 @@ class CfnMLTransformProps:
9580
10349
  )
9581
10350
 
9582
10351
 
9583
- @jsii.implements(_IInspectable_c2943556)
10352
+ @jsii.implements(_IInspectable_c2943556, _IPartitionRef_64160494)
9584
10353
  class CfnPartition(
9585
10354
  _CfnResource_9df397a6,
9586
10355
  metaclass=jsii.JSIIMeta,
@@ -9668,7 +10437,8 @@ class CfnPartition(
9668
10437
  partition_input: typing.Union[_IResolvable_da3f097b, typing.Union["CfnPartition.PartitionInputProperty", typing.Dict[builtins.str, typing.Any]]],
9669
10438
  table_name: builtins.str,
9670
10439
  ) -> None:
9671
- '''
10440
+ '''Create a new ``AWS::Glue::Partition``.
10441
+
9672
10442
  :param scope: Scope in which this resource is defined.
9673
10443
  :param id: Construct identifier for this resource (unique in its scope).
9674
10444
  :param catalog_id: The AWS account ID of the catalog in which the partion is to be created. .. epigraph:: To specify the account ID, you can use the ``Ref`` intrinsic function with the ``AWS::AccountId`` pseudo parameter. For example: ``!Ref AWS::AccountId``
@@ -9732,6 +10502,12 @@ class CfnPartition(
9732
10502
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9733
10503
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9734
10504
 
10505
+ @builtins.property
10506
+ @jsii.member(jsii_name="partitionRef")
10507
+ def partition_ref(self) -> _PartitionReference_e368d968:
10508
+ '''A reference to a Partition resource.'''
10509
+ return typing.cast(_PartitionReference_e368d968, jsii.get(self, "partitionRef"))
10510
+
9735
10511
  @builtins.property
9736
10512
  @jsii.member(jsii_name="catalogId")
9737
10513
  def catalog_id(self) -> builtins.str:
@@ -10936,7 +11712,7 @@ class CfnPartitionProps:
10936
11712
  )
10937
11713
 
10938
11714
 
10939
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
11715
+ @jsii.implements(_IInspectable_c2943556, _IRegistryRef_fee99a35, _ITaggable_36806126)
10940
11716
  class CfnRegistry(
10941
11717
  _CfnResource_9df397a6,
10942
11718
  metaclass=jsii.JSIIMeta,
@@ -10946,24 +11722,41 @@ class CfnRegistry(
10946
11722
 
10947
11723
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html
10948
11724
  :cloudformationResource: AWS::Glue::Registry
10949
- :exampleMetadata: fixture=_generated
11725
+ :exampleMetadata: infused
10950
11726
 
10951
11727
  Example::
10952
11728
 
10953
- # The code below shows an example of how to instantiate this type.
10954
- # The values are placeholders you should change.
10955
- from aws_cdk import aws_glue as glue
11729
+ from aws_cdk.aws_glue import CfnRegistry
11730
+ from aws_cdk.aws_lambda_event_sources import ManagedKafkaEventSource, GlueSchemaRegistry
10956
11731
 
10957
- cfn_registry = glue.CfnRegistry(self, "MyCfnRegistry",
10958
- name="name",
11732
+ # Your MSK cluster arn
11733
+ # cluster_arn: str
10959
11734
 
10960
- # the properties below are optional
10961
- description="description",
10962
- tags=[CfnTag(
10963
- key="key",
10964
- value="value"
10965
- )]
11735
+ # my_function: lambda.Function
11736
+
11737
+
11738
+ # The Kafka topic you want to subscribe to
11739
+ topic = "some-cool-topic"
11740
+
11741
+ # Your Glue Schema Registry
11742
+ glue_registry = CfnRegistry(self, "Registry",
11743
+ name="schema-registry",
11744
+ description="Schema registry for event source"
10966
11745
  )
11746
+ my_function.add_event_source(ManagedKafkaEventSource(
11747
+ cluster_arn=cluster_arn,
11748
+ topic=topic,
11749
+ starting_position=lambda_.StartingPosition.TRIM_HORIZON,
11750
+ provisioned_poller_config=ProvisionedPollerConfig(
11751
+ minimum_pollers=1,
11752
+ maximum_pollers=3
11753
+ ),
11754
+ schema_registry_config=GlueSchemaRegistry(
11755
+ schema_registry=glue_registry,
11756
+ event_record_format=lambda_.EventRecordFormat.JSON,
11757
+ schema_validation_configs=[lambda.KafkaSchemaValidationConfig(attribute=lambda_.KafkaSchemaValidationAttribute.KEY)]
11758
+ )
11759
+ ))
10967
11760
  '''
10968
11761
 
10969
11762
  def __init__(
@@ -10975,7 +11768,8 @@ class CfnRegistry(
10975
11768
  description: typing.Optional[builtins.str] = None,
10976
11769
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10977
11770
  ) -> None:
10978
- '''
11771
+ '''Create a new ``AWS::Glue::Registry``.
11772
+
10979
11773
  :param scope: Scope in which this resource is defined.
10980
11774
  :param id: Construct identifier for this resource (unique in its scope).
10981
11775
  :param name: The name of the registry.
@@ -11034,6 +11828,12 @@ class CfnRegistry(
11034
11828
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11035
11829
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11036
11830
 
11831
+ @builtins.property
11832
+ @jsii.member(jsii_name="registryRef")
11833
+ def registry_ref(self) -> _RegistryReference_58b511c1:
11834
+ '''A reference to a Registry resource.'''
11835
+ return typing.cast(_RegistryReference_58b511c1, jsii.get(self, "registryRef"))
11836
+
11037
11837
  @builtins.property
11038
11838
  @jsii.member(jsii_name="tags")
11039
11839
  def tags(self) -> _TagManager_0a598cb3:
@@ -11100,24 +11900,41 @@ class CfnRegistryProps:
11100
11900
  :param tags: AWS tags that contain a key value pair and may be searched by console, command line, or API.
11101
11901
 
11102
11902
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html
11103
- :exampleMetadata: fixture=_generated
11903
+ :exampleMetadata: infused
11104
11904
 
11105
11905
  Example::
11106
11906
 
11107
- # The code below shows an example of how to instantiate this type.
11108
- # The values are placeholders you should change.
11109
- from aws_cdk import aws_glue as glue
11907
+ from aws_cdk.aws_glue import CfnRegistry
11908
+ from aws_cdk.aws_lambda_event_sources import ManagedKafkaEventSource, GlueSchemaRegistry
11110
11909
 
11111
- cfn_registry_props = glue.CfnRegistryProps(
11112
- name="name",
11910
+ # Your MSK cluster arn
11911
+ # cluster_arn: str
11113
11912
 
11114
- # the properties below are optional
11115
- description="description",
11116
- tags=[CfnTag(
11117
- key="key",
11118
- value="value"
11119
- )]
11913
+ # my_function: lambda.Function
11914
+
11915
+
11916
+ # The Kafka topic you want to subscribe to
11917
+ topic = "some-cool-topic"
11918
+
11919
+ # Your Glue Schema Registry
11920
+ glue_registry = CfnRegistry(self, "Registry",
11921
+ name="schema-registry",
11922
+ description="Schema registry for event source"
11120
11923
  )
11924
+ my_function.add_event_source(ManagedKafkaEventSource(
11925
+ cluster_arn=cluster_arn,
11926
+ topic=topic,
11927
+ starting_position=lambda_.StartingPosition.TRIM_HORIZON,
11928
+ provisioned_poller_config=ProvisionedPollerConfig(
11929
+ minimum_pollers=1,
11930
+ maximum_pollers=3
11931
+ ),
11932
+ schema_registry_config=GlueSchemaRegistry(
11933
+ schema_registry=glue_registry,
11934
+ event_record_format=lambda_.EventRecordFormat.JSON,
11935
+ schema_validation_configs=[lambda.KafkaSchemaValidationConfig(attribute=lambda_.KafkaSchemaValidationAttribute.KEY)]
11936
+ )
11937
+ ))
11121
11938
  '''
11122
11939
  if __debug__:
11123
11940
  type_hints = typing.get_type_hints(_typecheckingstub__a9d85e07a2dcc4ae5cd073c48fc5eb424c7446e4be042407f1f89c111ef9bba1)
@@ -11172,7 +11989,7 @@ class CfnRegistryProps:
11172
11989
  )
11173
11990
 
11174
11991
 
11175
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
11992
+ @jsii.implements(_IInspectable_c2943556, _ISchemaRef_48c52337, _ITaggable_36806126)
11176
11993
  class CfnSchema(
11177
11994
  _CfnResource_9df397a6,
11178
11995
  metaclass=jsii.JSIIMeta,
@@ -11227,7 +12044,8 @@ class CfnSchema(
11227
12044
  schema_definition: typing.Optional[builtins.str] = None,
11228
12045
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11229
12046
  ) -> None:
11230
- '''
12047
+ '''Create a new ``AWS::Glue::Schema``.
12048
+
11231
12049
  :param scope: Scope in which this resource is defined.
11232
12050
  :param id: Construct identifier for this resource (unique in its scope).
11233
12051
  :param compatibility: The compatibility mode of the schema.
@@ -11309,6 +12127,12 @@ class CfnSchema(
11309
12127
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11310
12128
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11311
12129
 
12130
+ @builtins.property
12131
+ @jsii.member(jsii_name="schemaRef")
12132
+ def schema_ref(self) -> _SchemaReference_401c1d73:
12133
+ '''A reference to a Schema resource.'''
12134
+ return typing.cast(_SchemaReference_401c1d73, jsii.get(self, "schemaRef"))
12135
+
11312
12136
  @builtins.property
11313
12137
  @jsii.member(jsii_name="tags")
11314
12138
  def tags(self) -> _TagManager_0a598cb3:
@@ -11764,7 +12588,7 @@ class CfnSchemaProps:
11764
12588
  )
11765
12589
 
11766
12590
 
11767
- @jsii.implements(_IInspectable_c2943556)
12591
+ @jsii.implements(_IInspectable_c2943556, _ISchemaVersionRef_fe82c194)
11768
12592
  class CfnSchemaVersion(
11769
12593
  _CfnResource_9df397a6,
11770
12594
  metaclass=jsii.JSIIMeta,
@@ -11800,7 +12624,8 @@ class CfnSchemaVersion(
11800
12624
  schema: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSchemaVersion.SchemaProperty", typing.Dict[builtins.str, typing.Any]]],
11801
12625
  schema_definition: builtins.str,
11802
12626
  ) -> None:
11803
- '''
12627
+ '''Create a new ``AWS::Glue::SchemaVersion``.
12628
+
11804
12629
  :param scope: Scope in which this resource is defined.
11805
12630
  :param id: Construct identifier for this resource (unique in its scope).
11806
12631
  :param schema: The schema that includes the schema version.
@@ -11860,6 +12685,12 @@ class CfnSchemaVersion(
11860
12685
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11861
12686
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11862
12687
 
12688
+ @builtins.property
12689
+ @jsii.member(jsii_name="schemaVersionRef")
12690
+ def schema_version_ref(self) -> _SchemaVersionReference_6f6236bc:
12691
+ '''A reference to a SchemaVersion resource.'''
12692
+ return typing.cast(_SchemaVersionReference_6f6236bc, jsii.get(self, "schemaVersionRef"))
12693
+
11863
12694
  @builtins.property
11864
12695
  @jsii.member(jsii_name="schema")
11865
12696
  def schema(
@@ -11989,7 +12820,7 @@ class CfnSchemaVersion(
11989
12820
  )
11990
12821
 
11991
12822
 
11992
- @jsii.implements(_IInspectable_c2943556)
12823
+ @jsii.implements(_IInspectable_c2943556, _ISchemaVersionMetadataRef_f0f20d95)
11993
12824
  class CfnSchemaVersionMetadata(
11994
12825
  _CfnResource_9df397a6,
11995
12826
  metaclass=jsii.JSIIMeta,
@@ -12023,7 +12854,8 @@ class CfnSchemaVersionMetadata(
12023
12854
  schema_version_id: builtins.str,
12024
12855
  value: builtins.str,
12025
12856
  ) -> None:
12026
- '''
12857
+ '''Create a new ``AWS::Glue::SchemaVersionMetadata``.
12858
+
12027
12859
  :param scope: Scope in which this resource is defined.
12028
12860
  :param id: Construct identifier for this resource (unique in its scope).
12029
12861
  :param key: A metadata key in a key-value pair for metadata.
@@ -12075,6 +12907,12 @@ class CfnSchemaVersionMetadata(
12075
12907
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12076
12908
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12077
12909
 
12910
+ @builtins.property
12911
+ @jsii.member(jsii_name="schemaVersionMetadataRef")
12912
+ def schema_version_metadata_ref(self) -> _SchemaVersionMetadataReference_7dafd56f:
12913
+ '''A reference to a SchemaVersionMetadata resource.'''
12914
+ return typing.cast(_SchemaVersionMetadataReference_7dafd56f, jsii.get(self, "schemaVersionMetadataRef"))
12915
+
12078
12916
  @builtins.property
12079
12917
  @jsii.member(jsii_name="key")
12080
12918
  def key(self) -> builtins.str:
@@ -12284,7 +13122,7 @@ class CfnSchemaVersionProps:
12284
13122
  )
12285
13123
 
12286
13124
 
12287
- @jsii.implements(_IInspectable_c2943556)
13125
+ @jsii.implements(_IInspectable_c2943556, _ISecurityConfigurationRef_042477d9)
12288
13126
  class CfnSecurityConfiguration(
12289
13127
  _CfnResource_9df397a6,
12290
13128
  metaclass=jsii.JSIIMeta,
@@ -12331,7 +13169,8 @@ class CfnSecurityConfiguration(
12331
13169
  encryption_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSecurityConfiguration.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
12332
13170
  name: builtins.str,
12333
13171
  ) -> None:
12334
- '''
13172
+ '''Create a new ``AWS::Glue::SecurityConfiguration``.
13173
+
12335
13174
  :param scope: Scope in which this resource is defined.
12336
13175
  :param id: Construct identifier for this resource (unique in its scope).
12337
13176
  :param encryption_configuration: The encryption configuration associated with this security configuration.
@@ -12390,6 +13229,12 @@ class CfnSecurityConfiguration(
12390
13229
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12391
13230
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12392
13231
 
13232
+ @builtins.property
13233
+ @jsii.member(jsii_name="securityConfigurationRef")
13234
+ def security_configuration_ref(self) -> _SecurityConfigurationReference_1d945f0e:
13235
+ '''A reference to a SecurityConfiguration resource.'''
13236
+ return typing.cast(_SecurityConfigurationReference_1d945f0e, jsii.get(self, "securityConfigurationRef"))
13237
+
12393
13238
  @builtins.property
12394
13239
  @jsii.member(jsii_name="encryptionConfiguration")
12395
13240
  def encryption_configuration(
@@ -12817,120 +13662,48 @@ class CfnSecurityConfigurationProps:
12817
13662
  def name(self) -> builtins.str:
12818
13663
  '''The name of the security configuration.
12819
13664
 
12820
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-name
12821
- '''
12822
- result = self._values.get("name")
12823
- assert result is not None, "Required property 'name' is missing"
12824
- return typing.cast(builtins.str, result)
12825
-
12826
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
12827
- return isinstance(rhs, self.__class__) and rhs._values == self._values
12828
-
12829
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
12830
- return not (rhs == self)
12831
-
12832
- def __repr__(self) -> str:
12833
- return "CfnSecurityConfigurationProps(%s)" % ", ".join(
12834
- k + "=" + repr(v) for k, v in self._values.items()
12835
- )
12836
-
12837
-
12838
- @jsii.implements(_IInspectable_c2943556)
12839
- class CfnTable(
12840
- _CfnResource_9df397a6,
12841
- metaclass=jsii.JSIIMeta,
12842
- jsii_type="aws-cdk-lib.aws_glue.CfnTable",
12843
- ):
12844
- '''The ``AWS::Glue::Table`` resource specifies tabular data in the AWS Glue data catalog.
12845
-
12846
- For more information, see `Defining Tables in the AWS Glue Data Catalog <https://docs.aws.amazon.com/glue/latest/dg/tables-described.html>`_ and `Table Structure <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table>`_ in the *AWS Glue Developer Guide* .
12847
-
12848
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html
12849
- :cloudformationResource: AWS::Glue::Table
12850
- :exampleMetadata: fixture=_generated
12851
-
12852
- Example::
12853
-
12854
- # The code below shows an example of how to instantiate this type.
12855
- # The values are placeholders you should change.
12856
- from aws_cdk import aws_glue as glue
12857
-
12858
- # parameters: Any
12859
- # skewed_column_value_location_maps: Any
12860
-
12861
- cfn_table = glue.CfnTable(self, "MyCfnTable",
12862
- catalog_id="catalogId",
12863
- database_name="databaseName",
12864
- table_input=glue.CfnTable.TableInputProperty(
12865
- description="description",
12866
- name="name",
12867
- owner="owner",
12868
- parameters=parameters,
12869
- partition_keys=[glue.CfnTable.ColumnProperty(
12870
- name="name",
12871
-
12872
- # the properties below are optional
12873
- comment="comment",
12874
- type="type"
12875
- )],
12876
- retention=123,
12877
- storage_descriptor=glue.CfnTable.StorageDescriptorProperty(
12878
- bucket_columns=["bucketColumns"],
12879
- columns=[glue.CfnTable.ColumnProperty(
12880
- name="name",
12881
-
12882
- # the properties below are optional
12883
- comment="comment",
12884
- type="type"
12885
- )],
12886
- compressed=False,
12887
- input_format="inputFormat",
12888
- location="location",
12889
- number_of_buckets=123,
12890
- output_format="outputFormat",
12891
- parameters=parameters,
12892
- schema_reference=glue.CfnTable.SchemaReferenceProperty(
12893
- schema_id=glue.CfnTable.SchemaIdProperty(
12894
- registry_name="registryName",
12895
- schema_arn="schemaArn",
12896
- schema_name="schemaName"
12897
- ),
12898
- schema_version_id="schemaVersionId",
12899
- schema_version_number=123
12900
- ),
12901
- serde_info=glue.CfnTable.SerdeInfoProperty(
12902
- name="name",
12903
- parameters=parameters,
12904
- serialization_library="serializationLibrary"
12905
- ),
12906
- skewed_info=glue.CfnTable.SkewedInfoProperty(
12907
- skewed_column_names=["skewedColumnNames"],
12908
- skewed_column_value_location_maps=skewed_column_value_location_maps,
12909
- skewed_column_values=["skewedColumnValues"]
12910
- ),
12911
- sort_columns=[glue.CfnTable.OrderProperty(
12912
- column="column",
12913
- sort_order=123
12914
- )],
12915
- stored_as_sub_directories=False
12916
- ),
12917
- table_type="tableType",
12918
- target_table=glue.CfnTable.TableIdentifierProperty(
12919
- catalog_id="catalogId",
12920
- database_name="databaseName",
12921
- name="name",
12922
- region="region"
12923
- ),
12924
- view_expanded_text="viewExpandedText",
12925
- view_original_text="viewOriginalText"
12926
- ),
13665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-name
13666
+ '''
13667
+ result = self._values.get("name")
13668
+ assert result is not None, "Required property 'name' is missing"
13669
+ return typing.cast(builtins.str, result)
13670
+
13671
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
13672
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
13673
+
13674
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
13675
+ return not (rhs == self)
13676
+
13677
+ def __repr__(self) -> str:
13678
+ return "CfnSecurityConfigurationProps(%s)" % ", ".join(
13679
+ k + "=" + repr(v) for k, v in self._values.items()
13680
+ )
13681
+
13682
+
13683
+ @jsii.implements(_IInspectable_c2943556, _ITableRef_1b430560)
13684
+ class CfnTable(
13685
+ _CfnResource_9df397a6,
13686
+ metaclass=jsii.JSIIMeta,
13687
+ jsii_type="aws-cdk-lib.aws_glue.CfnTable",
13688
+ ):
13689
+ '''The ``AWS::Glue::Table`` resource specifies tabular data in the AWS Glue data catalog.
13690
+
13691
+ For more information, see `Defining Tables in the AWS Glue Data Catalog <https://docs.aws.amazon.com/glue/latest/dg/tables-described.html>`_ and `Table Structure <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table>`_ in the *AWS Glue Developer Guide* .
13692
+
13693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html
13694
+ :cloudformationResource: AWS::Glue::Table
13695
+ :exampleMetadata: infused
13696
+
13697
+ Example::
13698
+
13699
+ # bucket: s3.Bucket
13700
+ # schema_glue_table: glue.CfnTable
12927
13701
 
12928
- # the properties below are optional
12929
- open_table_format_input=glue.CfnTable.OpenTableFormatInputProperty(
12930
- iceberg_input=glue.CfnTable.IcebergInputProperty(
12931
- metadata_operation="metadataOperation",
12932
- version="version"
12933
- )
13702
+ s3_destination = firehose.S3Bucket(bucket,
13703
+ data_format_conversion=firehose.DataFormatConversionProps(
13704
+ schema_configuration=firehose.SchemaConfiguration.from_cfn_table(schema_glue_table),
13705
+ input_format=firehose.InputFormat.OPENX_JSON,
13706
+ output_format=firehose.OutputFormat.PARQUET
12934
13707
  )
12935
13708
  )
12936
13709
  '''
@@ -12945,7 +13718,8 @@ class CfnTable(
12945
13718
  table_input: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.TableInputProperty", typing.Dict[builtins.str, typing.Any]]],
12946
13719
  open_table_format_input: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.OpenTableFormatInputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12947
13720
  ) -> None:
12948
- '''
13721
+ '''Create a new ``AWS::Glue::Table``.
13722
+
12949
13723
  :param scope: Scope in which this resource is defined.
12950
13724
  :param id: Construct identifier for this resource (unique in its scope).
12951
13725
  :param catalog_id: The ID of the Data Catalog in which to create the ``Table`` .
@@ -13009,6 +13783,12 @@ class CfnTable(
13009
13783
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
13010
13784
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
13011
13785
 
13786
+ @builtins.property
13787
+ @jsii.member(jsii_name="tableRef")
13788
+ def table_ref(self) -> _TableReference_efc43a16:
13789
+ '''A reference to a Table resource.'''
13790
+ return typing.cast(_TableReference_efc43a16, jsii.get(self, "tableRef"))
13791
+
13012
13792
  @builtins.property
13013
13793
  @jsii.member(jsii_name="catalogId")
13014
13794
  def catalog_id(self) -> builtins.str:
@@ -14436,13 +15216,13 @@ class CfnTable(
14436
15216
  )
14437
15217
 
14438
15218
 
14439
- @jsii.implements(_IInspectable_c2943556)
15219
+ @jsii.implements(_IInspectable_c2943556, _ITableOptimizerRef_72703445)
14440
15220
  class CfnTableOptimizer(
14441
15221
  _CfnResource_9df397a6,
14442
15222
  metaclass=jsii.JSIIMeta,
14443
15223
  jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer",
14444
15224
  ):
14445
- '''A resource that describes the AWS Glue resource for enabling compaction to improve read performance for open table formats.
15225
+ '''An AWS Glue resource for enabling table optimizers to improve read performance for open table formats.
14446
15226
 
14447
15227
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html
14448
15228
  :cloudformationResource: AWS::Glue::TableOptimizer
@@ -14470,9 +15250,10 @@ class CfnTableOptimizer(
14470
15250
  )
14471
15251
  ),
14472
15252
  retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
14473
- iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14474
- location="location",
14475
- orphan_file_retention_period_in_days=123
15253
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty(
15254
+ clean_expired_files=False,
15255
+ number_of_snapshots_to_retain=123,
15256
+ snapshot_retention_period_in_days=123
14476
15257
  )
14477
15258
  ),
14478
15259
  vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
@@ -14494,14 +15275,15 @@ class CfnTableOptimizer(
14494
15275
  table_optimizer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.TableOptimizerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
14495
15276
  type: builtins.str,
14496
15277
  ) -> None:
14497
- '''
15278
+ '''Create a new ``AWS::Glue::TableOptimizer``.
15279
+
14498
15280
  :param scope: Scope in which this resource is defined.
14499
15281
  :param id: Construct identifier for this resource (unique in its scope).
14500
15282
  :param catalog_id: The catalog ID of the table.
14501
15283
  :param database_name: The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.
14502
15284
  :param table_name: The table name. For Hive compatibility, this must be entirely lowercase.
14503
15285
  :param table_optimizer_configuration: Specifies configuration details of a table optimizer.
14504
- :param type: The type of table optimizer. Currently, the only valid value is compaction.
15286
+ :param type: The type of table optimizer. The valid values are:. - compaction - for managing compaction with a table optimizer. - retention - for managing the retention of snapshot with a table optimizer. - orphan_file_deletion - for managing the deletion of orphan files with a table optimizer.
14505
15287
  '''
14506
15288
  if __debug__:
14507
15289
  type_hints = typing.get_type_hints(_typecheckingstub__b4e894dd19e24d3b1945f7e3626cca9af994eb9445db78ad5465965094995567)
@@ -14560,6 +15342,12 @@ class CfnTableOptimizer(
14560
15342
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
14561
15343
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
14562
15344
 
15345
+ @builtins.property
15346
+ @jsii.member(jsii_name="tableOptimizerRef")
15347
+ def table_optimizer_ref(self) -> _TableOptimizerReference_392646f1:
15348
+ '''A reference to a TableOptimizer resource.'''
15349
+ return typing.cast(_TableOptimizerReference_392646f1, jsii.get(self, "tableOptimizerRef"))
15350
+
14563
15351
  @builtins.property
14564
15352
  @jsii.member(jsii_name="catalogId")
14565
15353
  def catalog_id(self) -> builtins.str:
@@ -14620,7 +15408,10 @@ class CfnTableOptimizer(
14620
15408
  @builtins.property
14621
15409
  @jsii.member(jsii_name="type")
14622
15410
  def type(self) -> builtins.str:
14623
- '''The type of table optimizer.'''
15411
+ '''The type of table optimizer.
15412
+
15413
+ The valid values are:.
15414
+ '''
14624
15415
  return typing.cast(builtins.str, jsii.get(self, "type"))
14625
15416
 
14626
15417
  @type.setter
@@ -14645,9 +15436,12 @@ class CfnTableOptimizer(
14645
15436
  location: typing.Optional[builtins.str] = None,
14646
15437
  orphan_file_retention_period_in_days: typing.Optional[jsii.Number] = None,
14647
15438
  ) -> None:
14648
- '''
14649
- :param location:
14650
- :param orphan_file_retention_period_in_days:
15439
+ '''IcebergConfiguration is a property type within the ``AWS::Glue::TableOptimizer`` resource in AWS CloudFormation.
15440
+
15441
+ This configuration is used when setting up table optimization for Iceberg tables in AWS Glue .
15442
+
15443
+ :param location: Specifies a directory in which to look for orphan files (defaults to the table's location). You may choose a sub-directory rather than the top-level table location.
15444
+ :param orphan_file_retention_period_in_days: The specific number of days you want to keep the orphan files.
14651
15445
 
14652
15446
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html
14653
15447
  :exampleMetadata: fixture=_generated
@@ -14675,7 +15469,10 @@ class CfnTableOptimizer(
14675
15469
 
14676
15470
  @builtins.property
14677
15471
  def location(self) -> typing.Optional[builtins.str]:
14678
- '''
15472
+ '''Specifies a directory in which to look for orphan files (defaults to the table's location).
15473
+
15474
+ You may choose a sub-directory rather than the top-level table location.
15475
+
14679
15476
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html#cfn-glue-tableoptimizer-icebergconfiguration-location
14680
15477
  '''
14681
15478
  result = self._values.get("location")
@@ -14683,7 +15480,8 @@ class CfnTableOptimizer(
14683
15480
 
14684
15481
  @builtins.property
14685
15482
  def orphan_file_retention_period_in_days(self) -> typing.Optional[jsii.Number]:
14686
- '''
15483
+ '''The specific number of days you want to keep the orphan files.
15484
+
14687
15485
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergconfiguration.html#cfn-glue-tableoptimizer-icebergconfiguration-orphanfileretentionperiodindays
14688
15486
  '''
14689
15487
  result = self._values.get("orphan_file_retention_period_in_days")
@@ -14700,6 +15498,93 @@ class CfnTableOptimizer(
14700
15498
  k + "=" + repr(v) for k, v in self._values.items()
14701
15499
  )
14702
15500
 
15501
+ @jsii.data_type(
15502
+ jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty",
15503
+ jsii_struct_bases=[],
15504
+ name_mapping={
15505
+ "clean_expired_files": "cleanExpiredFiles",
15506
+ "number_of_snapshots_to_retain": "numberOfSnapshotsToRetain",
15507
+ "snapshot_retention_period_in_days": "snapshotRetentionPeriodInDays",
15508
+ },
15509
+ )
15510
+ class IcebergRetentionConfigurationProperty:
15511
+ def __init__(
15512
+ self,
15513
+ *,
15514
+ clean_expired_files: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15515
+ number_of_snapshots_to_retain: typing.Optional[jsii.Number] = None,
15516
+ snapshot_retention_period_in_days: typing.Optional[jsii.Number] = None,
15517
+ ) -> None:
15518
+ '''
15519
+ :param clean_expired_files:
15520
+ :param number_of_snapshots_to_retain:
15521
+ :param snapshot_retention_period_in_days:
15522
+
15523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergretentionconfiguration.html
15524
+ :exampleMetadata: fixture=_generated
15525
+
15526
+ Example::
15527
+
15528
+ # The code below shows an example of how to instantiate this type.
15529
+ # The values are placeholders you should change.
15530
+ from aws_cdk import aws_glue as glue
15531
+
15532
+ iceberg_retention_configuration_property = glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty(
15533
+ clean_expired_files=False,
15534
+ number_of_snapshots_to_retain=123,
15535
+ snapshot_retention_period_in_days=123
15536
+ )
15537
+ '''
15538
+ if __debug__:
15539
+ type_hints = typing.get_type_hints(_typecheckingstub__b4f8e1a2489f73394a6c790dbe1b5ccb03d98f5bcab84019c0dd305f8d0e643e)
15540
+ check_type(argname="argument clean_expired_files", value=clean_expired_files, expected_type=type_hints["clean_expired_files"])
15541
+ check_type(argname="argument number_of_snapshots_to_retain", value=number_of_snapshots_to_retain, expected_type=type_hints["number_of_snapshots_to_retain"])
15542
+ check_type(argname="argument snapshot_retention_period_in_days", value=snapshot_retention_period_in_days, expected_type=type_hints["snapshot_retention_period_in_days"])
15543
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
15544
+ if clean_expired_files is not None:
15545
+ self._values["clean_expired_files"] = clean_expired_files
15546
+ if number_of_snapshots_to_retain is not None:
15547
+ self._values["number_of_snapshots_to_retain"] = number_of_snapshots_to_retain
15548
+ if snapshot_retention_period_in_days is not None:
15549
+ self._values["snapshot_retention_period_in_days"] = snapshot_retention_period_in_days
15550
+
15551
+ @builtins.property
15552
+ def clean_expired_files(
15553
+ self,
15554
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
15555
+ '''
15556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergretentionconfiguration.html#cfn-glue-tableoptimizer-icebergretentionconfiguration-cleanexpiredfiles
15557
+ '''
15558
+ result = self._values.get("clean_expired_files")
15559
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
15560
+
15561
+ @builtins.property
15562
+ def number_of_snapshots_to_retain(self) -> typing.Optional[jsii.Number]:
15563
+ '''
15564
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergretentionconfiguration.html#cfn-glue-tableoptimizer-icebergretentionconfiguration-numberofsnapshotstoretain
15565
+ '''
15566
+ result = self._values.get("number_of_snapshots_to_retain")
15567
+ return typing.cast(typing.Optional[jsii.Number], result)
15568
+
15569
+ @builtins.property
15570
+ def snapshot_retention_period_in_days(self) -> typing.Optional[jsii.Number]:
15571
+ '''
15572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-icebergretentionconfiguration.html#cfn-glue-tableoptimizer-icebergretentionconfiguration-snapshotretentionperiodindays
15573
+ '''
15574
+ result = self._values.get("snapshot_retention_period_in_days")
15575
+ return typing.cast(typing.Optional[jsii.Number], result)
15576
+
15577
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
15578
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
15579
+
15580
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
15581
+ return not (rhs == self)
15582
+
15583
+ def __repr__(self) -> str:
15584
+ return "IcebergRetentionConfigurationProperty(%s)" % ", ".join(
15585
+ k + "=" + repr(v) for k, v in self._values.items()
15586
+ )
15587
+
14703
15588
  @jsii.data_type(
14704
15589
  jsii_type="aws-cdk-lib.aws_glue.CfnTableOptimizer.OrphanFileDeletionConfigurationProperty",
14705
15590
  jsii_struct_bases=[],
@@ -14711,8 +15596,11 @@ class CfnTableOptimizer(
14711
15596
  *,
14712
15597
  iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.IcebergConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14713
15598
  ) -> None:
14714
- '''
14715
- :param iceberg_configuration:
15599
+ '''Configuration for removing files that are are not tracked by the Iceberg table metadata, and are older than your configured age limit.
15600
+
15601
+ This configuration helps optimize storage usage and costs by automatically cleaning up files that are no longer needed by the table.
15602
+
15603
+ :param iceberg_configuration: The ``IcebergConfiguration`` property helps optimize your Iceberg tables in AWS Glue by allowing you to specify format-specific settings that control how data is stored, compressed, and managed.
14716
15604
 
14717
15605
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration.html
14718
15606
  :exampleMetadata: fixture=_generated
@@ -14741,7 +15629,8 @@ class CfnTableOptimizer(
14741
15629
  def iceberg_configuration(
14742
15630
  self,
14743
15631
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]]:
14744
- '''
15632
+ '''The ``IcebergConfiguration`` property helps optimize your Iceberg tables in AWS Glue by allowing you to specify format-specific settings that control how data is stored, compressed, and managed.
15633
+
14745
15634
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-orphanfiledeletionconfiguration.html#cfn-glue-tableoptimizer-orphanfiledeletionconfiguration-icebergconfiguration
14746
15635
  '''
14747
15636
  result = self._values.get("iceberg_configuration")
@@ -14767,10 +15656,11 @@ class CfnTableOptimizer(
14767
15656
  def __init__(
14768
15657
  self,
14769
15658
  *,
14770
- iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.IcebergConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
15659
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableOptimizer.IcebergRetentionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14771
15660
  ) -> None:
14772
- '''
14773
- :param iceberg_configuration:
15661
+ '''The configuration for a snapshot retention optimizer for Apache Iceberg tables.
15662
+
15663
+ :param iceberg_configuration: The configuration for an Iceberg snapshot retention optimizer.
14774
15664
 
14775
15665
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-retentionconfiguration.html
14776
15666
  :exampleMetadata: fixture=_generated
@@ -14782,9 +15672,10 @@ class CfnTableOptimizer(
14782
15672
  from aws_cdk import aws_glue as glue
14783
15673
 
14784
15674
  retention_configuration_property = glue.CfnTableOptimizer.RetentionConfigurationProperty(
14785
- iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14786
- location="location",
14787
- orphan_file_retention_period_in_days=123
15675
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty(
15676
+ clean_expired_files=False,
15677
+ number_of_snapshots_to_retain=123,
15678
+ snapshot_retention_period_in_days=123
14788
15679
  )
14789
15680
  )
14790
15681
  '''
@@ -14798,12 +15689,13 @@ class CfnTableOptimizer(
14798
15689
  @builtins.property
14799
15690
  def iceberg_configuration(
14800
15691
  self,
14801
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]]:
14802
- '''
15692
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergRetentionConfigurationProperty"]]:
15693
+ '''The configuration for an Iceberg snapshot retention optimizer.
15694
+
14803
15695
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-retentionconfiguration.html#cfn-glue-tableoptimizer-retentionconfiguration-icebergconfiguration
14804
15696
  '''
14805
15697
  result = self._values.get("iceberg_configuration")
14806
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergConfigurationProperty"]], result)
15698
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.IcebergRetentionConfigurationProperty"]], result)
14807
15699
 
14808
15700
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
14809
15701
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -14841,9 +15733,9 @@ class CfnTableOptimizer(
14841
15733
 
14842
15734
  :param enabled: Whether the table optimization is enabled.
14843
15735
  :param role_arn: A role passed by the caller which gives the service permission to update the resources associated with the optimizer on the caller's behalf.
14844
- :param orphan_file_deletion_configuration:
14845
- :param retention_configuration:
14846
- :param vpc_configuration:
15736
+ :param orphan_file_deletion_configuration: ``OrphanFileDeletionConfiguration`` is a property that can be included within the TableOptimizer resource. It controls the automatic deletion of orphaned files - files that are not tracked by the table metadata, and older than the configured age limit.
15737
+ :param retention_configuration: The configuration for a snapshot retention optimizer for Apache Iceberg tables.
15738
+ :param vpc_configuration: An object that describes the VPC configuration for a table optimizer. This configuration is necessary to perform optimization on tables that are in a customer VPC.
14847
15739
 
14848
15740
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html
14849
15741
  :exampleMetadata: fixture=_generated
@@ -14866,9 +15758,10 @@ class CfnTableOptimizer(
14866
15758
  )
14867
15759
  ),
14868
15760
  retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
14869
- iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
14870
- location="location",
14871
- orphan_file_retention_period_in_days=123
15761
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty(
15762
+ clean_expired_files=False,
15763
+ number_of_snapshots_to_retain=123,
15764
+ snapshot_retention_period_in_days=123
14872
15765
  )
14873
15766
  ),
14874
15767
  vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
@@ -14918,7 +15811,10 @@ class CfnTableOptimizer(
14918
15811
  def orphan_file_deletion_configuration(
14919
15812
  self,
14920
15813
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.OrphanFileDeletionConfigurationProperty"]]:
14921
- '''
15814
+ '''``OrphanFileDeletionConfiguration`` is a property that can be included within the TableOptimizer resource.
15815
+
15816
+ It controls the automatic deletion of orphaned files - files that are not tracked by the table metadata, and older than the configured age limit.
15817
+
14922
15818
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-orphanfiledeletionconfiguration
14923
15819
  '''
14924
15820
  result = self._values.get("orphan_file_deletion_configuration")
@@ -14928,7 +15824,8 @@ class CfnTableOptimizer(
14928
15824
  def retention_configuration(
14929
15825
  self,
14930
15826
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.RetentionConfigurationProperty"]]:
14931
- '''
15827
+ '''The configuration for a snapshot retention optimizer for Apache Iceberg tables.
15828
+
14932
15829
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-retentionconfiguration
14933
15830
  '''
14934
15831
  result = self._values.get("retention_configuration")
@@ -14938,7 +15835,10 @@ class CfnTableOptimizer(
14938
15835
  def vpc_configuration(
14939
15836
  self,
14940
15837
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableOptimizer.VpcConfigurationProperty"]]:
14941
- '''
15838
+ '''An object that describes the VPC configuration for a table optimizer.
15839
+
15840
+ This configuration is necessary to perform optimization on tables that are in a customer VPC.
15841
+
14942
15842
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-tableoptimizerconfiguration.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration-vpcconfiguration
14943
15843
  '''
14944
15844
  result = self._values.get("vpc_configuration")
@@ -14966,8 +15866,11 @@ class CfnTableOptimizer(
14966
15866
  *,
14967
15867
  glue_connection_name: typing.Optional[builtins.str] = None,
14968
15868
  ) -> None:
14969
- '''
14970
- :param glue_connection_name:
15869
+ '''An object that describes the VPC configuration for a table optimizer.
15870
+
15871
+ This configuration is necessary to perform optimization on tables that are in a customer VPC.
15872
+
15873
+ :param glue_connection_name: The name of the AWS Glue connection used for the VPC for the table optimizer.
14971
15874
 
14972
15875
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-vpcconfiguration.html
14973
15876
  :exampleMetadata: fixture=_generated
@@ -14991,7 +15894,8 @@ class CfnTableOptimizer(
14991
15894
 
14992
15895
  @builtins.property
14993
15896
  def glue_connection_name(self) -> typing.Optional[builtins.str]:
14994
- '''
15897
+ '''The name of the AWS Glue connection used for the VPC for the table optimizer.
15898
+
14995
15899
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-tableoptimizer-vpcconfiguration.html#cfn-glue-tableoptimizer-vpcconfiguration-glueconnectionname
14996
15900
  '''
14997
15901
  result = self._values.get("glue_connection_name")
@@ -15036,7 +15940,7 @@ class CfnTableOptimizerProps:
15036
15940
  :param database_name: The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.
15037
15941
  :param table_name: The table name. For Hive compatibility, this must be entirely lowercase.
15038
15942
  :param table_optimizer_configuration: Specifies configuration details of a table optimizer.
15039
- :param type: The type of table optimizer. Currently, the only valid value is compaction.
15943
+ :param type: The type of table optimizer. The valid values are:. - compaction - for managing compaction with a table optimizer. - retention - for managing the retention of snapshot with a table optimizer. - orphan_file_deletion - for managing the deletion of orphan files with a table optimizer.
15040
15944
 
15041
15945
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html
15042
15946
  :exampleMetadata: fixture=_generated
@@ -15063,9 +15967,10 @@ class CfnTableOptimizerProps:
15063
15967
  )
15064
15968
  ),
15065
15969
  retention_configuration=glue.CfnTableOptimizer.RetentionConfigurationProperty(
15066
- iceberg_configuration=glue.CfnTableOptimizer.IcebergConfigurationProperty(
15067
- location="location",
15068
- orphan_file_retention_period_in_days=123
15970
+ iceberg_configuration=glue.CfnTableOptimizer.IcebergRetentionConfigurationProperty(
15971
+ clean_expired_files=False,
15972
+ number_of_snapshots_to_retain=123,
15973
+ snapshot_retention_period_in_days=123
15069
15974
  )
15070
15975
  ),
15071
15976
  vpc_configuration=glue.CfnTableOptimizer.VpcConfigurationProperty(
@@ -15138,9 +16043,11 @@ class CfnTableOptimizerProps:
15138
16043
 
15139
16044
  @builtins.property
15140
16045
  def type(self) -> builtins.str:
15141
- '''The type of table optimizer.
16046
+ '''The type of table optimizer. The valid values are:.
15142
16047
 
15143
- Currently, the only valid value is compaction.
16048
+ - compaction - for managing compaction with a table optimizer.
16049
+ - retention - for managing the retention of snapshot with a table optimizer.
16050
+ - orphan_file_deletion - for managing the deletion of orphan files with a table optimizer.
15144
16051
 
15145
16052
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-type
15146
16053
  '''
@@ -15345,7 +16252,7 @@ class CfnTableProps:
15345
16252
  )
15346
16253
 
15347
16254
 
15348
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
16255
+ @jsii.implements(_IInspectable_c2943556, _ITriggerRef_d85f5014, _ITaggable_36806126)
15349
16256
  class CfnTrigger(
15350
16257
  _CfnResource_9df397a6,
15351
16258
  metaclass=jsii.JSIIMeta,
@@ -15423,7 +16330,8 @@ class CfnTrigger(
15423
16330
  tags: typing.Any = None,
15424
16331
  workflow_name: typing.Optional[builtins.str] = None,
15425
16332
  ) -> None:
15426
- '''
16333
+ '''Create a new ``AWS::Glue::Trigger``.
16334
+
15427
16335
  :param scope: Scope in which this resource is defined.
15428
16336
  :param id: Construct identifier for this resource (unique in its scope).
15429
16337
  :param actions: The actions initiated by this trigger.
@@ -15456,6 +16364,27 @@ class CfnTrigger(
15456
16364
 
15457
16365
  jsii.create(self.__class__, self, [scope, id, props])
15458
16366
 
16367
+ @jsii.member(jsii_name="fromTriggerName")
16368
+ @builtins.classmethod
16369
+ def from_trigger_name(
16370
+ cls,
16371
+ scope: _constructs_77d1e7e8.Construct,
16372
+ id: builtins.str,
16373
+ trigger_name: builtins.str,
16374
+ ) -> _ITriggerRef_d85f5014:
16375
+ '''Creates a new ITriggerRef from a triggerName.
16376
+
16377
+ :param scope: -
16378
+ :param id: -
16379
+ :param trigger_name: -
16380
+ '''
16381
+ if __debug__:
16382
+ type_hints = typing.get_type_hints(_typecheckingstub__986602eae0e3d2f16446e9c0e6491a51063164c5666c61327ac4cd04cdc32271)
16383
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
16384
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
16385
+ check_type(argname="argument trigger_name", value=trigger_name, expected_type=type_hints["trigger_name"])
16386
+ return typing.cast(_ITriggerRef_d85f5014, jsii.sinvoke(cls, "fromTriggerName", [scope, id, trigger_name]))
16387
+
15459
16388
  @jsii.member(jsii_name="inspect")
15460
16389
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
15461
16390
  '''Examines the CloudFormation resource and discloses attributes.
@@ -15497,6 +16426,12 @@ class CfnTrigger(
15497
16426
  '''Tag Manager which manages the tags for this resource.'''
15498
16427
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
15499
16428
 
16429
+ @builtins.property
16430
+ @jsii.member(jsii_name="triggerRef")
16431
+ def trigger_ref(self) -> _TriggerReference_161c4574:
16432
+ '''A reference to a Trigger resource.'''
16433
+ return typing.cast(_TriggerReference_161c4574, jsii.get(self, "triggerRef"))
16434
+
15500
16435
  @builtins.property
15501
16436
  @jsii.member(jsii_name="actions")
15502
16437
  def actions(
@@ -16377,7 +17312,7 @@ class CfnTriggerProps:
16377
17312
  )
16378
17313
 
16379
17314
 
16380
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
17315
+ @jsii.implements(_IInspectable_c2943556, _IUsageProfileRef_7fb2f866, _ITaggableV2_4e6798f8)
16381
17316
  class CfnUsageProfile(
16382
17317
  _CfnResource_9df397a6,
16383
17318
  metaclass=jsii.JSIIMeta,
@@ -16435,7 +17370,8 @@ class CfnUsageProfile(
16435
17370
  description: typing.Optional[builtins.str] = None,
16436
17371
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
16437
17372
  ) -> None:
16438
- '''
17373
+ '''Create a new ``AWS::Glue::UsageProfile``.
17374
+
16439
17375
  :param scope: Scope in which this resource is defined.
16440
17376
  :param id: Construct identifier for this resource (unique in its scope).
16441
17377
  :param name: The name of the usage profile.
@@ -16503,6 +17439,12 @@ class CfnUsageProfile(
16503
17439
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
16504
17440
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
16505
17441
 
17442
+ @builtins.property
17443
+ @jsii.member(jsii_name="usageProfileRef")
17444
+ def usage_profile_ref(self) -> _UsageProfileReference_1becbb69:
17445
+ '''A reference to a UsageProfile resource.'''
17446
+ return typing.cast(_UsageProfileReference_1becbb69, jsii.get(self, "usageProfileRef"))
17447
+
16506
17448
  @builtins.property
16507
17449
  @jsii.member(jsii_name="name")
16508
17450
  def name(self) -> builtins.str:
@@ -16886,7 +17828,7 @@ class CfnUsageProfileProps:
16886
17828
  )
16887
17829
 
16888
17830
 
16889
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
17831
+ @jsii.implements(_IInspectable_c2943556, _IWorkflowRef_130478b3, _ITaggable_36806126)
16890
17832
  class CfnWorkflow(
16891
17833
  _CfnResource_9df397a6,
16892
17834
  metaclass=jsii.JSIIMeta,
@@ -16929,7 +17871,8 @@ class CfnWorkflow(
16929
17871
  name: typing.Optional[builtins.str] = None,
16930
17872
  tags: typing.Any = None,
16931
17873
  ) -> None:
16932
- '''
17874
+ '''Create a new ``AWS::Glue::Workflow``.
17875
+
16933
17876
  :param scope: Scope in which this resource is defined.
16934
17877
  :param id: Construct identifier for this resource (unique in its scope).
16935
17878
  :param default_run_properties: A collection of properties to be used as part of each execution of the workflow.
@@ -17001,6 +17944,12 @@ class CfnWorkflow(
17001
17944
  '''Tag Manager which manages the tags for this resource.'''
17002
17945
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
17003
17946
 
17947
+ @builtins.property
17948
+ @jsii.member(jsii_name="workflowRef")
17949
+ def workflow_ref(self) -> _WorkflowReference_c2d065d8:
17950
+ '''A reference to a Workflow resource.'''
17951
+ return typing.cast(_WorkflowReference_c2d065d8, jsii.get(self, "workflowRef"))
17952
+
17004
17953
  @builtins.property
17005
17954
  @jsii.member(jsii_name="defaultRunProperties")
17006
17955
  def default_run_properties(self) -> typing.Any:
@@ -17211,6 +18160,8 @@ __all__ = [
17211
18160
  "CfnDatabaseProps",
17212
18161
  "CfnDevEndpoint",
17213
18162
  "CfnDevEndpointProps",
18163
+ "CfnIntegrationResourceProperty",
18164
+ "CfnIntegrationResourcePropertyProps",
17214
18165
  "CfnJob",
17215
18166
  "CfnJobProps",
17216
18167
  "CfnMLTransform",
@@ -17490,6 +18441,14 @@ def _typecheckingstub__ff9e598239ccebeecff8b5e3f5f0458f9de0c5c407db27837fb3122ad
17490
18441
  """Type checking stubs"""
17491
18442
  pass
17492
18443
 
18444
+ def _typecheckingstub__9ad087260b86f149a125685668b821ca3edecc96c6b66bdc38f719435de5a0b5(
18445
+ scope: _constructs_77d1e7e8.Construct,
18446
+ id: builtins.str,
18447
+ crawler_name: builtins.str,
18448
+ ) -> None:
18449
+ """Type checking stubs"""
18450
+ pass
18451
+
17493
18452
  def _typecheckingstub__8c4320c740e3b9cb750745ec213ccc0ddab6c6f8d0fb2cc3678b58a5eb96963b(
17494
18453
  inspector: _TreeInspector_488e0dd5,
17495
18454
  ) -> None:
@@ -17610,6 +18569,8 @@ def _typecheckingstub__a7510699883f74759e475bf2ece2842156b441164d538264f93242ebd
17610
18569
  def _typecheckingstub__4c03ffc3d1fa17ed9770b2c448e87c012b6d363001f06ce8b95bdb9c62711274(
17611
18570
  *,
17612
18571
  path: typing.Optional[builtins.str] = None,
18572
+ scan_all: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18573
+ scan_rate: typing.Optional[jsii.Number] = None,
17613
18574
  ) -> None:
17614
18575
  """Type checking stubs"""
17615
18576
  pass
@@ -17740,6 +18701,14 @@ def _typecheckingstub__513b5382e12edfa036d553799dc23a98aa5ab82a6014b0bf9734336e4
17740
18701
  """Type checking stubs"""
17741
18702
  pass
17742
18703
 
18704
+ def _typecheckingstub__d9fcfdaedb8245c0773846f383316c653711b4bf502cef627cc38c7a82d234b1(
18705
+ scope: _constructs_77d1e7e8.Construct,
18706
+ id: builtins.str,
18707
+ custom_entity_type_id: builtins.str,
18708
+ ) -> None:
18709
+ """Type checking stubs"""
18710
+ pass
18711
+
17743
18712
  def _typecheckingstub__f1161ed4cb74764a76ad0a2a8d9218348384b8c59f0f79872699c83d6a9671c3(
17744
18713
  inspector: _TreeInspector_488e0dd5,
17745
18714
  ) -> None:
@@ -17946,6 +18915,14 @@ def _typecheckingstub__7145103c869df1a981612b4445af4fee59059eebaa09d55e36fa9961b
17946
18915
  """Type checking stubs"""
17947
18916
  pass
17948
18917
 
18918
+ def _typecheckingstub__46d072003af0a253294aa99188670d3a5326fb17900c9f4bc5ca0850d973ee94(
18919
+ scope: _constructs_77d1e7e8.Construct,
18920
+ id: builtins.str,
18921
+ database_name: builtins.str,
18922
+ ) -> None:
18923
+ """Type checking stubs"""
18924
+ pass
18925
+
17949
18926
  def _typecheckingstub__c0e83df07074fd6e3bd554052571366deb1febf7f69f6452ca58261d50898a69(
17950
18927
  inspector: _TreeInspector_488e0dd5,
17951
18928
  ) -> None:
@@ -18176,6 +19153,81 @@ def _typecheckingstub__789306655393b50bec94a0cbbc4385fd0d7103127d033ea3eaabe59af
18176
19153
  """Type checking stubs"""
18177
19154
  pass
18178
19155
 
19156
+ def _typecheckingstub__ae17c734cde2f5daac3730b0666a9bbab9b5da447b629240e30963ab9c7f08f1(
19157
+ scope: _constructs_77d1e7e8.Construct,
19158
+ id: builtins.str,
19159
+ *,
19160
+ resource_arn: builtins.str,
19161
+ source_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19162
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19163
+ target_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19164
+ ) -> None:
19165
+ """Type checking stubs"""
19166
+ pass
19167
+
19168
+ def _typecheckingstub__46d69862dc7dde6ecceaf897c68f6494da749c002c2fc78d76e6799de13bd2d8(
19169
+ inspector: _TreeInspector_488e0dd5,
19170
+ ) -> None:
19171
+ """Type checking stubs"""
19172
+ pass
19173
+
19174
+ def _typecheckingstub__21df869892b19f6d632e31fd42a47b31e468b35e796adf031824e29f18a1dfd4(
19175
+ props: typing.Mapping[builtins.str, typing.Any],
19176
+ ) -> None:
19177
+ """Type checking stubs"""
19178
+ pass
19179
+
19180
+ def _typecheckingstub__c464711887144dbc1e3c1e1eda79ff02c8f1cd0e0fb10f8356ded145b598ca4b(
19181
+ value: builtins.str,
19182
+ ) -> None:
19183
+ """Type checking stubs"""
19184
+ pass
19185
+
19186
+ def _typecheckingstub__ec3419db4cbc5e91effd1829b2f9850e866041a702776a1f1e3de5e078637e20(
19187
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty]],
19188
+ ) -> None:
19189
+ """Type checking stubs"""
19190
+ pass
19191
+
19192
+ def _typecheckingstub__f016591c61e82e1cfee1b2f7fbb7e9b7e69c013f866e691bfd71179667693aac(
19193
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19194
+ ) -> None:
19195
+ """Type checking stubs"""
19196
+ pass
19197
+
19198
+ def _typecheckingstub__479e5167d31a49f354c0c3a47279def6ea08ddad3a85550b9cb30f108f7bdcc3(
19199
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty]],
19200
+ ) -> None:
19201
+ """Type checking stubs"""
19202
+ pass
19203
+
19204
+ def _typecheckingstub__1746720d7169b5950c1d069a3db28d2ce2fab948ab493aba439f030e01921dcf(
19205
+ *,
19206
+ role_arn: builtins.str,
19207
+ ) -> None:
19208
+ """Type checking stubs"""
19209
+ pass
19210
+
19211
+ def _typecheckingstub__71bd14f343e17ac6f0cc146efa01c15b1b4ca262149364ac44132eba27211bc5(
19212
+ *,
19213
+ role_arn: builtins.str,
19214
+ connection_name: typing.Optional[builtins.str] = None,
19215
+ event_bus_arn: typing.Optional[builtins.str] = None,
19216
+ kms_arn: typing.Optional[builtins.str] = None,
19217
+ ) -> None:
19218
+ """Type checking stubs"""
19219
+ pass
19220
+
19221
+ def _typecheckingstub__85ed4d06cc122e78ef67818e2a911a38f8807718eef54875b3bdcd9a6e70f92f(
19222
+ *,
19223
+ resource_arn: builtins.str,
19224
+ source_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.SourceProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19225
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19226
+ target_processing_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIntegrationResourceProperty.TargetProcessingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19227
+ ) -> None:
19228
+ """Type checking stubs"""
19229
+ pass
19230
+
18179
19231
  def _typecheckingstub__2bea698eff4ea1d2bc08b1ab842f318f77ba719c0241a0959453e26989b5b53e(
18180
19232
  scope: _constructs_77d1e7e8.Construct,
18181
19233
  id: builtins.str,
@@ -18207,6 +19259,14 @@ def _typecheckingstub__2bea698eff4ea1d2bc08b1ab842f318f77ba719c0241a0959453e2698
18207
19259
  """Type checking stubs"""
18208
19260
  pass
18209
19261
 
19262
+ def _typecheckingstub__800b295a4e0e23b0b95e4eb1a477f6d73e527378c000c53073ea7b72fd6c7b58(
19263
+ scope: _constructs_77d1e7e8.Construct,
19264
+ id: builtins.str,
19265
+ job_name: builtins.str,
19266
+ ) -> None:
19267
+ """Type checking stubs"""
19268
+ pass
19269
+
18210
19270
  def _typecheckingstub__d425131e9ab8979b5db307155c42bb9935456dd21866bba5ed461a9c8c90df3c(
18211
19271
  inspector: _TreeInspector_488e0dd5,
18212
19272
  ) -> None:
@@ -19294,6 +20354,15 @@ def _typecheckingstub__5e7a911f626ca723b7f0b1c35deb71291cb06af5a64d75f3dcb432988
19294
20354
  """Type checking stubs"""
19295
20355
  pass
19296
20356
 
20357
+ def _typecheckingstub__b4f8e1a2489f73394a6c790dbe1b5ccb03d98f5bcab84019c0dd305f8d0e643e(
20358
+ *,
20359
+ clean_expired_files: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20360
+ number_of_snapshots_to_retain: typing.Optional[jsii.Number] = None,
20361
+ snapshot_retention_period_in_days: typing.Optional[jsii.Number] = None,
20362
+ ) -> None:
20363
+ """Type checking stubs"""
20364
+ pass
20365
+
19297
20366
  def _typecheckingstub__fd6b7e3a46937a5c19f35e6c499494a7bff00c3eb67dd21cf60217c60a49b95b(
19298
20367
  *,
19299
20368
  iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.IcebergConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -19303,7 +20372,7 @@ def _typecheckingstub__fd6b7e3a46937a5c19f35e6c499494a7bff00c3eb67dd21cf60217c60
19303
20372
 
19304
20373
  def _typecheckingstub__c5ba28f1de672bfecf327282ce4e55b72b9a4850e73f7c390aa55e0c015e2ce8(
19305
20374
  *,
19306
- iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.IcebergConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20375
+ iceberg_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableOptimizer.IcebergRetentionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19307
20376
  ) -> None:
19308
20377
  """Type checking stubs"""
19309
20378
  pass
@@ -19365,6 +20434,14 @@ def _typecheckingstub__8db15edfea6b1fa74e017c6bb7603bed442e4f78f4c3c138f4dcc562c
19365
20434
  """Type checking stubs"""
19366
20435
  pass
19367
20436
 
20437
+ def _typecheckingstub__986602eae0e3d2f16446e9c0e6491a51063164c5666c61327ac4cd04cdc32271(
20438
+ scope: _constructs_77d1e7e8.Construct,
20439
+ id: builtins.str,
20440
+ trigger_name: builtins.str,
20441
+ ) -> None:
20442
+ """Type checking stubs"""
20443
+ pass
20444
+
19368
20445
  def _typecheckingstub__0eaa05c4b1b14e1818059890f7eb0ac7a86490e54a9132ffd1b4d9178ea5d849(
19369
20446
  inspector: _TreeInspector_488e0dd5,
19370
20447
  ) -> None: