import { Value } from '../../cloudformation/Value';
import { ImageScanningConfigurationProps } from './imagepipeline/ImageScanningConfigurationProps';
import { ScheduleProps } from './imagepipeline/ScheduleProps';
import { ImageTestsConfigurationProps } from './imagepipeline/ImageTestsConfigurationProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ImagePipelineAttributes = {
    Arn: Attribute<string>;
    Name: Attribute<string>;
};
export type ImagePipeline = AwsResource<'AWS::ImageBuilder::ImagePipeline', ImagePipelineProperties, ImagePipelineAttributes>;
/**
  An image pipeline is the automation configuration for building secure OS images on AWS. The Image Builder image pipeline is associated with an image recipe that defines the build, validation, and test phases for an image build lifecycle. An image pipeline can be associated with an infrastructure configuration that defines where your image is built. You can define attributes, such as instance types, a subnet for your VPC, security groups, logging, and other infrastructure-related configurations. You can also associate your image pipeline with a distribution configuration to define how you would like to deploy your image.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html">the AWS Docs</a>
*/
export declare function imagePipeline(imagePipelineProps: ImagePipelineProperties): ImagePipeline;
/**
  An image pipeline is the automation configuration for building secure OS images on AWS. The Image Builder image pipeline is associated with an image recipe that defines the build, validation, and test phases for an image build lifecycle. An image pipeline can be associated with an infrastructure configuration that defines where your image is built. You can define attributes, such as instance types, a subnet for your VPC, security groups, logging, and other infrastructure-related configurations. You can also associate your image pipeline with a distribution configuration to define how you would like to deploy your image.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html">the AWS Docs</a>
*/
export interface ImagePipelineProperties {
    /** <code>Status</code>  <a name="cfn-imagebuilder-imagepipeline-status"></a>
  The status of the image pipeline.<br />
  
  Required: No<br />
  
  Allowed values: <code>DISABLED | ENABLED</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    status?: Value<'DISABLED' | 'ENABLED'>;
    /** <code>ImageScanningConfiguration</code>  <a name="cfn-imagebuilder-imagepipeline-imagescanningconfiguration"></a>
  Contains settings for vulnerability scans.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    imageScanningConfiguration?: ImageScanningConfigurationProps;
    /** <code>InfrastructureConfigurationArn</code>  <a name="cfn-imagebuilder-imagepipeline-infrastructureconfigurationarn"></a>
  The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    infrastructureConfigurationArn: Value<string>;
    /** <code>ImageRecipeArn</code>  <a name="cfn-imagebuilder-imagepipeline-imagerecipearn"></a>
  The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    imageRecipeArn?: Value<string>;
    /** <code>Description</code>  <a name="cfn-imagebuilder-imagepipeline-description"></a>
  The description of this image pipeline.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>DistributionConfigurationArn</code>  <a name="cfn-imagebuilder-imagepipeline-distributionconfigurationarn"></a>
  The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    distributionConfigurationArn?: Value<string>;
    /** <code>ContainerRecipeArn</code>  <a name="cfn-imagebuilder-imagepipeline-containerrecipearn"></a>
  The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    containerRecipeArn?: Value<string>;
    /** <code>Schedule</code>  <a name="cfn-imagebuilder-imagepipeline-schedule"></a>
  The schedule of the image pipeline. A schedule configures how often and when a pipeline automatically creates a new image.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    schedule?: ScheduleProps;
    /** <code>ImageTestsConfiguration</code>  <a name="cfn-imagebuilder-imagepipeline-imagetestsconfiguration"></a>
  The configuration of the image tests that run after image creation to ensure the quality of the image that was created.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    imageTestsConfiguration?: ImageTestsConfigurationProps;
    /** <code>EnhancedImageMetadataEnabled</code>  <a name="cfn-imagebuilder-imagepipeline-enhancedimagemetadataenabled"></a>
  Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    enhancedImageMetadataEnabled?: Value<boolean>;
    /** <code>Tags</code>  <a name="cfn-imagebuilder-imagepipeline-tags"></a>
  The tags of this image pipeline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>Name</code>  <a name="cfn-imagebuilder-imagepipeline-name"></a>
  The name of the image pipeline.<br />
  
  Required: Yes<br />
  
  Pattern: <code>^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
}
