Class CfnFleetProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnFleetProps>
- Enclosing interface:
CfnFleetProps
CfnFleetProps
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbaseCapacity
(Number baseCapacity) Sets the value ofCfnFleetProps.getBaseCapacity()
build()
Builds the configured instance.computeConfiguration
(IResolvable computeConfiguration) Sets the value ofCfnFleetProps.getComputeConfiguration()
computeConfiguration
(CfnFleet.ComputeConfigurationProperty computeConfiguration) Sets the value ofCfnFleetProps.getComputeConfiguration()
computeType
(String computeType) Sets the value ofCfnFleetProps.getComputeType()
environmentType
(String environmentType) Sets the value ofCfnFleetProps.getEnvironmentType()
fleetProxyConfiguration
(IResolvable fleetProxyConfiguration) Sets the value ofCfnFleetProps.getFleetProxyConfiguration()
fleetProxyConfiguration
(CfnFleet.ProxyConfigurationProperty fleetProxyConfiguration) Sets the value ofCfnFleetProps.getFleetProxyConfiguration()
fleetServiceRole
(String fleetServiceRole) Sets the value ofCfnFleetProps.getFleetServiceRole()
fleetVpcConfig
(IResolvable fleetVpcConfig) Sets the value ofCfnFleetProps.getFleetVpcConfig()
fleetVpcConfig
(CfnFleet.VpcConfigProperty fleetVpcConfig) Sets the value ofCfnFleetProps.getFleetVpcConfig()
Sets the value ofCfnFleetProps.getImageId()
Sets the value ofCfnFleetProps.getName()
overflowBehavior
(String overflowBehavior) Sets the value ofCfnFleetProps.getOverflowBehavior()
scalingConfiguration
(IResolvable scalingConfiguration) Sets the value ofCfnFleetProps.getScalingConfiguration()
scalingConfiguration
(CfnFleet.ScalingConfigurationInputProperty scalingConfiguration) Sets the value ofCfnFleetProps.getScalingConfiguration()
Sets the value ofCfnFleetProps.getTags()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
baseCapacity
Sets the value ofCfnFleetProps.getBaseCapacity()
- Parameters:
baseCapacity
- The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel.- Returns:
this
-
computeConfiguration
@Stability(Stable) public CfnFleetProps.Builder computeConfiguration(IResolvable computeConfiguration) Sets the value ofCfnFleetProps.getComputeConfiguration()
- Parameters:
computeConfiguration
- The compute configuration of the compute fleet. This is only required ifcomputeType
is set toATTRIBUTE_BASED_COMPUTE
.- Returns:
this
-
computeConfiguration
@Stability(Stable) public CfnFleetProps.Builder computeConfiguration(CfnFleet.ComputeConfigurationProperty computeConfiguration) Sets the value ofCfnFleetProps.getComputeConfiguration()
- Parameters:
computeConfiguration
- The compute configuration of the compute fleet. This is only required ifcomputeType
is set toATTRIBUTE_BASED_COMPUTE
.- Returns:
this
-
computeType
Sets the value ofCfnFleetProps.getComputeType()
- Parameters:
computeType
- Information about the compute resources the compute fleet uses. Available values include:.ATTRIBUTE_BASED_COMPUTE
: Specify the amount of vCPUs, memory, disk space, and the type of machine.
If you use
ATTRIBUTE_BASED_COMPUTE
, you must define your attributes by usingcomputeConfiguration
. AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see Reserved capacity environment types in the AWS CodeBuild User Guide .BUILD_GENERAL1_SMALL
: Use up to 4 GiB memory and 2 vCPUs for builds.BUILD_GENERAL1_MEDIUM
: Use up to 8 GiB memory and 4 vCPUs for builds.BUILD_GENERAL1_LARGE
: Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.BUILD_GENERAL1_XLARGE
: Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.BUILD_GENERAL1_2XLARGE
: Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.BUILD_LAMBDA_1GB
: Use up to 1 GiB memory for builds. Only available for environment typeLINUX_LAMBDA_CONTAINER
andARM_LAMBDA_CONTAINER
.BUILD_LAMBDA_2GB
: Use up to 2 GiB memory for builds. Only available for environment typeLINUX_LAMBDA_CONTAINER
andARM_LAMBDA_CONTAINER
.BUILD_LAMBDA_4GB
: Use up to 4 GiB memory for builds. Only available for environment typeLINUX_LAMBDA_CONTAINER
andARM_LAMBDA_CONTAINER
.BUILD_LAMBDA_8GB
: Use up to 8 GiB memory for builds. Only available for environment typeLINUX_LAMBDA_CONTAINER
andARM_LAMBDA_CONTAINER
.BUILD_LAMBDA_10GB
: Use up to 10 GiB memory for builds. Only available for environment typeLINUX_LAMBDA_CONTAINER
andARM_LAMBDA_CONTAINER
.
If you use
BUILD_GENERAL1_SMALL
:- For environment type
LINUX_CONTAINER
, you can use up to 4 GiB memory and 2 vCPUs for builds. - For environment type
LINUX_GPU_CONTAINER
, you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds. - For environment type
ARM_CONTAINER
, you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds. - For environment type
LINUX_GPU_CONTAINER
, you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - For environment type
ARM_CONTAINER
, you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.
For more information, see On-demand environment types in the AWS CodeBuild User Guide.
- Returns:
this
-
environmentType
Sets the value ofCfnFleetProps.getEnvironmentType()
- Parameters:
environmentType
- 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
ARM_EC2
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_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_EC2
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
MAC_ARM
is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney). - The environment type
WINDOWS_EC2
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
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 in the AWS CodeBuild user guide .
- The environment type
- Returns:
this
-
fleetProxyConfiguration
@Stability(Stable) public CfnFleetProps.Builder fleetProxyConfiguration(IResolvable fleetProxyConfiguration) Sets the value ofCfnFleetProps.getFleetProxyConfiguration()
- Parameters:
fleetProxyConfiguration
- Information about the proxy configurations that apply network access control to your reserved capacity instances.- Returns:
this
-
fleetProxyConfiguration
@Stability(Stable) public CfnFleetProps.Builder fleetProxyConfiguration(CfnFleet.ProxyConfigurationProperty fleetProxyConfiguration) Sets the value ofCfnFleetProps.getFleetProxyConfiguration()
- Parameters:
fleetProxyConfiguration
- Information about the proxy configurations that apply network access control to your reserved capacity instances.- Returns:
this
-
fleetServiceRole
Sets the value ofCfnFleetProps.getFleetServiceRole()
- Parameters:
fleetServiceRole
- The service role associated with the compute fleet. For more information, see Allow a user to add a permission policy for a fleet service role in the AWS CodeBuild User Guide .- Returns:
this
-
fleetVpcConfig
Sets the value ofCfnFleetProps.getFleetVpcConfig()
- Parameters:
fleetVpcConfig
- Information about the VPC configuration that AWS CodeBuild accesses.- Returns:
this
-
fleetVpcConfig
@Stability(Stable) public CfnFleetProps.Builder fleetVpcConfig(CfnFleet.VpcConfigProperty fleetVpcConfig) Sets the value ofCfnFleetProps.getFleetVpcConfig()
- Parameters:
fleetVpcConfig
- Information about the VPC configuration that AWS CodeBuild accesses.- Returns:
this
-
imageId
Sets the value ofCfnFleetProps.getImageId()
- Parameters:
imageId
- The Amazon Machine Image (AMI) of the compute fleet.- Returns:
this
-
name
Sets the value ofCfnFleetProps.getName()
- Parameters:
name
- The name of the compute fleet.- Returns:
this
-
overflowBehavior
Sets the value ofCfnFleetProps.getOverflowBehavior()
- Parameters:
overflowBehavior
- The compute fleet overflow behavior.- For overflow behavior
QUEUE
, your overflow builds need to wait on the existing fleet instance to become available. - For overflow behavior
ON_DEMAND
, your overflow builds run on CodeBuild on-demand.
If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface .
- For overflow behavior
- Returns:
this
-
scalingConfiguration
@Stability(Stable) public CfnFleetProps.Builder scalingConfiguration(IResolvable scalingConfiguration) Sets the value ofCfnFleetProps.getScalingConfiguration()
- Parameters:
scalingConfiguration
- The scaling configuration of the compute fleet.- Returns:
this
-
scalingConfiguration
@Stability(Stable) public CfnFleetProps.Builder scalingConfiguration(CfnFleet.ScalingConfigurationInputProperty scalingConfiguration) Sets the value ofCfnFleetProps.getScalingConfiguration()
- Parameters:
scalingConfiguration
- The scaling configuration of the compute fleet.- Returns:
this
-
tags
Sets the value ofCfnFleetProps.getTags()
- Parameters:
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.- Returns:
this
-
build
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<CfnFleetProps>
- Returns:
- a new instance of
CfnFleetProps
- Throws:
NullPointerException
- if any required attribute was not provided
-