# Amazon AppStream 2.0 Construct Library

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

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

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 AppStream construct libraries](https://constructs.dev/search?q=appstream)
- 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::AppStream resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppStream.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::AppStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppStream.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 |
| --- | --- | --- |
| [`CfnAppBlock`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlock) | Construct (L1) | This resource creates an app block. |
| [`CfnAppBlockBuilder`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlockBuilder) | Construct (L1) | Creates an app block builder. |
| [`CfnApplication`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplication) | Construct (L1) | This resource creates an application. |
| [`CfnApplicationEntitlementAssociation`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplicationEntitlementAssociation) | Construct (L1) | Associates an application to an entitlement. |
| [`CfnApplicationFleetAssociation`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplicationFleetAssociation) | Construct (L1) | This resource associates the specified application with the specified fleet. |
| [`CfnDirectoryConfig`](/v2/docs/aws-cdk-lib.aws_appstream.CfnDirectoryConfig) | Construct (L1) | The `AWS::AppStream::DirectoryConfig` resource specifies the configuration information required to join Amazon AppStream 2.0 fleets and image builders to Microsoft Active Directory domains. |
| [`CfnEntitlement`](/v2/docs/aws-cdk-lib.aws_appstream.CfnEntitlement) | Construct (L1) | Creates an entitlement to control access, based on user attributes, to specific applications within a stack. |
| [`CfnFleet`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet) | Construct (L1) | The `AWS::AppStream::Fleet` resource creates a fleet for Amazon AppStream 2.0. A fleet consists of streaming instances that run a specified image when using Always-On or On-Demand. |
| [`CfnImageBuilder`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilder) | Construct (L1) | The `AWS::AppStream::ImageBuilder` resource creates an image builder for Amazon AppStream 2.0. An image builder is a virtual machine that is used to create an image. |
| [`CfnStack`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack) | Construct (L1) | The `AWS::AppStream::Stack` resource creates a stack to start streaming applications to Amazon AppStream 2.0 users. A stack consists of an associated fleet, user access policies, and storage configurations. |
| [`CfnStackFleetAssociation`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStackFleetAssociation) | Construct (L1) | The `AWS::AppStream::StackFleetAssociation` resource associates the specified fleet with the specified stack for Amazon AppStream 2.0. |
| [`CfnStackUserAssociation`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStackUserAssociation) | Construct (L1) | The `AWS::AppStream::StackUserAssociation` resource associates the specified users with the specified stacks for Amazon AppStream 2.0. Users in an AppStream 2.0 user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain. |
| [`CfnUser`](/v2/docs/aws-cdk-lib.aws_appstream.CfnUser) | Construct (L1) | The `AWS::AppStream::User` resource creates a new user in the AppStream 2.0 user pool. |
| [`CfnAppBlock.S3LocationProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlock.S3LocationProperty) | Struct | The S3 location of the app block. |
| [`CfnAppBlock.ScriptDetailsProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlock.ScriptDetailsProperty) | Struct | The details of the script. |
| [`CfnAppBlockBuilder.AccessEndpointProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlockBuilder.AccessEndpointProperty) | Struct | Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and AppStream 2.0. When you specify an interface endpoint for a stack, users of the stack can connect to AppStream 2.0 only through that endpoint. When you specify an interface endpoint for an image builder, administrators can connect to the image builder only through that endpoint. |
| [`CfnAppBlockBuilder.VpcConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlockBuilder.VpcConfigProperty) | Struct | Describes VPC configuration information for fleets and image builders. |
| [`CfnAppBlockBuilderProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlockBuilderProps) | Struct | Properties for defining a `CfnAppBlockBuilder`. |
| [`CfnAppBlockProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnAppBlockProps) | Struct | Properties for defining a `CfnAppBlock`. |
| [`CfnApplication.S3LocationProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplication.S3LocationProperty) | Struct | The S3 location of the application icon. |
| [`CfnApplicationEntitlementAssociationProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplicationEntitlementAssociationProps) | Struct | Properties for defining a `CfnApplicationEntitlementAssociation`. |
| [`CfnApplicationFleetAssociationProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplicationFleetAssociationProps) | Struct | Properties for defining a `CfnApplicationFleetAssociation`. |
| [`CfnApplicationProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnApplicationProps) | Struct | Properties for defining a `CfnApplication`. |
| [`CfnDirectoryConfig.CertificateBasedAuthPropertiesProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnDirectoryConfig.CertificateBasedAuthPropertiesProperty) | Struct | The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. |
| [`CfnDirectoryConfig.ServiceAccountCredentialsProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnDirectoryConfig.ServiceAccountCredentialsProperty) | Struct | The credentials for the service account used by the streaming instance to connect to the directory. |
| [`CfnDirectoryConfigProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnDirectoryConfigProps) | Struct | Properties for defining a `CfnDirectoryConfig`. |
| [`CfnEntitlement.AttributeProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnEntitlement.AttributeProperty) | Struct | An attribute that belongs to an entitlement. |
| [`CfnEntitlementProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnEntitlementProps) | Struct | Properties for defining a `CfnEntitlement`. |
| [`CfnFleet.ComputeCapacityProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet.ComputeCapacityProperty) | Struct | The desired capacity for a fleet. |
| [`CfnFleet.DomainJoinInfoProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet.DomainJoinInfoProperty) | Struct | The name of the directory and organizational unit (OU) to use to join a fleet to a Microsoft Active Directory domain. |
| [`CfnFleet.S3LocationProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet.S3LocationProperty) | Struct | Describes the S3 location. |
| [`CfnFleet.VolumeConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet.VolumeConfigProperty) | Struct |  |
| [`CfnFleet.VpcConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleet.VpcConfigProperty) | Struct | The VPC configuration information for the fleet. |
| [`CfnFleetProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnFleetProps) | Struct | Properties for defining a `CfnFleet`. |
| [`CfnImageBuilder.AccessEndpointProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilder.AccessEndpointProperty) | Struct | Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and WorkSpaces Applications. |
| [`CfnImageBuilder.DomainJoinInfoProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilder.DomainJoinInfoProperty) | Struct | The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain. |
| [`CfnImageBuilder.VolumeConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilder.VolumeConfigProperty) | Struct |  |
| [`CfnImageBuilder.VpcConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilder.VpcConfigProperty) | Struct | The VPC configuration for the image builder. |
| [`CfnImageBuilderProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnImageBuilderProps) | Struct | Properties for defining a `CfnImageBuilder`. |
| [`CfnStack.AccessEndpointProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.AccessEndpointProperty) | Struct | Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and WorkSpaces Applications. |
| [`CfnStack.AgentAccessConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.AgentAccessConfigProperty) | Struct | The configuration for agent access on a stack. |
| [`CfnStack.AgentAccessSettingProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.AgentAccessSettingProperty) | Struct | A permission setting for an agent action. |
| [`CfnStack.ApplicationSettingsProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.ApplicationSettingsProperty) | Struct | The persistent application settings for users of a stack. |
| [`CfnStack.ContentRedirectionProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.ContentRedirectionProperty) | Struct | The content redirection settings for the stack. |
| [`CfnStack.StorageConnectorProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.StorageConnectorProperty) | Struct | A connector that enables persistent storage for users. |
| [`CfnStack.StreamingExperienceSettingsProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.StreamingExperienceSettingsProperty) | Struct | The streaming protocol that you want your stack to prefer. |
| [`CfnStack.UrlRedirectionConfigProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.UrlRedirectionConfigProperty) | Struct | The configuration for URL redirection. |
| [`CfnStack.UserSettingProperty`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStack.UserSettingProperty) | Struct | Specifies an action and whether the action is enabled or disabled for users during their streaming sessions. |
| [`CfnStackFleetAssociationProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStackFleetAssociationProps) | Struct | Properties for defining a `CfnStackFleetAssociation`. |
| [`CfnStackProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStackProps) | Struct | Properties for defining a `CfnStack`. |
| [`CfnStackUserAssociationProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnStackUserAssociationProps) | Struct | Properties for defining a `CfnStackUserAssociation`. |
| [`CfnUserProps`](/v2/docs/aws-cdk-lib.aws_appstream.CfnUserProps) | Struct | Properties for defining a `CfnUser`. |
