Class: AWSCDK::CodeBuild::LinuxBuildImage

Inherits:
Jsii::Object
  • Object
show all
Includes:
IBuildImage
Defined in:
code_build/linux_build_image.rb

Overview

A CodeBuild image running x86-64 Linux.

This class has a bunch of public constants that represent the most popular images.

You can also specify a custom image using one of the static methods:

  • LinuxBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }])
  • LinuxBuildImage.fromEcrRepository(repo[, tag])
  • LinuxBuildImage.fromAsset(parent, id, props)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ LinuxBuildImage

Returns a new instance of LinuxBuildImage.

Raises:

  • (NoMethodError)


19
20
21
# File 'code_build/linux_build_image.rb', line 19

def initialize(*args)
  raise NoMethodError, "aws-cdk-lib.aws_codebuild.LinuxBuildImage does not have a visible constructor; use the provided factory methods"
end

Class Method Details

.AMAZON_LINUX_2AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.



84
85
86
# File 'code_build/linux_build_image.rb', line 84

def self.AMAZON_LINUX_2()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2")
end

.AMAZON_LINUX_2023_4AWSCDK::CodeBuild::IBuildImage

The Amazon Linux 2023 x86_64 standard image, version 4.0.



158
159
160
# File 'code_build/linux_build_image.rb', line 158

def self.AMAZON_LINUX_2023_4()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2023_4")
end

.AMAZON_LINUX_2023_5AWSCDK::CodeBuild::IBuildImage

The Amazon Linux 2023 x86_64 standard image, version 5.0.



165
166
167
# File 'code_build/linux_build_image.rb', line 165

def self.AMAZON_LINUX_2023_5()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2023_5")
end

.AMAZON_LINUX_2023_CORETTO_11AWSCDK::CodeBuild::IBuildImage

The Amazon Coretto 11 image x86_64, based on Amazon Linux 2023.



172
173
174
# File 'code_build/linux_build_image.rb', line 172

def self.AMAZON_LINUX_2023_CORETTO_11()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2023_CORETTO_11")
end

.AMAZON_LINUX_2023_CORETTO_8AWSCDK::CodeBuild::IBuildImage

The Amazon Coretto 8 image x86_64, based on Amazon Linux 2023.



179
180
181
# File 'code_build/linux_build_image.rb', line 179

def self.AMAZON_LINUX_2023_CORETTO_8()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2023_CORETTO_8")
end

.AMAZON_LINUX_2_2AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.



90
91
92
# File 'code_build/linux_build_image.rb', line 90

def self.AMAZON_LINUX_2_2()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_2")
end

.AMAZON_LINUX_2_3AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.

The Amazon Linux 2 x86_64 standard image, version 3.0.



98
99
100
# File 'code_build/linux_build_image.rb', line 98

def self.AMAZON_LINUX_2_3()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_3")
end

.AMAZON_LINUX_2_4AWSCDK::CodeBuild::IBuildImage

The Amazon Linux 2 x86_64 standard image, version 4.0.



105
106
107
# File 'code_build/linux_build_image.rb', line 105

def self.AMAZON_LINUX_2_4()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_4")
end

.AMAZON_LINUX_2_5AWSCDK::CodeBuild::IBuildImage

The Amazon Linux 2023 x86_64 standard image, version 5.0.



112
113
114
# File 'code_build/linux_build_image.rb', line 112

def self.AMAZON_LINUX_2_5()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_5")
end

.AMAZON_LINUX_2_ARMAWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_ARM_3 } instead.

Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0".

Returns:

See Also:

  • {LinuxArmBuildImage{LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_1_0}


121
122
123
# File 'code_build/linux_build_image.rb', line 121

def self.AMAZON_LINUX_2_ARM()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_ARM")
end

.AMAZON_LINUX_2_ARM_2AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".

Returns:

See Also:

  • {LinuxArmBuildImage{LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_2_0}


129
130
131
# File 'code_build/linux_build_image.rb', line 129

def self.AMAZON_LINUX_2_ARM_2()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_ARM_2")
end

.AMAZON_LINUX_2_ARM_3AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0".

Returns:

See Also:

  • {LinuxArmBuildImage{LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0}


137
138
139
# File 'code_build/linux_build_image.rb', line 137

def self.AMAZON_LINUX_2_ARM_3()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_ARM_3")
end

.AMAZON_LINUX_2_CORETTO_11AWSCDK::CodeBuild::IBuildImage

The Amazon Coretto 11 image x86_64, based on Amazon Linux 2.



144
145
146
# File 'code_build/linux_build_image.rb', line 144

def self.AMAZON_LINUX_2_CORETTO_11()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_CORETTO_11")
end

.AMAZON_LINUX_2_CORETTO_8AWSCDK::CodeBuild::IBuildImage

The Amazon Coretto 8 image x86_64, based on Amazon Linux 2.



151
152
153
# File 'code_build/linux_build_image.rb', line 151

def self.AMAZON_LINUX_2_CORETTO_8()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "AMAZON_LINUX_2_CORETTO_8")
end

.from_asset(scope, id, props) ⇒ AWSCDK::CodeBuild::IBuildImage

Uses an Docker image asset as a x86-64 Linux build image.

Parameters:

Returns:



42
43
44
45
46
47
48
# File 'code_build/linux_build_image.rb', line 42

def self.from_asset(scope, id, props)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  props = props.is_a?(Hash) ? ::AWSCDK::ECRAssets::DockerImageAssetProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNyX2Fzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0UHJvcHMifQ==")), "props")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "fromAsset", [scope, id, props])
end

.from_code_build_image_id(id) ⇒ AWSCDK::CodeBuild::IBuildImage

Uses a Docker image provided by CodeBuild.

Examples:

"aws/codebuild/standard:4.0"

Parameters:

  • id (String)

    The image identifier.

Returns:

See Also:



57
58
59
60
# File 'code_build/linux_build_image.rb', line 57

def self.from_code_build_image_id(id)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "fromCodeBuildImageId", [id])
end

.from_docker_registry(name, options = nil) ⇒ AWSCDK::CodeBuild::IBuildImage

Returns a x86-64 Linux build image from a Docker Hub image.

Parameters:

Returns:



65
66
67
68
69
70
# File 'code_build/linux_build_image.rb', line 65

def self.from_docker_registry(name, options = nil)
  Jsii::Type.check_type(name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  options = options.is_a?(Hash) ? ::AWSCDK::CodeBuild::DockerImageOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkRvY2tlckltYWdlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "fromDockerRegistry", [name, options])
end

.from_ecr_repository(repository, tag_or_digest = nil) ⇒ AWSCDK::CodeBuild::IBuildImage

Returns A x86-64 Linux build image from an ECR repository. NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image.

Parameters:

  • repository (AWSCDK::ECR::IRepository)

    The ECR repository.

  • tag_or_digest (String, nil) (defaults to: nil)

    Image tag or digest (default "latest", digests must start with sha256:).

Returns:

  • (AWSCDK::CodeBuild::IBuildImage)

    A x86-64 Linux build image from an ECR repository. NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image.

See Also:



76
77
78
79
80
# File 'code_build/linux_build_image.rb', line 76

def self.from_ecr_repository(repository, tag_or_digest = nil)
  Jsii::Type.check_type(repository, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNyLklSZXBvc2l0b3J5In0=")), "repository")
  Jsii::Type.check_type(tag_or_digest, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tagOrDigest") unless tag_or_digest.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "fromEcrRepository", [repository, tag_or_digest])
end

.jsii_overridable_methodsObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'code_build/linux_build_image.rb', line 23

def self.jsii_overridable_methods
  {
    :default_compute_type => { kind: :property, name: "defaultComputeType", is_optional: false },
    :image_id => { kind: :property, name: "imageId", is_optional: false },
    :type => { kind: :property, name: "type", is_optional: false },
    :image_pull_principal_type => { kind: :property, name: "imagePullPrincipalType", is_optional: true },
    :repository => { kind: :property, name: "repository", is_optional: true },
    :secrets_manager_credentials => { kind: :property, name: "secretsManagerCredentials", is_optional: true },
    :run_script_buildspec => { kind: :method, name: "runScriptBuildspec", is_optional: false },
    :validate => { kind: :method, name: "validate", is_optional: false },
  }
end

.STANDARD_1_0AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.STANDARD_7_0 } instead.



185
186
187
# File 'code_build/linux_build_image.rb', line 185

def self.STANDARD_1_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_1_0")
end

.STANDARD_2_0AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.STANDARD_7_0 } instead.



191
192
193
# File 'code_build/linux_build_image.rb', line 191

def self.STANDARD_2_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_2_0")
end

.STANDARD_3_0AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.STANDARD_7_0 } instead.



197
198
199
# File 'code_build/linux_build_image.rb', line 197

def self.STANDARD_3_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_3_0")
end

.STANDARD_4_0AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxBuildImage.STANDARD_7_0 } instead.

The aws/codebuild/standard:4.0 build image.



205
206
207
# File 'code_build/linux_build_image.rb', line 205

def self.STANDARD_4_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_4_0")
end

.STANDARD_5_0AWSCDK::CodeBuild::IBuildImage

The aws/codebuild/standard:5.0 build image.



212
213
214
# File 'code_build/linux_build_image.rb', line 212

def self.STANDARD_5_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_5_0")
end

.STANDARD_6_0AWSCDK::CodeBuild::IBuildImage

The aws/codebuild/standard:6.0 build image.



219
220
221
# File 'code_build/linux_build_image.rb', line 219

def self.STANDARD_6_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_6_0")
end

.STANDARD_7_0AWSCDK::CodeBuild::IBuildImage

The aws/codebuild/standard:7.0 build image.



226
227
228
# File 'code_build/linux_build_image.rb', line 226

def self.STANDARD_7_0()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_codebuild.LinuxBuildImage", "STANDARD_7_0")
end

Instance Method Details

#default_compute_typeAWSCDK::CodeBuild::ComputeType

The default ComputeType to use with this image, if one was not specified in BuildEnvironment#computeType explicitly.



233
234
235
# File 'code_build/linux_build_image.rb', line 233

def default_compute_type()
  jsii_get_property("defaultComputeType")
end

#image_idString

The Docker image identifier that the build environment uses.

Returns:

  • (String)


240
241
242
# File 'code_build/linux_build_image.rb', line 240

def image_id()
  jsii_get_property("imageId")
end

#image_pull_principal_typeAWSCDK::CodeBuild::ImagePullPrincipalType?

The type of principal that CodeBuild will use to pull this build Docker image.



254
255
256
# File 'code_build/linux_build_image.rb', line 254

def image_pull_principal_type()
  jsii_get_property("imagePullPrincipalType")
end

#repositoryAWSCDK::ECR::IRepository?

An optional ECR repository that the image is hosted in.

Returns:



261
262
263
# File 'code_build/linux_build_image.rb', line 261

def repository()
  jsii_get_property("repository")
end

#run_script_buildspec(entrypoint) ⇒ AWSCDK::CodeBuild::BuildSpec

Make a buildspec to run the indicated script.

Parameters:

  • entrypoint (String)

Returns:



276
277
278
279
# File 'code_build/linux_build_image.rb', line 276

def run_script_buildspec(entrypoint)
  Jsii::Type.check_type(entrypoint, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "entrypoint")
  jsii_call_method("runScriptBuildspec", [entrypoint])
end

#secrets_manager_credentialsAWSCDK::SecretsManager::ISecret?

The secretsManagerCredentials for access to a private registry.



268
269
270
# File 'code_build/linux_build_image.rb', line 268

def secrets_manager_credentials()
  jsii_get_property("secretsManagerCredentials")
end

#typeString

The type of build environment.

Returns:

  • (String)


247
248
249
# File 'code_build/linux_build_image.rb', line 247

def type()
  jsii_get_property("type")
end

#validate(env) ⇒ Array<String>

Allows the image a chance to validate whether the passed configuration is correct.

Parameters:

Returns:

  • (Array<String>)


285
286
287
288
289
# File 'code_build/linux_build_image.rb', line 285

def validate(env)
  env = env.is_a?(Hash) ? ::AWSCDK::CodeBuild::BuildEnvironment.new(**env.transform_keys(&:to_sym)) : env
  Jsii::Type.check_type(env, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkJ1aWxkRW52aXJvbm1lbnQifQ==")), "env")
  jsii_call_method("validate", [env])
end