Class: Aws::CodeBuild::Types::ProjectEnvironment

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-codebuild/types.rb

Overview

Information about the build environment of the build project.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#certificateString

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*.

[1]: docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate

Returns:

  • (String)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#compute_configurationTypes::ComputeConfiguration

The compute configuration of the build project. This is only required if ‘computeType` is set to `ATTRIBUTE_BASED_COMPUTE`.



4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#compute_typeString

Information about the compute resources the build project uses. Available values include:

  • ‘ATTRIBUTE_BASED_COMPUTE`: Specify the amount of vCPUs, memory, disk space, and the type of machine.

    <note markdown=“1”> If you use ‘ATTRIBUTE_BASED_COMPUTE`, you must define your attributes by using `computeConfiguration`. CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types] in the *CodeBuild User Guide*.

    </note>
    
  • ‘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 type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER`.

  • ‘BUILD_LAMBDA_2GB`: Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER`.

  • ‘BUILD_LAMBDA_4GB`: Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER`.

  • ‘BUILD_LAMBDA_8GB`: Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER`.

  • ‘BUILD_LAMBDA_10GB`: Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_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 *CodeBuild User Guide.*

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

Returns:

  • (String)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#environment_variablesArray<Types::EnvironmentVariable>

A set of environment variables to make available to builds for this build project.

Returns:



4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#fleetTypes::ProjectFleet

A ProjectFleet object to use for this build project.

Returns:



4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#imageString

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: ‘<registry>/<repository>:<tag>`. For example, in the Docker repository that CodeBuild uses to manage its Docker images, this would be `aws/codebuild/standard:4.0`.

  • For an image digest: ‘<registry>/<repository>@<digest>`. For example, to specify an image with the digest “sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,” use `<registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf`.

For more information, see [Docker images provided by CodeBuild] in the *CodeBuild user guide*.

[1]: docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html

Returns:

  • (String)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#image_pull_credentials_typeString

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.

Returns:

  • (String)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#privileged_modeBoolean

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”`

Returns:

  • (Boolean)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#registry_credentialTypes::RegistryCredential

The credentials for access to a private registry.



4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end

#typeString

The type of build environment to use for related builds.

<note markdown=“1”> If you’re using compute fleets during project creation, ‘type` will be ignored.

</note>

For more information, see [Build environment compute types] in the *CodeBuild user guide*.

[1]: docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html

Returns:

  • (String)


4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
# File 'lib/aws-sdk-codebuild/types.rb', line 4770

class ProjectEnvironment < Struct.new(
  :type,
  :image,
  :compute_type,
  :compute_configuration,
  :fleet,
  :environment_variables,
  :privileged_mode,
  :certificate,
  :registry_credential,
  :image_pull_credentials_type)
  SENSITIVE = []
  include Aws::Structure
end