FleetProps

class aws_cdk.aws_codebuild.FleetProps(*, base_capacity, compute_type, environment_type, compute_configuration=None, fleet_name=None, overflow_behavior=None, role=None, security_groups=None, subnet_selection=None, vpc=None)

Bases: object

Construction properties of a CodeBuild Fleet.

Parameters:
  • base_capacity (Union[int, float]) – The number of machines allocated to the compute fleet. Defines the number of builds that can run in parallel. Minimum value of 1.

  • compute_type (FleetComputeType) – The instance type of the compute fleet.

  • environment_type (EnvironmentType) – The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.

  • compute_configuration (Union[ComputeConfiguration, Dict[str, Any], None]) – The compute configuration of the compute fleet. This is only permitted if computeType is set to ATTRIBUTE_BASED or CUSTOM_INSTANCE_TYPE. In such cases, this is required. Default: - do not specify compute configuration

  • fleet_name (Optional[str]) – The name of the Fleet. Default: - CloudFormation generated name

  • overflow_behavior (Optional[FleetOverflowBehavior]) – The compute fleet overflow behavior. For overflow behavior QUEUE, overflow builds need to wait on the existing fleet instances to become available. For overflow behavior ON_DEMAND, overflow builds run on CodeBuild on-demand. Default: undefined - AWS CodeBuild default behavior is QUEUE

  • role (Optional[IRole]) – Service Role assumed by Fleet instances. This Role is not used by Project builds running on Fleet instances; Project builds assume the role on Project instead. Default: - A role will be created if any permissions are granted

  • security_groups (Optional[Sequence[ISecurityGroup]]) – What security groups to associate with the fleet’s network interfaces. If none are provided, one will be created automatically. Only used if vpc is supplied. Default: - A security group will be automatically created.

  • subnet_selection (Union[SubnetSelection, Dict[str, Any], None]) – Where to place the network interfaces within the VPC. To access AWS services, your fleet needs to be in one of the following types of subnets: 1. Subnets with access to the internet (of type PRIVATE_WITH_EGRESS). 2. Private subnets unconnected to the internet, but with VPC endpoints for the necessary services. If you don’t specify a subnet selection, the default behavior is to use PRIVATE_WITH_EGRESS subnets first if they exist, then PRIVATE_WITHOUT_EGRESS, and finally PUBLIC subnets. If your VPC doesn’t have PRIVATE_WITH_EGRESS subnets but you need AWS service access, add VPC Endpoints to your private subnets. Default: - private subnets if available else public subnets

  • vpc (Optional[IVpc]) – VPC network to place fleet instance network interfaces. Specify this if the fleet needs to access resources in a VPC. Default: - No VPC is specified.

ExampleMetadata:

infused

Example:

from aws_cdk import Size


fleet = codebuild.Fleet(self, "MyFleet",
    base_capacity=1,
    compute_type=codebuild.FleetComputeType.CUSTOM_INSTANCE_TYPE,
    environment_type=codebuild.EnvironmentType.LINUX_CONTAINER,
    compute_configuration=codebuild.ComputeConfiguration(
        instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
        # By default, 64 GiB of disk space is included. Any value optionally
        # specified here is _incremental_ on top of the included disk space.
        disk=Size.gibibytes(10)
    )
)

Attributes

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.

compute_configuration

The compute configuration of the compute fleet.

This is only permitted if computeType is set to ATTRIBUTE_BASED or CUSTOM_INSTANCE_TYPE. In such cases, this is required.

Default:
  • do not specify compute configuration

See:

https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types

compute_type

The instance type of the compute fleet.

See:

https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.ComputeType.html

environment_type

The build environment (operating system/architecture/accelerator) type made available to projects using this fleet.

fleet_name

The name of the Fleet.

Default:
  • CloudFormation generated name

overflow_behavior

The compute fleet overflow behavior.

For overflow behavior QUEUE, overflow builds need to wait on the existing fleet instances to become available.

For overflow behavior ON_DEMAND, overflow builds run on CodeBuild on-demand.

Default:

undefined - AWS CodeBuild default behavior is QUEUE

role

Service Role assumed by Fleet instances.

This Role is not used by Project builds running on Fleet instances; Project builds assume the role on Project instead.

Default:
  • A role will be created if any permissions are granted

security_groups

What security groups to associate with the fleet’s network interfaces. If none are provided, one will be created automatically.

Only used if vpc is supplied.

Default:
  • A security group will be automatically created.

subnet_selection

Where to place the network interfaces within the VPC.

To access AWS services, your fleet needs to be in one of the following types of subnets:

  1. Subnets with access to the internet (of type PRIVATE_WITH_EGRESS).

  2. Private subnets unconnected to the internet, but with VPC endpoints for the necessary services.

If you don’t specify a subnet selection, the default behavior is to use PRIVATE_WITH_EGRESS subnets first if they exist, then PRIVATE_WITHOUT_EGRESS, and finally PUBLIC subnets. If your VPC doesn’t have PRIVATE_WITH_EGRESS subnets but you need AWS service access, add VPC Endpoints to your private subnets.

Default:
  • private subnets if available else public subnets

See:

https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html

vpc

VPC network to place fleet instance network interfaces.

Specify this if the fleet needs to access resources in a VPC.

Default:
  • No VPC is specified.