Class: AWSCDK::CodeBuild::MacBuildImage

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

Overview

A CodeBuild image running ARM MacOS.

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:

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ MacBuildImage

Returns a new instance of MacBuildImage.

Raises:

  • (NoMethodError)


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

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

Class Method Details

.BASE_14AWSCDK::CodeBuild::IBuildImage

Corresponds to the standard CodeBuild image aws/codebuild/macos-arm-base:14.



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

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

.BASE_15AWSCDK::CodeBuild::IBuildImage

Corresponds to the CodeBuild image aws/codebuild/macos-arm-base:15.



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

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

.BASE_26AWSCDK::CodeBuild::IBuildImage

Corresponds to the CodeBuild image aws/codebuild/macos-arm-base:26.



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

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

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

Uses an Docker image asset as a ARM MacOS build image.

Parameters:

Returns:



42
43
44
45
46
47
48
# File 'code_build/mac_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.MacBuildImage", "fromAsset", [scope, id, props])
end

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

Makes an ARM MacOS build image from a Docker Hub image.

Parameters:

Returns:



55
56
57
58
59
60
# File 'code_build/mac_build_image.rb', line 55

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

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

Makes an ARM MacOS build image from an ECR repository.

Parameters:

Returns:



67
68
69
70
71
# File 'code_build/mac_build_image.rb', line 67

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

.jsii_overridable_methodsObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'code_build/mac_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

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.



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

def default_compute_type()
  jsii_get_property("defaultComputeType")
end

#image_idString

The Docker image identifier that the build environment uses.

Returns:

  • (String)


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

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.



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

def image_pull_principal_type()
  jsii_get_property("imagePullPrincipalType")
end

#repositoryAWSCDK::ECR::IRepository?

An optional ECR repository that the image is hosted in.

Returns:



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

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:



140
141
142
143
# File 'code_build/mac_build_image.rb', line 140

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.



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

def secrets_manager_credentials()
  jsii_get_property("secretsManagerCredentials")
end

#typeString

The type of build environment.

Returns:

  • (String)


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

def type()
  jsii_get_property("type")
end

#validate(build_environment) ⇒ Array<String>

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

Parameters:

Returns:

  • (Array<String>)


149
150
151
152
153
# File 'code_build/mac_build_image.rb', line 149

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