All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ImageProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.120.0 (build 192dc88)", date="2025-12-05T22:26:50.062Z") @Stability(Experimental) public interface ImageProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for creating an Image resource.

Example:

 ContainerRecipe containerRecipe = ContainerRecipe.Builder.create(this, "MyContainerRecipe")
         .baseImage(BaseContainerImage.fromDockerHub("amazonlinux", "latest"))
         .targetRepository(Repository.fromEcr(Repository.fromRepositoryName(this, "Repository", "my-container-repo")))
         .build();
 Image containerImage = Image.Builder.create(this, "MyContainerImage")
         .recipe(containerRecipe)
         .build();
 
  • Method Details

    • getRecipe

      @Stability(Experimental) @NotNull IRecipeBase getRecipe()
      (experimental) The recipe that defines the base image, components, and customizations used to build the image.

      This can either be an image recipe, or a container recipe.

    • getDeletionExecutionRole

      @Stability(Experimental) @Nullable default IRole getDeletionExecutionRole()
      (experimental) The execution role to use for deleting the image as well as the underlying resources, such as the AMIs, snapshots, and containers.

      This role should contain resource lifecycle permissions required to delete the underlying AMIs/containers.

      Default: - no execution role. Only the Image Builder image will be deleted.

    • getDistributionConfiguration

      @Stability(Experimental) @Nullable default IDistributionConfiguration getDistributionConfiguration()
      (experimental) The distribution configuration used for distributing the image.

      Default: None

    • getEnhancedImageMetadataEnabled

      @Stability(Experimental) @Nullable default Boolean getEnhancedImageMetadataEnabled()
      (experimental) If enabled, collects additional information about the image being created, including the operating system (OS) version and package list for the AMI.

      Default: true

    • getExecutionRole

      @Stability(Experimental) @Nullable default IRole getExecutionRole()
      (experimental) The execution role used to perform workflow actions to build the image.

      By default, the Image Builder Service Linked Role (SLR) will be created automatically and used as the execution role. However, when providing a custom set of image workflows for the image, an execution role will be generated with the minimal permissions needed to execute the workflows.

      Default: - Image Builder will use the SLR if possible. Otherwise, an execution role will be generated

    • getImageScanningEcrRepository

      @Stability(Experimental) @Nullable default IRepository getImageScanningEcrRepository()
      (experimental) The container repository that Amazon Inspector scans to identify findings for your container images.

      If a repository is not provided, Image Builder creates a repository named image-builder-image-scanning-repository for vulnerability scanning.

      Default: - if scanning is enabled, a repository will be created by Image Builder if one is not provided

    • getImageScanningEcrTags

      @Stability(Experimental) @Nullable default List<String> getImageScanningEcrTags()
      (experimental) The tags for Image Builder to apply to the output container image that Amazon Inspector scans.

      Default: None

    • getImageScanningEnabled

      @Stability(Experimental) @Nullable default Boolean getImageScanningEnabled()
      (experimental) Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image.

      Default: false

    • getImageTestsEnabled

      @Stability(Experimental) @Nullable default Boolean getImageTestsEnabled()
      (experimental) Whether to run tests after building an image.

      Default: true

    • getInfrastructureConfiguration

      @Stability(Experimental) @Nullable default IInfrastructureConfiguration getInfrastructureConfiguration()
      (experimental) The infrastructure configuration used for building the image.

      A default infrastructure configuration will be used if one is not provided.

      The default configuration will create an instance profile and role with minimal permissions needed to build the image, attached to the EC2 instance.

      IMDSv2 will be required by default on the instances used to build and test the image.

      Default: - an infrastructure configuration will be created with the default settings

    • getLogGroup

      @Stability(Experimental) @Nullable default ILogGroup getLogGroup()
      (experimental) The log group to use for the image.

      By default, a log group will be created with the format /aws/imagebuilder/<image-name>

      Default: - a log group will be created

    • getTags

      @Stability(Experimental) @Nullable default Map<String,String> getTags()
      (experimental) The tags to apply to the image.

      Default: None

    • getWorkflows

      @Stability(Experimental) @Nullable default List<WorkflowConfiguration> getWorkflows()
      (experimental) The list of workflow configurations used to build the image.

      Default: - Image Builder will use a default set of workflows for the build to build, test, and distribute the image

    • builder

      @Stability(Experimental) static ImageProps.Builder builder()
      Returns:
      a ImageProps.Builder of ImageProps