Struct aws_sdk_codebuild::model::project_environment::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for ProjectEnvironment
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn type(self, input: EnvironmentType) -> Self
pub fn type(self, input: EnvironmentType) -> Self
The type of build environment to use for related builds.
-
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 (Sydney), and EU (Frankfurt). -
The environment type
LINUX_CONTAINER
with compute typebuild.general1.2xlarge
is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). -
The environment type
LINUX_GPU_CONTAINER
is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and China (Ningxia).
-
The environment types
WINDOWS_CONTAINER
andWINDOWS_SERVER_2019_CONTAINER
are available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), and EU (Ireland).
For more information, see Build environment compute types in the CodeBuild user guide.
sourcepub fn set_type(self, input: Option<EnvironmentType>) -> Self
pub fn set_type(self, input: Option<EnvironmentType>) -> Self
The type of build environment to use for related builds.
-
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 (Sydney), and EU (Frankfurt). -
The environment type
LINUX_CONTAINER
with compute typebuild.general1.2xlarge
is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). -
The environment type
LINUX_GPU_CONTAINER
is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and China (Ningxia).
-
The environment types
WINDOWS_CONTAINER
andWINDOWS_SERVER_2019_CONTAINER
are available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), and EU (Ireland).
For more information, see Build environment compute types in the CodeBuild user guide.
sourcepub fn image(self, input: impl Into<String>) -> Self
pub fn image(self, input: impl Into<String>) -> Self
The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:
-
For an image tag:
/ : aws/codebuild/standard:4.0
. -
For an image digest:
/ @ / @sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
For more information, see Docker images provided by CodeBuild in the CodeBuild user guide.
sourcepub fn set_image(self, input: Option<String>) -> Self
pub fn set_image(self, input: Option<String>) -> Self
The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:
-
For an image tag:
/ : aws/codebuild/standard:4.0
. -
For an image digest:
/ @ / @sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
For more information, see Docker images provided by CodeBuild in the CodeBuild user guide.
sourcepub fn compute_type(self, input: ComputeType) -> Self
pub fn compute_type(self, input: ComputeType) -> Self
Information about the compute resources the build project 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_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_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 in the CodeBuild User Guide.
sourcepub fn set_compute_type(self, input: Option<ComputeType>) -> Self
pub fn set_compute_type(self, input: Option<ComputeType>) -> Self
Information about the compute resources the build project 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_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_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 in the CodeBuild User Guide.
sourcepub fn environment_variables(self, input: EnvironmentVariable) -> Self
pub fn environment_variables(self, input: EnvironmentVariable) -> Self
Appends an item to environment_variables
.
To override the contents of this collection use set_environment_variables
.
A set of environment variables to make available to builds for this build project.
sourcepub fn set_environment_variables(
self,
input: Option<Vec<EnvironmentVariable>>
) -> Self
pub fn set_environment_variables(
self,
input: Option<Vec<EnvironmentVariable>>
) -> Self
A set of environment variables to make available to builds for this build project.
sourcepub fn privileged_mode(self, input: bool) -> Self
pub fn privileged_mode(self, input: bool) -> Self
Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is false
.
You can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:
If the operating system's base image is Ubuntu Linux:
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
If the operating system's base image is Alpine Linux and the previous command does not work, add the -t
argument to timeout
:
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
- timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
sourcepub fn set_privileged_mode(self, input: Option<bool>) -> Self
pub fn set_privileged_mode(self, input: Option<bool>) -> Self
Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is false
.
You can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:
If the operating system's base image is Ubuntu Linux:
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
If the operating system's base image is Alpine Linux and the previous command does not work, add the -t
argument to timeout
:
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
- timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
sourcepub fn certificate(self, input: impl Into<String>) -> Self
pub fn certificate(self, input: impl Into<String>) -> Self
The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see certificate in the CodeBuild User Guide.
sourcepub fn set_certificate(self, input: Option<String>) -> Self
pub fn set_certificate(self, input: Option<String>) -> Self
The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded certificate for the build project. For more information, see certificate in the CodeBuild User Guide.
sourcepub fn registry_credential(self, input: RegistryCredential) -> Self
pub fn registry_credential(self, input: RegistryCredential) -> Self
The credentials for access to a private registry.
sourcepub fn set_registry_credential(self, input: Option<RegistryCredential>) -> Self
pub fn set_registry_credential(self, input: Option<RegistryCredential>) -> Self
The credentials for access to a private registry.
sourcepub fn image_pull_credentials_type(self, input: ImagePullCredentialsType) -> Self
pub fn image_pull_credentials_type(self, input: ImagePullCredentialsType) -> Self
The type of credentials CodeBuild uses to pull images in your build. There are two valid values:
-
CODEBUILD
specifies that CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust CodeBuild service principal. -
SERVICE_ROLE
specifies that CodeBuild uses your build project's service role.
When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials.
sourcepub fn set_image_pull_credentials_type(
self,
input: Option<ImagePullCredentialsType>
) -> Self
pub fn set_image_pull_credentials_type(
self,
input: Option<ImagePullCredentialsType>
) -> Self
The type of credentials CodeBuild uses to pull images in your build. There are two valid values:
-
CODEBUILD
specifies that CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust CodeBuild service principal. -
SERVICE_ROLE
specifies that CodeBuild uses your build project's service role.
When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials.
sourcepub fn build(self) -> ProjectEnvironment
pub fn build(self) -> ProjectEnvironment
Consumes the builder and constructs a ProjectEnvironment
.