java.lang.Object
software.amazon.awscdk.services.imagebuilder.alpha.Image.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<Image>
Enclosing class:
Image

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

    • create

      @Stability(Experimental) public static Image.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of Image.Builder.
    • recipe

      @Stability(Experimental) public Image.Builder recipe(IRecipeBase recipe)
      (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.

      Parameters:
      recipe - The recipe that defines the base image, components, and customizations used to build the image. This parameter is required.
      Returns:
      this
    • deletionExecutionRole

      @Stability(Experimental) public Image.Builder deletionExecutionRole(IRole deletionExecutionRole)
      (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.

      Parameters:
      deletionExecutionRole - The execution role to use for deleting the image as well as the underlying resources, such as the AMIs, snapshots, and containers. This parameter is required.
      Returns:
      this
    • distributionConfiguration

      @Stability(Experimental) public Image.Builder distributionConfiguration(IDistributionConfiguration distributionConfiguration)
      (experimental) The distribution configuration used for distributing the image.

      Default: None

      Parameters:
      distributionConfiguration - The distribution configuration used for distributing the image. This parameter is required.
      Returns:
      this
    • enhancedImageMetadataEnabled

      @Stability(Experimental) public Image.Builder enhancedImageMetadataEnabled(Boolean enhancedImageMetadataEnabled)
      (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

      Parameters:
      enhancedImageMetadataEnabled - If enabled, collects additional information about the image being created, including the operating system (OS) version and package list for the AMI. This parameter is required.
      Returns:
      this
    • executionRole

      @Stability(Experimental) public Image.Builder executionRole(IRole executionRole)
      (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

      Parameters:
      executionRole - The execution role used to perform workflow actions to build the image. This parameter is required.
      Returns:
      this
    • imageScanningEcrRepository

      @Stability(Experimental) public Image.Builder imageScanningEcrRepository(IRepository imageScanningEcrRepository)
      (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

      Parameters:
      imageScanningEcrRepository - The container repository that Amazon Inspector scans to identify findings for your container images. This parameter is required.
      Returns:
      this
    • imageScanningEcrTags

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

      Default: None

      Parameters:
      imageScanningEcrTags - The tags for Image Builder to apply to the output container image that Amazon Inspector scans. This parameter is required.
      Returns:
      this
    • imageScanningEnabled

      @Stability(Experimental) public Image.Builder imageScanningEnabled(Boolean imageScanningEnabled)
      (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

      Parameters:
      imageScanningEnabled - 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. This parameter is required.
      Returns:
      this
    • imageTestsEnabled

      @Stability(Experimental) public Image.Builder imageTestsEnabled(Boolean imageTestsEnabled)
      (experimental) Whether to run tests after building an image.

      Default: true

      Parameters:
      imageTestsEnabled - Whether to run tests after building an image. This parameter is required.
      Returns:
      this
    • infrastructureConfiguration

      @Stability(Experimental) public Image.Builder infrastructureConfiguration(IInfrastructureConfiguration infrastructureConfiguration)
      (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

      Parameters:
      infrastructureConfiguration - The infrastructure configuration used for building the image. This parameter is required.
      Returns:
      this
    • logGroup

      @Stability(Experimental) public Image.Builder logGroup(ILogGroup logGroup)
      (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

      Parameters:
      logGroup - The log group to use for the image. This parameter is required.
      Returns:
      this
    • tags

      @Stability(Experimental) public Image.Builder tags(Map<String,String> tags)
      (experimental) The tags to apply to the image.

      Default: None

      Parameters:
      tags - The tags to apply to the image. This parameter is required.
      Returns:
      this
    • workflows

      @Stability(Experimental) public Image.Builder workflows(List<? extends WorkflowConfiguration> workflows)
      (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

      Parameters:
      workflows - The list of workflow configurations used to build the image. This parameter is required.
      Returns:
      this
    • build

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