CreateAppBlockBuilder - Amazon AppStream 2.0


Creates an app block builder.

Request Syntax

{ "AccessEndpoints": [ { "EndpointType": "string", "VpceId": "string" } ], "Description": "string", "DisplayName": "string", "EnableDefaultInternetAccess": boolean, "IamRoleArn": "string", "InstanceType": "string", "Name": "string", "Platform": "string", "Tags": { "string" : "string" }, "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ] } }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.


The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

Type: Array of AccessEndpoint objects

Array Members: Minimum number of 1 item. Maximum number of 4 items.

Required: No


The description of the app block builder.

Type: String

Length Constraints: Maximum length of 256.

Required: No


The display name of the app block builder.

Type: String

Length Constraints: Maximum length of 100.

Required: No


Enables or disables default internet access for the app block builder.

Type: Boolean

Required: No


The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block builder calls the AWS Security Token Service (STS) AssumeRole 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 appstream_machine_role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

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}$

Required: No


The instance type to use when launching the app block builder. The following instance types are available:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.standard.xlarge

  • stream.standard.2xlarge

Type: String

Length Constraints: Minimum length of 1.

Required: Yes


The unique name for the app block builder.

Type: String

Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$

Required: Yes


The platform of the app block builder.

WINDOWS_SERVER_2019 is the only valid value.

Type: String

Valid Values: WINDOWS_SERVER_2019

Required: Yes


The tags to associate with the app block builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \ - @

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^(^(?!aws:).[\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Value Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

Required: No


The VPC configuration for the app block builder.

App block builders require that you specify at least two subnets in different availability zones.

Type: VpcConfig object

Required: Yes

Response Syntax

{ "AppBlockBuilder": { "AccessEndpoints": [ { "EndpointType": "string", "VpceId": "string" } ], "AppBlockBuilderErrors": [ { "ErrorCode": "string", "ErrorMessage": "string", "ErrorTimestamp": number } ], "Arn": "string", "CreatedTime": number, "Description": "string", "DisplayName": "string", "EnableDefaultInternetAccess": boolean, "IamRoleArn": "string", "InstanceType": "string", "Name": "string", "Platform": "string", "State": "string", "StateChangeReason": { "Code": "string", "Message": "string" }, "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ] } } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


Describes an app block builder.

Type: AppBlockBuilder object


For information about the errors that are common to all actions, see Common Errors.


An API error occurred. Wait a few minutes and try again.

HTTP Status Code: 400


The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

HTTP Status Code: 400


Indicates an incorrect combination of parameters, or a missing parameter.

HTTP Status Code: 400


The specified role is invalid.

HTTP Status Code: 400


The requested limit exceeds the permitted limit for an account.

HTTP Status Code: 400


The attempted operation is not permitted.

HTTP Status Code: 400


AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

HTTP Status Code: 400


The specified resource already exists.

HTTP Status Code: 400


The specified resource exists and is not in use, but isn't available.

HTTP Status Code: 400


The specified resource was not found.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: