MacBuildImage
- class aws_cdk.aws_codebuild.MacBuildImage(*args: Any, **kwargs)
Bases:
object
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)
- See:
https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk as cdk from aws_cdk import aws_codebuild as codebuild from aws_cdk import aws_ecr_assets as ecr_assets # network_mode: ecr_assets.NetworkMode # platform: ecr_assets.Platform mac_build_image = codebuild.MacBuildImage.from_asset(self, "MyMacBuildImage", directory="directory", # the properties below are optional asset_name="assetName", build_args={ "build_args_key": "buildArgs" }, build_secrets={ "build_secrets_key": "buildSecrets" }, build_ssh="buildSsh", cache_disabled=False, cache_from=[ecr_assets.DockerCacheOption( type="type", # the properties below are optional params={ "params_key": "params" } )], cache_to=ecr_assets.DockerCacheOption( type="type", # the properties below are optional params={ "params_key": "params" } ), exclude=["exclude"], extra_hash="extraHash", file="file", follow_symlinks=cdk.SymlinkFollowMode.NEVER, ignore_mode=cdk.IgnoreMode.GLOB, invalidation=ecr_assets.DockerImageAssetInvalidationOptions( build_args=False, build_secrets=False, build_ssh=False, extra_hash=False, file=False, network_mode=False, outputs=False, platform=False, repository_name=False, target=False ), network_mode=network_mode, outputs=["outputs"], platform=platform, target="target" )
Methods
- run_script_buildspec(entrypoint)
Make a buildspec to run the indicated script.
- Parameters:
entrypoint (
str
) –- Return type:
- validate(*, build_image=None, certificate=None, compute_type=None, environment_variables=None, fleet=None, privileged=None)
Allows the image a chance to validate whether the passed configuration is correct.
- Parameters:
build_image (
Optional
[IBuildImage
]) – The image used for the builds. Default: LinuxBuildImage.STANDARD_7_0certificate (
Union
[BuildEnvironmentCertificate
,Dict
[str
,Any
],None
]) – The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the projectcompute_type (
Optional
[ComputeType
]) – The type of compute to use for this build. See theComputeType
enum for the possible values. Default: taken from#buildImage#defaultComputeType
environment_variables (
Optional
[Mapping
[str
,Union
[BuildEnvironmentVariable
,Dict
[str
,Any
]]]]) – The environment variables that your builds can use.fleet (
Optional
[IFleet
]) – Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.privileged (
Optional
[bool
]) – Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
- Return type:
List
[str
]
Attributes
- BASE_14 = <aws_cdk.aws_codebuild.MacBuildImage object>
- default_compute_type
The default
ComputeType
to use with this image, if one was not specified inBuildEnvironment#computeType
explicitly.
- image_id
The Docker image identifier that the build environment uses.
- image_pull_principal_type
The type of principal that CodeBuild will use to pull this build Docker image.
- repository
An optional ECR repository that the image is hosted in.
- secrets_manager_credentials
The secretsManagerCredentials for access to a private registry.
- type
The type of build environment.
Static Methods
- classmethod from_asset(scope, id, *, directory, asset_name=None, build_args=None, build_secrets=None, build_ssh=None, cache_disabled=None, cache_from=None, cache_to=None, file=None, invalidation=None, network_mode=None, outputs=None, platform=None, target=None, extra_hash=None, exclude=None, follow_symlinks=None, ignore_mode=None)
Uses an Docker image asset as a ARM MacOS build image.
- Parameters:
scope (
Construct
) –id (
str
) –directory (
str
) – The directory where the Dockerfile is stored. Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the assetasset_name (
Optional
[str
]) – Unique identifier of the docker image asset and its potential revisions. Required if using AppScopedStagingSynthesizer. Default: - no asset namebuild_args (
Optional
[Mapping
[str
,str
]]) – Build args to pass to thedocker build
command. Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such aslambda.functionArn
orqueue.queueUrl
). Default: - no build args are passedbuild_secrets (
Optional
[Mapping
[str
,str
]]) – Build secrets. Docker BuildKit must be enabled to use build secrets. Default: - no build secretsbuild_ssh (
Optional
[str
]) – SSH agent socket or keys to pass to thedocker build
command. Docker BuildKit must be enabled to use the ssh flag Default: - no –ssh flagcache_disabled (
Optional
[bool
]) – Disable the cache and pass--no-cache
to thedocker build
command. Default: - cache is usedcache_from (
Optional
[Sequence
[Union
[DockerCacheOption
,Dict
[str
,Any
]]]]) – Cache from options to pass to thedocker build
command. Default: - no cache from options are passed to the build commandcache_to (
Union
[DockerCacheOption
,Dict
[str
,Any
],None
]) – Cache to options to pass to thedocker build
command. Default: - no cache to options are passed to the build commandfile (
Optional
[str
]) – Path to the Dockerfile (relative to the directory). Default: ‘Dockerfile’invalidation (
Union
[DockerImageAssetInvalidationOptions
,Dict
[str
,Any
],None
]) – Options to control which parameters are used to invalidate the asset hash. Default: - hash all parametersnetwork_mode (
Optional
[NetworkMode
]) – Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking modeNetworkMode.DEFAULT
will be used)outputs (
Optional
[Sequence
[str
]]) – Outputs to pass to thedocker build
command. Default: - no outputs are passed to the build command (default outputs are used)platform (
Optional
[Platform
]) – Platform to build for. Requires Docker Buildx. Default: - no platform specified (the current machine architecture will be used)target (
Optional
[str
]) – Docker target to build to. Default: - no targetextra_hash (
Optional
[str
]) – Extra information to encode into the fingerprint (e.g. build instructions and other inputs). Default: - hash is only based on source contentexclude (
Optional
[Sequence
[str
]]) – File paths matching the patterns will be excluded. SeeignoreMode
to set the matching behavior. Has no effect on Assets bundled using thebundling
property. Default: - nothing is excludedfollow_symlinks (
Optional
[SymlinkFollowMode
]) – A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVERignore_mode (
Optional
[IgnoreMode
]) – The ignore behavior to use forexclude
patterns. Default: IgnoreMode.GLOB
- Return type:
- classmethod from_docker_registry(name, *, secrets_manager_credentials=None)
Makes an ARM MacOS build image from a Docker Hub image.
- Parameters:
name (
str
) –secrets_manager_credentials (
Optional
[ISecret
]) – The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private. Default: no credentials will be used (we assume the repository is public)
- Return type:
- classmethod from_ecr_repository(repository, tag_or_digest=None)
Makes an ARM MacOS build image from an ECR repository.
- Parameters:
repository (
IRepository
) –tag_or_digest (
Optional
[str
]) –
- Return type: