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
@@ -40,9 +40,13 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
40
40
  * [Bedrock](#bedrock)
41
41
 
42
42
  * [InvokeModel](#invokemodel)
43
+ * [Using Input Path for S3 URI](#using-input-path-for-s3-uri)
44
+ * [Using Input Path](#using-input-path)
45
+ * [createModelCustomizationJob](#createmodelcustomizationjob)
43
46
  * [CodeBuild](#codebuild)
44
47
 
45
48
  * [StartBuild](#startbuild)
49
+ * [StartBuildBatch](#startbuildbatch)
46
50
  * [DynamoDB](#dynamodb)
47
51
 
48
52
  * [GetItem](#getitem)
@@ -55,6 +59,8 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
55
59
 
56
60
  * [EC2](#ec2)
57
61
  * [Fargate](#fargate)
62
+ * [Override CPU and Memory Parameter](#override-cpu-and-memory-parameter)
63
+ * [ECS enable Exec](#ecs-enable-exec)
58
64
  * [EMR](#emr)
59
65
 
60
66
  * [Create Cluster](#create-cluster)
@@ -75,19 +81,23 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
75
81
  * [EventBridge](#eventbridge)
76
82
 
77
83
  * [Put Events](#put-events)
84
+ * [EventBridge Scheduler](#eventbridge-scheduler)
85
+
86
+ * [Create Scheduler](#create-scheduler)
78
87
  * [Glue](#glue)
79
88
 
80
- * [Start Job Run](#start-job-run)
81
- * [Start Crawler Run](#startcrawlerrun)
89
+ * [StartJobRun](#startjobrun)
90
+ * [StartCrawlerRun](#startcrawlerrun)
82
91
  * [Glue DataBrew](#glue-databrew)
83
92
 
84
93
  * [Start Job Run](#start-job-run-1)
94
+ * [Invoke HTTP API](#invoke-http-api)
85
95
  * [Lambda](#lambda)
86
96
 
87
97
  * [Invoke](#invoke)
88
98
  * [MediaConvert](#mediaconvert)
89
99
 
90
- * [Create Job](#create-job)
100
+ * [CreateJob](#createjob)
91
101
  * [SageMaker](#sagemaker)
92
102
 
93
103
  * [Create Training Job](#create-training-job)
@@ -151,6 +161,17 @@ The `EvaluateExpression` supports a `runtime` prop to specify the Lambda
151
161
  runtime to use to evaluate the expression. Currently, only runtimes
152
162
  of the Node.js family are supported.
153
163
 
164
+ The `EvaluateExpression` also supports an `architecture` prop to specify the Lambda
165
+ architecture. This can be useful when migrating to ARM64 or when running integration
166
+ tests on ARM64 systems.
167
+
168
+ ```python
169
+ convert_to_seconds_arm64 = tasks.EvaluateExpression(self, "Convert to seconds",
170
+ expression="$.waitMilliseconds / 1000",
171
+ architecture=lambda_.Architecture.ARM_64
172
+ )
173
+ ```
174
+
154
175
  ## API Gateway
155
176
 
156
177
  Step Functions supports [API Gateway](https://docs.aws.amazon.com/step-functions/latest/dg/connect-api-gateway.html) through the service integration pattern.
@@ -510,6 +531,56 @@ task = tasks.BedrockInvokeModel(self, "Prompt Model with guardrail",
510
531
  )
511
532
  ```
512
533
 
534
+ ### createModelCustomizationJob
535
+
536
+ The [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) API creates a fine-tuning job to customize a base model.
537
+
538
+ ```python
539
+ import aws_cdk.aws_bedrock as bedrock
540
+ import aws_cdk.aws_kms as kms
541
+
542
+ # output_bucket: s3.IBucket
543
+ # training_bucket: s3.IBucket
544
+ # validation_bucket: s3.IBucket
545
+ # kms_key: kms.IKey
546
+ # vpc: ec2.IVpc
547
+
548
+
549
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
550
+
551
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
552
+ base_model=model,
553
+ client_request_token="MyToken",
554
+ customization_type=tasks.CustomizationType.FINE_TUNING,
555
+ custom_model_kms_key=kms_key,
556
+ custom_model_name="MyCustomModel", # required
557
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
558
+ hyper_parameters={
559
+ "batch_size": "10"
560
+ },
561
+ job_name="MyCustomizationJob", # required
562
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
563
+ output_data=tasks.OutputBucketConfiguration(
564
+ bucket=output_bucket, # required
565
+ path="output-data/"
566
+ ),
567
+ training_data=tasks.TrainingBucketConfiguration(
568
+ bucket=training_bucket,
569
+ path="training-data/data.json"
570
+ ), # required
571
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
572
+ validation_data=[tasks.ValidationBucketConfiguration(
573
+ bucket=validation_bucket,
574
+ path="validation-data/data.json"
575
+ )
576
+ ],
577
+ vpc_config={
578
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
579
+ "subnets": vpc.private_subnets
580
+ }
581
+ )
582
+ ```
583
+
513
584
  ## CodeBuild
514
585
 
515
586
  Step Functions supports [CodeBuild](https://docs.aws.amazon.com/step-functions/latest/dg/connect-codebuild.html) through the service integration pattern.
@@ -906,6 +977,18 @@ tasks.EmrCreateCluster(self, "SpotSpecification",
906
977
  )
907
978
  ```
908
979
 
980
+ You can [customize EBS root device volume](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html).
981
+
982
+ ```python
983
+ tasks.EmrCreateCluster(self, "Create Cluster",
984
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(),
985
+ name="ClusterName",
986
+ ebs_root_volume_iops=4000,
987
+ ebs_root_volume_size=Size.gibibytes(20),
988
+ ebs_root_volume_throughput=200
989
+ )
990
+ ```
991
+
909
992
  If you want to run multiple steps in [parallel](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-concurrent-steps.html),
910
993
  you can specify the `stepConcurrencyLevel` property. The concurrency range is between 1
911
994
  and 256 inclusive, where the default concurrency of 1 means no step concurrency is allowed.
@@ -931,6 +1014,43 @@ tasks.EmrCreateCluster(self, "Create Cluster",
931
1014
  )
932
1015
  ```
933
1016
 
1017
+ If you want to use [managed scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html),
1018
+ you can specify the `managedScalingPolicy` property.
1019
+
1020
+ ```python
1021
+ tasks.EmrCreateCluster(self, "CreateCluster",
1022
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
1023
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
1024
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
1025
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
1026
+ instance_type="m5.xlarge"
1027
+ )
1028
+ ],
1029
+ target_on_demand_capacity=1
1030
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
1031
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
1032
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
1033
+ instance_type="m5.xlarge"
1034
+ )
1035
+ ],
1036
+ target_on_demand_capacity=1
1037
+ )
1038
+ ]
1039
+ ),
1040
+ name="ClusterName",
1041
+ release_label="emr-7.9.0",
1042
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
1043
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
1044
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
1045
+ maximum_capacity_units=4,
1046
+ minimum_capacity_units=1,
1047
+ maximum_on_demand_capacity_units=4,
1048
+ maximum_core_capacity_units=2
1049
+ )
1050
+ )
1051
+ )
1052
+ ```
1053
+
934
1054
  ### Termination Protection
935
1055
 
936
1056
  Locks a cluster (job flow) so the EC2 instances in the cluster cannot be
@@ -1263,13 +1383,13 @@ The following code snippet includes a Task state that uses eks:call to list the
1263
1383
 
1264
1384
  ```python
1265
1385
  import aws_cdk.aws_eks as eks
1266
- from aws_cdk.lambda_layer_kubectl_v32 import KubectlV32Layer
1386
+ from aws_cdk.lambda_layer_kubectl_v34 import KubectlV34Layer
1267
1387
 
1268
1388
 
1269
1389
  my_eks_cluster = eks.Cluster(self, "my sample cluster",
1270
- version=eks.KubernetesVersion.V1_32,
1390
+ version=eks.KubernetesVersion.V1_34,
1271
1391
  cluster_name="myEksCluster",
1272
- kubectl_layer=KubectlV32Layer(self, "kubectl")
1392
+ kubectl_layer=KubectlV34Layer(self, "kubectl")
1273
1393
  )
1274
1394
 
1275
1395
  tasks.EksCall(self, "Call a EKS Endpoint",
@@ -1476,7 +1596,7 @@ connection = events.Connection(self, "Connection",
1476
1596
 
1477
1597
  tasks.HttpInvoke(self, "Invoke HTTP API",
1478
1598
  api_root="https://api.example.com",
1479
- api_endpoint=sfn.TaskInput.from_text("path/to/resource"),
1599
+ api_endpoint=sfn.TaskInput.from_text(sfn.JsonPath.format("resource/{}/details", sfn.JsonPath.string_at("$.resourceId"))),
1480
1600
  body=sfn.TaskInput.from_object({"foo": "bar"}),
1481
1601
  connection=connection,
1482
1602
  headers=sfn.TaskInput.from_object({"Content-Type": "application/json"}),
@@ -2018,6 +2138,7 @@ from ..aws_ec2 import (
2018
2138
  Connections as _Connections_0f31fce8,
2019
2139
  IConnectable as _IConnectable_10015a05,
2020
2140
  ISecurityGroup as _ISecurityGroup_acf8a799,
2141
+ ISubnet as _ISubnet_d57d1229,
2021
2142
  IVpc as _IVpc_f30d5663,
2022
2143
  InstanceSize as _InstanceSize_233b2620,
2023
2144
  InstanceType as _InstanceType_f64915b9,
@@ -2052,7 +2173,11 @@ from ..aws_iam import (
2052
2173
  PolicyStatement as _PolicyStatement_0fe33853,
2053
2174
  )
2054
2175
  from ..aws_kms import IKey as _IKey_5f11635f
2055
- from ..aws_lambda import IFunction as _IFunction_6adb0ab8, Runtime as _Runtime_b4eaa844
2176
+ from ..aws_lambda import (
2177
+ Architecture as _Architecture_12d5a53f,
2178
+ IFunction as _IFunction_6adb0ab8,
2179
+ Runtime as _Runtime_b4eaa844,
2180
+ )
2056
2181
  from ..aws_logs import ILogGroup as _ILogGroup_3c4fa718
2057
2182
  from ..aws_s3 import IBucket as _IBucket_42e086fd, Location as _Location_0948fa7f
2058
2183
  from ..aws_sns import ITopic as _ITopic_9eca4852
@@ -2073,6 +2198,8 @@ from ..aws_stepfunctions import (
2073
2198
  TaskStateJsonataBaseProps as _TaskStateJsonataBaseProps_0e91775c,
2074
2199
  Timeout as _Timeout_d7c10551,
2075
2200
  )
2201
+ from ..interfaces.aws_iam import IRoleRef as _IRoleRef_8400221f
2202
+ from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
2076
2203
 
2077
2204
 
2078
2205
  class AcceleratorClass(
@@ -9826,6 +9953,791 @@ class BatchSubmitJobProps(_TaskStateBaseProps_3a62b6d0):
9826
9953
  )
9827
9954
 
9828
9955
 
9956
+ class BedrockCreateModelCustomizationJob(
9957
+ _TaskStateBase_b5c0a816,
9958
+ metaclass=jsii.JSIIMeta,
9959
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.BedrockCreateModelCustomizationJob",
9960
+ ):
9961
+ '''A Step Functions Task to create model customization in Bedrock.
9962
+
9963
+ :exampleMetadata: infused
9964
+
9965
+ Example::
9966
+
9967
+ import aws_cdk.aws_bedrock as bedrock
9968
+ import aws_cdk.aws_kms as kms
9969
+
9970
+ # output_bucket: s3.IBucket
9971
+ # training_bucket: s3.IBucket
9972
+ # validation_bucket: s3.IBucket
9973
+ # kms_key: kms.IKey
9974
+ # vpc: ec2.IVpc
9975
+
9976
+
9977
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
9978
+
9979
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
9980
+ base_model=model,
9981
+ client_request_token="MyToken",
9982
+ customization_type=tasks.CustomizationType.FINE_TUNING,
9983
+ custom_model_kms_key=kms_key,
9984
+ custom_model_name="MyCustomModel", # required
9985
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
9986
+ hyper_parameters={
9987
+ "batch_size": "10"
9988
+ },
9989
+ job_name="MyCustomizationJob", # required
9990
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
9991
+ output_data=tasks.OutputBucketConfiguration(
9992
+ bucket=output_bucket, # required
9993
+ path="output-data/"
9994
+ ),
9995
+ training_data=tasks.TrainingBucketConfiguration(
9996
+ bucket=training_bucket,
9997
+ path="training-data/data.json"
9998
+ ), # required
9999
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
10000
+ validation_data=[tasks.ValidationBucketConfiguration(
10001
+ bucket=validation_bucket,
10002
+ path="validation-data/data.json"
10003
+ )
10004
+ ],
10005
+ vpc_config={
10006
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
10007
+ "subnets": vpc.private_subnets
10008
+ }
10009
+ )
10010
+ '''
10011
+
10012
+ def __init__(
10013
+ self,
10014
+ scope: _constructs_77d1e7e8.Construct,
10015
+ id: builtins.str,
10016
+ *,
10017
+ base_model: _IModel_b88b328a,
10018
+ custom_model_name: builtins.str,
10019
+ job_name: builtins.str,
10020
+ output_data: typing.Union["OutputBucketConfiguration", typing.Dict[builtins.str, typing.Any]],
10021
+ training_data: typing.Union["TrainingBucketConfiguration", typing.Dict[builtins.str, typing.Any]],
10022
+ client_request_token: typing.Optional[builtins.str] = None,
10023
+ customization_type: typing.Optional["CustomizationType"] = None,
10024
+ custom_model_kms_key: typing.Optional[_IKey_5f11635f] = None,
10025
+ custom_model_tags: typing.Optional[typing.Sequence[typing.Union["CustomModelTag", typing.Dict[builtins.str, typing.Any]]]] = None,
10026
+ hyper_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10027
+ job_tags: typing.Optional[typing.Sequence[typing.Union["CustomModelTag", typing.Dict[builtins.str, typing.Any]]]] = None,
10028
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10029
+ validation_data: typing.Optional[typing.Sequence[typing.Union["ValidationBucketConfiguration", typing.Dict[builtins.str, typing.Any]]]] = None,
10030
+ vpc_config: typing.Optional["IBedrockCreateModelCustomizationJobVpcConfig"] = None,
10031
+ result_path: typing.Optional[builtins.str] = None,
10032
+ result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10033
+ comment: typing.Optional[builtins.str] = None,
10034
+ query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
10035
+ state_name: typing.Optional[builtins.str] = None,
10036
+ credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
10037
+ heartbeat: typing.Optional[_Duration_4839e8c3] = None,
10038
+ heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
10039
+ integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
10040
+ task_timeout: typing.Optional[_Timeout_d7c10551] = None,
10041
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
10042
+ assign: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10043
+ input_path: typing.Optional[builtins.str] = None,
10044
+ output_path: typing.Optional[builtins.str] = None,
10045
+ outputs: typing.Any = None,
10046
+ ) -> None:
10047
+ '''
10048
+ :param scope: -
10049
+ :param id: Descriptive identifier for this chainable.
10050
+ :param base_model: The base model.
10051
+ :param custom_model_name: A name for the resulting custom model. The maximum length is 63 characters.
10052
+ :param job_name: A name for the fine-tuning job. The maximum length is 63 characters.
10053
+ :param output_data: The S3 bucket configuration where the output data is stored.
10054
+ :param training_data: The S3 bucket configuration where the training data is stored.
10055
+ :param client_request_token: A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. The maximum length is 256 characters. Default: - no client request token
10056
+ :param customization_type: The customization type. Default: FINE_TUNING
10057
+ :param custom_model_kms_key: The custom model is encrypted at rest using this key. Default: - encrypted with the AWS owned key
10058
+ :param custom_model_tags: Tags to attach to the resulting custom model. The maximum number of tags is 200. Default: - no tags
10059
+ :param hyper_parameters: Parameters related to tuning the model. Default: - use default hyperparameters
10060
+ :param job_tags: Tags to attach to the job. The maximum number of tags is 200. Default: - no tags
10061
+ :param role: The IAM role that Amazon Bedrock can assume to perform tasks on your behalf. For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission. Default: - use auto generated role
10062
+ :param validation_data: The S3 bucket configuration where the validation data is stored. If you don't provide a validation dataset, specify the evaluation percentage by the ``Evaluation percentage`` hyperparameter. The maximum number is 10. Default: undefined - validate using a subset of the training data
10063
+ :param vpc_config: The VPC configuration. Default: - no VPC configuration
10064
+ :param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: $
10065
+ :param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
10066
+ :param comment: A comment describing this state. Default: No comment
10067
+ :param query_language: The name of the query language used by the state. If the state does not contain a ``queryLanguage`` field, then it will use the query language specified in the top-level ``queryLanguage`` field. Default: - JSONPath
10068
+ :param state_name: Optional name for this state. Default: - The construct ID will be used as state name
10069
+ :param credentials: Credentials for an IAM Role that the State Machine assumes for executing the task. This enables cross-account resource invocations. Default: - None (Task is executed using the State Machine's execution role)
10070
+ :param heartbeat: (deprecated) Timeout for the heartbeat. Default: - None
10071
+ :param heartbeat_timeout: Timeout for the heartbeat. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
10072
+ :param integration_pattern: AWS Step Functions integrates with services directly in the Amazon States Language. You can control these AWS services using service integration patterns. Depending on the AWS Service, the Service Integration Pattern availability will vary. Default: - ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks. ``IntegrationPattern.RUN_JOB`` for the following exceptions: ``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
10073
+ :param task_timeout: Timeout for the task. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
10074
+ :param timeout: (deprecated) Timeout for the task. Default: - None
10075
+ :param assign: Workflow variables to store in this step. Using workflow variables, you can store data in a step and retrieve that data in future steps. Default: - Not assign variables
10076
+ :param input_path: JSONPath expression to select part of the state to be the input to this state. May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}. Default: $
10077
+ :param output_path: JSONPath expression to select part of the state to be the output to this state. May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}. Default: $
10078
+ :param outputs: Used to specify and transform output from the state. When specified, the value overrides the state output default. The output field accepts any JSON value (object, array, string, number, boolean, null). Any string value, including those inside objects or arrays, will be evaluated as JSONata if surrounded by {% %} characters. Output also accepts a JSONata expression directly. Default: - $states.result or $states.errorOutput
10079
+ '''
10080
+ if __debug__:
10081
+ type_hints = typing.get_type_hints(_typecheckingstub__05f50c48ead9c1041aeef184ab271f7236e2832bc9e7175e9c6909f2fc4097e0)
10082
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
10083
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
10084
+ props = BedrockCreateModelCustomizationJobProps(
10085
+ base_model=base_model,
10086
+ custom_model_name=custom_model_name,
10087
+ job_name=job_name,
10088
+ output_data=output_data,
10089
+ training_data=training_data,
10090
+ client_request_token=client_request_token,
10091
+ customization_type=customization_type,
10092
+ custom_model_kms_key=custom_model_kms_key,
10093
+ custom_model_tags=custom_model_tags,
10094
+ hyper_parameters=hyper_parameters,
10095
+ job_tags=job_tags,
10096
+ role=role,
10097
+ validation_data=validation_data,
10098
+ vpc_config=vpc_config,
10099
+ result_path=result_path,
10100
+ result_selector=result_selector,
10101
+ comment=comment,
10102
+ query_language=query_language,
10103
+ state_name=state_name,
10104
+ credentials=credentials,
10105
+ heartbeat=heartbeat,
10106
+ heartbeat_timeout=heartbeat_timeout,
10107
+ integration_pattern=integration_pattern,
10108
+ task_timeout=task_timeout,
10109
+ timeout=timeout,
10110
+ assign=assign,
10111
+ input_path=input_path,
10112
+ output_path=output_path,
10113
+ outputs=outputs,
10114
+ )
10115
+
10116
+ jsii.create(self.__class__, self, [scope, id, props])
10117
+
10118
+ @builtins.property
10119
+ @jsii.member(jsii_name="role")
10120
+ def role(self) -> _IRole_235f5d8e:
10121
+ '''The IAM role for the bedrock create model customization job.'''
10122
+ return typing.cast(_IRole_235f5d8e, jsii.get(self, "role"))
10123
+
10124
+ @builtins.property
10125
+ @jsii.member(jsii_name="taskMetrics")
10126
+ def _task_metrics(self) -> typing.Optional[_TaskMetricsConfig_32ea9403]:
10127
+ return typing.cast(typing.Optional[_TaskMetricsConfig_32ea9403], jsii.get(self, "taskMetrics"))
10128
+
10129
+ @builtins.property
10130
+ @jsii.member(jsii_name="taskPolicies")
10131
+ def _task_policies(self) -> typing.Optional[typing.List[_PolicyStatement_0fe33853]]:
10132
+ return typing.cast(typing.Optional[typing.List[_PolicyStatement_0fe33853]], jsii.get(self, "taskPolicies"))
10133
+
10134
+
10135
+ @jsii.data_type(
10136
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.BedrockCreateModelCustomizationJobProps",
10137
+ jsii_struct_bases=[_TaskStateBaseProps_3a62b6d0],
10138
+ name_mapping={
10139
+ "comment": "comment",
10140
+ "query_language": "queryLanguage",
10141
+ "state_name": "stateName",
10142
+ "credentials": "credentials",
10143
+ "heartbeat": "heartbeat",
10144
+ "heartbeat_timeout": "heartbeatTimeout",
10145
+ "integration_pattern": "integrationPattern",
10146
+ "task_timeout": "taskTimeout",
10147
+ "timeout": "timeout",
10148
+ "assign": "assign",
10149
+ "input_path": "inputPath",
10150
+ "output_path": "outputPath",
10151
+ "outputs": "outputs",
10152
+ "result_path": "resultPath",
10153
+ "result_selector": "resultSelector",
10154
+ "base_model": "baseModel",
10155
+ "custom_model_name": "customModelName",
10156
+ "job_name": "jobName",
10157
+ "output_data": "outputData",
10158
+ "training_data": "trainingData",
10159
+ "client_request_token": "clientRequestToken",
10160
+ "customization_type": "customizationType",
10161
+ "custom_model_kms_key": "customModelKmsKey",
10162
+ "custom_model_tags": "customModelTags",
10163
+ "hyper_parameters": "hyperParameters",
10164
+ "job_tags": "jobTags",
10165
+ "role": "role",
10166
+ "validation_data": "validationData",
10167
+ "vpc_config": "vpcConfig",
10168
+ },
10169
+ )
10170
+ class BedrockCreateModelCustomizationJobProps(_TaskStateBaseProps_3a62b6d0):
10171
+ def __init__(
10172
+ self,
10173
+ *,
10174
+ comment: typing.Optional[builtins.str] = None,
10175
+ query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
10176
+ state_name: typing.Optional[builtins.str] = None,
10177
+ credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
10178
+ heartbeat: typing.Optional[_Duration_4839e8c3] = None,
10179
+ heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
10180
+ integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
10181
+ task_timeout: typing.Optional[_Timeout_d7c10551] = None,
10182
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
10183
+ assign: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10184
+ input_path: typing.Optional[builtins.str] = None,
10185
+ output_path: typing.Optional[builtins.str] = None,
10186
+ outputs: typing.Any = None,
10187
+ result_path: typing.Optional[builtins.str] = None,
10188
+ result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10189
+ base_model: _IModel_b88b328a,
10190
+ custom_model_name: builtins.str,
10191
+ job_name: builtins.str,
10192
+ output_data: typing.Union["OutputBucketConfiguration", typing.Dict[builtins.str, typing.Any]],
10193
+ training_data: typing.Union["TrainingBucketConfiguration", typing.Dict[builtins.str, typing.Any]],
10194
+ client_request_token: typing.Optional[builtins.str] = None,
10195
+ customization_type: typing.Optional["CustomizationType"] = None,
10196
+ custom_model_kms_key: typing.Optional[_IKey_5f11635f] = None,
10197
+ custom_model_tags: typing.Optional[typing.Sequence[typing.Union["CustomModelTag", typing.Dict[builtins.str, typing.Any]]]] = None,
10198
+ hyper_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10199
+ job_tags: typing.Optional[typing.Sequence[typing.Union["CustomModelTag", typing.Dict[builtins.str, typing.Any]]]] = None,
10200
+ role: typing.Optional[_IRoleRef_8400221f] = None,
10201
+ validation_data: typing.Optional[typing.Sequence[typing.Union["ValidationBucketConfiguration", typing.Dict[builtins.str, typing.Any]]]] = None,
10202
+ vpc_config: typing.Optional["IBedrockCreateModelCustomizationJobVpcConfig"] = None,
10203
+ ) -> None:
10204
+ '''Properties for invoking a Bedrock Model.
10205
+
10206
+ :param comment: A comment describing this state. Default: No comment
10207
+ :param query_language: The name of the query language used by the state. If the state does not contain a ``queryLanguage`` field, then it will use the query language specified in the top-level ``queryLanguage`` field. Default: - JSONPath
10208
+ :param state_name: Optional name for this state. Default: - The construct ID will be used as state name
10209
+ :param credentials: Credentials for an IAM Role that the State Machine assumes for executing the task. This enables cross-account resource invocations. Default: - None (Task is executed using the State Machine's execution role)
10210
+ :param heartbeat: (deprecated) Timeout for the heartbeat. Default: - None
10211
+ :param heartbeat_timeout: Timeout for the heartbeat. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
10212
+ :param integration_pattern: AWS Step Functions integrates with services directly in the Amazon States Language. You can control these AWS services using service integration patterns. Depending on the AWS Service, the Service Integration Pattern availability will vary. Default: - ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks. ``IntegrationPattern.RUN_JOB`` for the following exceptions: ``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
10213
+ :param task_timeout: Timeout for the task. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
10214
+ :param timeout: (deprecated) Timeout for the task. Default: - None
10215
+ :param assign: Workflow variables to store in this step. Using workflow variables, you can store data in a step and retrieve that data in future steps. Default: - Not assign variables
10216
+ :param input_path: JSONPath expression to select part of the state to be the input to this state. May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}. Default: $
10217
+ :param output_path: JSONPath expression to select part of the state to be the output to this state. May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}. Default: $
10218
+ :param outputs: Used to specify and transform output from the state. When specified, the value overrides the state output default. The output field accepts any JSON value (object, array, string, number, boolean, null). Any string value, including those inside objects or arrays, will be evaluated as JSONata if surrounded by {% %} characters. Output also accepts a JSONata expression directly. Default: - $states.result or $states.errorOutput
10219
+ :param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: $
10220
+ :param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
10221
+ :param base_model: The base model.
10222
+ :param custom_model_name: A name for the resulting custom model. The maximum length is 63 characters.
10223
+ :param job_name: A name for the fine-tuning job. The maximum length is 63 characters.
10224
+ :param output_data: The S3 bucket configuration where the output data is stored.
10225
+ :param training_data: The S3 bucket configuration where the training data is stored.
10226
+ :param client_request_token: A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. The maximum length is 256 characters. Default: - no client request token
10227
+ :param customization_type: The customization type. Default: FINE_TUNING
10228
+ :param custom_model_kms_key: The custom model is encrypted at rest using this key. Default: - encrypted with the AWS owned key
10229
+ :param custom_model_tags: Tags to attach to the resulting custom model. The maximum number of tags is 200. Default: - no tags
10230
+ :param hyper_parameters: Parameters related to tuning the model. Default: - use default hyperparameters
10231
+ :param job_tags: Tags to attach to the job. The maximum number of tags is 200. Default: - no tags
10232
+ :param role: The IAM role that Amazon Bedrock can assume to perform tasks on your behalf. For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission. Default: - use auto generated role
10233
+ :param validation_data: The S3 bucket configuration where the validation data is stored. If you don't provide a validation dataset, specify the evaluation percentage by the ``Evaluation percentage`` hyperparameter. The maximum number is 10. Default: undefined - validate using a subset of the training data
10234
+ :param vpc_config: The VPC configuration. Default: - no VPC configuration
10235
+
10236
+ :exampleMetadata: infused
10237
+
10238
+ Example::
10239
+
10240
+ import aws_cdk.aws_bedrock as bedrock
10241
+ import aws_cdk.aws_kms as kms
10242
+
10243
+ # output_bucket: s3.IBucket
10244
+ # training_bucket: s3.IBucket
10245
+ # validation_bucket: s3.IBucket
10246
+ # kms_key: kms.IKey
10247
+ # vpc: ec2.IVpc
10248
+
10249
+
10250
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
10251
+
10252
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
10253
+ base_model=model,
10254
+ client_request_token="MyToken",
10255
+ customization_type=tasks.CustomizationType.FINE_TUNING,
10256
+ custom_model_kms_key=kms_key,
10257
+ custom_model_name="MyCustomModel", # required
10258
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
10259
+ hyper_parameters={
10260
+ "batch_size": "10"
10261
+ },
10262
+ job_name="MyCustomizationJob", # required
10263
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
10264
+ output_data=tasks.OutputBucketConfiguration(
10265
+ bucket=output_bucket, # required
10266
+ path="output-data/"
10267
+ ),
10268
+ training_data=tasks.TrainingBucketConfiguration(
10269
+ bucket=training_bucket,
10270
+ path="training-data/data.json"
10271
+ ), # required
10272
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
10273
+ validation_data=[tasks.ValidationBucketConfiguration(
10274
+ bucket=validation_bucket,
10275
+ path="validation-data/data.json"
10276
+ )
10277
+ ],
10278
+ vpc_config={
10279
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
10280
+ "subnets": vpc.private_subnets
10281
+ }
10282
+ )
10283
+ '''
10284
+ if isinstance(credentials, dict):
10285
+ credentials = _Credentials_2cd64c6b(**credentials)
10286
+ if isinstance(output_data, dict):
10287
+ output_data = OutputBucketConfiguration(**output_data)
10288
+ if isinstance(training_data, dict):
10289
+ training_data = TrainingBucketConfiguration(**training_data)
10290
+ if __debug__:
10291
+ type_hints = typing.get_type_hints(_typecheckingstub__4a1348489dd866713bad4f53a20bf5de0eff5edebddfb3011e85cf03da5f68d2)
10292
+ check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
10293
+ check_type(argname="argument query_language", value=query_language, expected_type=type_hints["query_language"])
10294
+ check_type(argname="argument state_name", value=state_name, expected_type=type_hints["state_name"])
10295
+ check_type(argname="argument credentials", value=credentials, expected_type=type_hints["credentials"])
10296
+ check_type(argname="argument heartbeat", value=heartbeat, expected_type=type_hints["heartbeat"])
10297
+ check_type(argname="argument heartbeat_timeout", value=heartbeat_timeout, expected_type=type_hints["heartbeat_timeout"])
10298
+ check_type(argname="argument integration_pattern", value=integration_pattern, expected_type=type_hints["integration_pattern"])
10299
+ check_type(argname="argument task_timeout", value=task_timeout, expected_type=type_hints["task_timeout"])
10300
+ check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
10301
+ check_type(argname="argument assign", value=assign, expected_type=type_hints["assign"])
10302
+ check_type(argname="argument input_path", value=input_path, expected_type=type_hints["input_path"])
10303
+ check_type(argname="argument output_path", value=output_path, expected_type=type_hints["output_path"])
10304
+ check_type(argname="argument outputs", value=outputs, expected_type=type_hints["outputs"])
10305
+ check_type(argname="argument result_path", value=result_path, expected_type=type_hints["result_path"])
10306
+ check_type(argname="argument result_selector", value=result_selector, expected_type=type_hints["result_selector"])
10307
+ check_type(argname="argument base_model", value=base_model, expected_type=type_hints["base_model"])
10308
+ check_type(argname="argument custom_model_name", value=custom_model_name, expected_type=type_hints["custom_model_name"])
10309
+ check_type(argname="argument job_name", value=job_name, expected_type=type_hints["job_name"])
10310
+ check_type(argname="argument output_data", value=output_data, expected_type=type_hints["output_data"])
10311
+ check_type(argname="argument training_data", value=training_data, expected_type=type_hints["training_data"])
10312
+ check_type(argname="argument client_request_token", value=client_request_token, expected_type=type_hints["client_request_token"])
10313
+ check_type(argname="argument customization_type", value=customization_type, expected_type=type_hints["customization_type"])
10314
+ check_type(argname="argument custom_model_kms_key", value=custom_model_kms_key, expected_type=type_hints["custom_model_kms_key"])
10315
+ check_type(argname="argument custom_model_tags", value=custom_model_tags, expected_type=type_hints["custom_model_tags"])
10316
+ check_type(argname="argument hyper_parameters", value=hyper_parameters, expected_type=type_hints["hyper_parameters"])
10317
+ check_type(argname="argument job_tags", value=job_tags, expected_type=type_hints["job_tags"])
10318
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
10319
+ check_type(argname="argument validation_data", value=validation_data, expected_type=type_hints["validation_data"])
10320
+ check_type(argname="argument vpc_config", value=vpc_config, expected_type=type_hints["vpc_config"])
10321
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10322
+ "base_model": base_model,
10323
+ "custom_model_name": custom_model_name,
10324
+ "job_name": job_name,
10325
+ "output_data": output_data,
10326
+ "training_data": training_data,
10327
+ }
10328
+ if comment is not None:
10329
+ self._values["comment"] = comment
10330
+ if query_language is not None:
10331
+ self._values["query_language"] = query_language
10332
+ if state_name is not None:
10333
+ self._values["state_name"] = state_name
10334
+ if credentials is not None:
10335
+ self._values["credentials"] = credentials
10336
+ if heartbeat is not None:
10337
+ self._values["heartbeat"] = heartbeat
10338
+ if heartbeat_timeout is not None:
10339
+ self._values["heartbeat_timeout"] = heartbeat_timeout
10340
+ if integration_pattern is not None:
10341
+ self._values["integration_pattern"] = integration_pattern
10342
+ if task_timeout is not None:
10343
+ self._values["task_timeout"] = task_timeout
10344
+ if timeout is not None:
10345
+ self._values["timeout"] = timeout
10346
+ if assign is not None:
10347
+ self._values["assign"] = assign
10348
+ if input_path is not None:
10349
+ self._values["input_path"] = input_path
10350
+ if output_path is not None:
10351
+ self._values["output_path"] = output_path
10352
+ if outputs is not None:
10353
+ self._values["outputs"] = outputs
10354
+ if result_path is not None:
10355
+ self._values["result_path"] = result_path
10356
+ if result_selector is not None:
10357
+ self._values["result_selector"] = result_selector
10358
+ if client_request_token is not None:
10359
+ self._values["client_request_token"] = client_request_token
10360
+ if customization_type is not None:
10361
+ self._values["customization_type"] = customization_type
10362
+ if custom_model_kms_key is not None:
10363
+ self._values["custom_model_kms_key"] = custom_model_kms_key
10364
+ if custom_model_tags is not None:
10365
+ self._values["custom_model_tags"] = custom_model_tags
10366
+ if hyper_parameters is not None:
10367
+ self._values["hyper_parameters"] = hyper_parameters
10368
+ if job_tags is not None:
10369
+ self._values["job_tags"] = job_tags
10370
+ if role is not None:
10371
+ self._values["role"] = role
10372
+ if validation_data is not None:
10373
+ self._values["validation_data"] = validation_data
10374
+ if vpc_config is not None:
10375
+ self._values["vpc_config"] = vpc_config
10376
+
10377
+ @builtins.property
10378
+ def comment(self) -> typing.Optional[builtins.str]:
10379
+ '''A comment describing this state.
10380
+
10381
+ :default: No comment
10382
+ '''
10383
+ result = self._values.get("comment")
10384
+ return typing.cast(typing.Optional[builtins.str], result)
10385
+
10386
+ @builtins.property
10387
+ def query_language(self) -> typing.Optional[_QueryLanguage_be8414a8]:
10388
+ '''The name of the query language used by the state.
10389
+
10390
+ If the state does not contain a ``queryLanguage`` field,
10391
+ then it will use the query language specified in the top-level ``queryLanguage`` field.
10392
+
10393
+ :default: - JSONPath
10394
+ '''
10395
+ result = self._values.get("query_language")
10396
+ return typing.cast(typing.Optional[_QueryLanguage_be8414a8], result)
10397
+
10398
+ @builtins.property
10399
+ def state_name(self) -> typing.Optional[builtins.str]:
10400
+ '''Optional name for this state.
10401
+
10402
+ :default: - The construct ID will be used as state name
10403
+ '''
10404
+ result = self._values.get("state_name")
10405
+ return typing.cast(typing.Optional[builtins.str], result)
10406
+
10407
+ @builtins.property
10408
+ def credentials(self) -> typing.Optional[_Credentials_2cd64c6b]:
10409
+ '''Credentials for an IAM Role that the State Machine assumes for executing the task.
10410
+
10411
+ This enables cross-account resource invocations.
10412
+
10413
+ :default: - None (Task is executed using the State Machine's execution role)
10414
+
10415
+ :see: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
10416
+ '''
10417
+ result = self._values.get("credentials")
10418
+ return typing.cast(typing.Optional[_Credentials_2cd64c6b], result)
10419
+
10420
+ @builtins.property
10421
+ def heartbeat(self) -> typing.Optional[_Duration_4839e8c3]:
10422
+ '''(deprecated) Timeout for the heartbeat.
10423
+
10424
+ :default: - None
10425
+
10426
+ :deprecated: use ``heartbeatTimeout``
10427
+
10428
+ :stability: deprecated
10429
+ '''
10430
+ result = self._values.get("heartbeat")
10431
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
10432
+
10433
+ @builtins.property
10434
+ def heartbeat_timeout(self) -> typing.Optional[_Timeout_d7c10551]:
10435
+ '''Timeout for the heartbeat.
10436
+
10437
+ [disable-awslint:duration-prop-type] is needed because all props interface in
10438
+ aws-stepfunctions-tasks extend this interface
10439
+
10440
+ :default: - None
10441
+ '''
10442
+ result = self._values.get("heartbeat_timeout")
10443
+ return typing.cast(typing.Optional[_Timeout_d7c10551], result)
10444
+
10445
+ @builtins.property
10446
+ def integration_pattern(self) -> typing.Optional[_IntegrationPattern_949291bc]:
10447
+ '''AWS Step Functions integrates with services directly in the Amazon States Language.
10448
+
10449
+ You can control these AWS services using service integration patterns.
10450
+
10451
+ Depending on the AWS Service, the Service Integration Pattern availability will vary.
10452
+
10453
+ :default:
10454
+
10455
+ - ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks.
10456
+ ``IntegrationPattern.RUN_JOB`` for the following exceptions:
10457
+ ``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
10458
+
10459
+ :see: https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html
10460
+ '''
10461
+ result = self._values.get("integration_pattern")
10462
+ return typing.cast(typing.Optional[_IntegrationPattern_949291bc], result)
10463
+
10464
+ @builtins.property
10465
+ def task_timeout(self) -> typing.Optional[_Timeout_d7c10551]:
10466
+ '''Timeout for the task.
10467
+
10468
+ [disable-awslint:duration-prop-type] is needed because all props interface in
10469
+ aws-stepfunctions-tasks extend this interface
10470
+
10471
+ :default: - None
10472
+ '''
10473
+ result = self._values.get("task_timeout")
10474
+ return typing.cast(typing.Optional[_Timeout_d7c10551], result)
10475
+
10476
+ @builtins.property
10477
+ def timeout(self) -> typing.Optional[_Duration_4839e8c3]:
10478
+ '''(deprecated) Timeout for the task.
10479
+
10480
+ :default: - None
10481
+
10482
+ :deprecated: use ``taskTimeout``
10483
+
10484
+ :stability: deprecated
10485
+ '''
10486
+ result = self._values.get("timeout")
10487
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
10488
+
10489
+ @builtins.property
10490
+ def assign(self) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
10491
+ '''Workflow variables to store in this step.
10492
+
10493
+ Using workflow variables, you can store data in a step and retrieve that data in future steps.
10494
+
10495
+ :default: - Not assign variables
10496
+
10497
+ :see: https://docs.aws.amazon.com/step-functions/latest/dg/workflow-variables.html
10498
+ '''
10499
+ result = self._values.get("assign")
10500
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
10501
+
10502
+ @builtins.property
10503
+ def input_path(self) -> typing.Optional[builtins.str]:
10504
+ '''JSONPath expression to select part of the state to be the input to this state.
10505
+
10506
+ May also be the special value JsonPath.DISCARD, which will cause the effective
10507
+ input to be the empty object {}.
10508
+
10509
+ :default: $
10510
+ '''
10511
+ result = self._values.get("input_path")
10512
+ return typing.cast(typing.Optional[builtins.str], result)
10513
+
10514
+ @builtins.property
10515
+ def output_path(self) -> typing.Optional[builtins.str]:
10516
+ '''JSONPath expression to select part of the state to be the output to this state.
10517
+
10518
+ May also be the special value JsonPath.DISCARD, which will cause the effective
10519
+ output to be the empty object {}.
10520
+
10521
+ :default: $
10522
+ '''
10523
+ result = self._values.get("output_path")
10524
+ return typing.cast(typing.Optional[builtins.str], result)
10525
+
10526
+ @builtins.property
10527
+ def outputs(self) -> typing.Any:
10528
+ '''Used to specify and transform output from the state.
10529
+
10530
+ When specified, the value overrides the state output default.
10531
+ The output field accepts any JSON value (object, array, string, number, boolean, null).
10532
+ Any string value, including those inside objects or arrays,
10533
+ will be evaluated as JSONata if surrounded by {% %} characters.
10534
+ Output also accepts a JSONata expression directly.
10535
+
10536
+ :default: - $states.result or $states.errorOutput
10537
+
10538
+ :see: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-input-output-filtering.html
10539
+ '''
10540
+ result = self._values.get("outputs")
10541
+ return typing.cast(typing.Any, result)
10542
+
10543
+ @builtins.property
10544
+ def result_path(self) -> typing.Optional[builtins.str]:
10545
+ '''JSONPath expression to indicate where to inject the state's output.
10546
+
10547
+ May also be the special value JsonPath.DISCARD, which will cause the state's
10548
+ input to become its output.
10549
+
10550
+ :default: $
10551
+ '''
10552
+ result = self._values.get("result_path")
10553
+ return typing.cast(typing.Optional[builtins.str], result)
10554
+
10555
+ @builtins.property
10556
+ def result_selector(
10557
+ self,
10558
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
10559
+ '''The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
10560
+
10561
+ You can use ResultSelector to create a payload with values that are static
10562
+ or selected from the state's raw result.
10563
+
10564
+ :default: - None
10565
+
10566
+ :see: https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector
10567
+ '''
10568
+ result = self._values.get("result_selector")
10569
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
10570
+
10571
+ @builtins.property
10572
+ def base_model(self) -> _IModel_b88b328a:
10573
+ '''The base model.'''
10574
+ result = self._values.get("base_model")
10575
+ assert result is not None, "Required property 'base_model' is missing"
10576
+ return typing.cast(_IModel_b88b328a, result)
10577
+
10578
+ @builtins.property
10579
+ def custom_model_name(self) -> builtins.str:
10580
+ '''A name for the resulting custom model.
10581
+
10582
+ The maximum length is 63 characters.
10583
+ '''
10584
+ result = self._values.get("custom_model_name")
10585
+ assert result is not None, "Required property 'custom_model_name' is missing"
10586
+ return typing.cast(builtins.str, result)
10587
+
10588
+ @builtins.property
10589
+ def job_name(self) -> builtins.str:
10590
+ '''A name for the fine-tuning job.
10591
+
10592
+ The maximum length is 63 characters.
10593
+ '''
10594
+ result = self._values.get("job_name")
10595
+ assert result is not None, "Required property 'job_name' is missing"
10596
+ return typing.cast(builtins.str, result)
10597
+
10598
+ @builtins.property
10599
+ def output_data(self) -> "OutputBucketConfiguration":
10600
+ '''The S3 bucket configuration where the output data is stored.
10601
+
10602
+ :see: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_OutputDataConfig.html
10603
+ '''
10604
+ result = self._values.get("output_data")
10605
+ assert result is not None, "Required property 'output_data' is missing"
10606
+ return typing.cast("OutputBucketConfiguration", result)
10607
+
10608
+ @builtins.property
10609
+ def training_data(self) -> "TrainingBucketConfiguration":
10610
+ '''The S3 bucket configuration where the training data is stored.
10611
+
10612
+ :see: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_TrainingDataConfig.html
10613
+ '''
10614
+ result = self._values.get("training_data")
10615
+ assert result is not None, "Required property 'training_data' is missing"
10616
+ return typing.cast("TrainingBucketConfiguration", result)
10617
+
10618
+ @builtins.property
10619
+ def client_request_token(self) -> typing.Optional[builtins.str]:
10620
+ '''A unique, case-sensitive identifier to ensure that the API request completes no more than one time.
10621
+
10622
+ If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error.
10623
+
10624
+ The maximum length is 256 characters.
10625
+
10626
+ :default: - no client request token
10627
+
10628
+ :see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
10629
+ '''
10630
+ result = self._values.get("client_request_token")
10631
+ return typing.cast(typing.Optional[builtins.str], result)
10632
+
10633
+ @builtins.property
10634
+ def customization_type(self) -> typing.Optional["CustomizationType"]:
10635
+ '''The customization type.
10636
+
10637
+ :default: FINE_TUNING
10638
+ '''
10639
+ result = self._values.get("customization_type")
10640
+ return typing.cast(typing.Optional["CustomizationType"], result)
10641
+
10642
+ @builtins.property
10643
+ def custom_model_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
10644
+ '''The custom model is encrypted at rest using this key.
10645
+
10646
+ :default: - encrypted with the AWS owned key
10647
+
10648
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-custom-job.html
10649
+ '''
10650
+ result = self._values.get("custom_model_kms_key")
10651
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
10652
+
10653
+ @builtins.property
10654
+ def custom_model_tags(self) -> typing.Optional[typing.List["CustomModelTag"]]:
10655
+ '''Tags to attach to the resulting custom model.
10656
+
10657
+ The maximum number of tags is 200.
10658
+
10659
+ :default: - no tags
10660
+ '''
10661
+ result = self._values.get("custom_model_tags")
10662
+ return typing.cast(typing.Optional[typing.List["CustomModelTag"]], result)
10663
+
10664
+ @builtins.property
10665
+ def hyper_parameters(
10666
+ self,
10667
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
10668
+ '''Parameters related to tuning the model.
10669
+
10670
+ :default: - use default hyperparameters
10671
+
10672
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html
10673
+ '''
10674
+ result = self._values.get("hyper_parameters")
10675
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
10676
+
10677
+ @builtins.property
10678
+ def job_tags(self) -> typing.Optional[typing.List["CustomModelTag"]]:
10679
+ '''Tags to attach to the job.
10680
+
10681
+ The maximum number of tags is 200.
10682
+
10683
+ :default: - no tags
10684
+ '''
10685
+ result = self._values.get("job_tags")
10686
+ return typing.cast(typing.Optional[typing.List["CustomModelTag"]], result)
10687
+
10688
+ @builtins.property
10689
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
10690
+ '''The IAM role that Amazon Bedrock can assume to perform tasks on your behalf.
10691
+
10692
+ For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket,
10693
+ write model artifacts to an S3 bucket.
10694
+ To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission.
10695
+
10696
+ :default: - use auto generated role
10697
+ '''
10698
+ result = self._values.get("role")
10699
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
10700
+
10701
+ @builtins.property
10702
+ def validation_data(
10703
+ self,
10704
+ ) -> typing.Optional[typing.List["ValidationBucketConfiguration"]]:
10705
+ '''The S3 bucket configuration where the validation data is stored.
10706
+
10707
+ If you don't provide a validation dataset, specify the evaluation percentage by the ``Evaluation percentage`` hyperparameter.
10708
+
10709
+ The maximum number is 10.
10710
+
10711
+ :default: undefined - validate using a subset of the training data
10712
+
10713
+ :see: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Validator.html
10714
+ '''
10715
+ result = self._values.get("validation_data")
10716
+ return typing.cast(typing.Optional[typing.List["ValidationBucketConfiguration"]], result)
10717
+
10718
+ @builtins.property
10719
+ def vpc_config(
10720
+ self,
10721
+ ) -> typing.Optional["IBedrockCreateModelCustomizationJobVpcConfig"]:
10722
+ '''The VPC configuration.
10723
+
10724
+ :default: - no VPC configuration
10725
+ '''
10726
+ result = self._values.get("vpc_config")
10727
+ return typing.cast(typing.Optional["IBedrockCreateModelCustomizationJobVpcConfig"], result)
10728
+
10729
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10730
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10731
+
10732
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10733
+ return not (rhs == self)
10734
+
10735
+ def __repr__(self) -> str:
10736
+ return "BedrockCreateModelCustomizationJobProps(%s)" % ", ".join(
10737
+ k + "=" + repr(v) for k, v in self._values.items()
10738
+ )
10739
+
10740
+
9829
10741
  class BedrockInvokeModel(
9830
10742
  _TaskStateBase_b5c0a816,
9831
10743
  metaclass=jsii.JSIIMeta,
@@ -13434,6 +14346,12 @@ class CallApiGatewayHttpApiEndpoint(
13434
14346
  def _create_policy_statements(self) -> typing.List[_PolicyStatement_0fe33853]:
13435
14347
  return typing.cast(typing.List[_PolicyStatement_0fe33853], jsii.invoke(self, "createPolicyStatements", []))
13436
14348
 
14349
+ @jsii.python.classproperty
14350
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
14351
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
14352
+ '''Uniquely identifies this class.'''
14353
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
14354
+
13437
14355
  @builtins.property
13438
14356
  @jsii.member(jsii_name="apiEndpoint")
13439
14357
  def _api_endpoint(self) -> builtins.str:
@@ -14364,6 +15282,12 @@ class CallApiGatewayRestApiEndpoint(
14364
15282
  def _create_policy_statements(self) -> typing.List[_PolicyStatement_0fe33853]:
14365
15283
  return typing.cast(typing.List[_PolicyStatement_0fe33853], jsii.invoke(self, "createPolicyStatements", []))
14366
15284
 
15285
+ @jsii.python.classproperty
15286
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15287
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15288
+ '''Uniquely identifies this class.'''
15289
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15290
+
14367
15291
  @builtins.property
14368
15292
  @jsii.member(jsii_name="apiEndpoint")
14369
15293
  def _api_endpoint(self) -> builtins.str:
@@ -21950,6 +22874,211 @@ class CronOptions:
21950
22874
  )
21951
22875
 
21952
22876
 
22877
+ @jsii.data_type(
22878
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.CustomModelTag",
22879
+ jsii_struct_bases=[],
22880
+ name_mapping={"key": "key", "value": "value"},
22881
+ )
22882
+ class CustomModelTag:
22883
+ def __init__(self, *, key: builtins.str, value: builtins.str) -> None:
22884
+ '''The key/value pair for a tag.
22885
+
22886
+ :param key: Key for the tag.
22887
+ :param value: Value for the tag.
22888
+
22889
+ :exampleMetadata: fixture=_generated
22890
+
22891
+ Example::
22892
+
22893
+ # The code below shows an example of how to instantiate this type.
22894
+ # The values are placeholders you should change.
22895
+ from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
22896
+
22897
+ custom_model_tag = stepfunctions_tasks.CustomModelTag(
22898
+ key="key",
22899
+ value="value"
22900
+ )
22901
+ '''
22902
+ if __debug__:
22903
+ type_hints = typing.get_type_hints(_typecheckingstub__83c62fca1c3250b9c5ee6e19dd3dfc1c4accd6cbf494208ce8b177e8b37ab802)
22904
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
22905
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
22906
+ self._values: typing.Dict[builtins.str, typing.Any] = {
22907
+ "key": key,
22908
+ "value": value,
22909
+ }
22910
+
22911
+ @builtins.property
22912
+ def key(self) -> builtins.str:
22913
+ '''Key for the tag.'''
22914
+ result = self._values.get("key")
22915
+ assert result is not None, "Required property 'key' is missing"
22916
+ return typing.cast(builtins.str, result)
22917
+
22918
+ @builtins.property
22919
+ def value(self) -> builtins.str:
22920
+ '''Value for the tag.'''
22921
+ result = self._values.get("value")
22922
+ assert result is not None, "Required property 'value' is missing"
22923
+ return typing.cast(builtins.str, result)
22924
+
22925
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
22926
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
22927
+
22928
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
22929
+ return not (rhs == self)
22930
+
22931
+ def __repr__(self) -> str:
22932
+ return "CustomModelTag(%s)" % ", ".join(
22933
+ k + "=" + repr(v) for k, v in self._values.items()
22934
+ )
22935
+
22936
+
22937
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.CustomizationType")
22938
+ class CustomizationType(enum.Enum):
22939
+ '''The customization type.
22940
+
22941
+ :see: https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html
22942
+ :exampleMetadata: infused
22943
+
22944
+ Example::
22945
+
22946
+ import aws_cdk.aws_bedrock as bedrock
22947
+ import aws_cdk.aws_kms as kms
22948
+
22949
+ # output_bucket: s3.IBucket
22950
+ # training_bucket: s3.IBucket
22951
+ # validation_bucket: s3.IBucket
22952
+ # kms_key: kms.IKey
22953
+ # vpc: ec2.IVpc
22954
+
22955
+
22956
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
22957
+
22958
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
22959
+ base_model=model,
22960
+ client_request_token="MyToken",
22961
+ customization_type=tasks.CustomizationType.FINE_TUNING,
22962
+ custom_model_kms_key=kms_key,
22963
+ custom_model_name="MyCustomModel", # required
22964
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
22965
+ hyper_parameters={
22966
+ "batch_size": "10"
22967
+ },
22968
+ job_name="MyCustomizationJob", # required
22969
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
22970
+ output_data=tasks.OutputBucketConfiguration(
22971
+ bucket=output_bucket, # required
22972
+ path="output-data/"
22973
+ ),
22974
+ training_data=tasks.TrainingBucketConfiguration(
22975
+ bucket=training_bucket,
22976
+ path="training-data/data.json"
22977
+ ), # required
22978
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
22979
+ validation_data=[tasks.ValidationBucketConfiguration(
22980
+ bucket=validation_bucket,
22981
+ path="validation-data/data.json"
22982
+ )
22983
+ ],
22984
+ vpc_config={
22985
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
22986
+ "subnets": vpc.private_subnets
22987
+ }
22988
+ )
22989
+ '''
22990
+
22991
+ FINE_TUNING = "FINE_TUNING"
22992
+ '''Fine-tuning.
22993
+
22994
+ Provide labeled data in order to train a model to improve performance on specific tasks.
22995
+ '''
22996
+ CONTINUED_PRE_TRAINING = "CONTINUED_PRE_TRAINING"
22997
+ '''Continued pre-training.
22998
+
22999
+ Provide unlabeled data to pre-train a foundation model by familiarizing it with certain types of inputs.
23000
+ '''
23001
+ DISTILLATION = "DISTILLATION"
23002
+ '''Distillation.
23003
+
23004
+ With Model Distillation, you can generate synthetic responses from a large foundation model (teacher)
23005
+ and use that data to train a smaller model (student) for your specific use-case.
23006
+ '''
23007
+
23008
+
23009
+ @jsii.data_type(
23010
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.DataBucketConfiguration",
23011
+ jsii_struct_bases=[],
23012
+ name_mapping={"bucket": "bucket", "path": "path"},
23013
+ )
23014
+ class DataBucketConfiguration:
23015
+ def __init__(
23016
+ self,
23017
+ *,
23018
+ bucket: _IBucket_42e086fd,
23019
+ path: typing.Optional[builtins.str] = None,
23020
+ ) -> None:
23021
+ '''S3 bucket configuration for data storage destination.
23022
+
23023
+ :param bucket: The S3 bucket.
23024
+ :param path: Path to file or directory within the bucket. Default: - root of the bucket
23025
+
23026
+ :exampleMetadata: fixture=_generated
23027
+
23028
+ Example::
23029
+
23030
+ # The code below shows an example of how to instantiate this type.
23031
+ # The values are placeholders you should change.
23032
+ from aws_cdk import aws_s3 as s3
23033
+ from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
23034
+
23035
+ # bucket: s3.Bucket
23036
+
23037
+ data_bucket_configuration = stepfunctions_tasks.DataBucketConfiguration(
23038
+ bucket=bucket,
23039
+
23040
+ # the properties below are optional
23041
+ path="path"
23042
+ )
23043
+ '''
23044
+ if __debug__:
23045
+ type_hints = typing.get_type_hints(_typecheckingstub__a310fa6911b62dab87f8ad67600f727aa7262c59f0ca09c7df5e3e7af25a63ee)
23046
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
23047
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
23048
+ self._values: typing.Dict[builtins.str, typing.Any] = {
23049
+ "bucket": bucket,
23050
+ }
23051
+ if path is not None:
23052
+ self._values["path"] = path
23053
+
23054
+ @builtins.property
23055
+ def bucket(self) -> _IBucket_42e086fd:
23056
+ '''The S3 bucket.'''
23057
+ result = self._values.get("bucket")
23058
+ assert result is not None, "Required property 'bucket' is missing"
23059
+ return typing.cast(_IBucket_42e086fd, result)
23060
+
23061
+ @builtins.property
23062
+ def path(self) -> typing.Optional[builtins.str]:
23063
+ '''Path to file or directory within the bucket.
23064
+
23065
+ :default: - root of the bucket
23066
+ '''
23067
+ result = self._values.get("path")
23068
+ return typing.cast(typing.Optional[builtins.str], result)
23069
+
23070
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
23071
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
23072
+
23073
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
23074
+ return not (rhs == self)
23075
+
23076
+ def __repr__(self) -> str:
23077
+ return "DataBucketConfiguration(%s)" % ", ".join(
23078
+ k + "=" + repr(v) for k, v in self._values.items()
23079
+ )
23080
+
23081
+
21953
23082
  @jsii.data_type(
21954
23083
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.DataSource",
21955
23084
  jsii_struct_bases=[],
@@ -29885,6 +31014,12 @@ class EcsRunTask(
29885
31014
 
29886
31015
  return typing.cast("EcsRunTask", jsii.sinvoke(cls, "jsonPath", [scope, id, props]))
29887
31016
 
31017
+ @jsii.python.classproperty
31018
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
31019
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
31020
+ '''Uniquely identifies this class.'''
31021
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
31022
+
29888
31023
  @builtins.property
29889
31024
  @jsii.member(jsii_name="connections")
29890
31025
  def connections(self) -> _Connections_0f31fce8:
@@ -31538,13 +32673,13 @@ class EksCall(
31538
32673
  Example::
31539
32674
 
31540
32675
  import aws_cdk.aws_eks as eks
31541
- from aws_cdk.lambda_layer_kubectl_v32 import KubectlV32Layer
32676
+ from aws_cdk.lambda_layer_kubectl_v34 import KubectlV34Layer
31542
32677
 
31543
32678
 
31544
32679
  my_eks_cluster = eks.Cluster(self, "my sample cluster",
31545
- version=eks.KubernetesVersion.V1_32,
32680
+ version=eks.KubernetesVersion.V1_34,
31546
32681
  cluster_name="myEksCluster",
31547
- kubectl_layer=KubectlV32Layer(self, "kubectl")
32682
+ kubectl_layer=KubectlV34Layer(self, "kubectl")
31548
32683
  )
31549
32684
 
31550
32685
  tasks.EksCall(self, "Call a EKS Endpoint",
@@ -32646,13 +33781,13 @@ class EksCallProps(_TaskStateBaseProps_3a62b6d0):
32646
33781
  Example::
32647
33782
 
32648
33783
  import aws_cdk.aws_eks as eks
32649
- from aws_cdk.lambda_layer_kubectl_v32 import KubectlV32Layer
33784
+ from aws_cdk.lambda_layer_kubectl_v34 import KubectlV34Layer
32650
33785
 
32651
33786
 
32652
33787
  my_eks_cluster = eks.Cluster(self, "my sample cluster",
32653
- version=eks.KubernetesVersion.V1_32,
33788
+ version=eks.KubernetesVersion.V1_34,
32654
33789
  cluster_name="myEksCluster",
32655
- kubectl_layer=KubectlV32Layer(self, "kubectl")
33790
+ kubectl_layer=KubectlV34Layer(self, "kubectl")
32656
33791
  )
32657
33792
 
32658
33793
  tasks.EksCall(self, "Call a EKS Endpoint",
@@ -40247,34 +41382,36 @@ class EmrCreateCluster(
40247
41382
 
40248
41383
  Example::
40249
41384
 
40250
- cluster_role = iam.Role(self, "ClusterRole",
40251
- assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
40252
- )
40253
-
40254
- service_role = iam.Role(self, "ServiceRole",
40255
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
40256
- )
40257
-
40258
- auto_scaling_role = iam.Role(self, "AutoScalingRole",
40259
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
40260
- )
40261
-
40262
- auto_scaling_role.assume_role_policy.add_statements(
40263
- iam.PolicyStatement(
40264
- effect=iam.Effect.ALLOW,
40265
- principals=[
40266
- iam.ServicePrincipal("application-autoscaling.amazonaws.com")
40267
- ],
40268
- actions=["sts:AssumeRole"
41385
+ tasks.EmrCreateCluster(self, "CreateCluster",
41386
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
41387
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
41388
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
41389
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
41390
+ instance_type="m5.xlarge"
41391
+ )
41392
+ ],
41393
+ target_on_demand_capacity=1
41394
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
41395
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
41396
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
41397
+ instance_type="m5.xlarge"
41398
+ )
41399
+ ],
41400
+ target_on_demand_capacity=1
41401
+ )
40269
41402
  ]
40270
- ))
40271
-
40272
- tasks.EmrCreateCluster(self, "Create Cluster",
40273
- instances=tasks.EmrCreateCluster.InstancesConfigProperty(),
40274
- cluster_role=cluster_role,
40275
- name=sfn.TaskInput.from_json_path_at("$.ClusterName").value,
40276
- service_role=service_role,
40277
- auto_scaling_role=auto_scaling_role
41403
+ ),
41404
+ name="ClusterName",
41405
+ release_label="emr-7.9.0",
41406
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
41407
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
41408
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
41409
+ maximum_capacity_units=4,
41410
+ minimum_capacity_units=1,
41411
+ maximum_on_demand_capacity_units=4,
41412
+ maximum_core_capacity_units=2
41413
+ )
41414
+ )
40278
41415
  )
40279
41416
  '''
40280
41417
 
@@ -40293,9 +41430,12 @@ class EmrCreateCluster(
40293
41430
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
40294
41431
  configurations: typing.Optional[typing.Sequence[typing.Union["EmrCreateCluster.ConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
40295
41432
  custom_ami_id: typing.Optional[builtins.str] = None,
41433
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
40296
41434
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
41435
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
40297
41436
  kerberos_attributes: typing.Optional[typing.Union["EmrCreateCluster.KerberosAttributesProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40298
41437
  log_uri: typing.Optional[builtins.str] = None,
41438
+ managed_scaling_policy: typing.Optional[typing.Union["EmrCreateCluster.ManagedScalingPolicyProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40299
41439
  release_label: typing.Optional[builtins.str] = None,
40300
41440
  scale_down_behavior: typing.Optional["EmrCreateCluster.EmrClusterScaleDownBehavior"] = None,
40301
41441
  security_configuration: typing.Optional[builtins.str] = None,
@@ -40332,9 +41472,12 @@ class EmrCreateCluster(
40332
41472
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
40333
41473
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
40334
41474
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
41475
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
40335
41476
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
41477
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
40336
41478
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
40337
41479
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
41480
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
40338
41481
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
40339
41482
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
40340
41483
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -40373,9 +41516,12 @@ class EmrCreateCluster(
40373
41516
  cluster_role=cluster_role,
40374
41517
  configurations=configurations,
40375
41518
  custom_ami_id=custom_ami_id,
41519
+ ebs_root_volume_iops=ebs_root_volume_iops,
40376
41520
  ebs_root_volume_size=ebs_root_volume_size,
41521
+ ebs_root_volume_throughput=ebs_root_volume_throughput,
40377
41522
  kerberos_attributes=kerberos_attributes,
40378
41523
  log_uri=log_uri,
41524
+ managed_scaling_policy=managed_scaling_policy,
40379
41525
  release_label=release_label,
40380
41526
  scale_down_behavior=scale_down_behavior,
40381
41527
  security_configuration=security_configuration,
@@ -40419,9 +41565,12 @@ class EmrCreateCluster(
40419
41565
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
40420
41566
  configurations: typing.Optional[typing.Sequence[typing.Union["EmrCreateCluster.ConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
40421
41567
  custom_ami_id: typing.Optional[builtins.str] = None,
41568
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
40422
41569
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
41570
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
40423
41571
  kerberos_attributes: typing.Optional[typing.Union["EmrCreateCluster.KerberosAttributesProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40424
41572
  log_uri: typing.Optional[builtins.str] = None,
41573
+ managed_scaling_policy: typing.Optional[typing.Union["EmrCreateCluster.ManagedScalingPolicyProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40425
41574
  release_label: typing.Optional[builtins.str] = None,
40426
41575
  scale_down_behavior: typing.Optional["EmrCreateCluster.EmrClusterScaleDownBehavior"] = None,
40427
41576
  security_configuration: typing.Optional[builtins.str] = None,
@@ -40457,9 +41606,12 @@ class EmrCreateCluster(
40457
41606
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
40458
41607
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
40459
41608
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
41609
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
40460
41610
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
41611
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
40461
41612
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
40462
41613
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
41614
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
40463
41615
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
40464
41616
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
40465
41617
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -40494,9 +41646,12 @@ class EmrCreateCluster(
40494
41646
  cluster_role=cluster_role,
40495
41647
  configurations=configurations,
40496
41648
  custom_ami_id=custom_ami_id,
41649
+ ebs_root_volume_iops=ebs_root_volume_iops,
40497
41650
  ebs_root_volume_size=ebs_root_volume_size,
41651
+ ebs_root_volume_throughput=ebs_root_volume_throughput,
40498
41652
  kerberos_attributes=kerberos_attributes,
40499
41653
  log_uri=log_uri,
41654
+ managed_scaling_policy=managed_scaling_policy,
40500
41655
  release_label=release_label,
40501
41656
  scale_down_behavior=scale_down_behavior,
40502
41657
  security_configuration=security_configuration,
@@ -40536,9 +41691,12 @@ class EmrCreateCluster(
40536
41691
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
40537
41692
  configurations: typing.Optional[typing.Sequence[typing.Union["EmrCreateCluster.ConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
40538
41693
  custom_ami_id: typing.Optional[builtins.str] = None,
41694
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
40539
41695
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
41696
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
40540
41697
  kerberos_attributes: typing.Optional[typing.Union["EmrCreateCluster.KerberosAttributesProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40541
41698
  log_uri: typing.Optional[builtins.str] = None,
41699
+ managed_scaling_policy: typing.Optional[typing.Union["EmrCreateCluster.ManagedScalingPolicyProperty", typing.Dict[builtins.str, typing.Any]]] = None,
40542
41700
  release_label: typing.Optional[builtins.str] = None,
40543
41701
  scale_down_behavior: typing.Optional["EmrCreateCluster.EmrClusterScaleDownBehavior"] = None,
40544
41702
  security_configuration: typing.Optional[builtins.str] = None,
@@ -40577,9 +41735,12 @@ class EmrCreateCluster(
40577
41735
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
40578
41736
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
40579
41737
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
41738
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
40580
41739
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
41740
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
40581
41741
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
40582
41742
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
41743
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
40583
41744
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
40584
41745
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
40585
41746
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -40617,9 +41778,12 @@ class EmrCreateCluster(
40617
41778
  cluster_role=cluster_role,
40618
41779
  configurations=configurations,
40619
41780
  custom_ami_id=custom_ami_id,
41781
+ ebs_root_volume_iops=ebs_root_volume_iops,
40620
41782
  ebs_root_volume_size=ebs_root_volume_size,
41783
+ ebs_root_volume_throughput=ebs_root_volume_throughput,
40621
41784
  kerberos_attributes=kerberos_attributes,
40622
41785
  log_uri=log_uri,
41786
+ managed_scaling_policy=managed_scaling_policy,
40623
41787
  release_label=release_label,
40624
41788
  scale_down_behavior=scale_down_behavior,
40625
41789
  security_configuration=security_configuration,
@@ -41280,6 +42444,57 @@ class EmrCreateCluster(
41280
42444
  COUNT_PER_SECOND = "COUNT_PER_SECOND"
41281
42445
  '''COUNT_PER_SECOND.'''
41282
42446
 
42447
+ @jsii.enum(
42448
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.ComputeLimitsUnitType"
42449
+ )
42450
+ class ComputeLimitsUnitType(enum.Enum):
42451
+ '''The unit type for managed scaling policy compute limits.
42452
+
42453
+ :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_ComputeLimits.html
42454
+ :exampleMetadata: infused
42455
+
42456
+ Example::
42457
+
42458
+ tasks.EmrCreateCluster(self, "CreateCluster",
42459
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
42460
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
42461
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
42462
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
42463
+ instance_type="m5.xlarge"
42464
+ )
42465
+ ],
42466
+ target_on_demand_capacity=1
42467
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
42468
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
42469
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
42470
+ instance_type="m5.xlarge"
42471
+ )
42472
+ ],
42473
+ target_on_demand_capacity=1
42474
+ )
42475
+ ]
42476
+ ),
42477
+ name="ClusterName",
42478
+ release_label="emr-7.9.0",
42479
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
42480
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
42481
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
42482
+ maximum_capacity_units=4,
42483
+ minimum_capacity_units=1,
42484
+ maximum_on_demand_capacity_units=4,
42485
+ maximum_core_capacity_units=2
42486
+ )
42487
+ )
42488
+ )
42489
+ '''
42490
+
42491
+ INSTANCE_FLEET_UNITS = "INSTANCE_FLEET_UNITS"
42492
+ '''InstanceFleetUnits.'''
42493
+ INSTANCES = "INSTANCES"
42494
+ '''Instances.'''
42495
+ VCPU = "VCPU"
42496
+ '''VCPU.'''
42497
+
41283
42498
  @jsii.data_type(
41284
42499
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.ConfigurationProperty",
41285
42500
  jsii_struct_bases=[],
@@ -42466,34 +43681,36 @@ class EmrCreateCluster(
42466
43681
 
42467
43682
  Example::
42468
43683
 
42469
- cluster_role = iam.Role(self, "ClusterRole",
42470
- assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
42471
- )
42472
-
42473
- service_role = iam.Role(self, "ServiceRole",
42474
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
42475
- )
42476
-
42477
- auto_scaling_role = iam.Role(self, "AutoScalingRole",
42478
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
42479
- )
42480
-
42481
- auto_scaling_role.assume_role_policy.add_statements(
42482
- iam.PolicyStatement(
42483
- effect=iam.Effect.ALLOW,
42484
- principals=[
42485
- iam.ServicePrincipal("application-autoscaling.amazonaws.com")
42486
- ],
42487
- actions=["sts:AssumeRole"
43684
+ tasks.EmrCreateCluster(self, "CreateCluster",
43685
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
43686
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
43687
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
43688
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
43689
+ instance_type="m5.xlarge"
43690
+ )
43691
+ ],
43692
+ target_on_demand_capacity=1
43693
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
43694
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
43695
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
43696
+ instance_type="m5.xlarge"
43697
+ )
43698
+ ],
43699
+ target_on_demand_capacity=1
43700
+ )
42488
43701
  ]
42489
- ))
42490
-
42491
- tasks.EmrCreateCluster(self, "Create Cluster",
42492
- instances=tasks.EmrCreateCluster.InstancesConfigProperty(),
42493
- cluster_role=cluster_role,
42494
- name=sfn.TaskInput.from_json_path_at("$.ClusterName").value,
42495
- service_role=service_role,
42496
- auto_scaling_role=auto_scaling_role
43702
+ ),
43703
+ name="ClusterName",
43704
+ release_label="emr-7.9.0",
43705
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
43706
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
43707
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
43708
+ maximum_capacity_units=4,
43709
+ minimum_capacity_units=1,
43710
+ maximum_on_demand_capacity_units=4,
43711
+ maximum_core_capacity_units=2
43712
+ )
43713
+ )
42497
43714
  )
42498
43715
  '''
42499
43716
  if isinstance(placement, dict):
@@ -42855,6 +44072,222 @@ class EmrCreateCluster(
42855
44072
  k + "=" + repr(v) for k, v in self._values.items()
42856
44073
  )
42857
44074
 
44075
+ @jsii.data_type(
44076
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty",
44077
+ jsii_struct_bases=[],
44078
+ name_mapping={
44079
+ "maximum_capacity_units": "maximumCapacityUnits",
44080
+ "minimum_capacity_units": "minimumCapacityUnits",
44081
+ "unit_type": "unitType",
44082
+ "maximum_core_capacity_units": "maximumCoreCapacityUnits",
44083
+ "maximum_on_demand_capacity_units": "maximumOnDemandCapacityUnits",
44084
+ },
44085
+ )
44086
+ class ManagedScalingComputeLimitsProperty:
44087
+ def __init__(
44088
+ self,
44089
+ *,
44090
+ maximum_capacity_units: jsii.Number,
44091
+ minimum_capacity_units: jsii.Number,
44092
+ unit_type: "EmrCreateCluster.ComputeLimitsUnitType",
44093
+ maximum_core_capacity_units: typing.Optional[jsii.Number] = None,
44094
+ maximum_on_demand_capacity_units: typing.Optional[jsii.Number] = None,
44095
+ ) -> None:
44096
+ '''The EC2 unit limits for a managed scaling policy.
44097
+
44098
+ :param maximum_capacity_units: The upper boundary of Amazon EC2 units.
44099
+ :param minimum_capacity_units: The lower boundary of Amazon EC2 units.
44100
+ :param unit_type: The unit type used for specifying a managed scaling policy.
44101
+ :param maximum_core_capacity_units: The upper boundary of Amazon EC2 units for core node type in a cluster. Default: - None
44102
+ :param maximum_on_demand_capacity_units: The upper boundary of On-Demand Amazon EC2 units. Default: - None
44103
+
44104
+ :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_ComputeLimits.html
44105
+ :exampleMetadata: infused
44106
+
44107
+ Example::
44108
+
44109
+ tasks.EmrCreateCluster(self, "CreateCluster",
44110
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
44111
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
44112
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
44113
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
44114
+ instance_type="m5.xlarge"
44115
+ )
44116
+ ],
44117
+ target_on_demand_capacity=1
44118
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
44119
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
44120
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
44121
+ instance_type="m5.xlarge"
44122
+ )
44123
+ ],
44124
+ target_on_demand_capacity=1
44125
+ )
44126
+ ]
44127
+ ),
44128
+ name="ClusterName",
44129
+ release_label="emr-7.9.0",
44130
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
44131
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
44132
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
44133
+ maximum_capacity_units=4,
44134
+ minimum_capacity_units=1,
44135
+ maximum_on_demand_capacity_units=4,
44136
+ maximum_core_capacity_units=2
44137
+ )
44138
+ )
44139
+ )
44140
+ '''
44141
+ if __debug__:
44142
+ type_hints = typing.get_type_hints(_typecheckingstub__456056f16dcf97fd1f56ad4f544f9e6a7740b916af0bb528c7039258390c676c)
44143
+ check_type(argname="argument maximum_capacity_units", value=maximum_capacity_units, expected_type=type_hints["maximum_capacity_units"])
44144
+ check_type(argname="argument minimum_capacity_units", value=minimum_capacity_units, expected_type=type_hints["minimum_capacity_units"])
44145
+ check_type(argname="argument unit_type", value=unit_type, expected_type=type_hints["unit_type"])
44146
+ check_type(argname="argument maximum_core_capacity_units", value=maximum_core_capacity_units, expected_type=type_hints["maximum_core_capacity_units"])
44147
+ check_type(argname="argument maximum_on_demand_capacity_units", value=maximum_on_demand_capacity_units, expected_type=type_hints["maximum_on_demand_capacity_units"])
44148
+ self._values: typing.Dict[builtins.str, typing.Any] = {
44149
+ "maximum_capacity_units": maximum_capacity_units,
44150
+ "minimum_capacity_units": minimum_capacity_units,
44151
+ "unit_type": unit_type,
44152
+ }
44153
+ if maximum_core_capacity_units is not None:
44154
+ self._values["maximum_core_capacity_units"] = maximum_core_capacity_units
44155
+ if maximum_on_demand_capacity_units is not None:
44156
+ self._values["maximum_on_demand_capacity_units"] = maximum_on_demand_capacity_units
44157
+
44158
+ @builtins.property
44159
+ def maximum_capacity_units(self) -> jsii.Number:
44160
+ '''The upper boundary of Amazon EC2 units.'''
44161
+ result = self._values.get("maximum_capacity_units")
44162
+ assert result is not None, "Required property 'maximum_capacity_units' is missing"
44163
+ return typing.cast(jsii.Number, result)
44164
+
44165
+ @builtins.property
44166
+ def minimum_capacity_units(self) -> jsii.Number:
44167
+ '''The lower boundary of Amazon EC2 units.'''
44168
+ result = self._values.get("minimum_capacity_units")
44169
+ assert result is not None, "Required property 'minimum_capacity_units' is missing"
44170
+ return typing.cast(jsii.Number, result)
44171
+
44172
+ @builtins.property
44173
+ def unit_type(self) -> "EmrCreateCluster.ComputeLimitsUnitType":
44174
+ '''The unit type used for specifying a managed scaling policy.'''
44175
+ result = self._values.get("unit_type")
44176
+ assert result is not None, "Required property 'unit_type' is missing"
44177
+ return typing.cast("EmrCreateCluster.ComputeLimitsUnitType", result)
44178
+
44179
+ @builtins.property
44180
+ def maximum_core_capacity_units(self) -> typing.Optional[jsii.Number]:
44181
+ '''The upper boundary of Amazon EC2 units for core node type in a cluster.
44182
+
44183
+ :default: - None
44184
+ '''
44185
+ result = self._values.get("maximum_core_capacity_units")
44186
+ return typing.cast(typing.Optional[jsii.Number], result)
44187
+
44188
+ @builtins.property
44189
+ def maximum_on_demand_capacity_units(self) -> typing.Optional[jsii.Number]:
44190
+ '''The upper boundary of On-Demand Amazon EC2 units.
44191
+
44192
+ :default: - None
44193
+ '''
44194
+ result = self._values.get("maximum_on_demand_capacity_units")
44195
+ return typing.cast(typing.Optional[jsii.Number], result)
44196
+
44197
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
44198
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
44199
+
44200
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
44201
+ return not (rhs == self)
44202
+
44203
+ def __repr__(self) -> str:
44204
+ return "ManagedScalingComputeLimitsProperty(%s)" % ", ".join(
44205
+ k + "=" + repr(v) for k, v in self._values.items()
44206
+ )
44207
+
44208
+ @jsii.data_type(
44209
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.ManagedScalingPolicyProperty",
44210
+ jsii_struct_bases=[],
44211
+ name_mapping={"compute_limits": "computeLimits"},
44212
+ )
44213
+ class ManagedScalingPolicyProperty:
44214
+ def __init__(
44215
+ self,
44216
+ *,
44217
+ compute_limits: typing.Optional[typing.Union["EmrCreateCluster.ManagedScalingComputeLimitsProperty", typing.Dict[builtins.str, typing.Any]]] = None,
44218
+ ) -> None:
44219
+ '''The managed scaling policy for an Amazon EMR cluster.
44220
+
44221
+ :param compute_limits: The Amazon EC2 unit limits for a managed scaling policy. Default: - None
44222
+
44223
+ :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_ManagedScalingPolicy.html
44224
+ :exampleMetadata: infused
44225
+
44226
+ Example::
44227
+
44228
+ tasks.EmrCreateCluster(self, "CreateCluster",
44229
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
44230
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
44231
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
44232
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
44233
+ instance_type="m5.xlarge"
44234
+ )
44235
+ ],
44236
+ target_on_demand_capacity=1
44237
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
44238
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
44239
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
44240
+ instance_type="m5.xlarge"
44241
+ )
44242
+ ],
44243
+ target_on_demand_capacity=1
44244
+ )
44245
+ ]
44246
+ ),
44247
+ name="ClusterName",
44248
+ release_label="emr-7.9.0",
44249
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
44250
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
44251
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
44252
+ maximum_capacity_units=4,
44253
+ minimum_capacity_units=1,
44254
+ maximum_on_demand_capacity_units=4,
44255
+ maximum_core_capacity_units=2
44256
+ )
44257
+ )
44258
+ )
44259
+ '''
44260
+ if isinstance(compute_limits, dict):
44261
+ compute_limits = EmrCreateCluster.ManagedScalingComputeLimitsProperty(**compute_limits)
44262
+ if __debug__:
44263
+ type_hints = typing.get_type_hints(_typecheckingstub__179ad22f7f4bb419f4267ee887aae9d8eb939feb472f44c905e5f5d18bca8899)
44264
+ check_type(argname="argument compute_limits", value=compute_limits, expected_type=type_hints["compute_limits"])
44265
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
44266
+ if compute_limits is not None:
44267
+ self._values["compute_limits"] = compute_limits
44268
+
44269
+ @builtins.property
44270
+ def compute_limits(
44271
+ self,
44272
+ ) -> typing.Optional["EmrCreateCluster.ManagedScalingComputeLimitsProperty"]:
44273
+ '''The Amazon EC2 unit limits for a managed scaling policy.
44274
+
44275
+ :default: - None
44276
+ '''
44277
+ result = self._values.get("compute_limits")
44278
+ return typing.cast(typing.Optional["EmrCreateCluster.ManagedScalingComputeLimitsProperty"], result)
44279
+
44280
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
44281
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
44282
+
44283
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
44284
+ return not (rhs == self)
44285
+
44286
+ def __repr__(self) -> str:
44287
+ return "ManagedScalingPolicyProperty(%s)" % ", ".join(
44288
+ k + "=" + repr(v) for k, v in self._values.items()
44289
+ )
44290
+
42858
44291
  @jsii.data_type(
42859
44292
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.MetricDimensionProperty",
42860
44293
  jsii_struct_bases=[],
@@ -44077,9 +45510,12 @@ class EmrCreateCluster(
44077
45510
  "cluster_role": "clusterRole",
44078
45511
  "configurations": "configurations",
44079
45512
  "custom_ami_id": "customAmiId",
45513
+ "ebs_root_volume_iops": "ebsRootVolumeIops",
44080
45514
  "ebs_root_volume_size": "ebsRootVolumeSize",
45515
+ "ebs_root_volume_throughput": "ebsRootVolumeThroughput",
44081
45516
  "kerberos_attributes": "kerberosAttributes",
44082
45517
  "log_uri": "logUri",
45518
+ "managed_scaling_policy": "managedScalingPolicy",
44083
45519
  "release_label": "releaseLabel",
44084
45520
  "scale_down_behavior": "scaleDownBehavior",
44085
45521
  "security_configuration": "securityConfiguration",
@@ -44117,9 +45553,12 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44117
45553
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
44118
45554
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
44119
45555
  custom_ami_id: typing.Optional[builtins.str] = None,
45556
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
44120
45557
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
45558
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
44121
45559
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
44122
45560
  log_uri: typing.Optional[builtins.str] = None,
45561
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
44123
45562
  release_label: typing.Optional[builtins.str] = None,
44124
45563
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
44125
45564
  security_configuration: typing.Optional[builtins.str] = None,
@@ -44154,9 +45593,12 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44154
45593
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
44155
45594
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
44156
45595
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
45596
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
44157
45597
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
45598
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
44158
45599
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
44159
45600
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
45601
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
44160
45602
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
44161
45603
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
44162
45604
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -44371,7 +45813,9 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44371
45813
  role=task_role
44372
45814
  ),
44373
45815
  custom_ami_id="customAmiId",
45816
+ ebs_root_volume_iops=123,
44374
45817
  ebs_root_volume_size=size,
45818
+ ebs_root_volume_throughput=123,
44375
45819
  heartbeat=cdk.Duration.minutes(30),
44376
45820
  heartbeat_timeout=timeout,
44377
45821
  input_path="inputPath",
@@ -44386,6 +45830,17 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44386
45830
  kdc_admin_password="kdcAdminPassword"
44387
45831
  ),
44388
45832
  log_uri="logUri",
45833
+ managed_scaling_policy=stepfunctions_tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
45834
+ compute_limits=stepfunctions_tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
45835
+ maximum_capacity_units=123,
45836
+ minimum_capacity_units=123,
45837
+ unit_type=stepfunctions_tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
45838
+
45839
+ # the properties below are optional
45840
+ maximum_core_capacity_units=123,
45841
+ maximum_on_demand_capacity_units=123
45842
+ )
45843
+ ),
44389
45844
  output_path="outputPath",
44390
45845
  query_language=stepfunctions.QueryLanguage.JSON_PATH,
44391
45846
  release_label="releaseLabel",
@@ -44412,6 +45867,8 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44412
45867
  instances = EmrCreateCluster.InstancesConfigProperty(**instances)
44413
45868
  if isinstance(kerberos_attributes, dict):
44414
45869
  kerberos_attributes = EmrCreateCluster.KerberosAttributesProperty(**kerberos_attributes)
45870
+ if isinstance(managed_scaling_policy, dict):
45871
+ managed_scaling_policy = EmrCreateCluster.ManagedScalingPolicyProperty(**managed_scaling_policy)
44415
45872
  if __debug__:
44416
45873
  type_hints = typing.get_type_hints(_typecheckingstub__8eee079f7d9817361a59216197eaa0f6c6e38fddbd968457fbb263e4251c422a)
44417
45874
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
@@ -44438,9 +45895,12 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44438
45895
  check_type(argname="argument cluster_role", value=cluster_role, expected_type=type_hints["cluster_role"])
44439
45896
  check_type(argname="argument configurations", value=configurations, expected_type=type_hints["configurations"])
44440
45897
  check_type(argname="argument custom_ami_id", value=custom_ami_id, expected_type=type_hints["custom_ami_id"])
45898
+ check_type(argname="argument ebs_root_volume_iops", value=ebs_root_volume_iops, expected_type=type_hints["ebs_root_volume_iops"])
44441
45899
  check_type(argname="argument ebs_root_volume_size", value=ebs_root_volume_size, expected_type=type_hints["ebs_root_volume_size"])
45900
+ check_type(argname="argument ebs_root_volume_throughput", value=ebs_root_volume_throughput, expected_type=type_hints["ebs_root_volume_throughput"])
44442
45901
  check_type(argname="argument kerberos_attributes", value=kerberos_attributes, expected_type=type_hints["kerberos_attributes"])
44443
45902
  check_type(argname="argument log_uri", value=log_uri, expected_type=type_hints["log_uri"])
45903
+ check_type(argname="argument managed_scaling_policy", value=managed_scaling_policy, expected_type=type_hints["managed_scaling_policy"])
44444
45904
  check_type(argname="argument release_label", value=release_label, expected_type=type_hints["release_label"])
44445
45905
  check_type(argname="argument scale_down_behavior", value=scale_down_behavior, expected_type=type_hints["scale_down_behavior"])
44446
45906
  check_type(argname="argument security_configuration", value=security_configuration, expected_type=type_hints["security_configuration"])
@@ -44496,12 +45956,18 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44496
45956
  self._values["configurations"] = configurations
44497
45957
  if custom_ami_id is not None:
44498
45958
  self._values["custom_ami_id"] = custom_ami_id
45959
+ if ebs_root_volume_iops is not None:
45960
+ self._values["ebs_root_volume_iops"] = ebs_root_volume_iops
44499
45961
  if ebs_root_volume_size is not None:
44500
45962
  self._values["ebs_root_volume_size"] = ebs_root_volume_size
45963
+ if ebs_root_volume_throughput is not None:
45964
+ self._values["ebs_root_volume_throughput"] = ebs_root_volume_throughput
44501
45965
  if kerberos_attributes is not None:
44502
45966
  self._values["kerberos_attributes"] = kerberos_attributes
44503
45967
  if log_uri is not None:
44504
45968
  self._values["log_uri"] = log_uri
45969
+ if managed_scaling_policy is not None:
45970
+ self._values["managed_scaling_policy"] = managed_scaling_policy
44505
45971
  if release_label is not None:
44506
45972
  self._values["release_label"] = release_label
44507
45973
  if scale_down_behavior is not None:
@@ -44797,6 +46263,20 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44797
46263
  result = self._values.get("custom_ami_id")
44798
46264
  return typing.cast(typing.Optional[builtins.str], result)
44799
46265
 
46266
+ @builtins.property
46267
+ def ebs_root_volume_iops(self) -> typing.Optional[jsii.Number]:
46268
+ '''The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
46269
+
46270
+ Requires EMR release label 6.15.0 or above.
46271
+ Must be in range [3000, 16000].
46272
+
46273
+ :default: - EMR selected default
46274
+
46275
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
46276
+ '''
46277
+ result = self._values.get("ebs_root_volume_iops")
46278
+ return typing.cast(typing.Optional[jsii.Number], result)
46279
+
44800
46280
  @builtins.property
44801
46281
  def ebs_root_volume_size(self) -> typing.Optional[_Size_7b441c34]:
44802
46282
  '''The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
@@ -44806,6 +46286,20 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44806
46286
  result = self._values.get("ebs_root_volume_size")
44807
46287
  return typing.cast(typing.Optional[_Size_7b441c34], result)
44808
46288
 
46289
+ @builtins.property
46290
+ def ebs_root_volume_throughput(self) -> typing.Optional[jsii.Number]:
46291
+ '''The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
46292
+
46293
+ Requires EMR release label 6.15.0 or above.
46294
+ Must be in range [125, 1000].
46295
+
46296
+ :default: - EMR selected default
46297
+
46298
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
46299
+ '''
46300
+ result = self._values.get("ebs_root_volume_throughput")
46301
+ return typing.cast(typing.Optional[jsii.Number], result)
46302
+
44809
46303
  @builtins.property
44810
46304
  def kerberos_attributes(
44811
46305
  self,
@@ -44826,6 +46320,17 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44826
46320
  result = self._values.get("log_uri")
44827
46321
  return typing.cast(typing.Optional[builtins.str], result)
44828
46322
 
46323
+ @builtins.property
46324
+ def managed_scaling_policy(
46325
+ self,
46326
+ ) -> typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty]:
46327
+ '''The specified managed scaling policy for an Amazon EMR cluster.
46328
+
46329
+ :default: - None
46330
+ '''
46331
+ result = self._values.get("managed_scaling_policy")
46332
+ return typing.cast(typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty], result)
46333
+
44829
46334
  @builtins.property
44830
46335
  def release_label(self) -> typing.Optional[builtins.str]:
44831
46336
  '''The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.
@@ -44931,9 +46436,12 @@ class EmrCreateClusterJsonPathProps(_TaskStateJsonPathBaseProps_57dc2260):
44931
46436
  "cluster_role": "clusterRole",
44932
46437
  "configurations": "configurations",
44933
46438
  "custom_ami_id": "customAmiId",
46439
+ "ebs_root_volume_iops": "ebsRootVolumeIops",
44934
46440
  "ebs_root_volume_size": "ebsRootVolumeSize",
46441
+ "ebs_root_volume_throughput": "ebsRootVolumeThroughput",
44935
46442
  "kerberos_attributes": "kerberosAttributes",
44936
46443
  "log_uri": "logUri",
46444
+ "managed_scaling_policy": "managedScalingPolicy",
44937
46445
  "release_label": "releaseLabel",
44938
46446
  "scale_down_behavior": "scaleDownBehavior",
44939
46447
  "security_configuration": "securityConfiguration",
@@ -44968,9 +46476,12 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
44968
46476
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
44969
46477
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
44970
46478
  custom_ami_id: typing.Optional[builtins.str] = None,
46479
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
44971
46480
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
46481
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
44972
46482
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
44973
46483
  log_uri: typing.Optional[builtins.str] = None,
46484
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
44974
46485
  release_label: typing.Optional[builtins.str] = None,
44975
46486
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
44976
46487
  security_configuration: typing.Optional[builtins.str] = None,
@@ -45002,9 +46513,12 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45002
46513
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
45003
46514
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
45004
46515
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
46516
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
45005
46517
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
46518
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
45006
46519
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
45007
46520
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
46521
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
45008
46522
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
45009
46523
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
45010
46524
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -45219,7 +46733,9 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45219
46733
  role=task_role
45220
46734
  ),
45221
46735
  custom_ami_id="customAmiId",
46736
+ ebs_root_volume_iops=123,
45222
46737
  ebs_root_volume_size=size,
46738
+ ebs_root_volume_throughput=123,
45223
46739
  heartbeat=cdk.Duration.minutes(30),
45224
46740
  heartbeat_timeout=timeout,
45225
46741
  integration_pattern=stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
@@ -45233,6 +46749,17 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45233
46749
  kdc_admin_password="kdcAdminPassword"
45234
46750
  ),
45235
46751
  log_uri="logUri",
46752
+ managed_scaling_policy=stepfunctions_tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
46753
+ compute_limits=stepfunctions_tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
46754
+ maximum_capacity_units=123,
46755
+ minimum_capacity_units=123,
46756
+ unit_type=stepfunctions_tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
46757
+
46758
+ # the properties below are optional
46759
+ maximum_core_capacity_units=123,
46760
+ maximum_on_demand_capacity_units=123
46761
+ )
46762
+ ),
45236
46763
  outputs=outputs,
45237
46764
  query_language=stepfunctions.QueryLanguage.JSON_PATH,
45238
46765
  release_label="releaseLabel",
@@ -45255,6 +46782,8 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45255
46782
  instances = EmrCreateCluster.InstancesConfigProperty(**instances)
45256
46783
  if isinstance(kerberos_attributes, dict):
45257
46784
  kerberos_attributes = EmrCreateCluster.KerberosAttributesProperty(**kerberos_attributes)
46785
+ if isinstance(managed_scaling_policy, dict):
46786
+ managed_scaling_policy = EmrCreateCluster.ManagedScalingPolicyProperty(**managed_scaling_policy)
45258
46787
  if __debug__:
45259
46788
  type_hints = typing.get_type_hints(_typecheckingstub__e0198d308a9f96d3aadda143c9d8a0ef5848603e760f6a16d02390d989c574d3)
45260
46789
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
@@ -45278,9 +46807,12 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45278
46807
  check_type(argname="argument cluster_role", value=cluster_role, expected_type=type_hints["cluster_role"])
45279
46808
  check_type(argname="argument configurations", value=configurations, expected_type=type_hints["configurations"])
45280
46809
  check_type(argname="argument custom_ami_id", value=custom_ami_id, expected_type=type_hints["custom_ami_id"])
46810
+ check_type(argname="argument ebs_root_volume_iops", value=ebs_root_volume_iops, expected_type=type_hints["ebs_root_volume_iops"])
45281
46811
  check_type(argname="argument ebs_root_volume_size", value=ebs_root_volume_size, expected_type=type_hints["ebs_root_volume_size"])
46812
+ check_type(argname="argument ebs_root_volume_throughput", value=ebs_root_volume_throughput, expected_type=type_hints["ebs_root_volume_throughput"])
45282
46813
  check_type(argname="argument kerberos_attributes", value=kerberos_attributes, expected_type=type_hints["kerberos_attributes"])
45283
46814
  check_type(argname="argument log_uri", value=log_uri, expected_type=type_hints["log_uri"])
46815
+ check_type(argname="argument managed_scaling_policy", value=managed_scaling_policy, expected_type=type_hints["managed_scaling_policy"])
45284
46816
  check_type(argname="argument release_label", value=release_label, expected_type=type_hints["release_label"])
45285
46817
  check_type(argname="argument scale_down_behavior", value=scale_down_behavior, expected_type=type_hints["scale_down_behavior"])
45286
46818
  check_type(argname="argument security_configuration", value=security_configuration, expected_type=type_hints["security_configuration"])
@@ -45330,12 +46862,18 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45330
46862
  self._values["configurations"] = configurations
45331
46863
  if custom_ami_id is not None:
45332
46864
  self._values["custom_ami_id"] = custom_ami_id
46865
+ if ebs_root_volume_iops is not None:
46866
+ self._values["ebs_root_volume_iops"] = ebs_root_volume_iops
45333
46867
  if ebs_root_volume_size is not None:
45334
46868
  self._values["ebs_root_volume_size"] = ebs_root_volume_size
46869
+ if ebs_root_volume_throughput is not None:
46870
+ self._values["ebs_root_volume_throughput"] = ebs_root_volume_throughput
45335
46871
  if kerberos_attributes is not None:
45336
46872
  self._values["kerberos_attributes"] = kerberos_attributes
45337
46873
  if log_uri is not None:
45338
46874
  self._values["log_uri"] = log_uri
46875
+ if managed_scaling_policy is not None:
46876
+ self._values["managed_scaling_policy"] = managed_scaling_policy
45339
46877
  if release_label is not None:
45340
46878
  self._values["release_label"] = release_label
45341
46879
  if scale_down_behavior is not None:
@@ -45596,6 +47134,20 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45596
47134
  result = self._values.get("custom_ami_id")
45597
47135
  return typing.cast(typing.Optional[builtins.str], result)
45598
47136
 
47137
+ @builtins.property
47138
+ def ebs_root_volume_iops(self) -> typing.Optional[jsii.Number]:
47139
+ '''The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
47140
+
47141
+ Requires EMR release label 6.15.0 or above.
47142
+ Must be in range [3000, 16000].
47143
+
47144
+ :default: - EMR selected default
47145
+
47146
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
47147
+ '''
47148
+ result = self._values.get("ebs_root_volume_iops")
47149
+ return typing.cast(typing.Optional[jsii.Number], result)
47150
+
45599
47151
  @builtins.property
45600
47152
  def ebs_root_volume_size(self) -> typing.Optional[_Size_7b441c34]:
45601
47153
  '''The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
@@ -45605,6 +47157,20 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45605
47157
  result = self._values.get("ebs_root_volume_size")
45606
47158
  return typing.cast(typing.Optional[_Size_7b441c34], result)
45607
47159
 
47160
+ @builtins.property
47161
+ def ebs_root_volume_throughput(self) -> typing.Optional[jsii.Number]:
47162
+ '''The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
47163
+
47164
+ Requires EMR release label 6.15.0 or above.
47165
+ Must be in range [125, 1000].
47166
+
47167
+ :default: - EMR selected default
47168
+
47169
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
47170
+ '''
47171
+ result = self._values.get("ebs_root_volume_throughput")
47172
+ return typing.cast(typing.Optional[jsii.Number], result)
47173
+
45608
47174
  @builtins.property
45609
47175
  def kerberos_attributes(
45610
47176
  self,
@@ -45625,6 +47191,17 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45625
47191
  result = self._values.get("log_uri")
45626
47192
  return typing.cast(typing.Optional[builtins.str], result)
45627
47193
 
47194
+ @builtins.property
47195
+ def managed_scaling_policy(
47196
+ self,
47197
+ ) -> typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty]:
47198
+ '''The specified managed scaling policy for an Amazon EMR cluster.
47199
+
47200
+ :default: - None
47201
+ '''
47202
+ result = self._values.get("managed_scaling_policy")
47203
+ return typing.cast(typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty], result)
47204
+
45628
47205
  @builtins.property
45629
47206
  def release_label(self) -> typing.Optional[builtins.str]:
45630
47207
  '''The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.
@@ -45734,9 +47311,12 @@ class EmrCreateClusterJsonataProps(_TaskStateJsonataBaseProps_0e91775c):
45734
47311
  "cluster_role": "clusterRole",
45735
47312
  "configurations": "configurations",
45736
47313
  "custom_ami_id": "customAmiId",
47314
+ "ebs_root_volume_iops": "ebsRootVolumeIops",
45737
47315
  "ebs_root_volume_size": "ebsRootVolumeSize",
47316
+ "ebs_root_volume_throughput": "ebsRootVolumeThroughput",
45738
47317
  "kerberos_attributes": "kerberosAttributes",
45739
47318
  "log_uri": "logUri",
47319
+ "managed_scaling_policy": "managedScalingPolicy",
45740
47320
  "release_label": "releaseLabel",
45741
47321
  "scale_down_behavior": "scaleDownBehavior",
45742
47322
  "security_configuration": "securityConfiguration",
@@ -45775,9 +47355,12 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45775
47355
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
45776
47356
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
45777
47357
  custom_ami_id: typing.Optional[builtins.str] = None,
47358
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
45778
47359
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
47360
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
45779
47361
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
45780
47362
  log_uri: typing.Optional[builtins.str] = None,
47363
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
45781
47364
  release_label: typing.Optional[builtins.str] = None,
45782
47365
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
45783
47366
  security_configuration: typing.Optional[builtins.str] = None,
@@ -45813,9 +47396,12 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45813
47396
  :param cluster_role: Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters. Default: - - A Role will be created
45814
47397
  :param configurations: The list of configurations supplied for the EMR cluster you are creating. Default: - None
45815
47398
  :param custom_ami_id: The ID of a custom Amazon EBS-backed Linux AMI. Default: - None
47399
+ :param ebs_root_volume_iops: The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [3000, 16000]. Default: - EMR selected default
45816
47400
  :param ebs_root_volume_size: The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Default: - EMR selected default
47401
+ :param ebs_root_volume_throughput: The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Requires EMR release label 6.15.0 or above. Must be in range [125, 1000]. Default: - EMR selected default
45817
47402
  :param kerberos_attributes: Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. Default: - None
45818
47403
  :param log_uri: The location in Amazon S3 to write the log files of the job flow. Default: - None
47404
+ :param managed_scaling_policy: The specified managed scaling policy for an Amazon EMR cluster. Default: - None
45819
47405
  :param release_label: The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Default: - EMR selected default
45820
47406
  :param scale_down_behavior: Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. Default: - EMR selected default
45821
47407
  :param security_configuration: The name of a security configuration to apply to the cluster. Default: - None
@@ -45828,34 +47414,36 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45828
47414
 
45829
47415
  Example::
45830
47416
 
45831
- cluster_role = iam.Role(self, "ClusterRole",
45832
- assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
45833
- )
45834
-
45835
- service_role = iam.Role(self, "ServiceRole",
45836
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
45837
- )
45838
-
45839
- auto_scaling_role = iam.Role(self, "AutoScalingRole",
45840
- assumed_by=iam.ServicePrincipal("elasticmapreduce.amazonaws.com")
45841
- )
45842
-
45843
- auto_scaling_role.assume_role_policy.add_statements(
45844
- iam.PolicyStatement(
45845
- effect=iam.Effect.ALLOW,
45846
- principals=[
45847
- iam.ServicePrincipal("application-autoscaling.amazonaws.com")
45848
- ],
45849
- actions=["sts:AssumeRole"
47417
+ tasks.EmrCreateCluster(self, "CreateCluster",
47418
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
47419
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
47420
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.CORE,
47421
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
47422
+ instance_type="m5.xlarge"
47423
+ )
47424
+ ],
47425
+ target_on_demand_capacity=1
47426
+ ), tasks.EmrCreateCluster.InstanceFleetConfigProperty(
47427
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
47428
+ instance_type_configs=[tasks.EmrCreateCluster.InstanceTypeConfigProperty(
47429
+ instance_type="m5.xlarge"
47430
+ )
47431
+ ],
47432
+ target_on_demand_capacity=1
47433
+ )
45850
47434
  ]
45851
- ))
45852
-
45853
- tasks.EmrCreateCluster(self, "Create Cluster",
45854
- instances=tasks.EmrCreateCluster.InstancesConfigProperty(),
45855
- cluster_role=cluster_role,
45856
- name=sfn.TaskInput.from_json_path_at("$.ClusterName").value,
45857
- service_role=service_role,
45858
- auto_scaling_role=auto_scaling_role
47435
+ ),
47436
+ name="ClusterName",
47437
+ release_label="emr-7.9.0",
47438
+ managed_scaling_policy=tasks.EmrCreateCluster.ManagedScalingPolicyProperty(
47439
+ compute_limits=tasks.EmrCreateCluster.ManagedScalingComputeLimitsProperty(
47440
+ unit_type=tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
47441
+ maximum_capacity_units=4,
47442
+ minimum_capacity_units=1,
47443
+ maximum_on_demand_capacity_units=4,
47444
+ maximum_core_capacity_units=2
47445
+ )
47446
+ )
45859
47447
  )
45860
47448
  '''
45861
47449
  if isinstance(credentials, dict):
@@ -45864,6 +47452,8 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45864
47452
  instances = EmrCreateCluster.InstancesConfigProperty(**instances)
45865
47453
  if isinstance(kerberos_attributes, dict):
45866
47454
  kerberos_attributes = EmrCreateCluster.KerberosAttributesProperty(**kerberos_attributes)
47455
+ if isinstance(managed_scaling_policy, dict):
47456
+ managed_scaling_policy = EmrCreateCluster.ManagedScalingPolicyProperty(**managed_scaling_policy)
45867
47457
  if __debug__:
45868
47458
  type_hints = typing.get_type_hints(_typecheckingstub__47264d4efff2249070476b1432ca851665096bb89026c6d6564ff3c77327b86c)
45869
47459
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
@@ -45891,9 +47481,12 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45891
47481
  check_type(argname="argument cluster_role", value=cluster_role, expected_type=type_hints["cluster_role"])
45892
47482
  check_type(argname="argument configurations", value=configurations, expected_type=type_hints["configurations"])
45893
47483
  check_type(argname="argument custom_ami_id", value=custom_ami_id, expected_type=type_hints["custom_ami_id"])
47484
+ check_type(argname="argument ebs_root_volume_iops", value=ebs_root_volume_iops, expected_type=type_hints["ebs_root_volume_iops"])
45894
47485
  check_type(argname="argument ebs_root_volume_size", value=ebs_root_volume_size, expected_type=type_hints["ebs_root_volume_size"])
47486
+ check_type(argname="argument ebs_root_volume_throughput", value=ebs_root_volume_throughput, expected_type=type_hints["ebs_root_volume_throughput"])
45895
47487
  check_type(argname="argument kerberos_attributes", value=kerberos_attributes, expected_type=type_hints["kerberos_attributes"])
45896
47488
  check_type(argname="argument log_uri", value=log_uri, expected_type=type_hints["log_uri"])
47489
+ check_type(argname="argument managed_scaling_policy", value=managed_scaling_policy, expected_type=type_hints["managed_scaling_policy"])
45897
47490
  check_type(argname="argument release_label", value=release_label, expected_type=type_hints["release_label"])
45898
47491
  check_type(argname="argument scale_down_behavior", value=scale_down_behavior, expected_type=type_hints["scale_down_behavior"])
45899
47492
  check_type(argname="argument security_configuration", value=security_configuration, expected_type=type_hints["security_configuration"])
@@ -45951,12 +47544,18 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
45951
47544
  self._values["configurations"] = configurations
45952
47545
  if custom_ami_id is not None:
45953
47546
  self._values["custom_ami_id"] = custom_ami_id
47547
+ if ebs_root_volume_iops is not None:
47548
+ self._values["ebs_root_volume_iops"] = ebs_root_volume_iops
45954
47549
  if ebs_root_volume_size is not None:
45955
47550
  self._values["ebs_root_volume_size"] = ebs_root_volume_size
47551
+ if ebs_root_volume_throughput is not None:
47552
+ self._values["ebs_root_volume_throughput"] = ebs_root_volume_throughput
45956
47553
  if kerberos_attributes is not None:
45957
47554
  self._values["kerberos_attributes"] = kerberos_attributes
45958
47555
  if log_uri is not None:
45959
47556
  self._values["log_uri"] = log_uri
47557
+ if managed_scaling_policy is not None:
47558
+ self._values["managed_scaling_policy"] = managed_scaling_policy
45960
47559
  if release_label is not None:
45961
47560
  self._values["release_label"] = release_label
45962
47561
  if scale_down_behavior is not None:
@@ -46269,6 +47868,20 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
46269
47868
  result = self._values.get("custom_ami_id")
46270
47869
  return typing.cast(typing.Optional[builtins.str], result)
46271
47870
 
47871
+ @builtins.property
47872
+ def ebs_root_volume_iops(self) -> typing.Optional[jsii.Number]:
47873
+ '''The IOPS of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
47874
+
47875
+ Requires EMR release label 6.15.0 or above.
47876
+ Must be in range [3000, 16000].
47877
+
47878
+ :default: - EMR selected default
47879
+
47880
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
47881
+ '''
47882
+ result = self._values.get("ebs_root_volume_iops")
47883
+ return typing.cast(typing.Optional[jsii.Number], result)
47884
+
46272
47885
  @builtins.property
46273
47886
  def ebs_root_volume_size(self) -> typing.Optional[_Size_7b441c34]:
46274
47887
  '''The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
@@ -46278,6 +47891,20 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
46278
47891
  result = self._values.get("ebs_root_volume_size")
46279
47892
  return typing.cast(typing.Optional[_Size_7b441c34], result)
46280
47893
 
47894
+ @builtins.property
47895
+ def ebs_root_volume_throughput(self) -> typing.Optional[jsii.Number]:
47896
+ '''The throughput, in MiB/s, of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
47897
+
47898
+ Requires EMR release label 6.15.0 or above.
47899
+ Must be in range [125, 1000].
47900
+
47901
+ :default: - EMR selected default
47902
+
47903
+ :see: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html#emr-root-volume-overview
47904
+ '''
47905
+ result = self._values.get("ebs_root_volume_throughput")
47906
+ return typing.cast(typing.Optional[jsii.Number], result)
47907
+
46281
47908
  @builtins.property
46282
47909
  def kerberos_attributes(
46283
47910
  self,
@@ -46298,6 +47925,17 @@ class EmrCreateClusterProps(_TaskStateBaseProps_3a62b6d0):
46298
47925
  result = self._values.get("log_uri")
46299
47926
  return typing.cast(typing.Optional[builtins.str], result)
46300
47927
 
47928
+ @builtins.property
47929
+ def managed_scaling_policy(
47930
+ self,
47931
+ ) -> typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty]:
47932
+ '''The specified managed scaling policy for an Amazon EMR cluster.
47933
+
47934
+ :default: - None
47935
+ '''
47936
+ result = self._values.get("managed_scaling_policy")
47937
+ return typing.cast(typing.Optional[EmrCreateCluster.ManagedScalingPolicyProperty], result)
47938
+
46301
47939
  @builtins.property
46302
47940
  def release_label(self) -> typing.Optional[builtins.str]:
46303
47941
  '''The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.
@@ -52006,6 +53644,7 @@ class EvaluateExpression(
52006
53644
  id: builtins.str,
52007
53645
  *,
52008
53646
  expression: builtins.str,
53647
+ architecture: typing.Optional[_Architecture_12d5a53f] = None,
52009
53648
  runtime: typing.Optional[_Runtime_b4eaa844] = None,
52010
53649
  result_path: typing.Optional[builtins.str] = None,
52011
53650
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -52027,6 +53666,7 @@ class EvaluateExpression(
52027
53666
  :param scope: -
52028
53667
  :param id: Descriptive identifier for this chainable.
52029
53668
  :param expression: The expression to evaluate. The expression may contain state paths. Example value: ``'$.a + $.b'``
53669
+ :param architecture: The system architecture compatible with this lambda function. ARM64 architecture support varies by AWS region. Please verify that your deployment region supports Lambda functions with ARM64 architecture before specifying Architecture.ARM_64. Default: Architecture.X86_64
52030
53670
  :param runtime: The runtime language to use to evaluate the expression. Default: - the latest Lambda node runtime available in your region.
52031
53671
  :param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: $
52032
53672
  :param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
@@ -52050,6 +53690,7 @@ class EvaluateExpression(
52050
53690
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
52051
53691
  props = EvaluateExpressionProps(
52052
53692
  expression=expression,
53693
+ architecture=architecture,
52053
53694
  runtime=runtime,
52054
53695
  result_path=result_path,
52055
53696
  result_selector=result_selector,
@@ -52101,6 +53742,7 @@ class EvaluateExpression(
52101
53742
  "result_path": "resultPath",
52102
53743
  "result_selector": "resultSelector",
52103
53744
  "expression": "expression",
53745
+ "architecture": "architecture",
52104
53746
  "runtime": "runtime",
52105
53747
  },
52106
53748
  )
@@ -52124,6 +53766,7 @@ class EvaluateExpressionProps(_TaskStateBaseProps_3a62b6d0):
52124
53766
  result_path: typing.Optional[builtins.str] = None,
52125
53767
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
52126
53768
  expression: builtins.str,
53769
+ architecture: typing.Optional[_Architecture_12d5a53f] = None,
52127
53770
  runtime: typing.Optional[_Runtime_b4eaa844] = None,
52128
53771
  ) -> None:
52129
53772
  '''Properties for EvaluateExpression.
@@ -52144,6 +53787,7 @@ class EvaluateExpressionProps(_TaskStateBaseProps_3a62b6d0):
52144
53787
  :param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: $
52145
53788
  :param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
52146
53789
  :param expression: The expression to evaluate. The expression may contain state paths. Example value: ``'$.a + $.b'``
53790
+ :param architecture: The system architecture compatible with this lambda function. ARM64 architecture support varies by AWS region. Please verify that your deployment region supports Lambda functions with ARM64 architecture before specifying Architecture.ARM_64. Default: Architecture.X86_64
52147
53791
  :param runtime: The runtime language to use to evaluate the expression. Default: - the latest Lambda node runtime available in your region.
52148
53792
 
52149
53793
  :exampleMetadata: infused
@@ -52196,6 +53840,7 @@ class EvaluateExpressionProps(_TaskStateBaseProps_3a62b6d0):
52196
53840
  check_type(argname="argument result_path", value=result_path, expected_type=type_hints["result_path"])
52197
53841
  check_type(argname="argument result_selector", value=result_selector, expected_type=type_hints["result_selector"])
52198
53842
  check_type(argname="argument expression", value=expression, expected_type=type_hints["expression"])
53843
+ check_type(argname="argument architecture", value=architecture, expected_type=type_hints["architecture"])
52199
53844
  check_type(argname="argument runtime", value=runtime, expected_type=type_hints["runtime"])
52200
53845
  self._values: typing.Dict[builtins.str, typing.Any] = {
52201
53846
  "expression": expression,
@@ -52230,6 +53875,8 @@ class EvaluateExpressionProps(_TaskStateBaseProps_3a62b6d0):
52230
53875
  self._values["result_path"] = result_path
52231
53876
  if result_selector is not None:
52232
53877
  self._values["result_selector"] = result_selector
53878
+ if architecture is not None:
53879
+ self._values["architecture"] = architecture
52233
53880
  if runtime is not None:
52234
53881
  self._values["runtime"] = runtime
52235
53882
 
@@ -52437,6 +54084,17 @@ class EvaluateExpressionProps(_TaskStateBaseProps_3a62b6d0):
52437
54084
  assert result is not None, "Required property 'expression' is missing"
52438
54085
  return typing.cast(builtins.str, result)
52439
54086
 
54087
+ @builtins.property
54088
+ def architecture(self) -> typing.Optional[_Architecture_12d5a53f]:
54089
+ '''The system architecture compatible with this lambda function.
54090
+
54091
+ ARM64 architecture support varies by AWS region. Please verify that your deployment region supports Lambda functions with ARM64 architecture before specifying Architecture.ARM_64.
54092
+
54093
+ :default: Architecture.X86_64
54094
+ '''
54095
+ result = self._values.get("architecture")
54096
+ return typing.cast(typing.Optional[_Architecture_12d5a53f], result)
54097
+
52440
54098
  @builtins.property
52441
54099
  def runtime(self) -> typing.Optional[_Runtime_b4eaa844]:
52442
54100
  '''The runtime language to use to evaluate the expression.
@@ -61480,7 +63138,7 @@ class HttpInvokeProps(_TaskStateBaseProps_3a62b6d0):
61480
63138
 
61481
63139
  tasks.HttpInvoke(self, "Invoke HTTP API",
61482
63140
  api_root="https://api.example.com",
61483
- api_endpoint=sfn.TaskInput.from_text("path/to/resource"),
63141
+ api_endpoint=sfn.TaskInput.from_text(sfn.JsonPath.format("resource/{}/details", sfn.JsonPath.string_at("$.resourceId"))),
61484
63142
  body=sfn.TaskInput.from_object({"foo": "bar"}),
61485
63143
  connection=connection,
61486
63144
  headers=sfn.TaskInput.from_object({"Content-Type": "application/json"}),
@@ -61902,13 +63560,13 @@ class HttpMethods(enum.Enum):
61902
63560
  Example::
61903
63561
 
61904
63562
  import aws_cdk.aws_eks as eks
61905
- from aws_cdk.lambda_layer_kubectl_v32 import KubectlV32Layer
63563
+ from aws_cdk.lambda_layer_kubectl_v34 import KubectlV34Layer
61906
63564
 
61907
63565
 
61908
63566
  my_eks_cluster = eks.Cluster(self, "my sample cluster",
61909
- version=eks.KubernetesVersion.V1_32,
63567
+ version=eks.KubernetesVersion.V1_34,
61910
63568
  cluster_name="myEksCluster",
61911
- kubectl_layer=KubectlV32Layer(self, "kubectl")
63569
+ kubectl_layer=KubectlV34Layer(self, "kubectl")
61912
63570
  )
61913
63571
 
61914
63572
  tasks.EksCall(self, "Call a EKS Endpoint",
@@ -61932,6 +63590,62 @@ class HttpMethods(enum.Enum):
61932
63590
  '''Retrieve data from a server at the specified resource without the response body.'''
61933
63591
 
61934
63592
 
63593
+ @jsii.interface(
63594
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.IBedrockCreateModelCustomizationJobVpcConfig"
63595
+ )
63596
+ class IBedrockCreateModelCustomizationJobVpcConfig(typing_extensions.Protocol):
63597
+ '''VPC configuration.'''
63598
+
63599
+ @builtins.property
63600
+ @jsii.member(jsii_name="securityGroups")
63601
+ def security_groups(self) -> typing.List[_ISecurityGroup_acf8a799]:
63602
+ '''VPC configuration security groups.
63603
+
63604
+ The minimum number of security groups is 1.
63605
+ The maximum number of security groups is 5.
63606
+ '''
63607
+ ...
63608
+
63609
+ @builtins.property
63610
+ @jsii.member(jsii_name="subnets")
63611
+ def subnets(self) -> typing.List[_ISubnet_d57d1229]:
63612
+ '''VPC configuration subnets.
63613
+
63614
+ The minimum number of subnets is 1.
63615
+ The maximum number of subnets is 16.
63616
+ '''
63617
+ ...
63618
+
63619
+
63620
+ class _IBedrockCreateModelCustomizationJobVpcConfigProxy:
63621
+ '''VPC configuration.'''
63622
+
63623
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_stepfunctions_tasks.IBedrockCreateModelCustomizationJobVpcConfig"
63624
+
63625
+ @builtins.property
63626
+ @jsii.member(jsii_name="securityGroups")
63627
+ def security_groups(self) -> typing.List[_ISecurityGroup_acf8a799]:
63628
+ '''VPC configuration security groups.
63629
+
63630
+ The minimum number of security groups is 1.
63631
+ The maximum number of security groups is 5.
63632
+ '''
63633
+ return typing.cast(typing.List[_ISecurityGroup_acf8a799], jsii.get(self, "securityGroups"))
63634
+
63635
+ @builtins.property
63636
+ @jsii.member(jsii_name="subnets")
63637
+ def subnets(self) -> typing.List[_ISubnet_d57d1229]:
63638
+ '''VPC configuration subnets.
63639
+
63640
+ The minimum number of subnets is 1.
63641
+ The maximum number of subnets is 16.
63642
+ '''
63643
+ return typing.cast(typing.List[_ISubnet_d57d1229], jsii.get(self, "subnets"))
63644
+
63645
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
63646
+ typing.cast(typing.Any, IBedrockCreateModelCustomizationJobVpcConfig).__jsii_proxy_class__ = lambda : _IBedrockCreateModelCustomizationJobVpcConfigProxy
63647
+
63648
+
61935
63649
  @jsii.interface(jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.IContainerDefinition")
61936
63650
  class IContainerDefinition(typing_extensions.Protocol):
61937
63651
  '''Configuration of the container used to host the model.
@@ -65695,6 +67409,109 @@ class Monitoring:
65695
67409
  )
65696
67410
 
65697
67411
 
67412
+ @jsii.data_type(
67413
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.OutputBucketConfiguration",
67414
+ jsii_struct_bases=[DataBucketConfiguration],
67415
+ name_mapping={"bucket": "bucket", "path": "path"},
67416
+ )
67417
+ class OutputBucketConfiguration(DataBucketConfiguration):
67418
+ def __init__(
67419
+ self,
67420
+ *,
67421
+ bucket: _IBucket_42e086fd,
67422
+ path: typing.Optional[builtins.str] = None,
67423
+ ) -> None:
67424
+ '''S3 bucket configuration for the output data.
67425
+
67426
+ :param bucket: The S3 bucket.
67427
+ :param path: Path to file or directory within the bucket. Default: - root of the bucket
67428
+
67429
+ :exampleMetadata: infused
67430
+
67431
+ Example::
67432
+
67433
+ import aws_cdk.aws_bedrock as bedrock
67434
+ import aws_cdk.aws_kms as kms
67435
+
67436
+ # output_bucket: s3.IBucket
67437
+ # training_bucket: s3.IBucket
67438
+ # validation_bucket: s3.IBucket
67439
+ # kms_key: kms.IKey
67440
+ # vpc: ec2.IVpc
67441
+
67442
+
67443
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
67444
+
67445
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
67446
+ base_model=model,
67447
+ client_request_token="MyToken",
67448
+ customization_type=tasks.CustomizationType.FINE_TUNING,
67449
+ custom_model_kms_key=kms_key,
67450
+ custom_model_name="MyCustomModel", # required
67451
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
67452
+ hyper_parameters={
67453
+ "batch_size": "10"
67454
+ },
67455
+ job_name="MyCustomizationJob", # required
67456
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
67457
+ output_data=tasks.OutputBucketConfiguration(
67458
+ bucket=output_bucket, # required
67459
+ path="output-data/"
67460
+ ),
67461
+ training_data=tasks.TrainingBucketConfiguration(
67462
+ bucket=training_bucket,
67463
+ path="training-data/data.json"
67464
+ ), # required
67465
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
67466
+ validation_data=[tasks.ValidationBucketConfiguration(
67467
+ bucket=validation_bucket,
67468
+ path="validation-data/data.json"
67469
+ )
67470
+ ],
67471
+ vpc_config={
67472
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
67473
+ "subnets": vpc.private_subnets
67474
+ }
67475
+ )
67476
+ '''
67477
+ if __debug__:
67478
+ type_hints = typing.get_type_hints(_typecheckingstub__05ead3f1760bde00adef48e083438b80e2b20f50fe9ae0d35189d6761a24370f)
67479
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
67480
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
67481
+ self._values: typing.Dict[builtins.str, typing.Any] = {
67482
+ "bucket": bucket,
67483
+ }
67484
+ if path is not None:
67485
+ self._values["path"] = path
67486
+
67487
+ @builtins.property
67488
+ def bucket(self) -> _IBucket_42e086fd:
67489
+ '''The S3 bucket.'''
67490
+ result = self._values.get("bucket")
67491
+ assert result is not None, "Required property 'bucket' is missing"
67492
+ return typing.cast(_IBucket_42e086fd, result)
67493
+
67494
+ @builtins.property
67495
+ def path(self) -> typing.Optional[builtins.str]:
67496
+ '''Path to file or directory within the bucket.
67497
+
67498
+ :default: - root of the bucket
67499
+ '''
67500
+ result = self._values.get("path")
67501
+ return typing.cast(typing.Optional[builtins.str], result)
67502
+
67503
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
67504
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
67505
+
67506
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
67507
+ return not (rhs == self)
67508
+
67509
+ def __repr__(self) -> str:
67510
+ return "OutputBucketConfiguration(%s)" % ", ".join(
67511
+ k + "=" + repr(v) for k, v in self._values.items()
67512
+ )
67513
+
67514
+
65698
67515
  @jsii.data_type(
65699
67516
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.OutputDataConfig",
65700
67517
  jsii_struct_bases=[],
@@ -67097,7 +68914,7 @@ class SageMakerCreateEndpointConfig(
67097
68914
  *,
67098
68915
  endpoint_config_name: builtins.str,
67099
68916
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
67100
- kms_key: typing.Optional[_IKey_5f11635f] = None,
68917
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
67101
68918
  tags: typing.Optional[_TaskInput_91b91b91] = None,
67102
68919
  result_path: typing.Optional[builtins.str] = None,
67103
68920
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -67175,7 +68992,7 @@ class SageMakerCreateEndpointConfig(
67175
68992
  *,
67176
68993
  endpoint_config_name: builtins.str,
67177
68994
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
67178
- kms_key: typing.Optional[_IKey_5f11635f] = None,
68995
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
67179
68996
  tags: typing.Optional[_TaskInput_91b91b91] = None,
67180
68997
  comment: typing.Optional[builtins.str] = None,
67181
68998
  query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
@@ -67244,7 +69061,7 @@ class SageMakerCreateEndpointConfig(
67244
69061
  *,
67245
69062
  endpoint_config_name: builtins.str,
67246
69063
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
67247
- kms_key: typing.Optional[_IKey_5f11635f] = None,
69064
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
67248
69065
  tags: typing.Optional[_TaskInput_91b91b91] = None,
67249
69066
  result_path: typing.Optional[builtins.str] = None,
67250
69067
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -67313,6 +69130,12 @@ class SageMakerCreateEndpointConfig(
67313
69130
 
67314
69131
  return typing.cast("SageMakerCreateEndpointConfig", jsii.sinvoke(cls, "jsonPath", [scope, id, props]))
67315
69132
 
69133
+ @jsii.python.classproperty
69134
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
69135
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
69136
+ '''Uniquely identifies this class.'''
69137
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
69138
+
67316
69139
  @builtins.property
67317
69140
  @jsii.member(jsii_name="taskMetrics")
67318
69141
  def _task_metrics(self) -> typing.Optional[_TaskMetricsConfig_32ea9403]:
@@ -67368,7 +69191,7 @@ class SageMakerCreateEndpointConfigJsonPathProps(_TaskStateJsonPathBaseProps_57d
67368
69191
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
67369
69192
  endpoint_config_name: builtins.str,
67370
69193
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
67371
- kms_key: typing.Optional[_IKey_5f11635f] = None,
69194
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
67372
69195
  tags: typing.Optional[_TaskInput_91b91b91] = None,
67373
69196
  ) -> None:
67374
69197
  '''Properties for creating an Amazon SageMaker endpoint configuration using JSONPath.
@@ -67401,14 +69224,14 @@ class SageMakerCreateEndpointConfigJsonPathProps(_TaskStateJsonPathBaseProps_57d
67401
69224
  # The values are placeholders you should change.
67402
69225
  import aws_cdk as cdk
67403
69226
  from aws_cdk import aws_ec2 as ec2
67404
- from aws_cdk import aws_kms as kms
67405
69227
  from aws_cdk import aws_stepfunctions as stepfunctions
67406
69228
  from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
69229
+ from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
67407
69230
 
67408
69231
  # accelerator_type: stepfunctions_tasks.AcceleratorType
67409
69232
  # assign: Any
67410
69233
  # instance_type: ec2.InstanceType
67411
- # key: kms.Key
69234
+ # key_ref: interfaces_aws_kms.IKeyRef
67412
69235
  # result_selector: Any
67413
69236
  # task_input: stepfunctions.TaskInput
67414
69237
  # task_role: stepfunctions.TaskRole
@@ -67439,7 +69262,7 @@ class SageMakerCreateEndpointConfigJsonPathProps(_TaskStateJsonPathBaseProps_57d
67439
69262
  heartbeat_timeout=timeout,
67440
69263
  input_path="inputPath",
67441
69264
  integration_pattern=stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
67442
- kms_key=key,
69265
+ kms_key=key_ref,
67443
69266
  output_path="outputPath",
67444
69267
  query_language=stepfunctions.QueryLanguage.JSON_PATH,
67445
69268
  result_path="resultPath",
@@ -67707,13 +69530,13 @@ class SageMakerCreateEndpointConfigJsonPathProps(_TaskStateJsonPathBaseProps_57d
67707
69530
  return typing.cast(typing.List[ProductionVariant], result)
67708
69531
 
67709
69532
  @builtins.property
67710
- def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
69533
+ def kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
67711
69534
  '''AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
67712
69535
 
67713
69536
  :default: - None
67714
69537
  '''
67715
69538
  result = self._values.get("kms_key")
67716
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
69539
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
67717
69540
 
67718
69541
  @builtins.property
67719
69542
  def tags(self) -> typing.Optional[_TaskInput_91b91b91]:
@@ -67774,7 +69597,7 @@ class SageMakerCreateEndpointConfigJsonataProps(_TaskStateJsonataBaseProps_0e917
67774
69597
  outputs: typing.Any = None,
67775
69598
  endpoint_config_name: builtins.str,
67776
69599
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
67777
- kms_key: typing.Optional[_IKey_5f11635f] = None,
69600
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
67778
69601
  tags: typing.Optional[_TaskInput_91b91b91] = None,
67779
69602
  ) -> None:
67780
69603
  '''Properties for creating an Amazon SageMaker endpoint configuration using JSONata.
@@ -67804,14 +69627,14 @@ class SageMakerCreateEndpointConfigJsonataProps(_TaskStateJsonataBaseProps_0e917
67804
69627
  # The values are placeholders you should change.
67805
69628
  import aws_cdk as cdk
67806
69629
  from aws_cdk import aws_ec2 as ec2
67807
- from aws_cdk import aws_kms as kms
67808
69630
  from aws_cdk import aws_stepfunctions as stepfunctions
67809
69631
  from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
69632
+ from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
67810
69633
 
67811
69634
  # accelerator_type: stepfunctions_tasks.AcceleratorType
67812
69635
  # assign: Any
67813
69636
  # instance_type: ec2.InstanceType
67814
- # key: kms.Key
69637
+ # key_ref: interfaces_aws_kms.IKeyRef
67815
69638
  # outputs: Any
67816
69639
  # task_input: stepfunctions.TaskInput
67817
69640
  # task_role: stepfunctions.TaskRole
@@ -67841,7 +69664,7 @@ class SageMakerCreateEndpointConfigJsonataProps(_TaskStateJsonataBaseProps_0e917
67841
69664
  heartbeat=cdk.Duration.minutes(30),
67842
69665
  heartbeat_timeout=timeout,
67843
69666
  integration_pattern=stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
67844
- kms_key=key,
69667
+ kms_key=key_ref,
67845
69668
  outputs=outputs,
67846
69669
  query_language=stepfunctions.QueryLanguage.JSON_PATH,
67847
69670
  state_name="stateName",
@@ -68061,13 +69884,13 @@ class SageMakerCreateEndpointConfigJsonataProps(_TaskStateJsonataBaseProps_0e917
68061
69884
  return typing.cast(typing.List[ProductionVariant], result)
68062
69885
 
68063
69886
  @builtins.property
68064
- def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
69887
+ def kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
68065
69888
  '''AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
68066
69889
 
68067
69890
  :default: - None
68068
69891
  '''
68069
69892
  result = self._values.get("kms_key")
68070
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
69893
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
68071
69894
 
68072
69895
  @builtins.property
68073
69896
  def tags(self) -> typing.Optional[_TaskInput_91b91b91]:
@@ -68136,7 +69959,7 @@ class SageMakerCreateEndpointConfigProps(_TaskStateBaseProps_3a62b6d0):
68136
69959
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
68137
69960
  endpoint_config_name: builtins.str,
68138
69961
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
68139
- kms_key: typing.Optional[_IKey_5f11635f] = None,
69962
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
68140
69963
  tags: typing.Optional[_TaskInput_91b91b91] = None,
68141
69964
  ) -> None:
68142
69965
  '''Properties for creating an Amazon SageMaker endpoint configuration.
@@ -68451,13 +70274,13 @@ class SageMakerCreateEndpointConfigProps(_TaskStateBaseProps_3a62b6d0):
68451
70274
  return typing.cast(typing.List[ProductionVariant], result)
68452
70275
 
68453
70276
  @builtins.property
68454
- def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
70277
+ def kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
68455
70278
  '''AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
68456
70279
 
68457
70280
  :default: - None
68458
70281
  '''
68459
70282
  result = self._values.get("kms_key")
68460
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
70283
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
68461
70284
 
68462
70285
  @builtins.property
68463
70286
  def tags(self) -> typing.Optional[_TaskInput_91b91b91]:
@@ -69846,6 +71669,12 @@ class SageMakerCreateModel(
69846
71669
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
69847
71670
  return typing.cast(None, jsii.invoke(self, "addSecurityGroup", [security_group]))
69848
71671
 
71672
+ @jsii.python.classproperty
71673
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
71674
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
71675
+ '''Uniquely identifies this class.'''
71676
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
71677
+
69849
71678
  @builtins.property
69850
71679
  @jsii.member(jsii_name="connections")
69851
71680
  def connections(self) -> _Connections_0f31fce8:
@@ -71561,6 +73390,12 @@ class SageMakerCreateTrainingJob(
71561
73390
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
71562
73391
  return typing.cast(None, jsii.invoke(self, "addSecurityGroup", [security_group]))
71563
73392
 
73393
+ @jsii.python.classproperty
73394
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
73395
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
73396
+ '''Uniquely identifies this class.'''
73397
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
73398
+
71564
73399
  @builtins.property
71565
73400
  @jsii.member(jsii_name="connections")
71566
73401
  def connections(self) -> _Connections_0f31fce8:
@@ -73763,13 +75598,13 @@ class SageMakerCreateTransformJobJsonPathProps(_TaskStateJsonPathBaseProps_57dc2
73763
75598
  import aws_cdk as cdk
73764
75599
  from aws_cdk import aws_ec2 as ec2
73765
75600
  from aws_cdk import aws_iam as iam
73766
- from aws_cdk import aws_kms as kms
73767
75601
  from aws_cdk import aws_stepfunctions as stepfunctions
73768
75602
  from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
75603
+ from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
73769
75604
 
73770
75605
  # assign: Any
73771
75606
  # instance_type: ec2.InstanceType
73772
- # key: kms.Key
75607
+ # key_ref: interfaces_aws_kms.IKeyRef
73773
75608
  # result_selector: Any
73774
75609
  # role: iam.Role
73775
75610
  # size: cdk.Size
@@ -73800,7 +75635,7 @@ class SageMakerCreateTransformJobJsonPathProps(_TaskStateJsonPathBaseProps_57dc2
73800
75635
  # the properties below are optional
73801
75636
  accept="accept",
73802
75637
  assemble_with=stepfunctions_tasks.AssembleWith.NONE,
73803
- encryption_key=key
75638
+ encryption_key=key_ref
73804
75639
  ),
73805
75640
 
73806
75641
  # the properties below are optional
@@ -73843,7 +75678,7 @@ class SageMakerCreateTransformJobJsonPathProps(_TaskStateJsonPathBaseProps_57dc2
73843
75678
  instance_type=instance_type,
73844
75679
 
73845
75680
  # the properties below are optional
73846
- volume_encryption_key=key
75681
+ volume_encryption_key=key_ref
73847
75682
  )
73848
75683
  )
73849
75684
  '''
@@ -74322,13 +76157,13 @@ class SageMakerCreateTransformJobJsonataProps(_TaskStateJsonataBaseProps_0e91775
74322
76157
  import aws_cdk as cdk
74323
76158
  from aws_cdk import aws_ec2 as ec2
74324
76159
  from aws_cdk import aws_iam as iam
74325
- from aws_cdk import aws_kms as kms
74326
76160
  from aws_cdk import aws_stepfunctions as stepfunctions
74327
76161
  from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
76162
+ from aws_cdk.interfaces import aws_kms as interfaces_aws_kms
74328
76163
 
74329
76164
  # assign: Any
74330
76165
  # instance_type: ec2.InstanceType
74331
- # key: kms.Key
76166
+ # key_ref: interfaces_aws_kms.IKeyRef
74332
76167
  # outputs: Any
74333
76168
  # role: iam.Role
74334
76169
  # size: cdk.Size
@@ -74359,7 +76194,7 @@ class SageMakerCreateTransformJobJsonataProps(_TaskStateJsonataBaseProps_0e91775
74359
76194
  # the properties below are optional
74360
76195
  accept="accept",
74361
76196
  assemble_with=stepfunctions_tasks.AssembleWith.NONE,
74362
- encryption_key=key
76197
+ encryption_key=key_ref
74363
76198
  ),
74364
76199
 
74365
76200
  # the properties below are optional
@@ -74397,7 +76232,7 @@ class SageMakerCreateTransformJobJsonataProps(_TaskStateJsonataBaseProps_0e91775
74397
76232
  instance_type=instance_type,
74398
76233
 
74399
76234
  # the properties below are optional
74400
- volume_encryption_key=key
76235
+ volume_encryption_key=key_ref
74401
76236
  )
74402
76237
  )
74403
76238
  '''
@@ -82849,6 +84684,109 @@ class TaskEnvironmentVariable:
82849
84684
  )
82850
84685
 
82851
84686
 
84687
+ @jsii.data_type(
84688
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.TrainingBucketConfiguration",
84689
+ jsii_struct_bases=[DataBucketConfiguration],
84690
+ name_mapping={"bucket": "bucket", "path": "path"},
84691
+ )
84692
+ class TrainingBucketConfiguration(DataBucketConfiguration):
84693
+ def __init__(
84694
+ self,
84695
+ *,
84696
+ bucket: _IBucket_42e086fd,
84697
+ path: typing.Optional[builtins.str] = None,
84698
+ ) -> None:
84699
+ '''S3 bucket configuration for the training data.
84700
+
84701
+ :param bucket: The S3 bucket.
84702
+ :param path: Path to file or directory within the bucket. Default: - root of the bucket
84703
+
84704
+ :exampleMetadata: infused
84705
+
84706
+ Example::
84707
+
84708
+ import aws_cdk.aws_bedrock as bedrock
84709
+ import aws_cdk.aws_kms as kms
84710
+
84711
+ # output_bucket: s3.IBucket
84712
+ # training_bucket: s3.IBucket
84713
+ # validation_bucket: s3.IBucket
84714
+ # kms_key: kms.IKey
84715
+ # vpc: ec2.IVpc
84716
+
84717
+
84718
+ model = bedrock.FoundationModel.from_foundation_model_id(self, "Model", bedrock.FoundationModelIdentifier.AMAZON_TITAN_TEXT_G1_EXPRESS_V1)
84719
+
84720
+ task = tasks.BedrockCreateModelCustomizationJob(self, "CreateModelCustomizationJob",
84721
+ base_model=model,
84722
+ client_request_token="MyToken",
84723
+ customization_type=tasks.CustomizationType.FINE_TUNING,
84724
+ custom_model_kms_key=kms_key,
84725
+ custom_model_name="MyCustomModel", # required
84726
+ custom_model_tags=[tasks.CustomModelTag(key="key1", value="value1")],
84727
+ hyper_parameters={
84728
+ "batch_size": "10"
84729
+ },
84730
+ job_name="MyCustomizationJob", # required
84731
+ job_tags=[tasks.CustomModelTag(key="key2", value="value2")],
84732
+ output_data=tasks.OutputBucketConfiguration(
84733
+ bucket=output_bucket, # required
84734
+ path="output-data/"
84735
+ ),
84736
+ training_data=tasks.TrainingBucketConfiguration(
84737
+ bucket=training_bucket,
84738
+ path="training-data/data.json"
84739
+ ), # required
84740
+ # If you don't provide validation data, you have to specify `Evaluation percentage` hyperparameter.
84741
+ validation_data=[tasks.ValidationBucketConfiguration(
84742
+ bucket=validation_bucket,
84743
+ path="validation-data/data.json"
84744
+ )
84745
+ ],
84746
+ vpc_config={
84747
+ "security_groups": [ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)],
84748
+ "subnets": vpc.private_subnets
84749
+ }
84750
+ )
84751
+ '''
84752
+ if __debug__:
84753
+ type_hints = typing.get_type_hints(_typecheckingstub__682a3d293d520e48cda4b322d7a11a901469838caf114187b949c74301eba9a0)
84754
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
84755
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
84756
+ self._values: typing.Dict[builtins.str, typing.Any] = {
84757
+ "bucket": bucket,
84758
+ }
84759
+ if path is not None:
84760
+ self._values["path"] = path
84761
+
84762
+ @builtins.property
84763
+ def bucket(self) -> _IBucket_42e086fd:
84764
+ '''The S3 bucket.'''
84765
+ result = self._values.get("bucket")
84766
+ assert result is not None, "Required property 'bucket' is missing"
84767
+ return typing.cast(_IBucket_42e086fd, result)
84768
+
84769
+ @builtins.property
84770
+ def path(self) -> typing.Optional[builtins.str]:
84771
+ '''Path to file or directory within the bucket.
84772
+
84773
+ :default: - root of the bucket
84774
+ '''
84775
+ result = self._values.get("path")
84776
+ return typing.cast(typing.Optional[builtins.str], result)
84777
+
84778
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
84779
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
84780
+
84781
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
84782
+ return not (rhs == self)
84783
+
84784
+ def __repr__(self) -> str:
84785
+ return "TrainingBucketConfiguration(%s)" % ", ".join(
84786
+ k + "=" + repr(v) for k, v in self._values.items()
84787
+ )
84788
+
84789
+
82852
84790
  @jsii.data_type(
82853
84791
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.TransformDataSource",
82854
84792
  jsii_struct_bases=[],
@@ -83055,7 +84993,7 @@ class TransformOutput:
83055
84993
  s3_output_path: builtins.str,
83056
84994
  accept: typing.Optional[builtins.str] = None,
83057
84995
  assemble_with: typing.Optional[AssembleWith] = None,
83058
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
84996
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
83059
84997
  ) -> None:
83060
84998
  '''S3 location where you want Amazon SageMaker to save the results from the transform job.
83061
84999
 
@@ -83134,13 +85072,13 @@ class TransformOutput:
83134
85072
  return typing.cast(typing.Optional[AssembleWith], result)
83135
85073
 
83136
85074
  @builtins.property
83137
- def encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
85075
+ def encryption_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
83138
85076
  '''AWS KMS key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
83139
85077
 
83140
85078
  :default: - default KMS key for Amazon S3 for your role's account.
83141
85079
  '''
83142
85080
  result = self._values.get("encryption_key")
83143
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
85081
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
83144
85082
 
83145
85083
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
83146
85084
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -83169,7 +85107,7 @@ class TransformResources:
83169
85107
  *,
83170
85108
  instance_count: jsii.Number,
83171
85109
  instance_type: _InstanceType_f64915b9,
83172
- volume_encryption_key: typing.Optional[_IKey_5f11635f] = None,
85110
+ volume_encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
83173
85111
  ) -> None:
83174
85112
  '''ML compute instances for the transform job.
83175
85113
 
@@ -83232,13 +85170,13 @@ class TransformResources:
83232
85170
  return typing.cast(_InstanceType_f64915b9, result)
83233
85171
 
83234
85172
  @builtins.property
83235
- def volume_encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
85173
+ def volume_encryption_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
83236
85174
  '''AWS KMS key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s).
83237
85175
 
83238
85176
  :default: - None
83239
85177
  '''
83240
85178
  result = self._values.get("volume_encryption_key")
83241
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
85179
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
83242
85180
 
83243
85181
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
83244
85182
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -83352,7 +85290,7 @@ class URLEncodingFormat(enum.Enum):
83352
85290
 
83353
85291
  tasks.HttpInvoke(self, "Invoke HTTP API",
83354
85292
  api_root="https://api.example.com",
83355
- api_endpoint=sfn.TaskInput.from_text("path/to/resource"),
85293
+ api_endpoint=sfn.TaskInput.from_text(sfn.JsonPath.format("resource/{}/details", sfn.JsonPath.string_at("$.resourceId"))),
83356
85294
  body=sfn.TaskInput.from_object({"foo": "bar"}),
83357
85295
  connection=connection,
83358
85296
  headers=sfn.TaskInput.from_object({"Content-Type": "application/json"}),
@@ -83388,6 +85326,79 @@ class URLEncodingFormat(enum.Enum):
83388
85326
  '''
83389
85327
 
83390
85328
 
85329
+ @jsii.data_type(
85330
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.ValidationBucketConfiguration",
85331
+ jsii_struct_bases=[DataBucketConfiguration],
85332
+ name_mapping={"bucket": "bucket", "path": "path"},
85333
+ )
85334
+ class ValidationBucketConfiguration(DataBucketConfiguration):
85335
+ def __init__(
85336
+ self,
85337
+ *,
85338
+ bucket: _IBucket_42e086fd,
85339
+ path: typing.Optional[builtins.str] = None,
85340
+ ) -> None:
85341
+ '''S3 bucket configuration for the validation data.
85342
+
85343
+ :param bucket: The S3 bucket.
85344
+ :param path: Path to file or directory within the bucket. Default: - root of the bucket
85345
+
85346
+ :exampleMetadata: fixture=_generated
85347
+
85348
+ Example::
85349
+
85350
+ # The code below shows an example of how to instantiate this type.
85351
+ # The values are placeholders you should change.
85352
+ from aws_cdk import aws_s3 as s3
85353
+ from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
85354
+
85355
+ # bucket: s3.Bucket
85356
+
85357
+ validation_bucket_configuration = stepfunctions_tasks.ValidationBucketConfiguration(
85358
+ bucket=bucket,
85359
+
85360
+ # the properties below are optional
85361
+ path="path"
85362
+ )
85363
+ '''
85364
+ if __debug__:
85365
+ type_hints = typing.get_type_hints(_typecheckingstub__a6205038f5bd369810feab5dd42ebc706a68c088fceea69b083c4878117ca890)
85366
+ check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
85367
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
85368
+ self._values: typing.Dict[builtins.str, typing.Any] = {
85369
+ "bucket": bucket,
85370
+ }
85371
+ if path is not None:
85372
+ self._values["path"] = path
85373
+
85374
+ @builtins.property
85375
+ def bucket(self) -> _IBucket_42e086fd:
85376
+ '''The S3 bucket.'''
85377
+ result = self._values.get("bucket")
85378
+ assert result is not None, "Required property 'bucket' is missing"
85379
+ return typing.cast(_IBucket_42e086fd, result)
85380
+
85381
+ @builtins.property
85382
+ def path(self) -> typing.Optional[builtins.str]:
85383
+ '''Path to file or directory within the bucket.
85384
+
85385
+ :default: - root of the bucket
85386
+ '''
85387
+ result = self._values.get("path")
85388
+ return typing.cast(typing.Optional[builtins.str], result)
85389
+
85390
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
85391
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
85392
+
85393
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
85394
+ return not (rhs == self)
85395
+
85396
+ def __repr__(self) -> str:
85397
+ return "ValidationBucketConfiguration(%s)" % ", ".join(
85398
+ k + "=" + repr(v) for k, v in self._values.items()
85399
+ )
85400
+
85401
+
83391
85402
  class VirtualClusterInput(
83392
85403
  metaclass=jsii.JSIIMeta,
83393
85404
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.VirtualClusterInput",
@@ -85640,25 +87651,25 @@ class EcsEc2LaunchTarget(
85640
87651
  @jsii.member(jsii_name="bind")
85641
87652
  def bind(
85642
87653
  self,
85643
- _task: EcsRunTask,
87654
+ task: EcsRunTask,
85644
87655
  *,
85645
87656
  task_definition: _ITaskDefinition_889ba4d8,
85646
87657
  cluster: typing.Optional[_ICluster_16cddd09] = None,
85647
87658
  ) -> EcsLaunchTargetConfig:
85648
87659
  '''Called when the EC2 launch type is configured on RunTask.
85649
87660
 
85650
- :param _task: -
87661
+ :param task: -
85651
87662
  :param task_definition: Task definition to run Docker containers in Amazon ECS.
85652
87663
  :param cluster: A regional grouping of one or more container instances on which you can run tasks and services. Default: - No cluster
85653
87664
  '''
85654
87665
  if __debug__:
85655
87666
  type_hints = typing.get_type_hints(_typecheckingstub__193210761ae10b68dfdc04ae454b8c432675bc12145b65077c7c23ee6f35daa2)
85656
- check_type(argname="argument _task", value=_task, expected_type=type_hints["_task"])
87667
+ check_type(argname="argument task", value=task, expected_type=type_hints["task"])
85657
87668
  launch_target_options = LaunchTargetBindOptions(
85658
87669
  task_definition=task_definition, cluster=cluster
85659
87670
  )
85660
87671
 
85661
- return typing.cast(EcsLaunchTargetConfig, jsii.invoke(self, "bind", [_task, launch_target_options]))
87672
+ return typing.cast(EcsLaunchTargetConfig, jsii.invoke(self, "bind", [task, launch_target_options]))
85662
87673
 
85663
87674
 
85664
87675
  @jsii.implements(IEcsLaunchTarget)
@@ -85715,25 +87726,25 @@ class EcsFargateLaunchTarget(
85715
87726
  @jsii.member(jsii_name="bind")
85716
87727
  def bind(
85717
87728
  self,
85718
- _task: EcsRunTask,
87729
+ task: EcsRunTask,
85719
87730
  *,
85720
87731
  task_definition: _ITaskDefinition_889ba4d8,
85721
87732
  cluster: typing.Optional[_ICluster_16cddd09] = None,
85722
87733
  ) -> EcsLaunchTargetConfig:
85723
87734
  '''Called when the Fargate launch type configured on RunTask.
85724
87735
 
85725
- :param _task: -
87736
+ :param task: -
85726
87737
  :param task_definition: Task definition to run Docker containers in Amazon ECS.
85727
87738
  :param cluster: A regional grouping of one or more container instances on which you can run tasks and services. Default: - No cluster
85728
87739
  '''
85729
87740
  if __debug__:
85730
87741
  type_hints = typing.get_type_hints(_typecheckingstub__7c19025da4101b4b8d2482e0216270cc5e94fe58381fdba0b4cf99f04e2776b9)
85731
- check_type(argname="argument _task", value=_task, expected_type=type_hints["_task"])
87742
+ check_type(argname="argument task", value=task, expected_type=type_hints["task"])
85732
87743
  launch_target_options = LaunchTargetBindOptions(
85733
87744
  task_definition=task_definition, cluster=cluster
85734
87745
  )
85735
87746
 
85736
- return typing.cast(EcsLaunchTargetConfig, jsii.invoke(self, "bind", [_task, launch_target_options]))
87747
+ return typing.cast(EcsLaunchTargetConfig, jsii.invoke(self, "bind", [task, launch_target_options]))
85737
87748
 
85738
87749
 
85739
87750
  __all__ = [
@@ -85768,6 +87779,8 @@ __all__ = [
85768
87779
  "BatchSubmitJobJsonPathProps",
85769
87780
  "BatchSubmitJobJsonataProps",
85770
87781
  "BatchSubmitJobProps",
87782
+ "BedrockCreateModelCustomizationJob",
87783
+ "BedrockCreateModelCustomizationJobProps",
85771
87784
  "BedrockInvokeModel",
85772
87785
  "BedrockInvokeModelInputProps",
85773
87786
  "BedrockInvokeModelJsonPathProps",
@@ -85814,6 +87827,9 @@ __all__ = [
85814
87827
  "ContainerOverride",
85815
87828
  "ContainerOverrides",
85816
87829
  "CronOptions",
87830
+ "CustomModelTag",
87831
+ "CustomizationType",
87832
+ "DataBucketConfiguration",
85817
87833
  "DataSource",
85818
87834
  "DockerImage",
85819
87835
  "DockerImageConfig",
@@ -85927,6 +87943,7 @@ __all__ = [
85927
87943
  "HttpInvokeProps",
85928
87944
  "HttpMethod",
85929
87945
  "HttpMethods",
87946
+ "IBedrockCreateModelCustomizationJobVpcConfig",
85930
87947
  "IContainerDefinition",
85931
87948
  "IEcsLaunchTarget",
85932
87949
  "ISageMakerTask",
@@ -85949,6 +87966,7 @@ __all__ = [
85949
87966
  "Mode",
85950
87967
  "ModelClientOptions",
85951
87968
  "Monitoring",
87969
+ "OutputBucketConfiguration",
85952
87970
  "OutputDataConfig",
85953
87971
  "ProductionVariant",
85954
87972
  "QueryExecutionContext",
@@ -86009,12 +88027,14 @@ __all__ = [
86009
88027
  "StepFunctionsStartExecutionProps",
86010
88028
  "StoppingCondition",
86011
88029
  "TaskEnvironmentVariable",
88030
+ "TrainingBucketConfiguration",
86012
88031
  "TransformDataSource",
86013
88032
  "TransformInput",
86014
88033
  "TransformOutput",
86015
88034
  "TransformResources",
86016
88035
  "TransformS3DataSource",
86017
88036
  "URLEncodingFormat",
88037
+ "ValidationBucketConfiguration",
86018
88038
  "VirtualClusterInput",
86019
88039
  "VpcConfig",
86020
88040
  "WorkerConfigurationProperty",
@@ -86818,6 +88838,78 @@ def _typecheckingstub__c3197d21dad4ba55e29e09cf770b47b7859167ae6b1ae5ef674cca1be
86818
88838
  """Type checking stubs"""
86819
88839
  pass
86820
88840
 
88841
+ def _typecheckingstub__05f50c48ead9c1041aeef184ab271f7236e2832bc9e7175e9c6909f2fc4097e0(
88842
+ scope: _constructs_77d1e7e8.Construct,
88843
+ id: builtins.str,
88844
+ *,
88845
+ base_model: _IModel_b88b328a,
88846
+ custom_model_name: builtins.str,
88847
+ job_name: builtins.str,
88848
+ output_data: typing.Union[OutputBucketConfiguration, typing.Dict[builtins.str, typing.Any]],
88849
+ training_data: typing.Union[TrainingBucketConfiguration, typing.Dict[builtins.str, typing.Any]],
88850
+ client_request_token: typing.Optional[builtins.str] = None,
88851
+ customization_type: typing.Optional[CustomizationType] = None,
88852
+ custom_model_kms_key: typing.Optional[_IKey_5f11635f] = None,
88853
+ custom_model_tags: typing.Optional[typing.Sequence[typing.Union[CustomModelTag, typing.Dict[builtins.str, typing.Any]]]] = None,
88854
+ hyper_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
88855
+ job_tags: typing.Optional[typing.Sequence[typing.Union[CustomModelTag, typing.Dict[builtins.str, typing.Any]]]] = None,
88856
+ role: typing.Optional[_IRoleRef_8400221f] = None,
88857
+ validation_data: typing.Optional[typing.Sequence[typing.Union[ValidationBucketConfiguration, typing.Dict[builtins.str, typing.Any]]]] = None,
88858
+ vpc_config: typing.Optional[IBedrockCreateModelCustomizationJobVpcConfig] = None,
88859
+ result_path: typing.Optional[builtins.str] = None,
88860
+ result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
88861
+ comment: typing.Optional[builtins.str] = None,
88862
+ query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
88863
+ state_name: typing.Optional[builtins.str] = None,
88864
+ credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
88865
+ heartbeat: typing.Optional[_Duration_4839e8c3] = None,
88866
+ heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
88867
+ integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
88868
+ task_timeout: typing.Optional[_Timeout_d7c10551] = None,
88869
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
88870
+ assign: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
88871
+ input_path: typing.Optional[builtins.str] = None,
88872
+ output_path: typing.Optional[builtins.str] = None,
88873
+ outputs: typing.Any = None,
88874
+ ) -> None:
88875
+ """Type checking stubs"""
88876
+ pass
88877
+
88878
+ def _typecheckingstub__4a1348489dd866713bad4f53a20bf5de0eff5edebddfb3011e85cf03da5f68d2(
88879
+ *,
88880
+ comment: typing.Optional[builtins.str] = None,
88881
+ query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
88882
+ state_name: typing.Optional[builtins.str] = None,
88883
+ credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
88884
+ heartbeat: typing.Optional[_Duration_4839e8c3] = None,
88885
+ heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
88886
+ integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
88887
+ task_timeout: typing.Optional[_Timeout_d7c10551] = None,
88888
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
88889
+ assign: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
88890
+ input_path: typing.Optional[builtins.str] = None,
88891
+ output_path: typing.Optional[builtins.str] = None,
88892
+ outputs: typing.Any = None,
88893
+ result_path: typing.Optional[builtins.str] = None,
88894
+ result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
88895
+ base_model: _IModel_b88b328a,
88896
+ custom_model_name: builtins.str,
88897
+ job_name: builtins.str,
88898
+ output_data: typing.Union[OutputBucketConfiguration, typing.Dict[builtins.str, typing.Any]],
88899
+ training_data: typing.Union[TrainingBucketConfiguration, typing.Dict[builtins.str, typing.Any]],
88900
+ client_request_token: typing.Optional[builtins.str] = None,
88901
+ customization_type: typing.Optional[CustomizationType] = None,
88902
+ custom_model_kms_key: typing.Optional[_IKey_5f11635f] = None,
88903
+ custom_model_tags: typing.Optional[typing.Sequence[typing.Union[CustomModelTag, typing.Dict[builtins.str, typing.Any]]]] = None,
88904
+ hyper_parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
88905
+ job_tags: typing.Optional[typing.Sequence[typing.Union[CustomModelTag, typing.Dict[builtins.str, typing.Any]]]] = None,
88906
+ role: typing.Optional[_IRoleRef_8400221f] = None,
88907
+ validation_data: typing.Optional[typing.Sequence[typing.Union[ValidationBucketConfiguration, typing.Dict[builtins.str, typing.Any]]]] = None,
88908
+ vpc_config: typing.Optional[IBedrockCreateModelCustomizationJobVpcConfig] = None,
88909
+ ) -> None:
88910
+ """Type checking stubs"""
88911
+ pass
88912
+
86821
88913
  def _typecheckingstub__3b20c515efa874adacf78d373dbda10fc59e519a3bd1b280ecbf56409aea2544(
86822
88914
  scope: _constructs_77d1e7e8.Construct,
86823
88915
  id: builtins.str,
@@ -88038,6 +90130,22 @@ def _typecheckingstub__3ded07e1f80001916cedf33047f0de79b459fade9caa718d154ce1255
88038
90130
  """Type checking stubs"""
88039
90131
  pass
88040
90132
 
90133
+ def _typecheckingstub__83c62fca1c3250b9c5ee6e19dd3dfc1c4accd6cbf494208ce8b177e8b37ab802(
90134
+ *,
90135
+ key: builtins.str,
90136
+ value: builtins.str,
90137
+ ) -> None:
90138
+ """Type checking stubs"""
90139
+ pass
90140
+
90141
+ def _typecheckingstub__a310fa6911b62dab87f8ad67600f727aa7262c59f0ca09c7df5e3e7af25a63ee(
90142
+ *,
90143
+ bucket: _IBucket_42e086fd,
90144
+ path: typing.Optional[builtins.str] = None,
90145
+ ) -> None:
90146
+ """Type checking stubs"""
90147
+ pass
90148
+
88041
90149
  def _typecheckingstub__ae608c3d9d2fb12a77379a82dd6b04cdafe048a3cd431a1c95d472c19c1cbcd4(
88042
90150
  *,
88043
90151
  s3_data_source: typing.Union[S3DataSource, typing.Dict[builtins.str, typing.Any]],
@@ -90041,9 +92149,12 @@ def _typecheckingstub__cea19fa2105afe952446f5bd0f605c16f7727beccef02df2d7846fc03
90041
92149
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90042
92150
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90043
92151
  custom_ami_id: typing.Optional[builtins.str] = None,
92152
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90044
92153
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92154
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90045
92155
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90046
92156
  log_uri: typing.Optional[builtins.str] = None,
92157
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90047
92158
  release_label: typing.Optional[builtins.str] = None,
90048
92159
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90049
92160
  security_configuration: typing.Optional[builtins.str] = None,
@@ -90084,9 +92195,12 @@ def _typecheckingstub__c919e6f14f726c30d5e9bfdcd68c1528feb537ad74733ba631023ae0e
90084
92195
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90085
92196
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90086
92197
  custom_ami_id: typing.Optional[builtins.str] = None,
92198
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90087
92199
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92200
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90088
92201
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90089
92202
  log_uri: typing.Optional[builtins.str] = None,
92203
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90090
92204
  release_label: typing.Optional[builtins.str] = None,
90091
92205
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90092
92206
  security_configuration: typing.Optional[builtins.str] = None,
@@ -90123,9 +92237,12 @@ def _typecheckingstub__c0ca62f39b0f27c784b5c3bd197f4bcb1898d07af8d6176a5e24d6cb4
90123
92237
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90124
92238
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90125
92239
  custom_ami_id: typing.Optional[builtins.str] = None,
92240
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90126
92241
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92242
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90127
92243
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90128
92244
  log_uri: typing.Optional[builtins.str] = None,
92245
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90129
92246
  release_label: typing.Optional[builtins.str] = None,
90130
92247
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90131
92248
  security_configuration: typing.Optional[builtins.str] = None,
@@ -90297,6 +92414,24 @@ def _typecheckingstub__55fd4ff6bee4f87932c9408a964df71df75a5355df79438f571de69d1
90297
92414
  """Type checking stubs"""
90298
92415
  pass
90299
92416
 
92417
+ def _typecheckingstub__456056f16dcf97fd1f56ad4f544f9e6a7740b916af0bb528c7039258390c676c(
92418
+ *,
92419
+ maximum_capacity_units: jsii.Number,
92420
+ minimum_capacity_units: jsii.Number,
92421
+ unit_type: EmrCreateCluster.ComputeLimitsUnitType,
92422
+ maximum_core_capacity_units: typing.Optional[jsii.Number] = None,
92423
+ maximum_on_demand_capacity_units: typing.Optional[jsii.Number] = None,
92424
+ ) -> None:
92425
+ """Type checking stubs"""
92426
+ pass
92427
+
92428
+ def _typecheckingstub__179ad22f7f4bb419f4267ee887aae9d8eb939feb472f44c905e5f5d18bca8899(
92429
+ *,
92430
+ compute_limits: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingComputeLimitsProperty, typing.Dict[builtins.str, typing.Any]]] = None,
92431
+ ) -> None:
92432
+ """Type checking stubs"""
92433
+ pass
92434
+
90300
92435
  def _typecheckingstub__b08b745951eed0d937bba525b556337b2cbf7ac04b7cf244aa893e39122e1abc(
90301
92436
  *,
90302
92437
  key: builtins.str,
@@ -90416,9 +92551,12 @@ def _typecheckingstub__8eee079f7d9817361a59216197eaa0f6c6e38fddbd968457fbb263e42
90416
92551
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90417
92552
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90418
92553
  custom_ami_id: typing.Optional[builtins.str] = None,
92554
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90419
92555
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92556
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90420
92557
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90421
92558
  log_uri: typing.Optional[builtins.str] = None,
92559
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90422
92560
  release_label: typing.Optional[builtins.str] = None,
90423
92561
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90424
92562
  security_configuration: typing.Optional[builtins.str] = None,
@@ -90453,9 +92591,12 @@ def _typecheckingstub__e0198d308a9f96d3aadda143c9d8a0ef5848603e760f6a16d02390d98
90453
92591
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90454
92592
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90455
92593
  custom_ami_id: typing.Optional[builtins.str] = None,
92594
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90456
92595
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92596
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90457
92597
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90458
92598
  log_uri: typing.Optional[builtins.str] = None,
92599
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90459
92600
  release_label: typing.Optional[builtins.str] = None,
90460
92601
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90461
92602
  security_configuration: typing.Optional[builtins.str] = None,
@@ -90494,9 +92635,12 @@ def _typecheckingstub__47264d4efff2249070476b1432ca851665096bb89026c6d6564ff3c77
90494
92635
  cluster_role: typing.Optional[_IRole_235f5d8e] = None,
90495
92636
  configurations: typing.Optional[typing.Sequence[typing.Union[EmrCreateCluster.ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
90496
92637
  custom_ami_id: typing.Optional[builtins.str] = None,
92638
+ ebs_root_volume_iops: typing.Optional[jsii.Number] = None,
90497
92639
  ebs_root_volume_size: typing.Optional[_Size_7b441c34] = None,
92640
+ ebs_root_volume_throughput: typing.Optional[jsii.Number] = None,
90498
92641
  kerberos_attributes: typing.Optional[typing.Union[EmrCreateCluster.KerberosAttributesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90499
92642
  log_uri: typing.Optional[builtins.str] = None,
92643
+ managed_scaling_policy: typing.Optional[typing.Union[EmrCreateCluster.ManagedScalingPolicyProperty, typing.Dict[builtins.str, typing.Any]]] = None,
90500
92644
  release_label: typing.Optional[builtins.str] = None,
90501
92645
  scale_down_behavior: typing.Optional[EmrCreateCluster.EmrClusterScaleDownBehavior] = None,
90502
92646
  security_configuration: typing.Optional[builtins.str] = None,
@@ -91096,6 +93240,7 @@ def _typecheckingstub__7da4306c848323ad0fd19f879d1e450efab7eb83fb1ef1cb0d748933f
91096
93240
  id: builtins.str,
91097
93241
  *,
91098
93242
  expression: builtins.str,
93243
+ architecture: typing.Optional[_Architecture_12d5a53f] = None,
91099
93244
  runtime: typing.Optional[_Runtime_b4eaa844] = None,
91100
93245
  result_path: typing.Optional[builtins.str] = None,
91101
93246
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -91134,6 +93279,7 @@ def _typecheckingstub__7b660a2d739c33e835b358bdf384dcda902727f35dd042f5cd8486b6f
91134
93279
  result_path: typing.Optional[builtins.str] = None,
91135
93280
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
91136
93281
  expression: builtins.str,
93282
+ architecture: typing.Optional[_Architecture_12d5a53f] = None,
91137
93283
  runtime: typing.Optional[_Runtime_b4eaa844] = None,
91138
93284
  ) -> None:
91139
93285
  """Type checking stubs"""
@@ -92480,6 +94626,14 @@ def _typecheckingstub__2c0e40b619f7707d6a2a3d70d10b988fa758ad2484283c28988ee8d61
92480
94626
  """Type checking stubs"""
92481
94627
  pass
92482
94628
 
94629
+ def _typecheckingstub__05ead3f1760bde00adef48e083438b80e2b20f50fe9ae0d35189d6761a24370f(
94630
+ *,
94631
+ bucket: _IBucket_42e086fd,
94632
+ path: typing.Optional[builtins.str] = None,
94633
+ ) -> None:
94634
+ """Type checking stubs"""
94635
+ pass
94636
+
92483
94637
  def _typecheckingstub__eb710544769244822847e500c7742fc5cdede3a3225e828a8b782f786596237b(
92484
94638
  *,
92485
94639
  s3_output_location: S3Location,
@@ -92666,7 +94820,7 @@ def _typecheckingstub__7955865e1edbdbe14b7d0785bfa36c7b48efa077af003aaf9df70da12
92666
94820
  *,
92667
94821
  endpoint_config_name: builtins.str,
92668
94822
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92669
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94823
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92670
94824
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92671
94825
  result_path: typing.Optional[builtins.str] = None,
92672
94826
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -92693,7 +94847,7 @@ def _typecheckingstub__a04e5ec2f31c1c0a35206acfad542ed8d379ff952def62aaa6117a96e
92693
94847
  *,
92694
94848
  endpoint_config_name: builtins.str,
92695
94849
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92696
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94850
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92697
94851
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92698
94852
  comment: typing.Optional[builtins.str] = None,
92699
94853
  query_language: typing.Optional[_QueryLanguage_be8414a8] = None,
@@ -92716,7 +94870,7 @@ def _typecheckingstub__ba6ef12807fb03dd6a1e2b7b7459ab46a68375ac4bdd5c6889009eb09
92716
94870
  *,
92717
94871
  endpoint_config_name: builtins.str,
92718
94872
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92719
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94873
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92720
94874
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92721
94875
  result_path: typing.Optional[builtins.str] = None,
92722
94876
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
@@ -92754,7 +94908,7 @@ def _typecheckingstub__0340e22743e5cec55b8355716928d646950cfb9f1d89788c54e7a89c8
92754
94908
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
92755
94909
  endpoint_config_name: builtins.str,
92756
94910
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92757
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94911
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92758
94912
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92759
94913
  ) -> None:
92760
94914
  """Type checking stubs"""
@@ -92775,7 +94929,7 @@ def _typecheckingstub__224ee8de6923ad7c2b27d51fa022d67ec84732124bab2297a739557a9
92775
94929
  outputs: typing.Any = None,
92776
94930
  endpoint_config_name: builtins.str,
92777
94931
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92778
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94932
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92779
94933
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92780
94934
  ) -> None:
92781
94935
  """Type checking stubs"""
@@ -92800,7 +94954,7 @@ def _typecheckingstub__1d1471e23ddcae3c4722c429827c5dc0c982af6428c9ffd8f2f2d5418
92800
94954
  result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
92801
94955
  endpoint_config_name: builtins.str,
92802
94956
  production_variants: typing.Sequence[typing.Union[ProductionVariant, typing.Dict[builtins.str, typing.Any]]],
92803
- kms_key: typing.Optional[_IKey_5f11635f] = None,
94957
+ kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
92804
94958
  tags: typing.Optional[_TaskInput_91b91b91] = None,
92805
94959
  ) -> None:
92806
94960
  """Type checking stubs"""
@@ -94218,6 +96372,14 @@ def _typecheckingstub__7f029a86ecd789f9746de04e831dd00fa385ff16eff9e460e283675c6
94218
96372
  """Type checking stubs"""
94219
96373
  pass
94220
96374
 
96375
+ def _typecheckingstub__682a3d293d520e48cda4b322d7a11a901469838caf114187b949c74301eba9a0(
96376
+ *,
96377
+ bucket: _IBucket_42e086fd,
96378
+ path: typing.Optional[builtins.str] = None,
96379
+ ) -> None:
96380
+ """Type checking stubs"""
96381
+ pass
96382
+
94221
96383
  def _typecheckingstub__3876aeec1b0e2570c479d15f510b9f85e418ae931e5d26b863e809248e9c1102(
94222
96384
  *,
94223
96385
  s3_data_source: typing.Union[TransformS3DataSource, typing.Dict[builtins.str, typing.Any]],
@@ -94240,7 +96402,7 @@ def _typecheckingstub__e0cf6576f3c404e22a16992178f88fbe3f245d07212e6cb4794473e5a
94240
96402
  s3_output_path: builtins.str,
94241
96403
  accept: typing.Optional[builtins.str] = None,
94242
96404
  assemble_with: typing.Optional[AssembleWith] = None,
94243
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
96405
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
94244
96406
  ) -> None:
94245
96407
  """Type checking stubs"""
94246
96408
  pass
@@ -94249,7 +96411,7 @@ def _typecheckingstub__30e58d94548c5ccbec0d0beebb0cb5f0b52fadefbe7e2baccc25f98ae
94249
96411
  *,
94250
96412
  instance_count: jsii.Number,
94251
96413
  instance_type: _InstanceType_f64915b9,
94252
- volume_encryption_key: typing.Optional[_IKey_5f11635f] = None,
96414
+ volume_encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
94253
96415
  ) -> None:
94254
96416
  """Type checking stubs"""
94255
96417
  pass
@@ -94262,6 +96424,14 @@ def _typecheckingstub__1bf67112cc77948d7e9195d0722cf1a2657ff1a785c74e905b6fd8f05
94262
96424
  """Type checking stubs"""
94263
96425
  pass
94264
96426
 
96427
+ def _typecheckingstub__a6205038f5bd369810feab5dd42ebc706a68c088fceea69b083c4878117ca890(
96428
+ *,
96429
+ bucket: _IBucket_42e086fd,
96430
+ path: typing.Optional[builtins.str] = None,
96431
+ ) -> None:
96432
+ """Type checking stubs"""
96433
+ pass
96434
+
94265
96435
  def _typecheckingstub__5613dfd7586032cb8014fb82727b538f19d6ad8e354293fb9634b6eb82082c5d(
94266
96436
  task_input: _TaskInput_91b91b91,
94267
96437
  ) -> None:
@@ -94414,7 +96584,7 @@ def _typecheckingstub__a8584021dc58453ae786ca7a6b0d6b228d99e24e96189ad9dd7ce18d3
94414
96584
  pass
94415
96585
 
94416
96586
  def _typecheckingstub__193210761ae10b68dfdc04ae454b8c432675bc12145b65077c7c23ee6f35daa2(
94417
- _task: EcsRunTask,
96587
+ task: EcsRunTask,
94418
96588
  *,
94419
96589
  task_definition: _ITaskDefinition_889ba4d8,
94420
96590
  cluster: typing.Optional[_ICluster_16cddd09] = None,
@@ -94423,10 +96593,13 @@ def _typecheckingstub__193210761ae10b68dfdc04ae454b8c432675bc12145b65077c7c23ee6
94423
96593
  pass
94424
96594
 
94425
96595
  def _typecheckingstub__7c19025da4101b4b8d2482e0216270cc5e94fe58381fdba0b4cf99f04e2776b9(
94426
- _task: EcsRunTask,
96596
+ task: EcsRunTask,
94427
96597
  *,
94428
96598
  task_definition: _ITaskDefinition_889ba4d8,
94429
96599
  cluster: typing.Optional[_ICluster_16cddd09] = None,
94430
96600
  ) -> None:
94431
96601
  """Type checking stubs"""
94432
96602
  pass
96603
+
96604
+ for cls in [IBedrockCreateModelCustomizationJobVpcConfig, IContainerDefinition, IEcsLaunchTarget, ISageMakerTask]:
96605
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])