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

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

Potentially problematic release.


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

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -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(
@@ -1463,32 +1612,104 @@ class BitBucketSourceCredentialsProps:
1463
1612
  @jsii.data_type(
1464
1613
  jsii_type="aws-cdk-lib.aws_codebuild.BucketCacheOptions",
1465
1614
  jsii_struct_bases=[],
1466
- name_mapping={"prefix": "prefix"},
1615
+ name_mapping={"cache_namespace": "cacheNamespace", "prefix": "prefix"},
1467
1616
  )
1468
1617
  class BucketCacheOptions:
1469
- 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:
1470
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.
1471
1626
  :param prefix: The prefix to use to store the cache in the bucket.
1472
1627
 
1473
- :exampleMetadata: fixture=_generated
1628
+ :exampleMetadata: infused
1474
1629
 
1475
1630
  Example::
1476
1631
 
1477
- # The code below shows an example of how to instantiate this type.
1478
- # The values are placeholders you should change.
1479
- 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
+ )
1480
1662
 
1481
- bucket_cache_options = codebuild.BucketCacheOptions(
1482
- 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
+ })
1483
1688
  )
1484
1689
  '''
1485
1690
  if __debug__:
1486
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"])
1487
1693
  check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
1488
1694
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1695
+ if cache_namespace is not None:
1696
+ self._values["cache_namespace"] = cache_namespace
1489
1697
  if prefix is not None:
1490
1698
  self._values["prefix"] = prefix
1491
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
+
1492
1713
  @builtins.property
1493
1714
  def prefix(self) -> typing.Optional[builtins.str]:
1494
1715
  '''The prefix to use to store the cache in the bucket.'''
@@ -1514,6 +1735,7 @@ class BucketCacheOptions:
1514
1735
  "build_image": "buildImage",
1515
1736
  "certificate": "certificate",
1516
1737
  "compute_type": "computeType",
1738
+ "docker_server": "dockerServer",
1517
1739
  "environment_variables": "environmentVariables",
1518
1740
  "fleet": "fleet",
1519
1741
  "privileged": "privileged",
@@ -1526,6 +1748,7 @@ class BuildEnvironment:
1526
1748
  build_image: typing.Optional["IBuildImage"] = None,
1527
1749
  certificate: typing.Optional[typing.Union["BuildEnvironmentCertificate", typing.Dict[builtins.str, typing.Any]]] = None,
1528
1750
  compute_type: typing.Optional["ComputeType"] = None,
1751
+ docker_server: typing.Optional[typing.Union["DockerServerOptions", typing.Dict[builtins.str, typing.Any]]] = None,
1529
1752
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union["BuildEnvironmentVariable", typing.Dict[builtins.str, typing.Any]]]] = None,
1530
1753
  fleet: typing.Optional["IFleet"] = None,
1531
1754
  privileged: typing.Optional[builtins.bool] = None,
@@ -1534,6 +1757,7 @@ class BuildEnvironment:
1534
1757
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
1535
1758
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
1536
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
1537
1761
  :param environment_variables: The environment variables that your builds can use.
1538
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.
1539
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
@@ -1571,11 +1795,14 @@ class BuildEnvironment:
1571
1795
  '''
1572
1796
  if isinstance(certificate, dict):
1573
1797
  certificate = BuildEnvironmentCertificate(**certificate)
1798
+ if isinstance(docker_server, dict):
1799
+ docker_server = DockerServerOptions(**docker_server)
1574
1800
  if __debug__:
1575
1801
  type_hints = typing.get_type_hints(_typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dcecf8f434)
1576
1802
  check_type(argname="argument build_image", value=build_image, expected_type=type_hints["build_image"])
1577
1803
  check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
1578
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"])
1579
1806
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
1580
1807
  check_type(argname="argument fleet", value=fleet, expected_type=type_hints["fleet"])
1581
1808
  check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
@@ -1586,6 +1813,8 @@ class BuildEnvironment:
1586
1813
  self._values["certificate"] = certificate
1587
1814
  if compute_type is not None:
1588
1815
  self._values["compute_type"] = compute_type
1816
+ if docker_server is not None:
1817
+ self._values["docker_server"] = docker_server
1589
1818
  if environment_variables is not None:
1590
1819
  self._values["environment_variables"] = environment_variables
1591
1820
  if fleet is not None:
@@ -1622,6 +1851,20 @@ class BuildEnvironment:
1622
1851
  result = self._values.get("compute_type")
1623
1852
  return typing.cast(typing.Optional["ComputeType"], result)
1624
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
+
1625
1868
  @builtins.property
1626
1869
  def environment_variables(
1627
1870
  self,
@@ -2103,31 +2346,57 @@ class Cache(
2103
2346
 
2104
2347
  Example::
2105
2348
 
2106
- # my_caching_bucket: s3.Bucket
2349
+ # vpc: ec2.Vpc
2350
+ # my_security_group: ec2.SecurityGroup
2107
2351
 
2352
+ pipelines.CodeBuildStep("Synth",
2353
+ # ...standard ShellStep props...
2354
+ commands=[],
2355
+ env={},
2108
2356
 
2109
- codebuild.Project(self, "Project",
2110
- source=codebuild.Source.bit_bucket(
2111
- owner="awslabs",
2112
- 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
+ )
2113
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
+ ],
2114
2387
 
2115
- 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],
2116
2392
 
2117
- # BuildSpec with a 'cache' section necessary for S3 caching. This can
2118
- # also come from 'buildspec.yml' in your source.
2119
- build_spec=codebuild.BuildSpec.from_object({
2120
- "version": "0.2",
2121
- "phases": {
2122
- "build": {
2123
- "commands": ["..."]
2124
- }
2125
- },
2126
- "cache": {
2127
- "paths": ["/root/cachedir/**/*"
2128
- ]
2129
- }
2130
- })
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
+ ]
2131
2400
  )
2132
2401
  '''
2133
2402
 
@@ -2140,17 +2409,19 @@ class Cache(
2140
2409
  cls,
2141
2410
  bucket: _IBucket_42e086fd,
2142
2411
  *,
2412
+ cache_namespace: typing.Optional[builtins.str] = None,
2143
2413
  prefix: typing.Optional[builtins.str] = None,
2144
2414
  ) -> "Cache":
2145
2415
  '''Create an S3 caching strategy.
2146
2416
 
2147
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.
2148
2419
  :param prefix: The prefix to use to store the cache in the bucket.
2149
2420
  '''
2150
2421
  if __debug__:
2151
2422
  type_hints = typing.get_type_hints(_typecheckingstub__17e53da7d0dcdb63a4024e7a2681ef7faa68be13f710db0f237c0a06196e2279)
2152
2423
  check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
2153
- options = BucketCacheOptions(prefix=prefix)
2424
+ options = BucketCacheOptions(cache_namespace=cache_namespace, prefix=prefix)
2154
2425
 
2155
2426
  return typing.cast("Cache", jsii.sinvoke(cls, "bucket", [bucket, options]))
2156
2427
 
@@ -2179,7 +2450,7 @@ class _CacheProxy(Cache):
2179
2450
  typing.cast(typing.Any, Cache).__jsii_proxy_class__ = lambda : _CacheProxy
2180
2451
 
2181
2452
 
2182
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2453
+ @jsii.implements(_IInspectable_c2943556, _IFleetRef_31046017, _ITaggableV2_4e6798f8)
2183
2454
  class CfnFleet(
2184
2455
  _CfnResource_9df397a6,
2185
2456
  metaclass=jsii.JSIIMeta,
@@ -2258,7 +2529,8 @@ class CfnFleet(
2258
2529
  scaling_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ScalingConfigurationInputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2259
2530
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2260
2531
  ) -> None:
2261
- '''
2532
+ '''Create a new ``AWS::CodeBuild::Fleet``.
2533
+
2262
2534
  :param scope: Scope in which this resource is defined.
2263
2535
  :param id: Construct identifier for this resource (unique in its scope).
2264
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.
@@ -2345,6 +2617,12 @@ class CfnFleet(
2345
2617
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2346
2618
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2347
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
+
2348
2626
  @builtins.property
2349
2627
  @jsii.member(jsii_name="baseCapacity")
2350
2628
  def base_capacity(self) -> typing.Optional[jsii.Number]:
@@ -3390,7 +3668,7 @@ class CfnFleetProps:
3390
3668
  )
3391
3669
 
3392
3670
 
3393
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3671
+ @jsii.implements(_IInspectable_c2943556, _IProjectRef_7528e639, _ITaggable_36806126)
3394
3672
  class CfnProject(
3395
3673
  _CfnResource_9df397a6,
3396
3674
  metaclass=jsii.JSIIMeta,
@@ -3593,6 +3871,12 @@ class CfnProject(
3593
3871
  # the properties below are optional
3594
3872
  exclude_matched_pattern=False
3595
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
+ ),
3596
3880
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
3597
3881
  name="name",
3598
3882
 
@@ -3642,7 +3926,8 @@ class CfnProject(
3642
3926
  visibility: typing.Optional[builtins.str] = None,
3643
3927
  vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.VpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3644
3928
  ) -> None:
3645
- '''
3929
+ '''Create a new ``AWS::CodeBuild::Project``.
3930
+
3646
3931
  :param scope: Scope in which this resource is defined.
3647
3932
  :param id: Construct identifier for this resource (unique in its scope).
3648
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.
@@ -3757,6 +4042,12 @@ class CfnProject(
3757
4042
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3758
4043
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3759
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
+
3760
4051
  @builtins.property
3761
4052
  @jsii.member(jsii_name="tags")
3762
4053
  def tags(self) -> _TagManager_0a598cb3:
@@ -5821,6 +6112,7 @@ class CfnProject(
5821
6112
  name_mapping={
5822
6113
  "build_type": "buildType",
5823
6114
  "filter_groups": "filterGroups",
6115
+ "pull_request_build_policy": "pullRequestBuildPolicy",
5824
6116
  "scope_configuration": "scopeConfiguration",
5825
6117
  "webhook": "webhook",
5826
6118
  },
@@ -5831,6 +6123,7 @@ class CfnProject(
5831
6123
  *,
5832
6124
  build_type: typing.Optional[builtins.str] = None,
5833
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,
5834
6127
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.ScopeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5835
6128
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5836
6129
  ) -> None:
@@ -5842,6 +6135,7 @@ class CfnProject(
5842
6135
 
5843
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
5844
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:
5845
6139
  :param scope_configuration: Contains configuration information about the scope for a webhook.
5846
6140
  :param webhook: Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.
5847
6141
 
@@ -5863,6 +6157,12 @@ class CfnProject(
5863
6157
  # the properties below are optional
5864
6158
  exclude_matched_pattern=False
5865
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
+ ),
5866
6166
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
5867
6167
  name="name",
5868
6168
 
@@ -5877,6 +6177,7 @@ class CfnProject(
5877
6177
  type_hints = typing.get_type_hints(_typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8c729a70)
5878
6178
  check_type(argname="argument build_type", value=build_type, expected_type=type_hints["build_type"])
5879
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"])
5880
6181
  check_type(argname="argument scope_configuration", value=scope_configuration, expected_type=type_hints["scope_configuration"])
5881
6182
  check_type(argname="argument webhook", value=webhook, expected_type=type_hints["webhook"])
5882
6183
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -5884,6 +6185,8 @@ class CfnProject(
5884
6185
  self._values["build_type"] = build_type
5885
6186
  if filter_groups is not None:
5886
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
5887
6190
  if scope_configuration is not None:
5888
6191
  self._values["scope_configuration"] = scope_configuration
5889
6192
  if webhook is not None:
@@ -5914,6 +6217,16 @@ class CfnProject(
5914
6217
  result = self._values.get("filter_groups")
5915
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)
5916
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
+
5917
6230
  @builtins.property
5918
6231
  def scope_configuration(
5919
6232
  self,
@@ -5947,6 +6260,79 @@ class CfnProject(
5947
6260
  k + "=" + repr(v) for k, v in self._values.items()
5948
6261
  )
5949
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
+
5950
6336
  @jsii.data_type(
5951
6337
  jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.RegistryCredentialProperty",
5952
6338
  jsii_struct_bases=[],
@@ -7107,6 +7493,12 @@ class CfnProjectProps:
7107
7493
  # the properties below are optional
7108
7494
  exclude_matched_pattern=False
7109
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
+ ),
7110
7502
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
7111
7503
  name="name",
7112
7504
 
@@ -7508,7 +7900,7 @@ class CfnProjectProps:
7508
7900
  )
7509
7901
 
7510
7902
 
7511
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7903
+ @jsii.implements(_IInspectable_c2943556, _IReportGroupRef_79bc7a1e, _ITaggable_36806126)
7512
7904
  class CfnReportGroup(
7513
7905
  _CfnResource_9df397a6,
7514
7906
  metaclass=jsii.JSIIMeta,
@@ -7567,7 +7959,8 @@ class CfnReportGroup(
7567
7959
  name: typing.Optional[builtins.str] = None,
7568
7960
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7569
7961
  ) -> None:
7570
- '''
7962
+ '''Create a new ``AWS::CodeBuild::ReportGroup``.
7963
+
7571
7964
  :param scope: Scope in which this resource is defined.
7572
7965
  :param id: Construct identifier for this resource (unique in its scope).
7573
7966
  :param export_config: Information about the destination where the raw data of this ``ReportGroup`` is exported.
@@ -7642,6 +8035,12 @@ class CfnReportGroup(
7642
8035
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7643
8036
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7644
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
+
7645
8044
  @builtins.property
7646
8045
  @jsii.member(jsii_name="tags")
7647
8046
  def tags(self) -> _TagManager_0a598cb3:
@@ -8118,7 +8517,7 @@ class CfnReportGroupProps:
8118
8517
  )
8119
8518
 
8120
8519
 
8121
- @jsii.implements(_IInspectable_c2943556)
8520
+ @jsii.implements(_IInspectable_c2943556, _ISourceCredentialRef_7f0e7269)
8122
8521
  class CfnSourceCredential(
8123
8522
  _CfnResource_9df397a6,
8124
8523
  metaclass=jsii.JSIIMeta,
@@ -8161,7 +8560,8 @@ class CfnSourceCredential(
8161
8560
  token: builtins.str,
8162
8561
  username: typing.Optional[builtins.str] = None,
8163
8562
  ) -> None:
8164
- '''
8563
+ '''Create a new ``AWS::CodeBuild::SourceCredential``.
8564
+
8165
8565
  :param scope: Scope in which this resource is defined.
8166
8566
  :param id: Construct identifier for this resource (unique in its scope).
8167
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.
@@ -8225,6 +8625,12 @@ class CfnSourceCredential(
8225
8625
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8226
8626
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8227
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
+
8228
8634
  @builtins.property
8229
8635
  @jsii.member(jsii_name="authType")
8230
8636
  def auth_type(self) -> builtins.str:
@@ -8606,6 +9012,12 @@ class CommonProjectProps:
8606
9012
  object_key="objectKey"
8607
9013
  ),
8608
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
+ ),
8609
9021
  environment_variables={
8610
9022
  "environment_variables_key": codebuild.BuildEnvironmentVariable(
8611
9023
  value=value,
@@ -9036,6 +9448,7 @@ class CommonProjectProps:
9036
9448
  jsii_struct_bases=[],
9037
9449
  name_mapping={
9038
9450
  "disk": "disk",
9451
+ "instance_type": "instanceType",
9039
9452
  "machine_type": "machineType",
9040
9453
  "memory": "memory",
9041
9454
  "v_cpu": "vCpu",
@@ -9046,23 +9459,18 @@ class ComputeConfiguration:
9046
9459
  self,
9047
9460
  *,
9048
9461
  disk: typing.Optional[_Size_7b441c34] = None,
9462
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
9049
9463
  machine_type: typing.Optional["MachineType"] = None,
9050
9464
  memory: typing.Optional[_Size_7b441c34] = None,
9051
9465
  v_cpu: typing.Optional[jsii.Number] = None,
9052
9466
  ) -> None:
9053
9467
  '''The compute configuration for the fleet.
9054
9468
 
9055
- Despite what the CloudFormation schema says, the numeric properties (disk, memory, vCpu) are not optional.
9056
- An ``undefined`` value will cause the CloudFormation deployment to fail, e.g.
9057
- .. epigraph::
9058
-
9059
- Cannot invoke "java.lang.Integer.intValue()" because the return value of "software.amazon.codebuild.fleet.ComputeConfiguration.getMemory()" is null
9060
- Therefore, these properties default value is set to 0.
9061
-
9062
- :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
9063
- :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
9064
- :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
9065
- :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
9066
9474
 
9067
9475
  :exampleMetadata: infused
9068
9476
 
@@ -9086,12 +9494,15 @@ class ComputeConfiguration:
9086
9494
  if __debug__:
9087
9495
  type_hints = typing.get_type_hints(_typecheckingstub__b104977b55c72c0577553444ac08838cdefde5acef91d6c00ad996d1c464b61b)
9088
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"])
9089
9498
  check_type(argname="argument machine_type", value=machine_type, expected_type=type_hints["machine_type"])
9090
9499
  check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
9091
9500
  check_type(argname="argument v_cpu", value=v_cpu, expected_type=type_hints["v_cpu"])
9092
9501
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9093
9502
  if disk is not None:
9094
9503
  self._values["disk"] = disk
9504
+ if instance_type is not None:
9505
+ self._values["instance_type"] = instance_type
9095
9506
  if machine_type is not None:
9096
9507
  self._values["machine_type"] = machine_type
9097
9508
  if memory is not None:
@@ -9101,16 +9512,34 @@ class ComputeConfiguration:
9101
9512
 
9102
9513
  @builtins.property
9103
9514
  def disk(self) -> typing.Optional[_Size_7b441c34]:
9104
- '''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.
9105
9520
 
9106
9521
  :default: - No requirement, the actual value will be based on the other selected configuration properties
9107
9522
  '''
9108
9523
  result = self._values.get("disk")
9109
9524
  return typing.cast(typing.Optional[_Size_7b441c34], result)
9110
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
+
9111
9540
  @builtins.property
9112
9541
  def machine_type(self) -> typing.Optional["MachineType"]:
9113
- '''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.
9114
9543
 
9115
9544
  :default: - No requirement, the actual value will be based on the other selected configuration properties
9116
9545
  '''
@@ -9119,7 +9548,7 @@ class ComputeConfiguration:
9119
9548
 
9120
9549
  @builtins.property
9121
9550
  def memory(self) -> typing.Optional[_Size_7b441c34]:
9122
- '''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.
9123
9552
 
9124
9553
  :default: - No requirement, the actual value will be based on the other selected configuration properties
9125
9554
  '''
@@ -9128,7 +9557,7 @@ class ComputeConfiguration:
9128
9557
 
9129
9558
  @builtins.property
9130
9559
  def v_cpu(self) -> typing.Optional[jsii.Number]:
9131
- '''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.
9132
9561
 
9133
9562
  :default: - No requirement, the actual value will be based on the other selected configuration properties
9134
9563
  '''
@@ -9179,7 +9608,11 @@ class ComputeType(enum.Enum):
9179
9608
  # Control the build environment
9180
9609
  build_environment=codebuild.BuildEnvironment(
9181
9610
  compute_type=codebuild.ComputeType.LARGE,
9182
- privileged=True
9611
+ privileged=True,
9612
+ docker_server=codebuild.DockerServerOptions(
9613
+ compute_type=codebuild.DockerServerComputeType.SMALL,
9614
+ security_groups=[my_security_group]
9615
+ )
9183
9616
  ),
9184
9617
  timeout=Duration.minutes(90),
9185
9618
  file_system_locations=[
@@ -9217,6 +9650,7 @@ class ComputeType(enum.Enum):
9217
9650
  LAMBDA_8GB = "LAMBDA_8GB"
9218
9651
  LAMBDA_10GB = "LAMBDA_10GB"
9219
9652
  ATTRIBUTE_BASED = "ATTRIBUTE_BASED"
9653
+ CUSTOM_INSTANCE_TYPE = "CUSTOM_INSTANCE_TYPE"
9220
9654
 
9221
9655
 
9222
9656
  @jsii.data_type(
@@ -9245,20 +9679,229 @@ class DockerImageOptions:
9245
9679
  )
9246
9680
  '''
9247
9681
  if __debug__:
9248
- type_hints = typing.get_type_hints(_typecheckingstub__a9bdff78eb0c7b03d745a4a031a5cd7fe7b54a46e7733dc247bae3735e3c5300)
9249
- check_type(argname="argument secrets_manager_credentials", value=secrets_manager_credentials, expected_type=type_hints["secrets_manager_credentials"])
9250
- self._values: typing.Dict[builtins.str, typing.Any] = {}
9251
- if secrets_manager_credentials is not None:
9252
- self._values["secrets_manager_credentials"] = secrets_manager_credentials
9682
+ type_hints = typing.get_type_hints(_typecheckingstub__a9bdff78eb0c7b03d745a4a031a5cd7fe7b54a46e7733dc247bae3735e3c5300)
9683
+ check_type(argname="argument secrets_manager_credentials", value=secrets_manager_credentials, expected_type=type_hints["secrets_manager_credentials"])
9684
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9685
+ if secrets_manager_credentials is not None:
9686
+ self._values["secrets_manager_credentials"] = secrets_manager_credentials
9687
+
9688
+ @builtins.property
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
9253
9881
 
9254
9882
  @builtins.property
9255
- def secrets_manager_credentials(self) -> typing.Optional[_ISecret_6e020e6a]:
9256
- '''The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private.
9883
+ def compute_type(self) -> DockerServerComputeType:
9884
+ '''The type of compute to use for the docker server.
9257
9885
 
9258
- :default: no credentials will be used (we assume the repository is public)
9886
+ See the ``DockerServerComputeType`` enum for the possible values.
9259
9887
  '''
9260
- result = self._values.get("secrets_manager_credentials")
9261
- return typing.cast(typing.Optional[_ISecret_6e020e6a], result)
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.
9895
+
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.
9902
+ '''
9903
+ result = self._values.get("security_groups")
9904
+ return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
9262
9905
 
9263
9906
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9264
9907
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -9267,7 +9910,7 @@ class DockerImageOptions:
9267
9910
  return not (rhs == self)
9268
9911
 
9269
9912
  def __repr__(self) -> str:
9270
- return "DockerImageOptions(%s)" % ", ".join(
9913
+ return "DockerServerOptions(%s)" % ", ".join(
9271
9914
  k + "=" + repr(v) for k, v in self._values.items()
9272
9915
  )
9273
9916
 
@@ -9384,16 +10027,18 @@ class EnvironmentType(enum.Enum):
9384
10027
 
9385
10028
  Example::
9386
10029
 
9387
- fleet = codebuild.Fleet(self, "Fleet",
9388
- compute_type=codebuild.FleetComputeType.MEDIUM,
9389
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9390
- base_capacity=1
9391
- )
10030
+ from aws_cdk import Size
9392
10031
 
9393
- codebuild.Project(self, "Project",
9394
- environment=codebuild.BuildEnvironment(
9395
- fleet=fleet,
9396
- 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)
9397
10042
  )
9398
10043
  )
9399
10044
  '''
@@ -9853,7 +10498,7 @@ class FilterGroup(
9853
10498
 
9854
10499
  @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.FleetComputeType")
9855
10500
  class FleetComputeType(enum.Enum):
9856
- '''Fleet build machine compute type. Subset of Fleet compatible {@link ComputeType} values.
10501
+ '''Fleet build machine compute type. Subset of Fleet compatible ComputeType values.
9857
10502
 
9858
10503
  The allocated memory, vCPU count and disk space of the build machine for a
9859
10504
  given compute type are dependent on the environment type.
@@ -9864,16 +10509,18 @@ class FleetComputeType(enum.Enum):
9864
10509
 
9865
10510
  Example::
9866
10511
 
9867
- fleet = codebuild.Fleet(self, "Fleet",
9868
- compute_type=codebuild.FleetComputeType.MEDIUM,
9869
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9870
- base_capacity=1
9871
- )
10512
+ from aws_cdk import Size
9872
10513
 
9873
- codebuild.Project(self, "Project",
9874
- environment=codebuild.BuildEnvironment(
9875
- fleet=fleet,
9876
- 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)
9877
10524
  )
9878
10525
  )
9879
10526
  '''
@@ -9881,32 +10528,32 @@ class FleetComputeType(enum.Enum):
9881
10528
  SMALL = "SMALL"
9882
10529
  '''Small compute type.
9883
10530
 
9884
- May not be available for all environment types, see
9885
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9886
- 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
9887
10534
  '''
9888
10535
  MEDIUM = "MEDIUM"
9889
10536
  '''Medium compute type.
9890
10537
 
9891
- May not be available for all environment types, see
9892
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9893
- 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
9894
10541
  '''
9895
10542
  LARGE = "LARGE"
9896
10543
  '''Large compute type.'''
9897
10544
  X_LARGE = "X_LARGE"
9898
10545
  '''Extra Large compute type.
9899
10546
 
9900
- May not be available for all environment types, see
9901
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9902
- 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
9903
10550
  '''
9904
10551
  X2_LARGE = "X2_LARGE"
9905
10552
  '''Extra, Extra Large compute type.
9906
10553
 
9907
- May not be available for all environment types, see
9908
- {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
9909
- 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
9910
10557
  '''
9911
10558
  ATTRIBUTE_BASED = "ATTRIBUTE_BASED"
9912
10559
  '''Specify the amount of vCPUs, memory, disk space, and the type of machine.
@@ -9915,6 +10562,36 @@ class FleetComputeType(enum.Enum):
9915
10562
 
9916
10563
  :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types
9917
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.'''
9918
10595
 
9919
10596
 
9920
10597
  @jsii.data_type(
@@ -9926,6 +10603,11 @@ class FleetComputeType(enum.Enum):
9926
10603
  "environment_type": "environmentType",
9927
10604
  "compute_configuration": "computeConfiguration",
9928
10605
  "fleet_name": "fleetName",
10606
+ "overflow_behavior": "overflowBehavior",
10607
+ "role": "role",
10608
+ "security_groups": "securityGroups",
10609
+ "subnet_selection": "subnetSelection",
10610
+ "vpc": "vpc",
9929
10611
  },
9930
10612
  )
9931
10613
  class FleetProps:
@@ -9937,34 +10619,48 @@ class FleetProps:
9937
10619
  environment_type: EnvironmentType,
9938
10620
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
9939
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,
9940
10627
  ) -> None:
9941
- '''Construction properties of a CodeBuild {@link Fleet}.
10628
+ '''Construction properties of a CodeBuild Fleet.
9942
10629
 
9943
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.
9944
10631
  :param compute_type: The instance type of the compute fleet.
9945
10632
  :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
9946
- :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
9947
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.
9948
10640
 
9949
10641
  :exampleMetadata: infused
9950
10642
 
9951
10643
  Example::
9952
10644
 
9953
- fleet = codebuild.Fleet(self, "Fleet",
9954
- compute_type=codebuild.FleetComputeType.MEDIUM,
9955
- environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
9956
- base_capacity=1
9957
- )
10645
+ from aws_cdk import Size
9958
10646
 
9959
- codebuild.Project(self, "Project",
9960
- environment=codebuild.BuildEnvironment(
9961
- fleet=fleet,
9962
- 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)
9963
10657
  )
9964
10658
  )
9965
10659
  '''
9966
10660
  if isinstance(compute_configuration, dict):
9967
10661
  compute_configuration = ComputeConfiguration(**compute_configuration)
10662
+ if isinstance(subnet_selection, dict):
10663
+ subnet_selection = _SubnetSelection_e57d76df(**subnet_selection)
9968
10664
  if __debug__:
9969
10665
  type_hints = typing.get_type_hints(_typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d)
9970
10666
  check_type(argname="argument base_capacity", value=base_capacity, expected_type=type_hints["base_capacity"])
@@ -9972,6 +10668,11 @@ class FleetProps:
9972
10668
  check_type(argname="argument environment_type", value=environment_type, expected_type=type_hints["environment_type"])
9973
10669
  check_type(argname="argument compute_configuration", value=compute_configuration, expected_type=type_hints["compute_configuration"])
9974
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"])
9975
10676
  self._values: typing.Dict[builtins.str, typing.Any] = {
9976
10677
  "base_capacity": base_capacity,
9977
10678
  "compute_type": compute_type,
@@ -9981,6 +10682,16 @@ class FleetProps:
9981
10682
  self._values["compute_configuration"] = compute_configuration
9982
10683
  if fleet_name is not None:
9983
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
9984
10695
 
9985
10696
  @builtins.property
9986
10697
  def base_capacity(self) -> jsii.Number:
@@ -10013,7 +10724,8 @@ class FleetProps:
10013
10724
  def compute_configuration(self) -> typing.Optional[ComputeConfiguration]:
10014
10725
  '''The compute configuration of the compute fleet.
10015
10726
 
10016
- 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.
10017
10729
 
10018
10730
  :default: - do not specify compute configuration
10019
10731
 
@@ -10031,6 +10743,73 @@ class FleetProps:
10031
10743
  result = self._values.get("fleet_name")
10032
10744
  return typing.cast(typing.Optional[builtins.str], result)
10033
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
+
10034
10813
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10035
10814
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10036
10815
 
@@ -10394,6 +11173,7 @@ class IBuildImage(typing_extensions.Protocol):
10394
11173
  build_image: typing.Optional["IBuildImage"] = None,
10395
11174
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10396
11175
  compute_type: typing.Optional[ComputeType] = None,
11176
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
10397
11177
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10398
11178
  fleet: typing.Optional["IFleet"] = None,
10399
11179
  privileged: typing.Optional[builtins.bool] = None,
@@ -10403,6 +11183,7 @@ class IBuildImage(typing_extensions.Protocol):
10403
11183
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
10404
11184
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10405
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
10406
11187
  :param environment_variables: The environment variables that your builds can use.
10407
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.
10408
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
@@ -10485,6 +11266,7 @@ class _IBuildImageProxy:
10485
11266
  build_image: typing.Optional[IBuildImage] = None,
10486
11267
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10487
11268
  compute_type: typing.Optional[ComputeType] = None,
11269
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
10488
11270
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10489
11271
  fleet: typing.Optional["IFleet"] = None,
10490
11272
  privileged: typing.Optional[builtins.bool] = None,
@@ -10494,6 +11276,7 @@ class _IBuildImageProxy:
10494
11276
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
10495
11277
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10496
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
10497
11280
  :param environment_variables: The environment variables that your builds can use.
10498
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.
10499
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
@@ -10502,6 +11285,7 @@ class _IBuildImageProxy:
10502
11285
  build_image=build_image,
10503
11286
  certificate=certificate,
10504
11287
  compute_type=compute_type,
11288
+ docker_server=docker_server,
10505
11289
  environment_variables=environment_variables,
10506
11290
  fleet=fleet,
10507
11291
  privileged=privileged,
@@ -10564,8 +11348,13 @@ typing.cast(typing.Any, IFileSystemLocation).__jsii_proxy_class__ = lambda : _IF
10564
11348
 
10565
11349
 
10566
11350
  @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IFleet")
10567
- class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
10568
- '''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.'''
10569
11358
 
10570
11359
  @builtins.property
10571
11360
  @jsii.member(jsii_name="computeType")
@@ -10603,8 +11392,10 @@ class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
10603
11392
 
10604
11393
  class _IFleetProxy(
10605
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]
10606
11397
  ):
10607
- '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
11398
+ '''Represents a Fleet for a reserved capacity CodeBuild project.'''
10608
11399
 
10609
11400
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_codebuild.IFleet"
10610
11401
 
@@ -10704,6 +11495,7 @@ class IProject(
10704
11495
  account: typing.Optional[builtins.str] = None,
10705
11496
  color: typing.Optional[builtins.str] = None,
10706
11497
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11498
+ id: typing.Optional[builtins.str] = None,
10707
11499
  label: typing.Optional[builtins.str] = None,
10708
11500
  period: typing.Optional[_Duration_4839e8c3] = None,
10709
11501
  region: typing.Optional[builtins.str] = None,
@@ -10711,12 +11503,14 @@ class IProject(
10711
11503
  stack_region: typing.Optional[builtins.str] = None,
10712
11504
  statistic: typing.Optional[builtins.str] = None,
10713
11505
  unit: typing.Optional[_Unit_61bc6f70] = None,
11506
+ visible: typing.Optional[builtins.bool] = None,
10714
11507
  ) -> _Metric_e396a4dc:
10715
11508
  '''
10716
11509
  :param metric_name: The name of the metric.
10717
11510
  :param account: Account which this metric comes from. Default: - Deployment account.
10718
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
10719
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
10720
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
10721
11515
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10722
11516
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10724,6 +11518,7 @@ class IProject(
10724
11518
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10725
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
10726
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
10727
11522
 
10728
11523
  :return: a CloudWatch metric associated with this build project.
10729
11524
  '''
@@ -10736,6 +11531,7 @@ class IProject(
10736
11531
  account: typing.Optional[builtins.str] = None,
10737
11532
  color: typing.Optional[builtins.str] = None,
10738
11533
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11534
+ id: typing.Optional[builtins.str] = None,
10739
11535
  label: typing.Optional[builtins.str] = None,
10740
11536
  period: typing.Optional[_Duration_4839e8c3] = None,
10741
11537
  region: typing.Optional[builtins.str] = None,
@@ -10743,6 +11539,7 @@ class IProject(
10743
11539
  stack_region: typing.Optional[builtins.str] = None,
10744
11540
  statistic: typing.Optional[builtins.str] = None,
10745
11541
  unit: typing.Optional[_Unit_61bc6f70] = None,
11542
+ visible: typing.Optional[builtins.bool] = None,
10746
11543
  ) -> _Metric_e396a4dc:
10747
11544
  '''Measures the number of builds triggered.
10748
11545
 
@@ -10753,6 +11550,7 @@ class IProject(
10753
11550
  :param account: Account which this metric comes from. Default: - Deployment account.
10754
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
10755
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
10756
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
10757
11555
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10758
11556
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10760,6 +11558,7 @@ class IProject(
10760
11558
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10761
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
10762
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
10763
11562
 
10764
11563
  :default: sum over 5 minutes
10765
11564
  '''
@@ -10772,6 +11571,7 @@ class IProject(
10772
11571
  account: typing.Optional[builtins.str] = None,
10773
11572
  color: typing.Optional[builtins.str] = None,
10774
11573
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11574
+ id: typing.Optional[builtins.str] = None,
10775
11575
  label: typing.Optional[builtins.str] = None,
10776
11576
  period: typing.Optional[_Duration_4839e8c3] = None,
10777
11577
  region: typing.Optional[builtins.str] = None,
@@ -10779,6 +11579,7 @@ class IProject(
10779
11579
  stack_region: typing.Optional[builtins.str] = None,
10780
11580
  statistic: typing.Optional[builtins.str] = None,
10781
11581
  unit: typing.Optional[_Unit_61bc6f70] = None,
11582
+ visible: typing.Optional[builtins.bool] = None,
10782
11583
  ) -> _Metric_e396a4dc:
10783
11584
  '''Measures the duration of all builds over time.
10784
11585
 
@@ -10789,6 +11590,7 @@ class IProject(
10789
11590
  :param account: Account which this metric comes from. Default: - Deployment account.
10790
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
10791
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
10792
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
10793
11595
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10794
11596
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10796,6 +11598,7 @@ class IProject(
10796
11598
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10797
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
10798
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
10799
11602
 
10800
11603
  :default: average over 5 minutes
10801
11604
  '''
@@ -10808,6 +11611,7 @@ class IProject(
10808
11611
  account: typing.Optional[builtins.str] = None,
10809
11612
  color: typing.Optional[builtins.str] = None,
10810
11613
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11614
+ id: typing.Optional[builtins.str] = None,
10811
11615
  label: typing.Optional[builtins.str] = None,
10812
11616
  period: typing.Optional[_Duration_4839e8c3] = None,
10813
11617
  region: typing.Optional[builtins.str] = None,
@@ -10815,6 +11619,7 @@ class IProject(
10815
11619
  stack_region: typing.Optional[builtins.str] = None,
10816
11620
  statistic: typing.Optional[builtins.str] = None,
10817
11621
  unit: typing.Optional[_Unit_61bc6f70] = None,
11622
+ visible: typing.Optional[builtins.bool] = None,
10818
11623
  ) -> _Metric_e396a4dc:
10819
11624
  '''Measures the number of builds that failed because of client error or because of a timeout.
10820
11625
 
@@ -10825,6 +11630,7 @@ class IProject(
10825
11630
  :param account: Account which this metric comes from. Default: - Deployment account.
10826
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
10827
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
10828
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
10829
11635
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10830
11636
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10832,6 +11638,7 @@ class IProject(
10832
11638
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10833
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
10834
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
10835
11642
 
10836
11643
  :default: sum over 5 minutes
10837
11644
  '''
@@ -10844,6 +11651,7 @@ class IProject(
10844
11651
  account: typing.Optional[builtins.str] = None,
10845
11652
  color: typing.Optional[builtins.str] = None,
10846
11653
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11654
+ id: typing.Optional[builtins.str] = None,
10847
11655
  label: typing.Optional[builtins.str] = None,
10848
11656
  period: typing.Optional[_Duration_4839e8c3] = None,
10849
11657
  region: typing.Optional[builtins.str] = None,
@@ -10851,6 +11659,7 @@ class IProject(
10851
11659
  stack_region: typing.Optional[builtins.str] = None,
10852
11660
  statistic: typing.Optional[builtins.str] = None,
10853
11661
  unit: typing.Optional[_Unit_61bc6f70] = None,
11662
+ visible: typing.Optional[builtins.bool] = None,
10854
11663
  ) -> _Metric_e396a4dc:
10855
11664
  '''Measures the number of successful builds.
10856
11665
 
@@ -10861,6 +11670,7 @@ class IProject(
10861
11670
  :param account: Account which this metric comes from. Default: - Deployment account.
10862
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
10863
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
10864
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
10865
11675
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
10866
11676
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -10868,6 +11678,7 @@ class IProject(
10868
11678
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
10869
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
10870
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
10871
11682
 
10872
11683
  :default: sum over 5 minutes
10873
11684
  '''
@@ -11168,6 +11979,7 @@ class _IProjectProxy(
11168
11979
  account: typing.Optional[builtins.str] = None,
11169
11980
  color: typing.Optional[builtins.str] = None,
11170
11981
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11982
+ id: typing.Optional[builtins.str] = None,
11171
11983
  label: typing.Optional[builtins.str] = None,
11172
11984
  period: typing.Optional[_Duration_4839e8c3] = None,
11173
11985
  region: typing.Optional[builtins.str] = None,
@@ -11175,12 +11987,14 @@ class _IProjectProxy(
11175
11987
  stack_region: typing.Optional[builtins.str] = None,
11176
11988
  statistic: typing.Optional[builtins.str] = None,
11177
11989
  unit: typing.Optional[_Unit_61bc6f70] = None,
11990
+ visible: typing.Optional[builtins.bool] = None,
11178
11991
  ) -> _Metric_e396a4dc:
11179
11992
  '''
11180
11993
  :param metric_name: The name of the metric.
11181
11994
  :param account: Account which this metric comes from. Default: - Deployment account.
11182
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
11183
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
11184
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
11185
11999
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11186
12000
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11188,6 +12002,7 @@ class _IProjectProxy(
11188
12002
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11189
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
11190
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
11191
12006
 
11192
12007
  :return: a CloudWatch metric associated with this build project.
11193
12008
  '''
@@ -11198,6 +12013,7 @@ class _IProjectProxy(
11198
12013
  account=account,
11199
12014
  color=color,
11200
12015
  dimensions_map=dimensions_map,
12016
+ id=id,
11201
12017
  label=label,
11202
12018
  period=period,
11203
12019
  region=region,
@@ -11205,6 +12021,7 @@ class _IProjectProxy(
11205
12021
  stack_region=stack_region,
11206
12022
  statistic=statistic,
11207
12023
  unit=unit,
12024
+ visible=visible,
11208
12025
  )
11209
12026
 
11210
12027
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metric", [metric_name, props]))
@@ -11216,6 +12033,7 @@ class _IProjectProxy(
11216
12033
  account: typing.Optional[builtins.str] = None,
11217
12034
  color: typing.Optional[builtins.str] = None,
11218
12035
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12036
+ id: typing.Optional[builtins.str] = None,
11219
12037
  label: typing.Optional[builtins.str] = None,
11220
12038
  period: typing.Optional[_Duration_4839e8c3] = None,
11221
12039
  region: typing.Optional[builtins.str] = None,
@@ -11223,6 +12041,7 @@ class _IProjectProxy(
11223
12041
  stack_region: typing.Optional[builtins.str] = None,
11224
12042
  statistic: typing.Optional[builtins.str] = None,
11225
12043
  unit: typing.Optional[_Unit_61bc6f70] = None,
12044
+ visible: typing.Optional[builtins.bool] = None,
11226
12045
  ) -> _Metric_e396a4dc:
11227
12046
  '''Measures the number of builds triggered.
11228
12047
 
@@ -11233,6 +12052,7 @@ class _IProjectProxy(
11233
12052
  :param account: Account which this metric comes from. Default: - Deployment account.
11234
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
11235
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
11236
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
11237
12057
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11238
12058
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11240,6 +12060,7 @@ class _IProjectProxy(
11240
12060
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11241
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
11242
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
11243
12064
 
11244
12065
  :default: sum over 5 minutes
11245
12066
  '''
@@ -11247,6 +12068,7 @@ class _IProjectProxy(
11247
12068
  account=account,
11248
12069
  color=color,
11249
12070
  dimensions_map=dimensions_map,
12071
+ id=id,
11250
12072
  label=label,
11251
12073
  period=period,
11252
12074
  region=region,
@@ -11254,6 +12076,7 @@ class _IProjectProxy(
11254
12076
  stack_region=stack_region,
11255
12077
  statistic=statistic,
11256
12078
  unit=unit,
12079
+ visible=visible,
11257
12080
  )
11258
12081
 
11259
12082
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricBuilds", [props]))
@@ -11265,6 +12088,7 @@ class _IProjectProxy(
11265
12088
  account: typing.Optional[builtins.str] = None,
11266
12089
  color: typing.Optional[builtins.str] = None,
11267
12090
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12091
+ id: typing.Optional[builtins.str] = None,
11268
12092
  label: typing.Optional[builtins.str] = None,
11269
12093
  period: typing.Optional[_Duration_4839e8c3] = None,
11270
12094
  region: typing.Optional[builtins.str] = None,
@@ -11272,6 +12096,7 @@ class _IProjectProxy(
11272
12096
  stack_region: typing.Optional[builtins.str] = None,
11273
12097
  statistic: typing.Optional[builtins.str] = None,
11274
12098
  unit: typing.Optional[_Unit_61bc6f70] = None,
12099
+ visible: typing.Optional[builtins.bool] = None,
11275
12100
  ) -> _Metric_e396a4dc:
11276
12101
  '''Measures the duration of all builds over time.
11277
12102
 
@@ -11282,6 +12107,7 @@ class _IProjectProxy(
11282
12107
  :param account: Account which this metric comes from. Default: - Deployment account.
11283
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
11284
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
11285
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
11286
12112
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11287
12113
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11289,6 +12115,7 @@ class _IProjectProxy(
11289
12115
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11290
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
11291
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
11292
12119
 
11293
12120
  :default: average over 5 minutes
11294
12121
  '''
@@ -11296,6 +12123,7 @@ class _IProjectProxy(
11296
12123
  account=account,
11297
12124
  color=color,
11298
12125
  dimensions_map=dimensions_map,
12126
+ id=id,
11299
12127
  label=label,
11300
12128
  period=period,
11301
12129
  region=region,
@@ -11303,6 +12131,7 @@ class _IProjectProxy(
11303
12131
  stack_region=stack_region,
11304
12132
  statistic=statistic,
11305
12133
  unit=unit,
12134
+ visible=visible,
11306
12135
  )
11307
12136
 
11308
12137
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricDuration", [props]))
@@ -11314,6 +12143,7 @@ class _IProjectProxy(
11314
12143
  account: typing.Optional[builtins.str] = None,
11315
12144
  color: typing.Optional[builtins.str] = None,
11316
12145
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12146
+ id: typing.Optional[builtins.str] = None,
11317
12147
  label: typing.Optional[builtins.str] = None,
11318
12148
  period: typing.Optional[_Duration_4839e8c3] = None,
11319
12149
  region: typing.Optional[builtins.str] = None,
@@ -11321,6 +12151,7 @@ class _IProjectProxy(
11321
12151
  stack_region: typing.Optional[builtins.str] = None,
11322
12152
  statistic: typing.Optional[builtins.str] = None,
11323
12153
  unit: typing.Optional[_Unit_61bc6f70] = None,
12154
+ visible: typing.Optional[builtins.bool] = None,
11324
12155
  ) -> _Metric_e396a4dc:
11325
12156
  '''Measures the number of builds that failed because of client error or because of a timeout.
11326
12157
 
@@ -11331,6 +12162,7 @@ class _IProjectProxy(
11331
12162
  :param account: Account which this metric comes from. Default: - Deployment account.
11332
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
11333
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
11334
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
11335
12167
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11336
12168
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11338,6 +12170,7 @@ class _IProjectProxy(
11338
12170
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11339
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
11340
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
11341
12174
 
11342
12175
  :default: sum over 5 minutes
11343
12176
  '''
@@ -11345,6 +12178,7 @@ class _IProjectProxy(
11345
12178
  account=account,
11346
12179
  color=color,
11347
12180
  dimensions_map=dimensions_map,
12181
+ id=id,
11348
12182
  label=label,
11349
12183
  period=period,
11350
12184
  region=region,
@@ -11352,6 +12186,7 @@ class _IProjectProxy(
11352
12186
  stack_region=stack_region,
11353
12187
  statistic=statistic,
11354
12188
  unit=unit,
12189
+ visible=visible,
11355
12190
  )
11356
12191
 
11357
12192
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricFailedBuilds", [props]))
@@ -11363,6 +12198,7 @@ class _IProjectProxy(
11363
12198
  account: typing.Optional[builtins.str] = None,
11364
12199
  color: typing.Optional[builtins.str] = None,
11365
12200
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
12201
+ id: typing.Optional[builtins.str] = None,
11366
12202
  label: typing.Optional[builtins.str] = None,
11367
12203
  period: typing.Optional[_Duration_4839e8c3] = None,
11368
12204
  region: typing.Optional[builtins.str] = None,
@@ -11370,6 +12206,7 @@ class _IProjectProxy(
11370
12206
  stack_region: typing.Optional[builtins.str] = None,
11371
12207
  statistic: typing.Optional[builtins.str] = None,
11372
12208
  unit: typing.Optional[_Unit_61bc6f70] = None,
12209
+ visible: typing.Optional[builtins.bool] = None,
11373
12210
  ) -> _Metric_e396a4dc:
11374
12211
  '''Measures the number of successful builds.
11375
12212
 
@@ -11380,6 +12217,7 @@ class _IProjectProxy(
11380
12217
  :param account: Account which this metric comes from. Default: - Deployment account.
11381
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
11382
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
11383
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
11384
12222
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
11385
12223
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -11387,6 +12225,7 @@ class _IProjectProxy(
11387
12225
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
11388
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
11389
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
11390
12229
 
11391
12230
  :default: sum over 5 minutes
11392
12231
  '''
@@ -11394,6 +12233,7 @@ class _IProjectProxy(
11394
12233
  account=account,
11395
12234
  color=color,
11396
12235
  dimensions_map=dimensions_map,
12236
+ id=id,
11397
12237
  label=label,
11398
12238
  period=period,
11399
12239
  region=region,
@@ -11401,6 +12241,7 @@ class _IProjectProxy(
11401
12241
  stack_region=stack_region,
11402
12242
  statistic=statistic,
11403
12243
  unit=unit,
12244
+ visible=visible,
11404
12245
  )
11405
12246
 
11406
12247
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSucceededBuilds", [props]))
@@ -12020,6 +12861,7 @@ class LinuxArmBuildImage(
12020
12861
  build_image: typing.Optional[IBuildImage] = None,
12021
12862
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12022
12863
  compute_type: typing.Optional[ComputeType] = None,
12864
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12023
12865
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12024
12866
  fleet: typing.Optional[IFleet] = None,
12025
12867
  privileged: typing.Optional[builtins.bool] = None,
@@ -12029,6 +12871,7 @@ class LinuxArmBuildImage(
12029
12871
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12030
12872
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12031
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
12032
12875
  :param environment_variables: The environment variables that your builds can use.
12033
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.
12034
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
@@ -12037,6 +12880,7 @@ class LinuxArmBuildImage(
12037
12880
  build_image=build_image,
12038
12881
  certificate=certificate,
12039
12882
  compute_type=compute_type,
12883
+ docker_server=docker_server,
12040
12884
  environment_variables=environment_variables,
12041
12885
  fleet=fleet,
12042
12886
  privileged=privileged,
@@ -12155,6 +12999,7 @@ class LinuxArmLambdaBuildImage(
12155
12999
  build_image: typing.Optional[IBuildImage] = None,
12156
13000
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12157
13001
  compute_type: typing.Optional[ComputeType] = None,
13002
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12158
13003
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12159
13004
  fleet: typing.Optional[IFleet] = None,
12160
13005
  privileged: typing.Optional[builtins.bool] = None,
@@ -12164,6 +13009,7 @@ class LinuxArmLambdaBuildImage(
12164
13009
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12165
13010
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12166
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
12167
13013
  :param environment_variables: The environment variables that your builds can use.
12168
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.
12169
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
@@ -12172,6 +13018,7 @@ class LinuxArmLambdaBuildImage(
12172
13018
  build_image=build_image,
12173
13019
  certificate=certificate,
12174
13020
  compute_type=compute_type,
13021
+ docker_server=docker_server,
12175
13022
  environment_variables=environment_variables,
12176
13023
  fleet=fleet,
12177
13024
  privileged=privileged,
@@ -12502,6 +13349,7 @@ class LinuxBuildImage(
12502
13349
  build_image: typing.Optional[IBuildImage] = None,
12503
13350
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12504
13351
  compute_type: typing.Optional[ComputeType] = None,
13352
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12505
13353
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12506
13354
  fleet: typing.Optional[IFleet] = None,
12507
13355
  privileged: typing.Optional[builtins.bool] = None,
@@ -12511,6 +13359,7 @@ class LinuxBuildImage(
12511
13359
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12512
13360
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12513
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
12514
13363
  :param environment_variables: The environment variables that your builds can use.
12515
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.
12516
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
@@ -12519,6 +13368,7 @@ class LinuxBuildImage(
12519
13368
  build_image=build_image,
12520
13369
  certificate=certificate,
12521
13370
  compute_type=compute_type,
13371
+ docker_server=docker_server,
12522
13372
  environment_variables=environment_variables,
12523
13373
  fleet=fleet,
12524
13374
  privileged=privileged,
@@ -12770,6 +13620,7 @@ class LinuxLambdaBuildImage(
12770
13620
  build_image: typing.Optional[IBuildImage] = None,
12771
13621
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
12772
13622
  compute_type: typing.Optional[ComputeType] = None,
13623
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
12773
13624
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
12774
13625
  fleet: typing.Optional[IFleet] = None,
12775
13626
  privileged: typing.Optional[builtins.bool] = None,
@@ -12779,6 +13630,7 @@ class LinuxLambdaBuildImage(
12779
13630
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
12780
13631
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
12781
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
12782
13634
  :param environment_variables: The environment variables that your builds can use.
12783
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.
12784
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
@@ -12787,6 +13639,7 @@ class LinuxLambdaBuildImage(
12787
13639
  build_image=build_image,
12788
13640
  certificate=certificate,
12789
13641
  compute_type=compute_type,
13642
+ docker_server=docker_server,
12790
13643
  environment_variables=environment_variables,
12791
13644
  fleet=fleet,
12792
13645
  privileged=privileged,
@@ -13239,6 +14092,7 @@ class MacBuildImage(
13239
14092
  build_image: typing.Optional[IBuildImage] = None,
13240
14093
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
13241
14094
  compute_type: typing.Optional[ComputeType] = None,
14095
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
13242
14096
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
13243
14097
  fleet: typing.Optional[IFleet] = None,
13244
14098
  privileged: typing.Optional[builtins.bool] = None,
@@ -13248,6 +14102,7 @@ class MacBuildImage(
13248
14102
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
13249
14103
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
13250
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
13251
14106
  :param environment_variables: The environment variables that your builds can use.
13252
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.
13253
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
@@ -13256,6 +14111,7 @@ class MacBuildImage(
13256
14111
  build_image=build_image,
13257
14112
  certificate=certificate,
13258
14113
  compute_type=compute_type,
14114
+ docker_server=docker_server,
13259
14115
  environment_variables=environment_variables,
13260
14116
  fleet=fleet,
13261
14117
  privileged=privileged,
@@ -14193,6 +15049,7 @@ class Project(
14193
15049
  account: typing.Optional[builtins.str] = None,
14194
15050
  color: typing.Optional[builtins.str] = None,
14195
15051
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15052
+ id: typing.Optional[builtins.str] = None,
14196
15053
  label: typing.Optional[builtins.str] = None,
14197
15054
  period: typing.Optional[_Duration_4839e8c3] = None,
14198
15055
  region: typing.Optional[builtins.str] = None,
@@ -14200,12 +15057,14 @@ class Project(
14200
15057
  stack_region: typing.Optional[builtins.str] = None,
14201
15058
  statistic: typing.Optional[builtins.str] = None,
14202
15059
  unit: typing.Optional[_Unit_61bc6f70] = None,
15060
+ visible: typing.Optional[builtins.bool] = None,
14203
15061
  ) -> _Metric_e396a4dc:
14204
15062
  '''
14205
15063
  :param metric_name: The name of the metric.
14206
15064
  :param account: Account which this metric comes from. Default: - Deployment account.
14207
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
14208
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
14209
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
14210
15069
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14211
15070
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14213,6 +15072,7 @@ class Project(
14213
15072
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14214
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
14215
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
14216
15076
 
14217
15077
  :return: a CloudWatch metric associated with this build project.
14218
15078
  '''
@@ -14223,6 +15083,7 @@ class Project(
14223
15083
  account=account,
14224
15084
  color=color,
14225
15085
  dimensions_map=dimensions_map,
15086
+ id=id,
14226
15087
  label=label,
14227
15088
  period=period,
14228
15089
  region=region,
@@ -14230,6 +15091,7 @@ class Project(
14230
15091
  stack_region=stack_region,
14231
15092
  statistic=statistic,
14232
15093
  unit=unit,
15094
+ visible=visible,
14233
15095
  )
14234
15096
 
14235
15097
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metric", [metric_name, props]))
@@ -14241,6 +15103,7 @@ class Project(
14241
15103
  account: typing.Optional[builtins.str] = None,
14242
15104
  color: typing.Optional[builtins.str] = None,
14243
15105
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15106
+ id: typing.Optional[builtins.str] = None,
14244
15107
  label: typing.Optional[builtins.str] = None,
14245
15108
  period: typing.Optional[_Duration_4839e8c3] = None,
14246
15109
  region: typing.Optional[builtins.str] = None,
@@ -14248,6 +15111,7 @@ class Project(
14248
15111
  stack_region: typing.Optional[builtins.str] = None,
14249
15112
  statistic: typing.Optional[builtins.str] = None,
14250
15113
  unit: typing.Optional[_Unit_61bc6f70] = None,
15114
+ visible: typing.Optional[builtins.bool] = None,
14251
15115
  ) -> _Metric_e396a4dc:
14252
15116
  '''Measures the number of builds triggered.
14253
15117
 
@@ -14258,6 +15122,7 @@ class Project(
14258
15122
  :param account: Account which this metric comes from. Default: - Deployment account.
14259
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
14260
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
14261
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
14262
15127
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14263
15128
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14265,6 +15130,7 @@ class Project(
14265
15130
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14266
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
14267
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
14268
15134
 
14269
15135
  :default: sum over 5 minutes
14270
15136
  '''
@@ -14272,6 +15138,7 @@ class Project(
14272
15138
  account=account,
14273
15139
  color=color,
14274
15140
  dimensions_map=dimensions_map,
15141
+ id=id,
14275
15142
  label=label,
14276
15143
  period=period,
14277
15144
  region=region,
@@ -14279,6 +15146,7 @@ class Project(
14279
15146
  stack_region=stack_region,
14280
15147
  statistic=statistic,
14281
15148
  unit=unit,
15149
+ visible=visible,
14282
15150
  )
14283
15151
 
14284
15152
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricBuilds", [props]))
@@ -14290,6 +15158,7 @@ class Project(
14290
15158
  account: typing.Optional[builtins.str] = None,
14291
15159
  color: typing.Optional[builtins.str] = None,
14292
15160
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15161
+ id: typing.Optional[builtins.str] = None,
14293
15162
  label: typing.Optional[builtins.str] = None,
14294
15163
  period: typing.Optional[_Duration_4839e8c3] = None,
14295
15164
  region: typing.Optional[builtins.str] = None,
@@ -14297,6 +15166,7 @@ class Project(
14297
15166
  stack_region: typing.Optional[builtins.str] = None,
14298
15167
  statistic: typing.Optional[builtins.str] = None,
14299
15168
  unit: typing.Optional[_Unit_61bc6f70] = None,
15169
+ visible: typing.Optional[builtins.bool] = None,
14300
15170
  ) -> _Metric_e396a4dc:
14301
15171
  '''Measures the duration of all builds over time.
14302
15172
 
@@ -14307,6 +15177,7 @@ class Project(
14307
15177
  :param account: Account which this metric comes from. Default: - Deployment account.
14308
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
14309
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
14310
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
14311
15182
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14312
15183
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14314,6 +15185,7 @@ class Project(
14314
15185
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14315
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
14316
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
14317
15189
 
14318
15190
  :default: average over 5 minutes
14319
15191
  '''
@@ -14321,6 +15193,7 @@ class Project(
14321
15193
  account=account,
14322
15194
  color=color,
14323
15195
  dimensions_map=dimensions_map,
15196
+ id=id,
14324
15197
  label=label,
14325
15198
  period=period,
14326
15199
  region=region,
@@ -14328,6 +15201,7 @@ class Project(
14328
15201
  stack_region=stack_region,
14329
15202
  statistic=statistic,
14330
15203
  unit=unit,
15204
+ visible=visible,
14331
15205
  )
14332
15206
 
14333
15207
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricDuration", [props]))
@@ -14339,6 +15213,7 @@ class Project(
14339
15213
  account: typing.Optional[builtins.str] = None,
14340
15214
  color: typing.Optional[builtins.str] = None,
14341
15215
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15216
+ id: typing.Optional[builtins.str] = None,
14342
15217
  label: typing.Optional[builtins.str] = None,
14343
15218
  period: typing.Optional[_Duration_4839e8c3] = None,
14344
15219
  region: typing.Optional[builtins.str] = None,
@@ -14346,6 +15221,7 @@ class Project(
14346
15221
  stack_region: typing.Optional[builtins.str] = None,
14347
15222
  statistic: typing.Optional[builtins.str] = None,
14348
15223
  unit: typing.Optional[_Unit_61bc6f70] = None,
15224
+ visible: typing.Optional[builtins.bool] = None,
14349
15225
  ) -> _Metric_e396a4dc:
14350
15226
  '''Measures the number of builds that failed because of client error or because of a timeout.
14351
15227
 
@@ -14356,6 +15232,7 @@ class Project(
14356
15232
  :param account: Account which this metric comes from. Default: - Deployment account.
14357
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
14358
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
14359
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
14360
15237
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14361
15238
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14363,6 +15240,7 @@ class Project(
14363
15240
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14364
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
14365
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
14366
15244
 
14367
15245
  :default: sum over 5 minutes
14368
15246
  '''
@@ -14370,6 +15248,7 @@ class Project(
14370
15248
  account=account,
14371
15249
  color=color,
14372
15250
  dimensions_map=dimensions_map,
15251
+ id=id,
14373
15252
  label=label,
14374
15253
  period=period,
14375
15254
  region=region,
@@ -14377,6 +15256,7 @@ class Project(
14377
15256
  stack_region=stack_region,
14378
15257
  statistic=statistic,
14379
15258
  unit=unit,
15259
+ visible=visible,
14380
15260
  )
14381
15261
 
14382
15262
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricFailedBuilds", [props]))
@@ -14388,6 +15268,7 @@ class Project(
14388
15268
  account: typing.Optional[builtins.str] = None,
14389
15269
  color: typing.Optional[builtins.str] = None,
14390
15270
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
15271
+ id: typing.Optional[builtins.str] = None,
14391
15272
  label: typing.Optional[builtins.str] = None,
14392
15273
  period: typing.Optional[_Duration_4839e8c3] = None,
14393
15274
  region: typing.Optional[builtins.str] = None,
@@ -14395,6 +15276,7 @@ class Project(
14395
15276
  stack_region: typing.Optional[builtins.str] = None,
14396
15277
  statistic: typing.Optional[builtins.str] = None,
14397
15278
  unit: typing.Optional[_Unit_61bc6f70] = None,
15279
+ visible: typing.Optional[builtins.bool] = None,
14398
15280
  ) -> _Metric_e396a4dc:
14399
15281
  '''Measures the number of successful builds.
14400
15282
 
@@ -14405,6 +15287,7 @@ class Project(
14405
15287
  :param account: Account which this metric comes from. Default: - Deployment account.
14406
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
14407
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
14408
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
14409
15292
  :param period: The period over which the specified statistic is applied. Default: Duration.minutes(5)
14410
15293
  :param region: Region which this metric comes from. Default: - Deployment region.
@@ -14412,6 +15295,7 @@ class Project(
14412
15295
  :param stack_region: Region of the stack this metric is attached to. Default: - Deployment region.
14413
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
14414
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
14415
15299
 
14416
15300
  :default: sum over 5 minutes
14417
15301
  '''
@@ -14419,6 +15303,7 @@ class Project(
14419
15303
  account=account,
14420
15304
  color=color,
14421
15305
  dimensions_map=dimensions_map,
15306
+ id=id,
14422
15307
  label=label,
14423
15308
  period=period,
14424
15309
  region=region,
@@ -14426,6 +15311,7 @@ class Project(
14426
15311
  stack_region=stack_region,
14427
15312
  statistic=statistic,
14428
15313
  unit=unit,
15314
+ visible=visible,
14429
15315
  )
14430
15316
 
14431
15317
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSucceededBuilds", [props]))
@@ -16127,12 +17013,31 @@ class Source(
16127
17013
 
16128
17014
  Example::
16129
17015
 
16130
- project = codebuild.Project(self, "MyProject",
16131
- build_spec=codebuild.BuildSpec.from_source_filename("my-buildspec.yml"),
16132
- source=codebuild.Source.git_hub(
17016
+ # my_caching_bucket: s3.Bucket
17017
+
17018
+
17019
+ codebuild.Project(self, "Project",
17020
+ source=codebuild.Source.bit_bucket(
16133
17021
  owner="awslabs",
16134
17022
  repo="aws-cdk"
16135
- )
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
+ })
16136
17041
  )
16137
17042
  '''
16138
17043
 
@@ -16455,6 +17360,12 @@ class SourceConfig:
16455
17360
  # the properties below are optional
16456
17361
  exclude_matched_pattern=False
16457
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
+ ),
16458
17369
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
16459
17370
  name="name",
16460
17371
 
@@ -16868,6 +17779,7 @@ class WindowsBuildImage(
16868
17779
  build_image: typing.Optional[IBuildImage] = None,
16869
17780
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
16870
17781
  compute_type: typing.Optional[ComputeType] = None,
17782
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
16871
17783
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16872
17784
  fleet: typing.Optional[IFleet] = None,
16873
17785
  privileged: typing.Optional[builtins.bool] = None,
@@ -16877,6 +17789,7 @@ class WindowsBuildImage(
16877
17789
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
16878
17790
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
16879
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
16880
17793
  :param environment_variables: The environment variables that your builds can use.
16881
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.
16882
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
@@ -16885,6 +17798,7 @@ class WindowsBuildImage(
16885
17798
  build_image=build_image,
16886
17799
  certificate=certificate,
16887
17800
  compute_type=compute_type,
17801
+ docker_server=docker_server,
16888
17802
  environment_variables=environment_variables,
16889
17803
  fleet=fleet,
16890
17804
  privileged=privileged,
@@ -17547,6 +18461,11 @@ class Fleet(
17547
18461
  environment_type: EnvironmentType,
17548
18462
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
17549
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,
17550
18469
  ) -> None:
17551
18470
  '''
17552
18471
  :param scope: -
@@ -17554,8 +18473,13 @@ class Fleet(
17554
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.
17555
18474
  :param compute_type: The instance type of the compute fleet.
17556
18475
  :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
17557
- :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
17558
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.
17559
18483
  '''
17560
18484
  if __debug__:
17561
18485
  type_hints = typing.get_type_hints(_typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957)
@@ -17567,6 +18491,11 @@ class Fleet(
17567
18491
  environment_type=environment_type,
17568
18492
  compute_configuration=compute_configuration,
17569
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,
17570
18499
  )
17571
18500
 
17572
18501
  jsii.create(self.__class__, self, [scope, id, props])
@@ -17607,6 +18536,12 @@ class Fleet(
17607
18536
  '''
17608
18537
  return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
17609
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
+
17610
18545
  @builtins.property
17611
18546
  @jsii.member(jsii_name="environmentType")
17612
18547
  def environment_type(self) -> EnvironmentType:
@@ -17625,6 +18560,12 @@ class Fleet(
17625
18560
  '''The name of the fleet.'''
17626
18561
  return typing.cast(builtins.str, jsii.get(self, "fleetName"))
17627
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
+
17628
18569
 
17629
18570
  @jsii.data_type(
17630
18571
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubEnterpriseSourceProps",
@@ -18297,6 +19238,7 @@ class LinuxGpuBuildImage(
18297
19238
  build_image: typing.Optional[IBuildImage] = None,
18298
19239
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
18299
19240
  compute_type: typing.Optional[ComputeType] = None,
19241
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
18300
19242
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
18301
19243
  fleet: typing.Optional[IFleet] = None,
18302
19244
  privileged: typing.Optional[builtins.bool] = None,
@@ -18306,6 +19248,7 @@ class LinuxGpuBuildImage(
18306
19248
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0
18307
19249
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
18308
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
18309
19252
  :param environment_variables: The environment variables that your builds can use.
18310
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.
18311
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
@@ -18314,6 +19257,7 @@ class LinuxGpuBuildImage(
18314
19257
  build_image=build_image,
18315
19258
  certificate=certificate,
18316
19259
  compute_type=compute_type,
19260
+ docker_server=docker_server,
18317
19261
  environment_variables=environment_variables,
18318
19262
  fleet=fleet,
18319
19263
  privileged=privileged,
@@ -18736,6 +19680,8 @@ __all__ = [
18736
19680
  "ComputeConfiguration",
18737
19681
  "ComputeType",
18738
19682
  "DockerImageOptions",
19683
+ "DockerServerComputeType",
19684
+ "DockerServerOptions",
18739
19685
  "EfsFileSystemLocationProps",
18740
19686
  "EnvironmentType",
18741
19687
  "EventAction",
@@ -18744,6 +19690,7 @@ __all__ = [
18744
19690
  "FilterGroup",
18745
19691
  "Fleet",
18746
19692
  "FleetComputeType",
19693
+ "FleetOverflowBehavior",
18747
19694
  "FleetProps",
18748
19695
  "GitHubEnterpriseSourceCredentials",
18749
19696
  "GitHubEnterpriseSourceCredentialsProps",
@@ -18843,6 +19790,7 @@ def _typecheckingstub__ebef68770fb5be7ec641650b4d069caf22f7652724d683d64610af210
18843
19790
 
18844
19791
  def _typecheckingstub__0964d02b7c6a99cc65ab53a8ae83bdb47d0901ee8a6f094b815d479e0fd8cb10(
18845
19792
  *,
19793
+ cache_namespace: typing.Optional[builtins.str] = None,
18846
19794
  prefix: typing.Optional[builtins.str] = None,
18847
19795
  ) -> None:
18848
19796
  """Type checking stubs"""
@@ -18853,6 +19801,7 @@ def _typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dce
18853
19801
  build_image: typing.Optional[IBuildImage] = None,
18854
19802
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
18855
19803
  compute_type: typing.Optional[ComputeType] = None,
19804
+ docker_server: typing.Optional[typing.Union[DockerServerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
18856
19805
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
18857
19806
  fleet: typing.Optional[IFleet] = None,
18858
19807
  privileged: typing.Optional[builtins.bool] = None,
@@ -18909,6 +19858,7 @@ def _typecheckingstub__4da3d788faa6a5e8ccf7b7a0f950b8fdc88fa2e5bd876f8b662b8fce2
18909
19858
  def _typecheckingstub__17e53da7d0dcdb63a4024e7a2681ef7faa68be13f710db0f237c0a06196e2279(
18910
19859
  bucket: _IBucket_42e086fd,
18911
19860
  *,
19861
+ cache_namespace: typing.Optional[builtins.str] = None,
18912
19862
  prefix: typing.Optional[builtins.str] = None,
18913
19863
  ) -> None:
18914
19864
  """Type checking stubs"""
@@ -19430,12 +20380,21 @@ def _typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8
19430
20380
  *,
19431
20381
  build_type: typing.Optional[builtins.str] = None,
19432
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,
19433
20384
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.ScopeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19434
20385
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19435
20386
  ) -> None:
19436
20387
  """Type checking stubs"""
19437
20388
  pass
19438
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
+
19439
20398
  def _typecheckingstub__34506e4fd8833ff5e97909e986461de67b898a74b028bcfb34d1d8c370d767a9(
19440
20399
  *,
19441
20400
  credential: builtins.str,
@@ -19720,6 +20679,7 @@ def _typecheckingstub__45bdedf6c9b38dcb0797768fa0fdec382e282ebd8679405f7dd9df6cb
19720
20679
  def _typecheckingstub__b104977b55c72c0577553444ac08838cdefde5acef91d6c00ad996d1c464b61b(
19721
20680
  *,
19722
20681
  disk: typing.Optional[_Size_7b441c34] = None,
20682
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
19723
20683
  machine_type: typing.Optional[MachineType] = None,
19724
20684
  memory: typing.Optional[_Size_7b441c34] = None,
19725
20685
  v_cpu: typing.Optional[jsii.Number] = None,
@@ -19734,6 +20694,14 @@ def _typecheckingstub__a9bdff78eb0c7b03d745a4a031a5cd7fe7b54a46e7733dc247bae3735
19734
20694
  """Type checking stubs"""
19735
20695
  pass
19736
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
+
19737
20705
  def _typecheckingstub__5e31ab4d2021a08b378a108a4cf8be7380dc920a7da37c6f6661a0becb8b4190(
19738
20706
  *,
19739
20707
  identifier: builtins.str,
@@ -19872,6 +20840,11 @@ def _typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf75
19872
20840
  environment_type: EnvironmentType,
19873
20841
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
19874
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,
19875
20848
  ) -> None:
19876
20849
  """Type checking stubs"""
19877
20850
  pass
@@ -19940,6 +20913,7 @@ def _typecheckingstub__4f7884de76ff7cb0ba58cc48d1d7bc265a2e8da34c1f3bde4ea5a96e3
19940
20913
  account: typing.Optional[builtins.str] = None,
19941
20914
  color: typing.Optional[builtins.str] = None,
19942
20915
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
20916
+ id: typing.Optional[builtins.str] = None,
19943
20917
  label: typing.Optional[builtins.str] = None,
19944
20918
  period: typing.Optional[_Duration_4839e8c3] = None,
19945
20919
  region: typing.Optional[builtins.str] = None,
@@ -19947,6 +20921,7 @@ def _typecheckingstub__4f7884de76ff7cb0ba58cc48d1d7bc265a2e8da34c1f3bde4ea5a96e3
19947
20921
  stack_region: typing.Optional[builtins.str] = None,
19948
20922
  statistic: typing.Optional[builtins.str] = None,
19949
20923
  unit: typing.Optional[_Unit_61bc6f70] = None,
20924
+ visible: typing.Optional[builtins.bool] = None,
19950
20925
  ) -> None:
19951
20926
  """Type checking stubs"""
19952
20927
  pass
@@ -20354,6 +21329,7 @@ def _typecheckingstub__685fd8fff031c8a93196b514789bd4f8ac1a27018ed911a6883d21b80
20354
21329
  account: typing.Optional[builtins.str] = None,
20355
21330
  color: typing.Optional[builtins.str] = None,
20356
21331
  dimensions_map: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
21332
+ id: typing.Optional[builtins.str] = None,
20357
21333
  label: typing.Optional[builtins.str] = None,
20358
21334
  period: typing.Optional[_Duration_4839e8c3] = None,
20359
21335
  region: typing.Optional[builtins.str] = None,
@@ -20361,6 +21337,7 @@ def _typecheckingstub__685fd8fff031c8a93196b514789bd4f8ac1a27018ed911a6883d21b80
20361
21337
  stack_region: typing.Optional[builtins.str] = None,
20362
21338
  statistic: typing.Optional[builtins.str] = None,
20363
21339
  unit: typing.Optional[_Unit_61bc6f70] = None,
21340
+ visible: typing.Optional[builtins.bool] = None,
20364
21341
  ) -> None:
20365
21342
  """Type checking stubs"""
20366
21343
  pass
@@ -20698,6 +21675,11 @@ def _typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6
20698
21675
  environment_type: EnvironmentType,
20699
21676
  compute_configuration: typing.Optional[typing.Union[ComputeConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
20700
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,
20701
21683
  ) -> None:
20702
21684
  """Type checking stubs"""
20703
21685
  pass
@@ -20821,3 +21803,6 @@ def _typecheckingstub__46c4f8162c8c90fb4a8d6f2f387d760a9758070e5641bccf8adf015eb
20821
21803
  ) -> None:
20822
21804
  """Type checking stubs"""
20823
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__'])