Interface ImageRecipeProps

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

@Generated(value="jsii-pacmak/1.125.0 (build fdbe357)", date="2026-01-19T12:04:05.921Z") @Stability(Experimental) public interface ImageRecipeProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for creating an Image Recipe resource.

Example:

 IComponent parameterizedComponent = Component.fromComponentName(this, "ParameterizedComponent", "my-parameterized-component");
 ImageRecipe imageRecipe = ImageRecipe.Builder.create(this, "ParameterizedImageRecipe")
         .baseImage(BaseImage.fromSsmParameterName("/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64"))
         .components(List.of(ComponentConfiguration.builder()
                 .component(parameterizedComponent)
                 .parameters(Map.of(
                         "environment", ComponentParameterValue.fromString("production"),
                         "version", ComponentParameterValue.fromString("1.0.0")))
                 .build()))
         .build();
 
  • Method Details

    • getBaseImage

      @Stability(Experimental) @NotNull BaseImage getBaseImage()
      (experimental) The base image for customizations specified in the image recipe.
    • getAmiTags

      @Stability(Experimental) @Nullable default Map<String,String> getAmiTags()
      (experimental) The additional tags to assign to the output AMI generated by the build.

      Default: None

    • getBlockDevices

      @Stability(Experimental) @Nullable default List<BlockDevice> getBlockDevices()
      (experimental) The block devices to attach to the instance used for building the image.

      Default: None

    • getComponents

      @Stability(Experimental) @Nullable default List<ComponentConfiguration> getComponents()
      (experimental) The list of component configurations to apply in the image build.

      Default: None

    • getDescription

      @Stability(Experimental) @Nullable default String getDescription()
      (experimental) The description of the image recipe.

      Default: None

    • getImageRecipeName

      @Stability(Experimental) @Nullable default String getImageRecipeName()
      (experimental) The name of the image recipe.

      Default: - a name is generated

    • getImageRecipeVersion

      @Stability(Experimental) @Nullable default String getImageRecipeVersion()
      (experimental) The version of the image recipe.

      Default: 1.0.x

    • getTags

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

      Default: None

    • getUninstallSsmAgentAfterBuild

      @Stability(Experimental) @Nullable default Boolean getUninstallSsmAgentAfterBuild()
      (experimental) Whether to uninstall the Systems Manager agent from your final build image, prior to creating the new AMI.

      Default: - this is false if the Systems Manager agent is pre-installed on the base image. Otherwise, this is true.

    • getUserDataOverride

      @Stability(Experimental) @Nullable default UserData getUserDataOverride()
      (experimental) The user data commands to pass to Image Builder build and test EC2 instances.

      For Linux and macOS, Image Builder uses a default user data script to install the Systems Manager agent. If you override the user data, you must ensure to add commands to install Systems Manager agent, if it is not pre-installed on your base image.

      Default: None

    • getWorkingDirectory

      @Stability(Experimental) @Nullable default String getWorkingDirectory()
      (experimental) The working directory for use during build and test workflows.

      Default: - the Image Builder default working directory is used. For Linux and macOS builds, this would be /tmp. For Windows builds, this would be C:/

    • builder

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