Class ImagePipeline.Builder

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

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

    • create

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

      @Stability(Experimental) public ImagePipeline.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
    • description

      @Stability(Experimental) public ImagePipeline.Builder description(String description)
      (experimental) The description of the image pipeline.

      Default: None

      Parameters:
      description - The description of the image pipeline. This parameter is required.
      Returns:
      this
    • distributionConfiguration

      @Stability(Experimental) public ImagePipeline.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 ImagePipeline.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 ImagePipeline.Builder executionRole(IRole executionRole)
      (experimental) The execution role used to perform workflow actions to build this 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 pipeline, 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 this image. This parameter is required.
      Returns:
      this
    • imageLogGroup

      @Stability(Experimental) public ImagePipeline.Builder imageLogGroup(ILogGroup imageLogGroup)
      (experimental) The log group to use for images created from the image pipeline.

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

      Default: - a log group will be created

      Parameters:
      imageLogGroup - The log group to use for images created from the image pipeline. This parameter is required.
      Returns:
      this
    • imagePipelineLogGroup

      @Stability(Experimental) public ImagePipeline.Builder imagePipelineLogGroup(ILogGroup imagePipelineLogGroup)
      (experimental) The log group to use for the image pipeline.

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

      Default: - a log group will be created

      Parameters:
      imagePipelineLogGroup - The log group to use for the image pipeline. This parameter is required.
      Returns:
      this
    • imagePipelineName

      @Stability(Experimental) public ImagePipeline.Builder imagePipelineName(String imagePipelineName)
      (experimental) The name of the image pipeline.

      Default: - a name is generated

      Parameters:
      imagePipelineName - The name of the image pipeline. This parameter is required.
      Returns:
      this
    • imageScanningEcrRepository

      @Stability(Experimental) public ImagePipeline.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 ImagePipeline.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 ImagePipeline.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 ImagePipeline.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 ImagePipeline.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.

      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
    • schedule

      @Stability(Experimental) public ImagePipeline.Builder schedule(ImagePipelineSchedule schedule)
      (experimental) The schedule of the image pipeline.

      This configures how often and when a pipeline automatically creates a new image.

      Default: - none, a manual image pipeline will be created

      Parameters:
      schedule - The schedule of the image pipeline. This parameter is required.
      Returns:
      this
    • status

      @Stability(Experimental) public ImagePipeline.Builder status(ImagePipelineStatus status)
      (experimental) Indicates whether the pipeline is enabled to be triggered by the provided schedule.

      Default: ImagePipelineStatus.ENABLED

      Parameters:
      status - Indicates whether the pipeline is enabled to be triggered by the provided schedule. This parameter is required.
      Returns:
      this
    • tags

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

      Default: None

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

      @Stability(Experimental) public ImagePipeline.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 ImagePipeline build()
      Specified by:
      build in interface software.amazon.jsii.Builder<ImagePipeline>
      Returns:
      a newly built instance of ImagePipeline.