import { Value } from '../../cloudformation/Value';
import { VpcConfigProps } from './imagebuilder/VpcConfigProps';
import { DomainJoinInfoProps } from './imagebuilder/DomainJoinInfoProps';
import { Tag } from '../Tag';
import { AccessEndpointProps } from './imagebuilder/AccessEndpointProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ImageBuilderAttributes = {
    StreamingUrl: Attribute<string>;
};
export type ImageBuilder = AwsResource<'AWS::AppStream::ImageBuilder', ImageBuilderProperties, ImageBuilderAttributes>;
/**
  The <code>AWS::AppStream::ImageBuilder</code> resource creates an image builder for Amazon AppStream 2.0. An image builder is a virtual machine that is used to create an image.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html">the AWS Docs</a>
*/
export declare function imageBuilder(imageBuilderProps: ImageBuilderProperties): ImageBuilder;
/**
  The <code>AWS::AppStream::ImageBuilder</code> resource creates an image builder for Amazon AppStream 2.0. An image builder is a virtual machine that is used to create an image.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html">the AWS Docs</a>
*/
export interface ImageBuilderProperties {
    /** <code>Description</code>  <a name="cfn-appstream-imagebuilder-description"></a>
  The description to display.<br />
  
  Required: No<br />
  
  Maximum: <code>256</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>VpcConfig</code>  <a name="cfn-appstream-imagebuilder-vpcconfig"></a>
  The VPC configuration for the image builder. You can specify only one subnet.<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> */
    vpcConfig?: VpcConfigProps;
    /** <code>EnableDefaultInternetAccess</code>  <a name="cfn-appstream-imagebuilder-enabledefaultinternetaccess"></a>
  Enables or disables default internet access for the image builder.<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> */
    enableDefaultInternetAccess?: Value<boolean>;
    /** <code>DomainJoinInfo</code>  <a name="cfn-appstream-imagebuilder-domainjoininfo"></a>
  The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.<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> */
    domainJoinInfo?: DomainJoinInfoProps;
    /** <code>AppstreamAgentVersion</code>  <a name="cfn-appstream-imagebuilder-appstreamagentversion"></a>
  The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</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> */
    appstreamAgentVersion?: Value<string>;
    /** <code>Name</code>  <a name="cfn-appstream-imagebuilder-name"></a>
  A unique name for the image builder.<br />
  
  Required: Yes<br />
  
  Pattern: <code>^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$</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>;
    /** <code>ImageName</code>  <a name="cfn-appstream-imagebuilder-imagename"></a>
  The name of the image used to create the image builder.<br />
  
  Required: No<br />
  
  Minimum: <code>1</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> */
    imageName?: Value<string>;
    /** <code>DisplayName</code>  <a name="cfn-appstream-imagebuilder-displayname"></a>
  The image builder name to display.<br />
  
  Required: No<br />
  
  Maximum: <code>100</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> */
    displayName?: Value<string>;
    /** <code>IamRoleArn</code>  <a name="cfn-appstream-imagebuilder-iamrolearn"></a>
  The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service <code>AssumeRole</code> API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the <strong>appstream_machine_role</strong> credential profile on the instance.<br />
  For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html">Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances</a> in the
  Amazon AppStream 2.0 Administration Guide: br />
  
  Required: No<br />
  
  Pattern: <code>^arn:aws(?:\-cn|\-iso\-b|\-iso|\-us\-gov)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.\\-]{0,1023}$</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> */
    iamRoleArn?: Value<string>;
    /** <p> */
    instanceType: Value<string>;
    /** <code>Tags</code>  <a name="cfn-appstream-imagebuilder-tags"></a>
  An array of key-value pairs.<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?: Tag[];
    /** <code>ImageArn</code>  <a name="cfn-appstream-imagebuilder-imagearn"></a>
  The ARN of the public, private, or shared image to use.<br />
  
  Required: No<br />
  
  Pattern: <code>^arn:aws(?:\-cn|\-iso\-b|\-iso|\-us\-gov)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.\\-]{0,1023}$</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> */
    imageArn?: Value<string>;
    /** <code>AccessEndpoints</code>  <a name="cfn-appstream-imagebuilder-accessendpoints"></a>
  The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.<br />
  
  Required: No<br />
  
  Maximum: <code>4</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> */
    accessEndpoints?: AccessEndpointProps[];
}
