aws-cdk-lib 2.143.1__py3-none-any.whl → 2.145.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 (43) hide show
  1. aws_cdk/__init__.py +1 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.143.1.jsii.tgz → aws-cdk-lib@2.145.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +27 -0
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +28 -0
  6. aws_cdk/aws_appconfig/__init__.py +132 -1
  7. aws_cdk/aws_autoscaling/__init__.py +4 -4
  8. aws_cdk/aws_bedrock/__init__.py +48 -0
  9. aws_cdk/aws_chatbot/__init__.py +149 -2
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +65 -9
  11. aws_cdk/aws_codebuild/__init__.py +801 -16
  12. aws_cdk/aws_config/__init__.py +1305 -45
  13. aws_cdk/aws_dynamodb/__init__.py +309 -3
  14. aws_cdk/aws_ec2/__init__.py +112 -31
  15. aws_cdk/aws_ecs_patterns/__init__.py +89 -7
  16. aws_cdk/aws_eks/__init__.py +185 -41
  17. aws_cdk/aws_fsx/__init__.py +4 -4
  18. aws_cdk/aws_glue/__init__.py +39 -0
  19. aws_cdk/aws_iam/__init__.py +3 -3
  20. aws_cdk/aws_lambda/__init__.py +605 -42
  21. aws_cdk/aws_lambda_nodejs/__init__.py +160 -13
  22. aws_cdk/aws_logs/__init__.py +114 -8
  23. aws_cdk/aws_logs_destinations/__init__.py +11 -9
  24. aws_cdk/aws_mediaconnect/__init__.py +2 -6
  25. aws_cdk/aws_medialive/__init__.py +20 -2
  26. aws_cdk/aws_mediapackagev2/__init__.py +476 -0
  27. aws_cdk/aws_rds/__init__.py +27 -19
  28. aws_cdk/aws_route53/__init__.py +3 -3
  29. aws_cdk/aws_s3/__init__.py +21 -0
  30. aws_cdk/aws_s3_deployment/__init__.py +3 -2
  31. aws_cdk/aws_securityhub/__init__.py +2415 -374
  32. aws_cdk/aws_securitylake/__init__.py +179 -314
  33. aws_cdk/aws_sqs/__init__.py +2 -2
  34. aws_cdk/aws_stepfunctions/__init__.py +53 -24
  35. aws_cdk/aws_stepfunctions_tasks/__init__.py +763 -16
  36. aws_cdk/pipelines/__init__.py +2 -0
  37. aws_cdk/triggers/__init__.py +65 -9
  38. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/METADATA +1 -1
  39. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/RECORD +43 -43
  40. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/WHEEL +1 -1
  41. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/LICENSE +0 -0
  42. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/NOTICE +0 -0
  43. {aws_cdk_lib-2.143.1.dist-info → aws_cdk_lib-2.145.0.dist-info}/top_level.txt +0 -0
@@ -303,6 +303,9 @@ can use the `environment` property to customize the build environment:
303
303
  * `environmentVariables` can be set at this level (and also at the project
304
304
  level).
305
305
 
306
+ Finally, you can also set the build environment `fleet` property to create
307
+ a reserved capacity project. See [Fleet](#fleet) for more information.
308
+
306
309
  ## Images
307
310
 
308
311
  The CodeBuild library supports both Linux and Windows images via the
@@ -433,6 +436,47 @@ codebuild.Project(self, "Project",
433
436
 
434
437
  > Visit [AWS Lambda compute in AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/lambda.html) for more details.
435
438
 
439
+ ## Fleet
440
+
441
+ By default, a CodeBuild project will request on-demand compute resources
442
+ to process your build requests. While being able to scale and handle high load,
443
+ on-demand resources can also be slow to provision.
444
+
445
+ Reserved capacity fleets are an alternative to on-demand.
446
+ Dedicated instances, maintained by CodeBuild,
447
+ will be ready to fulfill your build requests immediately.
448
+ Skipping the provisioning step in your project will reduce your build time,
449
+ at the cost of paying for these reserved instances, even when idling, until they are released.
450
+
451
+ For more information, see [Working with reserved capacity in AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html) in the CodeBuild documentation.
452
+
453
+ ```python
454
+ fleet = codebuild.Fleet(self, "Fleet",
455
+ compute_type=codebuild.FleetComputeType.MEDIUM,
456
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
457
+ base_capacity=1
458
+ )
459
+
460
+ codebuild.Project(self, "Project",
461
+ environment=codebuild.BuildEnvironment(
462
+ fleet=fleet,
463
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
464
+ )
465
+ )
466
+ ```
467
+
468
+ You can also import an existing fleet to share its resources
469
+ among several projects across multiple stacks:
470
+
471
+ ```python
472
+ codebuild.Project(self, "Project",
473
+ environment=codebuild.BuildEnvironment(
474
+ fleet=codebuild.Fleet.from_fleet_arn(self, "SharedFleet", "arn:aws:codebuild:us-east-1:123456789012:fleet/MyFleet:ed0d0823-e38a-4c10-90a1-1bf25f50fa76"),
475
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
476
+ )
477
+ )
478
+ ```
479
+
436
480
  ## Logs
437
481
 
438
482
  CodeBuild lets you specify an S3 Bucket, CloudWatch Log Group or both to receive logs from your projects.
@@ -1375,6 +1419,7 @@ class BucketCacheOptions:
1375
1419
  "certificate": "certificate",
1376
1420
  "compute_type": "computeType",
1377
1421
  "environment_variables": "environmentVariables",
1422
+ "fleet": "fleet",
1378
1423
  "privileged": "privileged",
1379
1424
  },
1380
1425
  )
@@ -1386,6 +1431,7 @@ class BuildEnvironment:
1386
1431
  certificate: typing.Optional[typing.Union["BuildEnvironmentCertificate", typing.Dict[builtins.str, typing.Any]]] = None,
1387
1432
  compute_type: typing.Optional["ComputeType"] = None,
1388
1433
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union["BuildEnvironmentVariable", typing.Dict[builtins.str, typing.Any]]]] = None,
1434
+ fleet: typing.Optional["IFleet"] = None,
1389
1435
  privileged: typing.Optional[builtins.bool] = None,
1390
1436
  ) -> None:
1391
1437
  '''
@@ -1393,6 +1439,7 @@ class BuildEnvironment:
1393
1439
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
1394
1440
  :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``
1395
1441
  :param environment_variables: The environment variables that your builds can use.
1442
+ :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.
1396
1443
  :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
1397
1444
 
1398
1445
  :exampleMetadata: infused
@@ -1434,6 +1481,7 @@ class BuildEnvironment:
1434
1481
  check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
1435
1482
  check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
1436
1483
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
1484
+ check_type(argname="argument fleet", value=fleet, expected_type=type_hints["fleet"])
1437
1485
  check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
1438
1486
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1439
1487
  if build_image is not None:
@@ -1444,6 +1492,8 @@ class BuildEnvironment:
1444
1492
  self._values["compute_type"] = compute_type
1445
1493
  if environment_variables is not None:
1446
1494
  self._values["environment_variables"] = environment_variables
1495
+ if fleet is not None:
1496
+ self._values["fleet"] = fleet
1447
1497
  if privileged is not None:
1448
1498
  self._values["privileged"] = privileged
1449
1499
 
@@ -1484,6 +1534,22 @@ class BuildEnvironment:
1484
1534
  result = self._values.get("environment_variables")
1485
1535
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, "BuildEnvironmentVariable"]], result)
1486
1536
 
1537
+ @builtins.property
1538
+ def fleet(self) -> typing.Optional["IFleet"]:
1539
+ '''Fleet resource for a reserved capacity CodeBuild project.
1540
+
1541
+ Fleets allow for process builds or tests to run immediately and reduces build durations,
1542
+ by reserving compute resources for your projects.
1543
+
1544
+ You will be charged for the resources in the fleet, even if they are idle.
1545
+
1546
+ :default: - No fleet will be attached to the project, which will remain on-demand.
1547
+
1548
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
1549
+ '''
1550
+ result = self._values.get("fleet")
1551
+ return typing.cast(typing.Optional["IFleet"], result)
1552
+
1487
1553
  @builtins.property
1488
1554
  def privileged(self) -> typing.Optional[builtins.bool]:
1489
1555
  '''Indicates how the project builds Docker images.
@@ -2039,7 +2105,14 @@ class CfnFleet(
2039
2105
  base_capacity=123,
2040
2106
  compute_type="computeType",
2041
2107
  environment_type="environmentType",
2108
+ fleet_service_role="fleetServiceRole",
2109
+ fleet_vpc_config=codebuild.CfnFleet.VpcConfigProperty(
2110
+ security_group_ids=["securityGroupIds"],
2111
+ subnets=["subnets"],
2112
+ vpc_id="vpcId"
2113
+ ),
2042
2114
  name="name",
2115
+ overflow_behavior="overflowBehavior",
2043
2116
  tags=[CfnTag(
2044
2117
  key="key",
2045
2118
  value="value"
@@ -2055,7 +2128,10 @@ class CfnFleet(
2055
2128
  base_capacity: typing.Optional[jsii.Number] = None,
2056
2129
  compute_type: typing.Optional[builtins.str] = None,
2057
2130
  environment_type: typing.Optional[builtins.str] = None,
2131
+ fleet_service_role: typing.Optional[builtins.str] = None,
2132
+ fleet_vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.VpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2058
2133
  name: typing.Optional[builtins.str] = None,
2134
+ overflow_behavior: typing.Optional[builtins.str] = None,
2059
2135
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2060
2136
  ) -> None:
2061
2137
  '''
@@ -2064,7 +2140,10 @@ class CfnFleet(
2064
2140
  :param base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel.
2065
2141
  :param compute_type: Information about the compute resources the compute fleet uses. Available values include:. - ``BUILD_GENERAL1_SMALL`` : Use up to 3 GB memory and 2 vCPUs for builds. - ``BUILD_GENERAL1_MEDIUM`` : Use up to 7 GB memory and 4 vCPUs for builds. - ``BUILD_GENERAL1_LARGE`` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - ``BUILD_GENERAL1_XLARGE`` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - ``BUILD_GENERAL1_2XLARGE`` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed. If you use ``BUILD_GENERAL1_SMALL`` : - For environment type ``LINUX_CONTAINER`` , you can use up to 3 GB memory and 2 vCPUs for builds. - For environment type ``LINUX_GPU_CONTAINER`` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds. - For environment type ``ARM_CONTAINER`` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. If you use ``BUILD_GENERAL1_LARGE`` : - For environment type ``LINUX_CONTAINER`` , you can use up to 15 GB memory and 8 vCPUs for builds. - For environment type ``LINUX_GPU_CONTAINER`` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - For environment type ``ARM_CONTAINER`` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see `Build environment compute types <https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild User Guide.*
2066
2142
  :param environment_type: The environment type of the compute fleet. - The environment type ``ARM_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type ``LINUX_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - The environment type ``LINUX_GPU_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). - The environment type ``WINDOWS_SERVER_2019_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). - The environment type ``WINDOWS_SERVER_2022_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai). For more information, see `Build environment compute types <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild user guide* .
2143
+ :param fleet_service_role:
2144
+ :param fleet_vpc_config:
2067
2145
  :param name: The name of the compute fleet.
2146
+ :param overflow_behavior:
2068
2147
  :param tags: A list of tag key and value pairs associated with this compute fleet. These tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.
2069
2148
  '''
2070
2149
  if __debug__:
@@ -2075,7 +2154,10 @@ class CfnFleet(
2075
2154
  base_capacity=base_capacity,
2076
2155
  compute_type=compute_type,
2077
2156
  environment_type=environment_type,
2157
+ fleet_service_role=fleet_service_role,
2158
+ fleet_vpc_config=fleet_vpc_config,
2078
2159
  name=name,
2160
+ overflow_behavior=overflow_behavior,
2079
2161
  tags=tags,
2080
2162
  )
2081
2163
 
@@ -2173,6 +2255,35 @@ class CfnFleet(
2173
2255
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2174
2256
  jsii.set(self, "environmentType", value)
2175
2257
 
2258
+ @builtins.property
2259
+ @jsii.member(jsii_name="fleetServiceRole")
2260
+ def fleet_service_role(self) -> typing.Optional[builtins.str]:
2261
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "fleetServiceRole"))
2262
+
2263
+ @fleet_service_role.setter
2264
+ def fleet_service_role(self, value: typing.Optional[builtins.str]) -> None:
2265
+ if __debug__:
2266
+ type_hints = typing.get_type_hints(_typecheckingstub__0b52d1cb270ba8d5003bf566dbe54e74e91dc4a1bb45f3b32037d9188035304a)
2267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2268
+ jsii.set(self, "fleetServiceRole", value)
2269
+
2270
+ @builtins.property
2271
+ @jsii.member(jsii_name="fleetVpcConfig")
2272
+ def fleet_vpc_config(
2273
+ self,
2274
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.VpcConfigProperty"]]:
2275
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.VpcConfigProperty"]], jsii.get(self, "fleetVpcConfig"))
2276
+
2277
+ @fleet_vpc_config.setter
2278
+ def fleet_vpc_config(
2279
+ self,
2280
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.VpcConfigProperty"]],
2281
+ ) -> None:
2282
+ if __debug__:
2283
+ type_hints = typing.get_type_hints(_typecheckingstub__c66d1798050c93d95746b1057fb5b75bf773869be3796e773defefc3ad1bb1fc)
2284
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2285
+ jsii.set(self, "fleetVpcConfig", value)
2286
+
2176
2287
  @builtins.property
2177
2288
  @jsii.member(jsii_name="name")
2178
2289
  def name(self) -> typing.Optional[builtins.str]:
@@ -2186,6 +2297,18 @@ class CfnFleet(
2186
2297
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2187
2298
  jsii.set(self, "name", value)
2188
2299
 
2300
+ @builtins.property
2301
+ @jsii.member(jsii_name="overflowBehavior")
2302
+ def overflow_behavior(self) -> typing.Optional[builtins.str]:
2303
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "overflowBehavior"))
2304
+
2305
+ @overflow_behavior.setter
2306
+ def overflow_behavior(self, value: typing.Optional[builtins.str]) -> None:
2307
+ if __debug__:
2308
+ type_hints = typing.get_type_hints(_typecheckingstub__bf36f41fa1ee306ba1e159a2bd108d828ec990d8ed85038c3b823cc85f71473d)
2309
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2310
+ jsii.set(self, "overflowBehavior", value)
2311
+
2189
2312
  @builtins.property
2190
2313
  @jsii.member(jsii_name="tags")
2191
2314
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -2199,6 +2322,91 @@ class CfnFleet(
2199
2322
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2200
2323
  jsii.set(self, "tags", value)
2201
2324
 
2325
+ @jsii.data_type(
2326
+ jsii_type="aws-cdk-lib.aws_codebuild.CfnFleet.VpcConfigProperty",
2327
+ jsii_struct_bases=[],
2328
+ name_mapping={
2329
+ "security_group_ids": "securityGroupIds",
2330
+ "subnets": "subnets",
2331
+ "vpc_id": "vpcId",
2332
+ },
2333
+ )
2334
+ class VpcConfigProperty:
2335
+ def __init__(
2336
+ self,
2337
+ *,
2338
+ security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2339
+ subnets: typing.Optional[typing.Sequence[builtins.str]] = None,
2340
+ vpc_id: typing.Optional[builtins.str] = None,
2341
+ ) -> None:
2342
+ '''
2343
+ :param security_group_ids:
2344
+ :param subnets:
2345
+ :param vpc_id:
2346
+
2347
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-vpcconfig.html
2348
+ :exampleMetadata: fixture=_generated
2349
+
2350
+ Example::
2351
+
2352
+ # The code below shows an example of how to instantiate this type.
2353
+ # The values are placeholders you should change.
2354
+ from aws_cdk import aws_codebuild as codebuild
2355
+
2356
+ vpc_config_property = codebuild.CfnFleet.VpcConfigProperty(
2357
+ security_group_ids=["securityGroupIds"],
2358
+ subnets=["subnets"],
2359
+ vpc_id="vpcId"
2360
+ )
2361
+ '''
2362
+ if __debug__:
2363
+ type_hints = typing.get_type_hints(_typecheckingstub__6ba59299fe003e8819b5e5009d9de74accb150da03c0400a31b1d1f07a39fef1)
2364
+ check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
2365
+ check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
2366
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
2367
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2368
+ if security_group_ids is not None:
2369
+ self._values["security_group_ids"] = security_group_ids
2370
+ if subnets is not None:
2371
+ self._values["subnets"] = subnets
2372
+ if vpc_id is not None:
2373
+ self._values["vpc_id"] = vpc_id
2374
+
2375
+ @builtins.property
2376
+ def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
2377
+ '''
2378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-vpcconfig.html#cfn-codebuild-fleet-vpcconfig-securitygroupids
2379
+ '''
2380
+ result = self._values.get("security_group_ids")
2381
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2382
+
2383
+ @builtins.property
2384
+ def subnets(self) -> typing.Optional[typing.List[builtins.str]]:
2385
+ '''
2386
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-vpcconfig.html#cfn-codebuild-fleet-vpcconfig-subnets
2387
+ '''
2388
+ result = self._values.get("subnets")
2389
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2390
+
2391
+ @builtins.property
2392
+ def vpc_id(self) -> typing.Optional[builtins.str]:
2393
+ '''
2394
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-fleet-vpcconfig.html#cfn-codebuild-fleet-vpcconfig-vpcid
2395
+ '''
2396
+ result = self._values.get("vpc_id")
2397
+ return typing.cast(typing.Optional[builtins.str], result)
2398
+
2399
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2400
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2401
+
2402
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2403
+ return not (rhs == self)
2404
+
2405
+ def __repr__(self) -> str:
2406
+ return "VpcConfigProperty(%s)" % ", ".join(
2407
+ k + "=" + repr(v) for k, v in self._values.items()
2408
+ )
2409
+
2202
2410
 
2203
2411
  @jsii.data_type(
2204
2412
  jsii_type="aws-cdk-lib.aws_codebuild.CfnFleetProps",
@@ -2207,7 +2415,10 @@ class CfnFleet(
2207
2415
  "base_capacity": "baseCapacity",
2208
2416
  "compute_type": "computeType",
2209
2417
  "environment_type": "environmentType",
2418
+ "fleet_service_role": "fleetServiceRole",
2419
+ "fleet_vpc_config": "fleetVpcConfig",
2210
2420
  "name": "name",
2421
+ "overflow_behavior": "overflowBehavior",
2211
2422
  "tags": "tags",
2212
2423
  },
2213
2424
  )
@@ -2218,7 +2429,10 @@ class CfnFleetProps:
2218
2429
  base_capacity: typing.Optional[jsii.Number] = None,
2219
2430
  compute_type: typing.Optional[builtins.str] = None,
2220
2431
  environment_type: typing.Optional[builtins.str] = None,
2432
+ fleet_service_role: typing.Optional[builtins.str] = None,
2433
+ fleet_vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2221
2434
  name: typing.Optional[builtins.str] = None,
2435
+ overflow_behavior: typing.Optional[builtins.str] = None,
2222
2436
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2223
2437
  ) -> None:
2224
2438
  '''Properties for defining a ``CfnFleet``.
@@ -2226,7 +2440,10 @@ class CfnFleetProps:
2226
2440
  :param base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel.
2227
2441
  :param compute_type: Information about the compute resources the compute fleet uses. Available values include:. - ``BUILD_GENERAL1_SMALL`` : Use up to 3 GB memory and 2 vCPUs for builds. - ``BUILD_GENERAL1_MEDIUM`` : Use up to 7 GB memory and 4 vCPUs for builds. - ``BUILD_GENERAL1_LARGE`` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - ``BUILD_GENERAL1_XLARGE`` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - ``BUILD_GENERAL1_2XLARGE`` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed. If you use ``BUILD_GENERAL1_SMALL`` : - For environment type ``LINUX_CONTAINER`` , you can use up to 3 GB memory and 2 vCPUs for builds. - For environment type ``LINUX_GPU_CONTAINER`` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds. - For environment type ``ARM_CONTAINER`` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. If you use ``BUILD_GENERAL1_LARGE`` : - For environment type ``LINUX_CONTAINER`` , you can use up to 15 GB memory and 8 vCPUs for builds. - For environment type ``LINUX_GPU_CONTAINER`` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - For environment type ``ARM_CONTAINER`` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see `Build environment compute types <https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild User Guide.*
2228
2442
  :param environment_type: The environment type of the compute fleet. - The environment type ``ARM_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type ``LINUX_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - The environment type ``LINUX_GPU_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). - The environment type ``WINDOWS_SERVER_2019_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). - The environment type ``WINDOWS_SERVER_2022_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai). For more information, see `Build environment compute types <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild user guide* .
2443
+ :param fleet_service_role:
2444
+ :param fleet_vpc_config:
2229
2445
  :param name: The name of the compute fleet.
2446
+ :param overflow_behavior:
2230
2447
  :param tags: A list of tag key and value pairs associated with this compute fleet. These tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.
2231
2448
 
2232
2449
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html
@@ -2242,7 +2459,14 @@ class CfnFleetProps:
2242
2459
  base_capacity=123,
2243
2460
  compute_type="computeType",
2244
2461
  environment_type="environmentType",
2462
+ fleet_service_role="fleetServiceRole",
2463
+ fleet_vpc_config=codebuild.CfnFleet.VpcConfigProperty(
2464
+ security_group_ids=["securityGroupIds"],
2465
+ subnets=["subnets"],
2466
+ vpc_id="vpcId"
2467
+ ),
2245
2468
  name="name",
2469
+ overflow_behavior="overflowBehavior",
2246
2470
  tags=[CfnTag(
2247
2471
  key="key",
2248
2472
  value="value"
@@ -2254,7 +2478,10 @@ class CfnFleetProps:
2254
2478
  check_type(argname="argument base_capacity", value=base_capacity, expected_type=type_hints["base_capacity"])
2255
2479
  check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
2256
2480
  check_type(argname="argument environment_type", value=environment_type, expected_type=type_hints["environment_type"])
2481
+ check_type(argname="argument fleet_service_role", value=fleet_service_role, expected_type=type_hints["fleet_service_role"])
2482
+ check_type(argname="argument fleet_vpc_config", value=fleet_vpc_config, expected_type=type_hints["fleet_vpc_config"])
2257
2483
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2484
+ check_type(argname="argument overflow_behavior", value=overflow_behavior, expected_type=type_hints["overflow_behavior"])
2258
2485
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2259
2486
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2260
2487
  if base_capacity is not None:
@@ -2263,8 +2490,14 @@ class CfnFleetProps:
2263
2490
  self._values["compute_type"] = compute_type
2264
2491
  if environment_type is not None:
2265
2492
  self._values["environment_type"] = environment_type
2493
+ if fleet_service_role is not None:
2494
+ self._values["fleet_service_role"] = fleet_service_role
2495
+ if fleet_vpc_config is not None:
2496
+ self._values["fleet_vpc_config"] = fleet_vpc_config
2266
2497
  if name is not None:
2267
2498
  self._values["name"] = name
2499
+ if overflow_behavior is not None:
2500
+ self._values["overflow_behavior"] = overflow_behavior
2268
2501
  if tags is not None:
2269
2502
  self._values["tags"] = tags
2270
2503
 
@@ -2323,6 +2556,24 @@ class CfnFleetProps:
2323
2556
  result = self._values.get("environment_type")
2324
2557
  return typing.cast(typing.Optional[builtins.str], result)
2325
2558
 
2559
+ @builtins.property
2560
+ def fleet_service_role(self) -> typing.Optional[builtins.str]:
2561
+ '''
2562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html#cfn-codebuild-fleet-fleetservicerole
2563
+ '''
2564
+ result = self._values.get("fleet_service_role")
2565
+ return typing.cast(typing.Optional[builtins.str], result)
2566
+
2567
+ @builtins.property
2568
+ def fleet_vpc_config(
2569
+ self,
2570
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.VpcConfigProperty]]:
2571
+ '''
2572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html#cfn-codebuild-fleet-fleetvpcconfig
2573
+ '''
2574
+ result = self._values.get("fleet_vpc_config")
2575
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.VpcConfigProperty]], result)
2576
+
2326
2577
  @builtins.property
2327
2578
  def name(self) -> typing.Optional[builtins.str]:
2328
2579
  '''The name of the compute fleet.
@@ -2332,6 +2583,14 @@ class CfnFleetProps:
2332
2583
  result = self._values.get("name")
2333
2584
  return typing.cast(typing.Optional[builtins.str], result)
2334
2585
 
2586
+ @builtins.property
2587
+ def overflow_behavior(self) -> typing.Optional[builtins.str]:
2588
+ '''
2589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html#cfn-codebuild-fleet-overflowbehavior
2590
+ '''
2591
+ result = self._values.get("overflow_behavior")
2592
+ return typing.cast(typing.Optional[builtins.str], result)
2593
+
2335
2594
  @builtins.property
2336
2595
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2337
2596
  '''A list of tag key and value pairs associated with this compute fleet.
@@ -7228,6 +7487,7 @@ class CommonProjectProps:
7228
7487
  # build_spec: codebuild.BuildSpec
7229
7488
  # cache: codebuild.Cache
7230
7489
  # file_system_location: codebuild.IFileSystemLocation
7490
+ # fleet: codebuild.Fleet
7231
7491
  # key: kms.Key
7232
7492
  # log_group: logs.LogGroup
7233
7493
  # role: iam.Role
@@ -7261,6 +7521,7 @@ class CommonProjectProps:
7261
7521
  type=codebuild.BuildEnvironmentVariableType.PLAINTEXT
7262
7522
  )
7263
7523
  },
7524
+ fleet=fleet,
7264
7525
  privileged=False
7265
7526
  ),
7266
7527
  environment_variables={
@@ -7654,6 +7915,7 @@ class CommonProjectProps:
7654
7915
  class ComputeType(enum.Enum):
7655
7916
  '''Build machine compute type.
7656
7917
 
7918
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
7657
7919
  :exampleMetadata: infused
7658
7920
 
7659
7921
  Example::
@@ -7874,6 +8136,41 @@ class EfsFileSystemLocationProps:
7874
8136
  )
7875
8137
 
7876
8138
 
8139
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.EnvironmentType")
8140
+ class EnvironmentType(enum.Enum):
8141
+ '''Build environment type.
8142
+
8143
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
8144
+ :exampleMetadata: infused
8145
+
8146
+ Example::
8147
+
8148
+ fleet = codebuild.Fleet(self, "Fleet",
8149
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8150
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8151
+ base_capacity=1
8152
+ )
8153
+
8154
+ codebuild.Project(self, "Project",
8155
+ environment=codebuild.BuildEnvironment(
8156
+ fleet=fleet,
8157
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8158
+ )
8159
+ )
8160
+ '''
8161
+
8162
+ ARM_CONTAINER = "ARM_CONTAINER"
8163
+ '''ARM container.'''
8164
+ LINUX_CONTAINER = "LINUX_CONTAINER"
8165
+ '''Linux container.'''
8166
+ LINUX_GPU_CONTAINER = "LINUX_GPU_CONTAINER"
8167
+ '''Linux GPU container.'''
8168
+ WINDOWS_SERVER_2019_CONTAINER = "WINDOWS_SERVER_2019_CONTAINER"
8169
+ '''Windows Server 2019 container.'''
8170
+ WINDOWS_SERVER_2022_CONTAINER = "WINDOWS_SERVER_2022_CONTAINER"
8171
+ '''Windows Server 2022 container.'''
8172
+
8173
+
7877
8174
  @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.EventAction")
7878
8175
  class EventAction(enum.Enum):
7879
8176
  '''The types of webhook event actions.
@@ -8260,6 +8557,170 @@ class FilterGroup(
8260
8557
  return typing.cast("FilterGroup", jsii.invoke(self, "andTagIsNot", [tag_name]))
8261
8558
 
8262
8559
 
8560
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.FleetComputeType")
8561
+ class FleetComputeType(enum.Enum):
8562
+ '''Fleet build machine compute type. Subset of Fleet compatible {@link ComputeType} values.
8563
+
8564
+ The allocated memory, vCPU count and disk space of the build machine for a
8565
+ given compute type are dependent on the environment type.
8566
+ Some compute types may also not be available for all environment types.
8567
+
8568
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
8569
+ :exampleMetadata: infused
8570
+
8571
+ Example::
8572
+
8573
+ fleet = codebuild.Fleet(self, "Fleet",
8574
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8575
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8576
+ base_capacity=1
8577
+ )
8578
+
8579
+ codebuild.Project(self, "Project",
8580
+ environment=codebuild.BuildEnvironment(
8581
+ fleet=fleet,
8582
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8583
+ )
8584
+ )
8585
+ '''
8586
+
8587
+ SMALL = "SMALL"
8588
+ '''Small compute type.
8589
+
8590
+ May not be available for all environment types, see
8591
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8592
+ for more information.
8593
+ '''
8594
+ MEDIUM = "MEDIUM"
8595
+ '''Medium compute type.
8596
+
8597
+ May not be available for all environment types, see
8598
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8599
+ for more information.
8600
+ '''
8601
+ LARGE = "LARGE"
8602
+ '''Large compute type.'''
8603
+ X_LARGE = "X_LARGE"
8604
+ '''Extra Large compute type.
8605
+
8606
+ May not be available for all environment types, see
8607
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8608
+ for more information.
8609
+ '''
8610
+ X2_LARGE = "X2_LARGE"
8611
+ '''Extra, Extra Large compute type.
8612
+
8613
+ May not be available for all environment types, see
8614
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8615
+ for more information.
8616
+ '''
8617
+
8618
+
8619
+ @jsii.data_type(
8620
+ jsii_type="aws-cdk-lib.aws_codebuild.FleetProps",
8621
+ jsii_struct_bases=[],
8622
+ name_mapping={
8623
+ "base_capacity": "baseCapacity",
8624
+ "compute_type": "computeType",
8625
+ "environment_type": "environmentType",
8626
+ "fleet_name": "fleetName",
8627
+ },
8628
+ )
8629
+ class FleetProps:
8630
+ def __init__(
8631
+ self,
8632
+ *,
8633
+ base_capacity: jsii.Number,
8634
+ compute_type: FleetComputeType,
8635
+ environment_type: EnvironmentType,
8636
+ fleet_name: typing.Optional[builtins.str] = None,
8637
+ ) -> None:
8638
+ '''Construction properties of a CodeBuild {@link Fleet}.
8639
+
8640
+ :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.
8641
+ :param compute_type: The instance type of the compute fleet.
8642
+ :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
8643
+ :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
8644
+
8645
+ :exampleMetadata: infused
8646
+
8647
+ Example::
8648
+
8649
+ fleet = codebuild.Fleet(self, "Fleet",
8650
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8651
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8652
+ base_capacity=1
8653
+ )
8654
+
8655
+ codebuild.Project(self, "Project",
8656
+ environment=codebuild.BuildEnvironment(
8657
+ fleet=fleet,
8658
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8659
+ )
8660
+ )
8661
+ '''
8662
+ if __debug__:
8663
+ type_hints = typing.get_type_hints(_typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d)
8664
+ check_type(argname="argument base_capacity", value=base_capacity, expected_type=type_hints["base_capacity"])
8665
+ check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
8666
+ check_type(argname="argument environment_type", value=environment_type, expected_type=type_hints["environment_type"])
8667
+ check_type(argname="argument fleet_name", value=fleet_name, expected_type=type_hints["fleet_name"])
8668
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8669
+ "base_capacity": base_capacity,
8670
+ "compute_type": compute_type,
8671
+ "environment_type": environment_type,
8672
+ }
8673
+ if fleet_name is not None:
8674
+ self._values["fleet_name"] = fleet_name
8675
+
8676
+ @builtins.property
8677
+ def base_capacity(self) -> jsii.Number:
8678
+ '''The number of machines allocated to the compute fleet. Defines the number of builds that can run in parallel.
8679
+
8680
+ Minimum value of 1.
8681
+ '''
8682
+ result = self._values.get("base_capacity")
8683
+ assert result is not None, "Required property 'base_capacity' is missing"
8684
+ return typing.cast(jsii.Number, result)
8685
+
8686
+ @builtins.property
8687
+ def compute_type(self) -> FleetComputeType:
8688
+ '''The instance type of the compute fleet.
8689
+
8690
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
8691
+ '''
8692
+ result = self._values.get("compute_type")
8693
+ assert result is not None, "Required property 'compute_type' is missing"
8694
+ return typing.cast(FleetComputeType, result)
8695
+
8696
+ @builtins.property
8697
+ def environment_type(self) -> EnvironmentType:
8698
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
8699
+ result = self._values.get("environment_type")
8700
+ assert result is not None, "Required property 'environment_type' is missing"
8701
+ return typing.cast(EnvironmentType, result)
8702
+
8703
+ @builtins.property
8704
+ def fleet_name(self) -> typing.Optional[builtins.str]:
8705
+ '''The name of the Fleet.
8706
+
8707
+ :default: - CloudFormation generated name
8708
+ '''
8709
+ result = self._values.get("fleet_name")
8710
+ return typing.cast(typing.Optional[builtins.str], result)
8711
+
8712
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8713
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8714
+
8715
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8716
+ return not (rhs == self)
8717
+
8718
+ def __repr__(self) -> str:
8719
+ return "FleetProps(%s)" % ", ".join(
8720
+ k + "=" + repr(v) for k, v in self._values.items()
8721
+ )
8722
+
8723
+
8263
8724
  class GitHubEnterpriseSourceCredentials(
8264
8725
  _Resource_45bc6135,
8265
8726
  metaclass=jsii.JSIIMeta,
@@ -8600,6 +9061,7 @@ class IBuildImage(typing_extensions.Protocol):
8600
9061
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
8601
9062
  compute_type: typing.Optional[ComputeType] = None,
8602
9063
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
9064
+ fleet: typing.Optional["IFleet"] = None,
8603
9065
  privileged: typing.Optional[builtins.bool] = None,
8604
9066
  ) -> typing.List[builtins.str]:
8605
9067
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -8608,6 +9070,7 @@ class IBuildImage(typing_extensions.Protocol):
8608
9070
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
8609
9071
  :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``
8610
9072
  :param environment_variables: The environment variables that your builds can use.
9073
+ :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.
8611
9074
  :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
8612
9075
  '''
8613
9076
  ...
@@ -8689,6 +9152,7 @@ class _IBuildImageProxy:
8689
9152
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
8690
9153
  compute_type: typing.Optional[ComputeType] = None,
8691
9154
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
9155
+ fleet: typing.Optional["IFleet"] = None,
8692
9156
  privileged: typing.Optional[builtins.bool] = None,
8693
9157
  ) -> typing.List[builtins.str]:
8694
9158
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -8697,6 +9161,7 @@ class _IBuildImageProxy:
8697
9161
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
8698
9162
  :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``
8699
9163
  :param environment_variables: The environment variables that your builds can use.
9164
+ :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.
8700
9165
  :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
8701
9166
  '''
8702
9167
  build_environment = BuildEnvironment(
@@ -8704,6 +9169,7 @@ class _IBuildImageProxy:
8704
9169
  certificate=certificate,
8705
9170
  compute_type=compute_type,
8706
9171
  environment_variables=environment_variables,
9172
+ fleet=fleet,
8707
9173
  privileged=privileged,
8708
9174
  )
8709
9175
 
@@ -8763,6 +9229,88 @@ class _IFileSystemLocationProxy:
8763
9229
  typing.cast(typing.Any, IFileSystemLocation).__jsii_proxy_class__ = lambda : _IFileSystemLocationProxy
8764
9230
 
8765
9231
 
9232
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IFleet")
9233
+ class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
9234
+ '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
9235
+
9236
+ @builtins.property
9237
+ @jsii.member(jsii_name="computeType")
9238
+ def compute_type(self) -> FleetComputeType:
9239
+ '''The compute type of the fleet.
9240
+
9241
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
9242
+ '''
9243
+ ...
9244
+
9245
+ @builtins.property
9246
+ @jsii.member(jsii_name="environmentType")
9247
+ def environment_type(self) -> EnvironmentType:
9248
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
9249
+ ...
9250
+
9251
+ @builtins.property
9252
+ @jsii.member(jsii_name="fleetArn")
9253
+ def fleet_arn(self) -> builtins.str:
9254
+ '''The ARN of the fleet.
9255
+
9256
+ :attribute: true
9257
+ '''
9258
+ ...
9259
+
9260
+ @builtins.property
9261
+ @jsii.member(jsii_name="fleetName")
9262
+ def fleet_name(self) -> builtins.str:
9263
+ '''The name of the fleet.
9264
+
9265
+ :attribute: true
9266
+ '''
9267
+ ...
9268
+
9269
+
9270
+ class _IFleetProxy(
9271
+ jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
9272
+ ):
9273
+ '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
9274
+
9275
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_codebuild.IFleet"
9276
+
9277
+ @builtins.property
9278
+ @jsii.member(jsii_name="computeType")
9279
+ def compute_type(self) -> FleetComputeType:
9280
+ '''The compute type of the fleet.
9281
+
9282
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
9283
+ '''
9284
+ return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
9285
+
9286
+ @builtins.property
9287
+ @jsii.member(jsii_name="environmentType")
9288
+ def environment_type(self) -> EnvironmentType:
9289
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
9290
+ return typing.cast(EnvironmentType, jsii.get(self, "environmentType"))
9291
+
9292
+ @builtins.property
9293
+ @jsii.member(jsii_name="fleetArn")
9294
+ def fleet_arn(self) -> builtins.str:
9295
+ '''The ARN of the fleet.
9296
+
9297
+ :attribute: true
9298
+ '''
9299
+ return typing.cast(builtins.str, jsii.get(self, "fleetArn"))
9300
+
9301
+ @builtins.property
9302
+ @jsii.member(jsii_name="fleetName")
9303
+ def fleet_name(self) -> builtins.str:
9304
+ '''The name of the fleet.
9305
+
9306
+ :attribute: true
9307
+ '''
9308
+ return typing.cast(builtins.str, jsii.get(self, "fleetName"))
9309
+
9310
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9311
+ typing.cast(typing.Any, IFleet).__jsii_proxy_class__ = lambda : _IFleetProxy
9312
+
9313
+
8766
9314
  @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IProject")
8767
9315
  class IProject(
8768
9316
  _IResource_c80c4260,
@@ -10074,6 +10622,7 @@ class LinuxArmBuildImage(
10074
10622
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10075
10623
  compute_type: typing.Optional[ComputeType] = None,
10076
10624
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10625
+ fleet: typing.Optional[IFleet] = None,
10077
10626
  privileged: typing.Optional[builtins.bool] = None,
10078
10627
  ) -> typing.List[builtins.str]:
10079
10628
  '''Validates by checking the BuildEnvironment computeType as aarch64 images only support ComputeType.SMALL and ComputeType.LARGE.
@@ -10082,6 +10631,7 @@ class LinuxArmBuildImage(
10082
10631
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10083
10632
  :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``
10084
10633
  :param environment_variables: The environment variables that your builds can use.
10634
+ :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.
10085
10635
  :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
10086
10636
  '''
10087
10637
  build_environment = BuildEnvironment(
@@ -10089,6 +10639,7 @@ class LinuxArmBuildImage(
10089
10639
  certificate=certificate,
10090
10640
  compute_type=compute_type,
10091
10641
  environment_variables=environment_variables,
10642
+ fleet=fleet,
10092
10643
  privileged=privileged,
10093
10644
  )
10094
10645
 
@@ -10099,7 +10650,7 @@ class LinuxArmBuildImage(
10099
10650
  def AMAZON_LINUX_2_STANDARD_1_0(cls) -> IBuildImage:
10100
10651
  '''(deprecated) Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0".
10101
10652
 
10102
- :deprecated: Use LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 instead.
10653
+ :deprecated: Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 } instead.
10103
10654
 
10104
10655
  :stability: deprecated
10105
10656
  '''
@@ -10108,13 +10659,13 @@ class LinuxArmBuildImage(
10108
10659
  @jsii.python.classproperty
10109
10660
  @jsii.member(jsii_name="AMAZON_LINUX_2_STANDARD_2_0")
10110
10661
  def AMAZON_LINUX_2_STANDARD_2_0(cls) -> IBuildImage:
10111
- '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".'''
10662
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0" based on Amazon Linux 2.'''
10112
10663
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_STANDARD_2_0"))
10113
10664
 
10114
10665
  @jsii.python.classproperty
10115
10666
  @jsii.member(jsii_name="AMAZON_LINUX_2_STANDARD_3_0")
10116
10667
  def AMAZON_LINUX_2_STANDARD_3_0(cls) -> IBuildImage:
10117
- '''Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0".'''
10668
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0" based on Amazon Linux 2023.'''
10118
10669
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_STANDARD_3_0"))
10119
10670
 
10120
10671
  @builtins.property
@@ -10194,6 +10745,7 @@ class LinuxArmLambdaBuildImage(
10194
10745
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10195
10746
  compute_type: typing.Optional[ComputeType] = None,
10196
10747
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10748
+ fleet: typing.Optional[IFleet] = None,
10197
10749
  privileged: typing.Optional[builtins.bool] = None,
10198
10750
  ) -> typing.List[builtins.str]:
10199
10751
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10202,6 +10754,7 @@ class LinuxArmLambdaBuildImage(
10202
10754
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10203
10755
  :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``
10204
10756
  :param environment_variables: The environment variables that your builds can use.
10757
+ :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.
10205
10758
  :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
10206
10759
  '''
10207
10760
  build_environment = BuildEnvironment(
@@ -10209,6 +10762,7 @@ class LinuxArmLambdaBuildImage(
10209
10762
  certificate=certificate,
10210
10763
  compute_type=compute_type,
10211
10764
  environment_variables=environment_variables,
10765
+ fleet=fleet,
10212
10766
  privileged=privileged,
10213
10767
  )
10214
10768
 
@@ -10505,6 +11059,7 @@ class LinuxBuildImage(
10505
11059
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10506
11060
  compute_type: typing.Optional[ComputeType] = None,
10507
11061
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11062
+ fleet: typing.Optional[IFleet] = None,
10508
11063
  privileged: typing.Optional[builtins.bool] = None,
10509
11064
  ) -> typing.List[builtins.str]:
10510
11065
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10513,6 +11068,7 @@ class LinuxBuildImage(
10513
11068
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10514
11069
  :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``
10515
11070
  :param environment_variables: The environment variables that your builds can use.
11071
+ :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.
10516
11072
  :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
10517
11073
  '''
10518
11074
  env = BuildEnvironment(
@@ -10520,6 +11076,7 @@ class LinuxBuildImage(
10520
11076
  certificate=certificate,
10521
11077
  compute_type=compute_type,
10522
11078
  environment_variables=environment_variables,
11079
+ fleet=fleet,
10523
11080
  privileged=privileged,
10524
11081
  )
10525
11082
 
@@ -10529,7 +11086,7 @@ class LinuxBuildImage(
10529
11086
  @jsii.member(jsii_name="AMAZON_LINUX_2")
10530
11087
  def AMAZON_LINUX_2(cls) -> IBuildImage:
10531
11088
  '''
10532
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11089
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10533
11090
 
10534
11091
  :stability: deprecated
10535
11092
  '''
@@ -10539,7 +11096,7 @@ class LinuxBuildImage(
10539
11096
  @jsii.member(jsii_name="AMAZON_LINUX_2_2")
10540
11097
  def AMAZON_LINUX_2_2(cls) -> IBuildImage:
10541
11098
  '''
10542
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11099
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10543
11100
 
10544
11101
  :stability: deprecated
10545
11102
  '''
@@ -10550,7 +11107,7 @@ class LinuxBuildImage(
10550
11107
  def AMAZON_LINUX_2_3(cls) -> IBuildImage:
10551
11108
  '''(deprecated) The Amazon Linux 2 x86_64 standard image, version ``3.0``.
10552
11109
 
10553
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11110
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10554
11111
 
10555
11112
  :stability: deprecated
10556
11113
  '''
@@ -10565,15 +11122,17 @@ class LinuxBuildImage(
10565
11122
  @jsii.python.classproperty
10566
11123
  @jsii.member(jsii_name="AMAZON_LINUX_2_5")
10567
11124
  def AMAZON_LINUX_2_5(cls) -> IBuildImage:
10568
- '''The Amazon Linux 2 x86_64 standard image, version ``5.0``.'''
11125
+ '''The Amazon Linux 2023 x86_64 standard image, version ``5.0``.'''
10569
11126
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_5"))
10570
11127
 
10571
11128
  @jsii.python.classproperty
10572
11129
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM")
10573
11130
  def AMAZON_LINUX_2_ARM(cls) -> IBuildImage:
10574
- '''
10575
- :deprecated: Use LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 instead.
11131
+ '''(deprecated) Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0".
10576
11132
 
11133
+ :deprecated: Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_ARM_3 } instead.
11134
+
11135
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_1_0}
10577
11136
  :stability: deprecated
10578
11137
  '''
10579
11138
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM"))
@@ -10581,20 +11140,38 @@ class LinuxBuildImage(
10581
11140
  @jsii.python.classproperty
10582
11141
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM_2")
10583
11142
  def AMAZON_LINUX_2_ARM_2(cls) -> IBuildImage:
10584
- '''The ``aws/codebuild/amazonlinux2-aarch64-standard:2.0`` build image.'''
11143
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".
11144
+
11145
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_2_0}
11146
+ '''
10585
11147
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM_2"))
10586
11148
 
10587
11149
  @jsii.python.classproperty
10588
11150
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM_3")
10589
11151
  def AMAZON_LINUX_2_ARM_3(cls) -> IBuildImage:
10590
- '''The ``aws/codebuild/amazonlinux2-aarch64-standard:3.0`` build image.'''
11152
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".
11153
+
11154
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0}
11155
+ '''
10591
11156
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM_3"))
10592
11157
 
11158
+ @jsii.python.classproperty
11159
+ @jsii.member(jsii_name="AMAZON_LINUX_2_CORETTO_11")
11160
+ def AMAZON_LINUX_2_CORETTO_11(cls) -> IBuildImage:
11161
+ '''The Amazon Coretto 11 image x86_64, based on Amazon Linux 2.'''
11162
+ return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_CORETTO_11"))
11163
+
11164
+ @jsii.python.classproperty
11165
+ @jsii.member(jsii_name="AMAZON_LINUX_2_CORETTO_8")
11166
+ def AMAZON_LINUX_2_CORETTO_8(cls) -> IBuildImage:
11167
+ '''The Amazon Coretto 8 image x86_64, based on Amazon Linux 2.'''
11168
+ return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_CORETTO_8"))
11169
+
10593
11170
  @jsii.python.classproperty
10594
11171
  @jsii.member(jsii_name="STANDARD_1_0")
10595
11172
  def STANDARD_1_0(cls) -> IBuildImage:
10596
11173
  '''
10597
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11174
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10598
11175
 
10599
11176
  :stability: deprecated
10600
11177
  '''
@@ -10604,7 +11181,7 @@ class LinuxBuildImage(
10604
11181
  @jsii.member(jsii_name="STANDARD_2_0")
10605
11182
  def STANDARD_2_0(cls) -> IBuildImage:
10606
11183
  '''
10607
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11184
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10608
11185
 
10609
11186
  :stability: deprecated
10610
11187
  '''
@@ -10614,7 +11191,7 @@ class LinuxBuildImage(
10614
11191
  @jsii.member(jsii_name="STANDARD_3_0")
10615
11192
  def STANDARD_3_0(cls) -> IBuildImage:
10616
11193
  '''
10617
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11194
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10618
11195
 
10619
11196
  :stability: deprecated
10620
11197
  '''
@@ -10625,7 +11202,7 @@ class LinuxBuildImage(
10625
11202
  def STANDARD_4_0(cls) -> IBuildImage:
10626
11203
  '''(deprecated) The ``aws/codebuild/standard:4.0`` build image.
10627
11204
 
10628
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11205
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10629
11206
 
10630
11207
  :stability: deprecated
10631
11208
  '''
@@ -10726,6 +11303,7 @@ class LinuxLambdaBuildImage(
10726
11303
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10727
11304
  compute_type: typing.Optional[ComputeType] = None,
10728
11305
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11306
+ fleet: typing.Optional[IFleet] = None,
10729
11307
  privileged: typing.Optional[builtins.bool] = None,
10730
11308
  ) -> typing.List[builtins.str]:
10731
11309
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10734,6 +11312,7 @@ class LinuxLambdaBuildImage(
10734
11312
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10735
11313
  :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``
10736
11314
  :param environment_variables: The environment variables that your builds can use.
11315
+ :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.
10737
11316
  :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
10738
11317
  '''
10739
11318
  build_environment = BuildEnvironment(
@@ -10741,6 +11320,7 @@ class LinuxLambdaBuildImage(
10741
11320
  certificate=certificate,
10742
11321
  compute_type=compute_type,
10743
11322
  environment_variables=environment_variables,
11323
+ fleet=fleet,
10744
11324
  privileged=privileged,
10745
11325
  )
10746
11326
 
@@ -14303,6 +14883,7 @@ class WindowsBuildImage(
14303
14883
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
14304
14884
  compute_type: typing.Optional[ComputeType] = None,
14305
14885
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
14886
+ fleet: typing.Optional[IFleet] = None,
14306
14887
  privileged: typing.Optional[builtins.bool] = None,
14307
14888
  ) -> typing.List[builtins.str]:
14308
14889
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -14311,6 +14892,7 @@ class WindowsBuildImage(
14311
14892
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
14312
14893
  :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``
14313
14894
  :param environment_variables: The environment variables that your builds can use.
14895
+ :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.
14314
14896
  :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
14315
14897
  '''
14316
14898
  build_environment = BuildEnvironment(
@@ -14318,6 +14900,7 @@ class WindowsBuildImage(
14318
14900
  certificate=certificate,
14319
14901
  compute_type=compute_type,
14320
14902
  environment_variables=environment_variables,
14903
+ fleet=fleet,
14321
14904
  privileged=privileged,
14322
14905
  )
14323
14906
 
@@ -14341,12 +14924,23 @@ class WindowsBuildImage(
14341
14924
  '''The standard CodeBuild image ``aws/codebuild/windows-base:2019-3.0``, which is based off Windows Server Core 2019.'''
14342
14925
  return typing.cast(IBuildImage, jsii.sget(cls, "WIN_SERVER_CORE_2019_BASE_3_0"))
14343
14926
 
14927
+ @jsii.python.classproperty
14928
+ @jsii.member(jsii_name="WIN_SERVER_CORE_2022_BASE_3_0")
14929
+ def WIN_SERVER_CORE_2022_BASE_3_0(cls) -> IBuildImage:
14930
+ '''The standard CodeBuild image ``aws/codebuild/windows-base:2022-1.0``, which is based off Windows Server Core 2022.
14931
+
14932
+ Notice: Cannot be used with on-demand compute, only with a {@link BuildEnvironment.fleet}.
14933
+
14934
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
14935
+ '''
14936
+ return typing.cast(IBuildImage, jsii.sget(cls, "WIN_SERVER_CORE_2022_BASE_3_0"))
14937
+
14344
14938
  @jsii.python.classproperty
14345
14939
  @jsii.member(jsii_name="WINDOWS_BASE_2_0")
14346
14940
  def WINDOWS_BASE_2_0(cls) -> IBuildImage:
14347
14941
  '''(deprecated) The standard CodeBuild image ``aws/codebuild/windows-base:2.0``, which is based off Windows Server Core 2016.
14348
14942
 
14349
- :deprecated: ``WindowsBuildImage.WIN_SERVER_CORE_2019_BASE_3_0`` should be used instead.
14943
+ :deprecated: {@link WindowsBuildImage.WIN_SERVER_CORE_2019_BASE_3_0 } should be used instead.
14350
14944
 
14351
14945
  :stability: deprecated
14352
14946
  '''
@@ -14416,6 +15010,13 @@ class WindowsImageType(enum.Enum):
14416
15010
  '''The standard environment type, WINDOWS_CONTAINER.'''
14417
15011
  SERVER_2019 = "SERVER_2019"
14418
15012
  '''The WINDOWS_SERVER_2019_CONTAINER environment type.'''
15013
+ SERVER_2022 = "SERVER_2022"
15014
+ '''The WINDOWS_SERVER_2022_CONTAINER environment type.
15015
+
15016
+ Notice: Cannot be used with on-demand compute, only with a {@link BuildEnvironment.fleet}.
15017
+
15018
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
15019
+ '''
14419
15020
 
14420
15021
 
14421
15022
  @jsii.implements(IArtifacts)
@@ -14918,6 +15519,118 @@ class CodeCommitSourceProps(SourceProps):
14918
15519
  )
14919
15520
 
14920
15521
 
15522
+ @jsii.implements(IFleet)
15523
+ class Fleet(
15524
+ _Resource_45bc6135,
15525
+ metaclass=jsii.JSIIMeta,
15526
+ jsii_type="aws-cdk-lib.aws_codebuild.Fleet",
15527
+ ):
15528
+ '''Fleet for a reserved capacity CodeBuild project.
15529
+
15530
+ Fleets allow for process builds or tests to run immediately and reduces build durations,
15531
+ by reserving compute resources for your projects.
15532
+
15533
+ You will be charged for the resources in the fleet, even if they are idle.
15534
+
15535
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
15536
+ :exampleMetadata: infused
15537
+
15538
+ Example::
15539
+
15540
+ fleet = codebuild.Fleet(self, "Fleet",
15541
+ compute_type=codebuild.FleetComputeType.MEDIUM,
15542
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
15543
+ base_capacity=1
15544
+ )
15545
+
15546
+ codebuild.Project(self, "Project",
15547
+ environment=codebuild.BuildEnvironment(
15548
+ fleet=fleet,
15549
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
15550
+ )
15551
+ )
15552
+ '''
15553
+
15554
+ def __init__(
15555
+ self,
15556
+ scope: _constructs_77d1e7e8.Construct,
15557
+ id: builtins.str,
15558
+ *,
15559
+ base_capacity: jsii.Number,
15560
+ compute_type: FleetComputeType,
15561
+ environment_type: EnvironmentType,
15562
+ fleet_name: typing.Optional[builtins.str] = None,
15563
+ ) -> None:
15564
+ '''
15565
+ :param scope: -
15566
+ :param id: -
15567
+ :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.
15568
+ :param compute_type: The instance type of the compute fleet.
15569
+ :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
15570
+ :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
15571
+ '''
15572
+ if __debug__:
15573
+ type_hints = typing.get_type_hints(_typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957)
15574
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15575
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15576
+ props = FleetProps(
15577
+ base_capacity=base_capacity,
15578
+ compute_type=compute_type,
15579
+ environment_type=environment_type,
15580
+ fleet_name=fleet_name,
15581
+ )
15582
+
15583
+ jsii.create(self.__class__, self, [scope, id, props])
15584
+
15585
+ @jsii.member(jsii_name="fromFleetArn")
15586
+ @builtins.classmethod
15587
+ def from_fleet_arn(
15588
+ cls,
15589
+ scope: _constructs_77d1e7e8.Construct,
15590
+ id: builtins.str,
15591
+ fleet_arn: builtins.str,
15592
+ ) -> IFleet:
15593
+ '''Creates a Fleet construct that represents an external fleet.
15594
+
15595
+ :param scope: The scope creating construct (usually ``this``).
15596
+ :param id: The construct's id.
15597
+ :param fleet_arn: The ARN of the fleet.
15598
+ '''
15599
+ if __debug__:
15600
+ type_hints = typing.get_type_hints(_typecheckingstub__f1c9916e490a14e63381f197c3d3cdcf130f6420c1dc726baacfd458707222e3)
15601
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15602
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15603
+ check_type(argname="argument fleet_arn", value=fleet_arn, expected_type=type_hints["fleet_arn"])
15604
+ return typing.cast(IFleet, jsii.sinvoke(cls, "fromFleetArn", [scope, id, fleet_arn]))
15605
+
15606
+ @builtins.property
15607
+ @jsii.member(jsii_name="computeType")
15608
+ def compute_type(self) -> FleetComputeType:
15609
+ '''The compute type of the fleet.
15610
+
15611
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
15612
+ '''
15613
+ return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
15614
+
15615
+ @builtins.property
15616
+ @jsii.member(jsii_name="environmentType")
15617
+ def environment_type(self) -> EnvironmentType:
15618
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
15619
+ return typing.cast(EnvironmentType, jsii.get(self, "environmentType"))
15620
+
15621
+ @builtins.property
15622
+ @jsii.member(jsii_name="fleetArn")
15623
+ def fleet_arn(self) -> builtins.str:
15624
+ '''The ARN of the fleet.'''
15625
+ return typing.cast(builtins.str, jsii.get(self, "fleetArn"))
15626
+
15627
+ @builtins.property
15628
+ @jsii.member(jsii_name="fleetName")
15629
+ def fleet_name(self) -> builtins.str:
15630
+ '''The name of the fleet.'''
15631
+ return typing.cast(builtins.str, jsii.get(self, "fleetName"))
15632
+
15633
+
14921
15634
  @jsii.data_type(
14922
15635
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubEnterpriseSourceProps",
14923
15636
  jsii_struct_bases=[SourceProps],
@@ -15588,6 +16301,7 @@ class LinuxGpuBuildImage(
15588
16301
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
15589
16302
  compute_type: typing.Optional[ComputeType] = None,
15590
16303
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16304
+ fleet: typing.Optional[IFleet] = None,
15591
16305
  privileged: typing.Optional[builtins.bool] = None,
15592
16306
  ) -> typing.List[builtins.str]:
15593
16307
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -15596,6 +16310,7 @@ class LinuxGpuBuildImage(
15596
16310
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
15597
16311
  :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``
15598
16312
  :param environment_variables: The environment variables that your builds can use.
16313
+ :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.
15599
16314
  :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
15600
16315
  '''
15601
16316
  build_environment = BuildEnvironment(
@@ -15603,6 +16318,7 @@ class LinuxGpuBuildImage(
15603
16318
  certificate=certificate,
15604
16319
  compute_type=compute_type,
15605
16320
  environment_variables=environment_variables,
16321
+ fleet=fleet,
15606
16322
  privileged=privileged,
15607
16323
  )
15608
16324
 
@@ -16011,10 +16727,14 @@ __all__ = [
16011
16727
  "ComputeType",
16012
16728
  "DockerImageOptions",
16013
16729
  "EfsFileSystemLocationProps",
16730
+ "EnvironmentType",
16014
16731
  "EventAction",
16015
16732
  "FileSystemConfig",
16016
16733
  "FileSystemLocation",
16017
16734
  "FilterGroup",
16735
+ "Fleet",
16736
+ "FleetComputeType",
16737
+ "FleetProps",
16018
16738
  "GitHubEnterpriseSourceCredentials",
16019
16739
  "GitHubEnterpriseSourceCredentialsProps",
16020
16740
  "GitHubEnterpriseSourceProps",
@@ -16025,6 +16745,7 @@ __all__ = [
16025
16745
  "IBindableBuildImage",
16026
16746
  "IBuildImage",
16027
16747
  "IFileSystemLocation",
16748
+ "IFleet",
16028
16749
  "IProject",
16029
16750
  "IReportGroup",
16030
16751
  "ISource",
@@ -16120,6 +16841,7 @@ def _typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dce
16120
16841
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
16121
16842
  compute_type: typing.Optional[ComputeType] = None,
16122
16843
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16844
+ fleet: typing.Optional[IFleet] = None,
16123
16845
  privileged: typing.Optional[builtins.bool] = None,
16124
16846
  ) -> None:
16125
16847
  """Type checking stubs"""
@@ -16192,7 +16914,10 @@ def _typecheckingstub__081dd1a893dcfd34d3fe760e75a2377d2c6fbce3f4d815a8e141bcdc0
16192
16914
  base_capacity: typing.Optional[jsii.Number] = None,
16193
16915
  compute_type: typing.Optional[builtins.str] = None,
16194
16916
  environment_type: typing.Optional[builtins.str] = None,
16917
+ fleet_service_role: typing.Optional[builtins.str] = None,
16918
+ fleet_vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
16195
16919
  name: typing.Optional[builtins.str] = None,
16920
+ overflow_behavior: typing.Optional[builtins.str] = None,
16196
16921
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
16197
16922
  ) -> None:
16198
16923
  """Type checking stubs"""
@@ -16228,24 +16953,54 @@ def _typecheckingstub__4d5a42169d2cc02d25a87396b652a3dc9007739395cd74f9639d93a05
16228
16953
  """Type checking stubs"""
16229
16954
  pass
16230
16955
 
16956
+ def _typecheckingstub__0b52d1cb270ba8d5003bf566dbe54e74e91dc4a1bb45f3b32037d9188035304a(
16957
+ value: typing.Optional[builtins.str],
16958
+ ) -> None:
16959
+ """Type checking stubs"""
16960
+ pass
16961
+
16962
+ def _typecheckingstub__c66d1798050c93d95746b1057fb5b75bf773869be3796e773defefc3ad1bb1fc(
16963
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.VpcConfigProperty]],
16964
+ ) -> None:
16965
+ """Type checking stubs"""
16966
+ pass
16967
+
16231
16968
  def _typecheckingstub__81a1c2090a083488d8e471132fa655912efe0a0fbc6ff93d4665fff305cc8b48(
16232
16969
  value: typing.Optional[builtins.str],
16233
16970
  ) -> None:
16234
16971
  """Type checking stubs"""
16235
16972
  pass
16236
16973
 
16974
+ def _typecheckingstub__bf36f41fa1ee306ba1e159a2bd108d828ec990d8ed85038c3b823cc85f71473d(
16975
+ value: typing.Optional[builtins.str],
16976
+ ) -> None:
16977
+ """Type checking stubs"""
16978
+ pass
16979
+
16237
16980
  def _typecheckingstub__dd8d232a7a18b97fcd2d21d60ea770b5fdd85dd8808e961cb9b071d34e6af4ee(
16238
16981
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
16239
16982
  ) -> None:
16240
16983
  """Type checking stubs"""
16241
16984
  pass
16242
16985
 
16986
+ def _typecheckingstub__6ba59299fe003e8819b5e5009d9de74accb150da03c0400a31b1d1f07a39fef1(
16987
+ *,
16988
+ security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
16989
+ subnets: typing.Optional[typing.Sequence[builtins.str]] = None,
16990
+ vpc_id: typing.Optional[builtins.str] = None,
16991
+ ) -> None:
16992
+ """Type checking stubs"""
16993
+ pass
16994
+
16243
16995
  def _typecheckingstub__0f3b2fbc34cebb084c954d70b833a508d545b12a4280ff0f8020065e729f8b06(
16244
16996
  *,
16245
16997
  base_capacity: typing.Optional[jsii.Number] = None,
16246
16998
  compute_type: typing.Optional[builtins.str] = None,
16247
16999
  environment_type: typing.Optional[builtins.str] = None,
17000
+ fleet_service_role: typing.Optional[builtins.str] = None,
17001
+ fleet_vpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.VpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
16248
17002
  name: typing.Optional[builtins.str] = None,
17003
+ overflow_behavior: typing.Optional[builtins.str] = None,
16249
17004
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
16250
17005
  ) -> None:
16251
17006
  """Type checking stubs"""
@@ -16968,6 +17723,16 @@ def _typecheckingstub__676f5124f893dc0b6202f68555327786478ed0b8b34024f112667fcfa
16968
17723
  """Type checking stubs"""
16969
17724
  pass
16970
17725
 
17726
+ def _typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d(
17727
+ *,
17728
+ base_capacity: jsii.Number,
17729
+ compute_type: FleetComputeType,
17730
+ environment_type: EnvironmentType,
17731
+ fleet_name: typing.Optional[builtins.str] = None,
17732
+ ) -> None:
17733
+ """Type checking stubs"""
17734
+ pass
17735
+
16971
17736
  def _typecheckingstub__67a541e6087cc5285b339097a07b42d922ad04b68873f2a057bb61c841581c10(
16972
17737
  scope: _constructs_77d1e7e8.Construct,
16973
17738
  id: builtins.str,
@@ -17715,6 +18480,26 @@ def _typecheckingstub__4ad3a1902275eeef3ca62e2ddb713181b105bf4060f1ccb2e682a41f4
17715
18480
  """Type checking stubs"""
17716
18481
  pass
17717
18482
 
18483
+ def _typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957(
18484
+ scope: _constructs_77d1e7e8.Construct,
18485
+ id: builtins.str,
18486
+ *,
18487
+ base_capacity: jsii.Number,
18488
+ compute_type: FleetComputeType,
18489
+ environment_type: EnvironmentType,
18490
+ fleet_name: typing.Optional[builtins.str] = None,
18491
+ ) -> None:
18492
+ """Type checking stubs"""
18493
+ pass
18494
+
18495
+ def _typecheckingstub__f1c9916e490a14e63381f197c3d3cdcf130f6420c1dc726baacfd458707222e3(
18496
+ scope: _constructs_77d1e7e8.Construct,
18497
+ id: builtins.str,
18498
+ fleet_arn: builtins.str,
18499
+ ) -> None:
18500
+ """Type checking stubs"""
18501
+ pass
18502
+
17718
18503
  def _typecheckingstub__7f39f1e5e14cca44ce85e0f80353a21e81b89f72c74c9109a0c9e0a1553d31b7(
17719
18504
  *,
17720
18505
  identifier: typing.Optional[builtins.str] = None,