import { Value } from '../../../cloudformation/Value';
import { LaunchPermissionConfigurationProps } from './LaunchPermissionConfigurationProps';
/**
  Define and configure the output AMIs of the pipeline.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html">the AWS Docs</a>
*/
export interface AmiDistributionConfigurationProps {
    /** <code>AmiTags</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-amitags"></a>
  The tags to apply to AMIs distributed to this Region.<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> */
    amiTags?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>Description</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-description"></a>
  The description of the AMI distribution configuration. Minimum and maximum length are in characters.<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>KmsKeyId</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-kmskeyid"></a>
  The KMS key identifier used to encrypt the distributed image.<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> */
    kmsKeyId?: Value<string>;
    /** <code>LaunchPermissionConfiguration</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-launchpermissionconfiguration"></a>
  Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.<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> */
    launchPermissionConfiguration?: LaunchPermissionConfigurationProps;
    /** <code>TargetAccountIds</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-targetaccountids"></a>
  The ID of an account to which you want to distribute an image.<br />
  
  Required: No<br />
  
  Maximum: <code>1536</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> */
    targetAccountIds?: Value<Value<string>[]>;
    /** <code>Name</code>  <a name="cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-name"></a>
  The name of the output AMI.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>127</code><br />
  
  Pattern: <code>^[-_A-Za-z0-9{][-_A-Za-z0-9\s:{}\.]+[-_A-Za-z0-9}]$</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> */
    name?: Value<string>;
}
