DockerImageAssetOptions

class aws_cdk.aws_ecr_assets.DockerImageAssetOptions(*, exclude=None, follow_symlinks=None, ignore_mode=None, extra_hash=None, 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)

Bases: FileFingerprintOptions

Options for DockerImageAsset.

Parameters:
  • exclude (Optional[Sequence[str]]) – File paths matching the patterns will be excluded. See ignoreMode to set the matching behavior. Has no effect on Assets bundled using the bundling property. Default: - nothing is excluded

  • follow_symlinks (Optional[SymlinkFollowMode]) – A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER

  • ignore_mode (Optional[IgnoreMode]) – The ignore behavior to use for exclude patterns. Default: IgnoreMode.GLOB

  • extra_hash (Optional[str]) – Extra information to encode into the fingerprint (e.g. build instructions and other inputs). Default: - hash is only based on source content

  • asset_name (Optional[str]) – Unique identifier of the docker image asset and its potential revisions. Required if using AppScopedStagingSynthesizer. Default: - no asset name

  • build_args (Optional[Mapping[str, str]]) – Build args to pass to the docker build command. Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such as lambda.functionArn or queue.queueUrl). Default: - no build args are passed

  • build_secrets (Optional[Mapping[str, str]]) – Build secrets. Docker BuildKit must be enabled to use build secrets. Default: - no build secrets

  • build_ssh (Optional[str]) – SSH agent socket or keys to pass to the docker build command. Docker BuildKit must be enabled to use the ssh flag Default: - no –ssh flag

  • cache_disabled (Optional[bool]) – Disable the cache and pass --no-cache to the docker build command. Default: - cache is used

  • cache_from (Optional[Sequence[Union[DockerCacheOption, Dict[str, Any]]]]) – Cache from options to pass to the docker build command. Default: - no cache from options are passed to the build command

  • cache_to (Union[DockerCacheOption, Dict[str, Any], None]) – Cache to options to pass to the docker build command. Default: - no cache to options are passed to the build command

  • file (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 parameters

  • network_mode (Optional[NetworkMode]) – Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking mode NetworkMode.DEFAULT will be used)

  • outputs (Optional[Sequence[str]]) – Outputs to pass to the docker 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 target

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_ecr_assets as ecr_assets

# network_mode: ecr_assets.NetworkMode
# platform: ecr_assets.Platform

docker_image_asset_options = ecr_assets.DockerImageAssetOptions(
    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"
)

Attributes

asset_name

Unique identifier of the docker image asset and its potential revisions.

Required if using AppScopedStagingSynthesizer.

Default:
  • no asset name

build_args

Build args to pass to the docker build command.

Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such as lambda.functionArn or queue.queueUrl).

Default:
  • no build args are passed

build_secrets

Build secrets.

Docker BuildKit must be enabled to use build secrets.

Default:
  • no build secrets

See:

https://docs.docker.com/build/buildkit/

Example:

from aws_cdk import DockerBuildSecret


build_secrets = {
    "MY_SECRET": DockerBuildSecret.from_src("file.txt")
}
build_ssh

SSH agent socket or keys to pass to the docker build command.

Docker BuildKit must be enabled to use the ssh flag

Default:
  • no –ssh flag

See:

https://docs.docker.com/build/buildkit/

cache_disabled

Disable the cache and pass --no-cache to the docker build command.

Default:
  • cache is used

cache_from

Cache from options to pass to the docker build command.

Default:
  • no cache from options are passed to the build command

See:

https://docs.docker.com/build/cache/backends/

cache_to

Cache to options to pass to the docker build command.

Default:
  • no cache to options are passed to the build command

See:

https://docs.docker.com/build/cache/backends/

exclude

File paths matching the patterns will be excluded.

See ignoreMode to set the matching behavior. Has no effect on Assets bundled using the bundling property.

Default:
  • nothing is excluded

extra_hash

Extra information to encode into the fingerprint (e.g. build instructions and other inputs).

Default:
  • hash is only based on source content

file

Path to the Dockerfile (relative to the directory).

Default:

‘Dockerfile’

A strategy for how to handle symlinks.

Default:

SymlinkFollowMode.NEVER

ignore_mode

The ignore behavior to use for exclude patterns.

Default:

IgnoreMode.GLOB

invalidation

Options to control which parameters are used to invalidate the asset hash.

Default:
  • hash all parameters

network_mode

Networking mode for the RUN commands during build.

Support docker API 1.25+.

Default:
  • no networking mode specified (the default networking mode NetworkMode.DEFAULT will be used)

outputs

Outputs to pass to the docker build command.

Default:
  • no outputs are passed to the build command (default outputs are used)

See:

https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs

platform

Platform to build for.

Requires Docker Buildx.

Default:
  • no platform specified (the current machine architecture will be used)

target

Docker target to build to.

Default:
  • no target