# AWS::ImageBuilder Construct Library

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.

```ts
import * as imagebuilder from 'aws-cdk-lib/aws-imagebuilder';
```

There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:

- Search [Construct Hub for ImageBuilder construct libraries](https://constructs.dev/search?q=imagebuilder)
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::ImageBuilder resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ImageBuilder.html) directly.

There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::ImageBuilder](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ImageBuilder.html).

(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)

## Types

| Name | Kind | Summary |
| --- | --- | --- |
| [`CfnComponent`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnComponent) | Construct (L1) | Creates a new component that can be used to build, validate, test, and assess your image. |
| [`CfnContainerRecipe`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe) | Construct (L1) | Creates a new container recipe. |
| [`CfnDistributionConfiguration`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration) | Construct (L1) | A distribution configuration allows you to specify the name and description of your output AMI, authorize other AWS account s to launch the AMI, and replicate the AMI to other AWS Regions . |
| [`CfnImage`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage) | Construct (L1) | Creates a new image. |
| [`CfnImagePipeline`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline) | Construct (L1) | An image pipeline is the automation configuration for building secure OS images on AWS . |
| [`CfnImageRecipe`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe) | Construct (L1) | Creates a new image recipe. |
| [`CfnInfrastructureConfiguration`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration) | Construct (L1) | Creates a new infrastructure configuration. |
| [`CfnLifecyclePolicy`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy) | Construct (L1) | Create a lifecycle policy resource. |
| [`CfnWorkflow`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnWorkflow) | Construct (L1) | Create a new workflow or a new version of an existing workflow. |
| [`CfnComponent.LatestVersionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnComponent.LatestVersionProperty) | Struct | The resource ARNs with different wildcard variations of semantic versioning. |
| [`CfnComponentProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnComponentProps) | Struct | Properties for defining a `CfnComponent`. |
| [`CfnContainerRecipe.ComponentConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.ComponentConfigurationProperty) | Struct | Configuration details of the component. |
| [`CfnContainerRecipe.ComponentParameterProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.ComponentParameterProperty) | Struct | Contains a key/value pair that sets the named component parameter. |
| [`CfnContainerRecipe.EbsInstanceBlockDeviceSpecificationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.EbsInstanceBlockDeviceSpecificationProperty) | Struct | Amazon EBS-specific block device mapping specifications. |
| [`CfnContainerRecipe.InstanceBlockDeviceMappingProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.InstanceBlockDeviceMappingProperty) | Struct | Defines block device mappings for the instance used to configure your image. |
| [`CfnContainerRecipe.InstanceConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.InstanceConfigurationProperty) | Struct | Defines a custom base AMI and block device mapping configurations of an instance used for building and testing container images. |
| [`CfnContainerRecipe.LatestVersionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.LatestVersionProperty) | Struct | The resource ARNs with different wildcard variations of semantic versioning. |
| [`CfnContainerRecipe.TargetContainerRepositoryProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe.TargetContainerRepositoryProperty) | Struct | The container repository where the output container image is stored. |
| [`CfnContainerRecipeProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnContainerRecipeProps) | Struct | Properties for defining a `CfnContainerRecipe`. |
| [`CfnDistributionConfiguration.AmiDistributionConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.AmiDistributionConfigurationProperty) | Struct | Define and configure the output AMIs of the pipeline. |
| [`CfnDistributionConfiguration.ContainerDistributionConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.ContainerDistributionConfigurationProperty) | Struct | Container distribution settings for encryption, licensing, and sharing in a specific Region. |
| [`CfnDistributionConfiguration.DistributionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.DistributionProperty) | Struct | The distribution configuration distribution defines the settings for a specific Region in the Distribution Configuration. |
| [`CfnDistributionConfiguration.FastLaunchConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.FastLaunchConfigurationProperty) | Struct | Define and configure faster launching for output Windows AMIs. |
| [`CfnDistributionConfiguration.FastLaunchLaunchTemplateSpecificationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.FastLaunchLaunchTemplateSpecificationProperty) | Struct | Identifies the launch template that the associated Windows AMI uses for launching an instance when faster launching is enabled. |
| [`CfnDistributionConfiguration.FastLaunchSnapshotConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.FastLaunchSnapshotConfigurationProperty) | Struct | Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI. |
| [`CfnDistributionConfiguration.LaunchPermissionConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.LaunchPermissionConfigurationProperty) | Struct | Describes the configuration for a launch permission. |
| [`CfnDistributionConfiguration.LaunchTemplateConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.LaunchTemplateConfigurationProperty) | Struct | Identifies an Amazon EC2 launch template to use for a specific account. |
| [`CfnDistributionConfiguration.SsmParameterConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.SsmParameterConfigurationProperty) | Struct | Configuration for a single Parameter in the AWS Systems Manager (SSM) Parameter Store in a given Region. |
| [`CfnDistributionConfiguration.TargetContainerRepositoryProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration.TargetContainerRepositoryProperty) | Struct | The container repository where the output container image is stored. |
| [`CfnDistributionConfigurationProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnDistributionConfigurationProps) | Struct | Properties for defining a `CfnDistributionConfiguration`. |
| [`CfnImage.DeletionSettingsProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.DeletionSettingsProperty) | Struct | Contains deletion settings of underlying resources of an image when it is replaced or deleted, including its Amazon Machine Images (AMIs), snapshots, or containers. |
| [`CfnImage.EcrConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.EcrConfigurationProperty) | Struct | Settings that Image Builder uses to configure the ECR repository and the output container images that Amazon Inspector scans. |
| [`CfnImage.ImageLoggingConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.ImageLoggingConfigurationProperty) | Struct | The logging configuration that's defined for the image. |
| [`CfnImage.ImagePipelineExecutionSettingsProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.ImagePipelineExecutionSettingsProperty) | Struct | Contains settings for starting an image pipeline execution. |
| [`CfnImage.ImageScanningConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.ImageScanningConfigurationProperty) | Struct | Contains settings for Image Builder image resource and container image scans. |
| [`CfnImage.ImageTestsConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.ImageTestsConfigurationProperty) | Struct | When you create an image or container recipe with Image Builder , you can add the build or test components that are used to create the final image. |
| [`CfnImage.LatestVersionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.LatestVersionProperty) | Struct | The resource ARNs with different wildcard variations of semantic versioning. |
| [`CfnImage.WorkflowConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.WorkflowConfigurationProperty) | Struct | Contains control settings and configurable inputs for a workflow resource. |
| [`CfnImage.WorkflowParameterProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImage.WorkflowParameterProperty) | Struct | Contains a key/value pair that sets the named workflow parameter. |
| [`CfnImagePipeline.AutoDisablePolicyProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.AutoDisablePolicyProperty) | Struct | Defines the rules by which an image pipeline is automatically disabled when it fails. |
| [`CfnImagePipeline.EcrConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.EcrConfigurationProperty) | Struct | Settings that Image Builder uses to configure the ECR repository and the output container images that Amazon Inspector scans. |
| [`CfnImagePipeline.ImageScanningConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.ImageScanningConfigurationProperty) | Struct | Contains settings for Image Builder image resource and container image scans. |
| [`CfnImagePipeline.ImageTestsConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.ImageTestsConfigurationProperty) | Struct | When you create an image or container recipe with Image Builder , you can add the build or test components that your image pipeline uses to create the final image. |
| [`CfnImagePipeline.PipelineLoggingConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.PipelineLoggingConfigurationProperty) | Struct | The logging configuration that's defined for pipeline execution. |
| [`CfnImagePipeline.ScheduleProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.ScheduleProperty) | Struct | A schedule configures when and how often a pipeline will automatically create a new image. |
| [`CfnImagePipeline.WorkflowConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.WorkflowConfigurationProperty) | Struct | Contains control settings and configurable inputs for a workflow resource. |
| [`CfnImagePipeline.WorkflowParameterProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipeline.WorkflowParameterProperty) | Struct | Contains a key/value pair that sets the named workflow parameter. |
| [`CfnImagePipelineProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImagePipelineProps) | Struct | Properties for defining a `CfnImagePipeline`. |
| [`CfnImageProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageProps) | Struct | Properties for defining a `CfnImage`. |
| [`CfnImageRecipe.AdditionalInstanceConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.AdditionalInstanceConfigurationProperty) | Struct | In addition to your infrastructure configuration, these settings provide an extra layer of control over your build instances. |
| [`CfnImageRecipe.ComponentConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.ComponentConfigurationProperty) | Struct | Configuration details of the component. |
| [`CfnImageRecipe.ComponentParameterProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.ComponentParameterProperty) | Struct | Contains a key/value pair that sets the named component parameter. |
| [`CfnImageRecipe.EbsInstanceBlockDeviceSpecificationProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.EbsInstanceBlockDeviceSpecificationProperty) | Struct | The image recipe EBS instance block device specification includes the Amazon EBS-specific block device mapping specifications for the image. |
| [`CfnImageRecipe.InstanceBlockDeviceMappingProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.InstanceBlockDeviceMappingProperty) | Struct | Defines block device mappings for the instance used to configure your image. |
| [`CfnImageRecipe.LatestVersionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.LatestVersionProperty) | Struct | The resource ARNs with different wildcard variations of semantic versioning. |
| [`CfnImageRecipe.SystemsManagerAgentProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipe.SystemsManagerAgentProperty) | Struct | Contains settings for the Systems Manager agent on your build instance. |
| [`CfnImageRecipeProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnImageRecipeProps) | Struct | Properties for defining a `CfnImageRecipe`. |
| [`CfnInfrastructureConfiguration.InstanceMetadataOptionsProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration.InstanceMetadataOptionsProperty) | Struct | The instance metadata options that apply to the HTTP requests that pipeline builds use to launch EC2 build and test instances. |
| [`CfnInfrastructureConfiguration.LoggingProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration.LoggingProperty) | Struct | Logging configuration defines where Image Builder uploads your logs. |
| [`CfnInfrastructureConfiguration.PlacementProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration.PlacementProperty) | Struct | By default, EC2 instances run on shared tenancy hardware. |
| [`CfnInfrastructureConfiguration.S3LogsProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration.S3LogsProperty) | Struct | Amazon S3 logging configuration. |
| [`CfnInfrastructureConfigurationProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfigurationProps) | Struct | Properties for defining a `CfnInfrastructureConfiguration`. |
| [`CfnLifecyclePolicy.ActionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.ActionProperty) | Struct | Contains selection criteria for the lifecycle policy. |
| [`CfnLifecyclePolicy.AmiExclusionRulesProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.AmiExclusionRulesProperty) | Struct | Defines criteria for AMIs that are excluded from lifecycle actions. |
| [`CfnLifecyclePolicy.ExclusionRulesProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.ExclusionRulesProperty) | Struct | Specifies resources that lifecycle policy actions should not apply to. |
| [`CfnLifecyclePolicy.FilterProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.FilterProperty) | Struct | Defines filters that the lifecycle policy uses to determine impacted resource. |
| [`CfnLifecyclePolicy.IncludeResourcesProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.IncludeResourcesProperty) | Struct | Specifies how the lifecycle policy should apply actions to selected resources. |
| [`CfnLifecyclePolicy.LastLaunchedProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.LastLaunchedProperty) | Struct | Defines criteria to exclude AMIs from lifecycle actions based on the last time they were used to launch an instance. |
| [`CfnLifecyclePolicy.PolicyDetailProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.PolicyDetailProperty) | Struct | The configuration details for a lifecycle policy resource. |
| [`CfnLifecyclePolicy.RecipeSelectionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.RecipeSelectionProperty) | Struct | Specifies an Image Builder recipe that the lifecycle policy uses for resource selection. |
| [`CfnLifecyclePolicy.ResourceSelectionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicy.ResourceSelectionProperty) | Struct | Resource selection criteria for the lifecycle policy. |
| [`CfnLifecyclePolicyProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnLifecyclePolicyProps) | Struct | Properties for defining a `CfnLifecyclePolicy`. |
| [`CfnWorkflow.LatestVersionProperty`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnWorkflow.LatestVersionProperty) | Struct | The resource ARNs with different wildcard variations of semantic versioning. |
| [`CfnWorkflowProps`](/v2/docs/aws-cdk-lib.aws_imagebuilder.CfnWorkflowProps) | Struct | Properties for defining a `CfnWorkflow`. |
