DockerImageAssetProps
- class aws_cdk.aws_ecr_assets.DockerImageAssetProps(*, 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, display_name=None, file=None, invalidation=None, network_mode=None, outputs=None, platform=None, target=None, directory)
Bases:
DockerImageAssetOptionsProps for DockerImageAssets.
- Parameters:
exclude (
Optional[Sequence[str]]) – File paths matching the patterns will be excluded. SeeignoreModeto set the matching behavior. Has no effect on Assets bundled using thebundlingproperty. 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 forexcludepatterns. Default: IgnoreMode.GLOBextra_hash (
Optional[str]) – Extra information to encode into the fingerprint (e.g. build instructions and other inputs). Default: - hash is only based on source contentasset_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 buildcommand. Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such aslambda.functionArnorqueue.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 buildcommand. Docker BuildKit must be enabled to use the ssh flag Default: - no –ssh flagcache_disabled (
Optional[bool]) – Disable the cache and pass--no-cacheto thedocker buildcommand. Default: - cache is usedcache_from (
Optional[Sequence[Union[DockerCacheOption,Dict[str,Any]]]]) – Cache from options to pass to thedocker buildcommand. 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 buildcommand. Default: - no cache to options are passed to the build commanddisplay_name (
Optional[str]) – A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. IfassetNameis given, it will also be used as the defaultdisplayName. Otherwise, the default is the construct path of the ImageAsset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such aslambda.Code.fromAssetImage()), this will look likeMyFunction/AssetImage. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won’t show something like/MyBetaStack/MyFunction/Codewhen you are actually deploying to production. Default: - Stack-relative construct pathfile (
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.DEFAULTwill be used)outputs (
Optional[Sequence[str]]) – Outputs to pass to thedocker buildcommand. 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 targetdirectory (
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 asset
- ExampleMetadata:
infused
Example:
from aws_cdk.aws_ecr_assets import DockerImageAsset asset = DockerImageAsset(self, "MyBuildImage", directory=path.join(__dirname, "my-image"), build_args={ "HTTP_PROXY": "http://10.20.30.2:1234" }, invalidation=ecr_assets.DockerImageAssetInvalidationOptions( build_args=False ) )
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 buildcommand.Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such as
lambda.functionArnorqueue.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:
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 buildcommand.Docker BuildKit must be enabled to use the ssh flag
- Default:
no –ssh flag
- See:
- cache_disabled
Disable the cache and pass
--no-cacheto thedocker buildcommand.- Default:
cache is used
- cache_from
Cache from options to pass to the
docker buildcommand.- Default:
no cache from options are passed to the build command
- See:
- cache_to
Cache to options to pass to the
docker buildcommand.- Default:
no cache to options are passed to the build command
- See:
- directory
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 asset
- display_name
A display name for this asset.
If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used.
If
assetNameis given, it will also be used as the defaultdisplayName. Otherwise, the default is the construct path of the ImageAsset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such aslambda.Code.fromAssetImage()), this will look likeMyFunction/AssetImage.We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won’t show something like
/MyBetaStack/MyFunction/Codewhen you are actually deploying to production.- Default:
Stack-relative construct path
- exclude
File paths matching the patterns will be excluded.
See
ignoreModeto set the matching behavior. Has no effect on Assets bundled using thebundlingproperty.- 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’
- follow_symlinks
A strategy for how to handle symlinks.
- Default:
SymlinkFollowMode.NEVER
- ignore_mode
The ignore behavior to use for
excludepatterns.- 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.DEFAULTwill be used)
- outputs
Outputs to pass to the
docker buildcommand.- 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