Class: AWSCDK::CodeBuild::LinuxArmBuildImage

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

Overview

A CodeBuild image running aarch64 Linux.

This class has a bunch of public constants that represent the CodeBuild ARM images.

You can also specify a custom image using the static method:

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ LinuxArmBuildImage

Returns a new instance of LinuxArmBuildImage.

Raises:

  • (NoMethodError)


18
19
20
# File 'code_build/linux_arm_build_image.rb', line 18

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

Class Method Details

.AMAZON_LINUX_2023_STANDARD_2_0AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux-aarch64-standard:2.0" based on Amazon Linux 2023.



97
98
99
# File 'code_build/linux_arm_build_image.rb', line 97

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

.AMAZON_LINUX_2023_STANDARD_3_0AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux-aarch64-standard:3.0" based on Amazon Linux 2023.



104
105
106
# File 'code_build/linux_arm_build_image.rb', line 104

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

.AMAZON_LINUX_2_STANDARD_1_0AWSCDK::CodeBuild::IBuildImage

Deprecated.

Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0 } instead.

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



76
77
78
# File 'code_build/linux_arm_build_image.rb', line 76

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

.AMAZON_LINUX_2_STANDARD_2_0AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0" based on Amazon Linux 2.



83
84
85
# File 'code_build/linux_arm_build_image.rb', line 83

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

.AMAZON_LINUX_2_STANDARD_3_0AWSCDK::CodeBuild::IBuildImage

Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0" based on Amazon Linux 2023.



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

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

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

Uses a Docker image provided by CodeBuild.

Examples:

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

Parameters:

  • id (String)

    The image identifier.

Returns:

See Also:



42
43
44
45
# File 'code_build/linux_arm_build_image.rb', line 42

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.LinuxArmBuildImage", "fromCodeBuildImageId", [id])
end

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

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

Parameters:

Returns:



50
51
52
53
54
55
# File 'code_build/linux_arm_build_image.rb', line 50

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.LinuxArmBuildImage", "fromDockerRegistry", [name, options])
end

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

Returns an ARM image running Linux 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:

See Also:



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

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.LinuxArmBuildImage", "fromEcrRepository", [repository, tag_or_digest])
end

.jsii_overridable_methodsObject



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

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

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.



111
112
113
# File 'code_build/linux_arm_build_image.rb', line 111

def default_compute_type()
  jsii_get_property("defaultComputeType")
end

#image_idString

The Docker image identifier that the build environment uses.

Returns:

  • (String)


118
119
120
# File 'code_build/linux_arm_build_image.rb', line 118

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.



132
133
134
# File 'code_build/linux_arm_build_image.rb', line 132

def image_pull_principal_type()
  jsii_get_property("imagePullPrincipalType")
end

#repositoryAWSCDK::ECR::IRepository?

An optional ECR repository that the image is hosted in.

Returns:



139
140
141
# File 'code_build/linux_arm_build_image.rb', line 139

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:



154
155
156
157
# File 'code_build/linux_arm_build_image.rb', line 154

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.



146
147
148
# File 'code_build/linux_arm_build_image.rb', line 146

def secrets_manager_credentials()
  jsii_get_property("secretsManagerCredentials")
end

#typeString

The type of build environment.

Returns:

  • (String)


125
126
127
# File 'code_build/linux_arm_build_image.rb', line 125

def type()
  jsii_get_property("type")
end

#validate(build_environment) ⇒ Array<String>

Validates by checking the BuildEnvironments' images are not Lambda ComputeTypes.

Parameters:

Returns:

  • (Array<String>)


163
164
165
166
167
# File 'code_build/linux_arm_build_image.rb', line 163

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