

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::AppStream::AppBlockBuilder
<a name="aws-resource-appstream-appblockbuilder"></a>

Creates an app block builder.

## Syntax
<a name="aws-resource-appstream-appblockbuilder-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-appstream-appblockbuilder-syntax.json"></a>

```
{
  "Type" : "AWS::AppStream::AppBlockBuilder",
  "Properties" : {
      "[AccessEndpoints](#cfn-appstream-appblockbuilder-accessendpoints)" : [ AccessEndpoint, ... ],
      "[AppBlockArns](#cfn-appstream-appblockbuilder-appblockarns)" : [ String, ... ],
      "[Description](#cfn-appstream-appblockbuilder-description)" : String,
      "[DisplayName](#cfn-appstream-appblockbuilder-displayname)" : String,
      "[EnableDefaultInternetAccess](#cfn-appstream-appblockbuilder-enabledefaultinternetaccess)" : Boolean,
      "[IamRoleArn](#cfn-appstream-appblockbuilder-iamrolearn)" : String,
      "[InstanceType](#cfn-appstream-appblockbuilder-instancetype)" : String,
      "[Name](#cfn-appstream-appblockbuilder-name)" : String,
      "[Platform](#cfn-appstream-appblockbuilder-platform)" : String,
      "[Tags](#cfn-appstream-appblockbuilder-tags)" : [ Tag, ... ],
      "[VpcConfig](#cfn-appstream-appblockbuilder-vpcconfig)" : VpcConfig
    }
}
```

### YAML
<a name="aws-resource-appstream-appblockbuilder-syntax.yaml"></a>

```
Type: AWS::AppStream::AppBlockBuilder
Properties:
  [AccessEndpoints](#cfn-appstream-appblockbuilder-accessendpoints): 
    - AccessEndpoint
  [AppBlockArns](#cfn-appstream-appblockbuilder-appblockarns): 
    - String
  [Description](#cfn-appstream-appblockbuilder-description): String
  [DisplayName](#cfn-appstream-appblockbuilder-displayname): String
  [EnableDefaultInternetAccess](#cfn-appstream-appblockbuilder-enabledefaultinternetaccess): Boolean
  [IamRoleArn](#cfn-appstream-appblockbuilder-iamrolearn): String
  [InstanceType](#cfn-appstream-appblockbuilder-instancetype): String
  [Name](#cfn-appstream-appblockbuilder-name): String
  [Platform](#cfn-appstream-appblockbuilder-platform): String
  [Tags](#cfn-appstream-appblockbuilder-tags): 
    - Tag
  [VpcConfig](#cfn-appstream-appblockbuilder-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-resource-appstream-appblockbuilder-properties"></a>

`AccessEndpoints`  <a name="cfn-appstream-appblockbuilder-accessendpoints"></a>
The access endpoints of the app block builder.  
*Required*: No  
*Type*: Array of [AccessEndpoint](aws-properties-appstream-appblockbuilder-accessendpoint.md)  
*Minimum*: `1`  
*Maximum*: `4`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AppBlockArns`  <a name="cfn-appstream-appblockbuilder-appblockarns"></a>
The ARN of the app block.  
*Maximum*: `1`  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-appstream-appblockbuilder-description"></a>
The description of the app block builder.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DisplayName`  <a name="cfn-appstream-appblockbuilder-displayname"></a>
The display name of the app block builder.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnableDefaultInternetAccess`  <a name="cfn-appstream-appblockbuilder-enabledefaultinternetaccess"></a>
Indicates whether default internet access is enabled for the app block builder.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IamRoleArn`  <a name="cfn-appstream-appblockbuilder-iamrolearn"></a>
The ARN of the IAM role that is applied to the app block builder.  
*Required*: No  
*Type*: String  
*Pattern*: `^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}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-appstream-appblockbuilder-instancetype"></a>
The instance type of the app block builder.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-appstream-appblockbuilder-name"></a>
The name of the app block builder.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Platform`  <a name="cfn-appstream-appblockbuilder-platform"></a>
The platform of the app block builder.  
*Allowed values*: `WINDOWS_SERVER_2019`  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-appstream-appblockbuilder-tags"></a>
The tags of the app block builder.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-appstream-appblockbuilder-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConfig`  <a name="cfn-appstream-appblockbuilder-vpcconfig"></a>
The VPC configuration for the app block builder.  
*Required*: Yes  
*Type*: [VpcConfig](aws-properties-appstream-appblockbuilder-vpcconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-appstream-appblockbuilder-return-values"></a>

### Ref
<a name="aws-resource-appstream-appblockbuilder-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `Name` of the app block builder, such as `abcdefAppBlockBuilder`.

For more information about using the `Ref` function, see [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-appstream-appblockbuilder-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-appstream-appblockbuilder-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN of the app block builder.

`CreatedTime`  <a name="CreatedTime-fn::getatt"></a>
The time when the app block builder was created.

# AWS::AppStream::AppBlockBuilder AccessEndpoint
<a name="aws-properties-appstream-appblockbuilder-accessendpoint"></a>

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. When you specify an interface endpoint for a stack, users of the stack can connect to WorkSpaces Applications 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.

## Syntax
<a name="aws-properties-appstream-appblockbuilder-accessendpoint-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-appstream-appblockbuilder-accessendpoint-syntax.json"></a>

```
{
  "[EndpointType](#cfn-appstream-appblockbuilder-accessendpoint-endpointtype)" : String,
  "[VpceId](#cfn-appstream-appblockbuilder-accessendpoint-vpceid)" : String
}
```

### YAML
<a name="aws-properties-appstream-appblockbuilder-accessendpoint-syntax.yaml"></a>

```
  [EndpointType](#cfn-appstream-appblockbuilder-accessendpoint-endpointtype): String
  [VpceId](#cfn-appstream-appblockbuilder-accessendpoint-vpceid): String
```

## Properties
<a name="aws-properties-appstream-appblockbuilder-accessendpoint-properties"></a>

`EndpointType`  <a name="cfn-appstream-appblockbuilder-accessendpoint-endpointtype"></a>
The type of interface endpoint.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `STREAMING`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpceId`  <a name="cfn-appstream-appblockbuilder-accessendpoint-vpceid"></a>
The identifier (ID) of the VPC in which the interface endpoint is used.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppStream::AppBlockBuilder Tag
<a name="aws-properties-appstream-appblockbuilder-tag"></a>

The tag of the app block builder.

## Syntax
<a name="aws-properties-appstream-appblockbuilder-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-appstream-appblockbuilder-tag-syntax.json"></a>

```
{
  "[Key](#cfn-appstream-appblockbuilder-tag-key)" : String,
  "[Value](#cfn-appstream-appblockbuilder-tag-value)" : String
}
```

### YAML
<a name="aws-properties-appstream-appblockbuilder-tag-syntax.yaml"></a>

```
  [Key](#cfn-appstream-appblockbuilder-tag-key): String
  [Value](#cfn-appstream-appblockbuilder-tag-value): String
```

## Properties
<a name="aws-properties-appstream-appblockbuilder-tag-properties"></a>

`Key`  <a name="cfn-appstream-appblockbuilder-tag-key"></a>
The key of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-appstream-appblockbuilder-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppStream::AppBlockBuilder VpcConfig
<a name="aws-properties-appstream-appblockbuilder-vpcconfig"></a>

Describes VPC configuration information for fleets and image builders.

## Syntax
<a name="aws-properties-appstream-appblockbuilder-vpcconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-appstream-appblockbuilder-vpcconfig-syntax.json"></a>

```
{
  "[SecurityGroupIds](#cfn-appstream-appblockbuilder-vpcconfig-securitygroupids)" : [ String, ... ],
  "[SubnetIds](#cfn-appstream-appblockbuilder-vpcconfig-subnetids)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-appstream-appblockbuilder-vpcconfig-syntax.yaml"></a>

```
  [SecurityGroupIds](#cfn-appstream-appblockbuilder-vpcconfig-securitygroupids): 
    - String
  [SubnetIds](#cfn-appstream-appblockbuilder-vpcconfig-subnetids): 
    - String
```

## Properties
<a name="aws-properties-appstream-appblockbuilder-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-appstream-appblockbuilder-vpcconfig-securitygroupids"></a>
The identifiers of the security groups for the fleet or image builder.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubnetIds`  <a name="cfn-appstream-appblockbuilder-vpcconfig-subnetids"></a>
The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)