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
@@ -261,9 +261,72 @@ codebuild.Project(self, "Project",
261
261
  )
262
262
  ```
263
263
 
264
- Note that two different CodeBuild Projects using the same S3 bucket will *not*
265
- share their cache: each Project will get a unique file in the S3 bucket to store
266
- the cache in.
264
+ If you want to [share the same cache between multiple projects](https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing), you must must do the following:
265
+
266
+ * Use the same `cacheNamespace`.
267
+ * Specify the same cache key.
268
+ * Define identical cache paths.
269
+ * Use the same Amazon S3 buckets and `pathPrefix` if set.
270
+
271
+ ```python
272
+ # source_bucket: s3.Bucket
273
+ # my_caching_bucket: s3.Bucket
274
+
275
+
276
+ codebuild.Project(self, "ProjectA",
277
+ source=codebuild.Source.s3(
278
+ bucket=source_bucket,
279
+ path="path/to/source-a.zip"
280
+ ),
281
+ # configure the same bucket and path prefix
282
+ cache=codebuild.Cache.bucket(my_caching_bucket,
283
+ prefix="cache",
284
+ # use the same cache namespace
285
+ cache_namespace="cache-namespace"
286
+ ),
287
+ build_spec=codebuild.BuildSpec.from_object({
288
+ "version": "0.2",
289
+ "phases": {
290
+ "build": {
291
+ "commands": ["..."]
292
+ }
293
+ },
294
+ # specify the same cache key and paths
295
+ "cache": {
296
+ "key": "unique-key",
297
+ "paths": ["/root/cachedir/**/*"
298
+ ]
299
+ }
300
+ })
301
+ )
302
+
303
+ codebuild.Project(self, "ProjectB",
304
+ source=codebuild.Source.s3(
305
+ bucket=source_bucket,
306
+ path="path/to/source-b.zip"
307
+ ),
308
+ # configure the same bucket and path prefix
309
+ cache=codebuild.Cache.bucket(my_caching_bucket,
310
+ prefix="cache",
311
+ # use the same cache namespace
312
+ cache_namespace="cache-namespace"
313
+ ),
314
+ build_spec=codebuild.BuildSpec.from_object({
315
+ "version": "0.2",
316
+ "phases": {
317
+ "build": {
318
+ "commands": ["..."]
319
+ }
320
+ },
321
+ # specify the same cache key and paths
322
+ "cache": {
323
+ "key": "unique-key",
324
+ "paths": ["/root/cachedir/**/*"
325
+ ]
326
+ }
327
+ })
328
+ )
329
+ ```
267
330
 
268
331
  ### Local Caching
269
332
 
@@ -313,6 +376,7 @@ can use the `environment` property to customize the build environment:
313
376
  details on how to define build images.
314
377
  * `certificate` defines the location of a PEM encoded certificate to import.
315
378
  * `computeType` defines the instance type used for the build.
379
+ * `dockerServer` defines the docker server used for the build.
316
380
  * `privileged` can be set to `true` to allow privileged access.
317
381
  * `environmentVariables` can be set at this level (and also at the project
318
382
  level).
@@ -520,6 +584,80 @@ fleet = codebuild.Fleet(self, "MyFleet",
520
584
  )
521
585
  ```
522
586
 
587
+ ### Custom instance types
588
+
589
+ You can use [specific EC2 instance
590
+ types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types)
591
+ for your fleet by setting the `computeType` to `CUSTOM_INSTANCE_TYPE`. This
592
+ allows you to specify the `instanceType` in `computeConfiguration`. Only certain
593
+ EC2 instance types are supported; see the linked documentation for details.
594
+
595
+ ```python
596
+ from aws_cdk import Size
597
+
598
+
599
+ fleet = codebuild.Fleet(self, "MyFleet",
600
+ base_capacity=1,
601
+ compute_type=codebuild.FleetComputeType.CUSTOM_INSTANCE_TYPE,
602
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
603
+ compute_configuration=codebuild.ComputeConfiguration(
604
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
605
+ # By default, 64 GiB of disk space is included. Any value optionally
606
+ # specified here is _incremental_ on top of the included disk space.
607
+ disk=Size.gibibytes(10)
608
+ )
609
+ )
610
+ ```
611
+
612
+ ### Fleet overflow behavior
613
+
614
+ When your builds exceed the capacity of your fleet, you can specify how CodeBuild should handle the overflow builds by setting the `overflowBehavior` property:
615
+
616
+ ```python
617
+ fleet = codebuild.Fleet(self, "Fleet",
618
+ compute_type=codebuild.FleetComputeType.MEDIUM,
619
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
620
+ base_capacity=1,
621
+ overflow_behavior=codebuild.FleetOverflowBehavior.ON_DEMAND
622
+ )
623
+ ```
624
+
625
+ The available overflow behaviors are:
626
+
627
+ * `QUEUE` (default): Overflow builds wait for existing fleet instances to become available
628
+ * `ON_DEMAND`: Overflow builds run on CodeBuild on-demand instances
629
+
630
+ Note: If you set overflow behavior to `ON_DEMAND` for a VPC-connected fleet, ensure your VPC settings allow access to public AWS services.
631
+
632
+ ### VPCs
633
+
634
+ The same considerations that apply to [Project
635
+ VPCs](#definition-of-vpc-configuration-in-codebuild-project) also apply to Fleet
636
+ VPCs. When using a Fleet in a CodeBuild Project, it is an error to configure a
637
+ VPC on the Project. Configure a VPC on the fleet instead.
638
+
639
+ ```python
640
+ # load_balancer: elbv2.ApplicationLoadBalancer
641
+
642
+
643
+ vpc = ec2.Vpc(self, "MyVPC")
644
+ fleet = codebuild.Fleet(self, "MyProject",
645
+ compute_type=codebuild.FleetComputeType.MEDIUM,
646
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
647
+ base_capacity=1,
648
+ vpc=vpc
649
+ )
650
+
651
+ fleet.connections.allow_to(load_balancer, ec2.Port.tcp(443))
652
+
653
+ project = codebuild.Project(self, "MyProject",
654
+ environment=codebuild.BuildEnvironment(
655
+ fleet=fleet
656
+ ),
657
+ build_spec=codebuild.BuildSpec.from_object({})
658
+ )
659
+ ```
660
+
523
661
  ## Logs
524
662
 
525
663
  CodeBuild lets you specify an S3 Bucket, CloudWatch Log Group or both to receive logs from your projects.
@@ -1096,6 +1234,7 @@ from ..aws_ec2 import (
1096
1234
  IConnectable as _IConnectable_10015a05,
1097
1235
  ISecurityGroup as _ISecurityGroup_acf8a799,
1098
1236
  IVpc as _IVpc_f30d5663,
1237
+ InstanceType as _InstanceType_f64915b9,
1099
1238
  SubnetSelection as _SubnetSelection_e57d76df,
1100
1239
  )
1101
1240
  from ..aws_ecr import IRepository as _IRepository_e6004aa6
@@ -1124,6 +1263,16 @@ from ..aws_kms import IKey as _IKey_5f11635f
1124
1263
  from ..aws_logs import ILogGroup as _ILogGroup_3c4fa718
1125
1264
  from ..aws_s3 import IBucket as _IBucket_42e086fd
1126
1265
  from ..aws_secretsmanager import ISecret as _ISecret_6e020e6a
1266
+ from ..interfaces.aws_codebuild import (
1267
+ FleetReference as _FleetReference_8d121551,
1268
+ IFleetRef as _IFleetRef_31046017,
1269
+ IProjectRef as _IProjectRef_7528e639,
1270
+ IReportGroupRef as _IReportGroupRef_79bc7a1e,
1271
+ ISourceCredentialRef as _ISourceCredentialRef_7f0e7269,
1272
+ ProjectReference as _ProjectReference_40ed5122,
1273
+ ReportGroupReference as _ReportGroupReference_9845652f,
1274
+ SourceCredentialReference as _SourceCredentialReference_97d19067,
1275
+ )
1127
1276
 
1128
1277
 
1129
1278
  @jsii.data_type(
@@ -1392,6 +1541,12 @@ class BitBucketSourceCredentials(
1392
1541
 
1393
1542
  jsii.create(self.__class__, self, [scope, id, props])
1394
1543
 
1544
+ @jsii.python.classproperty
1545
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
1546
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
1547
+ '''Uniquely identifies this class.'''
1548
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
1549
+
1395
1550
 
1396
1551
  @jsii.data_type(
1397
1552
  jsii_type="aws-cdk-lib.aws_codebuild.BitBucketSourceCredentialsProps",
@@ -1457,32 +1612,104 @@ class BitBucketSourceCredentialsProps:
1457
1612
  @jsii.data_type(
1458
1613
  jsii_type="aws-cdk-lib.aws_codebuild.BucketCacheOptions",
1459
1614
  jsii_struct_bases=[],
1460
- name_mapping={"prefix": "prefix"},
1615
+ name_mapping={"cache_namespace": "cacheNamespace", "prefix": "prefix"},
1461
1616
  )
1462
1617
  class BucketCacheOptions:
1463
- def __init__(self, *, prefix: typing.Optional[builtins.str] = None) -> None:
1618
+ def __init__(
1619
+ self,
1620
+ *,
1621
+ cache_namespace: typing.Optional[builtins.str] = None,
1622
+ prefix: typing.Optional[builtins.str] = None,
1623
+ ) -> None:
1464
1624
  '''
1625
+ :param cache_namespace: Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. Default: undefined - No cache namespace, which means that the cache is not shared across multiple projects.
1465
1626
  :param prefix: The prefix to use to store the cache in the bucket.
1466
1627
 
1467
- :exampleMetadata: fixture=_generated
1628
+ :exampleMetadata: infused
1468
1629
 
1469
1630
  Example::
1470
1631
 
1471
- # The code below shows an example of how to instantiate this type.
1472
- # The values are placeholders you should change.
1473
- from aws_cdk import aws_codebuild as codebuild
1632
+ # source_bucket: s3.Bucket
1633
+ # my_caching_bucket: s3.Bucket
1634
+
1635
+
1636
+ codebuild.Project(self, "ProjectA",
1637
+ source=codebuild.Source.s3(
1638
+ bucket=source_bucket,
1639
+ path="path/to/source-a.zip"
1640
+ ),
1641
+ # configure the same bucket and path prefix
1642
+ cache=codebuild.Cache.bucket(my_caching_bucket,
1643
+ prefix="cache",
1644
+ # use the same cache namespace
1645
+ cache_namespace="cache-namespace"
1646
+ ),
1647
+ build_spec=codebuild.BuildSpec.from_object({
1648
+ "version": "0.2",
1649
+ "phases": {
1650
+ "build": {
1651
+ "commands": ["..."]
1652
+ }
1653
+ },
1654
+ # specify the same cache key and paths
1655
+ "cache": {
1656
+ "key": "unique-key",
1657
+ "paths": ["/root/cachedir/**/*"
1658
+ ]
1659
+ }
1660
+ })
1661
+ )
1474
1662
 
1475
- bucket_cache_options = codebuild.BucketCacheOptions(
1476
- prefix="prefix"
1663
+ codebuild.Project(self, "ProjectB",
1664
+ source=codebuild.Source.s3(
1665
+ bucket=source_bucket,
1666
+ path="path/to/source-b.zip"
1667
+ ),
1668
+ # configure the same bucket and path prefix
1669
+ cache=codebuild.Cache.bucket(my_caching_bucket,
1670
+ prefix="cache",
1671
+ # use the same cache namespace
1672
+ cache_namespace="cache-namespace"
1673
+ ),
1674
+ build_spec=codebuild.BuildSpec.from_object({
1675
+ "version": "0.2",
1676
+ "phases": {
1677
+ "build": {
1678
+ "commands": ["..."]
1679
+ }
1680
+ },
1681
+ # specify the same cache key and paths
1682
+ "cache": {
1683
+ "key": "unique-key",
1684
+ "paths": ["/root/cachedir/**/*"
1685
+ ]
1686
+ }
1687
+ })
1477
1688
  )
1478
1689
  '''
1479
1690
  if __debug__:
1480
1691
  type_hints = typing.get_type_hints(_typecheckingstub__0964d02b7c6a99cc65ab53a8ae83bdb47d0901ee8a6f094b815d479e0fd8cb10)
1692
+ check_type(argname="argument cache_namespace", value=cache_namespace, expected_type=type_hints["cache_namespace"])
1481
1693
  check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
1482
1694
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1695
+ if cache_namespace is not None:
1696
+ self._values["cache_namespace"] = cache_namespace
1483
1697
  if prefix is not None:
1484
1698
  self._values["prefix"] = prefix
1485
1699
 
1700
+ @builtins.property
1701
+ def cache_namespace(self) -> typing.Optional[builtins.str]:
1702
+ '''Defines the scope of the cache.
1703
+
1704
+ You can use this namespace to share a cache across multiple projects.
1705
+
1706
+ :default: undefined - No cache namespace, which means that the cache is not shared across multiple projects.
1707
+
1708
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/caching-s3.html#caching-s3-sharing
1709
+ '''
1710
+ result = self._values.get("cache_namespace")
1711
+ return typing.cast(typing.Optional[builtins.str], result)
1712
+
1486
1713
  @builtins.property
1487
1714
  def prefix(self) -> typing.Optional[builtins.str]:
1488
1715
  '''The prefix to use to store the cache in the bucket.'''
@@ -1508,6 +1735,7 @@ class BucketCacheOptions:
1508
1735
  "build_image": "buildImage",
1509
1736
  "certificate": "certificate",
1510
1737
  "compute_type": "computeType",
1738
+ "docker_server": "dockerServer",
1511
1739
  "environment_variables": "environmentVariables",
1512
1740
  "fleet": "fleet",
1513
1741
  "privileged": "privileged",
@@ -1520,6 +1748,7 @@ class BuildEnvironment:
1520
1748
  build_image: typing.Optional["IBuildImage"] = None,
1521
1749
  certificate: typing.Optional[typing.Union["BuildEnvironmentCertificate", typing.Dict[builtins.str, typing.Any]]] = None,
1522
1750
  compute_type: typing.Optional["ComputeType"] = None,
1751
+ docker_server: typing.Optional[typing.Union["DockerServerOptions", typing.Dict[builtins.str, typing.Any]]] = None,
1523
1752
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union["BuildEnvironmentVariable", typing.Dict[builtins.str, typing.Any]]]] = None,
1524
1753
  fleet: typing.Optional["IFleet"] = None,
1525
1754
  privileged: typing.Optional[builtins.bool] = None,
@@ -1528,6 +1757,7 @@ class BuildEnvironment:
1528
1757
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
1529
1758
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
1530
1759
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
1760
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
1531
1761
  :param environment_variables: The environment variables that your builds can use.
1532
1762
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
1533
1763
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -1565,11 +1795,14 @@ class BuildEnvironment:
1565
1795
  '''
1566
1796
  if isinstance(certificate, dict):
1567
1797
  certificate = BuildEnvironmentCertificate(**certificate)
1798
+ if isinstance(docker_server, dict):
1799
+ docker_server = DockerServerOptions(**docker_server)
1568
1800
  if __debug__:
1569
1801
  type_hints = typing.get_type_hints(_typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dcecf8f434)
1570
1802
  check_type(argname="argument build_image", value=build_image, expected_type=type_hints["build_image"])
1571
1803
  check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
1572
1804
  check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
1805
+ check_type(argname="argument docker_server", value=docker_server, expected_type=type_hints["docker_server"])
1573
1806
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
1574
1807
  check_type(argname="argument fleet", value=fleet, expected_type=type_hints["fleet"])
1575
1808
  check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
@@ -1580,6 +1813,8 @@ class BuildEnvironment:
1580
1813
  self._values["certificate"] = certificate
1581
1814
  if compute_type is not None:
1582
1815
  self._values["compute_type"] = compute_type
1816
+ if docker_server is not None:
1817
+ self._values["docker_server"] = docker_server
1583
1818
  if environment_variables is not None:
1584
1819
  self._values["environment_variables"] = environment_variables
1585
1820
  if fleet is not None:
@@ -1616,6 +1851,20 @@ class BuildEnvironment:
1616
1851
  result = self._values.get("compute_type")
1617
1852
  return typing.cast(typing.Optional["ComputeType"], result)
1618
1853
 
1854
+ @builtins.property
1855
+ def docker_server(self) -> typing.Optional["DockerServerOptions"]:
1856
+ '''The Docker server configuration CodeBuild use to build your Docker image.
1857
+
1858
+ :default: - Doesn't use remote docker server
1859
+
1860
+ :note:
1861
+
1862
+ Security groups configured for Docker servers should allow ingress network traffic
1863
+ from the VPC configured in the project. They should allow ingress on port 9876.
1864
+ '''
1865
+ result = self._values.get("docker_server")
1866
+ return typing.cast(typing.Optional["DockerServerOptions"], result)
1867
+
1619
1868
  @builtins.property
1620
1869
  def environment_variables(
1621
1870
  self,
@@ -2097,31 +2346,57 @@ class Cache(
2097
2346
 
2098
2347
  Example::
2099
2348
 
2100
- # my_caching_bucket: s3.Bucket
2349
+ # vpc: ec2.Vpc
2350
+ # my_security_group: ec2.SecurityGroup
2101
2351
 
2352
+ pipelines.CodeBuildStep("Synth",
2353
+ # ...standard ShellStep props...
2354
+ commands=[],
2355
+ env={},
2102
2356
 
2103
- codebuild.Project(self, "Project",
2104
- source=codebuild.Source.bit_bucket(
2105
- owner="awslabs",
2106
- repo="aws-cdk"
2357
+ # If you are using a CodeBuildStep explicitly, set the 'cdk.out' directory
2358
+ # to be the synth step's output.
2359
+ primary_output_directory="cdk.out",
2360
+
2361
+ # Control the name of the project
2362
+ project_name="MyProject",
2363
+
2364
+ # Control parts of the BuildSpec other than the regular 'build' and 'install' commands
2365
+ partial_build_spec=codebuild.BuildSpec.from_object({
2366
+ "version": "0.2"
2367
+ }),
2368
+
2369
+ # Control the build environment
2370
+ build_environment=codebuild.BuildEnvironment(
2371
+ compute_type=codebuild.ComputeType.LARGE,
2372
+ privileged=True,
2373
+ docker_server=codebuild.DockerServerOptions(
2374
+ compute_type=codebuild.DockerServerComputeType.SMALL,
2375
+ security_groups=[my_security_group]
2376
+ )
2107
2377
  ),
2378
+ timeout=Duration.minutes(90),
2379
+ file_system_locations=[
2380
+ codebuild.FileSystemLocation.efs(
2381
+ identifier="myidentifier2",
2382
+ location="myclodation.mydnsroot.com:/loc",
2383
+ mount_point="/media",
2384
+ mount_options="opts"
2385
+ )
2386
+ ],
2108
2387
 
2109
- cache=codebuild.Cache.bucket(my_caching_bucket),
2388
+ # Control Elastic Network Interface creation
2389
+ vpc=vpc,
2390
+ subnet_selection=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS),
2391
+ security_groups=[my_security_group],
2110
2392
 
2111
- # BuildSpec with a 'cache' section necessary for S3 caching. This can
2112
- # also come from 'buildspec.yml' in your source.
2113
- build_spec=codebuild.BuildSpec.from_object({
2114
- "version": "0.2",
2115
- "phases": {
2116
- "build": {
2117
- "commands": ["..."]
2118
- }
2119
- },
2120
- "cache": {
2121
- "paths": ["/root/cachedir/**/*"
2122
- ]
2123
- }
2124
- })
2393
+ # Control caching
2394
+ cache=codebuild.Cache.bucket(s3.Bucket(self, "Cache")),
2395
+
2396
+ # Additional policy statements for the execution role
2397
+ role_policy_statements=[
2398
+ iam.PolicyStatement()
2399
+ ]
2125
2400
  )
2126
2401
  '''
2127
2402
 
@@ -2134,17 +2409,19 @@ class Cache(
2134
2409
  cls,
2135
2410
  bucket: _IBucket_42e086fd,
2136
2411
  *,
2412
+ cache_namespace: typing.Optional[builtins.str] = None,
2137
2413
  prefix: typing.Optional[builtins.str] = None,
2138
2414
  ) -> "Cache":
2139
2415
  '''Create an S3 caching strategy.
2140
2416
 
2141
2417
  :param bucket: the S3 bucket to use for caching.
2418
+ :param cache_namespace: Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. Default: undefined - No cache namespace, which means that the cache is not shared across multiple projects.
2142
2419
  :param prefix: The prefix to use to store the cache in the bucket.
2143
2420
  '''
2144
2421
  if __debug__:
2145
2422
  type_hints = typing.get_type_hints(_typecheckingstub__17e53da7d0dcdb63a4024e7a2681ef7faa68be13f710db0f237c0a06196e2279)
2146
2423
  check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
2147
- options = BucketCacheOptions(prefix=prefix)
2424
+ options = BucketCacheOptions(cache_namespace=cache_namespace, prefix=prefix)
2148
2425
 
2149
2426
  return typing.cast("Cache", jsii.sinvoke(cls, "bucket", [bucket, options]))
2150
2427
 
@@ -2173,7 +2450,7 @@ class _CacheProxy(Cache):
2173
2450
  typing.cast(typing.Any, Cache).__jsii_proxy_class__ = lambda : _CacheProxy
2174
2451
 
2175
2452
 
2176
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2453
+ @jsii.implements(_IInspectable_c2943556, _IFleetRef_31046017, _ITaggableV2_4e6798f8)
2177
2454
  class CfnFleet(
2178
2455
  _CfnResource_9df397a6,
2179
2456
  metaclass=jsii.JSIIMeta,
@@ -2195,6 +2472,7 @@ class CfnFleet(
2195
2472
  base_capacity=123,
2196
2473
  compute_configuration=codebuild.CfnFleet.ComputeConfigurationProperty(
2197
2474
  disk=123,
2475
+ instance_type="instanceType",
2198
2476
  machine_type="machineType",
2199
2477
  memory=123,
2200
2478
  v_cpu=123
@@ -2251,7 +2529,8 @@ class CfnFleet(
2251
2529
  scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ScalingConfigurationInputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2252
2530
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2253
2531
  ) -> None:
2254
- '''
2532
+ '''Create a new ``AWS::CodeBuild::Fleet``.
2533
+
2255
2534
  :param scope: Scope in which this resource is defined.
2256
2535
  :param id: Construct identifier for this resource (unique in its scope).
2257
2536
  :param base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel.
@@ -2338,6 +2617,12 @@ class CfnFleet(
2338
2617
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2339
2618
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2340
2619
 
2620
+ @builtins.property
2621
+ @jsii.member(jsii_name="fleetRef")
2622
+ def fleet_ref(self) -> _FleetReference_8d121551:
2623
+ '''A reference to a Fleet resource.'''
2624
+ return typing.cast(_FleetReference_8d121551, jsii.get(self, "fleetRef"))
2625
+
2341
2626
  @builtins.property
2342
2627
  @jsii.member(jsii_name="baseCapacity")
2343
2628
  def base_capacity(self) -> typing.Optional[jsii.Number]:
@@ -2522,6 +2807,7 @@ class CfnFleet(
2522
2807
  jsii_struct_bases=[],
2523
2808
  name_mapping={
2524
2809
  "disk": "disk",
2810
+ "instance_type": "instanceType",
2525
2811
  "machine_type": "machineType",
2526
2812
  "memory": "memory",
2527
2813
  "v_cpu": "vCpu",
@@ -2532,6 +2818,7 @@ class CfnFleet(
2532
2818
  self,
2533
2819
  *,
2534
2820
  disk: typing.Optional[jsii.Number] = None,
2821
+ instance_type: typing.Optional[builtins.str] = None,
2535
2822
  machine_type: typing.Optional[builtins.str] = None,
2536
2823
  memory: typing.Optional[jsii.Number] = None,
2537
2824
  v_cpu: typing.Optional[jsii.Number] = None,
@@ -2541,6 +2828,7 @@ class CfnFleet(
2541
2828
  These attributes only need be specified when your project's or fleet's ``computeType`` is set to ``ATTRIBUTE_BASED_COMPUTE`` or ``CUSTOM_INSTANCE_TYPE`` .
2542
2829
 
2543
2830
  :param disk: The amount of disk space of the instance type included in your fleet.
2831
+ :param instance_type: The EC2 instance type to be launched in your fleet.
2544
2832
  :param machine_type: The machine type of the instance type included in your fleet.
2545
2833
  :param memory: The amount of memory of the instance type included in your fleet.
2546
2834
  :param v_cpu: The number of vCPUs of the instance type included in your fleet.
@@ -2556,6 +2844,7 @@ class CfnFleet(
2556
2844
 
2557
2845
  compute_configuration_property = codebuild.CfnFleet.ComputeConfigurationProperty(
2558
2846
  disk=123,
2847
+ instance_type="instanceType",
2559
2848
  machine_type="machineType",
2560
2849
  memory=123,
2561
2850
  v_cpu=123
@@ -2564,12 +2853,15 @@ class CfnFleet(
2564
2853
  if __debug__:
2565
2854
  type_hints = typing.get_type_hints(_typecheckingstub__83eb701fe90c557bf4af205ee34cfc7a5be2354e8e7cbd789a682e59834fb69b)
2566
2855
  check_type(argname="argument disk", value=disk, expected_type=type_hints["disk"])
2856
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
2567
2857
  check_type(argname="argument machine_type", value=machine_type, expected_type=type_hints["machine_type"])
2568
2858
  check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
2569
2859
  check_type(argname="argument v_cpu", value=v_cpu, expected_type=type_hints["v_cpu"])
2570
2860
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2571
2861
  if disk is not None:
2572
2862
  self._values["disk"] = disk
2863
+ if instance_type is not None:
2864
+ self._values["instance_type"] = instance_type
2573
2865
  if machine_type is not None:
2574
2866
  self._values["machine_type"] = machine_type
2575
2867
  if memory is not None:
@@ -2586,6 +2878,15 @@ class CfnFleet(
2586
2878
  result = self._values.get("disk")
2587
2879
  return typing.cast(typing.Optional[jsii.Number], result)
2588
2880
 
2881
+ @builtins.property
2882
+ def instance_type(self) -> typing.Optional[builtins.str]:
2883
+ '''The EC2 instance type to be launched in your fleet.
2884
+
2885
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-computeconfiguration.html#cfn-codebuild-fleet-computeconfiguration-instancetype
2886
+ '''
2887
+ result = self._values.get("instance_type")
2888
+ return typing.cast(typing.Optional[builtins.str], result)
2889
+
2589
2890
  @builtins.property
2590
2891
  def machine_type(self) -> typing.Optional[builtins.str]:
2591
2892
  '''The machine type of the instance type included in your fleet.
@@ -3105,6 +3406,7 @@ class CfnFleetProps:
3105
3406
  base_capacity=123,
3106
3407
  compute_configuration=codebuild.CfnFleet.ComputeConfigurationProperty(
3107
3408
  disk=123,
3409
+ instance_type="instanceType",
3108
3410
  machine_type="machineType",
3109
3411
  memory=123,
3110
3412
  v_cpu=123
@@ -3366,7 +3668,7 @@ class CfnFleetProps:
3366
3668
  )
3367
3669
 
3368
3670
 
3369
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3671
+ @jsii.implements(_IInspectable_c2943556, _IProjectRef_7528e639, _ITaggable_36806126)
3370
3672
  class CfnProject(
3371
3673
  _CfnResource_9df397a6,
3372
3674
  metaclass=jsii.JSIIMeta,
@@ -3410,6 +3712,12 @@ class CfnProject(
3410
3712
 
3411
3713
  # the properties below are optional
3412
3714
  certificate="certificate",
3715
+ docker_server=codebuild.CfnProject.DockerServerProperty(
3716
+ compute_type="computeType",
3717
+
3718
+ # the properties below are optional
3719
+ security_group_ids=["securityGroupIds"]
3720
+ ),
3413
3721
  environment_variables=[codebuild.CfnProject.EnvironmentVariableProperty(
3414
3722
  name="name",
3415
3723
  value="value",
@@ -3563,6 +3871,12 @@ class CfnProject(
3563
3871
  # the properties below are optional
3564
3872
  exclude_matched_pattern=False
3565
3873
  )]],
3874
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
3875
+ requires_comment_approval="requiresCommentApproval",
3876
+
3877
+ # the properties below are optional
3878
+ approver_roles=["approverRoles"]
3879
+ ),
3566
3880
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
3567
3881
  name="name",
3568
3882
 
@@ -3612,7 +3926,8 @@ class CfnProject(
3612
3926
  visibility: typing.Optional[builtins.str] = None,
3613
3927
  vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.VpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3614
3928
  ) -> None:
3615
- '''
3929
+ '''Create a new ``AWS::CodeBuild::Project``.
3930
+
3616
3931
  :param scope: Scope in which this resource is defined.
3617
3932
  :param id: Construct identifier for this resource (unique in its scope).
3618
3933
  :param artifacts: ``Artifacts`` is a property of the `AWS::CodeBuild::Project <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html>`_ resource that specifies output settings for artifacts generated by an AWS CodeBuild build.
@@ -3727,6 +4042,12 @@ class CfnProject(
3727
4042
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3728
4043
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3729
4044
 
4045
+ @builtins.property
4046
+ @jsii.member(jsii_name="projectRef")
4047
+ def project_ref(self) -> _ProjectReference_40ed5122:
4048
+ '''A reference to a Project resource.'''
4049
+ return typing.cast(_ProjectReference_40ed5122, jsii.get(self, "projectRef"))
4050
+
3730
4051
  @builtins.property
3731
4052
  @jsii.member(jsii_name="tags")
3732
4053
  def tags(self) -> _TagManager_0a598cb3:
@@ -4584,33 +4905,106 @@ class CfnProject(
4584
4905
  - ``ENABLED`` : CloudWatch Logs are enabled for this build project.
4585
4906
  - ``DISABLED`` : CloudWatch Logs are not enabled for this build project.
4586
4907
 
4587
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-status
4908
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-status
4909
+ '''
4910
+ result = self._values.get("status")
4911
+ assert result is not None, "Required property 'status' is missing"
4912
+ return typing.cast(builtins.str, result)
4913
+
4914
+ @builtins.property
4915
+ def group_name(self) -> typing.Optional[builtins.str]:
4916
+ '''The group name of the logs in CloudWatch Logs.
4917
+
4918
+ For more information, see `Working with Log Groups and Log Streams <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html>`_ .
4919
+
4920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-groupname
4921
+ '''
4922
+ result = self._values.get("group_name")
4923
+ return typing.cast(typing.Optional[builtins.str], result)
4924
+
4925
+ @builtins.property
4926
+ def stream_name(self) -> typing.Optional[builtins.str]:
4927
+ '''The prefix of the stream name of the CloudWatch Logs.
4928
+
4929
+ For more information, see `Working with Log Groups and Log Streams <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html>`_ .
4930
+
4931
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-streamname
4932
+ '''
4933
+ result = self._values.get("stream_name")
4934
+ return typing.cast(typing.Optional[builtins.str], result)
4935
+
4936
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4937
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4938
+
4939
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4940
+ return not (rhs == self)
4941
+
4942
+ def __repr__(self) -> str:
4943
+ return "CloudWatchLogsConfigProperty(%s)" % ", ".join(
4944
+ k + "=" + repr(v) for k, v in self._values.items()
4945
+ )
4946
+
4947
+ @jsii.data_type(
4948
+ jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.DockerServerProperty",
4949
+ jsii_struct_bases=[],
4950
+ name_mapping={
4951
+ "compute_type": "computeType",
4952
+ "security_group_ids": "securityGroupIds",
4953
+ },
4954
+ )
4955
+ class DockerServerProperty:
4956
+ def __init__(
4957
+ self,
4958
+ *,
4959
+ compute_type: builtins.str,
4960
+ security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
4961
+ ) -> None:
4962
+ '''
4963
+ :param compute_type:
4964
+ :param security_group_ids:
4965
+
4966
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-dockerserver.html
4967
+ :exampleMetadata: fixture=_generated
4968
+
4969
+ Example::
4970
+
4971
+ # The code below shows an example of how to instantiate this type.
4972
+ # The values are placeholders you should change.
4973
+ from aws_cdk import aws_codebuild as codebuild
4974
+
4975
+ docker_server_property = codebuild.CfnProject.DockerServerProperty(
4976
+ compute_type="computeType",
4977
+
4978
+ # the properties below are optional
4979
+ security_group_ids=["securityGroupIds"]
4980
+ )
4981
+ '''
4982
+ if __debug__:
4983
+ type_hints = typing.get_type_hints(_typecheckingstub__ee61866f55895d4c64262dab381d049015ede37529178930c3463abdb3999a8a)
4984
+ check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
4985
+ check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
4986
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4987
+ "compute_type": compute_type,
4988
+ }
4989
+ if security_group_ids is not None:
4990
+ self._values["security_group_ids"] = security_group_ids
4991
+
4992
+ @builtins.property
4993
+ def compute_type(self) -> builtins.str:
4588
4994
  '''
4589
- result = self._values.get("status")
4590
- assert result is not None, "Required property 'status' is missing"
4995
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-dockerserver.html#cfn-codebuild-project-dockerserver-computetype
4996
+ '''
4997
+ result = self._values.get("compute_type")
4998
+ assert result is not None, "Required property 'compute_type' is missing"
4591
4999
  return typing.cast(builtins.str, result)
4592
5000
 
4593
5001
  @builtins.property
4594
- def group_name(self) -> typing.Optional[builtins.str]:
4595
- '''The group name of the logs in CloudWatch Logs.
4596
-
4597
- For more information, see `Working with Log Groups and Log Streams <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html>`_ .
4598
-
4599
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-groupname
5002
+ def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
4600
5003
  '''
4601
- result = self._values.get("group_name")
4602
- return typing.cast(typing.Optional[builtins.str], result)
4603
-
4604
- @builtins.property
4605
- def stream_name(self) -> typing.Optional[builtins.str]:
4606
- '''The prefix of the stream name of the CloudWatch Logs.
4607
-
4608
- For more information, see `Working with Log Groups and Log Streams <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html>`_ .
4609
-
4610
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-streamname
5004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-dockerserver.html#cfn-codebuild-project-dockerserver-securitygroupids
4611
5005
  '''
4612
- result = self._values.get("stream_name")
4613
- return typing.cast(typing.Optional[builtins.str], result)
5006
+ result = self._values.get("security_group_ids")
5007
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4614
5008
 
4615
5009
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
4616
5010
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -4619,7 +5013,7 @@ class CfnProject(
4619
5013
  return not (rhs == self)
4620
5014
 
4621
5015
  def __repr__(self) -> str:
4622
- return "CloudWatchLogsConfigProperty(%s)" % ", ".join(
5016
+ return "DockerServerProperty(%s)" % ", ".join(
4623
5017
  k + "=" + repr(v) for k, v in self._values.items()
4624
5018
  )
4625
5019
 
@@ -4631,6 +5025,7 @@ class CfnProject(
4631
5025
  "image": "image",
4632
5026
  "type": "type",
4633
5027
  "certificate": "certificate",
5028
+ "docker_server": "dockerServer",
4634
5029
  "environment_variables": "environmentVariables",
4635
5030
  "fleet": "fleet",
4636
5031
  "image_pull_credentials_type": "imagePullCredentialsType",
@@ -4646,6 +5041,7 @@ class CfnProject(
4646
5041
  image: builtins.str,
4647
5042
  type: builtins.str,
4648
5043
  certificate: typing.Optional[builtins.str] = None,
5044
+ docker_server: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.DockerServerProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4649
5045
  environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.EnvironmentVariableProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4650
5046
  fleet: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.ProjectFleetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4651
5047
  image_pull_credentials_type: typing.Optional[builtins.str] = None,
@@ -4658,6 +5054,7 @@ class CfnProject(
4658
5054
  :param image: The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats: - For an image tag: ``<registry>/<repository>:<tag>`` . For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be ``aws/codebuild/standard:4.0`` . - For an image digest: ``<registry>/<repository>@<digest>`` . For example, to specify an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," use ``<registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf`` . For more information, see `Docker images provided by CodeBuild <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-available.html>`_ in the *AWS CodeBuild user guide* .
4659
5055
  :param type: The type of build environment to use for related builds. .. epigraph:: If you're using compute fleets during project creation, ``type`` will be ignored. For more information, see `Build environment compute types <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild user guide* .
4660
5056
  :param certificate: The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see `certificate <https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate>`_ in the *AWS CodeBuild User Guide* .
5057
+ :param docker_server:
4661
5058
  :param environment_variables: A set of environment variables to make available to builds for this build project.
4662
5059
  :param fleet:
4663
5060
  :param image_pull_credentials_type: The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:. - ``CODEBUILD`` specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild service principal. - ``SERVICE_ROLE`` specifies that AWS CodeBuild uses your build project's service role. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.
@@ -4680,6 +5077,12 @@ class CfnProject(
4680
5077
 
4681
5078
  # the properties below are optional
4682
5079
  certificate="certificate",
5080
+ docker_server=codebuild.CfnProject.DockerServerProperty(
5081
+ compute_type="computeType",
5082
+
5083
+ # the properties below are optional
5084
+ security_group_ids=["securityGroupIds"]
5085
+ ),
4683
5086
  environment_variables=[codebuild.CfnProject.EnvironmentVariableProperty(
4684
5087
  name="name",
4685
5088
  value="value",
@@ -4704,6 +5107,7 @@ class CfnProject(
4704
5107
  check_type(argname="argument image", value=image, expected_type=type_hints["image"])
4705
5108
  check_type(argname="argument type", value=type, expected_type=type_hints["type"])
4706
5109
  check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
5110
+ check_type(argname="argument docker_server", value=docker_server, expected_type=type_hints["docker_server"])
4707
5111
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
4708
5112
  check_type(argname="argument fleet", value=fleet, expected_type=type_hints["fleet"])
4709
5113
  check_type(argname="argument image_pull_credentials_type", value=image_pull_credentials_type, expected_type=type_hints["image_pull_credentials_type"])
@@ -4716,6 +5120,8 @@ class CfnProject(
4716
5120
  }
4717
5121
  if certificate is not None:
4718
5122
  self._values["certificate"] = certificate
5123
+ if docker_server is not None:
5124
+ self._values["docker_server"] = docker_server
4719
5125
  if environment_variables is not None:
4720
5126
  self._values["environment_variables"] = environment_variables
4721
5127
  if fleet is not None:
@@ -4814,6 +5220,16 @@ class CfnProject(
4814
5220
  result = self._values.get("certificate")
4815
5221
  return typing.cast(typing.Optional[builtins.str], result)
4816
5222
 
5223
+ @builtins.property
5224
+ def docker_server(
5225
+ self,
5226
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.DockerServerProperty"]]:
5227
+ '''
5228
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-dockerserver
5229
+ '''
5230
+ result = self._values.get("docker_server")
5231
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.DockerServerProperty"]], result)
5232
+
4817
5233
  @builtins.property
4818
5234
  def environment_variables(
4819
5235
  self,
@@ -5696,6 +6112,7 @@ class CfnProject(
5696
6112
  name_mapping={
5697
6113
  "build_type": "buildType",
5698
6114
  "filter_groups": "filterGroups",
6115
+ "pull_request_build_policy": "pullRequestBuildPolicy",
5699
6116
  "scope_configuration": "scopeConfiguration",
5700
6117
  "webhook": "webhook",
5701
6118
  },
@@ -5706,6 +6123,7 @@ class CfnProject(
5706
6123
  *,
5707
6124
  build_type: typing.Optional[builtins.str] = None,
5708
6125
  filter_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.WebhookFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]]]] = None,
6126
+ pull_request_build_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.PullRequestBuildPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5709
6127
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.ScopeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5710
6128
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5711
6129
  ) -> None:
@@ -5717,6 +6135,7 @@ class CfnProject(
5717
6135
 
5718
6136
  :param build_type: Specifies the type of build this webhook will trigger. Allowed values are:. - **BUILD** - A single build - **BUILD_BATCH** - A batch build
5719
6137
  :param filter_groups: A list of lists of ``WebhookFilter`` objects used to determine which webhook events are triggered. At least one ``WebhookFilter`` in the array must specify ``EVENT`` as its type.
6138
+ :param pull_request_build_policy:
5720
6139
  :param scope_configuration: Contains configuration information about the scope for a webhook.
5721
6140
  :param webhook: Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.
5722
6141
 
@@ -5738,6 +6157,12 @@ class CfnProject(
5738
6157
  # the properties below are optional
5739
6158
  exclude_matched_pattern=False
5740
6159
  )]],
6160
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
6161
+ requires_comment_approval="requiresCommentApproval",
6162
+
6163
+ # the properties below are optional
6164
+ approver_roles=["approverRoles"]
6165
+ ),
5741
6166
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
5742
6167
  name="name",
5743
6168
 
@@ -5752,6 +6177,7 @@ class CfnProject(
5752
6177
  type_hints = typing.get_type_hints(_typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8c729a70)
5753
6178
  check_type(argname="argument build_type", value=build_type, expected_type=type_hints["build_type"])
5754
6179
  check_type(argname="argument filter_groups", value=filter_groups, expected_type=type_hints["filter_groups"])
6180
+ check_type(argname="argument pull_request_build_policy", value=pull_request_build_policy, expected_type=type_hints["pull_request_build_policy"])
5755
6181
  check_type(argname="argument scope_configuration", value=scope_configuration, expected_type=type_hints["scope_configuration"])
5756
6182
  check_type(argname="argument webhook", value=webhook, expected_type=type_hints["webhook"])
5757
6183
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -5759,6 +6185,8 @@ class CfnProject(
5759
6185
  self._values["build_type"] = build_type
5760
6186
  if filter_groups is not None:
5761
6187
  self._values["filter_groups"] = filter_groups
6188
+ if pull_request_build_policy is not None:
6189
+ self._values["pull_request_build_policy"] = pull_request_build_policy
5762
6190
  if scope_configuration is not None:
5763
6191
  self._values["scope_configuration"] = scope_configuration
5764
6192
  if webhook is not None:
@@ -5789,6 +6217,16 @@ class CfnProject(
5789
6217
  result = self._values.get("filter_groups")
5790
6218
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnProject.WebhookFilterProperty"]]]]]], result)
5791
6219
 
6220
+ @builtins.property
6221
+ def pull_request_build_policy(
6222
+ self,
6223
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.PullRequestBuildPolicyProperty"]]:
6224
+ '''
6225
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-pullrequestbuildpolicy
6226
+ '''
6227
+ result = self._values.get("pull_request_build_policy")
6228
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.PullRequestBuildPolicyProperty"]], result)
6229
+
5792
6230
  @builtins.property
5793
6231
  def scope_configuration(
5794
6232
  self,
@@ -5822,6 +6260,79 @@ class CfnProject(
5822
6260
  k + "=" + repr(v) for k, v in self._values.items()
5823
6261
  )
5824
6262
 
6263
+ @jsii.data_type(
6264
+ jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.PullRequestBuildPolicyProperty",
6265
+ jsii_struct_bases=[],
6266
+ name_mapping={
6267
+ "requires_comment_approval": "requiresCommentApproval",
6268
+ "approver_roles": "approverRoles",
6269
+ },
6270
+ )
6271
+ class PullRequestBuildPolicyProperty:
6272
+ def __init__(
6273
+ self,
6274
+ *,
6275
+ requires_comment_approval: builtins.str,
6276
+ approver_roles: typing.Optional[typing.Sequence[builtins.str]] = None,
6277
+ ) -> None:
6278
+ '''
6279
+ :param requires_comment_approval:
6280
+ :param approver_roles:
6281
+
6282
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html
6283
+ :exampleMetadata: fixture=_generated
6284
+
6285
+ Example::
6286
+
6287
+ # The code below shows an example of how to instantiate this type.
6288
+ # The values are placeholders you should change.
6289
+ from aws_cdk import aws_codebuild as codebuild
6290
+
6291
+ pull_request_build_policy_property = codebuild.CfnProject.PullRequestBuildPolicyProperty(
6292
+ requires_comment_approval="requiresCommentApproval",
6293
+
6294
+ # the properties below are optional
6295
+ approver_roles=["approverRoles"]
6296
+ )
6297
+ '''
6298
+ if __debug__:
6299
+ type_hints = typing.get_type_hints(_typecheckingstub__dc1eee42ab44fe674f81f814cf0b3916fe0be36f2eb0f8f6b963c3bbd44441fd)
6300
+ check_type(argname="argument requires_comment_approval", value=requires_comment_approval, expected_type=type_hints["requires_comment_approval"])
6301
+ check_type(argname="argument approver_roles", value=approver_roles, expected_type=type_hints["approver_roles"])
6302
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6303
+ "requires_comment_approval": requires_comment_approval,
6304
+ }
6305
+ if approver_roles is not None:
6306
+ self._values["approver_roles"] = approver_roles
6307
+
6308
+ @builtins.property
6309
+ def requires_comment_approval(self) -> builtins.str:
6310
+ '''
6311
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html#cfn-codebuild-project-pullrequestbuildpolicy-requirescommentapproval
6312
+ '''
6313
+ result = self._values.get("requires_comment_approval")
6314
+ assert result is not None, "Required property 'requires_comment_approval' is missing"
6315
+ return typing.cast(builtins.str, result)
6316
+
6317
+ @builtins.property
6318
+ def approver_roles(self) -> typing.Optional[typing.List[builtins.str]]:
6319
+ '''
6320
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html#cfn-codebuild-project-pullrequestbuildpolicy-approverroles
6321
+ '''
6322
+ result = self._values.get("approver_roles")
6323
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6324
+
6325
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6326
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6327
+
6328
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6329
+ return not (rhs == self)
6330
+
6331
+ def __repr__(self) -> str:
6332
+ return "PullRequestBuildPolicyProperty(%s)" % ", ".join(
6333
+ k + "=" + repr(v) for k, v in self._values.items()
6334
+ )
6335
+
5825
6336
  @jsii.data_type(
5826
6337
  jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.RegistryCredentialProperty",
5827
6338
  jsii_struct_bases=[],
@@ -6823,6 +7334,12 @@ class CfnProjectProps:
6823
7334
 
6824
7335
  # the properties below are optional
6825
7336
  certificate="certificate",
7337
+ docker_server=codebuild.CfnProject.DockerServerProperty(
7338
+ compute_type="computeType",
7339
+
7340
+ # the properties below are optional
7341
+ security_group_ids=["securityGroupIds"]
7342
+ ),
6826
7343
  environment_variables=[codebuild.CfnProject.EnvironmentVariableProperty(
6827
7344
  name="name",
6828
7345
  value="value",
@@ -6976,6 +7493,12 @@ class CfnProjectProps:
6976
7493
  # the properties below are optional
6977
7494
  exclude_matched_pattern=False
6978
7495
  )]],
7496
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
7497
+ requires_comment_approval="requiresCommentApproval",
7498
+
7499
+ # the properties below are optional
7500
+ approver_roles=["approverRoles"]
7501
+ ),
6979
7502
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
6980
7503
  name="name",
6981
7504
 
@@ -7377,7 +7900,7 @@ class CfnProjectProps:
7377
7900
  )
7378
7901
 
7379
7902
 
7380
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7903
+ @jsii.implements(_IInspectable_c2943556, _IReportGroupRef_79bc7a1e, _ITaggable_36806126)
7381
7904
  class CfnReportGroup(
7382
7905
  _CfnResource_9df397a6,
7383
7906
  metaclass=jsii.JSIIMeta,
@@ -7436,7 +7959,8 @@ class CfnReportGroup(
7436
7959
  name: typing.Optional[builtins.str] = None,
7437
7960
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7438
7961
  ) -> None:
7439
- '''
7962
+ '''Create a new ``AWS::CodeBuild::ReportGroup``.
7963
+
7440
7964
  :param scope: Scope in which this resource is defined.
7441
7965
  :param id: Construct identifier for this resource (unique in its scope).
7442
7966
  :param export_config: Information about the destination where the raw data of this ``ReportGroup`` is exported.
@@ -7511,6 +8035,12 @@ class CfnReportGroup(
7511
8035
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7512
8036
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7513
8037
 
8038
+ @builtins.property
8039
+ @jsii.member(jsii_name="reportGroupRef")
8040
+ def report_group_ref(self) -> _ReportGroupReference_9845652f:
8041
+ '''A reference to a ReportGroup resource.'''
8042
+ return typing.cast(_ReportGroupReference_9845652f, jsii.get(self, "reportGroupRef"))
8043
+
7514
8044
  @builtins.property
7515
8045
  @jsii.member(jsii_name="tags")
7516
8046
  def tags(self) -> _TagManager_0a598cb3:
@@ -7987,7 +8517,7 @@ class CfnReportGroupProps:
7987
8517
  )
7988
8518
 
7989
8519
 
7990
- @jsii.implements(_IInspectable_c2943556)
8520
+ @jsii.implements(_IInspectable_c2943556, _ISourceCredentialRef_7f0e7269)
7991
8521
  class CfnSourceCredential(
7992
8522
  _CfnResource_9df397a6,
7993
8523
  metaclass=jsii.JSIIMeta,
@@ -8030,7 +8560,8 @@ class CfnSourceCredential(
8030
8560
  token: builtins.str,
8031
8561
  username: typing.Optional[builtins.str] = None,
8032
8562
  ) -> None:
8033
- '''
8563
+ '''Create a new ``AWS::CodeBuild::SourceCredential``.
8564
+
8034
8565
  :param scope: Scope in which this resource is defined.
8035
8566
  :param id: Construct identifier for this resource (unique in its scope).
8036
8567
  :param auth_type: The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS, or SECRETS_MANAGER.
@@ -8094,6 +8625,12 @@ class CfnSourceCredential(
8094
8625
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8095
8626
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8096
8627
 
8628
+ @builtins.property
8629
+ @jsii.member(jsii_name="sourceCredentialRef")
8630
+ def source_credential_ref(self) -> _SourceCredentialReference_97d19067:
8631
+ '''A reference to a SourceCredential resource.'''
8632
+ return typing.cast(_SourceCredentialReference_97d19067, jsii.get(self, "sourceCredentialRef"))
8633
+
8097
8634
  @builtins.property
8098
8635
  @jsii.member(jsii_name="authType")
8099
8636
  def auth_type(self) -> builtins.str:
@@ -8475,6 +9012,12 @@ class CommonProjectProps:
8475
9012
  object_key="objectKey"
8476
9013
  ),
8477
9014
  compute_type=codebuild.ComputeType.SMALL,
9015
+ docker_server=codebuild.DockerServerOptions(
9016
+ compute_type=codebuild.DockerServerComputeType.SMALL,
9017
+
9018
+ # the properties below are optional
9019
+ security_groups=[security_group]
9020
+ ),
8478
9021
  environment_variables={
8479
9022
  "environment_variables_key": codebuild.BuildEnvironmentVariable(
8480
9023
  value=value,
@@ -8905,6 +9448,7 @@ class CommonProjectProps:
8905
9448
  jsii_struct_bases=[],
8906
9449
  name_mapping={
8907
9450
  "disk": "disk",
9451
+ "instance_type": "instanceType",
8908
9452
  "machine_type": "machineType",
8909
9453
  "memory": "memory",
8910
9454
  "v_cpu": "vCpu",
@@ -8915,23 +9459,18 @@ class ComputeConfiguration:
8915
9459
  self,
8916
9460
  *,
8917
9461
  disk: typing.Optional[_Size_7b441c34] = None,
9462
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
8918
9463
  machine_type: typing.Optional["MachineType"] = None,
8919
9464
  memory: typing.Optional[_Size_7b441c34] = None,
8920
9465
  v_cpu: typing.Optional[jsii.Number] = None,
8921
9466
  ) -> None:
8922
9467
  '''The compute configuration for the fleet.
8923
9468
 
8924
- Despite what the CloudFormation schema says, the numeric properties (disk, memory, vCpu) are not optional.
8925
- An ``undefined`` value will cause the CloudFormation deployment to fail, e.g.
8926
- .. epigraph::
8927
-
8928
- Cannot invoke "java.lang.Integer.intValue()" because the return value of "software.amazon.codebuild.fleet.ComputeConfiguration.getMemory()" is null
8929
- Therefore, these properties default value is set to 0.
8930
-
8931
- :param disk: The amount of disk space of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
8932
- :param machine_type: The machine type of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
8933
- :param memory: The amount of memory of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
8934
- :param v_cpu: The number of vCPUs of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
9469
+ :param disk: When using ATTRIBUTE_BASED, the amount of disk space of the instance type included in your fleet. When using CUSTOM_INSTANCE_TYPE, the additional amount of disk space to provision over the 64GB included by default. Default: - No requirement, the actual value will be based on the other selected configuration properties
9470
+ :param instance_type: When using CUSTOM_INSTANCE_TYPE, the EC2 instance type to use for fleet instances. Not all instance types are supported by CodeBuild. If you use a disallowed type, the CloudFormation deployment will fail. Default: none
9471
+ :param machine_type: When using ATTRIBUTE_BASED, the machine type of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
9472
+ :param memory: When using ATTRIBUTE_BASED, the amount of memory of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
9473
+ :param v_cpu: When using ATTRIBUTE_BASED, the number of vCPUs of the instance type included in your fleet. Default: - No requirement, the actual value will be based on the other selected configuration properties
8935
9474
 
8936
9475
  :exampleMetadata: infused
8937
9476
 
@@ -8955,12 +9494,15 @@ class ComputeConfiguration:
8955
9494
  if __debug__:
8956
9495
  type_hints = typing.get_type_hints(_typecheckingstub__b104977b55c72c0577553444ac08838cdefde5acef91d6c00ad996d1c464b61b)
8957
9496
  check_type(argname="argument disk", value=disk, expected_type=type_hints["disk"])
9497
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
8958
9498
  check_type(argname="argument machine_type", value=machine_type, expected_type=type_hints["machine_type"])
8959
9499
  check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
8960
9500
  check_type(argname="argument v_cpu", value=v_cpu, expected_type=type_hints["v_cpu"])
8961
9501
  self._values: typing.Dict[builtins.str, typing.Any] = {}
8962
9502
  if disk is not None:
8963
9503
  self._values["disk"] = disk
9504
+ if instance_type is not None:
9505
+ self._values["instance_type"] = instance_type
8964
9506
  if machine_type is not None:
8965
9507
  self._values["machine_type"] = machine_type
8966
9508
  if memory is not None:
@@ -8970,16 +9512,34 @@ class ComputeConfiguration:
8970
9512
 
8971
9513
  @builtins.property
8972
9514
  def disk(self) -> typing.Optional[_Size_7b441c34]:
8973
- '''The amount of disk space of the instance type included in your fleet.
9515
+ '''When using ATTRIBUTE_BASED, the amount of disk space of the instance type included in your fleet.
9516
+
9517
+ When using CUSTOM_INSTANCE_TYPE,
9518
+ the additional amount of disk space to provision over the 64GB included by
9519
+ default.
8974
9520
 
8975
9521
  :default: - No requirement, the actual value will be based on the other selected configuration properties
8976
9522
  '''
8977
9523
  result = self._values.get("disk")
8978
9524
  return typing.cast(typing.Optional[_Size_7b441c34], result)
8979
9525
 
9526
+ @builtins.property
9527
+ def instance_type(self) -> typing.Optional[_InstanceType_f64915b9]:
9528
+ '''When using CUSTOM_INSTANCE_TYPE, the EC2 instance type to use for fleet instances.
9529
+
9530
+ Not all instance types are supported by CodeBuild. If you use a disallowed type, the
9531
+ CloudFormation deployment will fail.
9532
+
9533
+ :default: none
9534
+
9535
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types
9536
+ '''
9537
+ result = self._values.get("instance_type")
9538
+ return typing.cast(typing.Optional[_InstanceType_f64915b9], result)
9539
+
8980
9540
  @builtins.property
8981
9541
  def machine_type(self) -> typing.Optional["MachineType"]:
8982
- '''The machine type of the instance type included in your fleet.
9542
+ '''When using ATTRIBUTE_BASED, the machine type of the instance type included in your fleet.
8983
9543
 
8984
9544
  :default: - No requirement, the actual value will be based on the other selected configuration properties
8985
9545
  '''
@@ -8988,7 +9548,7 @@ class ComputeConfiguration:
8988
9548
 
8989
9549
  @builtins.property
8990
9550
  def memory(self) -> typing.Optional[_Size_7b441c34]:
8991
- '''The amount of memory of the instance type included in your fleet.
9551
+ '''When using ATTRIBUTE_BASED, the amount of memory of the instance type included in your fleet.
8992
9552
 
8993
9553
  :default: - No requirement, the actual value will be based on the other selected configuration properties
8994
9554
  '''
@@ -8997,7 +9557,7 @@ class ComputeConfiguration:
8997
9557
 
8998
9558
  @builtins.property
8999
9559
  def v_cpu(self) -> typing.Optional[jsii.Number]:
9000
- '''The number of vCPUs of the instance type included in your fleet.
9560
+ '''When using ATTRIBUTE_BASED, the number of vCPUs of the instance type included in your fleet.
9001
9561
 
9002
9562
  :default: - No requirement, the actual value will be based on the other selected configuration properties
9003
9563
  '''
@@ -9048,7 +9608,11 @@ class ComputeType(enum.Enum):
9048
9608
  # Control the build environment
9049
9609
  build_environment=codebuild.BuildEnvironment(
9050
9610
  compute_type=codebuild.ComputeType.LARGE,
9051
- privileged=True
9611
+ privileged=True,
9612
+ docker_server=codebuild.DockerServerOptions(
9613
+ compute_type=codebuild.DockerServerComputeType.SMALL,
9614
+ security_groups=[my_security_group]
9615
+ )
9052
9616
  ),
9053
9617
  timeout=Duration.minutes(90),
9054
9618
  file_system_locations=[
@@ -9086,6 +9650,7 @@ class ComputeType(enum.Enum):
9086
9650
  LAMBDA_8GB = "LAMBDA_8GB"
9087
9651
  LAMBDA_10GB = "LAMBDA_10GB"
9088
9652
  ATTRIBUTE_BASED = "ATTRIBUTE_BASED"
9653
+ CUSTOM_INSTANCE_TYPE = "CUSTOM_INSTANCE_TYPE"
9089
9654
 
9090
9655
 
9091
9656
  @jsii.data_type(
@@ -9121,13 +9686,222 @@ class DockerImageOptions:
9121
9686
  self._values["secrets_manager_credentials"] = secrets_manager_credentials
9122
9687
 
9123
9688
  @builtins.property
9124
- def secrets_manager_credentials(self) -> typing.Optional[_ISecret_6e020e6a]:
9125
- '''The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private.
9689
+ def secrets_manager_credentials(self) -> typing.Optional[_ISecret_6e020e6a]:
9690
+ '''The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private.
9691
+
9692
+ :default: no credentials will be used (we assume the repository is public)
9693
+ '''
9694
+ result = self._values.get("secrets_manager_credentials")
9695
+ return typing.cast(typing.Optional[_ISecret_6e020e6a], result)
9696
+
9697
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9698
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9699
+
9700
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9701
+ return not (rhs == self)
9702
+
9703
+ def __repr__(self) -> str:
9704
+ return "DockerImageOptions(%s)" % ", ".join(
9705
+ k + "=" + repr(v) for k, v in self._values.items()
9706
+ )
9707
+
9708
+
9709
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.DockerServerComputeType")
9710
+ class DockerServerComputeType(enum.Enum):
9711
+ '''Docker server compute type.
9712
+
9713
+ :see: https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DockerServer.html
9714
+ :exampleMetadata: infused
9715
+
9716
+ Example::
9717
+
9718
+ # vpc: ec2.Vpc
9719
+ # my_security_group: ec2.SecurityGroup
9720
+
9721
+ pipelines.CodeBuildStep("Synth",
9722
+ # ...standard ShellStep props...
9723
+ commands=[],
9724
+ env={},
9725
+
9726
+ # If you are using a CodeBuildStep explicitly, set the 'cdk.out' directory
9727
+ # to be the synth step's output.
9728
+ primary_output_directory="cdk.out",
9729
+
9730
+ # Control the name of the project
9731
+ project_name="MyProject",
9732
+
9733
+ # Control parts of the BuildSpec other than the regular 'build' and 'install' commands
9734
+ partial_build_spec=codebuild.BuildSpec.from_object({
9735
+ "version": "0.2"
9736
+ }),
9737
+
9738
+ # Control the build environment
9739
+ build_environment=codebuild.BuildEnvironment(
9740
+ compute_type=codebuild.ComputeType.LARGE,
9741
+ privileged=True,
9742
+ docker_server=codebuild.DockerServerOptions(
9743
+ compute_type=codebuild.DockerServerComputeType.SMALL,
9744
+ security_groups=[my_security_group]
9745
+ )
9746
+ ),
9747
+ timeout=Duration.minutes(90),
9748
+ file_system_locations=[
9749
+ codebuild.FileSystemLocation.efs(
9750
+ identifier="myidentifier2",
9751
+ location="myclodation.mydnsroot.com:/loc",
9752
+ mount_point="/media",
9753
+ mount_options="opts"
9754
+ )
9755
+ ],
9756
+
9757
+ # Control Elastic Network Interface creation
9758
+ vpc=vpc,
9759
+ subnet_selection=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS),
9760
+ security_groups=[my_security_group],
9761
+
9762
+ # Control caching
9763
+ cache=codebuild.Cache.bucket(s3.Bucket(self, "Cache")),
9764
+
9765
+ # Additional policy statements for the execution role
9766
+ role_policy_statements=[
9767
+ iam.PolicyStatement()
9768
+ ]
9769
+ )
9770
+ '''
9771
+
9772
+ SMALL = "SMALL"
9773
+ '''BUILD_GENERAL1_SMALL.'''
9774
+ MEDIUM = "MEDIUM"
9775
+ '''BUILD_GENERAL1_MEDIUM.'''
9776
+ LARGE = "LARGE"
9777
+ '''BUILD_GENERAL1_LARGE.'''
9778
+ X_LARGE = "X_LARGE"
9779
+ '''BUILD_GENERAL1_XLARGE.'''
9780
+ X2_LARGE = "X2_LARGE"
9781
+ '''BUILD_GENERAL1_2XLARGE.'''
9782
+ ATTRIBUTE_BASED_COMPUTE = "ATTRIBUTE_BASED_COMPUTE"
9783
+ '''ATTRIBUTE_BASED_COMPUTE.'''
9784
+ BUILD_LAMBDA_10GB = "BUILD_LAMBDA_10GB"
9785
+ '''BUILD_LAMBDA_10GB.'''
9786
+ BUILD_LAMBDA_1GB = "BUILD_LAMBDA_1GB"
9787
+ '''BUILD_LAMBDA_1GB.'''
9788
+ BUILD_LAMBDA_2GB = "BUILD_LAMBDA_2GB"
9789
+ '''BUILD_LAMBDA_2GB.'''
9790
+ BUILD_LAMBDA_4GB = "BUILD_LAMBDA_4GB"
9791
+ '''BUILD_LAMBDA_4GB.'''
9792
+ BUILD_LAMBDA_8GB = "BUILD_LAMBDA_8GB"
9793
+ '''BUILD_LAMBDA_8GB.'''
9794
+ CUSTOM_INSTANCE_TYPE = "CUSTOM_INSTANCE_TYPE"
9795
+ '''CUSTOM_INSTANCE_TYPE.'''
9796
+
9797
+
9798
+ @jsii.data_type(
9799
+ jsii_type="aws-cdk-lib.aws_codebuild.DockerServerOptions",
9800
+ jsii_struct_bases=[],
9801
+ name_mapping={"compute_type": "computeType", "security_groups": "securityGroups"},
9802
+ )
9803
+ class DockerServerOptions:
9804
+ def __init__(
9805
+ self,
9806
+ *,
9807
+ compute_type: DockerServerComputeType,
9808
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
9809
+ ) -> None:
9810
+ '''The Docker server configuration CodeBuild use to build your Docker image.
9811
+
9812
+ :param compute_type: The type of compute to use for the docker server. See the ``DockerServerComputeType`` enum for the possible values.
9813
+ :param security_groups: A list of maximum 5 security groups. Default: - no security group
9814
+
9815
+ :exampleMetadata: infused
9816
+
9817
+ Example::
9818
+
9819
+ # vpc: ec2.Vpc
9820
+ # my_security_group: ec2.SecurityGroup
9821
+
9822
+ pipelines.CodeBuildStep("Synth",
9823
+ # ...standard ShellStep props...
9824
+ commands=[],
9825
+ env={},
9826
+
9827
+ # If you are using a CodeBuildStep explicitly, set the 'cdk.out' directory
9828
+ # to be the synth step's output.
9829
+ primary_output_directory="cdk.out",
9830
+
9831
+ # Control the name of the project
9832
+ project_name="MyProject",
9833
+
9834
+ # Control parts of the BuildSpec other than the regular 'build' and 'install' commands
9835
+ partial_build_spec=codebuild.BuildSpec.from_object({
9836
+ "version": "0.2"
9837
+ }),
9838
+
9839
+ # Control the build environment
9840
+ build_environment=codebuild.BuildEnvironment(
9841
+ compute_type=codebuild.ComputeType.LARGE,
9842
+ privileged=True,
9843
+ docker_server=codebuild.DockerServerOptions(
9844
+ compute_type=codebuild.DockerServerComputeType.SMALL,
9845
+ security_groups=[my_security_group]
9846
+ )
9847
+ ),
9848
+ timeout=Duration.minutes(90),
9849
+ file_system_locations=[
9850
+ codebuild.FileSystemLocation.efs(
9851
+ identifier="myidentifier2",
9852
+ location="myclodation.mydnsroot.com:/loc",
9853
+ mount_point="/media",
9854
+ mount_options="opts"
9855
+ )
9856
+ ],
9857
+
9858
+ # Control Elastic Network Interface creation
9859
+ vpc=vpc,
9860
+ subnet_selection=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS),
9861
+ security_groups=[my_security_group],
9862
+
9863
+ # Control caching
9864
+ cache=codebuild.Cache.bucket(s3.Bucket(self, "Cache")),
9865
+
9866
+ # Additional policy statements for the execution role
9867
+ role_policy_statements=[
9868
+ iam.PolicyStatement()
9869
+ ]
9870
+ )
9871
+ '''
9872
+ if __debug__:
9873
+ type_hints = typing.get_type_hints(_typecheckingstub__8bccff12ec36edc5d021d9eb1ffae1d3988acc0341d9bddf9be2fd3bbff8e402)
9874
+ check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
9875
+ check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
9876
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9877
+ "compute_type": compute_type,
9878
+ }
9879
+ if security_groups is not None:
9880
+ self._values["security_groups"] = security_groups
9881
+
9882
+ @builtins.property
9883
+ def compute_type(self) -> DockerServerComputeType:
9884
+ '''The type of compute to use for the docker server.
9885
+
9886
+ See the ``DockerServerComputeType`` enum for the possible values.
9887
+ '''
9888
+ result = self._values.get("compute_type")
9889
+ assert result is not None, "Required property 'compute_type' is missing"
9890
+ return typing.cast(DockerServerComputeType, result)
9891
+
9892
+ @builtins.property
9893
+ def security_groups(self) -> typing.Optional[typing.List[_ISecurityGroup_acf8a799]]:
9894
+ '''A list of maximum 5 security groups.
9126
9895
 
9127
- :default: no credentials will be used (we assume the repository is public)
9896
+ :default: - no security group
9897
+
9898
+ :note:
9899
+
9900
+ Security groups configured for Docker servers should allow ingress network traffic
9901
+ from the VPC configured in the project. They should allow ingress on port 9876.
9128
9902
  '''
9129
- result = self._values.get("secrets_manager_credentials")
9130
- return typing.cast(typing.Optional[_ISecret_6e020e6a], result)
9903
+ result = self._values.get("security_groups")
9904
+ return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
9131
9905
 
9132
9906
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9133
9907
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -9136,7 +9910,7 @@ class DockerImageOptions:
9136
9910
  return not (rhs == self)
9137
9911
 
9138
9912
  def __repr__(self) -> str:
9139
- return "DockerImageOptions(%s)" % ", ".join(
9913
+ return "DockerServerOptions(%s)" % ", ".join(
9140
9914
  k + "=" + repr(v) for k, v in self._values.items()
9141
9915
  )
9142
9916
 
@@ -9253,16 +10027,18 @@ class EnvironmentType(enum.Enum):
9253
10027
 
9254
10028
  Example::
9255
10029
 
9256
- fleet = codebuild.Fleet(self, "Fleet",
9257
- compute_type=codebuild.FleetComputeType.MEDIUM,
9258
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9259
- base_capacity=1
9260
- )
10030
+ from aws_cdk import Size
9261
10031
 
9262
- codebuild.Project(self, "Project",
9263
- environment=codebuild.BuildEnvironment(
9264
- fleet=fleet,
9265
- build_image=codebuild.LinuxBuildImage.STANDARD_7_0
10032
+
10033
+ fleet = codebuild.Fleet(self, "MyFleet",
10034
+ base_capacity=1,
10035
+ compute_type=codebuild.FleetComputeType.CUSTOM_INSTANCE_TYPE,
10036
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
10037
+ compute_configuration=codebuild.ComputeConfiguration(
10038
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
10039
+ # By default, 64 GiB of disk space is included. Any value optionally
10040
+ # specified here is _incremental_ on top of the included disk space.
10041
+ disk=Size.gibibytes(10)
9266
10042
  )
9267
10043
  )
9268
10044
  '''
@@ -9722,7 +10498,7 @@ class FilterGroup(
9722
10498
 
9723
10499
  @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.FleetComputeType")
9724
10500
  class FleetComputeType(enum.Enum):
9725
- '''Fleet build machine compute type. Subset of Fleet compatible {@link ComputeType} values.
10501
+ '''Fleet build machine compute type. Subset of Fleet compatible ComputeType values.
9726
10502
 
9727
10503
  The allocated memory, vCPU count and disk space of the build machine for a
9728
10504
  given compute type are dependent on the environment type.
@@ -9733,16 +10509,18 @@ class FleetComputeType(enum.Enum):
9733
10509
 
9734
10510
  Example::
9735
10511
 
9736
- fleet = codebuild.Fleet(self, "Fleet",
9737
- compute_type=codebuild.FleetComputeType.MEDIUM,
9738
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9739
- base_capacity=1
9740
- )
10512
+ from aws_cdk import Size
9741
10513
 
9742
- codebuild.Project(self, "Project",
9743
- environment=codebuild.BuildEnvironment(
9744
- fleet=fleet,
9745
- build_image=codebuild.LinuxBuildImage.STANDARD_7_0
10514
+
10515
+ fleet = codebuild.Fleet(self, "MyFleet",
10516
+ base_capacity=1,
10517
+ compute_type=codebuild.FleetComputeType.CUSTOM_INSTANCE_TYPE,
10518
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
10519
+ compute_configuration=codebuild.ComputeConfiguration(
10520
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
10521
+ # By default, 64 GiB of disk space is included. Any value optionally
10522
+ # specified here is _incremental_ on top of the included disk space.
10523
+ disk=Size.gibibytes(10)
9746
10524
  )
9747
10525
  )
9748
10526
  '''
@@ -9750,32 +10528,32 @@ class FleetComputeType(enum.Enum):
9750
10528
  SMALL = "SMALL"
9751
10529
  '''Small compute type.
9752
10530
 
9753
- May not be available for all environment types, see
9754
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9755
- for more information.
10531
+ May not be available for all environment types.
10532
+
10533
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
9756
10534
  '''
9757
10535
  MEDIUM = "MEDIUM"
9758
10536
  '''Medium compute type.
9759
10537
 
9760
- May not be available for all environment types, see
9761
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9762
- for more information.
10538
+ May not be available for all environment types.
10539
+
10540
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
9763
10541
  '''
9764
10542
  LARGE = "LARGE"
9765
10543
  '''Large compute type.'''
9766
10544
  X_LARGE = "X_LARGE"
9767
10545
  '''Extra Large compute type.
9768
10546
 
9769
- May not be available for all environment types, see
9770
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9771
- for more information.
10547
+ May not be available for all environment types.
10548
+
10549
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
9772
10550
  '''
9773
10551
  X2_LARGE = "X2_LARGE"
9774
10552
  '''Extra, Extra Large compute type.
9775
10553
 
9776
- May not be available for all environment types, see
9777
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9778
- for more information.
10554
+ May not be available for all environment types.
10555
+
10556
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
9779
10557
  '''
9780
10558
  ATTRIBUTE_BASED = "ATTRIBUTE_BASED"
9781
10559
  '''Specify the amount of vCPUs, memory, disk space, and the type of machine.
@@ -9784,6 +10562,36 @@ class FleetComputeType(enum.Enum):
9784
10562
 
9785
10563
  :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types
9786
10564
  '''
10565
+ CUSTOM_INSTANCE_TYPE = "CUSTOM_INSTANCE_TYPE"
10566
+ '''Specify a specific EC2 instance type to use for compute.
10567
+
10568
+ You must set ``instanceType`` on ``computeConfiguration``, and optionally set a
10569
+ ``disk`` size if the provided 64GB is insufficient.
10570
+
10571
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types
10572
+ '''
10573
+
10574
+
10575
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.FleetOverflowBehavior")
10576
+ class FleetOverflowBehavior(enum.Enum):
10577
+ '''The compute fleet overflow behavior.
10578
+
10579
+ :exampleMetadata: infused
10580
+
10581
+ Example::
10582
+
10583
+ fleet = codebuild.Fleet(self, "Fleet",
10584
+ compute_type=codebuild.FleetComputeType.MEDIUM,
10585
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
10586
+ base_capacity=1,
10587
+ overflow_behavior=codebuild.FleetOverflowBehavior.ON_DEMAND
10588
+ )
10589
+ '''
10590
+
10591
+ QUEUE = "QUEUE"
10592
+ '''Overflow builds wait for existing fleet instances to become available.'''
10593
+ ON_DEMAND = "ON_DEMAND"
10594
+ '''Overflow builds run on CodeBuild on-demand instances.'''
9787
10595
 
9788
10596
 
9789
10597
  @jsii.data_type(
@@ -9795,6 +10603,11 @@ class FleetComputeType(enum.Enum):
9795
10603
  "environment_type": "environmentType",
9796
10604
  "compute_configuration": "computeConfiguration",
9797
10605
  "fleet_name": "fleetName",
10606
+ "overflow_behavior": "overflowBehavior",
10607
+ "role": "role",
10608
+ "security_groups": "securityGroups",
10609
+ "subnet_selection": "subnetSelection",
10610
+ "vpc": "vpc",
9798
10611
  },
9799
10612
  )
9800
10613
  class FleetProps:
@@ -9806,34 +10619,48 @@ class FleetProps:
9806
10619
  environment_type: EnvironmentType,
9807
10620
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
9808
10621
  fleet_name: typing.Optional[builtins.str] = None,
10622
+ overflow_behavior: typing.Optional[FleetOverflowBehavior] = None,
10623
+ role: typing.Optional[_IRole_235f5d8e] = None,
10624
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
10625
+ subnet_selection: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
10626
+ vpc: typing.Optional[_IVpc_f30d5663] = None,
9809
10627
  ) -> None:
9810
- '''Construction properties of a CodeBuild {@link Fleet}.
10628
+ '''Construction properties of a CodeBuild Fleet.
9811
10629
 
9812
10630
  :param base_capacity: The number of machines allocated to the compute fleet. Defines the number of builds that can run in parallel. Minimum value of 1.
9813
10631
  :param compute_type: The instance type of the compute fleet.
9814
10632
  :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
9815
- :param compute_configuration: The compute configuration of the compute fleet. This is only required if ``computeType`` is set to ATTRIBUTE_BASED. Default: - do not specify compute configuration
10633
+ :param compute_configuration: The compute configuration of the compute fleet. This is only permitted if ``computeType`` is set to ATTRIBUTE_BASED or CUSTOM_INSTANCE_TYPE. In such cases, this is required. Default: - do not specify compute configuration
9816
10634
  :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
10635
+ :param overflow_behavior: The compute fleet overflow behavior. For overflow behavior ``QUEUE``, overflow builds need to wait on the existing fleet instances to become available. For overflow behavior ``ON_DEMAND``, overflow builds run on CodeBuild on-demand. Default: undefined - AWS CodeBuild default behavior is QUEUE
10636
+ :param role: Service Role assumed by Fleet instances. This Role is not used by Project builds running on Fleet instances; Project builds assume the ``role`` on Project instead. Default: - A role will be created if any permissions are granted
10637
+ :param security_groups: What security groups to associate with the fleet's network interfaces. If none are provided, one will be created automatically. Only used if ``vpc`` is supplied. Default: - A security group will be automatically created.
10638
+ :param subnet_selection: Where to place the network interfaces within the VPC. To access AWS services, your fleet needs to be in one of the following types of subnets: 1. Subnets with access to the internet (of type PRIVATE_WITH_EGRESS). 2. Private subnets unconnected to the internet, but with `VPC endpoints <https://docs.aws.amazon.com/codebuild/latest/userguide/use-vpc-endpoints-with-codebuild.html>`_ for the necessary services. If you don't specify a subnet selection, the default behavior is to use PRIVATE_WITH_EGRESS subnets first if they exist, then PRIVATE_WITHOUT_EGRESS, and finally PUBLIC subnets. If your VPC doesn't have PRIVATE_WITH_EGRESS subnets but you need AWS service access, add VPC Endpoints to your private subnets. Default: - private subnets if available else public subnets
10639
+ :param vpc: VPC network to place fleet instance network interfaces. Specify this if the fleet needs to access resources in a VPC. Default: - No VPC is specified.
9817
10640
 
9818
10641
  :exampleMetadata: infused
9819
10642
 
9820
10643
  Example::
9821
10644
 
9822
- fleet = codebuild.Fleet(self, "Fleet",
9823
- compute_type=codebuild.FleetComputeType.MEDIUM,
9824
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9825
- base_capacity=1
9826
- )
10645
+ from aws_cdk import Size
9827
10646
 
9828
- codebuild.Project(self, "Project",
9829
- environment=codebuild.BuildEnvironment(
9830
- fleet=fleet,
9831
- build_image=codebuild.LinuxBuildImage.STANDARD_7_0
10647
+
10648
+ fleet = codebuild.Fleet(self, "MyFleet",
10649
+ base_capacity=1,
10650
+ compute_type=codebuild.FleetComputeType.CUSTOM_INSTANCE_TYPE,
10651
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
10652
+ compute_configuration=codebuild.ComputeConfiguration(
10653
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
10654
+ # By default, 64 GiB of disk space is included. Any value optionally
10655
+ # specified here is _incremental_ on top of the included disk space.
10656
+ disk=Size.gibibytes(10)
9832
10657
  )
9833
10658
  )
9834
10659
  '''
9835
10660
  if isinstance(compute_configuration, dict):
9836
10661
  compute_configuration = ComputeConfiguration(**compute_configuration)
10662
+ if isinstance(subnet_selection, dict):
10663
+ subnet_selection = _SubnetSelection_e57d76df(**subnet_selection)
9837
10664
  if __debug__:
9838
10665
  type_hints = typing.get_type_hints(_typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d)
9839
10666
  check_type(argname="argument base_capacity", value=base_capacity, expected_type=type_hints["base_capacity"])
@@ -9841,6 +10668,11 @@ class FleetProps:
9841
10668
  check_type(argname="argument environment_type", value=environment_type, expected_type=type_hints["environment_type"])
9842
10669
  check_type(argname="argument compute_configuration", value=compute_configuration, expected_type=type_hints["compute_configuration"])
9843
10670
  check_type(argname="argument fleet_name", value=fleet_name, expected_type=type_hints["fleet_name"])
10671
+ check_type(argname="argument overflow_behavior", value=overflow_behavior, expected_type=type_hints["overflow_behavior"])
10672
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
10673
+ check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
10674
+ check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
10675
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
9844
10676
  self._values: typing.Dict[builtins.str, typing.Any] = {
9845
10677
  "base_capacity": base_capacity,
9846
10678
  "compute_type": compute_type,
@@ -9850,6 +10682,16 @@ class FleetProps:
9850
10682
  self._values["compute_configuration"] = compute_configuration
9851
10683
  if fleet_name is not None:
9852
10684
  self._values["fleet_name"] = fleet_name
10685
+ if overflow_behavior is not None:
10686
+ self._values["overflow_behavior"] = overflow_behavior
10687
+ if role is not None:
10688
+ self._values["role"] = role
10689
+ if security_groups is not None:
10690
+ self._values["security_groups"] = security_groups
10691
+ if subnet_selection is not None:
10692
+ self._values["subnet_selection"] = subnet_selection
10693
+ if vpc is not None:
10694
+ self._values["vpc"] = vpc
9853
10695
 
9854
10696
  @builtins.property
9855
10697
  def base_capacity(self) -> jsii.Number:
@@ -9882,7 +10724,8 @@ class FleetProps:
9882
10724
  def compute_configuration(self) -> typing.Optional[ComputeConfiguration]:
9883
10725
  '''The compute configuration of the compute fleet.
9884
10726
 
9885
- This is only required if ``computeType`` is set to ATTRIBUTE_BASED.
10727
+ This is only permitted if ``computeType`` is set to ATTRIBUTE_BASED or
10728
+ CUSTOM_INSTANCE_TYPE. In such cases, this is required.
9886
10729
 
9887
10730
  :default: - do not specify compute configuration
9888
10731
 
@@ -9900,6 +10743,73 @@ class FleetProps:
9900
10743
  result = self._values.get("fleet_name")
9901
10744
  return typing.cast(typing.Optional[builtins.str], result)
9902
10745
 
10746
+ @builtins.property
10747
+ def overflow_behavior(self) -> typing.Optional[FleetOverflowBehavior]:
10748
+ '''The compute fleet overflow behavior.
10749
+
10750
+ For overflow behavior ``QUEUE``, overflow builds need to wait on the existing fleet instances to become available.
10751
+
10752
+ For overflow behavior ``ON_DEMAND``, overflow builds run on CodeBuild on-demand.
10753
+
10754
+ :default: undefined - AWS CodeBuild default behavior is QUEUE
10755
+ '''
10756
+ result = self._values.get("overflow_behavior")
10757
+ return typing.cast(typing.Optional[FleetOverflowBehavior], result)
10758
+
10759
+ @builtins.property
10760
+ def role(self) -> typing.Optional[_IRole_235f5d8e]:
10761
+ '''Service Role assumed by Fleet instances.
10762
+
10763
+ This Role is not used by Project builds running on Fleet instances; Project
10764
+ builds assume the ``role`` on Project instead.
10765
+
10766
+ :default: - A role will be created if any permissions are granted
10767
+ '''
10768
+ result = self._values.get("role")
10769
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
10770
+
10771
+ @builtins.property
10772
+ def security_groups(self) -> typing.Optional[typing.List[_ISecurityGroup_acf8a799]]:
10773
+ '''What security groups to associate with the fleet's network interfaces. If none are provided, one will be created automatically.
10774
+
10775
+ Only used if ``vpc`` is supplied.
10776
+
10777
+ :default: - A security group will be automatically created.
10778
+ '''
10779
+ result = self._values.get("security_groups")
10780
+ return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
10781
+
10782
+ @builtins.property
10783
+ def subnet_selection(self) -> typing.Optional[_SubnetSelection_e57d76df]:
10784
+ '''Where to place the network interfaces within the VPC.
10785
+
10786
+ To access AWS services, your fleet needs to be in one of the following types of subnets:
10787
+
10788
+ 1. Subnets with access to the internet (of type PRIVATE_WITH_EGRESS).
10789
+ 2. Private subnets unconnected to the internet, but with `VPC endpoints <https://docs.aws.amazon.com/codebuild/latest/userguide/use-vpc-endpoints-with-codebuild.html>`_ for the necessary services.
10790
+
10791
+ If you don't specify a subnet selection, the default behavior is to use PRIVATE_WITH_EGRESS subnets first if they exist,
10792
+ then PRIVATE_WITHOUT_EGRESS, and finally PUBLIC subnets. If your VPC doesn't have PRIVATE_WITH_EGRESS subnets but you need
10793
+ AWS service access, add VPC Endpoints to your private subnets.
10794
+
10795
+ :default: - private subnets if available else public subnets
10796
+
10797
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html
10798
+ '''
10799
+ result = self._values.get("subnet_selection")
10800
+ return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
10801
+
10802
+ @builtins.property
10803
+ def vpc(self) -> typing.Optional[_IVpc_f30d5663]:
10804
+ '''VPC network to place fleet instance network interfaces.
10805
+
10806
+ Specify this if the fleet needs to access resources in a VPC.
10807
+
10808
+ :default: - No VPC is specified.
10809
+ '''
10810
+ result = self._values.get("vpc")
10811
+ return typing.cast(typing.Optional[_IVpc_f30d5663], result)
10812
+
9903
10813
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9904
10814
  return isinstance(rhs, self.__class__) and rhs._values == self._values
9905
10815
 
@@ -9960,6 +10870,12 @@ class GitHubEnterpriseSourceCredentials(
9960
10870
 
9961
10871
  jsii.create(self.__class__, self, [scope, id, props])
9962
10872
 
10873
+ @jsii.python.classproperty
10874
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
10875
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
10876
+ '''Uniquely identifies this class.'''
10877
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
10878
+
9963
10879
 
9964
10880
  @jsii.data_type(
9965
10881
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubEnterpriseSourceCredentialsProps",
@@ -10054,6 +10970,12 @@ class GitHubSourceCredentials(
10054
10970
 
10055
10971
  jsii.create(self.__class__, self, [scope, id, props])
10056
10972
 
10973
+ @jsii.python.classproperty
10974
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
10975
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
10976
+ '''Uniquely identifies this class.'''
10977
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
10978
+
10057
10979
 
10058
10980
  @jsii.data_type(
10059
10981
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubSourceCredentialsProps",
@@ -10251,6 +11173,7 @@ class IBuildImage(typing_extensions.Protocol):
10251
11173
  build_image: typing.Optional["IBuildImage"] = None,
10252
11174
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10253
11175
  compute_type: typing.Optional[ComputeType] = None,
11176
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
10254
11177
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10255
11178
  fleet: typing.Optional["IFleet"] = None,
10256
11179
  privileged: typing.Optional[builtins.bool] = None,
@@ -10260,6 +11183,7 @@ class IBuildImage(typing_extensions.Protocol):
10260
11183
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
10261
11184
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10262
11185
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
11186
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
10263
11187
  :param environment_variables: The environment variables that your builds can use.
10264
11188
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
10265
11189
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -10342,6 +11266,7 @@ class _IBuildImageProxy:
10342
11266
  build_image: typing.Optional[IBuildImage] = None,
10343
11267
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10344
11268
  compute_type: typing.Optional[ComputeType] = None,
11269
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
10345
11270
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10346
11271
  fleet: typing.Optional["IFleet"] = None,
10347
11272
  privileged: typing.Optional[builtins.bool] = None,
@@ -10351,6 +11276,7 @@ class _IBuildImageProxy:
10351
11276
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
10352
11277
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10353
11278
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
11279
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
10354
11280
  :param environment_variables: The environment variables that your builds can use.
10355
11281
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
10356
11282
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -10359,6 +11285,7 @@ class _IBuildImageProxy:
10359
11285
  build_image=build_image,
10360
11286
  certificate=certificate,
10361
11287
  compute_type=compute_type,
11288
+ docker_server=docker_server,
10362
11289
  environment_variables=environment_variables,
10363
11290
  fleet=fleet,
10364
11291
  privileged=privileged,
@@ -10421,8 +11348,13 @@ typing.cast(typing.Any, IFileSystemLocation).__jsii_proxy_class__ = lambda : _IF
10421
11348
 
10422
11349
 
10423
11350
  @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IFleet")
10424
- class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
10425
- '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
11351
+ class IFleet(
11352
+ _IResource_c80c4260,
11353
+ _IGrantable_71c4f5de,
11354
+ _IConnectable_10015a05,
11355
+ typing_extensions.Protocol,
11356
+ ):
11357
+ '''Represents a Fleet for a reserved capacity CodeBuild project.'''
10426
11358
 
10427
11359
  @builtins.property
10428
11360
  @jsii.member(jsii_name="computeType")
@@ -10460,8 +11392,10 @@ class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
10460
11392
 
10461
11393
  class _IFleetProxy(
10462
11394
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
11395
+ jsii.proxy_for(_IGrantable_71c4f5de), # type: ignore[misc]
11396
+ jsii.proxy_for(_IConnectable_10015a05), # type: ignore[misc]
10463
11397
  ):
10464
- '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
11398
+ '''Represents a Fleet for a reserved capacity CodeBuild project.'''
10465
11399
 
10466
11400
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_codebuild.IFleet"
10467
11401
 
@@ -10561,6 +11495,7 @@ class IProject(
10561
11495
  account: typing.Optional[builtins.str] = None,
10562
11496
  color: typing.Optional[builtins.str] = None,
10563
11497
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11498
+ id: typing.Optional[builtins.str] = None,
10564
11499
  label: typing.Optional[builtins.str] = None,
10565
11500
  period: typing.Optional[_Duration_4839e8c3] = None,
10566
11501
  region: typing.Optional[builtins.str] = None,
@@ -10568,12 +11503,14 @@ class IProject(
10568
11503
  stack_region: typing.Optional[builtins.str] = None,
10569
11504
  statistic: typing.Optional[builtins.str] = None,
10570
11505
  unit: typing.Optional[_Unit_61bc6f70] = None,
11506
+ visible: typing.Optional[builtins.bool] = None,
10571
11507
  ) -> _Metric_e396a4dc:
10572
11508
  '''
10573
11509
  :param metric_name: The name of the metric.
10574
11510
  :param account: Account which this metric comes from. Default: - Deployment account.
10575
11511
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
10576
11512
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11513
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
10577
11514
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
10578
11515
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10579
11516
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10581,6 +11518,7 @@ class IProject(
10581
11518
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10582
11519
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
10583
11520
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
11521
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
10584
11522
 
10585
11523
  :return: a CloudWatch metric associated with this build project.
10586
11524
  '''
@@ -10593,6 +11531,7 @@ class IProject(
10593
11531
  account: typing.Optional[builtins.str] = None,
10594
11532
  color: typing.Optional[builtins.str] = None,
10595
11533
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11534
+ id: typing.Optional[builtins.str] = None,
10596
11535
  label: typing.Optional[builtins.str] = None,
10597
11536
  period: typing.Optional[_Duration_4839e8c3] = None,
10598
11537
  region: typing.Optional[builtins.str] = None,
@@ -10600,6 +11539,7 @@ class IProject(
10600
11539
  stack_region: typing.Optional[builtins.str] = None,
10601
11540
  statistic: typing.Optional[builtins.str] = None,
10602
11541
  unit: typing.Optional[_Unit_61bc6f70] = None,
11542
+ visible: typing.Optional[builtins.bool] = None,
10603
11543
  ) -> _Metric_e396a4dc:
10604
11544
  '''Measures the number of builds triggered.
10605
11545
 
@@ -10610,6 +11550,7 @@ class IProject(
10610
11550
  :param account: Account which this metric comes from. Default: - Deployment account.
10611
11551
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
10612
11552
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11553
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
10613
11554
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
10614
11555
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10615
11556
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10617,6 +11558,7 @@ class IProject(
10617
11558
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10618
11559
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
10619
11560
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
11561
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
10620
11562
 
10621
11563
  :default: sum over 5 minutes
10622
11564
  '''
@@ -10629,6 +11571,7 @@ class IProject(
10629
11571
  account: typing.Optional[builtins.str] = None,
10630
11572
  color: typing.Optional[builtins.str] = None,
10631
11573
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11574
+ id: typing.Optional[builtins.str] = None,
10632
11575
  label: typing.Optional[builtins.str] = None,
10633
11576
  period: typing.Optional[_Duration_4839e8c3] = None,
10634
11577
  region: typing.Optional[builtins.str] = None,
@@ -10636,6 +11579,7 @@ class IProject(
10636
11579
  stack_region: typing.Optional[builtins.str] = None,
10637
11580
  statistic: typing.Optional[builtins.str] = None,
10638
11581
  unit: typing.Optional[_Unit_61bc6f70] = None,
11582
+ visible: typing.Optional[builtins.bool] = None,
10639
11583
  ) -> _Metric_e396a4dc:
10640
11584
  '''Measures the duration of all builds over time.
10641
11585
 
@@ -10646,6 +11590,7 @@ class IProject(
10646
11590
  :param account: Account which this metric comes from. Default: - Deployment account.
10647
11591
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
10648
11592
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11593
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
10649
11594
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
10650
11595
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10651
11596
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10653,6 +11598,7 @@ class IProject(
10653
11598
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10654
11599
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
10655
11600
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
11601
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
10656
11602
 
10657
11603
  :default: average over 5 minutes
10658
11604
  '''
@@ -10665,6 +11611,7 @@ class IProject(
10665
11611
  account: typing.Optional[builtins.str] = None,
10666
11612
  color: typing.Optional[builtins.str] = None,
10667
11613
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11614
+ id: typing.Optional[builtins.str] = None,
10668
11615
  label: typing.Optional[builtins.str] = None,
10669
11616
  period: typing.Optional[_Duration_4839e8c3] = None,
10670
11617
  region: typing.Optional[builtins.str] = None,
@@ -10672,6 +11619,7 @@ class IProject(
10672
11619
  stack_region: typing.Optional[builtins.str] = None,
10673
11620
  statistic: typing.Optional[builtins.str] = None,
10674
11621
  unit: typing.Optional[_Unit_61bc6f70] = None,
11622
+ visible: typing.Optional[builtins.bool] = None,
10675
11623
  ) -> _Metric_e396a4dc:
10676
11624
  '''Measures the number of builds that failed because of client error or because of a timeout.
10677
11625
 
@@ -10682,6 +11630,7 @@ class IProject(
10682
11630
  :param account: Account which this metric comes from. Default: - Deployment account.
10683
11631
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
10684
11632
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11633
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
10685
11634
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
10686
11635
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10687
11636
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10689,6 +11638,7 @@ class IProject(
10689
11638
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10690
11639
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
10691
11640
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
11641
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
10692
11642
 
10693
11643
  :default: sum over 5 minutes
10694
11644
  '''
@@ -10701,6 +11651,7 @@ class IProject(
10701
11651
  account: typing.Optional[builtins.str] = None,
10702
11652
  color: typing.Optional[builtins.str] = None,
10703
11653
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11654
+ id: typing.Optional[builtins.str] = None,
10704
11655
  label: typing.Optional[builtins.str] = None,
10705
11656
  period: typing.Optional[_Duration_4839e8c3] = None,
10706
11657
  region: typing.Optional[builtins.str] = None,
@@ -10708,6 +11659,7 @@ class IProject(
10708
11659
  stack_region: typing.Optional[builtins.str] = None,
10709
11660
  statistic: typing.Optional[builtins.str] = None,
10710
11661
  unit: typing.Optional[_Unit_61bc6f70] = None,
11662
+ visible: typing.Optional[builtins.bool] = None,
10711
11663
  ) -> _Metric_e396a4dc:
10712
11664
  '''Measures the number of successful builds.
10713
11665
 
@@ -10718,6 +11670,7 @@ class IProject(
10718
11670
  :param account: Account which this metric comes from. Default: - Deployment account.
10719
11671
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
10720
11672
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11673
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
10721
11674
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
10722
11675
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10723
11676
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10725,6 +11678,7 @@ class IProject(
10725
11678
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10726
11679
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
10727
11680
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
11681
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
10728
11682
 
10729
11683
  :default: sum over 5 minutes
10730
11684
  '''
@@ -11025,6 +11979,7 @@ class _IProjectProxy(
11025
11979
  account: typing.Optional[builtins.str] = None,
11026
11980
  color: typing.Optional[builtins.str] = None,
11027
11981
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11982
+ id: typing.Optional[builtins.str] = None,
11028
11983
  label: typing.Optional[builtins.str] = None,
11029
11984
  period: typing.Optional[_Duration_4839e8c3] = None,
11030
11985
  region: typing.Optional[builtins.str] = None,
@@ -11032,12 +11987,14 @@ class _IProjectProxy(
11032
11987
  stack_region: typing.Optional[builtins.str] = None,
11033
11988
  statistic: typing.Optional[builtins.str] = None,
11034
11989
  unit: typing.Optional[_Unit_61bc6f70] = None,
11990
+ visible: typing.Optional[builtins.bool] = None,
11035
11991
  ) -> _Metric_e396a4dc:
11036
11992
  '''
11037
11993
  :param metric_name: The name of the metric.
11038
11994
  :param account: Account which this metric comes from. Default: - Deployment account.
11039
11995
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
11040
11996
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
11997
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
11041
11998
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
11042
11999
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11043
12000
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11045,6 +12002,7 @@ class _IProjectProxy(
11045
12002
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11046
12003
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
11047
12004
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
12005
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
11048
12006
 
11049
12007
  :return: a CloudWatch metric associated with this build project.
11050
12008
  '''
@@ -11055,6 +12013,7 @@ class _IProjectProxy(
11055
12013
  account=account,
11056
12014
  color=color,
11057
12015
  dimensions_map=dimensions_map,
12016
+ id=id,
11058
12017
  label=label,
11059
12018
  period=period,
11060
12019
  region=region,
@@ -11062,6 +12021,7 @@ class _IProjectProxy(
11062
12021
  stack_region=stack_region,
11063
12022
  statistic=statistic,
11064
12023
  unit=unit,
12024
+ visible=visible,
11065
12025
  )
11066
12026
 
11067
12027
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metric", [metric_name, props]))
@@ -11073,6 +12033,7 @@ class _IProjectProxy(
11073
12033
  account: typing.Optional[builtins.str] = None,
11074
12034
  color: typing.Optional[builtins.str] = None,
11075
12035
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12036
+ id: typing.Optional[builtins.str] = None,
11076
12037
  label: typing.Optional[builtins.str] = None,
11077
12038
  period: typing.Optional[_Duration_4839e8c3] = None,
11078
12039
  region: typing.Optional[builtins.str] = None,
@@ -11080,6 +12041,7 @@ class _IProjectProxy(
11080
12041
  stack_region: typing.Optional[builtins.str] = None,
11081
12042
  statistic: typing.Optional[builtins.str] = None,
11082
12043
  unit: typing.Optional[_Unit_61bc6f70] = None,
12044
+ visible: typing.Optional[builtins.bool] = None,
11083
12045
  ) -> _Metric_e396a4dc:
11084
12046
  '''Measures the number of builds triggered.
11085
12047
 
@@ -11090,6 +12052,7 @@ class _IProjectProxy(
11090
12052
  :param account: Account which this metric comes from. Default: - Deployment account.
11091
12053
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
11092
12054
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
12055
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
11093
12056
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
11094
12057
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11095
12058
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11097,6 +12060,7 @@ class _IProjectProxy(
11097
12060
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11098
12061
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
11099
12062
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
12063
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
11100
12064
 
11101
12065
  :default: sum over 5 minutes
11102
12066
  '''
@@ -11104,6 +12068,7 @@ class _IProjectProxy(
11104
12068
  account=account,
11105
12069
  color=color,
11106
12070
  dimensions_map=dimensions_map,
12071
+ id=id,
11107
12072
  label=label,
11108
12073
  period=period,
11109
12074
  region=region,
@@ -11111,6 +12076,7 @@ class _IProjectProxy(
11111
12076
  stack_region=stack_region,
11112
12077
  statistic=statistic,
11113
12078
  unit=unit,
12079
+ visible=visible,
11114
12080
  )
11115
12081
 
11116
12082
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricBuilds", [props]))
@@ -11122,6 +12088,7 @@ class _IProjectProxy(
11122
12088
  account: typing.Optional[builtins.str] = None,
11123
12089
  color: typing.Optional[builtins.str] = None,
11124
12090
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12091
+ id: typing.Optional[builtins.str] = None,
11125
12092
  label: typing.Optional[builtins.str] = None,
11126
12093
  period: typing.Optional[_Duration_4839e8c3] = None,
11127
12094
  region: typing.Optional[builtins.str] = None,
@@ -11129,6 +12096,7 @@ class _IProjectProxy(
11129
12096
  stack_region: typing.Optional[builtins.str] = None,
11130
12097
  statistic: typing.Optional[builtins.str] = None,
11131
12098
  unit: typing.Optional[_Unit_61bc6f70] = None,
12099
+ visible: typing.Optional[builtins.bool] = None,
11132
12100
  ) -> _Metric_e396a4dc:
11133
12101
  '''Measures the duration of all builds over time.
11134
12102
 
@@ -11139,6 +12107,7 @@ class _IProjectProxy(
11139
12107
  :param account: Account which this metric comes from. Default: - Deployment account.
11140
12108
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
11141
12109
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
12110
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
11142
12111
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
11143
12112
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11144
12113
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11146,6 +12115,7 @@ class _IProjectProxy(
11146
12115
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11147
12116
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
11148
12117
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
12118
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
11149
12119
 
11150
12120
  :default: average over 5 minutes
11151
12121
  '''
@@ -11153,6 +12123,7 @@ class _IProjectProxy(
11153
12123
  account=account,
11154
12124
  color=color,
11155
12125
  dimensions_map=dimensions_map,
12126
+ id=id,
11156
12127
  label=label,
11157
12128
  period=period,
11158
12129
  region=region,
@@ -11160,6 +12131,7 @@ class _IProjectProxy(
11160
12131
  stack_region=stack_region,
11161
12132
  statistic=statistic,
11162
12133
  unit=unit,
12134
+ visible=visible,
11163
12135
  )
11164
12136
 
11165
12137
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricDuration", [props]))
@@ -11171,6 +12143,7 @@ class _IProjectProxy(
11171
12143
  account: typing.Optional[builtins.str] = None,
11172
12144
  color: typing.Optional[builtins.str] = None,
11173
12145
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12146
+ id: typing.Optional[builtins.str] = None,
11174
12147
  label: typing.Optional[builtins.str] = None,
11175
12148
  period: typing.Optional[_Duration_4839e8c3] = None,
11176
12149
  region: typing.Optional[builtins.str] = None,
@@ -11178,6 +12151,7 @@ class _IProjectProxy(
11178
12151
  stack_region: typing.Optional[builtins.str] = None,
11179
12152
  statistic: typing.Optional[builtins.str] = None,
11180
12153
  unit: typing.Optional[_Unit_61bc6f70] = None,
12154
+ visible: typing.Optional[builtins.bool] = None,
11181
12155
  ) -> _Metric_e396a4dc:
11182
12156
  '''Measures the number of builds that failed because of client error or because of a timeout.
11183
12157
 
@@ -11188,6 +12162,7 @@ class _IProjectProxy(
11188
12162
  :param account: Account which this metric comes from. Default: - Deployment account.
11189
12163
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
11190
12164
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
12165
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
11191
12166
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
11192
12167
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11193
12168
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11195,6 +12170,7 @@ class _IProjectProxy(
11195
12170
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11196
12171
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
11197
12172
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
12173
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
11198
12174
 
11199
12175
  :default: sum over 5 minutes
11200
12176
  '''
@@ -11202,6 +12178,7 @@ class _IProjectProxy(
11202
12178
  account=account,
11203
12179
  color=color,
11204
12180
  dimensions_map=dimensions_map,
12181
+ id=id,
11205
12182
  label=label,
11206
12183
  period=period,
11207
12184
  region=region,
@@ -11209,6 +12186,7 @@ class _IProjectProxy(
11209
12186
  stack_region=stack_region,
11210
12187
  statistic=statistic,
11211
12188
  unit=unit,
12189
+ visible=visible,
11212
12190
  )
11213
12191
 
11214
12192
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricFailedBuilds", [props]))
@@ -11220,6 +12198,7 @@ class _IProjectProxy(
11220
12198
  account: typing.Optional[builtins.str] = None,
11221
12199
  color: typing.Optional[builtins.str] = None,
11222
12200
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12201
+ id: typing.Optional[builtins.str] = None,
11223
12202
  label: typing.Optional[builtins.str] = None,
11224
12203
  period: typing.Optional[_Duration_4839e8c3] = None,
11225
12204
  region: typing.Optional[builtins.str] = None,
@@ -11227,6 +12206,7 @@ class _IProjectProxy(
11227
12206
  stack_region: typing.Optional[builtins.str] = None,
11228
12207
  statistic: typing.Optional[builtins.str] = None,
11229
12208
  unit: typing.Optional[_Unit_61bc6f70] = None,
12209
+ visible: typing.Optional[builtins.bool] = None,
11230
12210
  ) -> _Metric_e396a4dc:
11231
12211
  '''Measures the number of successful builds.
11232
12212
 
@@ -11237,6 +12217,7 @@ class _IProjectProxy(
11237
12217
  :param account: Account which this metric comes from. Default: - Deployment account.
11238
12218
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
11239
12219
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
12220
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
11240
12221
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
11241
12222
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11242
12223
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11244,6 +12225,7 @@ class _IProjectProxy(
11244
12225
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11245
12226
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
11246
12227
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
12228
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
11247
12229
 
11248
12230
  :default: sum over 5 minutes
11249
12231
  '''
@@ -11251,6 +12233,7 @@ class _IProjectProxy(
11251
12233
  account=account,
11252
12234
  color=color,
11253
12235
  dimensions_map=dimensions_map,
12236
+ id=id,
11254
12237
  label=label,
11255
12238
  period=period,
11256
12239
  region=region,
@@ -11258,6 +12241,7 @@ class _IProjectProxy(
11258
12241
  stack_region=stack_region,
11259
12242
  statistic=statistic,
11260
12243
  unit=unit,
12244
+ visible=visible,
11261
12245
  )
11262
12246
 
11263
12247
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSucceededBuilds", [props]))
@@ -11877,6 +12861,7 @@ class LinuxArmBuildImage(
11877
12861
  build_image: typing.Optional[IBuildImage] = None,
11878
12862
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
11879
12863
  compute_type: typing.Optional[ComputeType] = None,
12864
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
11880
12865
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11881
12866
  fleet: typing.Optional[IFleet] = None,
11882
12867
  privileged: typing.Optional[builtins.bool] = None,
@@ -11886,6 +12871,7 @@ class LinuxArmBuildImage(
11886
12871
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
11887
12872
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
11888
12873
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
12874
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
11889
12875
  :param environment_variables: The environment variables that your builds can use.
11890
12876
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
11891
12877
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -11894,6 +12880,7 @@ class LinuxArmBuildImage(
11894
12880
  build_image=build_image,
11895
12881
  certificate=certificate,
11896
12882
  compute_type=compute_type,
12883
+ docker_server=docker_server,
11897
12884
  environment_variables=environment_variables,
11898
12885
  fleet=fleet,
11899
12886
  privileged=privileged,
@@ -12012,6 +12999,7 @@ class LinuxArmLambdaBuildImage(
12012
12999
  build_image: typing.Optional[IBuildImage] = None,
12013
13000
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12014
13001
  compute_type: typing.Optional[ComputeType] = None,
13002
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12015
13003
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12016
13004
  fleet: typing.Optional[IFleet] = None,
12017
13005
  privileged: typing.Optional[builtins.bool] = None,
@@ -12021,6 +13009,7 @@ class LinuxArmLambdaBuildImage(
12021
13009
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12022
13010
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12023
13011
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
13012
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
12024
13013
  :param environment_variables: The environment variables that your builds can use.
12025
13014
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
12026
13015
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -12029,6 +13018,7 @@ class LinuxArmLambdaBuildImage(
12029
13018
  build_image=build_image,
12030
13019
  certificate=certificate,
12031
13020
  compute_type=compute_type,
13021
+ docker_server=docker_server,
12032
13022
  environment_variables=environment_variables,
12033
13023
  fleet=fleet,
12034
13024
  privileged=privileged,
@@ -12359,6 +13349,7 @@ class LinuxBuildImage(
12359
13349
  build_image: typing.Optional[IBuildImage] = None,
12360
13350
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12361
13351
  compute_type: typing.Optional[ComputeType] = None,
13352
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12362
13353
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12363
13354
  fleet: typing.Optional[IFleet] = None,
12364
13355
  privileged: typing.Optional[builtins.bool] = None,
@@ -12368,6 +13359,7 @@ class LinuxBuildImage(
12368
13359
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12369
13360
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12370
13361
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
13362
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
12371
13363
  :param environment_variables: The environment variables that your builds can use.
12372
13364
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
12373
13365
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -12376,6 +13368,7 @@ class LinuxBuildImage(
12376
13368
  build_image=build_image,
12377
13369
  certificate=certificate,
12378
13370
  compute_type=compute_type,
13371
+ docker_server=docker_server,
12379
13372
  environment_variables=environment_variables,
12380
13373
  fleet=fleet,
12381
13374
  privileged=privileged,
@@ -12627,6 +13620,7 @@ class LinuxLambdaBuildImage(
12627
13620
  build_image: typing.Optional[IBuildImage] = None,
12628
13621
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12629
13622
  compute_type: typing.Optional[ComputeType] = None,
13623
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12630
13624
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12631
13625
  fleet: typing.Optional[IFleet] = None,
12632
13626
  privileged: typing.Optional[builtins.bool] = None,
@@ -12636,6 +13630,7 @@ class LinuxLambdaBuildImage(
12636
13630
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12637
13631
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12638
13632
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
13633
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
12639
13634
  :param environment_variables: The environment variables that your builds can use.
12640
13635
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
12641
13636
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -12644,6 +13639,7 @@ class LinuxLambdaBuildImage(
12644
13639
  build_image=build_image,
12645
13640
  certificate=certificate,
12646
13641
  compute_type=compute_type,
13642
+ docker_server=docker_server,
12647
13643
  environment_variables=environment_variables,
12648
13644
  fleet=fleet,
12649
13645
  privileged=privileged,
@@ -13096,6 +14092,7 @@ class MacBuildImage(
13096
14092
  build_image: typing.Optional[IBuildImage] = None,
13097
14093
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
13098
14094
  compute_type: typing.Optional[ComputeType] = None,
14095
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
13099
14096
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
13100
14097
  fleet: typing.Optional[IFleet] = None,
13101
14098
  privileged: typing.Optional[builtins.bool] = None,
@@ -13105,6 +14102,7 @@ class MacBuildImage(
13105
14102
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
13106
14103
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
13107
14104
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
14105
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
13108
14106
  :param environment_variables: The environment variables that your builds can use.
13109
14107
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
13110
14108
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -13113,6 +14111,7 @@ class MacBuildImage(
13113
14111
  build_image=build_image,
13114
14112
  certificate=certificate,
13115
14113
  compute_type=compute_type,
14114
+ docker_server=docker_server,
13116
14115
  environment_variables=environment_variables,
13117
14116
  fleet=fleet,
13118
14117
  privileged=privileged,
@@ -14050,6 +15049,7 @@ class Project(
14050
15049
  account: typing.Optional[builtins.str] = None,
14051
15050
  color: typing.Optional[builtins.str] = None,
14052
15051
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15052
+ id: typing.Optional[builtins.str] = None,
14053
15053
  label: typing.Optional[builtins.str] = None,
14054
15054
  period: typing.Optional[_Duration_4839e8c3] = None,
14055
15055
  region: typing.Optional[builtins.str] = None,
@@ -14057,12 +15057,14 @@ class Project(
14057
15057
  stack_region: typing.Optional[builtins.str] = None,
14058
15058
  statistic: typing.Optional[builtins.str] = None,
14059
15059
  unit: typing.Optional[_Unit_61bc6f70] = None,
15060
+ visible: typing.Optional[builtins.bool] = None,
14060
15061
  ) -> _Metric_e396a4dc:
14061
15062
  '''
14062
15063
  :param metric_name: The name of the metric.
14063
15064
  :param account: Account which this metric comes from. Default: - Deployment account.
14064
15065
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
14065
15066
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
15067
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
14066
15068
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
14067
15069
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14068
15070
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14070,6 +15072,7 @@ class Project(
14070
15072
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14071
15073
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
14072
15074
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
15075
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
14073
15076
 
14074
15077
  :return: a CloudWatch metric associated with this build project.
14075
15078
  '''
@@ -14080,6 +15083,7 @@ class Project(
14080
15083
  account=account,
14081
15084
  color=color,
14082
15085
  dimensions_map=dimensions_map,
15086
+ id=id,
14083
15087
  label=label,
14084
15088
  period=period,
14085
15089
  region=region,
@@ -14087,6 +15091,7 @@ class Project(
14087
15091
  stack_region=stack_region,
14088
15092
  statistic=statistic,
14089
15093
  unit=unit,
15094
+ visible=visible,
14090
15095
  )
14091
15096
 
14092
15097
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metric", [metric_name, props]))
@@ -14098,6 +15103,7 @@ class Project(
14098
15103
  account: typing.Optional[builtins.str] = None,
14099
15104
  color: typing.Optional[builtins.str] = None,
14100
15105
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15106
+ id: typing.Optional[builtins.str] = None,
14101
15107
  label: typing.Optional[builtins.str] = None,
14102
15108
  period: typing.Optional[_Duration_4839e8c3] = None,
14103
15109
  region: typing.Optional[builtins.str] = None,
@@ -14105,6 +15111,7 @@ class Project(
14105
15111
  stack_region: typing.Optional[builtins.str] = None,
14106
15112
  statistic: typing.Optional[builtins.str] = None,
14107
15113
  unit: typing.Optional[_Unit_61bc6f70] = None,
15114
+ visible: typing.Optional[builtins.bool] = None,
14108
15115
  ) -> _Metric_e396a4dc:
14109
15116
  '''Measures the number of builds triggered.
14110
15117
 
@@ -14115,6 +15122,7 @@ class Project(
14115
15122
  :param account: Account which this metric comes from. Default: - Deployment account.
14116
15123
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
14117
15124
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
15125
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
14118
15126
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
14119
15127
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14120
15128
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14122,6 +15130,7 @@ class Project(
14122
15130
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14123
15131
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
14124
15132
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
15133
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
14125
15134
 
14126
15135
  :default: sum over 5 minutes
14127
15136
  '''
@@ -14129,6 +15138,7 @@ class Project(
14129
15138
  account=account,
14130
15139
  color=color,
14131
15140
  dimensions_map=dimensions_map,
15141
+ id=id,
14132
15142
  label=label,
14133
15143
  period=period,
14134
15144
  region=region,
@@ -14136,6 +15146,7 @@ class Project(
14136
15146
  stack_region=stack_region,
14137
15147
  statistic=statistic,
14138
15148
  unit=unit,
15149
+ visible=visible,
14139
15150
  )
14140
15151
 
14141
15152
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricBuilds", [props]))
@@ -14147,6 +15158,7 @@ class Project(
14147
15158
  account: typing.Optional[builtins.str] = None,
14148
15159
  color: typing.Optional[builtins.str] = None,
14149
15160
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15161
+ id: typing.Optional[builtins.str] = None,
14150
15162
  label: typing.Optional[builtins.str] = None,
14151
15163
  period: typing.Optional[_Duration_4839e8c3] = None,
14152
15164
  region: typing.Optional[builtins.str] = None,
@@ -14154,6 +15166,7 @@ class Project(
14154
15166
  stack_region: typing.Optional[builtins.str] = None,
14155
15167
  statistic: typing.Optional[builtins.str] = None,
14156
15168
  unit: typing.Optional[_Unit_61bc6f70] = None,
15169
+ visible: typing.Optional[builtins.bool] = None,
14157
15170
  ) -> _Metric_e396a4dc:
14158
15171
  '''Measures the duration of all builds over time.
14159
15172
 
@@ -14164,6 +15177,7 @@ class Project(
14164
15177
  :param account: Account which this metric comes from. Default: - Deployment account.
14165
15178
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
14166
15179
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
15180
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
14167
15181
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
14168
15182
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14169
15183
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14171,6 +15185,7 @@ class Project(
14171
15185
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14172
15186
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
14173
15187
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
15188
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
14174
15189
 
14175
15190
  :default: average over 5 minutes
14176
15191
  '''
@@ -14178,6 +15193,7 @@ class Project(
14178
15193
  account=account,
14179
15194
  color=color,
14180
15195
  dimensions_map=dimensions_map,
15196
+ id=id,
14181
15197
  label=label,
14182
15198
  period=period,
14183
15199
  region=region,
@@ -14185,6 +15201,7 @@ class Project(
14185
15201
  stack_region=stack_region,
14186
15202
  statistic=statistic,
14187
15203
  unit=unit,
15204
+ visible=visible,
14188
15205
  )
14189
15206
 
14190
15207
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricDuration", [props]))
@@ -14196,6 +15213,7 @@ class Project(
14196
15213
  account: typing.Optional[builtins.str] = None,
14197
15214
  color: typing.Optional[builtins.str] = None,
14198
15215
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15216
+ id: typing.Optional[builtins.str] = None,
14199
15217
  label: typing.Optional[builtins.str] = None,
14200
15218
  period: typing.Optional[_Duration_4839e8c3] = None,
14201
15219
  region: typing.Optional[builtins.str] = None,
@@ -14203,6 +15221,7 @@ class Project(
14203
15221
  stack_region: typing.Optional[builtins.str] = None,
14204
15222
  statistic: typing.Optional[builtins.str] = None,
14205
15223
  unit: typing.Optional[_Unit_61bc6f70] = None,
15224
+ visible: typing.Optional[builtins.bool] = None,
14206
15225
  ) -> _Metric_e396a4dc:
14207
15226
  '''Measures the number of builds that failed because of client error or because of a timeout.
14208
15227
 
@@ -14213,6 +15232,7 @@ class Project(
14213
15232
  :param account: Account which this metric comes from. Default: - Deployment account.
14214
15233
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
14215
15234
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
15235
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
14216
15236
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
14217
15237
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14218
15238
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14220,6 +15240,7 @@ class Project(
14220
15240
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14221
15241
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
14222
15242
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
15243
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
14223
15244
 
14224
15245
  :default: sum over 5 minutes
14225
15246
  '''
@@ -14227,6 +15248,7 @@ class Project(
14227
15248
  account=account,
14228
15249
  color=color,
14229
15250
  dimensions_map=dimensions_map,
15251
+ id=id,
14230
15252
  label=label,
14231
15253
  period=period,
14232
15254
  region=region,
@@ -14234,6 +15256,7 @@ class Project(
14234
15256
  stack_region=stack_region,
14235
15257
  statistic=statistic,
14236
15258
  unit=unit,
15259
+ visible=visible,
14237
15260
  )
14238
15261
 
14239
15262
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricFailedBuilds", [props]))
@@ -14245,6 +15268,7 @@ class Project(
14245
15268
  account: typing.Optional[builtins.str] = None,
14246
15269
  color: typing.Optional[builtins.str] = None,
14247
15270
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15271
+ id: typing.Optional[builtins.str] = None,
14248
15272
  label: typing.Optional[builtins.str] = None,
14249
15273
  period: typing.Optional[_Duration_4839e8c3] = None,
14250
15274
  region: typing.Optional[builtins.str] = None,
@@ -14252,6 +15276,7 @@ class Project(
14252
15276
  stack_region: typing.Optional[builtins.str] = None,
14253
15277
  statistic: typing.Optional[builtins.str] = None,
14254
15278
  unit: typing.Optional[_Unit_61bc6f70] = None,
15279
+ visible: typing.Optional[builtins.bool] = None,
14255
15280
  ) -> _Metric_e396a4dc:
14256
15281
  '''Measures the number of successful builds.
14257
15282
 
@@ -14262,6 +15287,7 @@ class Project(
14262
15287
  :param account: Account which this metric comes from. Default: - Deployment account.
14263
15288
  :param color: The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The ``Color`` class has a set of standard colors that can be used here. Default: - Automatic color
14264
15289
  :param dimensions_map: Dimensions of the metric. Default: - No dimensions.
15290
+ :param id: Unique identifier for this metric when used in dashboard widgets. The id can be used as a variable to represent this metric in math expressions. Valid characters are letters, numbers, and underscore. The first character must be a lowercase letter. Default: - No ID
14265
15291
  :param label: Label for this metric when added to a Graph in a Dashboard. You can use `dynamic labels <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html>`_ to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend. Default: - No label
14266
15292
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14267
15293
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14269,6 +15295,7 @@ class Project(
14269
15295
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14270
15296
  :param statistic: What function to use for aggregating. Use the ``aws_cloudwatch.Stats`` helper class to construct valid input strings. Can be one of the following: - "Minimum" | "min" - "Maximum" | "max" - "Average" | "avg" - "Sum" | "sum" - "SampleCount | "n" - "pNN.NN" - "tmNN.NN" | "tm(NN.NN%:NN.NN%)" - "iqm" - "wmNN.NN" | "wm(NN.NN%:NN.NN%)" - "tcNN.NN" | "tc(NN.NN%:NN.NN%)" - "tsNN.NN" | "ts(NN.NN%:NN.NN%)" Default: Average
14271
15297
  :param unit: Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
15298
+ :param visible: Whether this metric should be visible in dashboard graphs. Setting this to false is useful when you want to hide raw metrics that are used in math expressions, and show only the expression results. Default: true
14272
15299
 
14273
15300
  :default: sum over 5 minutes
14274
15301
  '''
@@ -14276,6 +15303,7 @@ class Project(
14276
15303
  account=account,
14277
15304
  color=color,
14278
15305
  dimensions_map=dimensions_map,
15306
+ id=id,
14279
15307
  label=label,
14280
15308
  period=period,
14281
15309
  region=region,
@@ -14283,6 +15311,7 @@ class Project(
14283
15311
  stack_region=stack_region,
14284
15312
  statistic=statistic,
14285
15313
  unit=unit,
15314
+ visible=visible,
14286
15315
  )
14287
15316
 
14288
15317
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSucceededBuilds", [props]))
@@ -14626,6 +15655,12 @@ class Project(
14626
15655
 
14627
15656
  return typing.cast(_Rule_334ed2b5, jsii.invoke(self, "onStateChange", [id, options]))
14628
15657
 
15658
+ @jsii.python.classproperty
15659
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15660
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15661
+ '''Uniquely identifies this class.'''
15662
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15663
+
14629
15664
  @builtins.property
14630
15665
  @jsii.member(jsii_name="connections")
14631
15666
  def connections(self) -> _Connections_0f31fce8:
@@ -15481,6 +16516,12 @@ class ReportGroup(
15481
16516
  check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
15482
16517
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantWrite", [identity]))
15483
16518
 
16519
+ @jsii.python.classproperty
16520
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
16521
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
16522
+ '''Uniquely identifies this class.'''
16523
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
16524
+
15484
16525
  @builtins.property
15485
16526
  @jsii.member(jsii_name="reportGroupArn")
15486
16527
  def report_group_arn(self) -> builtins.str:
@@ -15972,12 +17013,31 @@ class Source(
15972
17013
 
15973
17014
  Example::
15974
17015
 
15975
- project = codebuild.Project(self, "MyProject",
15976
- build_spec=codebuild.BuildSpec.from_source_filename("my-buildspec.yml"),
15977
- source=codebuild.Source.git_hub(
17016
+ # my_caching_bucket: s3.Bucket
17017
+
17018
+
17019
+ codebuild.Project(self, "Project",
17020
+ source=codebuild.Source.bit_bucket(
15978
17021
  owner="awslabs",
15979
17022
  repo="aws-cdk"
15980
- )
17023
+ ),
17024
+
17025
+ cache=codebuild.Cache.bucket(my_caching_bucket),
17026
+
17027
+ # BuildSpec with a 'cache' section necessary for S3 caching. This can
17028
+ # also come from 'buildspec.yml' in your source.
17029
+ build_spec=codebuild.BuildSpec.from_object({
17030
+ "version": "0.2",
17031
+ "phases": {
17032
+ "build": {
17033
+ "commands": ["..."]
17034
+ }
17035
+ },
17036
+ "cache": {
17037
+ "paths": ["/root/cachedir/**/*"
17038
+ ]
17039
+ }
17040
+ })
15981
17041
  )
15982
17042
  '''
15983
17043
 
@@ -16300,6 +17360,12 @@ class SourceConfig:
16300
17360
  # the properties below are optional
16301
17361
  exclude_matched_pattern=False
16302
17362
  )]],
17363
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
17364
+ requires_comment_approval="requiresCommentApproval",
17365
+
17366
+ # the properties below are optional
17367
+ approver_roles=["approverRoles"]
17368
+ ),
16303
17369
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
16304
17370
  name="name",
16305
17371
 
@@ -16500,6 +17566,12 @@ class UntrustedCodeBoundaryPolicy(
16500
17566
 
16501
17567
  jsii.create(self.__class__, self, [scope, id, props])
16502
17568
 
17569
+ @jsii.python.classproperty
17570
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17571
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17572
+ '''Uniquely identifies this class.'''
17573
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17574
+
16503
17575
 
16504
17576
  @jsii.data_type(
16505
17577
  jsii_type="aws-cdk-lib.aws_codebuild.UntrustedCodeBoundaryPolicyProps",
@@ -16707,6 +17779,7 @@ class WindowsBuildImage(
16707
17779
  build_image: typing.Optional[IBuildImage] = None,
16708
17780
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
16709
17781
  compute_type: typing.Optional[ComputeType] = None,
17782
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
16710
17783
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16711
17784
  fleet: typing.Optional[IFleet] = None,
16712
17785
  privileged: typing.Optional[builtins.bool] = None,
@@ -16716,6 +17789,7 @@ class WindowsBuildImage(
16716
17789
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
16717
17790
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
16718
17791
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
17792
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
16719
17793
  :param environment_variables: The environment variables that your builds can use.
16720
17794
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
16721
17795
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -16724,6 +17798,7 @@ class WindowsBuildImage(
16724
17798
  build_image=build_image,
16725
17799
  certificate=certificate,
16726
17800
  compute_type=compute_type,
17801
+ docker_server=docker_server,
16727
17802
  environment_variables=environment_variables,
16728
17803
  fleet=fleet,
16729
17804
  privileged=privileged,
@@ -17386,6 +18461,11 @@ class Fleet(
17386
18461
  environment_type: EnvironmentType,
17387
18462
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
17388
18463
  fleet_name: typing.Optional[builtins.str] = None,
18464
+ overflow_behavior: typing.Optional[FleetOverflowBehavior] = None,
18465
+ role: typing.Optional[_IRole_235f5d8e] = None,
18466
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
18467
+ subnet_selection: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
18468
+ vpc: typing.Optional[_IVpc_f30d5663] = None,
17389
18469
  ) -> None:
17390
18470
  '''
17391
18471
  :param scope: -
@@ -17393,8 +18473,13 @@ class Fleet(
17393
18473
  :param base_capacity: The number of machines allocated to the compute fleet. Defines the number of builds that can run in parallel. Minimum value of 1.
17394
18474
  :param compute_type: The instance type of the compute fleet.
17395
18475
  :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
17396
- :param compute_configuration: The compute configuration of the compute fleet. This is only required if ``computeType`` is set to ATTRIBUTE_BASED. Default: - do not specify compute configuration
18476
+ :param compute_configuration: The compute configuration of the compute fleet. This is only permitted if ``computeType`` is set to ATTRIBUTE_BASED or CUSTOM_INSTANCE_TYPE. In such cases, this is required. Default: - do not specify compute configuration
17397
18477
  :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
18478
+ :param overflow_behavior: The compute fleet overflow behavior. For overflow behavior ``QUEUE``, overflow builds need to wait on the existing fleet instances to become available. For overflow behavior ``ON_DEMAND``, overflow builds run on CodeBuild on-demand. Default: undefined - AWS CodeBuild default behavior is QUEUE
18479
+ :param role: Service Role assumed by Fleet instances. This Role is not used by Project builds running on Fleet instances; Project builds assume the ``role`` on Project instead. Default: - A role will be created if any permissions are granted
18480
+ :param security_groups: What security groups to associate with the fleet's network interfaces. If none are provided, one will be created automatically. Only used if ``vpc`` is supplied. Default: - A security group will be automatically created.
18481
+ :param subnet_selection: Where to place the network interfaces within the VPC. To access AWS services, your fleet needs to be in one of the following types of subnets: 1. Subnets with access to the internet (of type PRIVATE_WITH_EGRESS). 2. Private subnets unconnected to the internet, but with `VPC endpoints <https://docs.aws.amazon.com/codebuild/latest/userguide/use-vpc-endpoints-with-codebuild.html>`_ for the necessary services. If you don't specify a subnet selection, the default behavior is to use PRIVATE_WITH_EGRESS subnets first if they exist, then PRIVATE_WITHOUT_EGRESS, and finally PUBLIC subnets. If your VPC doesn't have PRIVATE_WITH_EGRESS subnets but you need AWS service access, add VPC Endpoints to your private subnets. Default: - private subnets if available else public subnets
18482
+ :param vpc: VPC network to place fleet instance network interfaces. Specify this if the fleet needs to access resources in a VPC. Default: - No VPC is specified.
17398
18483
  '''
17399
18484
  if __debug__:
17400
18485
  type_hints = typing.get_type_hints(_typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957)
@@ -17406,6 +18491,11 @@ class Fleet(
17406
18491
  environment_type=environment_type,
17407
18492
  compute_configuration=compute_configuration,
17408
18493
  fleet_name=fleet_name,
18494
+ overflow_behavior=overflow_behavior,
18495
+ role=role,
18496
+ security_groups=security_groups,
18497
+ subnet_selection=subnet_selection,
18498
+ vpc=vpc,
17409
18499
  )
17410
18500
 
17411
18501
  jsii.create(self.__class__, self, [scope, id, props])
@@ -17431,6 +18521,12 @@ class Fleet(
17431
18521
  check_type(argname="argument fleet_arn", value=fleet_arn, expected_type=type_hints["fleet_arn"])
17432
18522
  return typing.cast(IFleet, jsii.sinvoke(cls, "fromFleetArn", [scope, id, fleet_arn]))
17433
18523
 
18524
+ @jsii.python.classproperty
18525
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18526
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18527
+ '''Uniquely identifies this class.'''
18528
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18529
+
17434
18530
  @builtins.property
17435
18531
  @jsii.member(jsii_name="computeType")
17436
18532
  def compute_type(self) -> FleetComputeType:
@@ -17440,6 +18536,12 @@ class Fleet(
17440
18536
  '''
17441
18537
  return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
17442
18538
 
18539
+ @builtins.property
18540
+ @jsii.member(jsii_name="connections")
18541
+ def connections(self) -> _Connections_0f31fce8:
18542
+ '''The network connections associated with this Fleet's security group(s) in the configured VPC.'''
18543
+ return typing.cast(_Connections_0f31fce8, jsii.get(self, "connections"))
18544
+
17443
18545
  @builtins.property
17444
18546
  @jsii.member(jsii_name="environmentType")
17445
18547
  def environment_type(self) -> EnvironmentType:
@@ -17458,6 +18560,12 @@ class Fleet(
17458
18560
  '''The name of the fleet.'''
17459
18561
  return typing.cast(builtins.str, jsii.get(self, "fleetName"))
17460
18562
 
18563
+ @builtins.property
18564
+ @jsii.member(jsii_name="grantPrincipal")
18565
+ def grant_principal(self) -> _IPrincipal_539bb2fd:
18566
+ '''The grant principal for this Fleet's service role.'''
18567
+ return typing.cast(_IPrincipal_539bb2fd, jsii.get(self, "grantPrincipal"))
18568
+
17461
18569
 
17462
18570
  @jsii.data_type(
17463
18571
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubEnterpriseSourceProps",
@@ -18130,6 +19238,7 @@ class LinuxGpuBuildImage(
18130
19238
  build_image: typing.Optional[IBuildImage] = None,
18131
19239
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
18132
19240
  compute_type: typing.Optional[ComputeType] = None,
19241
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
18133
19242
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
18134
19243
  fleet: typing.Optional[IFleet] = None,
18135
19244
  privileged: typing.Optional[builtins.bool] = None,
@@ -18139,6 +19248,7 @@ class LinuxGpuBuildImage(
18139
19248
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
18140
19249
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
18141
19250
  :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
19251
+ :param docker_server: The Docker server configuration CodeBuild use to build your Docker image. Default: - Doesn't use remote docker server
18142
19252
  :param environment_variables: The environment variables that your builds can use.
18143
19253
  :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
18144
19254
  :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
@@ -18147,6 +19257,7 @@ class LinuxGpuBuildImage(
18147
19257
  build_image=build_image,
18148
19258
  certificate=certificate,
18149
19259
  compute_type=compute_type,
19260
+ docker_server=docker_server,
18150
19261
  environment_variables=environment_variables,
18151
19262
  fleet=fleet,
18152
19263
  privileged=privileged,
@@ -18434,6 +19545,12 @@ class PipelineProject(
18434
19545
 
18435
19546
  jsii.create(self.__class__, self, [scope, id, props])
18436
19547
 
19548
+ @jsii.python.classproperty
19549
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
19550
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
19551
+ '''Uniquely identifies this class.'''
19552
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
19553
+
18437
19554
 
18438
19555
  @jsii.data_type(
18439
19556
  jsii_type="aws-cdk-lib.aws_codebuild.S3SourceProps",
@@ -18563,6 +19680,8 @@ __all__ = [
18563
19680
  "ComputeConfiguration",
18564
19681
  "ComputeType",
18565
19682
  "DockerImageOptions",
19683
+ "DockerServerComputeType",
19684
+ "DockerServerOptions",
18566
19685
  "EfsFileSystemLocationProps",
18567
19686
  "EnvironmentType",
18568
19687
  "EventAction",
@@ -18571,6 +19690,7 @@ __all__ = [
18571
19690
  "FilterGroup",
18572
19691
  "Fleet",
18573
19692
  "FleetComputeType",
19693
+ "FleetOverflowBehavior",
18574
19694
  "FleetProps",
18575
19695
  "GitHubEnterpriseSourceCredentials",
18576
19696
  "GitHubEnterpriseSourceCredentialsProps",
@@ -18670,6 +19790,7 @@ def _typecheckingstub__ebef68770fb5be7ec641650b4d069caf22f7652724d683d64610af210
18670
19790
 
18671
19791
  def _typecheckingstub__0964d02b7c6a99cc65ab53a8ae83bdb47d0901ee8a6f094b815d479e0fd8cb10(
18672
19792
  *,
19793
+ cache_namespace: typing.Optional[builtins.str] = None,
18673
19794
  prefix: typing.Optional[builtins.str] = None,
18674
19795
  ) -> None:
18675
19796
  """Type checking stubs"""
@@ -18680,6 +19801,7 @@ def _typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dce
18680
19801
  build_image: typing.Optional[IBuildImage] = None,
18681
19802
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
18682
19803
  compute_type: typing.Optional[ComputeType] = None,
19804
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
18683
19805
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
18684
19806
  fleet: typing.Optional[IFleet] = None,
18685
19807
  privileged: typing.Optional[builtins.bool] = None,
@@ -18736,6 +19858,7 @@ def _typecheckingstub__4da3d788faa6a5e8ccf7b7a0f950b8fdc88fa2e5bd876f8b662b8fce2
18736
19858
  def _typecheckingstub__17e53da7d0dcdb63a4024e7a2681ef7faa68be13f710db0f237c0a06196e2279(
18737
19859
  bucket: _IBucket_42e086fd,
18738
19860
  *,
19861
+ cache_namespace: typing.Optional[builtins.str] = None,
18739
19862
  prefix: typing.Optional[builtins.str] = None,
18740
19863
  ) -> None:
18741
19864
  """Type checking stubs"""
@@ -18854,6 +19977,7 @@ def _typecheckingstub__dd8d232a7a18b97fcd2d21d60ea770b5fdd85dd8808e961cb9b071d34
18854
19977
  def _typecheckingstub__83eb701fe90c557bf4af205ee34cfc7a5be2354e8e7cbd789a682e59834fb69b(
18855
19978
  *,
18856
19979
  disk: typing.Optional[jsii.Number] = None,
19980
+ instance_type: typing.Optional[builtins.str] = None,
18857
19981
  machine_type: typing.Optional[builtins.str] = None,
18858
19982
  memory: typing.Optional[jsii.Number] = None,
18859
19983
  v_cpu: typing.Optional[jsii.Number] = None,
@@ -19157,12 +20281,21 @@ def _typecheckingstub__3c17ec87ec820fc95c2f50ce8b9145f0fd5d2f902f5e08f4e59b9de7c
19157
20281
  """Type checking stubs"""
19158
20282
  pass
19159
20283
 
20284
+ def _typecheckingstub__ee61866f55895d4c64262dab381d049015ede37529178930c3463abdb3999a8a(
20285
+ *,
20286
+ compute_type: builtins.str,
20287
+ security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
20288
+ ) -> None:
20289
+ """Type checking stubs"""
20290
+ pass
20291
+
19160
20292
  def _typecheckingstub__357ba2b62e83543cbaf88f71d45a8de5489e377a6db9e3c7c356c3a91c1aef44(
19161
20293
  *,
19162
20294
  compute_type: builtins.str,
19163
20295
  image: builtins.str,
19164
20296
  type: builtins.str,
19165
20297
  certificate: typing.Optional[builtins.str] = None,
20298
+ docker_server: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.DockerServerProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19166
20299
  environment_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.EnvironmentVariableProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
19167
20300
  fleet: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.ProjectFleetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19168
20301
  image_pull_credentials_type: typing.Optional[builtins.str] = None,
@@ -19247,12 +20380,21 @@ def _typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8
19247
20380
  *,
19248
20381
  build_type: typing.Optional[builtins.str] = None,
19249
20382
  filter_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.WebhookFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]]]] = None,
20383
+ pull_request_build_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.PullRequestBuildPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19250
20384
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.ScopeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19251
20385
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19252
20386
  ) -> None:
19253
20387
  """Type checking stubs"""
19254
20388
  pass
19255
20389
 
20390
+ def _typecheckingstub__dc1eee42ab44fe674f81f814cf0b3916fe0be36f2eb0f8f6b963c3bbd44441fd(
20391
+ *,
20392
+ requires_comment_approval: builtins.str,
20393
+ approver_roles: typing.Optional[typing.Sequence[builtins.str]] = None,
20394
+ ) -> None:
20395
+ """Type checking stubs"""
20396
+ pass
20397
+
19256
20398
  def _typecheckingstub__34506e4fd8833ff5e97909e986461de67b898a74b028bcfb34d1d8c370d767a9(
19257
20399
  *,
19258
20400
  credential: builtins.str,
@@ -19537,6 +20679,7 @@ def _typecheckingstub__45bdedf6c9b38dcb0797768fa0fdec382e282ebd8679405f7dd9df6cb
19537
20679
  def _typecheckingstub__b104977b55c72c0577553444ac08838cdefde5acef91d6c00ad996d1c464b61b(
19538
20680
  *,
19539
20681
  disk: typing.Optional[_Size_7b441c34] = None,
20682
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
19540
20683
  machine_type: typing.Optional[MachineType] = None,
19541
20684
  memory: typing.Optional[_Size_7b441c34] = None,
19542
20685
  v_cpu: typing.Optional[jsii.Number] = None,
@@ -19551,6 +20694,14 @@ def _typecheckingstub__a9bdff78eb0c7b03d745a4a031a5cd7fe7b54a46e7733dc247bae3735
19551
20694
  """Type checking stubs"""
19552
20695
  pass
19553
20696
 
20697
+ def _typecheckingstub__8bccff12ec36edc5d021d9eb1ffae1d3988acc0341d9bddf9be2fd3bbff8e402(
20698
+ *,
20699
+ compute_type: DockerServerComputeType,
20700
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
20701
+ ) -> None:
20702
+ """Type checking stubs"""
20703
+ pass
20704
+
19554
20705
  def _typecheckingstub__5e31ab4d2021a08b378a108a4cf8be7380dc920a7da37c6f6661a0becb8b4190(
19555
20706
  *,
19556
20707
  identifier: builtins.str,
@@ -19689,6 +20840,11 @@ def _typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf75
19689
20840
  environment_type: EnvironmentType,
19690
20841
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
19691
20842
  fleet_name: typing.Optional[builtins.str] = None,
20843
+ overflow_behavior: typing.Optional[FleetOverflowBehavior] = None,
20844
+ role: typing.Optional[_IRole_235f5d8e] = None,
20845
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
20846
+ subnet_selection: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
20847
+ vpc: typing.Optional[_IVpc_f30d5663] = None,
19692
20848
  ) -> None:
19693
20849
  """Type checking stubs"""
19694
20850
  pass
@@ -19757,6 +20913,7 @@ def _typecheckingstub__4f7884de76ff7cb0ba58cc48d1d7bc265a2e8da34c1f3bde4ea5a96e3
19757
20913
  account: typing.Optional[builtins.str] = None,
19758
20914
  color: typing.Optional[builtins.str] = None,
19759
20915
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
20916
+ id: typing.Optional[builtins.str] = None,
19760
20917
  label: typing.Optional[builtins.str] = None,
19761
20918
  period: typing.Optional[_Duration_4839e8c3] = None,
19762
20919
  region: typing.Optional[builtins.str] = None,
@@ -19764,6 +20921,7 @@ def _typecheckingstub__4f7884de76ff7cb0ba58cc48d1d7bc265a2e8da34c1f3bde4ea5a96e3
19764
20921
  stack_region: typing.Optional[builtins.str] = None,
19765
20922
  statistic: typing.Optional[builtins.str] = None,
19766
20923
  unit: typing.Optional[_Unit_61bc6f70] = None,
20924
+ visible: typing.Optional[builtins.bool] = None,
19767
20925
  ) -> None:
19768
20926
  """Type checking stubs"""
19769
20927
  pass
@@ -20171,6 +21329,7 @@ def _typecheckingstub__685fd8fff031c8a93196b514789bd4f8ac1a27018ed911a6883d21b80
20171
21329
  account: typing.Optional[builtins.str] = None,
20172
21330
  color: typing.Optional[builtins.str] = None,
20173
21331
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
21332
+ id: typing.Optional[builtins.str] = None,
20174
21333
  label: typing.Optional[builtins.str] = None,
20175
21334
  period: typing.Optional[_Duration_4839e8c3] = None,
20176
21335
  region: typing.Optional[builtins.str] = None,
@@ -20178,6 +21337,7 @@ def _typecheckingstub__685fd8fff031c8a93196b514789bd4f8ac1a27018ed911a6883d21b80
20178
21337
  stack_region: typing.Optional[builtins.str] = None,
20179
21338
  statistic: typing.Optional[builtins.str] = None,
20180
21339
  unit: typing.Optional[_Unit_61bc6f70] = None,
21340
+ visible: typing.Optional[builtins.bool] = None,
20181
21341
  ) -> None:
20182
21342
  """Type checking stubs"""
20183
21343
  pass
@@ -20515,6 +21675,11 @@ def _typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6
20515
21675
  environment_type: EnvironmentType,
20516
21676
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
20517
21677
  fleet_name: typing.Optional[builtins.str] = None,
21678
+ overflow_behavior: typing.Optional[FleetOverflowBehavior] = None,
21679
+ role: typing.Optional[_IRole_235f5d8e] = None,
21680
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
21681
+ subnet_selection: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
21682
+ vpc: typing.Optional[_IVpc_f30d5663] = None,
20518
21683
  ) -> None:
20519
21684
  """Type checking stubs"""
20520
21685
  pass
@@ -20638,3 +21803,6 @@ def _typecheckingstub__46c4f8162c8c90fb4a8d6f2f387d760a9758070e5641bccf8adf015eb
20638
21803
  ) -> None:
20639
21804
  """Type checking stubs"""
20640
21805
  pass
21806
+
21807
+ for cls in [IArtifacts, IBindableBuildImage, IBuildImage, IFileSystemLocation, IFleet, IProject, IReportGroup, ISource]:
21808
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])