SDK for PHP 3.x

Client: Aws\Appstream\AppstreamClient
Service ID: appstream
Version: 2016-12-01

This page describes the parameters and results for the operations of the Amazon AppStream (2016-12-01), and shows how to use the Aws\Appstream\AppstreamClient object to call the described operations. This documentation is specific to the 2016-12-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AssociateAppBlockBuilderAppBlock ( array $params = [] )
Associates the specified app block builder with the specified app block.
AssociateApplicationFleet ( array $params = [] )
Associates the specified application with the specified fleet.
AssociateApplicationToEntitlement ( array $params = [] )
Associates an application to entitle.
AssociateFleet ( array $params = [] )
Associates the specified fleet with the specified stack.
BatchAssociateUserStack ( array $params = [] )
Associates the specified users with the specified stacks.
BatchDisassociateUserStack ( array $params = [] )
Disassociates the specified users from the specified stacks.
CopyImage ( array $params = [] )
Copies the image within the same region or to a new region within the same AWS account.
CreateAppBlock ( array $params = [] )
Creates an app block.
CreateAppBlockBuilder ( array $params = [] )
Creates an app block builder.
CreateAppBlockBuilderStreamingURL ( array $params = [] )
Creates a URL to start a create app block builder streaming session.
CreateApplication ( array $params = [] )
Creates an application.
CreateDirectoryConfig ( array $params = [] )
Creates a Directory Config object in AppStream 2.
CreateEntitlement ( array $params = [] )
Creates a new entitlement.
CreateFleet ( array $params = [] )
Creates a fleet.
CreateImageBuilder ( array $params = [] )
Creates an image builder.
CreateImageBuilderStreamingURL ( array $params = [] )
Creates a URL to start an image builder streaming session.
CreateStack ( array $params = [] )
Creates a stack to start streaming applications to users.
CreateStreamingURL ( array $params = [] )
Creates a temporary URL to start an AppStream 2.
CreateUpdatedImage ( array $params = [] )
Creates a new image with the latest Windows operating system updates, driver updates, and AppStream 2.
CreateUsageReportSubscription ( array $params = [] )
Creates a usage report subscription.
CreateUser ( array $params = [] )
Creates a new user in the user pool.
DeleteAppBlock ( array $params = [] )
Deletes an app block.
DeleteAppBlockBuilder ( array $params = [] )
Deletes an app block builder.
DeleteApplication ( array $params = [] )
Deletes an application.
DeleteDirectoryConfig ( array $params = [] )
Deletes the specified Directory Config object from AppStream 2.
DeleteEntitlement ( array $params = [] )
Deletes the specified entitlement.
DeleteFleet ( array $params = [] )
Deletes the specified fleet.
DeleteImage ( array $params = [] )
Deletes the specified image.
DeleteImageBuilder ( array $params = [] )
Deletes the specified image builder and releases the capacity.
DeleteImagePermissions ( array $params = [] )
Deletes permissions for the specified private image.
DeleteStack ( array $params = [] )
Deletes the specified stack.
DeleteUsageReportSubscription ( array $params = [] )
Disables usage report generation.
DeleteUser ( array $params = [] )
Deletes a user from the user pool.
DescribeAppBlockBuilderAppBlockAssociations ( array $params = [] )
Retrieves a list that describes one or more app block builder associations.
DescribeAppBlockBuilders ( array $params = [] )
Retrieves a list that describes one or more app block builders.
DescribeAppBlocks ( array $params = [] )
Retrieves a list that describes one or more app blocks.
DescribeApplicationFleetAssociations ( array $params = [] )
Retrieves a list that describes one or more application fleet associations.
DescribeApplications ( array $params = [] )
Retrieves a list that describes one or more applications.
DescribeDirectoryConfigs ( array $params = [] )
Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.
DescribeEntitlements ( array $params = [] )
Retrieves a list that describes one of more entitlements.
DescribeFleets ( array $params = [] )
Retrieves a list that describes one or more specified fleets, if the fleet names are provided.
DescribeImageBuilders ( array $params = [] )
Retrieves a list that describes one or more specified image builders, if the image builder names are provided.
DescribeImagePermissions ( array $params = [] )
Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.
DescribeImages ( array $params = [] )
Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided.
DescribeSessions ( array $params = [] )
Retrieves a list that describes the streaming sessions for a specified stack and fleet.
DescribeStacks ( array $params = [] )
Retrieves a list that describes one or more specified stacks, if the stack names are provided.
DescribeUsageReportSubscriptions ( array $params = [] )
Retrieves a list that describes one or more usage report subscriptions.
DescribeUserStackAssociations ( array $params = [] )
Retrieves a list that describes the UserStackAssociation objects.
DescribeUsers ( array $params = [] )
Retrieves a list that describes one or more specified users in the user pool.
DisableUser ( array $params = [] )
Disables the specified user in the user pool.
DisassociateAppBlockBuilderAppBlock ( array $params = [] )
Disassociates a specified app block builder from a specified app block.
DisassociateApplicationFleet ( array $params = [] )
Disassociates the specified application from the fleet.
DisassociateApplicationFromEntitlement ( array $params = [] )
Deletes the specified application from the specified entitlement.
DisassociateFleet ( array $params = [] )
Disassociates the specified fleet from the specified stack.
EnableUser ( array $params = [] )
Enables a user in the user pool.
ExpireSession ( array $params = [] )
Immediately stops the specified streaming session.
ListAssociatedFleets ( array $params = [] )
Retrieves the name of the fleet that is associated with the specified stack.
ListAssociatedStacks ( array $params = [] )
Retrieves the name of the stack with which the specified fleet is associated.
ListEntitledApplications ( array $params = [] )
Retrieves a list of entitled applications.
ListTagsForResource ( array $params = [] )
Retrieves a list of all tags for the specified AppStream 2.
StartAppBlockBuilder ( array $params = [] )
Starts an app block builder.
StartFleet ( array $params = [] )
Starts the specified fleet.
StartImageBuilder ( array $params = [] )
Starts the specified image builder.
StopAppBlockBuilder ( array $params = [] )
Stops an app block builder.
StopFleet ( array $params = [] )
Stops the specified fleet.
StopImageBuilder ( array $params = [] )
Stops the specified image builder.
TagResource ( array $params = [] )
Adds or overwrites one or more tags for the specified AppStream 2.
UntagResource ( array $params = [] )
Disassociates one or more specified tags from the specified AppStream 2.
UpdateAppBlockBuilder ( array $params = [] )
Updates an app block builder.
UpdateApplication ( array $params = [] )
Updates the specified application.
UpdateDirectoryConfig ( array $params = [] )
Updates the specified Directory Config object in AppStream 2.
UpdateEntitlement ( array $params = [] )
Updates the specified entitlement.
UpdateFleet ( array $params = [] )
Updates the specified fleet.
UpdateImagePermissions ( array $params = [] )
Adds or updates permissions for the specified private image.
UpdateStack ( array $params = [] )
Updates the specified fields for the specified stack.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeAppBlockBuilderAppBlockAssociations
DescribeAppBlockBuilders
DescribeImagePermissions
DescribeImages

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
FleetStarted DescribeFleets 30 40
FleetStopped DescribeFleets 30 40

Operations

AssociateAppBlockBuilderAppBlock

$result = $client->associateAppBlockBuilderAppBlock([/* ... */]);
$promise = $client->associateAppBlockBuilderAppBlockAsync([/* ... */]);

Associates the specified app block builder with the specified app block.

Parameter Syntax

$result = $client->associateAppBlockBuilderAppBlock([
    'AppBlockArn' => '<string>', // REQUIRED
    'AppBlockBuilderName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppBlockArn
Required: Yes
Type: string

The ARN of the app block.

AppBlockBuilderName
Required: Yes
Type: string

The name of the app block builder.

Result Syntax

[
    'AppBlockBuilderAppBlockAssociation' => [
        'AppBlockArn' => '<string>',
        'AppBlockBuilderName' => '<string>',
    ],
]

Result Details

Members
AppBlockBuilderAppBlockAssociation

The list of app block builders associated with app blocks.

Errors

ConcurrentModificationException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

ResourceNotFoundException:

The specified resource was not found.

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

AssociateApplicationFleet

$result = $client->associateApplicationFleet([/* ... */]);
$promise = $client->associateApplicationFleetAsync([/* ... */]);

Associates the specified application with the specified fleet. This is only supported for Elastic fleets.

Parameter Syntax

$result = $client->associateApplicationFleet([
    'ApplicationArn' => '<string>', // REQUIRED
    'FleetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationArn
Required: Yes
Type: string

The ARN of the application.

FleetName
Required: Yes
Type: string

The name of the fleet.

Result Syntax

[
    'ApplicationFleetAssociation' => [
        'ApplicationArn' => '<string>',
        'FleetName' => '<string>',
    ],
]

Result Details

Members
ApplicationFleetAssociation
Type: ApplicationFleetAssociation structure

If fleet name is specified, this returns the list of applications that are associated to it. If application ARN is specified, this returns the list of fleets to which it is associated.

Errors

ConcurrentModificationException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

ResourceNotFoundException:

The specified resource was not found.

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

AssociateApplicationToEntitlement

$result = $client->associateApplicationToEntitlement([/* ... */]);
$promise = $client->associateApplicationToEntitlementAsync([/* ... */]);

Associates an application to entitle.

Parameter Syntax

$result = $client->associateApplicationToEntitlement([
    'ApplicationIdentifier' => '<string>', // REQUIRED
    'EntitlementName' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationIdentifier
Required: Yes
Type: string

The identifier of the application.

EntitlementName
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

OperationNotPermittedException:

The attempted operation is not permitted.

AssociateFleet

$result = $client->associateFleet([/* ... */]);
$promise = $client->associateFleetAsync([/* ... */]);

Associates the specified fleet with the specified stack.

Parameter Syntax

$result = $client->associateFleet([
    'FleetName' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
FleetName
Required: Yes
Type: string

The name of the fleet.

StackName
Required: Yes
Type: string

The name of the stack.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

OperationNotPermittedException:

The attempted operation is not permitted.

BatchAssociateUserStack

$result = $client->batchAssociateUserStack([/* ... */]);
$promise = $client->batchAssociateUserStackAsync([/* ... */]);

Associates the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain.

Parameter Syntax

$result = $client->batchAssociateUserStack([
    'UserStackAssociations' => [ // REQUIRED
        [
            'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
            'SendEmailNotification' => true || false,
            'StackName' => '<string>', // REQUIRED
            'UserName' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
UserStackAssociations
Required: Yes
Type: Array of UserStackAssociation structures

The list of UserStackAssociation objects.

Result Syntax

[
    'errors' => [
        [
            'ErrorCode' => 'STACK_NOT_FOUND|USER_NAME_NOT_FOUND|DIRECTORY_NOT_FOUND|INTERNAL_ERROR',
            'ErrorMessage' => '<string>',
            'UserStackAssociation' => [
                'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
                'SendEmailNotification' => true || false,
                'StackName' => '<string>',
                'UserName' => '<string>',
            ],
        ],
        // ...
    ],
]

Result Details

Members
errors
Type: Array of UserStackAssociationError structures

The list of UserStackAssociationError objects.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

InvalidParameterCombinationException:

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

BatchDisassociateUserStack

$result = $client->batchDisassociateUserStack([/* ... */]);
$promise = $client->batchDisassociateUserStackAsync([/* ... */]);

Disassociates the specified users from the specified stacks.

Parameter Syntax

$result = $client->batchDisassociateUserStack([
    'UserStackAssociations' => [ // REQUIRED
        [
            'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
            'SendEmailNotification' => true || false,
            'StackName' => '<string>', // REQUIRED
            'UserName' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
UserStackAssociations
Required: Yes
Type: Array of UserStackAssociation structures

The list of UserStackAssociation objects.

Result Syntax

[
    'errors' => [
        [
            'ErrorCode' => 'STACK_NOT_FOUND|USER_NAME_NOT_FOUND|DIRECTORY_NOT_FOUND|INTERNAL_ERROR',
            'ErrorMessage' => '<string>',
            'UserStackAssociation' => [
                'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
                'SendEmailNotification' => true || false,
                'StackName' => '<string>',
                'UserName' => '<string>',
            ],
        ],
        // ...
    ],
]

Result Details

Members
errors
Type: Array of UserStackAssociationError structures

The list of UserStackAssociationError objects.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

InvalidParameterCombinationException:

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

CopyImage

$result = $client->copyImage([/* ... */]);
$promise = $client->copyImageAsync([/* ... */]);

Copies the image within the same region or to a new region within the same AWS account. Note that any tags you added to the image will not be copied.

Parameter Syntax

$result = $client->copyImage([
    'DestinationImageDescription' => '<string>',
    'DestinationImageName' => '<string>', // REQUIRED
    'DestinationRegion' => '<string>', // REQUIRED
    'SourceImageName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DestinationImageDescription
Type: string

The description that the image will have when it is copied to the destination.

DestinationImageName
Required: Yes
Type: string

The name that the image will have when it is copied to the destination.

DestinationRegion
Required: Yes
Type: string

The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

SourceImageName
Required: Yes
Type: string

The name of the image to copy.

Result Syntax

[
    'DestinationImageName' => '<string>',
]

Result Details

Members
DestinationImageName
Type: string

The name of the destination image.

Errors

ResourceAlreadyExistsException:

The specified resource already exists.

ResourceNotFoundException:

The specified resource was not found.

ResourceNotAvailableException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

CreateAppBlock

$result = $client->createAppBlock([/* ... */]);
$promise = $client->createAppBlockAsync([/* ... */]);

Creates an app block.

App blocks are an Amazon AppStream 2.0 resource that stores the details about the virtual hard disk in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. The virtual hard disk includes the application binaries and other files necessary to launch your applications. Multiple applications can be assigned to a single app block.

This is only supported for Elastic fleets.

Parameter Syntax

$result = $client->createAppBlock([
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'Name' => '<string>', // REQUIRED
    'PackagingType' => 'CUSTOM|APPSTREAM2',
    'PostSetupScriptDetails' => [
        'ExecutableParameters' => '<string>',
        'ExecutablePath' => '<string>', // REQUIRED
        'ScriptS3Location' => [ // REQUIRED
            'S3Bucket' => '<string>', // REQUIRED
            'S3Key' => '<string>',
        ],
        'TimeoutInSeconds' => <integer>, // REQUIRED
    ],
    'SetupScriptDetails' => [
        'ExecutableParameters' => '<string>',
        'ExecutablePath' => '<string>', // REQUIRED
        'ScriptS3Location' => [ // REQUIRED
            'S3Bucket' => '<string>', // REQUIRED
            'S3Key' => '<string>',
        ],
        'TimeoutInSeconds' => <integer>, // REQUIRED
    ],
    'SourceS3Location' => [ // REQUIRED
        'S3Bucket' => '<string>', // REQUIRED
        'S3Key' => '<string>',
    ],
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
Description
Type: string

The description of the app block.

DisplayName
Type: string

The display name of the app block. This is not displayed to the user.

Name
Required: Yes
Type: string

The name of the app block.

PackagingType
Type: string

The packaging type of the app block.

PostSetupScriptDetails
Type: ScriptDetails structure

The post setup script details of the app block. This can only be provided for the APPSTREAM2 PackagingType.

SetupScriptDetails
Type: ScriptDetails structure

The setup script details of the app block. This must be provided for the CUSTOM PackagingType.

SourceS3Location
Required: Yes
Type: S3Location structure

The source S3 location of the app block.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the app block.

Result Syntax

[
    'AppBlock' => [
        'AppBlockErrors' => [
            [
                'ErrorCode' => '<string>',
                'ErrorMessage' => '<string>',
            ],
            // ...
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'Name' => '<string>',
        'PackagingType' => 'CUSTOM|APPSTREAM2',
        'PostSetupScriptDetails' => [
            'ExecutableParameters' => '<string>',
            'ExecutablePath' => '<string>',
            'ScriptS3Location' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
            'TimeoutInSeconds' => <integer>,
        ],
        'SetupScriptDetails' => [
            'ExecutableParameters' => '<string>',
            'ExecutablePath' => '<string>',
            'ScriptS3Location' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
            'TimeoutInSeconds' => <integer>,
        ],
        'SourceS3Location' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'State' => 'INACTIVE|ACTIVE',
    ],
]

Result Details

Members
AppBlock
Type: AppBlock structure

The app block.

Errors

ConcurrentModificationException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceAlreadyExistsException:

The specified resource already exists.

CreateAppBlockBuilder

$result = $client->createAppBlockBuilder([/* ... */]);
$promise = $client->createAppBlockBuilderAsync([/* ... */]);

Creates an app block builder.

Parameter Syntax

$result = $client->createAppBlockBuilder([
    'AccessEndpoints' => [
        [
            'EndpointType' => 'STREAMING', // REQUIRED
            'VpceId' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'EnableDefaultInternetAccess' => true || false,
    'IamRoleArn' => '<string>',
    'InstanceType' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'Platform' => 'WINDOWS_SERVER_2019', // REQUIRED
    'Tags' => ['<string>', ...],
    'VpcConfig' => [ // REQUIRED
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetIds' => ['<string>', ...],
    ],
]);

Parameter Details

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

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

Description
Type: string

The description of the app block builder.

DisplayName
Type: string

The display name of the app block builder.

EnableDefaultInternetAccess
Type: boolean

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

IamRoleArn
Type: string

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.

InstanceType
Required: Yes
Type: string

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

Name
Required: Yes
Type: string

The unique name for the app block builder.

Platform
Required: Yes
Type: string

The platform of the app block builder.

WINDOWS_SERVER_2019 is the only valid value.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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.

VpcConfig
Required: Yes
Type: VpcConfig structure

The VPC configuration for the app block builder.

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

Result Syntax

[
    'AppBlockBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppBlockBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'Platform' => 'WINDOWS_SERVER_2019',
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
AppBlockBuilder
Type: AppBlockBuilder structure

Describes an app block builder.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

RequestLimitExceededException:

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.

InvalidAccountStatusException:

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

InvalidRoleException:

The specified role is invalid.

ConcurrentModificationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceAlreadyExistsException:

The specified resource already exists.

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

InvalidParameterCombinationException:

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

CreateAppBlockBuilderStreamingURL

$result = $client->createAppBlockBuilderStreamingURL([/* ... */]);
$promise = $client->createAppBlockBuilderStreamingURLAsync([/* ... */]);

Creates a URL to start a create app block builder streaming session.

Parameter Syntax

$result = $client->createAppBlockBuilderStreamingURL([
    'AppBlockBuilderName' => '<string>', // REQUIRED
    'Validity' => <integer>,
]);

Parameter Details

Members
AppBlockBuilderName
Required: Yes
Type: string

The name of the app block builder.

Validity
Type: long (int|float)

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

Result Syntax

[
    'Expires' => <DateTime>,
    'StreamingURL' => '<string>',
]

Result Details

Members
Expires
Type: timestamp (string|DateTime or anything parsable by strtotime)

The elapsed time, in seconds after the Unix epoch, when this URL expires.

StreamingURL
Type: string

The URL to start the streaming session.

Errors

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

CreateApplication

$result = $client->createApplication([/* ... */]);
$promise = $client->createApplicationAsync([/* ... */]);

Creates an application.

Applications are an Amazon AppStream 2.0 resource that stores the details about how to launch applications on Elastic fleet streaming instances. An application consists of the launch details, icon, and display name. Applications are associated with an app block that contains the application binaries and other files. The applications assigned to an Elastic fleet are the applications users can launch.

This is only supported for Elastic fleets.

Parameter Syntax

$result = $client->createApplication([
    'AppBlockArn' => '<string>', // REQUIRED
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'IconS3Location' => [ // REQUIRED
        'S3Bucket' => '<string>', // REQUIRED
        'S3Key' => '<string>',
    ],
    'InstanceFamilies' => ['<string>', ...], // REQUIRED
    'LaunchParameters' => '<string>',
    'LaunchPath' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'Platforms' => ['<string>', ...], // REQUIRED
    'Tags' => ['<string>', ...],
    'WorkingDirectory' => '<string>',
]);

Parameter Details

Members
AppBlockArn
Required: Yes
Type: string

The app block ARN to which the application should be associated

Description
Type: string

The description of the application.

DisplayName
Type: string

The display name of the application. This name is visible to users in the application catalog.

IconS3Location
Required: Yes
Type: S3Location structure

The location in S3 of the application icon.

InstanceFamilies
Required: Yes
Type: Array of strings

The instance families the application supports. Valid values are GENERAL_PURPOSE and GRAPHICS_G4.

LaunchParameters
Type: string

The launch parameters of the application.

LaunchPath
Required: Yes
Type: string

The launch path of the application.

Name
Required: Yes
Type: string

The name of the application. This name is visible to users when display name is not specified.

Platforms
Required: Yes
Type: Array of strings

The platforms the application supports. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the application.

WorkingDirectory
Type: string

The working directory of the application.

Result Syntax

[
    'Application' => [
        'AppBlockArn' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'Enabled' => true || false,
        'IconS3Location' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'IconURL' => '<string>',
        'InstanceFamilies' => ['<string>', ...],
        'LaunchParameters' => '<string>',
        'LaunchPath' => '<string>',
        'Metadata' => ['<string>', ...],
        'Name' => '<string>',
        'Platforms' => ['<string>', ...],
        'WorkingDirectory' => '<string>',
    ],
]

Result Details

Members
Application
Type: Application structure

Describes an application in the application catalog.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceAlreadyExistsException:

The specified resource already exists.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

ConcurrentModificationException:

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

ResourceNotFoundException:

The specified resource was not found.

CreateDirectoryConfig

$result = $client->createDirectoryConfig([/* ... */]);
$promise = $client->createDirectoryConfigAsync([/* ... */]);

Creates a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Parameter Syntax

$result = $client->createDirectoryConfig([
    'CertificateBasedAuthProperties' => [
        'CertificateAuthorityArn' => '<string>',
        'Status' => 'DISABLED|ENABLED|ENABLED_NO_DIRECTORY_LOGIN_FALLBACK',
    ],
    'DirectoryName' => '<string>', // REQUIRED
    'OrganizationalUnitDistinguishedNames' => ['<string>', ...], // REQUIRED
    'ServiceAccountCredentials' => [
        'AccountName' => '<string>', // REQUIRED
        'AccountPassword' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
CertificateBasedAuthProperties

The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

DirectoryName
Required: Yes
Type: string

The fully qualified name of the directory (for example, corp.example.com).

OrganizationalUnitDistinguishedNames
Required: Yes
Type: Array of strings

The distinguished names of the organizational units for computer accounts.

ServiceAccountCredentials
Type: ServiceAccountCredentials structure

The credentials for the service account used by the fleet or image builder to connect to the directory.

Result Syntax

[
    'DirectoryConfig' => [
        'CertificateBasedAuthProperties' => [
            'CertificateAuthorityArn' => '<string>',
            'Status' => 'DISABLED|ENABLED|ENABLED_NO_DIRECTORY_LOGIN_FALLBACK',
        ],
        'CreatedTime' => <DateTime>,
        'DirectoryName' => '<string>',
        'OrganizationalUnitDistinguishedNames' => ['<string>', ...],
        'ServiceAccountCredentials' => [
            'AccountName' => '<string>',
            'AccountPassword' => '<string>',
        ],
    ],
]

Result Details

Members
DirectoryConfig
Type: DirectoryConfig structure

Information about the directory configuration.

Errors

ResourceNotFoundException:

The specified resource was not found.

ResourceAlreadyExistsException:

The specified resource already exists.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

InvalidRoleException:

The specified role is invalid.

CreateEntitlement

$result = $client->createEntitlement([/* ... */]);
$promise = $client->createEntitlementAsync([/* ... */]);

Creates a new entitlement. Entitlements control access to specific applications within a stack, based on user attributes. Entitlements apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user pool and streaming URL users are entitled to all applications in a stack. Entitlements don't apply to the desktop stream view application, or to applications managed by a dynamic app provider using the Dynamic Application Framework.

Parameter Syntax

$result = $client->createEntitlement([
    'AppVisibility' => 'ALL|ASSOCIATED', // REQUIRED
    'Attributes' => [ // REQUIRED
        [
            'Name' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Description' => '<string>',
    'Name' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppVisibility
Required: Yes
Type: string

Specifies whether all or selected apps are entitled.

Attributes
Required: Yes
Type: Array of EntitlementAttribute structures

The attributes of the entitlement.

Description
Type: string

The description of the entitlement.

Name
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[
    'Entitlement' => [
        'AppVisibility' => 'ALL|ASSOCIATED',
        'Attributes' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'LastModifiedTime' => <DateTime>,
        'Name' => '<string>',
        'StackName' => '<string>',
    ],
]

Result Details

Members
Entitlement
Type: Entitlement structure

The entitlement.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

EntitlementAlreadyExistsException:

The entitlement already exists.

CreateFleet

$result = $client->createFleet([/* ... */]);
$promise = $client->createFleetAsync([/* ... */]);

Creates a fleet. A fleet consists of streaming instances that your users access for their applications and desktops.

Parameter Syntax

$result = $client->createFleet([
    'ComputeCapacity' => [
        'DesiredInstances' => <integer>,
        'DesiredSessions' => <integer>,
    ],
    'Description' => '<string>',
    'DisconnectTimeoutInSeconds' => <integer>,
    'DisplayName' => '<string>',
    'DomainJoinInfo' => [
        'DirectoryName' => '<string>',
        'OrganizationalUnitDistinguishedName' => '<string>',
    ],
    'EnableDefaultInternetAccess' => true || false,
    'FleetType' => 'ALWAYS_ON|ON_DEMAND|ELASTIC',
    'IamRoleArn' => '<string>',
    'IdleDisconnectTimeoutInSeconds' => <integer>,
    'ImageArn' => '<string>',
    'ImageName' => '<string>',
    'InstanceType' => '<string>', // REQUIRED
    'MaxConcurrentSessions' => <integer>,
    'MaxSessionsPerInstance' => <integer>,
    'MaxUserDurationInSeconds' => <integer>,
    'Name' => '<string>', // REQUIRED
    'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
    'SessionScriptS3Location' => [
        'S3Bucket' => '<string>', // REQUIRED
        'S3Key' => '<string>',
    ],
    'StreamView' => 'APP|DESKTOP',
    'Tags' => ['<string>', ...],
    'UsbDeviceFilterStrings' => ['<string>', ...],
    'VpcConfig' => [
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetIds' => ['<string>', ...],
    ],
]);

Parameter Details

Members
ComputeCapacity
Type: ComputeCapacity structure

The desired capacity for the fleet. This is not allowed for Elastic fleets. For Elastic fleets, specify MaxConcurrentSessions instead.

Description
Type: string

The description to display.

DisconnectTimeoutInSeconds
Type: int

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

DisplayName
Type: string

The fleet name to display.

DomainJoinInfo
Type: DomainJoinInfo structure

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. This is not allowed for Elastic fleets.

EnableDefaultInternetAccess
Type: boolean

Enables or disables default internet access for the fleet.

FleetType
Type: string

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

IamRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance 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.

IdleDisconnectTimeoutInSeconds
Type: int

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

ImageArn
Type: string

The ARN of the public, private, or shared image to use.

ImageName
Type: string

The name of the image used to create the fleet.

InstanceType
Required: Yes
Type: string

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.standard.xlarge

  • stream.standard.2xlarge

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.memory.z1d.large

  • stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

  • stream.memory.z1d.3xlarge

  • stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics.g4dn.xlarge

  • stream.graphics.g4dn.2xlarge

  • stream.graphics.g4dn.4xlarge

  • stream.graphics.g4dn.8xlarge

  • stream.graphics.g4dn.12xlarge

  • stream.graphics.g4dn.16xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

The following instance types are available for Elastic fleets:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.standard.xlarge

  • stream.standard.2xlarge

MaxConcurrentSessions
Type: int

The maximum concurrent sessions of the Elastic fleet. This is required for Elastic fleets, and not allowed for other fleet types.

MaxSessionsPerInstance
Type: int

The maximum number of user sessions on an instance. This only applies to multi-session fleets.

MaxUserDurationInSeconds
Type: int

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 432000.

Name
Required: Yes
Type: string

A unique name for the fleet.

Platform
Type: string

The fleet platform. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

SessionScriptS3Location
Type: S3Location structure

The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

StreamView
Type: string

The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

The default value is APP.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to associate with the fleet. 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.

UsbDeviceFilterStrings
Type: Array of strings

The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

VpcConfig
Type: VpcConfig structure

The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability zones.

Result Syntax

[
    'Fleet' => [
        'Arn' => '<string>',
        'ComputeCapacityStatus' => [
            'ActiveUserSessions' => <integer>,
            'ActualUserSessions' => <integer>,
            'Available' => <integer>,
            'AvailableUserSessions' => <integer>,
            'Desired' => <integer>,
            'DesiredUserSessions' => <integer>,
            'InUse' => <integer>,
            'Running' => <integer>,
        ],
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisconnectTimeoutInSeconds' => <integer>,
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'FleetErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
            ],
            // ...
        ],
        'FleetType' => 'ALWAYS_ON|ON_DEMAND|ELASTIC',
        'IamRoleArn' => '<string>',
        'IdleDisconnectTimeoutInSeconds' => <integer>,
        'ImageArn' => '<string>',
        'ImageName' => '<string>',
        'InstanceType' => '<string>',
        'MaxConcurrentSessions' => <integer>,
        'MaxSessionsPerInstance' => <integer>,
        'MaxUserDurationInSeconds' => <integer>,
        'Name' => '<string>',
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'SessionScriptS3Location' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StreamView' => 'APP|DESKTOP',
        'UsbDeviceFilterStrings' => ['<string>', ...],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
Fleet
Type: Fleet structure

Information about the fleet.

Errors

ResourceAlreadyExistsException:

The specified resource already exists.

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

RequestLimitExceededException:

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.

InvalidAccountStatusException:

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

InvalidRoleException:

The specified role is invalid.

ConcurrentModificationException:

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

InvalidParameterCombinationException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

OperationNotPermittedException:

The attempted operation is not permitted.

CreateImageBuilder

$result = $client->createImageBuilder([/* ... */]);
$promise = $client->createImageBuilderAsync([/* ... */]);

Creates an image builder. An image builder is a virtual machine that is used to create an image.

The initial state of the builder is PENDING. When it is ready, the state is RUNNING.

Parameter Syntax

$result = $client->createImageBuilder([
    'AccessEndpoints' => [
        [
            'EndpointType' => 'STREAMING', // REQUIRED
            'VpceId' => '<string>',
        ],
        // ...
    ],
    'AppstreamAgentVersion' => '<string>',
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'DomainJoinInfo' => [
        'DirectoryName' => '<string>',
        'OrganizationalUnitDistinguishedName' => '<string>',
    ],
    'EnableDefaultInternetAccess' => true || false,
    'IamRoleArn' => '<string>',
    'ImageArn' => '<string>',
    'ImageName' => '<string>',
    'InstanceType' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'Tags' => ['<string>', ...],
    'VpcConfig' => [
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetIds' => ['<string>', ...],
    ],
]);

Parameter Details

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

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

AppstreamAgentVersion
Type: string

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].

Description
Type: string

The description to display.

DisplayName
Type: string

The image builder name to display.

DomainJoinInfo
Type: DomainJoinInfo structure

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

EnableDefaultInternetAccess
Type: boolean

Enables or disables default internet access for the image builder.

IamRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image 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.

ImageArn
Type: string

The ARN of the public, private, or shared image to use.

ImageName
Type: string

The name of the image used to create the image builder.

InstanceType
Required: Yes
Type: string

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

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.memory.z1d.large

  • stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

  • stream.memory.z1d.3xlarge

  • stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics.g4dn.xlarge

  • stream.graphics.g4dn.2xlarge

  • stream.graphics.g4dn.4xlarge

  • stream.graphics.g4dn.8xlarge

  • stream.graphics.g4dn.12xlarge

  • stream.graphics.g4dn.16xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

Name
Required: Yes
Type: string

A unique name for the image builder.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to associate with the image 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=.

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

_ . : / = + \ - @

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

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

VpcConfig
Type: VpcConfig structure

The VPC configuration for the image builder. You can specify only one subnet.

Result Syntax

[
    'ImageBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'ImageArn' => '<string>',
        'ImageBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'NetworkAccessConfiguration' => [
            'EniId' => '<string>',
            'EniPrivateIpAddress' => '<string>',
        ],
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'State' => 'PENDING|UPDATING_AGENT|RUNNING|STOPPING|STOPPED|REBOOTING|SNAPSHOTTING|DELETING|FAILED|UPDATING|PENDING_QUALIFICATION',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_UNAVAILABLE',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
ImageBuilder
Type: ImageBuilder structure

Information about the image builder.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

RequestLimitExceededException:

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.

InvalidAccountStatusException:

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

ResourceAlreadyExistsException:

The specified resource already exists.

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

InvalidRoleException:

The specified role is invalid.

ConcurrentModificationException:

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

InvalidParameterCombinationException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

OperationNotPermittedException:

The attempted operation is not permitted.

CreateImageBuilderStreamingURL

$result = $client->createImageBuilderStreamingURL([/* ... */]);
$promise = $client->createImageBuilderStreamingURLAsync([/* ... */]);

Creates a URL to start an image builder streaming session.

Parameter Syntax

$result = $client->createImageBuilderStreamingURL([
    'Name' => '<string>', // REQUIRED
    'Validity' => <integer>,
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the image builder.

Validity
Type: long (int|float)

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

Result Syntax

[
    'Expires' => <DateTime>,
    'StreamingURL' => '<string>',
]

Result Details

Members
Expires
Type: timestamp (string|DateTime or anything parsable by strtotime)

The elapsed time, in seconds after the Unix epoch, when this URL expires.

StreamingURL
Type: string

The URL to start the AppStream 2.0 streaming session.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

CreateStack

$result = $client->createStack([/* ... */]);
$promise = $client->createStackAsync([/* ... */]);

Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.

Parameter Syntax

$result = $client->createStack([
    'AccessEndpoints' => [
        [
            'EndpointType' => 'STREAMING', // REQUIRED
            'VpceId' => '<string>',
        ],
        // ...
    ],
    'ApplicationSettings' => [
        'Enabled' => true || false, // REQUIRED
        'SettingsGroup' => '<string>',
    ],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'EmbedHostDomains' => ['<string>', ...],
    'FeedbackURL' => '<string>',
    'Name' => '<string>', // REQUIRED
    'RedirectURL' => '<string>',
    'StorageConnectors' => [
        [
            'ConnectorType' => 'HOMEFOLDERS|GOOGLE_DRIVE|ONE_DRIVE', // REQUIRED
            'Domains' => ['<string>', ...],
            'ResourceIdentifier' => '<string>',
        ],
        // ...
    ],
    'StreamingExperienceSettings' => [
        'PreferredProtocol' => 'TCP|UDP',
    ],
    'Tags' => ['<string>', ...],
    'UserSettings' => [
        [
            'Action' => 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE|CLIPBOARD_COPY_TO_LOCAL_DEVICE|FILE_UPLOAD|FILE_DOWNLOAD|PRINTING_TO_LOCAL_DEVICE|DOMAIN_PASSWORD_SIGNIN|DOMAIN_SMART_CARD_SIGNIN', // REQUIRED
            'MaximumLength' => <integer>,
            'Permission' => 'ENABLED|DISABLED', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

ApplicationSettings
Type: ApplicationSettings structure

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

Description
Type: string

The description to display.

DisplayName
Type: string

The stack name to display.

EmbedHostDomains
Type: Array of strings

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

FeedbackURL
Type: string

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

Name
Required: Yes
Type: string

The name of the stack.

RedirectURL
Type: string

The URL that users are redirected to after their streaming session ends.

StorageConnectors
Type: Array of StorageConnector structures

The storage connectors to enable.

StreamingExperienceSettings
Type: StreamingExperienceSettings structure

The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to associate with the stack. 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 about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

UserSettings
Type: Array of UserSetting structures

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

Result Syntax

[
    'Stack' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'ApplicationSettings' => [
            'Enabled' => true || false,
            'S3BucketName' => '<string>',
            'SettingsGroup' => '<string>',
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EmbedHostDomains' => ['<string>', ...],
        'FeedbackURL' => '<string>',
        'Name' => '<string>',
        'RedirectURL' => '<string>',
        'StackErrors' => [
            [
                'ErrorCode' => 'STORAGE_CONNECTOR_ERROR|INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
            ],
            // ...
        ],
        'StorageConnectors' => [
            [
                'ConnectorType' => 'HOMEFOLDERS|GOOGLE_DRIVE|ONE_DRIVE',
                'Domains' => ['<string>', ...],
                'ResourceIdentifier' => '<string>',
            ],
            // ...
        ],
        'StreamingExperienceSettings' => [
            'PreferredProtocol' => 'TCP|UDP',
        ],
        'UserSettings' => [
            [
                'Action' => 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE|CLIPBOARD_COPY_TO_LOCAL_DEVICE|FILE_UPLOAD|FILE_DOWNLOAD|PRINTING_TO_LOCAL_DEVICE|DOMAIN_PASSWORD_SIGNIN|DOMAIN_SMART_CARD_SIGNIN',
                'MaximumLength' => <integer>,
                'Permission' => 'ENABLED|DISABLED',
            ],
            // ...
        ],
    ],
]

Result Details

Members
Stack
Type: Stack structure

Information about the stack.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

ResourceAlreadyExistsException:

The specified resource already exists.

ConcurrentModificationException:

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

InvalidRoleException:

The specified role is invalid.

ResourceNotFoundException:

The specified resource was not found.

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

CreateStreamingURL

$result = $client->createStreamingURL([/* ... */]);
$promise = $client->createStreamingURLAsync([/* ... */]);

Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup.

Parameter Syntax

$result = $client->createStreamingURL([
    'ApplicationId' => '<string>',
    'FleetName' => '<string>', // REQUIRED
    'SessionContext' => '<string>',
    'StackName' => '<string>', // REQUIRED
    'UserId' => '<string>', // REQUIRED
    'Validity' => <integer>,
]);

Parameter Details

Members
ApplicationId
Type: string

The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant. If your fleet is enabled for the Desktop stream view, you can also choose to launch directly to the operating system desktop. To do so, specify Desktop.

FleetName
Required: Yes
Type: string

The name of the fleet.

SessionContext
Type: string

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.

StackName
Required: Yes
Type: string

The name of the stack.

UserId
Required: Yes
Type: string

The identifier of the user.

Validity
Type: long (int|float)

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.

Result Syntax

[
    'Expires' => <DateTime>,
    'StreamingURL' => '<string>',
]

Result Details

Members
Expires
Type: timestamp (string|DateTime or anything parsable by strtotime)

The elapsed time, in seconds after the Unix epoch, when this URL expires.

StreamingURL
Type: string

The URL to start the AppStream 2.0 streaming session.

Errors

ResourceNotFoundException:

The specified resource was not found.

ResourceNotAvailableException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

InvalidParameterCombinationException:

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

CreateUpdatedImage

$result = $client->createUpdatedImage([/* ... */]);
$promise = $client->createUpdatedImageAsync([/* ... */]);

Creates a new image with the latest Windows operating system updates, driver updates, and AppStream 2.0 agent software.

For more information, see the "Update an Image by Using Managed AppStream 2.0 Image Updates" section in Administer Your AppStream 2.0 Images, in the Amazon AppStream 2.0 Administration Guide.

Parameter Syntax

$result = $client->createUpdatedImage([
    'dryRun' => true || false,
    'existingImageName' => '<string>', // REQUIRED
    'newImageDescription' => '<string>',
    'newImageDisplayName' => '<string>',
    'newImageName' => '<string>', // REQUIRED
    'newImageTags' => ['<string>', ...],
]);

Parameter Details

Members
dryRun
Type: boolean

Indicates whether to display the status of image update availability before AppStream 2.0 initiates the process of creating a new updated image. If this value is set to true, AppStream 2.0 displays whether image updates are available. If this value is set to false, AppStream 2.0 initiates the process of creating a new updated image without displaying whether image updates are available.

existingImageName
Required: Yes
Type: string

The name of the image to update.

newImageDescription
Type: string

The description to display for the new image.

newImageDisplayName
Type: string

The name to display for the new image.

newImageName
Required: Yes
Type: string

The name of the new image. The name must be unique within the AWS account and Region.

newImageTags
Type: Associative array of custom strings keys (TagKey) to strings

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

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

_ . : / = + \ - @

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

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

Result Syntax

[
    'canUpdateImage' => true || false,
    'image' => [
        'Applications' => [
            [
                'AppBlockArn' => '<string>',
                'Arn' => '<string>',
                'CreatedTime' => <DateTime>,
                'Description' => '<string>',
                'DisplayName' => '<string>',
                'Enabled' => true || false,
                'IconS3Location' => [
                    'S3Bucket' => '<string>',
                    'S3Key' => '<string>',
                ],
                'IconURL' => '<string>',
                'InstanceFamilies' => ['<string>', ...],
                'LaunchParameters' => '<string>',
                'LaunchPath' => '<string>',
                'Metadata' => ['<string>', ...],
                'Name' => '<string>',
                'Platforms' => ['<string>', ...],
                'WorkingDirectory' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'BaseImageArn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'ImageBuilderName' => '<string>',
        'ImageBuilderSupported' => true || false,
        'ImageErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'ImagePermissions' => [
            'allowFleet' => true || false,
            'allowImageBuilder' => true || false,
        ],
        'Name' => '<string>',
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'PublicBaseImageReleasedDate' => <DateTime>,
        'State' => 'PENDING|AVAILABLE|FAILED|COPYING|DELETING|CREATING|IMPORTING',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_BUILDER_NOT_AVAILABLE|IMAGE_COPY_FAILURE',
            'Message' => '<string>',
        ],
        'Visibility' => 'PUBLIC|PRIVATE|SHARED',
    ],
]

Result Details

Members
canUpdateImage
Type: boolean

Indicates whether a new image can be created.

image
Type: Image structure

Describes an image.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceAlreadyExistsException:

The specified resource already exists.

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

CreateUsageReportSubscription

$result = $client->createUsageReportSubscription([/* ... */]);
$promise = $client->createUsageReportSubscriptionAsync([/* ... */]);

Creates a usage report subscription. Usage reports are generated daily.

Parameter Syntax

$result = $client->createUsageReportSubscription([
]);

Parameter Details

Members

Result Syntax

[
    'S3BucketName' => '<string>',
    'Schedule' => 'DAILY',
]

Result Details

Members
S3BucketName
Type: string

The Amazon S3 bucket where generated reports are stored.

If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.

Schedule
Type: string

The schedule for generating usage reports.

Errors

InvalidRoleException:

The specified role is invalid.

InvalidAccountStatusException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

CreateUser

$result = $client->createUser([/* ... */]);
$promise = $client->createUserAsync([/* ... */]);

Creates a new user in the user pool.

Parameter Syntax

$result = $client->createUser([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
    'FirstName' => '<string>',
    'LastName' => '<string>',
    'MessageAction' => 'SUPPRESS|RESEND',
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the user. You must specify USERPOOL.

FirstName
Type: string

The first name, or given name, of the user.

LastName
Type: string

The last name, or surname, of the user.

MessageAction
Type: string

The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.

The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.

UserName
Required: Yes
Type: string

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceAlreadyExistsException:

The specified resource already exists.

InvalidAccountStatusException:

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

InvalidParameterCombinationException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

OperationNotPermittedException:

The attempted operation is not permitted.

DeleteAppBlock

$result = $client->deleteAppBlock([/* ... */]);
$promise = $client->deleteAppBlockAsync([/* ... */]);

Deletes an app block.

Parameter Syntax

$result = $client->deleteAppBlock([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the app block.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ConcurrentModificationException:

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

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

DeleteAppBlockBuilder

$result = $client->deleteAppBlockBuilder([/* ... */]);
$promise = $client->deleteAppBlockBuilderAsync([/* ... */]);

Deletes an app block builder.

An app block builder can only be deleted when it has no association with an app block.

Parameter Syntax

$result = $client->deleteAppBlockBuilder([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the app block builder.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

DeleteApplication

$result = $client->deleteApplication([/* ... */]);
$promise = $client->deleteApplicationAsync([/* ... */]);

Deletes an application.

Parameter Syntax

$result = $client->deleteApplication([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the application.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

DeleteDirectoryConfig

$result = $client->deleteDirectoryConfig([/* ... */]);
$promise = $client->deleteDirectoryConfigAsync([/* ... */]);

Deletes the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

Parameter Syntax

$result = $client->deleteDirectoryConfig([
    'DirectoryName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DirectoryName
Required: Yes
Type: string

The name of the directory configuration.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

DeleteEntitlement

$result = $client->deleteEntitlement([/* ... */]);
$promise = $client->deleteEntitlementAsync([/* ... */]);

Deletes the specified entitlement.

Parameter Syntax

$result = $client->deleteEntitlement([
    'Name' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

DeleteFleet

$result = $client->deleteFleet([/* ... */]);
$promise = $client->deleteFleetAsync([/* ... */]);

Deletes the specified fleet.

Parameter Syntax

$result = $client->deleteFleet([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the fleet.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

DeleteImage

$result = $client->deleteImage([/* ... */]);
$promise = $client->deleteImageAsync([/* ... */]);

Deletes the specified image. You cannot delete an image when it is in use. After you delete an image, you cannot provision new capacity using the image.

Parameter Syntax

$result = $client->deleteImage([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the image.

Result Syntax

[
    'Image' => [
        'Applications' => [
            [
                'AppBlockArn' => '<string>',
                'Arn' => '<string>',
                'CreatedTime' => <DateTime>,
                'Description' => '<string>',
                'DisplayName' => '<string>',
                'Enabled' => true || false,
                'IconS3Location' => [
                    'S3Bucket' => '<string>',
                    'S3Key' => '<string>',
                ],
                'IconURL' => '<string>',
                'InstanceFamilies' => ['<string>', ...],
                'LaunchParameters' => '<string>',
                'LaunchPath' => '<string>',
                'Metadata' => ['<string>', ...],
                'Name' => '<string>',
                'Platforms' => ['<string>', ...],
                'WorkingDirectory' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'BaseImageArn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'ImageBuilderName' => '<string>',
        'ImageBuilderSupported' => true || false,
        'ImageErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'ImagePermissions' => [
            'allowFleet' => true || false,
            'allowImageBuilder' => true || false,
        ],
        'Name' => '<string>',
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'PublicBaseImageReleasedDate' => <DateTime>,
        'State' => 'PENDING|AVAILABLE|FAILED|COPYING|DELETING|CREATING|IMPORTING',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_BUILDER_NOT_AVAILABLE|IMAGE_COPY_FAILURE',
            'Message' => '<string>',
        ],
        'Visibility' => 'PUBLIC|PRIVATE|SHARED',
    ],
]

Result Details

Members
Image
Type: Image structure

Information about the image.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

DeleteImageBuilder

$result = $client->deleteImageBuilder([/* ... */]);
$promise = $client->deleteImageBuilderAsync([/* ... */]);

Deletes the specified image builder and releases the capacity.

Parameter Syntax

$result = $client->deleteImageBuilder([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the image builder.

Result Syntax

[
    'ImageBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'ImageArn' => '<string>',
        'ImageBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'NetworkAccessConfiguration' => [
            'EniId' => '<string>',
            'EniPrivateIpAddress' => '<string>',
        ],
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'State' => 'PENDING|UPDATING_AGENT|RUNNING|STOPPING|STOPPED|REBOOTING|SNAPSHOTTING|DELETING|FAILED|UPDATING|PENDING_QUALIFICATION',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_UNAVAILABLE',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
ImageBuilder
Type: ImageBuilder structure

Information about the image builder.

Errors

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

DeleteImagePermissions

$result = $client->deleteImagePermissions([/* ... */]);
$promise = $client->deleteImagePermissionsAsync([/* ... */]);

Deletes permissions for the specified private image. After you delete permissions for an image, AWS accounts to which you previously granted these permissions can no longer use the image.

Parameter Syntax

$result = $client->deleteImagePermissions([
    'Name' => '<string>', // REQUIRED
    'SharedAccountId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the private image.

SharedAccountId
Required: Yes
Type: string

The 12-digit identifier of the AWS account for which to delete image permissions.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

DeleteStack

$result = $client->deleteStack([/* ... */]);
$promise = $client->deleteStackAsync([/* ... */]);

Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released.

Parameter Syntax

$result = $client->deleteStack([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the stack.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

DeleteUsageReportSubscription

$result = $client->deleteUsageReportSubscription([/* ... */]);
$promise = $client->deleteUsageReportSubscriptionAsync([/* ... */]);

Disables usage report generation.

Parameter Syntax

$result = $client->deleteUsageReportSubscription([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidAccountStatusException:

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

ResourceNotFoundException:

The specified resource was not found.

DeleteUser

$result = $client->deleteUser([/* ... */]);
$promise = $client->deleteUserAsync([/* ... */]);

Deletes a user from the user pool.

Parameter Syntax

$result = $client->deleteUser([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the user. You must specify USERPOOL.

UserName
Required: Yes
Type: string

The email address of the user.

Users' email addresses are case-sensitive.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeAppBlockBuilderAppBlockAssociations

$result = $client->describeAppBlockBuilderAppBlockAssociations([/* ... */]);
$promise = $client->describeAppBlockBuilderAppBlockAssociationsAsync([/* ... */]);

Retrieves a list that describes one or more app block builder associations.

Parameter Syntax

$result = $client->describeAppBlockBuilderAppBlockAssociations([
    'AppBlockArn' => '<string>',
    'AppBlockBuilderName' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AppBlockArn
Type: string

The ARN of the app block.

AppBlockBuilderName
Type: string

The name of the app block builder.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Result Syntax

[
    'AppBlockBuilderAppBlockAssociations' => [
        [
            'AppBlockArn' => '<string>',
            'AppBlockBuilderName' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AppBlockBuilderAppBlockAssociations
Type: Array of AppBlockBuilderAppBlockAssociation structures

This list of app block builders associated with app blocks.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

DescribeAppBlockBuilders

$result = $client->describeAppBlockBuilders([/* ... */]);
$promise = $client->describeAppBlockBuildersAsync([/* ... */]);

Retrieves a list that describes one or more app block builders.

Parameter Syntax

$result = $client->describeAppBlockBuilders([
    'MaxResults' => <integer>,
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum size of each page of results. The maximum value is 25.

Names
Type: Array of strings

The names of the app block builders.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Result Syntax

[
    'AppBlockBuilders' => [
        [
            'AccessEndpoints' => [
                [
                    'EndpointType' => 'STREAMING',
                    'VpceId' => '<string>',
                ],
                // ...
            ],
            'AppBlockBuilderErrors' => [
                [
                    'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                    'ErrorTimestamp' => <DateTime>,
                ],
                // ...
            ],
            'Arn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'EnableDefaultInternetAccess' => true || false,
            'IamRoleArn' => '<string>',
            'InstanceType' => '<string>',
            'Name' => '<string>',
            'Platform' => 'WINDOWS_SERVER_2019',
            'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
            'StateChangeReason' => [
                'Code' => 'INTERNAL_ERROR',
                'Message' => '<string>',
            ],
            'VpcConfig' => [
                'SecurityGroupIds' => ['<string>', ...],
                'SubnetIds' => ['<string>', ...],
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AppBlockBuilders
Type: Array of AppBlockBuilder structures

The list that describes one or more app block builders.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

DescribeAppBlocks

$result = $client->describeAppBlocks([/* ... */]);
$promise = $client->describeAppBlocksAsync([/* ... */]);

Retrieves a list that describes one or more app blocks.

Parameter Syntax

$result = $client->describeAppBlocks([
    'Arns' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Arns
Type: Array of strings

The ARNs of the app blocks.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Result Syntax

[
    'AppBlocks' => [
        [
            'AppBlockErrors' => [
                [
                    'ErrorCode' => '<string>',
                    'ErrorMessage' => '<string>',
                ],
                // ...
            ],
            'Arn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'Name' => '<string>',
            'PackagingType' => 'CUSTOM|APPSTREAM2',
            'PostSetupScriptDetails' => [
                'ExecutableParameters' => '<string>',
                'ExecutablePath' => '<string>',
                'ScriptS3Location' => [
                    'S3Bucket' => '<string>',
                    'S3Key' => '<string>',
                ],
                'TimeoutInSeconds' => <integer>,
            ],
            'SetupScriptDetails' => [
                'ExecutableParameters' => '<string>',
                'ExecutablePath' => '<string>',
                'ScriptS3Location' => [
                    'S3Bucket' => '<string>',
                    'S3Key' => '<string>',
                ],
                'TimeoutInSeconds' => <integer>,
            ],
            'SourceS3Location' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
            'State' => 'INACTIVE|ACTIVE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AppBlocks
Type: Array of AppBlock structures

The app blocks in the list.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

DescribeApplicationFleetAssociations

$result = $client->describeApplicationFleetAssociations([/* ... */]);
$promise = $client->describeApplicationFleetAssociationsAsync([/* ... */]);

Retrieves a list that describes one or more application fleet associations. Either ApplicationArn or FleetName must be specified.

Parameter Syntax

$result = $client->describeApplicationFleetAssociations([
    'ApplicationArn' => '<string>',
    'FleetName' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ApplicationArn
Type: string

The ARN of the application.

FleetName
Type: string

The name of the fleet.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Result Syntax

[
    'ApplicationFleetAssociations' => [
        [
            'ApplicationArn' => '<string>',
            'FleetName' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ApplicationFleetAssociations
Type: Array of ApplicationFleetAssociation structures

The application fleet associations in the list.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

DescribeApplications

$result = $client->describeApplications([/* ... */]);
$promise = $client->describeApplicationsAsync([/* ... */]);

Retrieves a list that describes one or more applications.

Parameter Syntax

$result = $client->describeApplications([
    'Arns' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Arns
Type: Array of strings

The ARNs for the applications.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Result Syntax

[
    'Applications' => [
        [
            'AppBlockArn' => '<string>',
            'Arn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'Enabled' => true || false,
            'IconS3Location' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
            'IconURL' => '<string>',
            'InstanceFamilies' => ['<string>', ...],
            'LaunchParameters' => '<string>',
            'LaunchPath' => '<string>',
            'Metadata' => ['<string>', ...],
            'Name' => '<string>',
            'Platforms' => ['<string>', ...],
            'WorkingDirectory' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Applications
Type: Array of Application structures

The applications in the list.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

DescribeDirectoryConfigs

$result = $client->describeDirectoryConfigs([/* ... */]);
$promise = $client->describeDirectoryConfigsAsync([/* ... */]);

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

Parameter Syntax

$result = $client->describeDirectoryConfigs([
    'DirectoryNames' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DirectoryNames
Type: Array of strings

The directory names.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'DirectoryConfigs' => [
        [
            'CertificateBasedAuthProperties' => [
                'CertificateAuthorityArn' => '<string>',
                'Status' => 'DISABLED|ENABLED|ENABLED_NO_DIRECTORY_LOGIN_FALLBACK',
            ],
            'CreatedTime' => <DateTime>,
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedNames' => ['<string>', ...],
            'ServiceAccountCredentials' => [
                'AccountName' => '<string>',
                'AccountPassword' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
DirectoryConfigs
Type: Array of DirectoryConfig structures

Information about the directory configurations. Note that although the response syntax in this topic includes the account password, this password is not returned in the actual response.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeEntitlements

$result = $client->describeEntitlements([/* ... */]);
$promise = $client->describeEntitlementsAsync([/* ... */]);

Retrieves a list that describes one of more entitlements.

Parameter Syntax

$result = $client->describeEntitlements([
    'MaxResults' => <integer>,
    'Name' => '<string>',
    'NextToken' => '<string>',
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum size of each page of results.

Name
Type: string

The name of the entitlement.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[
    'Entitlements' => [
        [
            'AppVisibility' => 'ALL|ASSOCIATED',
            'Attributes' => [
                [
                    'Name' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'LastModifiedTime' => <DateTime>,
            'Name' => '<string>',
            'StackName' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Entitlements
Type: Array of Entitlement structures

The entitlements.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

DescribeFleets

$result = $client->describeFleets([/* ... */]);
$promise = $client->describeFleetsAsync([/* ... */]);

Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described.

Parameter Syntax

$result = $client->describeFleets([
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]);

Parameter Details

Members
Names
Type: Array of strings

The names of the fleets to describe.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'Fleets' => [
        [
            'Arn' => '<string>',
            'ComputeCapacityStatus' => [
                'ActiveUserSessions' => <integer>,
                'ActualUserSessions' => <integer>,
                'Available' => <integer>,
                'AvailableUserSessions' => <integer>,
                'Desired' => <integer>,
                'DesiredUserSessions' => <integer>,
                'InUse' => <integer>,
                'Running' => <integer>,
            ],
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisconnectTimeoutInSeconds' => <integer>,
            'DisplayName' => '<string>',
            'DomainJoinInfo' => [
                'DirectoryName' => '<string>',
                'OrganizationalUnitDistinguishedName' => '<string>',
            ],
            'EnableDefaultInternetAccess' => true || false,
            'FleetErrors' => [
                [
                    'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                ],
                // ...
            ],
            'FleetType' => 'ALWAYS_ON|ON_DEMAND|ELASTIC',
            'IamRoleArn' => '<string>',
            'IdleDisconnectTimeoutInSeconds' => <integer>,
            'ImageArn' => '<string>',
            'ImageName' => '<string>',
            'InstanceType' => '<string>',
            'MaxConcurrentSessions' => <integer>,
            'MaxSessionsPerInstance' => <integer>,
            'MaxUserDurationInSeconds' => <integer>,
            'Name' => '<string>',
            'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
            'SessionScriptS3Location' => [
                'S3Bucket' => '<string>',
                'S3Key' => '<string>',
            ],
            'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
            'StreamView' => 'APP|DESKTOP',
            'UsbDeviceFilterStrings' => ['<string>', ...],
            'VpcConfig' => [
                'SecurityGroupIds' => ['<string>', ...],
                'SubnetIds' => ['<string>', ...],
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Fleets
Type: Array of Fleet structures

Information about the fleets.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeImageBuilders

$result = $client->describeImageBuilders([/* ... */]);
$promise = $client->describeImageBuildersAsync([/* ... */]);

Retrieves a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described.

Parameter Syntax

$result = $client->describeImageBuilders([
    'MaxResults' => <integer>,
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum size of each page of results.

Names
Type: Array of strings

The names of the image builders to describe.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'ImageBuilders' => [
        [
            'AccessEndpoints' => [
                [
                    'EndpointType' => 'STREAMING',
                    'VpceId' => '<string>',
                ],
                // ...
            ],
            'AppstreamAgentVersion' => '<string>',
            'Arn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'DomainJoinInfo' => [
                'DirectoryName' => '<string>',
                'OrganizationalUnitDistinguishedName' => '<string>',
            ],
            'EnableDefaultInternetAccess' => true || false,
            'IamRoleArn' => '<string>',
            'ImageArn' => '<string>',
            'ImageBuilderErrors' => [
                [
                    'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                    'ErrorTimestamp' => <DateTime>,
                ],
                // ...
            ],
            'InstanceType' => '<string>',
            'Name' => '<string>',
            'NetworkAccessConfiguration' => [
                'EniId' => '<string>',
                'EniPrivateIpAddress' => '<string>',
            ],
            'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
            'State' => 'PENDING|UPDATING_AGENT|RUNNING|STOPPING|STOPPED|REBOOTING|SNAPSHOTTING|DELETING|FAILED|UPDATING|PENDING_QUALIFICATION',
            'StateChangeReason' => [
                'Code' => 'INTERNAL_ERROR|IMAGE_UNAVAILABLE',
                'Message' => '<string>',
            ],
            'VpcConfig' => [
                'SecurityGroupIds' => ['<string>', ...],
                'SubnetIds' => ['<string>', ...],
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ImageBuilders
Type: Array of ImageBuilder structures

Information about the image builders.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeImagePermissions

$result = $client->describeImagePermissions([/* ... */]);
$promise = $client->describeImagePermissionsAsync([/* ... */]);

Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.

Parameter Syntax

$result = $client->describeImagePermissions([
    'MaxResults' => <integer>,
    'Name' => '<string>', // REQUIRED
    'NextToken' => '<string>',
    'SharedAwsAccountIds' => ['<string>', ...],
]);

Parameter Details

Members
MaxResults
Type: int

The maximum size of each page of results.

Name
Required: Yes
Type: string

The name of the private image for which to describe permissions. The image must be one that you own.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

SharedAwsAccountIds
Type: Array of strings

The 12-digit identifier of one or more AWS accounts with which the image is shared.

Result Syntax

[
    'Name' => '<string>',
    'NextToken' => '<string>',
    'SharedImagePermissionsList' => [
        [
            'imagePermissions' => [
                'allowFleet' => true || false,
                'allowImageBuilder' => true || false,
            ],
            'sharedAccountId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Name
Type: string

The name of the private image.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

SharedImagePermissionsList
Type: Array of SharedImagePermissions structures

The permissions for a private image that you own.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeImages

$result = $client->describeImages([/* ... */]);
$promise = $client->describeImagesAsync([/* ... */]);

Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described.

Parameter Syntax

$result = $client->describeImages([
    'Arns' => ['<string>', ...],
    'MaxResults' => <integer>,
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
    'Type' => 'PUBLIC|PRIVATE|SHARED',
]);

Parameter Details

Members
Arns
Type: Array of strings

The ARNs of the public, private, and shared images to describe.

MaxResults
Type: int

The maximum size of each page of results.

Names
Type: Array of strings

The names of the public or private images to describe.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Type
Type: string

The type of image (public, private, or shared) to describe.

Result Syntax

[
    'Images' => [
        [
            'Applications' => [
                [
                    'AppBlockArn' => '<string>',
                    'Arn' => '<string>',
                    'CreatedTime' => <DateTime>,
                    'Description' => '<string>',
                    'DisplayName' => '<string>',
                    'Enabled' => true || false,
                    'IconS3Location' => [
                        'S3Bucket' => '<string>',
                        'S3Key' => '<string>',
                    ],
                    'IconURL' => '<string>',
                    'InstanceFamilies' => ['<string>', ...],
                    'LaunchParameters' => '<string>',
                    'LaunchPath' => '<string>',
                    'Metadata' => ['<string>', ...],
                    'Name' => '<string>',
                    'Platforms' => ['<string>', ...],
                    'WorkingDirectory' => '<string>',
                ],
                // ...
            ],
            'AppstreamAgentVersion' => '<string>',
            'Arn' => '<string>',
            'BaseImageArn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'ImageBuilderName' => '<string>',
            'ImageBuilderSupported' => true || false,
            'ImageErrors' => [
                [
                    'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                    'ErrorTimestamp' => <DateTime>,
                ],
                // ...
            ],
            'ImagePermissions' => [
                'allowFleet' => true || false,
                'allowImageBuilder' => true || false,
            ],
            'Name' => '<string>',
            'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
            'PublicBaseImageReleasedDate' => <DateTime>,
            'State' => 'PENDING|AVAILABLE|FAILED|COPYING|DELETING|CREATING|IMPORTING',
            'StateChangeReason' => [
                'Code' => 'INTERNAL_ERROR|IMAGE_BUILDER_NOT_AVAILABLE|IMAGE_COPY_FAILURE',
                'Message' => '<string>',
            ],
            'Visibility' => 'PUBLIC|PRIVATE|SHARED',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Images
Type: Array of Image structures

Information about the images.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

InvalidParameterCombinationException:

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

ResourceNotFoundException:

The specified resource was not found.

DescribeSessions

$result = $client->describeSessions([/* ... */]);
$promise = $client->describeSessionsAsync([/* ... */]);

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a UserId is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

Parameter Syntax

$result = $client->describeSessions([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
    'FleetName' => '<string>', // REQUIRED
    'InstanceId' => '<string>',
    'Limit' => <integer>,
    'NextToken' => '<string>',
    'StackName' => '<string>', // REQUIRED
    'UserId' => '<string>',
]);

Parameter Details

Members
AuthenticationType
Type: string

The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.

FleetName
Required: Yes
Type: string

The name of the fleet. This value is case-sensitive.

InstanceId
Type: string

The identifier for the instance hosting the session.

Limit
Type: int

The size of each page of results. The default value is 20 and the maximum value is 50.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

StackName
Required: Yes
Type: string

The name of the stack. This value is case-sensitive.

UserId
Type: string

The user identifier (ID). If you specify a user ID, you must also specify the authentication type.

Result Syntax

[
    'NextToken' => '<string>',
    'Sessions' => [
        [
            'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
            'ConnectionState' => 'CONNECTED|NOT_CONNECTED',
            'FleetName' => '<string>',
            'Id' => '<string>',
            'InstanceId' => '<string>',
            'MaxExpirationTime' => <DateTime>,
            'NetworkAccessConfiguration' => [
                'EniId' => '<string>',
                'EniPrivateIpAddress' => '<string>',
            ],
            'StackName' => '<string>',
            'StartTime' => <DateTime>,
            'State' => 'ACTIVE|PENDING|EXPIRED',
            'UserId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Sessions
Type: Array of Session structures

Information about the streaming sessions.

Errors

InvalidParameterCombinationException:

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

DescribeStacks

$result = $client->describeStacks([/* ... */]);
$promise = $client->describeStacksAsync([/* ... */]);

Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.

Parameter Syntax

$result = $client->describeStacks([
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]);

Parameter Details

Members
Names
Type: Array of strings

The names of the stacks to describe.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'NextToken' => '<string>',
    'Stacks' => [
        [
            'AccessEndpoints' => [
                [
                    'EndpointType' => 'STREAMING',
                    'VpceId' => '<string>',
                ],
                // ...
            ],
            'ApplicationSettings' => [
                'Enabled' => true || false,
                'S3BucketName' => '<string>',
                'SettingsGroup' => '<string>',
            ],
            'Arn' => '<string>',
            'CreatedTime' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'EmbedHostDomains' => ['<string>', ...],
            'FeedbackURL' => '<string>',
            'Name' => '<string>',
            'RedirectURL' => '<string>',
            'StackErrors' => [
                [
                    'ErrorCode' => 'STORAGE_CONNECTOR_ERROR|INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                ],
                // ...
            ],
            'StorageConnectors' => [
                [
                    'ConnectorType' => 'HOMEFOLDERS|GOOGLE_DRIVE|ONE_DRIVE',
                    'Domains' => ['<string>', ...],
                    'ResourceIdentifier' => '<string>',
                ],
                // ...
            ],
            'StreamingExperienceSettings' => [
                'PreferredProtocol' => 'TCP|UDP',
            ],
            'UserSettings' => [
                [
                    'Action' => 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE|CLIPBOARD_COPY_TO_LOCAL_DEVICE|FILE_UPLOAD|FILE_DOWNLOAD|PRINTING_TO_LOCAL_DEVICE|DOMAIN_PASSWORD_SIGNIN|DOMAIN_SMART_CARD_SIGNIN',
                    'MaximumLength' => <integer>,
                    'Permission' => 'ENABLED|DISABLED',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Stacks
Type: Array of Stack structures

Information about the stacks.

Errors

ResourceNotFoundException:

The specified resource was not found.

DescribeUsageReportSubscriptions

$result = $client->describeUsageReportSubscriptions([/* ... */]);
$promise = $client->describeUsageReportSubscriptionsAsync([/* ... */]);

Retrieves a list that describes one or more usage report subscriptions.

Parameter Syntax

$result = $client->describeUsageReportSubscriptions([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'NextToken' => '<string>',
    'UsageReportSubscriptions' => [
        [
            'LastGeneratedReportDate' => <DateTime>,
            'S3BucketName' => '<string>',
            'Schedule' => 'DAILY',
            'SubscriptionErrors' => [
                [
                    'ErrorCode' => 'RESOURCE_NOT_FOUND|ACCESS_DENIED|INTERNAL_SERVICE_ERROR',
                    'ErrorMessage' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

UsageReportSubscriptions
Type: Array of UsageReportSubscription structures

Information about the usage report subscription.

Errors

ResourceNotFoundException:

The specified resource was not found.

InvalidAccountStatusException:

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

DescribeUserStackAssociations

$result = $client->describeUserStackAssociations([/* ... */]);
$promise = $client->describeUserStackAssociationsAsync([/* ... */]);

Retrieves a list that describes the UserStackAssociation objects. You must specify either or both of the following:

  • The stack name

  • The user name (email address of the user associated with the stack) and the authentication type for the user

Parameter Syntax

$result = $client->describeUserStackAssociations([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StackName' => '<string>',
    'UserName' => '<string>',
]);

Parameter Details

Members
AuthenticationType
Type: string

The authentication type for the user who is associated with the stack. You must specify USERPOOL.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

StackName
Type: string

The name of the stack that is associated with the user.

UserName
Type: string

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

Result Syntax

[
    'NextToken' => '<string>',
    'UserStackAssociations' => [
        [
            'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
            'SendEmailNotification' => true || false,
            'StackName' => '<string>',
            'UserName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

UserStackAssociations
Type: Array of UserStackAssociation structures

The UserStackAssociation objects.

Errors

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

DescribeUsers

$result = $client->describeUsers([/* ... */]);
$promise = $client->describeUsersAsync([/* ... */]);

Retrieves a list that describes one or more specified users in the user pool.

Parameter Syntax

$result = $client->describeUsers([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the users in the user pool to describe. You must specify USERPOOL.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'NextToken' => '<string>',
    'Users' => [
        [
            'Arn' => '<string>',
            'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD',
            'CreatedTime' => <DateTime>,
            'Enabled' => true || false,
            'FirstName' => '<string>',
            'LastName' => '<string>',
            'Status' => '<string>',
            'UserName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Users
Type: Array of User structures

Information about users in the user pool.

Errors

ResourceNotFoundException:

The specified resource was not found.

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

DisableUser

$result = $client->disableUser([/* ... */]);
$promise = $client->disableUserAsync([/* ... */]);

Disables the specified user in the user pool. Users can't sign in to AppStream 2.0 until they are re-enabled. This action does not delete the user.

Parameter Syntax

$result = $client->disableUser([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the user. You must specify USERPOOL.

UserName
Required: Yes
Type: string

The email address of the user.

Users' email addresses are case-sensitive.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

DisassociateAppBlockBuilderAppBlock

$result = $client->disassociateAppBlockBuilderAppBlock([/* ... */]);
$promise = $client->disassociateAppBlockBuilderAppBlockAsync([/* ... */]);

Disassociates a specified app block builder from a specified app block.

Parameter Syntax

$result = $client->disassociateAppBlockBuilderAppBlock([
    'AppBlockArn' => '<string>', // REQUIRED
    'AppBlockBuilderName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppBlockArn
Required: Yes
Type: string

The ARN of the app block.

AppBlockBuilderName
Required: Yes
Type: string

The name of the app block builder.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ConcurrentModificationException:

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

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

DisassociateApplicationFleet

$result = $client->disassociateApplicationFleet([/* ... */]);
$promise = $client->disassociateApplicationFleetAsync([/* ... */]);

Disassociates the specified application from the fleet.

Parameter Syntax

$result = $client->disassociateApplicationFleet([
    'ApplicationArn' => '<string>', // REQUIRED
    'FleetName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationArn
Required: Yes
Type: string

The ARN of the application.

FleetName
Required: Yes
Type: string

The name of the fleet.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ConcurrentModificationException:

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

InvalidParameterCombinationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

DisassociateApplicationFromEntitlement

$result = $client->disassociateApplicationFromEntitlement([/* ... */]);
$promise = $client->disassociateApplicationFromEntitlementAsync([/* ... */]);

Deletes the specified application from the specified entitlement.

Parameter Syntax

$result = $client->disassociateApplicationFromEntitlement([
    'ApplicationIdentifier' => '<string>', // REQUIRED
    'EntitlementName' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplicationIdentifier
Required: Yes
Type: string

The identifier of the application to remove from the entitlement.

EntitlementName
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

OperationNotPermittedException:

The attempted operation is not permitted.

DisassociateFleet

$result = $client->disassociateFleet([/* ... */]);
$promise = $client->disassociateFleetAsync([/* ... */]);

Disassociates the specified fleet from the specified stack.

Parameter Syntax

$result = $client->disassociateFleet([
    'FleetName' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
FleetName
Required: Yes
Type: string

The name of the fleet.

StackName
Required: Yes
Type: string

The name of the stack.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

EnableUser

$result = $client->enableUser([/* ... */]);
$promise = $client->enableUserAsync([/* ... */]);

Enables a user in the user pool. After being enabled, users can sign in to AppStream 2.0 and open applications from the stacks to which they are assigned.

Parameter Syntax

$result = $client->enableUser([
    'AuthenticationType' => 'API|SAML|USERPOOL|AWS_AD', // REQUIRED
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the user. You must specify USERPOOL.

UserName
Required: Yes
Type: string

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

InvalidAccountStatusException:

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

ExpireSession

$result = $client->expireSession([/* ... */]);
$promise = $client->expireSessionAsync([/* ... */]);

Immediately stops the specified streaming session.

Parameter Syntax

$result = $client->expireSession([
    'SessionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
SessionId
Required: Yes
Type: string

The identifier of the streaming session.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

ListAssociatedFleets

$result = $client->listAssociatedFleets([/* ... */]);
$promise = $client->listAssociatedFleetsAsync([/* ... */]);

Retrieves the name of the fleet that is associated with the specified stack.

Parameter Syntax

$result = $client->listAssociatedFleets([
    'NextToken' => '<string>',
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

StackName
Required: Yes
Type: string

The name of the stack.

Result Syntax

[
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]

Result Details

Members
Names
Type: Array of strings

The name of the fleet.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

There are no errors described for this operation.

ListAssociatedStacks

$result = $client->listAssociatedStacks([/* ... */]);
$promise = $client->listAssociatedStacksAsync([/* ... */]);

Retrieves the name of the stack with which the specified fleet is associated.

Parameter Syntax

$result = $client->listAssociatedStacks([
    'FleetName' => '<string>', // REQUIRED
    'NextToken' => '<string>',
]);

Parameter Details

Members
FleetName
Required: Yes
Type: string

The name of the fleet.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

Result Syntax

[
    'Names' => ['<string>', ...],
    'NextToken' => '<string>',
]

Result Details

Members
Names
Type: Array of strings

The name of the stack.

NextToken
Type: string

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

Errors

There are no errors described for this operation.

ListEntitledApplications

$result = $client->listEntitledApplications([/* ... */]);
$promise = $client->listEntitledApplicationsAsync([/* ... */]);

Retrieves a list of entitled applications.

Parameter Syntax

$result = $client->listEntitledApplications([
    'EntitlementName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
EntitlementName
Required: Yes
Type: string

The name of the entitlement.

MaxResults
Type: int

The maximum size of each page of results.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[
    'EntitledApplications' => [
        [
            'ApplicationIdentifier' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
EntitledApplications
Type: Array of EntitledApplication structures

The entitled applications.

NextToken
Type: string

The pagination token used to retrieve the next page of results for this operation.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

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

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

Result Syntax

[
    'Tags' => ['<string>', ...],
]

Result Details

Members
Tags
Type: Associative array of custom strings keys (TagKey) to strings

The information about the tags.

Errors

ResourceNotFoundException:

The specified resource was not found.

StartAppBlockBuilder

$result = $client->startAppBlockBuilder([/* ... */]);
$promise = $client->startAppBlockBuilderAsync([/* ... */]);

Starts an app block builder.

An app block builder can only be started when it's associated with an app block.

Starting an app block builder starts a new instance, which is equivalent to an elastic fleet instance with application builder assistance functionality.

Parameter Syntax

$result = $client->startAppBlockBuilder([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the app block builder.

Result Syntax

[
    'AppBlockBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppBlockBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'Platform' => 'WINDOWS_SERVER_2019',
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
AppBlockBuilder
Type: AppBlockBuilder structure

Describes an app block builder.

Errors

ConcurrentModificationException:

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

InvalidAccountStatusException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

OperationNotPermittedException:

The attempted operation is not permitted.

RequestLimitExceededException:

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.

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

StartFleet

$result = $client->startFleet([/* ... */]);
$promise = $client->startFleetAsync([/* ... */]);

Starts the specified fleet.

Parameter Syntax

$result = $client->startFleet([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the fleet.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

RequestLimitExceededException:

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.

InvalidAccountStatusException:

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

ConcurrentModificationException:

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

ResourceNotAvailableException:

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

InvalidRoleException:

The specified role is invalid.

StartImageBuilder

$result = $client->startImageBuilder([/* ... */]);
$promise = $client->startImageBuilderAsync([/* ... */]);

Starts the specified image builder.

Parameter Syntax

$result = $client->startImageBuilder([
    'AppstreamAgentVersion' => '<string>',
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppstreamAgentVersion
Type: string

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].

Name
Required: Yes
Type: string

The name of the image builder.

Result Syntax

[
    'ImageBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'ImageArn' => '<string>',
        'ImageBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'NetworkAccessConfiguration' => [
            'EniId' => '<string>',
            'EniPrivateIpAddress' => '<string>',
        ],
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'State' => 'PENDING|UPDATING_AGENT|RUNNING|STOPPING|STOPPED|REBOOTING|SNAPSHOTTING|DELETING|FAILED|UPDATING|PENDING_QUALIFICATION',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_UNAVAILABLE',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
ImageBuilder
Type: ImageBuilder structure

Information about the image builder.

Errors

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

InvalidAccountStatusException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

StopAppBlockBuilder

$result = $client->stopAppBlockBuilder([/* ... */]);
$promise = $client->stopAppBlockBuilderAsync([/* ... */]);

Stops an app block builder.

Stopping an app block builder terminates the instance, and the instance state is not persisted.

Parameter Syntax

$result = $client->stopAppBlockBuilder([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the app block builder.

Result Syntax

[
    'AppBlockBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppBlockBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'Platform' => 'WINDOWS_SERVER_2019',
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
AppBlockBuilder
Type: AppBlockBuilder structure

Describes an app block builder.

Errors

ConcurrentModificationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

StopFleet

$result = $client->stopFleet([/* ... */]);
$promise = $client->stopFleetAsync([/* ... */]);

Stops the specified fleet.

Parameter Syntax

$result = $client->stopFleet([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the fleet.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

StopImageBuilder

$result = $client->stopImageBuilder([/* ... */]);
$promise = $client->stopImageBuilderAsync([/* ... */]);

Stops the specified image builder.

Parameter Syntax

$result = $client->stopImageBuilder([
    'Name' => '<string>', // REQUIRED
]);

Parameter Details

Members
Name
Required: Yes
Type: string

The name of the image builder.

Result Syntax

[
    'ImageBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppstreamAgentVersion' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'ImageArn' => '<string>',
        'ImageBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'NetworkAccessConfiguration' => [
            'EniId' => '<string>',
            'EniPrivateIpAddress' => '<string>',
        ],
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'State' => 'PENDING|UPDATING_AGENT|RUNNING|STOPPING|STOPPED|REBOOTING|SNAPSHOTTING|DELETING|FAILED|UPDATING|PENDING_QUALIFICATION',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR|IMAGE_UNAVAILABLE',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
ImageBuilder
Type: ImageBuilder structure

Information about the image builder.

Errors

ResourceNotFoundException:

The specified resource was not found.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

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

Parameter Syntax

$result = $client->tagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'Tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

Tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

The tags to associate. 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:

_ . : / = + \ - @

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

ResourceNotFoundException:

The specified resource was not found.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

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

Parameter Syntax

$result = $client->untagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'TagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

TagKeys
Required: Yes
Type: Array of strings

The tag keys for the tags to disassociate.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

UpdateAppBlockBuilder

$result = $client->updateAppBlockBuilder([/* ... */]);
$promise = $client->updateAppBlockBuilderAsync([/* ... */]);

Updates an app block builder.

If the app block builder is in the STARTING or STOPPING state, you can't update it. If the app block builder is in the RUNNING state, you can only update the DisplayName and Description. If the app block builder is in the STOPPED state, you can update any attribute except the Name.

Parameter Syntax

$result = $client->updateAppBlockBuilder([
    'AccessEndpoints' => [
        [
            'EndpointType' => 'STREAMING', // REQUIRED
            'VpceId' => '<string>',
        ],
        // ...
    ],
    'AttributesToDelete' => ['<string>', ...],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'EnableDefaultInternetAccess' => true || false,
    'IamRoleArn' => '<string>',
    'InstanceType' => '<string>',
    'Name' => '<string>', // REQUIRED
    'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
    'VpcConfig' => [
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetIds' => ['<string>', ...],
    ],
]);

Parameter Details

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

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

AttributesToDelete
Type: Array of strings

The attributes to delete from the app block builder.

Description
Type: string

The description of the app block builder.

DisplayName
Type: string

The display name of the app block builder.

EnableDefaultInternetAccess
Type: boolean

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

IamRoleArn
Type: string

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.

InstanceType
Type: string

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

Name
Required: Yes
Type: string

The unique name for the app block builder.

Platform
Type: string

The platform of the app block builder.

WINDOWS_SERVER_2019 is the only valid value.

VpcConfig
Type: VpcConfig structure

The VPC configuration for the app block builder.

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

Result Syntax

[
    'AppBlockBuilder' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'AppBlockBuilderErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
                'ErrorTimestamp' => <DateTime>,
            ],
            // ...
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EnableDefaultInternetAccess' => true || false,
        'IamRoleArn' => '<string>',
        'InstanceType' => '<string>',
        'Name' => '<string>',
        'Platform' => 'WINDOWS_SERVER_2019',
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StateChangeReason' => [
            'Code' => 'INTERNAL_ERROR',
            'Message' => '<string>',
        ],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
AppBlockBuilder
Type: AppBlockBuilder structure

Describes an app block builder.

Errors

ConcurrentModificationException:

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

InvalidAccountStatusException:

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

InvalidParameterCombinationException:

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

InvalidRoleException:

The specified role is invalid.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

OperationNotPermittedException:

The attempted operation is not permitted.

RequestLimitExceededException:

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.

ResourceInUseException:

The specified resource is in use.

ResourceNotAvailableException:

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

ResourceNotFoundException:

The specified resource was not found.

UpdateApplication

$result = $client->updateApplication([/* ... */]);
$promise = $client->updateApplicationAsync([/* ... */]);

Updates the specified application.

Parameter Syntax

$result = $client->updateApplication([
    'AppBlockArn' => '<string>',
    'AttributesToDelete' => ['<string>', ...],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'IconS3Location' => [
        'S3Bucket' => '<string>', // REQUIRED
        'S3Key' => '<string>',
    ],
    'LaunchParameters' => '<string>',
    'LaunchPath' => '<string>',
    'Name' => '<string>', // REQUIRED
    'WorkingDirectory' => '<string>',
]);

Parameter Details

Members
AppBlockArn
Type: string

The ARN of the app block.

AttributesToDelete
Type: Array of strings

The attributes to delete for an application.

Description
Type: string

The description of the application.

DisplayName
Type: string

The display name of the application. This name is visible to users in the application catalog.

IconS3Location
Type: S3Location structure

The icon S3 location of the application.

LaunchParameters
Type: string

The launch parameters of the application.

LaunchPath
Type: string

The launch path of the application.

Name
Required: Yes
Type: string

The name of the application. This name is visible to users when display name is not specified.

WorkingDirectory
Type: string

The working directory of the application.

Result Syntax

[
    'Application' => [
        'AppBlockArn' => '<string>',
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'Enabled' => true || false,
        'IconS3Location' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'IconURL' => '<string>',
        'InstanceFamilies' => ['<string>', ...],
        'LaunchParameters' => '<string>',
        'LaunchPath' => '<string>',
        'Metadata' => ['<string>', ...],
        'Name' => '<string>',
        'Platforms' => ['<string>', ...],
        'WorkingDirectory' => '<string>',
    ],
]

Result Details

Members
Application
Type: Application structure

Describes an application in the application catalog.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

ResourceNotFoundException:

The specified resource was not found.

UpdateDirectoryConfig

$result = $client->updateDirectoryConfig([/* ... */]);
$promise = $client->updateDirectoryConfigAsync([/* ... */]);

Updates the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Parameter Syntax

$result = $client->updateDirectoryConfig([
    'CertificateBasedAuthProperties' => [
        'CertificateAuthorityArn' => '<string>',
        'Status' => 'DISABLED|ENABLED|ENABLED_NO_DIRECTORY_LOGIN_FALLBACK',
    ],
    'DirectoryName' => '<string>', // REQUIRED
    'OrganizationalUnitDistinguishedNames' => ['<string>', ...],
    'ServiceAccountCredentials' => [
        'AccountName' => '<string>', // REQUIRED
        'AccountPassword' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
CertificateBasedAuthProperties

The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

DirectoryName
Required: Yes
Type: string

The name of the Directory Config object.

OrganizationalUnitDistinguishedNames
Type: Array of strings

The distinguished names of the organizational units for computer accounts.

ServiceAccountCredentials
Type: ServiceAccountCredentials structure

The credentials for the service account used by the fleet or image builder to connect to the directory.

Result Syntax

[
    'DirectoryConfig' => [
        'CertificateBasedAuthProperties' => [
            'CertificateAuthorityArn' => '<string>',
            'Status' => 'DISABLED|ENABLED|ENABLED_NO_DIRECTORY_LOGIN_FALLBACK',
        ],
        'CreatedTime' => <DateTime>,
        'DirectoryName' => '<string>',
        'OrganizationalUnitDistinguishedNames' => ['<string>', ...],
        'ServiceAccountCredentials' => [
            'AccountName' => '<string>',
            'AccountPassword' => '<string>',
        ],
    ],
]

Result Details

Members
DirectoryConfig
Type: DirectoryConfig structure

Information about the Directory Config object.

Errors

ResourceInUseException:

The specified resource is in use.

ResourceNotFoundException:

The specified resource was not found.

ConcurrentModificationException:

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

OperationNotPermittedException:

The attempted operation is not permitted.

InvalidRoleException:

The specified role is invalid.

UpdateEntitlement

$result = $client->updateEntitlement([/* ... */]);
$promise = $client->updateEntitlementAsync([/* ... */]);

Updates the specified entitlement.

Parameter Syntax

$result = $client->updateEntitlement([
    'AppVisibility' => 'ALL|ASSOCIATED',
    'Attributes' => [
        [
            'Name' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Description' => '<string>',
    'Name' => '<string>', // REQUIRED
    'StackName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppVisibility
Type: string

Specifies whether all or only selected apps are entitled.

Attributes
Type: Array of EntitlementAttribute structures

The attributes of the entitlement.

Description
Type: string

The description of the entitlement.

Name
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

Result Syntax

[
    'Entitlement' => [
        'AppVisibility' => 'ALL|ASSOCIATED',
        'Attributes' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'LastModifiedTime' => <DateTime>,
        'Name' => '<string>',
        'StackName' => '<string>',
    ],
]

Result Details

Members
Entitlement
Type: Entitlement structure

The entitlement.

Errors

OperationNotPermittedException:

The attempted operation is not permitted.

ResourceNotFoundException:

The specified resource was not found.

EntitlementNotFoundException:

The entitlement can't be found.

ConcurrentModificationException:

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

UpdateFleet

$result = $client->updateFleet([/* ... */]);
$promise = $client->updateFleetAsync([/* ... */]);

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name.

If the fleet is in the RUNNING state, you can update the following based on the fleet type:

  • Always-On and On-Demand fleet types

    You can update the DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds, and DisconnectTimeoutInSeconds attributes.

  • Elastic fleet type

    You can update the DisplayName, IdleDisconnectTimeoutInSeconds, DisconnectTimeoutInSeconds, MaxConcurrentSessions, SessionScriptS3Location and UsbDeviceFilterStrings attributes.

If the fleet is in the STARTING or STOPPED state, you can't update it.

Parameter Syntax

$result = $client->updateFleet([
    'AttributesToDelete' => ['<string>', ...],
    'ComputeCapacity' => [
        'DesiredInstances' => <integer>,
        'DesiredSessions' => <integer>,
    ],
    'DeleteVpcConfig' => true || false,
    'Description' => '<string>',
    'DisconnectTimeoutInSeconds' => <integer>,
    'DisplayName' => '<string>',
    'DomainJoinInfo' => [
        'DirectoryName' => '<string>',
        'OrganizationalUnitDistinguishedName' => '<string>',
    ],
    'EnableDefaultInternetAccess' => true || false,
    'IamRoleArn' => '<string>',
    'IdleDisconnectTimeoutInSeconds' => <integer>,
    'ImageArn' => '<string>',
    'ImageName' => '<string>',
    'InstanceType' => '<string>',
    'MaxConcurrentSessions' => <integer>,
    'MaxSessionsPerInstance' => <integer>,
    'MaxUserDurationInSeconds' => <integer>,
    'Name' => '<string>',
    'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
    'SessionScriptS3Location' => [
        'S3Bucket' => '<string>', // REQUIRED
        'S3Key' => '<string>',
    ],
    'StreamView' => 'APP|DESKTOP',
    'UsbDeviceFilterStrings' => ['<string>', ...],
    'VpcConfig' => [
        'SecurityGroupIds' => ['<string>', ...],
        'SubnetIds' => ['<string>', ...],
    ],
]);

Parameter Details

Members
AttributesToDelete
Type: Array of strings

The fleet attributes to delete.

ComputeCapacity
Type: ComputeCapacity structure

The desired capacity for the fleet. This is not allowed for Elastic fleets.

DeleteVpcConfig
Type: boolean

Deletes the VPC association for the specified fleet.

Description
Type: string

The description to display.

DisconnectTimeoutInSeconds
Type: int

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

DisplayName
Type: string

The fleet name to display.

DomainJoinInfo
Type: DomainJoinInfo structure

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

EnableDefaultInternetAccess
Type: boolean

Enables or disables default internet access for the fleet.

IamRoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance 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.

IdleDisconnectTimeoutInSeconds
Type: int

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

ImageArn
Type: string

The ARN of the public, private, or shared image to use.

ImageName
Type: string

The name of the image used to create the fleet.

InstanceType
Type: string

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.standard.xlarge

  • stream.standard.2xlarge

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.memory.z1d.large

  • stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

  • stream.memory.z1d.3xlarge

  • stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics.g4dn.xlarge

  • stream.graphics.g4dn.2xlarge

  • stream.graphics.g4dn.4xlarge

  • stream.graphics.g4dn.8xlarge

  • stream.graphics.g4dn.12xlarge

  • stream.graphics.g4dn.16xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

The following instance types are available for Elastic fleets:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.standard.xlarge

  • stream.standard.2xlarge

MaxConcurrentSessions
Type: int

The maximum number of concurrent sessions for a fleet.

MaxSessionsPerInstance
Type: int

The maximum number of user sessions on an instance. This only applies to multi-session fleets.

MaxUserDurationInSeconds
Type: int

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 432000.

Name
Type: string

A unique name for the fleet.

Platform
Type: string

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

SessionScriptS3Location
Type: S3Location structure

The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

StreamView
Type: string

The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

The default value is APP.

UsbDeviceFilterStrings
Type: Array of strings

The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

VpcConfig
Type: VpcConfig structure

The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability zones.

Result Syntax

[
    'Fleet' => [
        'Arn' => '<string>',
        'ComputeCapacityStatus' => [
            'ActiveUserSessions' => <integer>,
            'ActualUserSessions' => <integer>,
            'Available' => <integer>,
            'AvailableUserSessions' => <integer>,
            'Desired' => <integer>,
            'DesiredUserSessions' => <integer>,
            'InUse' => <integer>,
            'Running' => <integer>,
        ],
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisconnectTimeoutInSeconds' => <integer>,
        'DisplayName' => '<string>',
        'DomainJoinInfo' => [
            'DirectoryName' => '<string>',
            'OrganizationalUnitDistinguishedName' => '<string>',
        ],
        'EnableDefaultInternetAccess' => true || false,
        'FleetErrors' => [
            [
                'ErrorCode' => 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION|IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION|NETWORK_INTERFACE_LIMIT_EXCEEDED|INTERNAL_SERVICE_ERROR|IAM_SERVICE_ROLE_IS_MISSING|MACHINE_ROLE_IS_MISSING|STS_DISABLED_IN_REGION|SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION|SUBNET_NOT_FOUND|IMAGE_NOT_FOUND|INVALID_SUBNET_CONFIGURATION|SECURITY_GROUPS_NOT_FOUND|IGW_NOT_ATTACHED|IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION|FLEET_STOPPED|FLEET_INSTANCE_PROVISIONING_FAILURE|DOMAIN_JOIN_ERROR_FILE_NOT_FOUND|DOMAIN_JOIN_ERROR_ACCESS_DENIED|DOMAIN_JOIN_ERROR_LOGON_FAILURE|DOMAIN_JOIN_ERROR_INVALID_PARAMETER|DOMAIN_JOIN_ERROR_MORE_DATA|DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN|DOMAIN_JOIN_ERROR_NOT_SUPPORTED|DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME|DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED|DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED|DOMAIN_JOIN_NERR_PASSWORD_EXPIRED|DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
            ],
            // ...
        ],
        'FleetType' => 'ALWAYS_ON|ON_DEMAND|ELASTIC',
        'IamRoleArn' => '<string>',
        'IdleDisconnectTimeoutInSeconds' => <integer>,
        'ImageArn' => '<string>',
        'ImageName' => '<string>',
        'InstanceType' => '<string>',
        'MaxConcurrentSessions' => <integer>,
        'MaxSessionsPerInstance' => <integer>,
        'MaxUserDurationInSeconds' => <integer>,
        'Name' => '<string>',
        'Platform' => 'WINDOWS|WINDOWS_SERVER_2016|WINDOWS_SERVER_2019|WINDOWS_SERVER_2022|AMAZON_LINUX2',
        'SessionScriptS3Location' => [
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'State' => 'STARTING|RUNNING|STOPPING|STOPPED',
        'StreamView' => 'APP|DESKTOP',
        'UsbDeviceFilterStrings' => ['<string>', ...],
        'VpcConfig' => [
            'SecurityGroupIds' => ['<string>', ...],
            'SubnetIds' => ['<string>', ...],
        ],
    ],
]

Result Details

Members
Fleet
Type: Fleet structure

Information about the fleet.

Errors

ResourceInUseException:

The specified resource is in use.

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

RequestLimitExceededException:

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.

InvalidAccountStatusException:

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

InvalidRoleException:

The specified role is invalid.

ResourceNotFoundException:

The specified resource was not found.

ResourceNotAvailableException:

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

InvalidParameterCombinationException:

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

ConcurrentModificationException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

OperationNotPermittedException:

The attempted operation is not permitted.

UpdateImagePermissions

$result = $client->updateImagePermissions([/* ... */]);
$promise = $client->updateImagePermissionsAsync([/* ... */]);

Adds or updates permissions for the specified private image.

Parameter Syntax

$result = $client->updateImagePermissions([
    'ImagePermissions' => [ // REQUIRED
        'allowFleet' => true || false,
        'allowImageBuilder' => true || false,
    ],
    'Name' => '<string>', // REQUIRED
    'SharedAccountId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ImagePermissions
Required: Yes
Type: ImagePermissions structure

The permissions for the image.

Name
Required: Yes
Type: string

The name of the private image.

SharedAccountId
Required: Yes
Type: string

The 12-digit identifier of the AWS account for which you want add or update image permissions.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

ResourceNotAvailableException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

UpdateStack

$result = $client->updateStack([/* ... */]);
$promise = $client->updateStackAsync([/* ... */]);

Updates the specified fields for the specified stack.

Parameter Syntax

$result = $client->updateStack([
    'AccessEndpoints' => [
        [
            'EndpointType' => 'STREAMING', // REQUIRED
            'VpceId' => '<string>',
        ],
        // ...
    ],
    'ApplicationSettings' => [
        'Enabled' => true || false, // REQUIRED
        'SettingsGroup' => '<string>',
    ],
    'AttributesToDelete' => ['<string>', ...],
    'DeleteStorageConnectors' => true || false,
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'EmbedHostDomains' => ['<string>', ...],
    'FeedbackURL' => '<string>',
    'Name' => '<string>', // REQUIRED
    'RedirectURL' => '<string>',
    'StorageConnectors' => [
        [
            'ConnectorType' => 'HOMEFOLDERS|GOOGLE_DRIVE|ONE_DRIVE', // REQUIRED
            'Domains' => ['<string>', ...],
            'ResourceIdentifier' => '<string>',
        ],
        // ...
    ],
    'StreamingExperienceSettings' => [
        'PreferredProtocol' => 'TCP|UDP',
    ],
    'UserSettings' => [
        [
            'Action' => 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE|CLIPBOARD_COPY_TO_LOCAL_DEVICE|FILE_UPLOAD|FILE_DOWNLOAD|PRINTING_TO_LOCAL_DEVICE|DOMAIN_PASSWORD_SIGNIN|DOMAIN_SMART_CARD_SIGNIN', // REQUIRED
            'MaximumLength' => <integer>,
            'Permission' => 'ENABLED|DISABLED', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

ApplicationSettings
Type: ApplicationSettings structure

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

AttributesToDelete
Type: Array of strings

The stack attributes to delete.

DeleteStorageConnectors
Type: boolean

Deletes the storage connectors currently enabled for the stack.

Description
Type: string

The description to display.

DisplayName
Type: string

The stack name to display.

EmbedHostDomains
Type: Array of strings

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

FeedbackURL
Type: string

The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

Name
Required: Yes
Type: string

The name of the stack.

RedirectURL
Type: string

The URL that users are redirected to after their streaming session ends.

StorageConnectors
Type: Array of StorageConnector structures

The storage connectors to enable.

StreamingExperienceSettings
Type: StreamingExperienceSettings structure

The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

UserSettings
Type: Array of UserSetting structures

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

Result Syntax

[
    'Stack' => [
        'AccessEndpoints' => [
            [
                'EndpointType' => 'STREAMING',
                'VpceId' => '<string>',
            ],
            // ...
        ],
        'ApplicationSettings' => [
            'Enabled' => true || false,
            'S3BucketName' => '<string>',
            'SettingsGroup' => '<string>',
        ],
        'Arn' => '<string>',
        'CreatedTime' => <DateTime>,
        'Description' => '<string>',
        'DisplayName' => '<string>',
        'EmbedHostDomains' => ['<string>', ...],
        'FeedbackURL' => '<string>',
        'Name' => '<string>',
        'RedirectURL' => '<string>',
        'StackErrors' => [
            [
                'ErrorCode' => 'STORAGE_CONNECTOR_ERROR|INTERNAL_SERVICE_ERROR',
                'ErrorMessage' => '<string>',
            ],
            // ...
        ],
        'StorageConnectors' => [
            [
                'ConnectorType' => 'HOMEFOLDERS|GOOGLE_DRIVE|ONE_DRIVE',
                'Domains' => ['<string>', ...],
                'ResourceIdentifier' => '<string>',
            ],
            // ...
        ],
        'StreamingExperienceSettings' => [
            'PreferredProtocol' => 'TCP|UDP',
        ],
        'UserSettings' => [
            [
                'Action' => 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE|CLIPBOARD_COPY_TO_LOCAL_DEVICE|FILE_UPLOAD|FILE_DOWNLOAD|PRINTING_TO_LOCAL_DEVICE|DOMAIN_PASSWORD_SIGNIN|DOMAIN_SMART_CARD_SIGNIN',
                'MaximumLength' => <integer>,
                'Permission' => 'ENABLED|DISABLED',
            ],
            // ...
        ],
    ],
]

Result Details

Members
Stack
Type: Stack structure

Information about the stack.

Errors

ResourceNotFoundException:

The specified resource was not found.

ResourceInUseException:

The specified resource is in use.

InvalidRoleException:

The specified role is invalid.

InvalidParameterCombinationException:

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

LimitExceededException:

The requested limit exceeds the permitted limit for an account.

InvalidAccountStatusException:

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

IncompatibleImageException:

The image can't be updated because it's not compatible for updates.

OperationNotPermittedException:

The attempted operation is not permitted.

ConcurrentModificationException:

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

Shapes

AccessEndpoint

Description

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.

Members
EndpointType
Required: Yes
Type: string

The type of interface endpoint.

VpceId
Type: string

The identifier (ID) of the VPC in which the interface endpoint is used.

AppBlock

Description

Describes an app block.

App blocks are an Amazon AppStream 2.0 resource that stores the details about the virtual hard disk in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. The virtual hard disk includes the application binaries and other files necessary to launch your applications. Multiple applications can be assigned to a single app block.

This is only supported for Elastic fleets.

Members
AppBlockErrors
Type: Array of ErrorDetails structures

The errors of the app block.

Arn
Required: Yes
Type: string

The ARN of the app block.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The created time of the app block.

Description
Type: string

The description of the app block.

DisplayName
Type: string

The display name of the app block.

Name
Required: Yes
Type: string

The name of the app block.

PackagingType
Type: string

The packaging type of the app block.

PostSetupScriptDetails
Type: ScriptDetails structure

The post setup script details of the app block.

This only applies to app blocks with PackagingType APPSTREAM2.

SetupScriptDetails
Type: ScriptDetails structure

The setup script details of the app block.

This only applies to app blocks with PackagingType CUSTOM.

SourceS3Location
Type: S3Location structure

The source S3 location of the app block.

State
Type: string

The state of the app block.

An app block with AppStream 2.0 packaging will be in the INACTIVE state if no application package (VHD) is assigned to it. After an application package (VHD) is created by an app block builder for an app block, it becomes ACTIVE.

Custom app blocks are always in the ACTIVE state and no action is required to use them.

AppBlockBuilder

Description

Describes an app block builder.

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

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

AppBlockBuilderErrors
Type: Array of ResourceError structures

The app block builder errors.

Arn
Required: Yes
Type: string

The ARN of the app block builder.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation time of the app block builder.

Description
Type: string

The description of the app block builder.

DisplayName
Type: string

The display name of the app block builder.

EnableDefaultInternetAccess
Type: boolean

Indicates whether default internet access is enabled for the app block builder.

IamRoleArn
Type: string

The ARN of the IAM role that is applied to the app block builder.

InstanceType
Required: Yes
Type: string

The instance type of the app block builder.

Name
Required: Yes
Type: string

The name of the app block builder.

Platform
Required: Yes
Type: string

The platform of the app block builder.

WINDOWS_SERVER_2019 is the only valid value.

State
Required: Yes
Type: string

The state of the app block builder.

StateChangeReason

The state change reason.

VpcConfig
Required: Yes
Type: VpcConfig structure

The VPC configuration for the app block builder.

AppBlockBuilderAppBlockAssociation

Description

Describes an association between an app block builder and app block.

Members
AppBlockArn
Required: Yes
Type: string

The ARN of the app block.

AppBlockBuilderName
Required: Yes
Type: string

The name of the app block builder.

AppBlockBuilderStateChangeReason

Description

Describes the reason why the last app block builder state change occurred.

Members
Code
Type: string

The state change reason code.

Message
Type: string

The state change reason message.

Application

Description

Describes an application in the application catalog.

Members
AppBlockArn
Type: string

The app block ARN of the application.

Arn
Type: string

The ARN of the application.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the application was created within the app block.

Description
Type: string

The description of the application.

DisplayName
Type: string

The application name to display.

Enabled
Type: boolean

If there is a problem, the application can be disabled after image creation.

IconS3Location
Type: S3Location structure

The S3 location of the application icon.

IconURL
Type: string

The URL for the application icon. This URL might be time-limited.

InstanceFamilies
Type: Array of strings

The instance families for the application.

LaunchParameters
Type: string

The arguments that are passed to the application at launch.

LaunchPath
Type: string

The path to the application executable in the instance.

Metadata
Type: Associative array of custom strings keys (String) to strings

Additional attributes that describe the application.

Name
Type: string

The name of the application.

Platforms
Type: Array of strings

The platforms on which the application can run.

WorkingDirectory
Type: string

The working directory for the application.

ApplicationFleetAssociation

Description

Describes the application fleet association.

Members
ApplicationArn
Required: Yes
Type: string

The ARN of the application associated with the fleet.

FleetName
Required: Yes
Type: string

The name of the fleet associated with the application.

ApplicationSettings

Description

The persistent application settings for users of a stack.

Members
Enabled
Required: Yes
Type: boolean

Enables or disables persistent application settings for users during their streaming sessions.

SettingsGroup
Type: string

The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.

ApplicationSettingsResponse

Description

Describes the persistent application settings for users of a stack.

Members
Enabled
Type: boolean

Specifies whether persistent application settings are enabled for users during their streaming sessions.

S3BucketName
Type: string

The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.

SettingsGroup
Type: string

The path prefix for the S3 bucket where users’ persistent application settings are stored.

CertificateBasedAuthProperties

Description

The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

Members
CertificateAuthorityArn
Type: string

The ARN of the AWS Certificate Manager Private CA resource.

Status
Type: string

The status of the certificate-based authentication properties.

ComputeCapacity

Description

Describes the capacity for a fleet.

Members
DesiredInstances
Type: int

The desired number of streaming instances.

DesiredSessions
Type: int

The desired number of user sessions for a multi-session fleet. This is not allowed for single-session fleets.

When you create a fleet, you must set either the DesiredSessions or DesiredInstances attribute, based on the type of fleet you create. You can’t define both attributes or leave both attributes blank.

ComputeCapacityStatus

Description

Describes the capacity status for a fleet.

Members
ActiveUserSessions
Type: int

The number of user sessions currently being used for streaming sessions. This only applies to multi-session fleets.

ActualUserSessions
Type: int

The total number of session slots that are available for streaming or are currently streaming.

ActualUserSessionCapacity = AvailableUserSessionCapacity + ActiveUserSessions

This only applies to multi-session fleets.

Available
Type: int

The number of currently available instances that can be used to stream sessions.

AvailableUserSessions
Type: int

The number of idle session slots currently available for user sessions.

AvailableUserSessionCapacity = ActualUserSessionCapacity - ActiveUserSessions

This only applies to multi-session fleets.

Desired
Required: Yes
Type: int

The desired number of streaming instances.

DesiredUserSessions
Type: int

The total number of sessions slots that are either running or pending. This represents the total number of concurrent streaming sessions your fleet can support in a steady state.

DesiredUserSessionCapacity = ActualUserSessionCapacity + PendingUserSessionCapacity

This only applies to multi-session fleets.

InUse
Type: int

The number of instances in use for streaming.

Running
Type: int

The total number of simultaneous streaming instances that are running.

ConcurrentModificationException

Description

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

Members
Message
Type: string

The error message in the exception.

DirectoryConfig

Description

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Members
CertificateBasedAuthProperties

The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the directory configuration was created.

DirectoryName
Required: Yes
Type: string

The fully qualified name of the directory (for example, corp.example.com).

OrganizationalUnitDistinguishedNames
Type: Array of strings

The distinguished names of the organizational units for computer accounts.

ServiceAccountCredentials
Type: ServiceAccountCredentials structure

The credentials for the service account used by the fleet or image builder to connect to the directory.

DomainJoinInfo

Description

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Members
DirectoryName
Type: string

The fully qualified name of the directory (for example, corp.example.com).

OrganizationalUnitDistinguishedName
Type: string

The distinguished name of the organizational unit for computer accounts.

EntitledApplication

Description

The application associated to an entitlement. Access is controlled based on user attributes.

Members
ApplicationIdentifier
Required: Yes
Type: string

The identifier of the application.

Entitlement

Description

Specifies an entitlement. Entitlements control access to specific applications within a stack, based on user attributes. Entitlements apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user pool and streaming URL users are entitled to all applications in a stack. Entitlements don't apply to the desktop stream view application, or to applications managed by a dynamic app provider using the Dynamic Application Framework.

Members
AppVisibility
Required: Yes
Type: string

Specifies whether all or selected apps are entitled.

Attributes
Required: Yes
Type: Array of EntitlementAttribute structures

The attributes of the entitlement.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the entitlement was created.

Description
Type: string

The description of the entitlement.

LastModifiedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the entitlement was last modified.

Name
Required: Yes
Type: string

The name of the entitlement.

StackName
Required: Yes
Type: string

The name of the stack with which the entitlement is associated.

EntitlementAlreadyExistsException

Description

The entitlement already exists.

Members
Message
Type: string

The error message in the exception.

EntitlementAttribute

Description

An attribute associated with an entitlement. Application entitlements work by matching a supported SAML 2.0 attribute name to a value when a user identity federates to an Amazon AppStream 2.0 SAML application.

Members
Name
Required: Yes
Type: string

A supported AWS IAM SAML PrincipalTag attribute that is matched to the associated value when a user identity federates into an Amazon AppStream 2.0 SAML application.

The following are valid values:

  • roles

  • department

  • organization

  • groups

  • title

  • costCenter

  • userType

Value
Required: Yes
Type: string

A value that is matched to a supported SAML attribute name when a user identity federates into an Amazon AppStream 2.0 SAML application.

EntitlementNotFoundException

Description

The entitlement can't be found.

Members
Message
Type: string

The error message in the exception.

ErrorDetails

Description

The error details.

Members
ErrorCode
Type: string

The error code.

ErrorMessage
Type: string

The error message.

Fleet

Description

Describes a fleet.

Members
Arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) for the fleet.

ComputeCapacityStatus
Required: Yes
Type: ComputeCapacityStatus structure

The capacity status for the fleet.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the fleet was created.

Description
Type: string

The description to display.

DisconnectTimeoutInSeconds
Type: int

The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

DisplayName
Type: string

The fleet name to display.

DomainJoinInfo
Type: DomainJoinInfo structure

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

EnableDefaultInternetAccess
Type: boolean

Indicates whether default internet access is enabled for the fleet.

FleetErrors
Type: Array of FleetError structures

The fleet errors.

FleetType
Type: string

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

IamRoleArn
Type: string

The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance 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.

IdleDisconnectTimeoutInSeconds
Type: int

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

ImageArn
Type: string

The ARN for the public, private, or shared image.

ImageName
Type: string

The name of the image used to create the fleet.

InstanceType
Required: Yes
Type: string

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.memory.z1d.large

  • stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

  • stream.memory.z1d.3xlarge

  • stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics.g4dn.xlarge

  • stream.graphics.g4dn.2xlarge

  • stream.graphics.g4dn.4xlarge

  • stream.graphics.g4dn.8xlarge

  • stream.graphics.g4dn.12xlarge

  • stream.graphics.g4dn.16xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

MaxConcurrentSessions
Type: int

The maximum number of concurrent sessions for the fleet.

MaxSessionsPerInstance
Type: int

The maximum number of user sessions on an instance. This only applies to multi-session fleets.

MaxUserDurationInSeconds
Type: int

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

Name
Required: Yes
Type: string

The name of the fleet.

Platform
Type: string

The platform of the fleet.

SessionScriptS3Location
Type: S3Location structure

The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

State
Required: Yes
Type: string

The current state for the fleet.

StreamView
Type: string

The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

The default value is APP.

UsbDeviceFilterStrings
Type: Array of strings

The USB device filter strings associated with the fleet.

VpcConfig
Type: VpcConfig structure

The VPC configuration for the fleet.

FleetError

Description

Describes a fleet error.

Members
ErrorCode
Type: string

The error code.

ErrorMessage
Type: string

The error message.

Image

Description

Describes an image.

Members
Applications
Type: Array of Application structures

The applications associated with the image.

AppstreamAgentVersion
Type: string

The version of the AppStream 2.0 agent to use for instances that are launched from this image.

Arn
Type: string

The ARN of the image.

BaseImageArn
Type: string

The ARN of the image from which this image was created.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the image was created.

Description
Type: string

The description to display.

DisplayName
Type: string

The image name to display.

ImageBuilderName
Type: string

The name of the image builder that was used to create the private image. If the image is shared, this value is null.

ImageBuilderSupported
Type: boolean

Indicates whether an image builder can be launched from this image.

ImageErrors
Type: Array of ResourceError structures

Describes the errors that are returned when a new image can't be created.

ImagePermissions
Type: ImagePermissions structure

The permissions to provide to the destination AWS account for the specified image.

Name
Required: Yes
Type: string

The name of the image.

Platform
Type: string

The operating system platform of the image.

PublicBaseImageReleasedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

State
Type: string

The image starts in the PENDING state. If image creation succeeds, the state is AVAILABLE. If image creation fails, the state is FAILED.

StateChangeReason
Type: ImageStateChangeReason structure

The reason why the last state change occurred.

Visibility
Type: string

Indicates whether the image is public or private.

ImageBuilder

Description

Describes a virtual machine that is used to create an image.

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

AppstreamAgentVersion
Type: string

The version of the AppStream 2.0 agent that is currently being used by the image builder.

Arn
Type: string

The ARN for the image builder.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time stamp when the image builder was created.

Description
Type: string

The description to display.

DisplayName
Type: string

The image builder name to display.

DomainJoinInfo
Type: DomainJoinInfo structure

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

EnableDefaultInternetAccess
Type: boolean

Enables or disables default internet access for the image builder.

IamRoleArn
Type: string

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 (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.

ImageArn
Type: string

The ARN of the image from which this builder was created.

ImageBuilderErrors
Type: Array of ResourceError structures

The image builder errors.

InstanceType
Type: string

The instance type for the image builder. The following instance types are available:

  • stream.standard.small

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.memory.z1d.large

  • stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

  • stream.memory.z1d.3xlarge

  • stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics.g4dn.xlarge

  • stream.graphics.g4dn.2xlarge

  • stream.graphics.g4dn.4xlarge

  • stream.graphics.g4dn.8xlarge

  • stream.graphics.g4dn.12xlarge

  • stream.graphics.g4dn.16xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

Name
Required: Yes
Type: string

The name of the image builder.

NetworkAccessConfiguration
Type: NetworkAccessConfiguration structure

Describes the network details of the fleet or image builder instance.

Platform
Type: string

The operating system platform of the image builder.

State
Type: string

The state of the image builder.

StateChangeReason

The reason why the last state change occurred.

VpcConfig
Type: VpcConfig structure

The VPC configuration of the image builder.

ImageBuilderStateChangeReason

Description

Describes the reason why the last image builder state change occurred.

Members
Code
Type: string

The state change reason code.

Message
Type: string

The state change reason message.

ImagePermissions

Description

Describes the permissions for an image.

Members
allowFleet
Type: boolean

Indicates whether the image can be used for a fleet.

allowImageBuilder
Type: boolean

Indicates whether the image can be used for an image builder.

ImageStateChangeReason

Description

Describes the reason why the last image state change occurred.

Members
Code
Type: string

The state change reason code.

Message
Type: string

The state change reason message.

IncompatibleImageException

Description

The image can't be updated because it's not compatible for updates.

Members
Message
Type: string

The error message in the exception.

InvalidAccountStatusException

Description

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

Members
Message
Type: string

The error message in the exception.

InvalidParameterCombinationException

Description

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

Members
Message
Type: string

The error message in the exception.

InvalidRoleException

Description

The specified role is invalid.

Members
Message
Type: string

The error message in the exception.

LastReportGenerationExecutionError

Description

Describes the error that is returned when a usage report can't be generated.

Members
ErrorCode
Type: string

The error code for the error that is returned when a usage report can't be generated.

ErrorMessage
Type: string

The error message for the error that is returned when a usage report can't be generated.

LimitExceededException

Description

The requested limit exceeds the permitted limit for an account.

Members
Message
Type: string

The error message in the exception.

NetworkAccessConfiguration

Description

Describes the network details of the fleet or image builder instance.

Members
EniId
Type: string

The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

EniPrivateIpAddress
Type: string

The private IP address of the elastic network interface that is attached to instances in your VPC.

OperationNotPermittedException

Description

The attempted operation is not permitted.

Members
Message
Type: string

The error message in the exception.

RequestLimitExceededException

Description

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.

Members
Message
Type: string

The error message in the exception.

ResourceAlreadyExistsException

Description

The specified resource already exists.

Members
Message
Type: string

The error message in the exception.

ResourceError

Description

Describes a resource error.

Members
ErrorCode
Type: string

The error code.

ErrorMessage
Type: string

The error message.

ErrorTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the error occurred.

ResourceInUseException

Description

The specified resource is in use.

Members
Message
Type: string

The error message in the exception.

ResourceNotAvailableException

Description

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

Members
Message
Type: string

The error message in the exception.

ResourceNotFoundException

Description

The specified resource was not found.

Members
Message
Type: string

The error message in the exception.

S3Location

Description

Describes the S3 location.

Members
S3Bucket
Required: Yes
Type: string

The S3 bucket of the S3 object.

S3Key
Type: string

The S3 key of the S3 object.

This is required when used for the following:

  • IconS3Location (Actions: CreateApplication and UpdateApplication)

  • SessionScriptS3Location (Actions: CreateFleet and UpdateFleet)

  • ScriptDetails (Actions: CreateAppBlock)

  • SourceS3Location when creating an app block with CUSTOM PackagingType (Actions: CreateAppBlock)

  • SourceS3Location when creating an app block with APPSTREAM2 PackagingType, and using an existing application package (VHD file). In this case, S3Key refers to the VHD file. If a new application package is required, then S3Key is not required. (Actions: CreateAppBlock)

ScriptDetails

Description

Describes the details of the script.

Members
ExecutableParameters
Type: string

The runtime parameters passed to the run path for the script.

ExecutablePath
Required: Yes
Type: string

The run path for the script.

ScriptS3Location
Required: Yes
Type: S3Location structure

The S3 object location for the script.

TimeoutInSeconds
Required: Yes
Type: int

The run timeout, in seconds, for the script.

ServiceAccountCredentials

Description

Describes the credentials for the service account used by the fleet or image builder to connect to the directory.

Members
AccountName
Required: Yes
Type: string

The user name of the account. This account must have the following privileges: create computer objects, join computers to the domain, and change/reset the password on descendant computer objects for the organizational units specified.

AccountPassword
Required: Yes
Type: string

The password for the account.

Session

Description

Describes a streaming session.

Members
AuthenticationType
Type: string

The authentication method. The user is authenticated using a streaming URL (API) or SAML 2.0 federation (SAML).

ConnectionState
Type: string

Specifies whether a user is connected to the streaming session.

FleetName
Required: Yes
Type: string

The name of the fleet for the streaming session.

Id
Required: Yes
Type: string

The identifier of the streaming session.

InstanceId
Type: string

The identifier for the instance hosting the session.

MaxExpirationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.

NetworkAccessConfiguration
Type: NetworkAccessConfiguration structure

The network details for the streaming session.

StackName
Required: Yes
Type: string

The name of the stack for the streaming session.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when a streaming instance is dedicated for the user.

State
Required: Yes
Type: string

The current state of the streaming session.

UserId
Required: Yes
Type: string

The identifier of the user for whom the session was created.

SharedImagePermissions

Description

Describes the permissions that are available to the specified AWS account for a shared image.

Members
imagePermissions
Required: Yes
Type: ImagePermissions structure

Describes the permissions for a shared image.

sharedAccountId
Required: Yes
Type: string

The 12-digit identifier of the AWS account with which the image is shared.

Stack

Description

Describes a stack.

Members
AccessEndpoints
Type: Array of AccessEndpoint structures

The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

ApplicationSettings
Type: ApplicationSettingsResponse structure

The persistent application settings for users of the stack.

Arn
Type: string

The ARN of the stack.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the stack was created.

Description
Type: string

The description to display.

DisplayName
Type: string

The stack name to display.

EmbedHostDomains
Type: Array of strings

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

FeedbackURL
Type: string

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

Name
Required: Yes
Type: string

The name of the stack.

RedirectURL
Type: string

The URL that users are redirected to after their streaming session ends.

StackErrors
Type: Array of StackError structures

The errors for the stack.

StorageConnectors
Type: Array of StorageConnector structures

The storage connectors to enable.

StreamingExperienceSettings
Type: StreamingExperienceSettings structure

The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

UserSettings
Type: Array of UserSetting structures

The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

StackError

Description

Describes a stack error.

Members
ErrorCode
Type: string

The error code.

ErrorMessage
Type: string

The error message.

StorageConnector

Description

Describes a connector that enables persistent storage for users.

Members
ConnectorType
Required: Yes
Type: string

The type of storage connector.

Domains
Type: Array of strings

The names of the domains for the account.

ResourceIdentifier
Type: string

The ARN of the storage connector.

StreamingExperienceSettings

Description

The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

Members
PreferredProtocol
Type: string

The preferred protocol that you want to use while streaming your application.

UsageReportSubscription

Description

Describes information about the usage report subscription.

Members
LastGeneratedReportDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the last usage report was generated.

S3BucketName
Type: string

The Amazon S3 bucket where generated reports are stored.

If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.

Schedule
Type: string

The schedule for generating usage reports.

SubscriptionErrors
Type: Array of LastReportGenerationExecutionError structures

The errors that were returned if usage reports couldn't be generated.

User

Description

Describes a user in the user pool.

Members
Arn
Type: string

The ARN of the user.

AuthenticationType
Required: Yes
Type: string

The authentication type for the user.

CreatedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the user was created in the user pool.

Enabled
Type: boolean

Specifies whether the user in the user pool is enabled.

FirstName
Type: string

The first name, or given name, of the user.

LastName
Type: string

The last name, or surname, of the user.

Status
Type: string

The status of the user in the user pool. The status can be one of the following:

  • UNCONFIRMED – The user is created but not confirmed.

  • CONFIRMED – The user is confirmed.

  • ARCHIVED – The user is no longer active.

  • COMPROMISED – The user is disabled because of a potential security threat.

  • UNKNOWN – The user status is not known.

UserName
Type: string

The email address of the user.

Users' email addresses are case-sensitive.

UserSetting

Description

Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

Members
Action
Required: Yes
Type: string

The action that is enabled or disabled.

MaximumLength
Type: int

Specifies the number of characters that can be copied by end users from the local device to the remote session, and to the local device from the remote session.

This can be specified only for the CLIPBOARD_COPY_FROM_LOCAL_DEVICE and CLIPBOARD_COPY_TO_LOCAL_DEVICE actions.

This defaults to 20,971,520 (20 MB) when unspecified and the permission is ENABLED. This can't be specified when the permission is DISABLED.

This can only be specified for AlwaysOn and OnDemand fleets. The attribute is not supported on Elastic fleets.

The value can be between 1 and 20,971,520 (20 MB).

Permission
Required: Yes
Type: string

Indicates whether the action is enabled or disabled.

UserStackAssociation

Description

Describes a user in the user pool and the associated stack.

Members
AuthenticationType
Required: Yes
Type: string

The authentication type for the user.

SendEmailNotification
Type: boolean

Specifies whether a welcome email is sent to a user after the user is created in the user pool.

StackName
Required: Yes
Type: string

The name of the stack that is associated with the user.

UserName
Required: Yes
Type: string

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

UserStackAssociationError

Description

Describes the error that is returned when a user can’t be associated with or disassociated from a stack.

Members
ErrorCode
Type: string

The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.

ErrorMessage
Type: string

The error message for the error that is returned when a user can’t be associated with or disassociated from a stack.

UserStackAssociation
Type: UserStackAssociation structure

Information about the user and associated stack.

VpcConfig

Description

Describes VPC configuration information for fleets and image builders.

Members
SecurityGroupIds
Type: Array of strings

The identifiers of the security groups for the fleet or image builder.

SubnetIds
Type: Array of strings

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.