aws-cdk-lib 2.144.0__py3-none-any.whl → 2.146.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 (38) hide show
  1. aws_cdk/__init__.py +3 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.144.0.jsii.tgz → aws-cdk-lib@2.146.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +27 -0
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +27 -0
  6. aws_cdk/aws_appsync/__init__.py +62 -0
  7. aws_cdk/aws_autoscaling/__init__.py +416 -60
  8. aws_cdk/aws_chatbot/__init__.py +38 -0
  9. aws_cdk/aws_codebuild/__init__.py +598 -19
  10. aws_cdk/aws_config/__init__.py +1305 -45
  11. aws_cdk/aws_connect/__init__.py +86 -0
  12. aws_cdk/aws_ec2/__init__.py +42 -3
  13. aws_cdk/aws_ecs/__init__.py +110 -1
  14. aws_cdk/aws_eks/__init__.py +1495 -72
  15. aws_cdk/aws_iam/__init__.py +16 -11
  16. aws_cdk/aws_lambda/__init__.py +12 -0
  17. aws_cdk/aws_logs/__init__.py +114 -8
  18. aws_cdk/aws_logs_destinations/__init__.py +11 -9
  19. aws_cdk/aws_mediaconnect/__init__.py +2 -6
  20. aws_cdk/aws_mediapackagev2/__init__.py +476 -0
  21. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  22. aws_cdk/aws_pipes/__init__.py +639 -0
  23. aws_cdk/aws_rds/__init__.py +12 -0
  24. aws_cdk/aws_rolesanywhere/__init__.py +196 -0
  25. aws_cdk/aws_route53/__init__.py +3 -3
  26. aws_cdk/aws_securityhub/__init__.py +2415 -374
  27. aws_cdk/aws_securitylake/__init__.py +179 -314
  28. aws_cdk/aws_sns/__init__.py +61 -9
  29. aws_cdk/aws_sqs/__init__.py +2 -2
  30. aws_cdk/aws_stepfunctions_tasks/__init__.py +3 -3
  31. aws_cdk/pipelines/__init__.py +2 -0
  32. aws_cdk/region_info/__init__.py +6 -0
  33. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/METADATA +2 -2
  34. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/NOTICE +0 -35
  35. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/RECORD +38 -38
  36. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/LICENSE +0 -0
  37. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/WHEEL +0 -0
  38. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/top_level.txt +0 -0
@@ -77,7 +77,8 @@ git_hub_source = codebuild.Source.git_hub(
77
77
  webhook=True, # optional, default: true if `webhookFilters` were provided, false otherwise
78
78
  webhook_triggers_batch_build=True, # optional, default is false
79
79
  webhook_filters=[
80
- codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message")
80
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message"),
81
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.RELEASED).and_branch_is("main")
81
82
  ]
82
83
  )
83
84
  ```
@@ -303,6 +304,9 @@ can use the `environment` property to customize the build environment:
303
304
  * `environmentVariables` can be set at this level (and also at the project
304
305
  level).
305
306
 
307
+ Finally, you can also set the build environment `fleet` property to create
308
+ a reserved capacity project. See [Fleet](#fleet) for more information.
309
+
306
310
  ## Images
307
311
 
308
312
  The CodeBuild library supports both Linux and Windows images via the
@@ -433,6 +437,47 @@ codebuild.Project(self, "Project",
433
437
 
434
438
  > Visit [AWS Lambda compute in AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/lambda.html) for more details.
435
439
 
440
+ ## Fleet
441
+
442
+ By default, a CodeBuild project will request on-demand compute resources
443
+ to process your build requests. While being able to scale and handle high load,
444
+ on-demand resources can also be slow to provision.
445
+
446
+ Reserved capacity fleets are an alternative to on-demand.
447
+ Dedicated instances, maintained by CodeBuild,
448
+ will be ready to fulfill your build requests immediately.
449
+ Skipping the provisioning step in your project will reduce your build time,
450
+ at the cost of paying for these reserved instances, even when idling, until they are released.
451
+
452
+ 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.
453
+
454
+ ```python
455
+ fleet = codebuild.Fleet(self, "Fleet",
456
+ compute_type=codebuild.FleetComputeType.MEDIUM,
457
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
458
+ base_capacity=1
459
+ )
460
+
461
+ codebuild.Project(self, "Project",
462
+ environment=codebuild.BuildEnvironment(
463
+ fleet=fleet,
464
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
465
+ )
466
+ )
467
+ ```
468
+
469
+ You can also import an existing fleet to share its resources
470
+ among several projects across multiple stacks:
471
+
472
+ ```python
473
+ codebuild.Project(self, "Project",
474
+ environment=codebuild.BuildEnvironment(
475
+ fleet=codebuild.Fleet.from_fleet_arn(self, "SharedFleet", "arn:aws:codebuild:us-east-1:123456789012:fleet/MyFleet:ed0d0823-e38a-4c10-90a1-1bf25f50fa76"),
476
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
477
+ )
478
+ )
479
+ ```
480
+
436
481
  ## Logs
437
482
 
438
483
  CodeBuild lets you specify an S3 Bucket, CloudWatch Log Group or both to receive logs from your projects.
@@ -1375,6 +1420,7 @@ class BucketCacheOptions:
1375
1420
  "certificate": "certificate",
1376
1421
  "compute_type": "computeType",
1377
1422
  "environment_variables": "environmentVariables",
1423
+ "fleet": "fleet",
1378
1424
  "privileged": "privileged",
1379
1425
  },
1380
1426
  )
@@ -1386,6 +1432,7 @@ class BuildEnvironment:
1386
1432
  certificate: typing.Optional[typing.Union["BuildEnvironmentCertificate", typing.Dict[builtins.str, typing.Any]]] = None,
1387
1433
  compute_type: typing.Optional["ComputeType"] = None,
1388
1434
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union["BuildEnvironmentVariable", typing.Dict[builtins.str, typing.Any]]]] = None,
1435
+ fleet: typing.Optional["IFleet"] = None,
1389
1436
  privileged: typing.Optional[builtins.bool] = None,
1390
1437
  ) -> None:
1391
1438
  '''
@@ -1393,6 +1440,7 @@ class BuildEnvironment:
1393
1440
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
1394
1441
  :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
1442
  :param environment_variables: The environment variables that your builds can use.
1443
+ :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
1444
  :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
1445
 
1398
1446
  :exampleMetadata: infused
@@ -1434,6 +1482,7 @@ class BuildEnvironment:
1434
1482
  check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
1435
1483
  check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
1436
1484
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
1485
+ check_type(argname="argument fleet", value=fleet, expected_type=type_hints["fleet"])
1437
1486
  check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
1438
1487
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1439
1488
  if build_image is not None:
@@ -1444,6 +1493,8 @@ class BuildEnvironment:
1444
1493
  self._values["compute_type"] = compute_type
1445
1494
  if environment_variables is not None:
1446
1495
  self._values["environment_variables"] = environment_variables
1496
+ if fleet is not None:
1497
+ self._values["fleet"] = fleet
1447
1498
  if privileged is not None:
1448
1499
  self._values["privileged"] = privileged
1449
1500
 
@@ -1484,6 +1535,22 @@ class BuildEnvironment:
1484
1535
  result = self._values.get("environment_variables")
1485
1536
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, "BuildEnvironmentVariable"]], result)
1486
1537
 
1538
+ @builtins.property
1539
+ def fleet(self) -> typing.Optional["IFleet"]:
1540
+ '''Fleet resource for a reserved capacity CodeBuild project.
1541
+
1542
+ Fleets allow for process builds or tests to run immediately and reduces build durations,
1543
+ by reserving compute resources for your projects.
1544
+
1545
+ You will be charged for the resources in the fleet, even if they are idle.
1546
+
1547
+ :default: - No fleet will be attached to the project, which will remain on-demand.
1548
+
1549
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
1550
+ '''
1551
+ result = self._values.get("fleet")
1552
+ return typing.cast(typing.Optional["IFleet"], result)
1553
+
1487
1554
  @builtins.property
1488
1555
  def privileged(self) -> typing.Optional[builtins.bool]:
1489
1556
  '''Indicates how the project builds Docker images.
@@ -7421,6 +7488,7 @@ class CommonProjectProps:
7421
7488
  # build_spec: codebuild.BuildSpec
7422
7489
  # cache: codebuild.Cache
7423
7490
  # file_system_location: codebuild.IFileSystemLocation
7491
+ # fleet: codebuild.Fleet
7424
7492
  # key: kms.Key
7425
7493
  # log_group: logs.LogGroup
7426
7494
  # role: iam.Role
@@ -7454,6 +7522,7 @@ class CommonProjectProps:
7454
7522
  type=codebuild.BuildEnvironmentVariableType.PLAINTEXT
7455
7523
  )
7456
7524
  },
7525
+ fleet=fleet,
7457
7526
  privileged=False
7458
7527
  ),
7459
7528
  environment_variables={
@@ -7847,6 +7916,7 @@ class CommonProjectProps:
7847
7916
  class ComputeType(enum.Enum):
7848
7917
  '''Build machine compute type.
7849
7918
 
7919
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
7850
7920
  :exampleMetadata: infused
7851
7921
 
7852
7922
  Example::
@@ -8067,6 +8137,41 @@ class EfsFileSystemLocationProps:
8067
8137
  )
8068
8138
 
8069
8139
 
8140
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.EnvironmentType")
8141
+ class EnvironmentType(enum.Enum):
8142
+ '''Build environment type.
8143
+
8144
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
8145
+ :exampleMetadata: infused
8146
+
8147
+ Example::
8148
+
8149
+ fleet = codebuild.Fleet(self, "Fleet",
8150
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8151
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8152
+ base_capacity=1
8153
+ )
8154
+
8155
+ codebuild.Project(self, "Project",
8156
+ environment=codebuild.BuildEnvironment(
8157
+ fleet=fleet,
8158
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8159
+ )
8160
+ )
8161
+ '''
8162
+
8163
+ ARM_CONTAINER = "ARM_CONTAINER"
8164
+ '''ARM container.'''
8165
+ LINUX_CONTAINER = "LINUX_CONTAINER"
8166
+ '''Linux container.'''
8167
+ LINUX_GPU_CONTAINER = "LINUX_GPU_CONTAINER"
8168
+ '''Linux GPU container.'''
8169
+ WINDOWS_SERVER_2019_CONTAINER = "WINDOWS_SERVER_2019_CONTAINER"
8170
+ '''Windows Server 2019 container.'''
8171
+ WINDOWS_SERVER_2022_CONTAINER = "WINDOWS_SERVER_2022_CONTAINER"
8172
+ '''Windows Server 2022 container.'''
8173
+
8174
+
8070
8175
  @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.EventAction")
8071
8176
  class EventAction(enum.Enum):
8072
8177
  '''The types of webhook event actions.
@@ -8081,7 +8186,8 @@ class EventAction(enum.Enum):
8081
8186
  webhook=True, # optional, default: true if `webhookFilters` were provided, false otherwise
8082
8187
  webhook_triggers_batch_build=True, # optional, default is false
8083
8188
  webhook_filters=[
8084
- codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message")
8189
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message"),
8190
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.RELEASED).and_branch_is("main")
8085
8191
  ]
8086
8192
  )
8087
8193
  '''
@@ -8092,6 +8198,8 @@ class EventAction(enum.Enum):
8092
8198
  '''Creating a Pull Request.'''
8093
8199
  PULL_REQUEST_UPDATED = "PULL_REQUEST_UPDATED"
8094
8200
  '''Updating a Pull Request.'''
8201
+ PULL_REQUEST_CLOSED = "PULL_REQUEST_CLOSED"
8202
+ '''Closing a Pull Request.'''
8095
8203
  PULL_REQUEST_MERGED = "PULL_REQUEST_MERGED"
8096
8204
  '''Merging a Pull Request.'''
8097
8205
  PULL_REQUEST_REOPENED = "PULL_REQUEST_REOPENED"
@@ -8099,6 +8207,21 @@ class EventAction(enum.Enum):
8099
8207
 
8100
8208
  Note that this event is only supported for GitHub and GitHubEnterprise sources.
8101
8209
  '''
8210
+ RELEASED = "RELEASED"
8211
+ '''A release is created in the repository.
8212
+
8213
+ Works with GitHub only.
8214
+ '''
8215
+ PRERELEASED = "PRERELEASED"
8216
+ '''A prerelease is created in the repository.
8217
+
8218
+ Works with GitHub only.
8219
+ '''
8220
+ WORKFLOW_JOB_QUEUED = "WORKFLOW_JOB_QUEUED"
8221
+ '''A workflow job is queued in the repository.
8222
+
8223
+ Works with GitHub only.
8224
+ '''
8102
8225
 
8103
8226
 
8104
8227
  @jsii.data_type(
@@ -8245,7 +8368,8 @@ class FilterGroup(
8245
8368
  webhook=True, # optional, default: true if `webhookFilters` were provided, false otherwise
8246
8369
  webhook_triggers_batch_build=True, # optional, default is false
8247
8370
  webhook_filters=[
8248
- codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message")
8371
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("main").and_commit_message_is("the commit message"),
8372
+ codebuild.FilterGroup.in_event_of(codebuild.EventAction.RELEASED).and_branch_is("main")
8249
8373
  ]
8250
8374
  )
8251
8375
  '''
@@ -8453,6 +8577,170 @@ class FilterGroup(
8453
8577
  return typing.cast("FilterGroup", jsii.invoke(self, "andTagIsNot", [tag_name]))
8454
8578
 
8455
8579
 
8580
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.FleetComputeType")
8581
+ class FleetComputeType(enum.Enum):
8582
+ '''Fleet build machine compute type. Subset of Fleet compatible {@link ComputeType} values.
8583
+
8584
+ The allocated memory, vCPU count and disk space of the build machine for a
8585
+ given compute type are dependent on the environment type.
8586
+ Some compute types may also not be available for all environment types.
8587
+
8588
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
8589
+ :exampleMetadata: infused
8590
+
8591
+ Example::
8592
+
8593
+ fleet = codebuild.Fleet(self, "Fleet",
8594
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8595
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8596
+ base_capacity=1
8597
+ )
8598
+
8599
+ codebuild.Project(self, "Project",
8600
+ environment=codebuild.BuildEnvironment(
8601
+ fleet=fleet,
8602
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8603
+ )
8604
+ )
8605
+ '''
8606
+
8607
+ SMALL = "SMALL"
8608
+ '''Small compute type.
8609
+
8610
+ May not be available for all environment types, see
8611
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8612
+ for more information.
8613
+ '''
8614
+ MEDIUM = "MEDIUM"
8615
+ '''Medium compute type.
8616
+
8617
+ May not be available for all environment types, see
8618
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8619
+ for more information.
8620
+ '''
8621
+ LARGE = "LARGE"
8622
+ '''Large compute type.'''
8623
+ X_LARGE = "X_LARGE"
8624
+ '''Extra Large compute type.
8625
+
8626
+ May not be available for all environment types, see
8627
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8628
+ for more information.
8629
+ '''
8630
+ X2_LARGE = "X2_LARGE"
8631
+ '''Extra, Extra Large compute type.
8632
+
8633
+ May not be available for all environment types, see
8634
+ {@link https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types docs}
8635
+ for more information.
8636
+ '''
8637
+
8638
+
8639
+ @jsii.data_type(
8640
+ jsii_type="aws-cdk-lib.aws_codebuild.FleetProps",
8641
+ jsii_struct_bases=[],
8642
+ name_mapping={
8643
+ "base_capacity": "baseCapacity",
8644
+ "compute_type": "computeType",
8645
+ "environment_type": "environmentType",
8646
+ "fleet_name": "fleetName",
8647
+ },
8648
+ )
8649
+ class FleetProps:
8650
+ def __init__(
8651
+ self,
8652
+ *,
8653
+ base_capacity: jsii.Number,
8654
+ compute_type: FleetComputeType,
8655
+ environment_type: EnvironmentType,
8656
+ fleet_name: typing.Optional[builtins.str] = None,
8657
+ ) -> None:
8658
+ '''Construction properties of a CodeBuild {@link Fleet}.
8659
+
8660
+ :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.
8661
+ :param compute_type: The instance type of the compute fleet.
8662
+ :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
8663
+ :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
8664
+
8665
+ :exampleMetadata: infused
8666
+
8667
+ Example::
8668
+
8669
+ fleet = codebuild.Fleet(self, "Fleet",
8670
+ compute_type=codebuild.FleetComputeType.MEDIUM,
8671
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
8672
+ base_capacity=1
8673
+ )
8674
+
8675
+ codebuild.Project(self, "Project",
8676
+ environment=codebuild.BuildEnvironment(
8677
+ fleet=fleet,
8678
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
8679
+ )
8680
+ )
8681
+ '''
8682
+ if __debug__:
8683
+ type_hints = typing.get_type_hints(_typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d)
8684
+ check_type(argname="argument base_capacity", value=base_capacity, expected_type=type_hints["base_capacity"])
8685
+ check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
8686
+ check_type(argname="argument environment_type", value=environment_type, expected_type=type_hints["environment_type"])
8687
+ check_type(argname="argument fleet_name", value=fleet_name, expected_type=type_hints["fleet_name"])
8688
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8689
+ "base_capacity": base_capacity,
8690
+ "compute_type": compute_type,
8691
+ "environment_type": environment_type,
8692
+ }
8693
+ if fleet_name is not None:
8694
+ self._values["fleet_name"] = fleet_name
8695
+
8696
+ @builtins.property
8697
+ def base_capacity(self) -> jsii.Number:
8698
+ '''The number of machines allocated to the compute fleet. Defines the number of builds that can run in parallel.
8699
+
8700
+ Minimum value of 1.
8701
+ '''
8702
+ result = self._values.get("base_capacity")
8703
+ assert result is not None, "Required property 'base_capacity' is missing"
8704
+ return typing.cast(jsii.Number, result)
8705
+
8706
+ @builtins.property
8707
+ def compute_type(self) -> FleetComputeType:
8708
+ '''The instance type of the compute fleet.
8709
+
8710
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
8711
+ '''
8712
+ result = self._values.get("compute_type")
8713
+ assert result is not None, "Required property 'compute_type' is missing"
8714
+ return typing.cast(FleetComputeType, result)
8715
+
8716
+ @builtins.property
8717
+ def environment_type(self) -> EnvironmentType:
8718
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
8719
+ result = self._values.get("environment_type")
8720
+ assert result is not None, "Required property 'environment_type' is missing"
8721
+ return typing.cast(EnvironmentType, result)
8722
+
8723
+ @builtins.property
8724
+ def fleet_name(self) -> typing.Optional[builtins.str]:
8725
+ '''The name of the Fleet.
8726
+
8727
+ :default: - CloudFormation generated name
8728
+ '''
8729
+ result = self._values.get("fleet_name")
8730
+ return typing.cast(typing.Optional[builtins.str], result)
8731
+
8732
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8733
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8734
+
8735
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8736
+ return not (rhs == self)
8737
+
8738
+ def __repr__(self) -> str:
8739
+ return "FleetProps(%s)" % ", ".join(
8740
+ k + "=" + repr(v) for k, v in self._values.items()
8741
+ )
8742
+
8743
+
8456
8744
  class GitHubEnterpriseSourceCredentials(
8457
8745
  _Resource_45bc6135,
8458
8746
  metaclass=jsii.JSIIMeta,
@@ -8793,6 +9081,7 @@ class IBuildImage(typing_extensions.Protocol):
8793
9081
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
8794
9082
  compute_type: typing.Optional[ComputeType] = None,
8795
9083
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
9084
+ fleet: typing.Optional["IFleet"] = None,
8796
9085
  privileged: typing.Optional[builtins.bool] = None,
8797
9086
  ) -> typing.List[builtins.str]:
8798
9087
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -8801,6 +9090,7 @@ class IBuildImage(typing_extensions.Protocol):
8801
9090
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
8802
9091
  :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``
8803
9092
  :param environment_variables: The environment variables that your builds can use.
9093
+ :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.
8804
9094
  :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
8805
9095
  '''
8806
9096
  ...
@@ -8882,6 +9172,7 @@ class _IBuildImageProxy:
8882
9172
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
8883
9173
  compute_type: typing.Optional[ComputeType] = None,
8884
9174
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
9175
+ fleet: typing.Optional["IFleet"] = None,
8885
9176
  privileged: typing.Optional[builtins.bool] = None,
8886
9177
  ) -> typing.List[builtins.str]:
8887
9178
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -8890,6 +9181,7 @@ class _IBuildImageProxy:
8890
9181
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
8891
9182
  :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``
8892
9183
  :param environment_variables: The environment variables that your builds can use.
9184
+ :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.
8893
9185
  :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
8894
9186
  '''
8895
9187
  build_environment = BuildEnvironment(
@@ -8897,6 +9189,7 @@ class _IBuildImageProxy:
8897
9189
  certificate=certificate,
8898
9190
  compute_type=compute_type,
8899
9191
  environment_variables=environment_variables,
9192
+ fleet=fleet,
8900
9193
  privileged=privileged,
8901
9194
  )
8902
9195
 
@@ -8956,6 +9249,88 @@ class _IFileSystemLocationProxy:
8956
9249
  typing.cast(typing.Any, IFileSystemLocation).__jsii_proxy_class__ = lambda : _IFileSystemLocationProxy
8957
9250
 
8958
9251
 
9252
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IFleet")
9253
+ class IFleet(_IResource_c80c4260, typing_extensions.Protocol):
9254
+ '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
9255
+
9256
+ @builtins.property
9257
+ @jsii.member(jsii_name="computeType")
9258
+ def compute_type(self) -> FleetComputeType:
9259
+ '''The compute type of the fleet.
9260
+
9261
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
9262
+ '''
9263
+ ...
9264
+
9265
+ @builtins.property
9266
+ @jsii.member(jsii_name="environmentType")
9267
+ def environment_type(self) -> EnvironmentType:
9268
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
9269
+ ...
9270
+
9271
+ @builtins.property
9272
+ @jsii.member(jsii_name="fleetArn")
9273
+ def fleet_arn(self) -> builtins.str:
9274
+ '''The ARN of the fleet.
9275
+
9276
+ :attribute: true
9277
+ '''
9278
+ ...
9279
+
9280
+ @builtins.property
9281
+ @jsii.member(jsii_name="fleetName")
9282
+ def fleet_name(self) -> builtins.str:
9283
+ '''The name of the fleet.
9284
+
9285
+ :attribute: true
9286
+ '''
9287
+ ...
9288
+
9289
+
9290
+ class _IFleetProxy(
9291
+ jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
9292
+ ):
9293
+ '''Represents a {@link Fleet} for a reserved capacity CodeBuild project.'''
9294
+
9295
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_codebuild.IFleet"
9296
+
9297
+ @builtins.property
9298
+ @jsii.member(jsii_name="computeType")
9299
+ def compute_type(self) -> FleetComputeType:
9300
+ '''The compute type of the fleet.
9301
+
9302
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
9303
+ '''
9304
+ return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
9305
+
9306
+ @builtins.property
9307
+ @jsii.member(jsii_name="environmentType")
9308
+ def environment_type(self) -> EnvironmentType:
9309
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
9310
+ return typing.cast(EnvironmentType, jsii.get(self, "environmentType"))
9311
+
9312
+ @builtins.property
9313
+ @jsii.member(jsii_name="fleetArn")
9314
+ def fleet_arn(self) -> builtins.str:
9315
+ '''The ARN of the fleet.
9316
+
9317
+ :attribute: true
9318
+ '''
9319
+ return typing.cast(builtins.str, jsii.get(self, "fleetArn"))
9320
+
9321
+ @builtins.property
9322
+ @jsii.member(jsii_name="fleetName")
9323
+ def fleet_name(self) -> builtins.str:
9324
+ '''The name of the fleet.
9325
+
9326
+ :attribute: true
9327
+ '''
9328
+ return typing.cast(builtins.str, jsii.get(self, "fleetName"))
9329
+
9330
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9331
+ typing.cast(typing.Any, IFleet).__jsii_proxy_class__ = lambda : _IFleetProxy
9332
+
9333
+
8959
9334
  @jsii.interface(jsii_type="aws-cdk-lib.aws_codebuild.IProject")
8960
9335
  class IProject(
8961
9336
  _IResource_c80c4260,
@@ -10267,6 +10642,7 @@ class LinuxArmBuildImage(
10267
10642
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10268
10643
  compute_type: typing.Optional[ComputeType] = None,
10269
10644
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10645
+ fleet: typing.Optional[IFleet] = None,
10270
10646
  privileged: typing.Optional[builtins.bool] = None,
10271
10647
  ) -> typing.List[builtins.str]:
10272
10648
  '''Validates by checking the BuildEnvironment computeType as aarch64 images only support ComputeType.SMALL and ComputeType.LARGE.
@@ -10275,6 +10651,7 @@ class LinuxArmBuildImage(
10275
10651
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10276
10652
  :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``
10277
10653
  :param environment_variables: The environment variables that your builds can use.
10654
+ :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.
10278
10655
  :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
10279
10656
  '''
10280
10657
  build_environment = BuildEnvironment(
@@ -10282,6 +10659,7 @@ class LinuxArmBuildImage(
10282
10659
  certificate=certificate,
10283
10660
  compute_type=compute_type,
10284
10661
  environment_variables=environment_variables,
10662
+ fleet=fleet,
10285
10663
  privileged=privileged,
10286
10664
  )
10287
10665
 
@@ -10292,7 +10670,7 @@ class LinuxArmBuildImage(
10292
10670
  def AMAZON_LINUX_2_STANDARD_1_0(cls) -> IBuildImage:
10293
10671
  '''(deprecated) Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0".
10294
10672
 
10295
- :deprecated: Use LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 instead.
10673
+ :deprecated: Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 } instead.
10296
10674
 
10297
10675
  :stability: deprecated
10298
10676
  '''
@@ -10301,13 +10679,13 @@ class LinuxArmBuildImage(
10301
10679
  @jsii.python.classproperty
10302
10680
  @jsii.member(jsii_name="AMAZON_LINUX_2_STANDARD_2_0")
10303
10681
  def AMAZON_LINUX_2_STANDARD_2_0(cls) -> IBuildImage:
10304
- '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".'''
10682
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0" based on Amazon Linux 2.'''
10305
10683
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_STANDARD_2_0"))
10306
10684
 
10307
10685
  @jsii.python.classproperty
10308
10686
  @jsii.member(jsii_name="AMAZON_LINUX_2_STANDARD_3_0")
10309
10687
  def AMAZON_LINUX_2_STANDARD_3_0(cls) -> IBuildImage:
10310
- '''Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0".'''
10688
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0" based on Amazon Linux 2023.'''
10311
10689
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_STANDARD_3_0"))
10312
10690
 
10313
10691
  @builtins.property
@@ -10387,6 +10765,7 @@ class LinuxArmLambdaBuildImage(
10387
10765
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10388
10766
  compute_type: typing.Optional[ComputeType] = None,
10389
10767
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
10768
+ fleet: typing.Optional[IFleet] = None,
10390
10769
  privileged: typing.Optional[builtins.bool] = None,
10391
10770
  ) -> typing.List[builtins.str]:
10392
10771
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10395,6 +10774,7 @@ class LinuxArmLambdaBuildImage(
10395
10774
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10396
10775
  :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``
10397
10776
  :param environment_variables: The environment variables that your builds can use.
10777
+ :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.
10398
10778
  :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
10399
10779
  '''
10400
10780
  build_environment = BuildEnvironment(
@@ -10402,6 +10782,7 @@ class LinuxArmLambdaBuildImage(
10402
10782
  certificate=certificate,
10403
10783
  compute_type=compute_type,
10404
10784
  environment_variables=environment_variables,
10785
+ fleet=fleet,
10405
10786
  privileged=privileged,
10406
10787
  )
10407
10788
 
@@ -10698,6 +11079,7 @@ class LinuxBuildImage(
10698
11079
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10699
11080
  compute_type: typing.Optional[ComputeType] = None,
10700
11081
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11082
+ fleet: typing.Optional[IFleet] = None,
10701
11083
  privileged: typing.Optional[builtins.bool] = None,
10702
11084
  ) -> typing.List[builtins.str]:
10703
11085
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10706,6 +11088,7 @@ class LinuxBuildImage(
10706
11088
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10707
11089
  :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``
10708
11090
  :param environment_variables: The environment variables that your builds can use.
11091
+ :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.
10709
11092
  :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
10710
11093
  '''
10711
11094
  env = BuildEnvironment(
@@ -10713,6 +11096,7 @@ class LinuxBuildImage(
10713
11096
  certificate=certificate,
10714
11097
  compute_type=compute_type,
10715
11098
  environment_variables=environment_variables,
11099
+ fleet=fleet,
10716
11100
  privileged=privileged,
10717
11101
  )
10718
11102
 
@@ -10722,7 +11106,7 @@ class LinuxBuildImage(
10722
11106
  @jsii.member(jsii_name="AMAZON_LINUX_2")
10723
11107
  def AMAZON_LINUX_2(cls) -> IBuildImage:
10724
11108
  '''
10725
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11109
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10726
11110
 
10727
11111
  :stability: deprecated
10728
11112
  '''
@@ -10732,7 +11116,7 @@ class LinuxBuildImage(
10732
11116
  @jsii.member(jsii_name="AMAZON_LINUX_2_2")
10733
11117
  def AMAZON_LINUX_2_2(cls) -> IBuildImage:
10734
11118
  '''
10735
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11119
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10736
11120
 
10737
11121
  :stability: deprecated
10738
11122
  '''
@@ -10743,7 +11127,7 @@ class LinuxBuildImage(
10743
11127
  def AMAZON_LINUX_2_3(cls) -> IBuildImage:
10744
11128
  '''(deprecated) The Amazon Linux 2 x86_64 standard image, version ``3.0``.
10745
11129
 
10746
- :deprecated: Use LinuxBuildImage.AMAZON_LINUX_2_5 instead.
11130
+ :deprecated: Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
10747
11131
 
10748
11132
  :stability: deprecated
10749
11133
  '''
@@ -10758,15 +11142,17 @@ class LinuxBuildImage(
10758
11142
  @jsii.python.classproperty
10759
11143
  @jsii.member(jsii_name="AMAZON_LINUX_2_5")
10760
11144
  def AMAZON_LINUX_2_5(cls) -> IBuildImage:
10761
- '''The Amazon Linux 2 x86_64 standard image, version ``5.0``.'''
11145
+ '''The Amazon Linux 2023 x86_64 standard image, version ``5.0``.'''
10762
11146
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_5"))
10763
11147
 
10764
11148
  @jsii.python.classproperty
10765
11149
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM")
10766
11150
  def AMAZON_LINUX_2_ARM(cls) -> IBuildImage:
10767
- '''
10768
- :deprecated: Use LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 instead.
11151
+ '''(deprecated) Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0".
10769
11152
 
11153
+ :deprecated: Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_ARM_3 } instead.
11154
+
11155
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_1_0}
10770
11156
  :stability: deprecated
10771
11157
  '''
10772
11158
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM"))
@@ -10774,20 +11160,38 @@ class LinuxBuildImage(
10774
11160
  @jsii.python.classproperty
10775
11161
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM_2")
10776
11162
  def AMAZON_LINUX_2_ARM_2(cls) -> IBuildImage:
10777
- '''The ``aws/codebuild/amazonlinux2-aarch64-standard:2.0`` build image.'''
11163
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".
11164
+
11165
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_2_0}
11166
+ '''
10778
11167
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM_2"))
10779
11168
 
10780
11169
  @jsii.python.classproperty
10781
11170
  @jsii.member(jsii_name="AMAZON_LINUX_2_ARM_3")
10782
11171
  def AMAZON_LINUX_2_ARM_3(cls) -> IBuildImage:
10783
- '''The ``aws/codebuild/amazonlinux2-aarch64-standard:3.0`` build image.'''
11172
+ '''Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".
11173
+
11174
+ :see: {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0}
11175
+ '''
10784
11176
  return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_ARM_3"))
10785
11177
 
11178
+ @jsii.python.classproperty
11179
+ @jsii.member(jsii_name="AMAZON_LINUX_2_CORETTO_11")
11180
+ def AMAZON_LINUX_2_CORETTO_11(cls) -> IBuildImage:
11181
+ '''The Amazon Coretto 11 image x86_64, based on Amazon Linux 2.'''
11182
+ return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_CORETTO_11"))
11183
+
11184
+ @jsii.python.classproperty
11185
+ @jsii.member(jsii_name="AMAZON_LINUX_2_CORETTO_8")
11186
+ def AMAZON_LINUX_2_CORETTO_8(cls) -> IBuildImage:
11187
+ '''The Amazon Coretto 8 image x86_64, based on Amazon Linux 2.'''
11188
+ return typing.cast(IBuildImage, jsii.sget(cls, "AMAZON_LINUX_2_CORETTO_8"))
11189
+
10786
11190
  @jsii.python.classproperty
10787
11191
  @jsii.member(jsii_name="STANDARD_1_0")
10788
11192
  def STANDARD_1_0(cls) -> IBuildImage:
10789
11193
  '''
10790
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11194
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10791
11195
 
10792
11196
  :stability: deprecated
10793
11197
  '''
@@ -10797,7 +11201,7 @@ class LinuxBuildImage(
10797
11201
  @jsii.member(jsii_name="STANDARD_2_0")
10798
11202
  def STANDARD_2_0(cls) -> IBuildImage:
10799
11203
  '''
10800
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11204
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10801
11205
 
10802
11206
  :stability: deprecated
10803
11207
  '''
@@ -10807,7 +11211,7 @@ class LinuxBuildImage(
10807
11211
  @jsii.member(jsii_name="STANDARD_3_0")
10808
11212
  def STANDARD_3_0(cls) -> IBuildImage:
10809
11213
  '''
10810
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11214
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10811
11215
 
10812
11216
  :stability: deprecated
10813
11217
  '''
@@ -10818,7 +11222,7 @@ class LinuxBuildImage(
10818
11222
  def STANDARD_4_0(cls) -> IBuildImage:
10819
11223
  '''(deprecated) The ``aws/codebuild/standard:4.0`` build image.
10820
11224
 
10821
- :deprecated: Use LinuxBuildImage.STANDARD_7_0 instead.
11225
+ :deprecated: Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
10822
11226
 
10823
11227
  :stability: deprecated
10824
11228
  '''
@@ -10919,6 +11323,7 @@ class LinuxLambdaBuildImage(
10919
11323
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
10920
11324
  compute_type: typing.Optional[ComputeType] = None,
10921
11325
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11326
+ fleet: typing.Optional[IFleet] = None,
10922
11327
  privileged: typing.Optional[builtins.bool] = None,
10923
11328
  ) -> typing.List[builtins.str]:
10924
11329
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -10927,6 +11332,7 @@ class LinuxLambdaBuildImage(
10927
11332
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
10928
11333
  :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``
10929
11334
  :param environment_variables: The environment variables that your builds can use.
11335
+ :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.
10930
11336
  :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
10931
11337
  '''
10932
11338
  build_environment = BuildEnvironment(
@@ -10934,6 +11340,7 @@ class LinuxLambdaBuildImage(
10934
11340
  certificate=certificate,
10935
11341
  compute_type=compute_type,
10936
11342
  environment_variables=environment_variables,
11343
+ fleet=fleet,
10937
11344
  privileged=privileged,
10938
11345
  )
10939
11346
 
@@ -14496,6 +14903,7 @@ class WindowsBuildImage(
14496
14903
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
14497
14904
  compute_type: typing.Optional[ComputeType] = None,
14498
14905
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
14906
+ fleet: typing.Optional[IFleet] = None,
14499
14907
  privileged: typing.Optional[builtins.bool] = None,
14500
14908
  ) -> typing.List[builtins.str]:
14501
14909
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -14504,6 +14912,7 @@ class WindowsBuildImage(
14504
14912
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
14505
14913
  :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``
14506
14914
  :param environment_variables: The environment variables that your builds can use.
14915
+ :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.
14507
14916
  :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
14508
14917
  '''
14509
14918
  build_environment = BuildEnvironment(
@@ -14511,6 +14920,7 @@ class WindowsBuildImage(
14511
14920
  certificate=certificate,
14512
14921
  compute_type=compute_type,
14513
14922
  environment_variables=environment_variables,
14923
+ fleet=fleet,
14514
14924
  privileged=privileged,
14515
14925
  )
14516
14926
 
@@ -14534,12 +14944,23 @@ class WindowsBuildImage(
14534
14944
  '''The standard CodeBuild image ``aws/codebuild/windows-base:2019-3.0``, which is based off Windows Server Core 2019.'''
14535
14945
  return typing.cast(IBuildImage, jsii.sget(cls, "WIN_SERVER_CORE_2019_BASE_3_0"))
14536
14946
 
14947
+ @jsii.python.classproperty
14948
+ @jsii.member(jsii_name="WIN_SERVER_CORE_2022_BASE_3_0")
14949
+ def WIN_SERVER_CORE_2022_BASE_3_0(cls) -> IBuildImage:
14950
+ '''The standard CodeBuild image ``aws/codebuild/windows-base:2022-1.0``, which is based off Windows Server Core 2022.
14951
+
14952
+ Notice: Cannot be used with on-demand compute, only with a {@link BuildEnvironment.fleet}.
14953
+
14954
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
14955
+ '''
14956
+ return typing.cast(IBuildImage, jsii.sget(cls, "WIN_SERVER_CORE_2022_BASE_3_0"))
14957
+
14537
14958
  @jsii.python.classproperty
14538
14959
  @jsii.member(jsii_name="WINDOWS_BASE_2_0")
14539
14960
  def WINDOWS_BASE_2_0(cls) -> IBuildImage:
14540
14961
  '''(deprecated) The standard CodeBuild image ``aws/codebuild/windows-base:2.0``, which is based off Windows Server Core 2016.
14541
14962
 
14542
- :deprecated: ``WindowsBuildImage.WIN_SERVER_CORE_2019_BASE_3_0`` should be used instead.
14963
+ :deprecated: {@link WindowsBuildImage.WIN_SERVER_CORE_2019_BASE_3_0 } should be used instead.
14543
14964
 
14544
14965
  :stability: deprecated
14545
14966
  '''
@@ -14609,6 +15030,13 @@ class WindowsImageType(enum.Enum):
14609
15030
  '''The standard environment type, WINDOWS_CONTAINER.'''
14610
15031
  SERVER_2019 = "SERVER_2019"
14611
15032
  '''The WINDOWS_SERVER_2019_CONTAINER environment type.'''
15033
+ SERVER_2022 = "SERVER_2022"
15034
+ '''The WINDOWS_SERVER_2022_CONTAINER environment type.
15035
+
15036
+ Notice: Cannot be used with on-demand compute, only with a {@link BuildEnvironment.fleet}.
15037
+
15038
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
15039
+ '''
14612
15040
 
14613
15041
 
14614
15042
  @jsii.implements(IArtifacts)
@@ -15111,6 +15539,118 @@ class CodeCommitSourceProps(SourceProps):
15111
15539
  )
15112
15540
 
15113
15541
 
15542
+ @jsii.implements(IFleet)
15543
+ class Fleet(
15544
+ _Resource_45bc6135,
15545
+ metaclass=jsii.JSIIMeta,
15546
+ jsii_type="aws-cdk-lib.aws_codebuild.Fleet",
15547
+ ):
15548
+ '''Fleet for a reserved capacity CodeBuild project.
15549
+
15550
+ Fleets allow for process builds or tests to run immediately and reduces build durations,
15551
+ by reserving compute resources for your projects.
15552
+
15553
+ You will be charged for the resources in the fleet, even if they are idle.
15554
+
15555
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html
15556
+ :exampleMetadata: infused
15557
+
15558
+ Example::
15559
+
15560
+ fleet = codebuild.Fleet(self, "Fleet",
15561
+ compute_type=codebuild.FleetComputeType.MEDIUM,
15562
+ environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
15563
+ base_capacity=1
15564
+ )
15565
+
15566
+ codebuild.Project(self, "Project",
15567
+ environment=codebuild.BuildEnvironment(
15568
+ fleet=fleet,
15569
+ build_image=codebuild.LinuxBuildImage.STANDARD_7_0
15570
+ )
15571
+ )
15572
+ '''
15573
+
15574
+ def __init__(
15575
+ self,
15576
+ scope: _constructs_77d1e7e8.Construct,
15577
+ id: builtins.str,
15578
+ *,
15579
+ base_capacity: jsii.Number,
15580
+ compute_type: FleetComputeType,
15581
+ environment_type: EnvironmentType,
15582
+ fleet_name: typing.Optional[builtins.str] = None,
15583
+ ) -> None:
15584
+ '''
15585
+ :param scope: -
15586
+ :param id: -
15587
+ :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.
15588
+ :param compute_type: The instance type of the compute fleet.
15589
+ :param environment_type: The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.
15590
+ :param fleet_name: The name of the Fleet. Default: - CloudFormation generated name
15591
+ '''
15592
+ if __debug__:
15593
+ type_hints = typing.get_type_hints(_typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957)
15594
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15595
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15596
+ props = FleetProps(
15597
+ base_capacity=base_capacity,
15598
+ compute_type=compute_type,
15599
+ environment_type=environment_type,
15600
+ fleet_name=fleet_name,
15601
+ )
15602
+
15603
+ jsii.create(self.__class__, self, [scope, id, props])
15604
+
15605
+ @jsii.member(jsii_name="fromFleetArn")
15606
+ @builtins.classmethod
15607
+ def from_fleet_arn(
15608
+ cls,
15609
+ scope: _constructs_77d1e7e8.Construct,
15610
+ id: builtins.str,
15611
+ fleet_arn: builtins.str,
15612
+ ) -> IFleet:
15613
+ '''Creates a Fleet construct that represents an external fleet.
15614
+
15615
+ :param scope: The scope creating construct (usually ``this``).
15616
+ :param id: The construct's id.
15617
+ :param fleet_arn: The ARN of the fleet.
15618
+ '''
15619
+ if __debug__:
15620
+ type_hints = typing.get_type_hints(_typecheckingstub__f1c9916e490a14e63381f197c3d3cdcf130f6420c1dc726baacfd458707222e3)
15621
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15622
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15623
+ check_type(argname="argument fleet_arn", value=fleet_arn, expected_type=type_hints["fleet_arn"])
15624
+ return typing.cast(IFleet, jsii.sinvoke(cls, "fromFleetArn", [scope, id, fleet_arn]))
15625
+
15626
+ @builtins.property
15627
+ @jsii.member(jsii_name="computeType")
15628
+ def compute_type(self) -> FleetComputeType:
15629
+ '''The compute type of the fleet.
15630
+
15631
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html
15632
+ '''
15633
+ return typing.cast(FleetComputeType, jsii.get(self, "computeType"))
15634
+
15635
+ @builtins.property
15636
+ @jsii.member(jsii_name="environmentType")
15637
+ def environment_type(self) -> EnvironmentType:
15638
+ '''The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.'''
15639
+ return typing.cast(EnvironmentType, jsii.get(self, "environmentType"))
15640
+
15641
+ @builtins.property
15642
+ @jsii.member(jsii_name="fleetArn")
15643
+ def fleet_arn(self) -> builtins.str:
15644
+ '''The ARN of the fleet.'''
15645
+ return typing.cast(builtins.str, jsii.get(self, "fleetArn"))
15646
+
15647
+ @builtins.property
15648
+ @jsii.member(jsii_name="fleetName")
15649
+ def fleet_name(self) -> builtins.str:
15650
+ '''The name of the fleet.'''
15651
+ return typing.cast(builtins.str, jsii.get(self, "fleetName"))
15652
+
15653
+
15114
15654
  @jsii.data_type(
15115
15655
  jsii_type="aws-cdk-lib.aws_codebuild.GitHubEnterpriseSourceProps",
15116
15656
  jsii_struct_bases=[SourceProps],
@@ -15781,6 +16321,7 @@ class LinuxGpuBuildImage(
15781
16321
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
15782
16322
  compute_type: typing.Optional[ComputeType] = None,
15783
16323
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16324
+ fleet: typing.Optional[IFleet] = None,
15784
16325
  privileged: typing.Optional[builtins.bool] = None,
15785
16326
  ) -> typing.List[builtins.str]:
15786
16327
  '''Allows the image a chance to validate whether the passed configuration is correct.
@@ -15789,6 +16330,7 @@ class LinuxGpuBuildImage(
15789
16330
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
15790
16331
  :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``
15791
16332
  :param environment_variables: The environment variables that your builds can use.
16333
+ :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.
15792
16334
  :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
15793
16335
  '''
15794
16336
  build_environment = BuildEnvironment(
@@ -15796,6 +16338,7 @@ class LinuxGpuBuildImage(
15796
16338
  certificate=certificate,
15797
16339
  compute_type=compute_type,
15798
16340
  environment_variables=environment_variables,
16341
+ fleet=fleet,
15799
16342
  privileged=privileged,
15800
16343
  )
15801
16344
 
@@ -16204,10 +16747,14 @@ __all__ = [
16204
16747
  "ComputeType",
16205
16748
  "DockerImageOptions",
16206
16749
  "EfsFileSystemLocationProps",
16750
+ "EnvironmentType",
16207
16751
  "EventAction",
16208
16752
  "FileSystemConfig",
16209
16753
  "FileSystemLocation",
16210
16754
  "FilterGroup",
16755
+ "Fleet",
16756
+ "FleetComputeType",
16757
+ "FleetProps",
16211
16758
  "GitHubEnterpriseSourceCredentials",
16212
16759
  "GitHubEnterpriseSourceCredentialsProps",
16213
16760
  "GitHubEnterpriseSourceProps",
@@ -16218,6 +16765,7 @@ __all__ = [
16218
16765
  "IBindableBuildImage",
16219
16766
  "IBuildImage",
16220
16767
  "IFileSystemLocation",
16768
+ "IFleet",
16221
16769
  "IProject",
16222
16770
  "IReportGroup",
16223
16771
  "ISource",
@@ -16313,6 +16861,7 @@ def _typecheckingstub__ba89ab1467720a2862905a012ed6b6da7a2294a6ebfc22557f6a64dce
16313
16861
  certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
16314
16862
  compute_type: typing.Optional[ComputeType] = None,
16315
16863
  environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
16864
+ fleet: typing.Optional[IFleet] = None,
16316
16865
  privileged: typing.Optional[builtins.bool] = None,
16317
16866
  ) -> None:
16318
16867
  """Type checking stubs"""
@@ -17194,6 +17743,16 @@ def _typecheckingstub__676f5124f893dc0b6202f68555327786478ed0b8b34024f112667fcfa
17194
17743
  """Type checking stubs"""
17195
17744
  pass
17196
17745
 
17746
+ def _typecheckingstub__e7911aefc20674030e6eb6a13611d08046f9412fc45f97ff43a4ecf7591a2d5d(
17747
+ *,
17748
+ base_capacity: jsii.Number,
17749
+ compute_type: FleetComputeType,
17750
+ environment_type: EnvironmentType,
17751
+ fleet_name: typing.Optional[builtins.str] = None,
17752
+ ) -> None:
17753
+ """Type checking stubs"""
17754
+ pass
17755
+
17197
17756
  def _typecheckingstub__67a541e6087cc5285b339097a07b42d922ad04b68873f2a057bb61c841581c10(
17198
17757
  scope: _constructs_77d1e7e8.Construct,
17199
17758
  id: builtins.str,
@@ -17941,6 +18500,26 @@ def _typecheckingstub__4ad3a1902275eeef3ca62e2ddb713181b105bf4060f1ccb2e682a41f4
17941
18500
  """Type checking stubs"""
17942
18501
  pass
17943
18502
 
18503
+ def _typecheckingstub__68e9f035c12fa2c35bc62bc8d306e3651814bea9f53875aeea43b85f6612b957(
18504
+ scope: _constructs_77d1e7e8.Construct,
18505
+ id: builtins.str,
18506
+ *,
18507
+ base_capacity: jsii.Number,
18508
+ compute_type: FleetComputeType,
18509
+ environment_type: EnvironmentType,
18510
+ fleet_name: typing.Optional[builtins.str] = None,
18511
+ ) -> None:
18512
+ """Type checking stubs"""
18513
+ pass
18514
+
18515
+ def _typecheckingstub__f1c9916e490a14e63381f197c3d3cdcf130f6420c1dc726baacfd458707222e3(
18516
+ scope: _constructs_77d1e7e8.Construct,
18517
+ id: builtins.str,
18518
+ fleet_arn: builtins.str,
18519
+ ) -> None:
18520
+ """Type checking stubs"""
18521
+ pass
18522
+
17944
18523
  def _typecheckingstub__7f39f1e5e14cca44ce85e0f80353a21e81b89f72c74c9109a0c9e0a1553d31b7(
17945
18524
  *,
17946
18525
  identifier: typing.Optional[builtins.str] = None,