Class AssetImage.Builder

java.lang.Object
software.amazon.awscdk.services.ecs.AssetImage.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<AssetImage>
Enclosing class:
AssetImage

@Stability(Stable) public static final class AssetImage.Builder extends Object implements software.amazon.jsii.Builder<AssetImage>
A fluent builder for AssetImage.
  • Method Details

    • create

      @Stability(Stable) public static AssetImage.Builder create(String directory)
      Parameters:
      directory - The directory containing the Dockerfile. This parameter is required.
      Returns:
      a new instance of AssetImage.Builder.
    • exclude

      @Stability(Stable) public AssetImage.Builder exclude(List<String> 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

      Parameters:
      exclude - File paths matching the patterns will be excluded. This parameter is required.
      Returns:
      this
    • followSymlinks

      @Stability(Stable) public AssetImage.Builder followSymlinks(SymlinkFollowMode followSymlinks)
      A strategy for how to handle symlinks.

      Default: SymlinkFollowMode.NEVER

      Parameters:
      followSymlinks - A strategy for how to handle symlinks. This parameter is required.
      Returns:
      this
    • ignoreMode

      @Stability(Stable) public AssetImage.Builder ignoreMode(IgnoreMode ignoreMode)
      The ignore behavior to use for exclude patterns.

      Default: IgnoreMode.GLOB

      Parameters:
      ignoreMode - The ignore behavior to use for exclude patterns. This parameter is required.
      Returns:
      this
    • extraHash

      @Stability(Stable) public AssetImage.Builder extraHash(String extraHash)
      Extra information to encode into the fingerprint (e.g. build instructions and other inputs).

      Default: - hash is only based on source content

      Parameters:
      extraHash - Extra information to encode into the fingerprint (e.g. build instructions and other inputs). This parameter is required.
      Returns:
      this
    • assetName

      @Stability(Stable) public AssetImage.Builder assetName(String assetName)
      Unique identifier of the docker image asset and its potential revisions.

      Required if using AppScopedStagingSynthesizer.

      Default: - no asset name

      Parameters:
      assetName - Unique identifier of the docker image asset and its potential revisions. This parameter is required.
      Returns:
      this
    • buildArgs

      @Stability(Stable) public AssetImage.Builder buildArgs(Map<String,String> buildArgs)
      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

      Parameters:
      buildArgs - Build args to pass to the docker build command. This parameter is required.
      Returns:
      this
    • buildSecrets

      @Stability(Stable) public AssetImage.Builder buildSecrets(Map<String,String> buildSecrets)
      Build secrets.

      Docker BuildKit must be enabled to use build secrets.

      Default: - no build secrets

      Example:

       import software.amazon.awscdk.DockerBuildSecret;
       Map<String, String> buildSecrets = Map.of(
               "MY_SECRET", DockerBuildSecret.fromSrc("file.txt"));
       

      Parameters:
      buildSecrets - Build secrets. This parameter is required.
      Returns:
      this
      See Also:
    • buildSsh

      @Stability(Stable) public AssetImage.Builder buildSsh(String buildSsh)
      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

      Parameters:
      buildSsh - SSH agent socket or keys to pass to the docker build command. This parameter is required.
      Returns:
      this
      See Also:
    • cacheDisabled

      @Stability(Stable) public AssetImage.Builder cacheDisabled(Boolean cacheDisabled)
      Disable the cache and pass --no-cache to the docker build command.

      Default: - cache is used

      Parameters:
      cacheDisabled - Disable the cache and pass --no-cache to the docker build command. This parameter is required.
      Returns:
      this
    • cacheFrom

      @Stability(Stable) public AssetImage.Builder cacheFrom(List<? extends DockerCacheOption> cacheFrom)
      Cache from options to pass to the docker build command.

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

      Parameters:
      cacheFrom - Cache from options to pass to the docker build command. This parameter is required.
      Returns:
      this
      See Also:
    • cacheTo

      @Stability(Stable) public AssetImage.Builder cacheTo(DockerCacheOption cacheTo)
      Cache to options to pass to the docker build command.

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

      Parameters:
      cacheTo - Cache to options to pass to the docker build command. This parameter is required.
      Returns:
      this
      See Also:
    • file

      @Stability(Stable) public AssetImage.Builder file(String file)
      Path to the Dockerfile (relative to the directory).

      Default: 'Dockerfile'

      Parameters:
      file - Path to the Dockerfile (relative to the directory). This parameter is required.
      Returns:
      this
    • invalidation

      @Stability(Stable) public AssetImage.Builder invalidation(DockerImageAssetInvalidationOptions invalidation)
      Options to control which parameters are used to invalidate the asset hash.

      Default: - hash all parameters

      Parameters:
      invalidation - Options to control which parameters are used to invalidate the asset hash. This parameter is required.
      Returns:
      this
    • networkMode

      @Stability(Stable) public AssetImage.Builder networkMode(NetworkMode 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)

      Parameters:
      networkMode - Networking mode for the RUN commands during build. This parameter is required.
      Returns:
      this
    • outputs

      @Stability(Stable) public AssetImage.Builder outputs(List<String> outputs)
      Outputs to pass to the docker build command.

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

      Parameters:
      outputs - Outputs to pass to the docker build command. This parameter is required.
      Returns:
      this
      See Also:
    • platform

      @Stability(Stable) public AssetImage.Builder platform(Platform platform)
      Platform to build for.

      Requires Docker Buildx.

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

      Parameters:
      platform - Platform to build for. This parameter is required.
      Returns:
      this
    • target

      @Stability(Stable) public AssetImage.Builder target(String target)
      Docker target to build to.

      Default: - no target

      Parameters:
      target - Docker target to build to. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public AssetImage build()
      Specified by:
      build in interface software.amazon.jsii.Builder<AssetImage>
      Returns:
      a newly built instance of AssetImage.