aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -1253,6 +1253,39 @@ EcsAppStack(app, "EcsStackDeployedInPipeline",
1253
1253
  )
1254
1254
  ```
1255
1255
 
1256
+ ### Amazon EC2
1257
+
1258
+ To deploy application code to Amazon EC2 Linux instances or Linux SSM-managed nodes:
1259
+
1260
+ > **Note**
1261
+ > This action is only supported for V2 type pipelines.
1262
+
1263
+ ```python
1264
+ source_output = codepipeline.Artifact()
1265
+
1266
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
1267
+ pipeline_type=codepipeline.PipelineType.V2
1268
+ )
1269
+ deploy_action = codepipeline_actions.Ec2DeployAction(
1270
+ action_name="Ec2Deploy",
1271
+ input=source_output,
1272
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
1273
+ instance_tag_key="Name",
1274
+ instance_tag_value="MyInstance",
1275
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
1276
+ target_directory="/home/ec2-user/deploy",
1277
+ pre_script="scripts/pre-deploy.sh",
1278
+ post_script="scripts/post-deploy.sh"
1279
+ )
1280
+ )
1281
+ deploy_stage = pipeline.add_stage(
1282
+ stage_name="Deploy",
1283
+ actions=[deploy_action]
1284
+ )
1285
+ ```
1286
+
1287
+ To learn more about using the EC2 deploy action in your pipeline, visit [tutorial](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ec2-deploy.html) and [documentation](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-EC2Deploy.html).
1288
+
1256
1289
  ### AWS S3 Deployment
1257
1290
 
1258
1291
  To use an S3 Bucket as a deployment target in CodePipeline:
@@ -1893,6 +1926,7 @@ from ..aws_codepipeline import (
1893
1926
  )
1894
1927
  from ..aws_ecr import IRepository as _IRepository_e6004aa6
1895
1928
  from ..aws_ecs import IBaseService as _IBaseService_3fcdd913
1929
+ from ..aws_elasticloadbalancingv2 import ITargetGroup as _ITargetGroup_83c6f8c4
1896
1930
  from ..aws_events import (
1897
1931
  EventPattern as _EventPattern_fe557901, IRuleTarget as _IRuleTarget_7a91f454
1898
1932
  )
@@ -7443,6 +7477,657 @@ class CommonCloudFormationStackSetOptions:
7443
7477
  )
7444
7478
 
7445
7479
 
7480
+ class Ec2DeployAction(
7481
+ Action,
7482
+ metaclass=jsii.JSIIMeta,
7483
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2DeployAction",
7484
+ ):
7485
+ '''CodePipeline Action to deploy EC2 instances.
7486
+
7487
+ :exampleMetadata: infused
7488
+
7489
+ Example::
7490
+
7491
+ source_output = codepipeline.Artifact()
7492
+
7493
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
7494
+ pipeline_type=codepipeline.PipelineType.V2
7495
+ )
7496
+ deploy_action = codepipeline_actions.Ec2DeployAction(
7497
+ action_name="Ec2Deploy",
7498
+ input=source_output,
7499
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
7500
+ instance_tag_key="Name",
7501
+ instance_tag_value="MyInstance",
7502
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
7503
+ target_directory="/home/ec2-user/deploy",
7504
+ pre_script="scripts/pre-deploy.sh",
7505
+ post_script="scripts/post-deploy.sh"
7506
+ )
7507
+ )
7508
+ deploy_stage = pipeline.add_stage(
7509
+ stage_name="Deploy",
7510
+ actions=[deploy_action]
7511
+ )
7512
+ '''
7513
+
7514
+ def __init__(
7515
+ self,
7516
+ *,
7517
+ deploy_specifications: "Ec2DeploySpecifications",
7518
+ input: _Artifact_0cb05964,
7519
+ instance_tag_key: builtins.str,
7520
+ instance_type: "Ec2InstanceType",
7521
+ instance_tag_value: typing.Optional[builtins.str] = None,
7522
+ max_batch: typing.Optional["Ec2MaxInstances"] = None,
7523
+ max_error: typing.Optional["Ec2MaxInstances"] = None,
7524
+ target_groups: typing.Optional[typing.Sequence[_ITargetGroup_83c6f8c4]] = None,
7525
+ role: typing.Optional[_IRole_235f5d8e] = None,
7526
+ action_name: builtins.str,
7527
+ run_order: typing.Optional[jsii.Number] = None,
7528
+ variables_namespace: typing.Optional[builtins.str] = None,
7529
+ ) -> None:
7530
+ '''
7531
+ :param deploy_specifications: The deploy specifications.
7532
+ :param input: The input artifact to deploy to EC2 instances.
7533
+ :param instance_tag_key: The tag key of the instances that you created in Amazon EC2.
7534
+ :param instance_type: The type of instances or SSM nodes created in Amazon EC2. You must have already created, tagged, and installed the SSM agent on all instances.
7535
+ :param instance_tag_value: The tag value of the instances that you created in Amazon EC2. Default: - all instances with ``instanceTagKey`` will be matched
7536
+ :param max_batch: The number or percentage of instances that can deploy in parallel. Default: - No configuration
7537
+ :param max_error: Stop the task after the task fails on the specified number or percentage of instances. Default: - No configuration
7538
+ :param target_groups: The list of target groups for deployment. You must have already created the target groups. Target groups provide a set of instances to process specific requests. If the target group is specified, instances will be removed from the target group before deployment and added back to the target group after deployment. Default: - No target groups
7539
+ :param role: The Role in which context's this Action will be executing in. The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your ``IAction.bind`` method in the ``ActionBindOptions.role`` property. Default: a new Role will be generated
7540
+ :param action_name: The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.
7541
+ :param run_order: The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1
7542
+ :param variables_namespace: The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set
7543
+ '''
7544
+ props = Ec2DeployActionProps(
7545
+ deploy_specifications=deploy_specifications,
7546
+ input=input,
7547
+ instance_tag_key=instance_tag_key,
7548
+ instance_type=instance_type,
7549
+ instance_tag_value=instance_tag_value,
7550
+ max_batch=max_batch,
7551
+ max_error=max_error,
7552
+ target_groups=target_groups,
7553
+ role=role,
7554
+ action_name=action_name,
7555
+ run_order=run_order,
7556
+ variables_namespace=variables_namespace,
7557
+ )
7558
+
7559
+ jsii.create(self.__class__, self, [props])
7560
+
7561
+ @jsii.member(jsii_name="bound")
7562
+ def _bound(
7563
+ self,
7564
+ scope: _constructs_77d1e7e8.Construct,
7565
+ stage: _IStage_415fc571,
7566
+ *,
7567
+ bucket: _IBucket_42e086fd,
7568
+ role: _IRole_235f5d8e,
7569
+ ) -> _ActionConfig_846fc217:
7570
+ '''This is a renamed version of the ``IAction.bind`` method.
7571
+
7572
+ :param scope: -
7573
+ :param stage: -
7574
+ :param bucket:
7575
+ :param role:
7576
+ '''
7577
+ if __debug__:
7578
+ type_hints = typing.get_type_hints(_typecheckingstub__1026fef46ba79290b142d3470acde1d15ba5dca85d4d75461fae4a19ce1093f3)
7579
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7580
+ check_type(argname="argument stage", value=stage, expected_type=type_hints["stage"])
7581
+ options = _ActionBindOptions_3a612254(bucket=bucket, role=role)
7582
+
7583
+ return typing.cast(_ActionConfig_846fc217, jsii.invoke(self, "bound", [scope, stage, options]))
7584
+
7585
+
7586
+ @jsii.data_type(
7587
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2DeployActionProps",
7588
+ jsii_struct_bases=[_CommonAwsActionProps_8b809bb6],
7589
+ name_mapping={
7590
+ "action_name": "actionName",
7591
+ "run_order": "runOrder",
7592
+ "variables_namespace": "variablesNamespace",
7593
+ "role": "role",
7594
+ "deploy_specifications": "deploySpecifications",
7595
+ "input": "input",
7596
+ "instance_tag_key": "instanceTagKey",
7597
+ "instance_type": "instanceType",
7598
+ "instance_tag_value": "instanceTagValue",
7599
+ "max_batch": "maxBatch",
7600
+ "max_error": "maxError",
7601
+ "target_groups": "targetGroups",
7602
+ },
7603
+ )
7604
+ class Ec2DeployActionProps(_CommonAwsActionProps_8b809bb6):
7605
+ def __init__(
7606
+ self,
7607
+ *,
7608
+ action_name: builtins.str,
7609
+ run_order: typing.Optional[jsii.Number] = None,
7610
+ variables_namespace: typing.Optional[builtins.str] = None,
7611
+ role: typing.Optional[_IRole_235f5d8e] = None,
7612
+ deploy_specifications: "Ec2DeploySpecifications",
7613
+ input: _Artifact_0cb05964,
7614
+ instance_tag_key: builtins.str,
7615
+ instance_type: "Ec2InstanceType",
7616
+ instance_tag_value: typing.Optional[builtins.str] = None,
7617
+ max_batch: typing.Optional["Ec2MaxInstances"] = None,
7618
+ max_error: typing.Optional["Ec2MaxInstances"] = None,
7619
+ target_groups: typing.Optional[typing.Sequence[_ITargetGroup_83c6f8c4]] = None,
7620
+ ) -> None:
7621
+ '''Construction properties of ``Ec2DeployAction``.
7622
+
7623
+ :param action_name: The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.
7624
+ :param run_order: The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1
7625
+ :param variables_namespace: The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set
7626
+ :param role: The Role in which context's this Action will be executing in. The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your ``IAction.bind`` method in the ``ActionBindOptions.role`` property. Default: a new Role will be generated
7627
+ :param deploy_specifications: The deploy specifications.
7628
+ :param input: The input artifact to deploy to EC2 instances.
7629
+ :param instance_tag_key: The tag key of the instances that you created in Amazon EC2.
7630
+ :param instance_type: The type of instances or SSM nodes created in Amazon EC2. You must have already created, tagged, and installed the SSM agent on all instances.
7631
+ :param instance_tag_value: The tag value of the instances that you created in Amazon EC2. Default: - all instances with ``instanceTagKey`` will be matched
7632
+ :param max_batch: The number or percentage of instances that can deploy in parallel. Default: - No configuration
7633
+ :param max_error: Stop the task after the task fails on the specified number or percentage of instances. Default: - No configuration
7634
+ :param target_groups: The list of target groups for deployment. You must have already created the target groups. Target groups provide a set of instances to process specific requests. If the target group is specified, instances will be removed from the target group before deployment and added back to the target group after deployment. Default: - No target groups
7635
+
7636
+ :exampleMetadata: infused
7637
+
7638
+ Example::
7639
+
7640
+ source_output = codepipeline.Artifact()
7641
+
7642
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
7643
+ pipeline_type=codepipeline.PipelineType.V2
7644
+ )
7645
+ deploy_action = codepipeline_actions.Ec2DeployAction(
7646
+ action_name="Ec2Deploy",
7647
+ input=source_output,
7648
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
7649
+ instance_tag_key="Name",
7650
+ instance_tag_value="MyInstance",
7651
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
7652
+ target_directory="/home/ec2-user/deploy",
7653
+ pre_script="scripts/pre-deploy.sh",
7654
+ post_script="scripts/post-deploy.sh"
7655
+ )
7656
+ )
7657
+ deploy_stage = pipeline.add_stage(
7658
+ stage_name="Deploy",
7659
+ actions=[deploy_action]
7660
+ )
7661
+ '''
7662
+ if __debug__:
7663
+ type_hints = typing.get_type_hints(_typecheckingstub__225dd96d8ba8522e8bfc8b31fa16ff6693be609ffc720344cec108c218cd8a5e)
7664
+ check_type(argname="argument action_name", value=action_name, expected_type=type_hints["action_name"])
7665
+ check_type(argname="argument run_order", value=run_order, expected_type=type_hints["run_order"])
7666
+ check_type(argname="argument variables_namespace", value=variables_namespace, expected_type=type_hints["variables_namespace"])
7667
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
7668
+ check_type(argname="argument deploy_specifications", value=deploy_specifications, expected_type=type_hints["deploy_specifications"])
7669
+ check_type(argname="argument input", value=input, expected_type=type_hints["input"])
7670
+ check_type(argname="argument instance_tag_key", value=instance_tag_key, expected_type=type_hints["instance_tag_key"])
7671
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
7672
+ check_type(argname="argument instance_tag_value", value=instance_tag_value, expected_type=type_hints["instance_tag_value"])
7673
+ check_type(argname="argument max_batch", value=max_batch, expected_type=type_hints["max_batch"])
7674
+ check_type(argname="argument max_error", value=max_error, expected_type=type_hints["max_error"])
7675
+ check_type(argname="argument target_groups", value=target_groups, expected_type=type_hints["target_groups"])
7676
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7677
+ "action_name": action_name,
7678
+ "deploy_specifications": deploy_specifications,
7679
+ "input": input,
7680
+ "instance_tag_key": instance_tag_key,
7681
+ "instance_type": instance_type,
7682
+ }
7683
+ if run_order is not None:
7684
+ self._values["run_order"] = run_order
7685
+ if variables_namespace is not None:
7686
+ self._values["variables_namespace"] = variables_namespace
7687
+ if role is not None:
7688
+ self._values["role"] = role
7689
+ if instance_tag_value is not None:
7690
+ self._values["instance_tag_value"] = instance_tag_value
7691
+ if max_batch is not None:
7692
+ self._values["max_batch"] = max_batch
7693
+ if max_error is not None:
7694
+ self._values["max_error"] = max_error
7695
+ if target_groups is not None:
7696
+ self._values["target_groups"] = target_groups
7697
+
7698
+ @builtins.property
7699
+ def action_name(self) -> builtins.str:
7700
+ '''The physical, human-readable name of the Action.
7701
+
7702
+ Note that Action names must be unique within a single Stage.
7703
+ '''
7704
+ result = self._values.get("action_name")
7705
+ assert result is not None, "Required property 'action_name' is missing"
7706
+ return typing.cast(builtins.str, result)
7707
+
7708
+ @builtins.property
7709
+ def run_order(self) -> typing.Optional[jsii.Number]:
7710
+ '''The runOrder property for this Action.
7711
+
7712
+ RunOrder determines the relative order in which multiple Actions in the same Stage execute.
7713
+
7714
+ :default: 1
7715
+
7716
+ :see: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
7717
+ '''
7718
+ result = self._values.get("run_order")
7719
+ return typing.cast(typing.Optional[jsii.Number], result)
7720
+
7721
+ @builtins.property
7722
+ def variables_namespace(self) -> typing.Optional[builtins.str]:
7723
+ '''The name of the namespace to use for variables emitted by this action.
7724
+
7725
+ :default:
7726
+
7727
+ - a name will be generated, based on the stage and action names,
7728
+ if any of the action's variables were referenced - otherwise,
7729
+ no namespace will be set
7730
+ '''
7731
+ result = self._values.get("variables_namespace")
7732
+ return typing.cast(typing.Optional[builtins.str], result)
7733
+
7734
+ @builtins.property
7735
+ def role(self) -> typing.Optional[_IRole_235f5d8e]:
7736
+ '''The Role in which context's this Action will be executing in.
7737
+
7738
+ The Pipeline's Role will assume this Role
7739
+ (the required permissions for that will be granted automatically)
7740
+ right before executing this Action.
7741
+ This Action will be passed into your ``IAction.bind``
7742
+ method in the ``ActionBindOptions.role`` property.
7743
+
7744
+ :default: a new Role will be generated
7745
+ '''
7746
+ result = self._values.get("role")
7747
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
7748
+
7749
+ @builtins.property
7750
+ def deploy_specifications(self) -> "Ec2DeploySpecifications":
7751
+ '''The deploy specifications.'''
7752
+ result = self._values.get("deploy_specifications")
7753
+ assert result is not None, "Required property 'deploy_specifications' is missing"
7754
+ return typing.cast("Ec2DeploySpecifications", result)
7755
+
7756
+ @builtins.property
7757
+ def input(self) -> _Artifact_0cb05964:
7758
+ '''The input artifact to deploy to EC2 instances.'''
7759
+ result = self._values.get("input")
7760
+ assert result is not None, "Required property 'input' is missing"
7761
+ return typing.cast(_Artifact_0cb05964, result)
7762
+
7763
+ @builtins.property
7764
+ def instance_tag_key(self) -> builtins.str:
7765
+ '''The tag key of the instances that you created in Amazon EC2.'''
7766
+ result = self._values.get("instance_tag_key")
7767
+ assert result is not None, "Required property 'instance_tag_key' is missing"
7768
+ return typing.cast(builtins.str, result)
7769
+
7770
+ @builtins.property
7771
+ def instance_type(self) -> "Ec2InstanceType":
7772
+ '''The type of instances or SSM nodes created in Amazon EC2.
7773
+
7774
+ You must have already created, tagged, and installed the SSM agent on all instances.
7775
+ '''
7776
+ result = self._values.get("instance_type")
7777
+ assert result is not None, "Required property 'instance_type' is missing"
7778
+ return typing.cast("Ec2InstanceType", result)
7779
+
7780
+ @builtins.property
7781
+ def instance_tag_value(self) -> typing.Optional[builtins.str]:
7782
+ '''The tag value of the instances that you created in Amazon EC2.
7783
+
7784
+ :default: - all instances with ``instanceTagKey`` will be matched
7785
+ '''
7786
+ result = self._values.get("instance_tag_value")
7787
+ return typing.cast(typing.Optional[builtins.str], result)
7788
+
7789
+ @builtins.property
7790
+ def max_batch(self) -> typing.Optional["Ec2MaxInstances"]:
7791
+ '''The number or percentage of instances that can deploy in parallel.
7792
+
7793
+ :default: - No configuration
7794
+ '''
7795
+ result = self._values.get("max_batch")
7796
+ return typing.cast(typing.Optional["Ec2MaxInstances"], result)
7797
+
7798
+ @builtins.property
7799
+ def max_error(self) -> typing.Optional["Ec2MaxInstances"]:
7800
+ '''Stop the task after the task fails on the specified number or percentage of instances.
7801
+
7802
+ :default: - No configuration
7803
+ '''
7804
+ result = self._values.get("max_error")
7805
+ return typing.cast(typing.Optional["Ec2MaxInstances"], result)
7806
+
7807
+ @builtins.property
7808
+ def target_groups(self) -> typing.Optional[typing.List[_ITargetGroup_83c6f8c4]]:
7809
+ '''The list of target groups for deployment. You must have already created the target groups.
7810
+
7811
+ Target groups provide a set of instances to process specific requests.
7812
+ If the target group is specified, instances will be removed from the target group before deployment and added back to the target group after deployment.
7813
+
7814
+ :default: - No target groups
7815
+ '''
7816
+ result = self._values.get("target_groups")
7817
+ return typing.cast(typing.Optional[typing.List[_ITargetGroup_83c6f8c4]], result)
7818
+
7819
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7820
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7821
+
7822
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7823
+ return not (rhs == self)
7824
+
7825
+ def __repr__(self) -> str:
7826
+ return "Ec2DeployActionProps(%s)" % ", ".join(
7827
+ k + "=" + repr(v) for k, v in self._values.items()
7828
+ )
7829
+
7830
+
7831
+ class Ec2DeploySpecifications(
7832
+ metaclass=jsii.JSIIAbstractClass,
7833
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2DeploySpecifications",
7834
+ ):
7835
+ '''A deploy specifications for EC2 deploy action.
7836
+
7837
+ :exampleMetadata: infused
7838
+
7839
+ Example::
7840
+
7841
+ source_output = codepipeline.Artifact()
7842
+
7843
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
7844
+ pipeline_type=codepipeline.PipelineType.V2
7845
+ )
7846
+ deploy_action = codepipeline_actions.Ec2DeployAction(
7847
+ action_name="Ec2Deploy",
7848
+ input=source_output,
7849
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
7850
+ instance_tag_key="Name",
7851
+ instance_tag_value="MyInstance",
7852
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
7853
+ target_directory="/home/ec2-user/deploy",
7854
+ pre_script="scripts/pre-deploy.sh",
7855
+ post_script="scripts/post-deploy.sh"
7856
+ )
7857
+ )
7858
+ deploy_stage = pipeline.add_stage(
7859
+ stage_name="Deploy",
7860
+ actions=[deploy_action]
7861
+ )
7862
+ '''
7863
+
7864
+ def __init__(self) -> None:
7865
+ jsii.create(self.__class__, self, [])
7866
+
7867
+ @jsii.member(jsii_name="inline")
7868
+ @builtins.classmethod
7869
+ def inline(
7870
+ cls,
7871
+ *,
7872
+ post_script: builtins.str,
7873
+ target_directory: builtins.str,
7874
+ pre_script: typing.Optional[builtins.str] = None,
7875
+ ) -> "Ec2DeploySpecifications":
7876
+ '''Store deploy specifications as action configurations.
7877
+
7878
+ :param post_script: Path to the executable script file that runs AFTER the Deploy phase. It should start from the root directory of your uploaded source artifact. Use an absolute path like ``uploadDir/postScript.sh``.
7879
+ :param target_directory: The location of the target directory you want to deploy to. Use an absolute path like ``/home/ec2-user/deploy``.
7880
+ :param pre_script: Path to the executable script file that runs BEFORE the Deploy phase. It should start from the root directory of your uploaded source artifact. Use an absolute path like ``uploadDir/preScript.sh``. Default: - No script
7881
+ '''
7882
+ props = Ec2DeploySpecificationsInlineProps(
7883
+ post_script=post_script,
7884
+ target_directory=target_directory,
7885
+ pre_script=pre_script,
7886
+ )
7887
+
7888
+ return typing.cast("Ec2DeploySpecifications", jsii.sinvoke(cls, "inline", [props]))
7889
+
7890
+ @jsii.member(jsii_name="bind")
7891
+ @abc.abstractmethod
7892
+ def bind(self, scope: _constructs_77d1e7e8.Construct) -> typing.Any:
7893
+ '''The callback invoked when this deploy specifications is bound to an action.
7894
+
7895
+ :param scope: the Construct tree scope.
7896
+
7897
+ :return: the action configurations
7898
+ '''
7899
+ ...
7900
+
7901
+
7902
+ class _Ec2DeploySpecificationsProxy(Ec2DeploySpecifications):
7903
+ @jsii.member(jsii_name="bind")
7904
+ def bind(self, scope: _constructs_77d1e7e8.Construct) -> typing.Any:
7905
+ '''The callback invoked when this deploy specifications is bound to an action.
7906
+
7907
+ :param scope: the Construct tree scope.
7908
+
7909
+ :return: the action configurations
7910
+ '''
7911
+ if __debug__:
7912
+ type_hints = typing.get_type_hints(_typecheckingstub__8fe0c9475640f4fcf94f4eed35f014bdd8b27820f79297a5fd4c4b4e09da0789)
7913
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7914
+ return typing.cast(typing.Any, jsii.invoke(self, "bind", [scope]))
7915
+
7916
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
7917
+ typing.cast(typing.Any, Ec2DeploySpecifications).__jsii_proxy_class__ = lambda : _Ec2DeploySpecificationsProxy
7918
+
7919
+
7920
+ @jsii.data_type(
7921
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2DeploySpecificationsInlineProps",
7922
+ jsii_struct_bases=[],
7923
+ name_mapping={
7924
+ "post_script": "postScript",
7925
+ "target_directory": "targetDirectory",
7926
+ "pre_script": "preScript",
7927
+ },
7928
+ )
7929
+ class Ec2DeploySpecificationsInlineProps:
7930
+ def __init__(
7931
+ self,
7932
+ *,
7933
+ post_script: builtins.str,
7934
+ target_directory: builtins.str,
7935
+ pre_script: typing.Optional[builtins.str] = None,
7936
+ ) -> None:
7937
+ '''Properties of ``Ec2DeploySpecifications.inline()``.
7938
+
7939
+ :param post_script: Path to the executable script file that runs AFTER the Deploy phase. It should start from the root directory of your uploaded source artifact. Use an absolute path like ``uploadDir/postScript.sh``.
7940
+ :param target_directory: The location of the target directory you want to deploy to. Use an absolute path like ``/home/ec2-user/deploy``.
7941
+ :param pre_script: Path to the executable script file that runs BEFORE the Deploy phase. It should start from the root directory of your uploaded source artifact. Use an absolute path like ``uploadDir/preScript.sh``. Default: - No script
7942
+
7943
+ :exampleMetadata: infused
7944
+
7945
+ Example::
7946
+
7947
+ source_output = codepipeline.Artifact()
7948
+
7949
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
7950
+ pipeline_type=codepipeline.PipelineType.V2
7951
+ )
7952
+ deploy_action = codepipeline_actions.Ec2DeployAction(
7953
+ action_name="Ec2Deploy",
7954
+ input=source_output,
7955
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
7956
+ instance_tag_key="Name",
7957
+ instance_tag_value="MyInstance",
7958
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
7959
+ target_directory="/home/ec2-user/deploy",
7960
+ pre_script="scripts/pre-deploy.sh",
7961
+ post_script="scripts/post-deploy.sh"
7962
+ )
7963
+ )
7964
+ deploy_stage = pipeline.add_stage(
7965
+ stage_name="Deploy",
7966
+ actions=[deploy_action]
7967
+ )
7968
+ '''
7969
+ if __debug__:
7970
+ type_hints = typing.get_type_hints(_typecheckingstub__769b1e5a880ab504838545c9be772767200b554e6f63aba9e8ebb29b34aa438f)
7971
+ check_type(argname="argument post_script", value=post_script, expected_type=type_hints["post_script"])
7972
+ check_type(argname="argument target_directory", value=target_directory, expected_type=type_hints["target_directory"])
7973
+ check_type(argname="argument pre_script", value=pre_script, expected_type=type_hints["pre_script"])
7974
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7975
+ "post_script": post_script,
7976
+ "target_directory": target_directory,
7977
+ }
7978
+ if pre_script is not None:
7979
+ self._values["pre_script"] = pre_script
7980
+
7981
+ @builtins.property
7982
+ def post_script(self) -> builtins.str:
7983
+ '''Path to the executable script file that runs AFTER the Deploy phase.
7984
+
7985
+ It should start from the root directory of your uploaded source artifact.
7986
+ Use an absolute path like ``uploadDir/postScript.sh``.
7987
+ '''
7988
+ result = self._values.get("post_script")
7989
+ assert result is not None, "Required property 'post_script' is missing"
7990
+ return typing.cast(builtins.str, result)
7991
+
7992
+ @builtins.property
7993
+ def target_directory(self) -> builtins.str:
7994
+ '''The location of the target directory you want to deploy to.
7995
+
7996
+ Use an absolute path like ``/home/ec2-user/deploy``.
7997
+ '''
7998
+ result = self._values.get("target_directory")
7999
+ assert result is not None, "Required property 'target_directory' is missing"
8000
+ return typing.cast(builtins.str, result)
8001
+
8002
+ @builtins.property
8003
+ def pre_script(self) -> typing.Optional[builtins.str]:
8004
+ '''Path to the executable script file that runs BEFORE the Deploy phase.
8005
+
8006
+ It should start from the root directory of your uploaded source artifact.
8007
+ Use an absolute path like ``uploadDir/preScript.sh``.
8008
+
8009
+ :default: - No script
8010
+ '''
8011
+ result = self._values.get("pre_script")
8012
+ return typing.cast(typing.Optional[builtins.str], result)
8013
+
8014
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8015
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8016
+
8017
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8018
+ return not (rhs == self)
8019
+
8020
+ def __repr__(self) -> str:
8021
+ return "Ec2DeploySpecificationsInlineProps(%s)" % ", ".join(
8022
+ k + "=" + repr(v) for k, v in self._values.items()
8023
+ )
8024
+
8025
+
8026
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2InstanceType")
8027
+ class Ec2InstanceType(enum.Enum):
8028
+ '''The type of instances or SSM nodes created in Amazon EC2.
8029
+
8030
+ :see: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-EC2Deploy.html#action-reference-EC2Deploy-parameters
8031
+ :exampleMetadata: infused
8032
+
8033
+ Example::
8034
+
8035
+ source_output = codepipeline.Artifact()
8036
+
8037
+ pipeline = codepipeline.Pipeline(self, "MyPipeline",
8038
+ pipeline_type=codepipeline.PipelineType.V2
8039
+ )
8040
+ deploy_action = codepipeline_actions.Ec2DeployAction(
8041
+ action_name="Ec2Deploy",
8042
+ input=source_output,
8043
+ instance_type=codepipeline_actions.Ec2InstanceType.EC2,
8044
+ instance_tag_key="Name",
8045
+ instance_tag_value="MyInstance",
8046
+ deploy_specifications=codepipeline_actions.Ec2DeploySpecifications.inline(
8047
+ target_directory="/home/ec2-user/deploy",
8048
+ pre_script="scripts/pre-deploy.sh",
8049
+ post_script="scripts/post-deploy.sh"
8050
+ )
8051
+ )
8052
+ deploy_stage = pipeline.add_stage(
8053
+ stage_name="Deploy",
8054
+ actions=[deploy_action]
8055
+ )
8056
+ '''
8057
+
8058
+ EC2 = "EC2"
8059
+ '''Amazon EC2 instances.'''
8060
+ SSM_MANAGED_NODE = "SSM_MANAGED_NODE"
8061
+ '''AWS System Manager (SSM) managed nodes.'''
8062
+
8063
+
8064
+ class Ec2MaxInstances(
8065
+ metaclass=jsii.JSIIAbstractClass,
8066
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.Ec2MaxInstances",
8067
+ ):
8068
+ '''Number or percentage of max instances for EC2 deploy action.
8069
+
8070
+ :exampleMetadata: fixture=_generated
8071
+
8072
+ Example::
8073
+
8074
+ # The code below shows an example of how to instantiate this type.
8075
+ # The values are placeholders you should change.
8076
+ from aws_cdk import aws_codepipeline_actions as codepipeline_actions
8077
+
8078
+ ec2_max_instances = codepipeline_actions.Ec2MaxInstances.percentage(123)
8079
+ '''
8080
+
8081
+ def __init__(self) -> None:
8082
+ jsii.create(self.__class__, self, [])
8083
+
8084
+ @jsii.member(jsii_name="percentage")
8085
+ @builtins.classmethod
8086
+ def percentage(cls, percentage: jsii.Number) -> "Ec2MaxInstances":
8087
+ '''Max percentage of instances.
8088
+
8089
+ Valid range: from 1 to 100
8090
+
8091
+ :param percentage: -
8092
+ '''
8093
+ if __debug__:
8094
+ type_hints = typing.get_type_hints(_typecheckingstub__88262cff82359d09742e9cb604db52106ed349e39bacaa8dd2326457b21b481c)
8095
+ check_type(argname="argument percentage", value=percentage, expected_type=type_hints["percentage"])
8096
+ return typing.cast("Ec2MaxInstances", jsii.sinvoke(cls, "percentage", [percentage]))
8097
+
8098
+ @jsii.member(jsii_name="targets")
8099
+ @builtins.classmethod
8100
+ def targets(cls, targets: jsii.Number) -> "Ec2MaxInstances":
8101
+ '''Max number of instances.
8102
+
8103
+ Valid range: from 1 to number of your instances
8104
+
8105
+ :param targets: -
8106
+ '''
8107
+ if __debug__:
8108
+ type_hints = typing.get_type_hints(_typecheckingstub__e3f98523d6da909c9dd102b756cad240f6a02a3002622137c97e0c5a90241491)
8109
+ check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
8110
+ return typing.cast("Ec2MaxInstances", jsii.sinvoke(cls, "targets", [targets]))
8111
+
8112
+ @builtins.property
8113
+ @jsii.member(jsii_name="value")
8114
+ @abc.abstractmethod
8115
+ def value(self) -> builtins.str:
8116
+ '''Template value.'''
8117
+ ...
8118
+
8119
+
8120
+ class _Ec2MaxInstancesProxy(Ec2MaxInstances):
8121
+ @builtins.property
8122
+ @jsii.member(jsii_name="value")
8123
+ def value(self) -> builtins.str:
8124
+ '''Template value.'''
8125
+ return typing.cast(builtins.str, jsii.get(self, "value"))
8126
+
8127
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
8128
+ typing.cast(typing.Any, Ec2MaxInstances).__jsii_proxy_class__ = lambda : _Ec2MaxInstancesProxy
8129
+
8130
+
7446
8131
  class EcrBuildAndPublishAction(
7447
8132
  Action,
7448
8133
  metaclass=jsii.JSIIMeta,
@@ -14701,6 +15386,12 @@ __all__ = [
14701
15386
  "CommandsAction",
14702
15387
  "CommandsActionProps",
14703
15388
  "CommonCloudFormationStackSetOptions",
15389
+ "Ec2DeployAction",
15390
+ "Ec2DeployActionProps",
15391
+ "Ec2DeploySpecifications",
15392
+ "Ec2DeploySpecificationsInlineProps",
15393
+ "Ec2InstanceType",
15394
+ "Ec2MaxInstances",
14704
15395
  "EcrBuildAndPublishAction",
14705
15396
  "EcrBuildAndPublishActionProps",
14706
15397
  "EcrBuildAndPublishVariables",
@@ -15193,6 +15884,61 @@ def _typecheckingstub__2410584584bdbc5570942e28fb48b74fa12d17853f6fde7bdcddfd923
15193
15884
  """Type checking stubs"""
15194
15885
  pass
15195
15886
 
15887
+ def _typecheckingstub__1026fef46ba79290b142d3470acde1d15ba5dca85d4d75461fae4a19ce1093f3(
15888
+ scope: _constructs_77d1e7e8.Construct,
15889
+ stage: _IStage_415fc571,
15890
+ *,
15891
+ bucket: _IBucket_42e086fd,
15892
+ role: _IRole_235f5d8e,
15893
+ ) -> None:
15894
+ """Type checking stubs"""
15895
+ pass
15896
+
15897
+ def _typecheckingstub__225dd96d8ba8522e8bfc8b31fa16ff6693be609ffc720344cec108c218cd8a5e(
15898
+ *,
15899
+ action_name: builtins.str,
15900
+ run_order: typing.Optional[jsii.Number] = None,
15901
+ variables_namespace: typing.Optional[builtins.str] = None,
15902
+ role: typing.Optional[_IRole_235f5d8e] = None,
15903
+ deploy_specifications: Ec2DeploySpecifications,
15904
+ input: _Artifact_0cb05964,
15905
+ instance_tag_key: builtins.str,
15906
+ instance_type: Ec2InstanceType,
15907
+ instance_tag_value: typing.Optional[builtins.str] = None,
15908
+ max_batch: typing.Optional[Ec2MaxInstances] = None,
15909
+ max_error: typing.Optional[Ec2MaxInstances] = None,
15910
+ target_groups: typing.Optional[typing.Sequence[_ITargetGroup_83c6f8c4]] = None,
15911
+ ) -> None:
15912
+ """Type checking stubs"""
15913
+ pass
15914
+
15915
+ def _typecheckingstub__8fe0c9475640f4fcf94f4eed35f014bdd8b27820f79297a5fd4c4b4e09da0789(
15916
+ scope: _constructs_77d1e7e8.Construct,
15917
+ ) -> None:
15918
+ """Type checking stubs"""
15919
+ pass
15920
+
15921
+ def _typecheckingstub__769b1e5a880ab504838545c9be772767200b554e6f63aba9e8ebb29b34aa438f(
15922
+ *,
15923
+ post_script: builtins.str,
15924
+ target_directory: builtins.str,
15925
+ pre_script: typing.Optional[builtins.str] = None,
15926
+ ) -> None:
15927
+ """Type checking stubs"""
15928
+ pass
15929
+
15930
+ def _typecheckingstub__88262cff82359d09742e9cb604db52106ed349e39bacaa8dd2326457b21b481c(
15931
+ percentage: jsii.Number,
15932
+ ) -> None:
15933
+ """Type checking stubs"""
15934
+ pass
15935
+
15936
+ def _typecheckingstub__e3f98523d6da909c9dd102b756cad240f6a02a3002622137c97e0c5a90241491(
15937
+ targets: jsii.Number,
15938
+ ) -> None:
15939
+ """Type checking stubs"""
15940
+ pass
15941
+
15196
15942
  def _typecheckingstub__29d16187e06f9d23101e6955f383d38368a5309fb4f73cf04c52e7a739830b33(
15197
15943
  scope: _constructs_77d1e7e8.Construct,
15198
15944
  stage: _IStage_415fc571,
@@ -15817,3 +16563,6 @@ def _typecheckingstub__f767a7af4c7a4c7e8b968b8d74d0bedaa20760581e9bc35fda6834632
15817
16563
  ) -> None:
15818
16564
  """Type checking stubs"""
15819
16565
  pass
16566
+
16567
+ for cls in [ICustomEventRule, IJenkinsProvider]:
16568
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])