Class CfnImageRecipeProps.Builder

java.lang.Object
software.amazon.awscdk.services.imagebuilder.CfnImageRecipeProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnImageRecipeProps>
Enclosing interface:
CfnImageRecipeProps

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

    • Builder

      public Builder()
  • Method Details

    • name

      @Stability(Stable) public CfnImageRecipeProps.Builder name(String name)
      Parameters:
      name - The name of the image recipe. This parameter is required.
      Returns:
      this
    • parentImage

      @Stability(Stable) public CfnImageRecipeProps.Builder parentImage(String parentImage)
      Parameters:
      parentImage - The base image for customizations specified in the image recipe. This parameter is required. You can specify the parent image using one of the following options:

      • AMI ID
      • Image Builder image Amazon Resource Name (ARN)
      • AWS Systems Manager (SSM) Parameter Store Parameter, prefixed by ssm: , followed by the parameter name or ARN.
      • AWS Marketplace product ID
      Returns:
      this
    • version

      @Stability(Stable) public CfnImageRecipeProps.Builder version(String version)
      Parameters:
      version - The semantic version of the image recipe. This version follows the semantic version syntax. This parameter is required.

      The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.

      Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

      Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.

      Returns:
      this
    • additionalInstanceConfiguration

      @Stability(Stable) public CfnImageRecipeProps.Builder additionalInstanceConfiguration(IResolvable additionalInstanceConfiguration)
      Parameters:
      additionalInstanceConfiguration - Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration. Instance configuration adds a layer of control over those instances. You can define settings and add scripts to run when an instance is launched from your AMI.
      Returns:
      this
    • additionalInstanceConfiguration

      @Stability(Stable) public CfnImageRecipeProps.Builder additionalInstanceConfiguration(CfnImageRecipe.AdditionalInstanceConfigurationProperty additionalInstanceConfiguration)
      Parameters:
      additionalInstanceConfiguration - Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration. Instance configuration adds a layer of control over those instances. You can define settings and add scripts to run when an instance is launched from your AMI.
      Returns:
      this
    • amiTags

      @Stability(Stable) public CfnImageRecipeProps.Builder amiTags(Map<String,String> amiTags)
      Parameters:
      amiTags - Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.
      Returns:
      this
    • amiTags

      @Stability(Stable) public CfnImageRecipeProps.Builder amiTags(IResolvable amiTags)
      Parameters:
      amiTags - Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.
      Returns:
      this
    • blockDeviceMappings

      @Stability(Stable) public CfnImageRecipeProps.Builder blockDeviceMappings(IResolvable blockDeviceMappings)
      Parameters:
      blockDeviceMappings - The block device mappings to apply when creating images from this recipe.
      Returns:
      this
    • blockDeviceMappings

      @Stability(Stable) public CfnImageRecipeProps.Builder blockDeviceMappings(List<? extends Object> blockDeviceMappings)
      Parameters:
      blockDeviceMappings - The block device mappings to apply when creating images from this recipe.
      Returns:
      this
    • components

      @Stability(Stable) public CfnImageRecipeProps.Builder components(IResolvable components)
      Parameters:
      components - The components that are included in the image recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.
      Returns:
      this
    • components

      @Stability(Stable) public CfnImageRecipeProps.Builder components(List<? extends Object> components)
      Parameters:
      components - The components that are included in the image recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.
      Returns:
      this
    • description

      @Stability(Stable) public CfnImageRecipeProps.Builder description(String description)
      Parameters:
      description - The description of the image recipe.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnImageRecipeProps.Builder tags(Map<String,String> tags)
      Parameters:
      tags - The tags of the image recipe.
      Returns:
      this
    • workingDirectory

      @Stability(Stable) public CfnImageRecipeProps.Builder workingDirectory(String workingDirectory)
      Parameters:
      workingDirectory - The working directory to be used during build and test workflows.
      Returns:
      this
    • build

      @Stability(Stable) public CfnImageRecipeProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnImageRecipeProps>
      Returns:
      a new instance of CfnImageRecipeProps
      Throws:
      NullPointerException - if any required attribute was not provided