SDK for PHP 3.x

Client: Aws\NimbleStudio\NimbleStudioClient
Service ID: nimble
Version: 2020-08-01

This page describes the parameters and results for the operations of the AmazonNimbleStudio (2020-08-01), and shows how to use the Aws\NimbleStudio\NimbleStudioClient object to call the described operations. This documentation is specific to the 2020-08-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 */).

AcceptEulas ( array $params = [] )
Accept EULAs.
CreateLaunchProfile ( array $params = [] )
Create a launch profile.
CreateStreamingImage ( array $params = [] )
Creates a streaming image resource in a studio.
CreateStreamingSession ( array $params = [] )
Creates a streaming session in a studio.
CreateStreamingSessionStream ( array $params = [] )
Creates a streaming session stream for a streaming session.
CreateStudio ( array $params = [] )
Create a new studio.
CreateStudioComponent ( array $params = [] )
Creates a studio component resource.
DeleteLaunchProfile ( array $params = [] )
Permanently delete a launch profile.
DeleteLaunchProfileMember ( array $params = [] )
Delete a user from launch profile membership.
DeleteStreamingImage ( array $params = [] )
Delete streaming image.
DeleteStreamingSession ( array $params = [] )
Deletes streaming session resource.
DeleteStudio ( array $params = [] )
Delete a studio resource.
DeleteStudioComponent ( array $params = [] )
Deletes a studio component resource.
DeleteStudioMember ( array $params = [] )
Delete a user from studio membership.
GetEula ( array $params = [] )
Get EULA.
GetLaunchProfile ( array $params = [] )
Get a launch profile.
GetLaunchProfileDetails ( array $params = [] )
Launch profile details include the launch profile resource and summary information of resources that are used by, or available to, the launch profile.
GetLaunchProfileInitialization ( array $params = [] )
Get a launch profile initialization.
GetLaunchProfileMember ( array $params = [] )
Get a user persona in launch profile membership.
GetStreamingImage ( array $params = [] )
Get streaming image.
GetStreamingSession ( array $params = [] )
Gets StreamingSession resource.
GetStreamingSessionBackup ( array $params = [] )
Gets StreamingSessionBackup resource.
GetStreamingSessionStream ( array $params = [] )
Gets a StreamingSessionStream for a streaming session.
GetStudio ( array $params = [] )
Get a studio resource.
GetStudioComponent ( array $params = [] )
Gets a studio component resource.
GetStudioMember ( array $params = [] )
Get a user's membership in a studio.
ListEulaAcceptances ( array $params = [] )
List EULA acceptances.
ListEulas ( array $params = [] )
List EULAs.
ListLaunchProfileMembers ( array $params = [] )
Get all users in a given launch profile membership.
ListLaunchProfiles ( array $params = [] )
List all the launch profiles a studio.
ListStreamingImages ( array $params = [] )
List the streaming image resources available to this studio.
ListStreamingSessionBackups ( array $params = [] )
Lists the backups of a streaming session in a studio.
ListStreamingSessions ( array $params = [] )
Lists the streaming sessions in a studio.
ListStudioComponents ( array $params = [] )
Lists the StudioComponents in a studio.
ListStudioMembers ( array $params = [] )
Get all users in a given studio membership.
ListStudios ( array $params = [] )
List studios in your Amazon Web Services accounts in the requested Amazon Web Services Region.
ListTagsForResource ( array $params = [] )
Gets the tags for a resource, given its Amazon Resource Names (ARN).
PutLaunchProfileMembers ( array $params = [] )
Add/update users with given persona to launch profile membership.
PutStudioMembers ( array $params = [] )
Add/update users with given persona to studio membership.
StartStreamingSession ( array $params = [] )
Transitions sessions from the STOPPED state into the READY state.
StartStudioSSOConfigurationRepair ( array $params = [] )
Repairs the IAM Identity Center configuration for a given studio.
StopStreamingSession ( array $params = [] )
Transitions sessions from the READY state into the STOPPED state.
TagResource ( array $params = [] )
Creates tags for a resource, given its ARN.
UntagResource ( array $params = [] )
Deletes the tags for a resource.
UpdateLaunchProfile ( array $params = [] )
Update a launch profile.
UpdateLaunchProfileMember ( array $params = [] )
Update a user persona in launch profile membership.
UpdateStreamingImage ( array $params = [] )
Update streaming image.
UpdateStudio ( array $params = [] )
Update a Studio resource.
UpdateStudioComponent ( array $params = [] )
Updates a studio component resource.

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:

ListEulaAcceptances
ListEulas
ListLaunchProfileMembers
ListLaunchProfiles
ListStreamingImages
ListStreamingSessionBackups
ListStreamingSessions
ListStudioComponents
ListStudioMembers
ListStudios

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
LaunchProfileDeleted GetLaunchProfile 5 150
LaunchProfileReady GetLaunchProfile 5 150
StreamingImageDeleted GetStreamingImage 2 60
StreamingImageReady GetStreamingImage 2 60
StreamingSessionDeleted GetStreamingSession 5 180
StreamingSessionReady GetStreamingSession 10 180
StreamingSessionStopped GetStreamingSession 5 180
StreamingSessionStreamReady GetStreamingSessionStream 5 30
StudioComponentDeleted GetStudioComponent 1 120
StudioComponentReady GetStudioComponent 2 60
StudioDeleted GetStudio 2 60
StudioReady GetStudio 2 60

Operations

AcceptEulas

$result = $client->acceptEulas([/* ... */]);
$promise = $client->acceptEulasAsync([/* ... */]);

Accept EULAs.

Parameter Syntax

$result = $client->acceptEulas([
    'clientToken' => '<string>',
    'eulaIds' => ['<string>', ...],
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

eulaIds
Type: Array of strings

The EULA ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'eulaAcceptances' => [
        [
            'acceptedAt' => <DateTime>,
            'acceptedBy' => '<string>',
            'accepteeId' => '<string>',
            'eulaAcceptanceId' => '<string>',
            'eulaId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
eulaAcceptances
Type: Array of EulaAcceptance structures

A collection of EULA acceptances.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateLaunchProfile

$result = $client->createLaunchProfile([/* ... */]);
$promise = $client->createLaunchProfileAsync([/* ... */]);

Create a launch profile.

Parameter Syntax

$result = $client->createLaunchProfile([
    'clientToken' => '<string>',
    'description' => '<string>',
    'ec2SubnetIds' => ['<string>', ...], // REQUIRED
    'launchProfileProtocolVersions' => ['<string>', ...], // REQUIRED
    'name' => '<string>', // REQUIRED
    'streamConfiguration' => [ // REQUIRED
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'clipboardMode' => 'ENABLED|DISABLED', // REQUIRED
        'ec2InstanceTypes' => ['<string>', ...], // REQUIRED
        'maxSessionLengthInMinutes' => <integer>,
        'maxStoppedSessionLengthInMinutes' => <integer>,
        'sessionBackup' => [
            'maxBackupsToRetain' => <integer>,
            'mode' => 'AUTOMATIC|DEACTIVATED',
        ],
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'sessionStorage' => [
            'mode' => ['<string>', ...], // REQUIRED
            'root' => [
                'linux' => '<string>',
                'windows' => '<string>',
            ],
        ],
        'streamingImageIds' => ['<string>', ...], // REQUIRED
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
    ],
    'studioComponentIds' => ['<string>', ...], // REQUIRED
    'studioId' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

description
Type: string

The description.

ec2SubnetIds
Required: Yes
Type: Array of strings

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. These subnets must support the specified instance types.

launchProfileProtocolVersions
Required: Yes
Type: Array of strings

The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".

name
Required: Yes
Type: string

The name for the launch profile.

streamConfiguration
Required: Yes
Type: StreamConfigurationCreate structure

A configuration for a streaming session.

studioComponentIds
Required: Yes
Type: Array of strings

Unique identifiers for a collection of studio components that can be used with this launch profile.

studioId
Required: Yes
Type: string

The studio ID.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

Result Syntax

[
    'launchProfile' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SubnetIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersions' => ['<string>', ...],
        'name' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
        'statusMessage' => '<string>',
        'streamConfiguration' => [
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'clipboardMode' => 'ENABLED|DISABLED',
            'ec2InstanceTypes' => ['<string>', ...],
            'maxSessionLengthInMinutes' => <integer>,
            'maxStoppedSessionLengthInMinutes' => <integer>,
            'sessionBackup' => [
                'maxBackupsToRetain' => <integer>,
                'mode' => 'AUTOMATIC|DEACTIVATED',
            ],
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'sessionStorage' => [
                'mode' => ['<string>', ...],
                'root' => [
                    'linux' => '<string>',
                    'windows' => '<string>',
                ],
            ],
            'streamingImageIds' => ['<string>', ...],
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
        ],
        'studioComponentIds' => ['<string>', ...],
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'validationResults' => [
            [
                'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusMessage' => '<string>',
                'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
            ],
            // ...
        ],
    ],
]

Result Details

Members
launchProfile
Type: LaunchProfile structure

The launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateStreamingImage

$result = $client->createStreamingImage([/* ... */]);
$promise = $client->createStreamingImageAsync([/* ... */]);

Creates a streaming image resource in a studio.

Parameter Syntax

$result = $client->createStreamingImage([
    'clientToken' => '<string>',
    'description' => '<string>',
    'ec2ImageId' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

description
Type: string

A human-readable description of the streaming image.

ec2ImageId
Required: Yes
Type: string

The ID of an EC2 machine image with which to create this streaming image.

name
Required: Yes
Type: string

A friendly name for a streaming image resource.

studioId
Required: Yes
Type: string

The studio ID.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

Result Syntax

[
    'streamingImage' => [
        'arn' => '<string>',
        'description' => '<string>',
        'ec2ImageId' => '<string>',
        'encryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'CUSTOMER_MANAGED_KEY',
        ],
        'eulaIds' => ['<string>', ...],
        'name' => '<string>',
        'owner' => '<string>',
        'platform' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
        'statusMessage' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
streamingImage
Type: StreamingImage structure

The streaming image.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateStreamingSession

$result = $client->createStreamingSession([/* ... */]);
$promise = $client->createStreamingSessionAsync([/* ... */]);

Creates a streaming session in a studio.

After invoking this operation, you must poll GetStreamingSession until the streaming session is in the READY state.

Parameter Syntax

$result = $client->createStreamingSession([
    'clientToken' => '<string>',
    'ec2InstanceType' => 'g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g3.4xlarge|g3s.xlarge|g5.xlarge|g5.2xlarge|g5.4xlarge|g5.8xlarge|g5.16xlarge',
    'launchProfileId' => '<string>', // REQUIRED
    'ownedBy' => '<string>',
    'streamingImageId' => '<string>',
    'studioId' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

ec2InstanceType
Type: string

The EC2 Instance type used for the streaming session.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

ownedBy
Type: string

The user ID of the user that owns the streaming session. The user that owns the session will be logging into the session and interacting with the virtual workstation.

streamingImageId
Type: string

The ID of the streaming image.

studioId
Required: Yes
Type: string

The studio ID.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

Result Syntax

[
    'session' => [
        'arn' => '<string>',
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'backupMode' => 'AUTOMATIC|DEACTIVATED',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'ec2InstanceType' => '<string>',
        'launchProfileId' => '<string>',
        'maxBackupsToRetain' => <integer>,
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'startedAt' => <DateTime>,
        'startedBy' => '<string>',
        'startedFromBackupId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'stopAt' => <DateTime>,
        'stoppedAt' => <DateTime>,
        'stoppedBy' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
        'terminateAt' => <DateTime>,
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
        'volumeRetentionMode' => 'RETAIN|DELETE',
    ],
]

Result Details

Members
session
Type: StreamingSession structure

The session.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateStreamingSessionStream

$result = $client->createStreamingSessionStream([/* ... */]);
$promise = $client->createStreamingSessionStreamAsync([/* ... */]);

Creates a streaming session stream for a streaming session.

After invoking this API, invoke GetStreamingSessionStream with the returned streamId to poll the resource until it is in the READY state.

Parameter Syntax

$result = $client->createStreamingSessionStream([
    'clientToken' => '<string>',
    'expirationInSeconds' => <integer>,
    'sessionId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

expirationInSeconds
Type: int

The expiration time in seconds.

sessionId
Required: Yes
Type: string

The streaming session ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'stream' => [
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'expiresAt' => <DateTime>,
        'ownedBy' => '<string>',
        'state' => 'READY|CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAM_CREATE_IN_PROGRESS|STREAM_READY|STREAM_DELETE_IN_PROGRESS|STREAM_DELETED|INTERNAL_ERROR|NETWORK_CONNECTION_ERROR',
        'streamId' => '<string>',
        'url' => '<string>',
    ],
]

Result Details

Members
stream
Type: StreamingSessionStream structure

The stream.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateStudio

$result = $client->createStudio([/* ... */]);
$promise = $client->createStudioAsync([/* ... */]);

Create a new studio.

When creating a studio, two IAM roles must be provided: the admin role and the user role. These roles are assumed by your users when they log in to the Nimble Studio portal.

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

The admin role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

You may optionally specify a KMS key in the StudioEncryptionConfiguration.

In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an KMS key. By default, this key is owned by Amazon Web Services and managed on your behalf. You may provide your own KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

When providing an KMS key during studio creation, Nimble Studio creates KMS grants in your account to provide your studio user and admin roles access to these KMS keys.

If you delete this grant, the studio will no longer be accessible to your portal users.

If you delete the studio KMS key, your studio will no longer be accessible.

Parameter Syntax

$result = $client->createStudio([
    'adminRoleArn' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'displayName' => '<string>', // REQUIRED
    'studioEncryptionConfiguration' => [
        'keyArn' => '<string>',
        'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY', // REQUIRED
    ],
    'studioName' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
    'userRoleArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
adminRoleArn
Required: Yes
Type: string

The IAM role that studio admins will assume when logging in to the Nimble Studio portal.

clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

displayName
Required: Yes
Type: string

A friendly name for the studio.

studioEncryptionConfiguration

The studio encryption configuration.

studioName
Required: Yes
Type: string

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

userRoleArn
Required: Yes
Type: string

The IAM role that studio users will assume when logging in to the Nimble Studio portal.

Result Syntax

[
    'studio' => [
        'adminRoleArn' => '<string>',
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'homeRegion' => '<string>',
        'ssoClientId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
        'statusMessage' => '<string>',
        'studioEncryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
        ],
        'studioId' => '<string>',
        'studioName' => '<string>',
        'studioUrl' => '<string>',
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'userRoleArn' => '<string>',
    ],
]

Result Details

Members
studio
Type: Studio structure

Information about a studio.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

CreateStudioComponent

$result = $client->createStudioComponent([/* ... */]);
$promise = $client->createStudioComponentAsync([/* ... */]);

Creates a studio component resource.

Parameter Syntax

$result = $client->createStudioComponent([
    'clientToken' => '<string>',
    'configuration' => [
        'activeDirectoryConfiguration' => [
            'computerAttributes' => [
                [
                    'name' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'directoryId' => '<string>',
            'organizationalUnitDistinguishedName' => '<string>',
        ],
        'computeFarmConfiguration' => [
            'activeDirectoryUser' => '<string>',
            'endpoint' => '<string>',
        ],
        'licenseServiceConfiguration' => [
            'endpoint' => '<string>',
        ],
        'sharedFileSystemConfiguration' => [
            'endpoint' => '<string>',
            'fileSystemId' => '<string>',
            'linuxMountPoint' => '<string>',
            'shareName' => '<string>',
            'windowsMountDrive' => '<string>',
        ],
    ],
    'description' => '<string>',
    'ec2SecurityGroupIds' => ['<string>', ...],
    'initializationScripts' => [
        [
            'launchProfileProtocolVersion' => '<string>',
            'platform' => 'LINUX|WINDOWS',
            'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
            'script' => '<string>',
        ],
        // ...
    ],
    'name' => '<string>', // REQUIRED
    'runtimeRoleArn' => '<string>',
    'scriptParameters' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
    'secureInitializationRoleArn' => '<string>',
    'studioId' => '<string>', // REQUIRED
    'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
    'tags' => ['<string>', ...],
    'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

configuration

The configuration of the studio component, based on component type.

description
Type: string

The description.

ec2SecurityGroupIds
Type: Array of strings

The EC2 security groups that control access to the studio component.

initializationScripts
Type: Array of StudioComponentInitializationScript structures

Initialization scripts for studio components.

name
Required: Yes
Type: string

The name for the studio component.

runtimeRoleArn
Type: string

An IAM role attached to a Studio Component that gives the studio component access to Amazon Web Services resources at anytime while the instance is running.

scriptParameters
Type: Array of ScriptParameterKeyValue structures

Parameters for the studio component scripts.

secureInitializationRoleArn
Type: string

An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to Amazon Web Services resources when the system initialization script runs.

studioId
Required: Yes
Type: string

The studio ID.

subtype
Type: string

The specific subtype of a studio component.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

type
Required: Yes
Type: string

The type of the studio component.

Result Syntax

[
    'studioComponent' => [
        'arn' => '<string>',
        'configuration' => [
            'activeDirectoryConfiguration' => [
                'computerAttributes' => [
                    [
                        'name' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'directoryId' => '<string>',
                'organizationalUnitDistinguishedName' => '<string>',
            ],
            'computeFarmConfiguration' => [
                'activeDirectoryUser' => '<string>',
                'endpoint' => '<string>',
            ],
            'licenseServiceConfiguration' => [
                'endpoint' => '<string>',
            ],
            'sharedFileSystemConfiguration' => [
                'endpoint' => '<string>',
                'fileSystemId' => '<string>',
                'linuxMountPoint' => '<string>',
                'shareName' => '<string>',
                'windowsMountDrive' => '<string>',
            ],
        ],
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SecurityGroupIds' => ['<string>', ...],
        'initializationScripts' => [
            [
                'launchProfileProtocolVersion' => '<string>',
                'platform' => 'LINUX|WINDOWS',
                'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
                'script' => '<string>',
            ],
            // ...
        ],
        'name' => '<string>',
        'runtimeRoleArn' => '<string>',
        'scriptParameters' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
        'secureInitializationRoleArn' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'ACTIVE_DIRECTORY_ALREADY_EXISTS|STUDIO_COMPONENT_CREATED|STUDIO_COMPONENT_UPDATED|STUDIO_COMPONENT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|STUDIO_COMPONENT_CREATE_IN_PROGRESS|STUDIO_COMPONENT_UPDATE_IN_PROGRESS|STUDIO_COMPONENT_DELETE_IN_PROGRESS|INTERNAL_ERROR',
        'statusMessage' => '<string>',
        'studioComponentId' => '<string>',
        'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
        'tags' => ['<string>', ...],
        'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
    ],
]

Result Details

Members
studioComponent
Type: StudioComponent structure

Information about the studio component.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteLaunchProfile

$result = $client->deleteLaunchProfile([/* ... */]);
$promise = $client->deleteLaunchProfileAsync([/* ... */]);

Permanently delete a launch profile.

Parameter Syntax

$result = $client->deleteLaunchProfile([
    'clientToken' => '<string>',
    'launchProfileId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfile' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SubnetIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersions' => ['<string>', ...],
        'name' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
        'statusMessage' => '<string>',
        'streamConfiguration' => [
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'clipboardMode' => 'ENABLED|DISABLED',
            'ec2InstanceTypes' => ['<string>', ...],
            'maxSessionLengthInMinutes' => <integer>,
            'maxStoppedSessionLengthInMinutes' => <integer>,
            'sessionBackup' => [
                'maxBackupsToRetain' => <integer>,
                'mode' => 'AUTOMATIC|DEACTIVATED',
            ],
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'sessionStorage' => [
                'mode' => ['<string>', ...],
                'root' => [
                    'linux' => '<string>',
                    'windows' => '<string>',
                ],
            ],
            'streamingImageIds' => ['<string>', ...],
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
        ],
        'studioComponentIds' => ['<string>', ...],
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'validationResults' => [
            [
                'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusMessage' => '<string>',
                'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
            ],
            // ...
        ],
    ],
]

Result Details

Members
launchProfile
Type: LaunchProfile structure

The launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteLaunchProfileMember

$result = $client->deleteLaunchProfileMember([/* ... */]);
$promise = $client->deleteLaunchProfileMemberAsync([/* ... */]);

Delete a user from launch profile membership.

Parameter Syntax

$result = $client->deleteLaunchProfileMember([
    'clientToken' => '<string>',
    'launchProfileId' => '<string>', // REQUIRED
    'principalId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

principalId
Required: Yes
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteStreamingImage

$result = $client->deleteStreamingImage([/* ... */]);
$promise = $client->deleteStreamingImageAsync([/* ... */]);

Delete streaming image.

Parameter Syntax

$result = $client->deleteStreamingImage([
    'clientToken' => '<string>',
    'streamingImageId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

streamingImageId
Required: Yes
Type: string

The streaming image ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'streamingImage' => [
        'arn' => '<string>',
        'description' => '<string>',
        'ec2ImageId' => '<string>',
        'encryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'CUSTOMER_MANAGED_KEY',
        ],
        'eulaIds' => ['<string>', ...],
        'name' => '<string>',
        'owner' => '<string>',
        'platform' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
        'statusMessage' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
streamingImage
Type: StreamingImage structure

The streaming image.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteStreamingSession

$result = $client->deleteStreamingSession([/* ... */]);
$promise = $client->deleteStreamingSessionAsync([/* ... */]);

Deletes streaming session resource.

After invoking this operation, use GetStreamingSession to poll the resource until it transitions to a DELETED state.

A streaming session will count against your streaming session quota until it is marked DELETED.

Parameter Syntax

$result = $client->deleteStreamingSession([
    'clientToken' => '<string>',
    'sessionId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

sessionId
Required: Yes
Type: string

The streaming session ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'session' => [
        'arn' => '<string>',
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'backupMode' => 'AUTOMATIC|DEACTIVATED',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'ec2InstanceType' => '<string>',
        'launchProfileId' => '<string>',
        'maxBackupsToRetain' => <integer>,
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'startedAt' => <DateTime>,
        'startedBy' => '<string>',
        'startedFromBackupId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'stopAt' => <DateTime>,
        'stoppedAt' => <DateTime>,
        'stoppedBy' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
        'terminateAt' => <DateTime>,
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
        'volumeRetentionMode' => 'RETAIN|DELETE',
    ],
]

Result Details

Members
session
Type: StreamingSession structure

The session.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteStudio

$result = $client->deleteStudio([/* ... */]);
$promise = $client->deleteStudioAsync([/* ... */]);

Delete a studio resource.

Parameter Syntax

$result = $client->deleteStudio([
    'clientToken' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'studio' => [
        'adminRoleArn' => '<string>',
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'homeRegion' => '<string>',
        'ssoClientId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
        'statusMessage' => '<string>',
        'studioEncryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
        ],
        'studioId' => '<string>',
        'studioName' => '<string>',
        'studioUrl' => '<string>',
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'userRoleArn' => '<string>',
    ],
]

Result Details

Members
studio
Required: Yes
Type: Studio structure

Information about a studio.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteStudioComponent

$result = $client->deleteStudioComponent([/* ... */]);
$promise = $client->deleteStudioComponentAsync([/* ... */]);

Deletes a studio component resource.

Parameter Syntax

$result = $client->deleteStudioComponent([
    'clientToken' => '<string>',
    'studioComponentId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

studioComponentId
Required: Yes
Type: string

The studio component ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'studioComponent' => [
        'arn' => '<string>',
        'configuration' => [
            'activeDirectoryConfiguration' => [
                'computerAttributes' => [
                    [
                        'name' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'directoryId' => '<string>',
                'organizationalUnitDistinguishedName' => '<string>',
            ],
            'computeFarmConfiguration' => [
                'activeDirectoryUser' => '<string>',
                'endpoint' => '<string>',
            ],
            'licenseServiceConfiguration' => [
                'endpoint' => '<string>',
            ],
            'sharedFileSystemConfiguration' => [
                'endpoint' => '<string>',
                'fileSystemId' => '<string>',
                'linuxMountPoint' => '<string>',
                'shareName' => '<string>',
                'windowsMountDrive' => '<string>',
            ],
        ],
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SecurityGroupIds' => ['<string>', ...],
        'initializationScripts' => [
            [
                'launchProfileProtocolVersion' => '<string>',
                'platform' => 'LINUX|WINDOWS',
                'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
                'script' => '<string>',
            ],
            // ...
        ],
        'name' => '<string>',
        'runtimeRoleArn' => '<string>',
        'scriptParameters' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
        'secureInitializationRoleArn' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'ACTIVE_DIRECTORY_ALREADY_EXISTS|STUDIO_COMPONENT_CREATED|STUDIO_COMPONENT_UPDATED|STUDIO_COMPONENT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|STUDIO_COMPONENT_CREATE_IN_PROGRESS|STUDIO_COMPONENT_UPDATE_IN_PROGRESS|STUDIO_COMPONENT_DELETE_IN_PROGRESS|INTERNAL_ERROR',
        'statusMessage' => '<string>',
        'studioComponentId' => '<string>',
        'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
        'tags' => ['<string>', ...],
        'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
    ],
]

Result Details

Members
studioComponent
Type: StudioComponent structure

Information about the studio component.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

DeleteStudioMember

$result = $client->deleteStudioMember([/* ... */]);
$promise = $client->deleteStudioMemberAsync([/* ... */]);

Delete a user from studio membership.

Parameter Syntax

$result = $client->deleteStudioMember([
    'clientToken' => '<string>',
    'principalId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

principalId
Required: Yes
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetEula

$result = $client->getEula([/* ... */]);
$promise = $client->getEulaAsync([/* ... */]);

Get EULA.

Parameter Syntax

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

Parameter Details

Members
eulaId
Required: Yes
Type: string

The EULA ID.

Result Syntax

[
    'eula' => [
        'content' => '<string>',
        'createdAt' => <DateTime>,
        'eulaId' => '<string>',
        'name' => '<string>',
        'updatedAt' => <DateTime>,
    ],
]

Result Details

Members
eula
Type: Eula structure

The EULA.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetLaunchProfile

$result = $client->getLaunchProfile([/* ... */]);
$promise = $client->getLaunchProfileAsync([/* ... */]);

Get a launch profile.

Parameter Syntax

$result = $client->getLaunchProfile([
    'launchProfileId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfile' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SubnetIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersions' => ['<string>', ...],
        'name' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
        'statusMessage' => '<string>',
        'streamConfiguration' => [
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'clipboardMode' => 'ENABLED|DISABLED',
            'ec2InstanceTypes' => ['<string>', ...],
            'maxSessionLengthInMinutes' => <integer>,
            'maxStoppedSessionLengthInMinutes' => <integer>,
            'sessionBackup' => [
                'maxBackupsToRetain' => <integer>,
                'mode' => 'AUTOMATIC|DEACTIVATED',
            ],
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'sessionStorage' => [
                'mode' => ['<string>', ...],
                'root' => [
                    'linux' => '<string>',
                    'windows' => '<string>',
                ],
            ],
            'streamingImageIds' => ['<string>', ...],
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
        ],
        'studioComponentIds' => ['<string>', ...],
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'validationResults' => [
            [
                'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusMessage' => '<string>',
                'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
            ],
            // ...
        ],
    ],
]

Result Details

Members
launchProfile
Type: LaunchProfile structure

The launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetLaunchProfileDetails

$result = $client->getLaunchProfileDetails([/* ... */]);
$promise = $client->getLaunchProfileDetailsAsync([/* ... */]);

Launch profile details include the launch profile resource and summary information of resources that are used by, or available to, the launch profile. This includes the name and description of all studio components used by the launch profiles, and the name and description of streaming images that can be used with this launch profile.

Parameter Syntax

$result = $client->getLaunchProfileDetails([
    'launchProfileId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfile' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SubnetIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersions' => ['<string>', ...],
        'name' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
        'statusMessage' => '<string>',
        'streamConfiguration' => [
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'clipboardMode' => 'ENABLED|DISABLED',
            'ec2InstanceTypes' => ['<string>', ...],
            'maxSessionLengthInMinutes' => <integer>,
            'maxStoppedSessionLengthInMinutes' => <integer>,
            'sessionBackup' => [
                'maxBackupsToRetain' => <integer>,
                'mode' => 'AUTOMATIC|DEACTIVATED',
            ],
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'sessionStorage' => [
                'mode' => ['<string>', ...],
                'root' => [
                    'linux' => '<string>',
                    'windows' => '<string>',
                ],
            ],
            'streamingImageIds' => ['<string>', ...],
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
        ],
        'studioComponentIds' => ['<string>', ...],
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'validationResults' => [
            [
                'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusMessage' => '<string>',
                'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
            ],
            // ...
        ],
    ],
    'streamingImages' => [
        [
            'arn' => '<string>',
            'description' => '<string>',
            'ec2ImageId' => '<string>',
            'encryptionConfiguration' => [
                'keyArn' => '<string>',
                'keyType' => 'CUSTOMER_MANAGED_KEY',
            ],
            'eulaIds' => ['<string>', ...],
            'name' => '<string>',
            'owner' => '<string>',
            'platform' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
            'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
            'statusMessage' => '<string>',
            'streamingImageId' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'studioComponentSummaries' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'name' => '<string>',
            'studioComponentId' => '<string>',
            'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
            'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
            'updatedAt' => <DateTime>,
            'updatedBy' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
launchProfile
Type: LaunchProfile structure

The launch profile.

streamingImages
Type: Array of StreamingImage structures

A collection of streaming images.

studioComponentSummaries
Type: Array of StudioComponentSummary structures

A collection of studio component summaries.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetLaunchProfileInitialization

$result = $client->getLaunchProfileInitialization([/* ... */]);
$promise = $client->getLaunchProfileInitializationAsync([/* ... */]);

Get a launch profile initialization.

Parameter Syntax

$result = $client->getLaunchProfileInitialization([
    'launchProfileId' => '<string>', // REQUIRED
    'launchProfileProtocolVersions' => ['<string>', ...], // REQUIRED
    'launchPurpose' => '<string>', // REQUIRED
    'platform' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

launchProfileProtocolVersions
Required: Yes
Type: Array of strings

The launch profile protocol versions supported by the client.

launchPurpose
Required: Yes
Type: string

The launch purpose.

platform
Required: Yes
Type: string

The platform where this Launch Profile will be used, either Windows or Linux.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfileInitialization' => [
        'activeDirectory' => [
            'computerAttributes' => [
                [
                    'name' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'directoryId' => '<string>',
            'directoryName' => '<string>',
            'dnsIpAddresses' => ['<string>', ...],
            'organizationalUnitDistinguishedName' => '<string>',
            'studioComponentId' => '<string>',
            'studioComponentName' => '<string>',
        ],
        'ec2SecurityGroupIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersion' => '<string>',
        'launchPurpose' => '<string>',
        'name' => '<string>',
        'platform' => 'LINUX|WINDOWS',
        'systemInitializationScripts' => [
            [
                'runtimeRoleArn' => '<string>',
                'script' => '<string>',
                'secureInitializationRoleArn' => '<string>',
                'studioComponentId' => '<string>',
                'studioComponentName' => '<string>',
            ],
            // ...
        ],
        'userInitializationScripts' => [
            [
                'runtimeRoleArn' => '<string>',
                'script' => '<string>',
                'secureInitializationRoleArn' => '<string>',
                'studioComponentId' => '<string>',
                'studioComponentName' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
launchProfileInitialization
Type: LaunchProfileInitialization structure

The launch profile initialization.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetLaunchProfileMember

$result = $client->getLaunchProfileMember([/* ... */]);
$promise = $client->getLaunchProfileMemberAsync([/* ... */]);

Get a user persona in launch profile membership.

Parameter Syntax

$result = $client->getLaunchProfileMember([
    'launchProfileId' => '<string>', // REQUIRED
    'principalId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

principalId
Required: Yes
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'member' => [
        'identityStoreId' => '<string>',
        'persona' => 'USER',
        'principalId' => '<string>',
        'sid' => '<string>',
    ],
]

Result Details

Members
member
Type: LaunchProfileMembership structure

The member.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStreamingImage

$result = $client->getStreamingImage([/* ... */]);
$promise = $client->getStreamingImageAsync([/* ... */]);

Get streaming image.

Parameter Syntax

$result = $client->getStreamingImage([
    'streamingImageId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
streamingImageId
Required: Yes
Type: string

The streaming image ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'streamingImage' => [
        'arn' => '<string>',
        'description' => '<string>',
        'ec2ImageId' => '<string>',
        'encryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'CUSTOMER_MANAGED_KEY',
        ],
        'eulaIds' => ['<string>', ...],
        'name' => '<string>',
        'owner' => '<string>',
        'platform' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
        'statusMessage' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
streamingImage
Type: StreamingImage structure

The streaming image.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStreamingSession

$result = $client->getStreamingSession([/* ... */]);
$promise = $client->getStreamingSessionAsync([/* ... */]);

Gets StreamingSession resource.

Invoke this operation to poll for a streaming session state while creating or deleting a session.

Parameter Syntax

$result = $client->getStreamingSession([
    'sessionId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
sessionId
Required: Yes
Type: string

The streaming session ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'session' => [
        'arn' => '<string>',
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'backupMode' => 'AUTOMATIC|DEACTIVATED',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'ec2InstanceType' => '<string>',
        'launchProfileId' => '<string>',
        'maxBackupsToRetain' => <integer>,
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'startedAt' => <DateTime>,
        'startedBy' => '<string>',
        'startedFromBackupId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'stopAt' => <DateTime>,
        'stoppedAt' => <DateTime>,
        'stoppedBy' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
        'terminateAt' => <DateTime>,
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
        'volumeRetentionMode' => 'RETAIN|DELETE',
    ],
]

Result Details

Members
session
Type: StreamingSession structure

The session.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStreamingSessionBackup

$result = $client->getStreamingSessionBackup([/* ... */]);
$promise = $client->getStreamingSessionBackupAsync([/* ... */]);

Gets StreamingSessionBackup resource.

Invoke this operation to poll for a streaming session backup while stopping a streaming session.

Parameter Syntax

$result = $client->getStreamingSessionBackup([
    'backupId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
backupId
Required: Yes
Type: string

The ID of the backup.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'streamingSessionBackup' => [
        'arn' => '<string>',
        'backupId' => '<string>',
        'createdAt' => <DateTime>,
        'launchProfileId' => '<string>',
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
streamingSessionBackup
Type: StreamingSessionBackup structure

Information about the streaming session backup.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

GetStreamingSessionStream

$result = $client->getStreamingSessionStream([/* ... */]);
$promise = $client->getStreamingSessionStreamAsync([/* ... */]);

Gets a StreamingSessionStream for a streaming session.

Invoke this operation to poll the resource after invoking CreateStreamingSessionStream.

After the StreamingSessionStream changes to the READY state, the url property will contain a stream to be used with the DCV streaming client.

Parameter Syntax

$result = $client->getStreamingSessionStream([
    'sessionId' => '<string>', // REQUIRED
    'streamId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
sessionId
Required: Yes
Type: string

The streaming session ID.

streamId
Required: Yes
Type: string

The streaming session stream ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'stream' => [
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'expiresAt' => <DateTime>,
        'ownedBy' => '<string>',
        'state' => 'READY|CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAM_CREATE_IN_PROGRESS|STREAM_READY|STREAM_DELETE_IN_PROGRESS|STREAM_DELETED|INTERNAL_ERROR|NETWORK_CONNECTION_ERROR',
        'streamId' => '<string>',
        'url' => '<string>',
    ],
]

Result Details

Members
stream
Type: StreamingSessionStream structure

The stream.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStudio

$result = $client->getStudio([/* ... */]);
$promise = $client->getStudioAsync([/* ... */]);

Get a studio resource.

Parameter Syntax

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

Parameter Details

Members
studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'studio' => [
        'adminRoleArn' => '<string>',
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'homeRegion' => '<string>',
        'ssoClientId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
        'statusMessage' => '<string>',
        'studioEncryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
        ],
        'studioId' => '<string>',
        'studioName' => '<string>',
        'studioUrl' => '<string>',
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'userRoleArn' => '<string>',
    ],
]

Result Details

Members
studio
Required: Yes
Type: Studio structure

Information about a studio.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStudioComponent

$result = $client->getStudioComponent([/* ... */]);
$promise = $client->getStudioComponentAsync([/* ... */]);

Gets a studio component resource.

Parameter Syntax

$result = $client->getStudioComponent([
    'studioComponentId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
studioComponentId
Required: Yes
Type: string

The studio component ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'studioComponent' => [
        'arn' => '<string>',
        'configuration' => [
            'activeDirectoryConfiguration' => [
                'computerAttributes' => [
                    [
                        'name' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'directoryId' => '<string>',
                'organizationalUnitDistinguishedName' => '<string>',
            ],
            'computeFarmConfiguration' => [
                'activeDirectoryUser' => '<string>',
                'endpoint' => '<string>',
            ],
            'licenseServiceConfiguration' => [
                'endpoint' => '<string>',
            ],
            'sharedFileSystemConfiguration' => [
                'endpoint' => '<string>',
                'fileSystemId' => '<string>',
                'linuxMountPoint' => '<string>',
                'shareName' => '<string>',
                'windowsMountDrive' => '<string>',
            ],
        ],
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SecurityGroupIds' => ['<string>', ...],
        'initializationScripts' => [
            [
                'launchProfileProtocolVersion' => '<string>',
                'platform' => 'LINUX|WINDOWS',
                'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
                'script' => '<string>',
            ],
            // ...
        ],
        'name' => '<string>',
        'runtimeRoleArn' => '<string>',
        'scriptParameters' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
        'secureInitializationRoleArn' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'ACTIVE_DIRECTORY_ALREADY_EXISTS|STUDIO_COMPONENT_CREATED|STUDIO_COMPONENT_UPDATED|STUDIO_COMPONENT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|STUDIO_COMPONENT_CREATE_IN_PROGRESS|STUDIO_COMPONENT_UPDATE_IN_PROGRESS|STUDIO_COMPONENT_DELETE_IN_PROGRESS|INTERNAL_ERROR',
        'statusMessage' => '<string>',
        'studioComponentId' => '<string>',
        'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
        'tags' => ['<string>', ...],
        'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
    ],
]

Result Details

Members
studioComponent
Type: StudioComponent structure

Information about the studio component.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

GetStudioMember

$result = $client->getStudioMember([/* ... */]);
$promise = $client->getStudioMemberAsync([/* ... */]);

Get a user's membership in a studio.

Parameter Syntax

$result = $client->getStudioMember([
    'principalId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
principalId
Required: Yes
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'member' => [
        'identityStoreId' => '<string>',
        'persona' => 'ADMINISTRATOR',
        'principalId' => '<string>',
        'sid' => '<string>',
    ],
]

Result Details

Members
member
Type: StudioMembership structure

The member.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListEulaAcceptances

$result = $client->listEulaAcceptances([/* ... */]);
$promise = $client->listEulaAcceptancesAsync([/* ... */]);

List EULA acceptances.

Parameter Syntax

$result = $client->listEulaAcceptances([
    'eulaIds' => ['<string>', ...],
    'nextToken' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
eulaIds
Type: Array of strings

The list of EULA IDs that have been previously accepted.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'eulaAcceptances' => [
        [
            'acceptedAt' => <DateTime>,
            'acceptedBy' => '<string>',
            'accepteeId' => '<string>',
            'eulaAcceptanceId' => '<string>',
            'eulaId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
eulaAcceptances
Type: Array of EulaAcceptance structures

A collection of EULA acceptances.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListEulas

$result = $client->listEulas([/* ... */]);
$promise = $client->listEulasAsync([/* ... */]);

List EULAs.

Parameter Syntax

$result = $client->listEulas([
    'eulaIds' => ['<string>', ...],
    'nextToken' => '<string>',
]);

Parameter Details

Members
eulaIds
Type: Array of strings

The list of EULA IDs that should be returned

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Result Syntax

[
    'eulas' => [
        [
            'content' => '<string>',
            'createdAt' => <DateTime>,
            'eulaId' => '<string>',
            'name' => '<string>',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
eulas
Type: Array of Eula structures

A collection of EULA resources.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListLaunchProfileMembers

$result = $client->listLaunchProfileMembers([/* ... */]);
$promise = $client->listLaunchProfileMembersAsync([/* ... */]);

Get all users in a given launch profile membership.

Parameter Syntax

$result = $client->listLaunchProfileMembers([
    'launchProfileId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

maxResults
Type: int

The max number of results to return in the response.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'members' => [
        [
            'identityStoreId' => '<string>',
            'persona' => 'USER',
            'principalId' => '<string>',
            'sid' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
members
Type: Array of LaunchProfileMembership structures

A list of members.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListLaunchProfiles

$result = $client->listLaunchProfiles([/* ... */]);
$promise = $client->listLaunchProfilesAsync([/* ... */]);

List all the launch profiles a studio.

Parameter Syntax

$result = $client->listLaunchProfiles([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'principalId' => '<string>',
    'states' => ['<string>', ...],
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The max number of results to return in the response.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

principalId
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

states
Type: Array of strings

Filter this request to launch profiles in any of the given states.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfiles' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'ec2SubnetIds' => ['<string>', ...],
            'launchProfileId' => '<string>',
            'launchProfileProtocolVersions' => ['<string>', ...],
            'name' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
            'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
            'statusMessage' => '<string>',
            'streamConfiguration' => [
                'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
                'clipboardMode' => 'ENABLED|DISABLED',
                'ec2InstanceTypes' => ['<string>', ...],
                'maxSessionLengthInMinutes' => <integer>,
                'maxStoppedSessionLengthInMinutes' => <integer>,
                'sessionBackup' => [
                    'maxBackupsToRetain' => <integer>,
                    'mode' => 'AUTOMATIC|DEACTIVATED',
                ],
                'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
                'sessionStorage' => [
                    'mode' => ['<string>', ...],
                    'root' => [
                        'linux' => '<string>',
                        'windows' => '<string>',
                    ],
                ],
                'streamingImageIds' => ['<string>', ...],
                'volumeConfiguration' => [
                    'iops' => <integer>,
                    'size' => <integer>,
                    'throughput' => <integer>,
                ],
            ],
            'studioComponentIds' => ['<string>', ...],
            'tags' => ['<string>', ...],
            'updatedAt' => <DateTime>,
            'updatedBy' => '<string>',
            'validationResults' => [
                [
                    'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                    'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                    'statusMessage' => '<string>',
                    'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
launchProfiles
Type: Array of LaunchProfile structures

A collection of launch profiles.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListStreamingImages

$result = $client->listStreamingImages([/* ... */]);
$promise = $client->listStreamingImagesAsync([/* ... */]);

List the streaming image resources available to this studio.

This list will contain both images provided by Amazon Web Services, as well as streaming images that you have created in your studio.

Parameter Syntax

$result = $client->listStreamingImages([
    'nextToken' => '<string>',
    'owner' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

owner
Type: string

Filter this request to streaming images with the given owner

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'nextToken' => '<string>',
    'streamingImages' => [
        [
            'arn' => '<string>',
            'description' => '<string>',
            'ec2ImageId' => '<string>',
            'encryptionConfiguration' => [
                'keyArn' => '<string>',
                'keyType' => 'CUSTOMER_MANAGED_KEY',
            ],
            'eulaIds' => ['<string>', ...],
            'name' => '<string>',
            'owner' => '<string>',
            'platform' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
            'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
            'statusMessage' => '<string>',
            'streamingImageId' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

streamingImages
Type: Array of StreamingImage structures

A collection of streaming images.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListStreamingSessionBackups

$result = $client->listStreamingSessionBackups([/* ... */]);
$promise = $client->listStreamingSessionBackupsAsync([/* ... */]);

Lists the backups of a streaming session in a studio.

Parameter Syntax

$result = $client->listStreamingSessionBackups([
    'nextToken' => '<string>',
    'ownedBy' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

ownedBy
Type: string

The user ID of the user that owns the streaming session.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'nextToken' => '<string>',
    'streamingSessionBackups' => [
        [
            'arn' => '<string>',
            'backupId' => '<string>',
            'createdAt' => <DateTime>,
            'launchProfileId' => '<string>',
            'ownedBy' => '<string>',
            'sessionId' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
            'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
            'statusMessage' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

streamingSessionBackups
Type: Array of StreamingSessionBackup structures

Information about the streaming session backups.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ListStreamingSessions

$result = $client->listStreamingSessions([/* ... */]);
$promise = $client->listStreamingSessionsAsync([/* ... */]);

Lists the streaming sessions in a studio.

Parameter Syntax

$result = $client->listStreamingSessions([
    'createdBy' => '<string>',
    'nextToken' => '<string>',
    'ownedBy' => '<string>',
    'sessionIds' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
createdBy
Type: string

Filters the request to streaming sessions created by the given user.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

ownedBy
Type: string

Filters the request to streaming session owned by the given user

sessionIds
Type: string

Filters the request to only the provided session IDs.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'nextToken' => '<string>',
    'sessions' => [
        [
            'arn' => '<string>',
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'backupMode' => 'AUTOMATIC|DEACTIVATED',
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'ec2InstanceType' => '<string>',
            'launchProfileId' => '<string>',
            'maxBackupsToRetain' => <integer>,
            'ownedBy' => '<string>',
            'sessionId' => '<string>',
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'startedAt' => <DateTime>,
            'startedBy' => '<string>',
            'startedFromBackupId' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
            'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
            'statusMessage' => '<string>',
            'stopAt' => <DateTime>,
            'stoppedAt' => <DateTime>,
            'stoppedBy' => '<string>',
            'streamingImageId' => '<string>',
            'tags' => ['<string>', ...],
            'terminateAt' => <DateTime>,
            'updatedAt' => <DateTime>,
            'updatedBy' => '<string>',
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
            'volumeRetentionMode' => 'RETAIN|DELETE',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

sessions
Type: Array of StreamingSession structures

A collection of streaming sessions.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListStudioComponents

$result = $client->listStudioComponents([/* ... */]);
$promise = $client->listStudioComponentsAsync([/* ... */]);

Lists the StudioComponents in a studio.

Parameter Syntax

$result = $client->listStudioComponents([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'states' => ['<string>', ...],
    'studioId' => '<string>', // REQUIRED
    'types' => ['<string>', ...],
]);

Parameter Details

Members
maxResults
Type: int

The max number of results to return in the response.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

states
Type: Array of strings

Filters the request to studio components that are in one of the given states.

studioId
Required: Yes
Type: string

The studio ID.

types
Type: Array of strings

Filters the request to studio components that are of one of the given types.

Result Syntax

[
    'nextToken' => '<string>',
    'studioComponents' => [
        [
            'arn' => '<string>',
            'configuration' => [
                'activeDirectoryConfiguration' => [
                    'computerAttributes' => [
                        [
                            'name' => '<string>',
                            'value' => '<string>',
                        ],
                        // ...
                    ],
                    'directoryId' => '<string>',
                    'organizationalUnitDistinguishedName' => '<string>',
                ],
                'computeFarmConfiguration' => [
                    'activeDirectoryUser' => '<string>',
                    'endpoint' => '<string>',
                ],
                'licenseServiceConfiguration' => [
                    'endpoint' => '<string>',
                ],
                'sharedFileSystemConfiguration' => [
                    'endpoint' => '<string>',
                    'fileSystemId' => '<string>',
                    'linuxMountPoint' => '<string>',
                    'shareName' => '<string>',
                    'windowsMountDrive' => '<string>',
                ],
            ],
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'ec2SecurityGroupIds' => ['<string>', ...],
            'initializationScripts' => [
                [
                    'launchProfileProtocolVersion' => '<string>',
                    'platform' => 'LINUX|WINDOWS',
                    'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
                    'script' => '<string>',
                ],
                // ...
            ],
            'name' => '<string>',
            'runtimeRoleArn' => '<string>',
            'scriptParameters' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'secureInitializationRoleArn' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
            'statusCode' => 'ACTIVE_DIRECTORY_ALREADY_EXISTS|STUDIO_COMPONENT_CREATED|STUDIO_COMPONENT_UPDATED|STUDIO_COMPONENT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|STUDIO_COMPONENT_CREATE_IN_PROGRESS|STUDIO_COMPONENT_UPDATE_IN_PROGRESS|STUDIO_COMPONENT_DELETE_IN_PROGRESS|INTERNAL_ERROR',
            'statusMessage' => '<string>',
            'studioComponentId' => '<string>',
            'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
            'tags' => ['<string>', ...],
            'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
            'updatedAt' => <DateTime>,
            'updatedBy' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

studioComponents
Type: Array of StudioComponent structures

A collection of studio components.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListStudioMembers

$result = $client->listStudioMembers([/* ... */]);
$promise = $client->listStudioMembersAsync([/* ... */]);

Get all users in a given studio membership.

ListStudioMembers only returns admin members.

Parameter Syntax

$result = $client->listStudioMembers([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The max number of results to return in the response.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'members' => [
        [
            'identityStoreId' => '<string>',
            'persona' => 'ADMINISTRATOR',
            'principalId' => '<string>',
            'sid' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
members
Type: Array of StudioMembership structures

A list of admin members.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListStudios

$result = $client->listStudios([/* ... */]);
$promise = $client->listStudiosAsync([/* ... */]);

List studios in your Amazon Web Services accounts in the requested Amazon Web Services Region.

Parameter Syntax

$result = $client->listStudios([
    'nextToken' => '<string>',
]);

Parameter Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Result Syntax

[
    'nextToken' => '<string>',
    'studios' => [
        [
            'adminRoleArn' => '<string>',
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'displayName' => '<string>',
            'homeRegion' => '<string>',
            'ssoClientId' => '<string>',
            'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
            'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
            'statusMessage' => '<string>',
            'studioEncryptionConfiguration' => [
                'keyArn' => '<string>',
                'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
            ],
            'studioId' => '<string>',
            'studioName' => '<string>',
            'studioUrl' => '<string>',
            'tags' => ['<string>', ...],
            'updatedAt' => <DateTime>,
            'userRoleArn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results, or null if there are no more results.

studios
Required: Yes
Type: Array of Studio structures

A collection of studios.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

ListTagsForResource

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

Gets the tags for a resource, given its Amazon Resource Names (ARN).

This operation supports ARNs for all resource types in Nimble Studio that support tags, including studio, studio component, launch profile, streaming image, and streaming session. All resources that can be tagged will contain an ARN property, so you do not have to create this ARN yourself.

Parameter Syntax

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

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource for which you want to list tags.

Result Syntax

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

Result Details

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

PutLaunchProfileMembers

$result = $client->putLaunchProfileMembers([/* ... */]);
$promise = $client->putLaunchProfileMembersAsync([/* ... */]);

Add/update users with given persona to launch profile membership.

Parameter Syntax

$result = $client->putLaunchProfileMembers([
    'clientToken' => '<string>',
    'identityStoreId' => '<string>', // REQUIRED
    'launchProfileId' => '<string>', // REQUIRED
    'members' => [ // REQUIRED
        [
            'persona' => 'USER', // REQUIRED
            'principalId' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

identityStoreId
Required: Yes
Type: string

The ID of the identity store.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

members
Required: Yes
Type: Array of NewLaunchProfileMember structures

A list of members.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

PutStudioMembers

$result = $client->putStudioMembers([/* ... */]);
$promise = $client->putStudioMembersAsync([/* ... */]);

Add/update users with given persona to studio membership.

Parameter Syntax

$result = $client->putStudioMembers([
    'clientToken' => '<string>',
    'identityStoreId' => '<string>', // REQUIRED
    'members' => [ // REQUIRED
        [
            'persona' => 'ADMINISTRATOR', // REQUIRED
            'principalId' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

identityStoreId
Required: Yes
Type: string

The ID of the identity store.

members
Required: Yes
Type: Array of NewStudioMember structures

A list of members.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

StartStreamingSession

$result = $client->startStreamingSession([/* ... */]);
$promise = $client->startStreamingSessionAsync([/* ... */]);

Transitions sessions from the STOPPED state into the READY state. The START_IN_PROGRESS state is the intermediate state between the STOPPED and READY states.

Parameter Syntax

$result = $client->startStreamingSession([
    'backupId' => '<string>',
    'clientToken' => '<string>',
    'sessionId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
backupId
Type: string

The ID of the backup.

clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

sessionId
Required: Yes
Type: string

The streaming session ID for the StartStreamingSessionRequest.

studioId
Required: Yes
Type: string

The studio ID for the StartStreamingSessionRequest.

Result Syntax

[
    'session' => [
        'arn' => '<string>',
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'backupMode' => 'AUTOMATIC|DEACTIVATED',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'ec2InstanceType' => '<string>',
        'launchProfileId' => '<string>',
        'maxBackupsToRetain' => <integer>,
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'startedAt' => <DateTime>,
        'startedBy' => '<string>',
        'startedFromBackupId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'stopAt' => <DateTime>,
        'stoppedAt' => <DateTime>,
        'stoppedBy' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
        'terminateAt' => <DateTime>,
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
        'volumeRetentionMode' => 'RETAIN|DELETE',
    ],
]

Result Details

Members
session
Type: StreamingSession structure

A streaming session is a virtual workstation created using a particular launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

StartStudioSSOConfigurationRepair

$result = $client->startStudioSSOConfigurationRepair([/* ... */]);
$promise = $client->startStudioSSOConfigurationRepairAsync([/* ... */]);

Repairs the IAM Identity Center configuration for a given studio.

If the studio has a valid IAM Identity Center configuration currently associated with it, this operation will fail with a validation error.

If the studio does not have a valid IAM Identity Center configuration currently associated with it, then a new IAM Identity Center application is created for the studio and the studio is changed to the READY state.

After the IAM Identity Center application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

Parameter Syntax

$result = $client->startStudioSSOConfigurationRepair([
    'clientToken' => '<string>',
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'studio' => [
        'adminRoleArn' => '<string>',
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'homeRegion' => '<string>',
        'ssoClientId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
        'statusMessage' => '<string>',
        'studioEncryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
        ],
        'studioId' => '<string>',
        'studioName' => '<string>',
        'studioUrl' => '<string>',
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'userRoleArn' => '<string>',
    ],
]

Result Details

Members
studio
Required: Yes
Type: Studio structure

Information about a studio.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

StopStreamingSession

$result = $client->stopStreamingSession([/* ... */]);
$promise = $client->stopStreamingSessionAsync([/* ... */]);

Transitions sessions from the READY state into the STOPPED state. The STOP_IN_PROGRESS state is the intermediate state between the READY and STOPPED states.

Parameter Syntax

$result = $client->stopStreamingSession([
    'clientToken' => '<string>',
    'sessionId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
    'volumeRetentionMode' => 'RETAIN|DELETE',
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

sessionId
Required: Yes
Type: string

The streaming session ID for the StopStreamingSessionRequest.

studioId
Required: Yes
Type: string

The studioId for the StopStreamingSessionRequest.

volumeRetentionMode
Type: string

Adds additional instructions to a streaming session stop action to either retain the EBS volumes or delete the EBS volumes.

Result Syntax

[
    'session' => [
        'arn' => '<string>',
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'backupMode' => 'AUTOMATIC|DEACTIVATED',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'ec2InstanceType' => '<string>',
        'launchProfileId' => '<string>',
        'maxBackupsToRetain' => <integer>,
        'ownedBy' => '<string>',
        'sessionId' => '<string>',
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'startedAt' => <DateTime>,
        'startedBy' => '<string>',
        'startedFromBackupId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|READY|DELETED|CREATE_FAILED|DELETE_FAILED|STOP_IN_PROGRESS|START_IN_PROGRESS|STOPPED|STOP_FAILED|START_FAILED',
        'statusCode' => 'STREAMING_SESSION_READY|STREAMING_SESSION_DELETED|STREAMING_SESSION_CREATE_IN_PROGRESS|STREAMING_SESSION_DELETE_IN_PROGRESS|INTERNAL_ERROR|INSUFFICIENT_CAPACITY|ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR|NETWORK_CONNECTION_ERROR|INITIALIZATION_SCRIPT_ERROR|DECRYPT_STREAMING_IMAGE_ERROR|NETWORK_INTERFACE_ERROR|STREAMING_SESSION_STOPPED|STREAMING_SESSION_STARTED|STREAMING_SESSION_STOP_IN_PROGRESS|STREAMING_SESSION_START_IN_PROGRESS|AMI_VALIDATION_ERROR',
        'statusMessage' => '<string>',
        'stopAt' => <DateTime>,
        'stoppedAt' => <DateTime>,
        'stoppedBy' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
        'terminateAt' => <DateTime>,
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
        'volumeRetentionMode' => 'RETAIN|DELETE',
    ],
]

Result Details

Members
session
Type: StreamingSession structure

A streaming session is a virtual workstation created using a particular launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

TagResource

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

Creates tags for a resource, given its ARN.

Parameter Syntax

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

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource you want to add tags to.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UntagResource

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

Deletes the tags for a resource.

Parameter Syntax

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

Parameter Details

Members
resourceArn
Required: Yes
Type: string

Identifies the Amazon Resource Name(ARN) key from which you are removing tags.

tagKeys
Required: Yes
Type: Array of strings

One or more tag keys. Specify only the tag keys, not the tag values.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UpdateLaunchProfile

$result = $client->updateLaunchProfile([/* ... */]);
$promise = $client->updateLaunchProfileAsync([/* ... */]);

Update a launch profile.

Parameter Syntax

$result = $client->updateLaunchProfile([
    'clientToken' => '<string>',
    'description' => '<string>',
    'launchProfileId' => '<string>', // REQUIRED
    'launchProfileProtocolVersions' => ['<string>', ...],
    'name' => '<string>',
    'streamConfiguration' => [
        'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
        'clipboardMode' => 'ENABLED|DISABLED', // REQUIRED
        'ec2InstanceTypes' => ['<string>', ...], // REQUIRED
        'maxSessionLengthInMinutes' => <integer>,
        'maxStoppedSessionLengthInMinutes' => <integer>,
        'sessionBackup' => [
            'maxBackupsToRetain' => <integer>,
            'mode' => 'AUTOMATIC|DEACTIVATED',
        ],
        'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
        'sessionStorage' => [
            'mode' => ['<string>', ...], // REQUIRED
            'root' => [
                'linux' => '<string>',
                'windows' => '<string>',
            ],
        ],
        'streamingImageIds' => ['<string>', ...], // REQUIRED
        'volumeConfiguration' => [
            'iops' => <integer>,
            'size' => <integer>,
            'throughput' => <integer>,
        ],
    ],
    'studioComponentIds' => ['<string>', ...],
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

description
Type: string

The description.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

launchProfileProtocolVersions
Type: Array of strings

The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".

name
Type: string

The name for the launch profile.

streamConfiguration
Type: StreamConfigurationCreate structure

A configuration for a streaming session.

studioComponentIds
Type: Array of strings

Unique identifiers for a collection of studio components that can be used with this launch profile.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'launchProfile' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SubnetIds' => ['<string>', ...],
        'launchProfileId' => '<string>',
        'launchProfileProtocolVersions' => ['<string>', ...],
        'name' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'LAUNCH_PROFILE_CREATED|LAUNCH_PROFILE_UPDATED|LAUNCH_PROFILE_DELETED|LAUNCH_PROFILE_CREATE_IN_PROGRESS|LAUNCH_PROFILE_UPDATE_IN_PROGRESS|LAUNCH_PROFILE_DELETE_IN_PROGRESS|INTERNAL_ERROR|STREAMING_IMAGE_NOT_FOUND|STREAMING_IMAGE_NOT_READY|LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|INVALID_SUBNETS_PROVIDED|INVALID_INSTANCE_TYPES_PROVIDED|INVALID_SUBNETS_COMBINATION',
        'statusMessage' => '<string>',
        'streamConfiguration' => [
            'automaticTerminationMode' => 'DEACTIVATED|ACTIVATED',
            'clipboardMode' => 'ENABLED|DISABLED',
            'ec2InstanceTypes' => ['<string>', ...],
            'maxSessionLengthInMinutes' => <integer>,
            'maxStoppedSessionLengthInMinutes' => <integer>,
            'sessionBackup' => [
                'maxBackupsToRetain' => <integer>,
                'mode' => 'AUTOMATIC|DEACTIVATED',
            ],
            'sessionPersistenceMode' => 'DEACTIVATED|ACTIVATED',
            'sessionStorage' => [
                'mode' => ['<string>', ...],
                'root' => [
                    'linux' => '<string>',
                    'windows' => '<string>',
                ],
            ],
            'streamingImageIds' => ['<string>', ...],
            'volumeConfiguration' => [
                'iops' => <integer>,
                'size' => <integer>,
                'throughput' => <integer>,
            ],
        ],
        'studioComponentIds' => ['<string>', ...],
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
        'validationResults' => [
            [
                'state' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusCode' => 'VALIDATION_NOT_STARTED|VALIDATION_IN_PROGRESS|VALIDATION_SUCCESS|VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION|VALIDATION_FAILED_SUBNET_NOT_FOUND|VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION|VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY|VALIDATION_FAILED_UNAUTHORIZED|VALIDATION_FAILED_INTERNAL_SERVER_ERROR',
                'statusMessage' => '<string>',
                'type' => 'VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT|VALIDATE_SUBNET_ASSOCIATION|VALIDATE_NETWORK_ACL_ASSOCIATION|VALIDATE_SECURITY_GROUP_ASSOCIATION',
            ],
            // ...
        ],
    ],
]

Result Details

Members
launchProfile
Type: LaunchProfile structure

The launch profile.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UpdateLaunchProfileMember

$result = $client->updateLaunchProfileMember([/* ... */]);
$promise = $client->updateLaunchProfileMemberAsync([/* ... */]);

Update a user persona in launch profile membership.

Parameter Syntax

$result = $client->updateLaunchProfileMember([
    'clientToken' => '<string>',
    'launchProfileId' => '<string>', // REQUIRED
    'persona' => 'USER', // REQUIRED
    'principalId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

launchProfileId
Required: Yes
Type: string

The ID of the launch profile used to control access from the streaming session.

persona
Required: Yes
Type: string

The persona.

principalId
Required: Yes
Type: string

The principal ID. This currently supports a IAM Identity Center UserId.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'member' => [
        'identityStoreId' => '<string>',
        'persona' => 'USER',
        'principalId' => '<string>',
        'sid' => '<string>',
    ],
]

Result Details

Members
member
Type: LaunchProfileMembership structure

The updated member.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UpdateStreamingImage

$result = $client->updateStreamingImage([/* ... */]);
$promise = $client->updateStreamingImageAsync([/* ... */]);

Update streaming image.

Parameter Syntax

$result = $client->updateStreamingImage([
    'clientToken' => '<string>',
    'description' => '<string>',
    'name' => '<string>',
    'streamingImageId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

description
Type: string

The description.

name
Type: string

The name for the streaming image.

streamingImageId
Required: Yes
Type: string

The streaming image ID.

studioId
Required: Yes
Type: string

The studio ID.

Result Syntax

[
    'streamingImage' => [
        'arn' => '<string>',
        'description' => '<string>',
        'ec2ImageId' => '<string>',
        'encryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'CUSTOMER_MANAGED_KEY',
        ],
        'eulaIds' => ['<string>', ...],
        'name' => '<string>',
        'owner' => '<string>',
        'platform' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|DELETE_IN_PROGRESS|DELETED|UPDATE_IN_PROGRESS|UPDATE_FAILED|CREATE_FAILED|DELETE_FAILED',
        'statusCode' => 'STREAMING_IMAGE_CREATE_IN_PROGRESS|STREAMING_IMAGE_READY|STREAMING_IMAGE_DELETE_IN_PROGRESS|STREAMING_IMAGE_DELETED|STREAMING_IMAGE_UPDATE_IN_PROGRESS|INTERNAL_ERROR|ACCESS_DENIED',
        'statusMessage' => '<string>',
        'streamingImageId' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
streamingImage
Type: StreamingImage structure

Represents a streaming image resource.

Streaming images are used by studio users to select which operating system and software they want to use in a Nimble Studio streaming session.

Amazon provides a number of streaming images that include popular 3rd-party software.

You can create your own streaming images using an Amazon EC2 machine image that you create for this purpose. You can also include software that your users require.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UpdateStudio

$result = $client->updateStudio([/* ... */]);
$promise = $client->updateStudioAsync([/* ... */]);

Update a Studio resource.

Currently, this operation only supports updating the displayName of your studio.

Parameter Syntax

$result = $client->updateStudio([
    'adminRoleArn' => '<string>',
    'clientToken' => '<string>',
    'displayName' => '<string>',
    'studioId' => '<string>', // REQUIRED
    'userRoleArn' => '<string>',
]);

Parameter Details

Members
adminRoleArn
Type: string

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

displayName
Type: string

A friendly name for the studio.

studioId
Required: Yes
Type: string

The studio ID.

userRoleArn
Type: string

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

Result Syntax

[
    'studio' => [
        'adminRoleArn' => '<string>',
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'homeRegion' => '<string>',
        'ssoClientId' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'STUDIO_CREATED|STUDIO_DELETED|STUDIO_UPDATED|STUDIO_CREATE_IN_PROGRESS|STUDIO_UPDATE_IN_PROGRESS|STUDIO_DELETE_IN_PROGRESS|STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED|STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED|STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED|AWS_SSO_NOT_ENABLED|AWS_SSO_ACCESS_DENIED|ROLE_NOT_OWNED_BY_STUDIO_OWNER|ROLE_COULD_NOT_BE_ASSUMED|INTERNAL_ERROR|ENCRYPTION_KEY_NOT_FOUND|ENCRYPTION_KEY_ACCESS_DENIED|AWS_SSO_CONFIGURATION_REPAIRED|AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS|AWS_STS_REGION_DISABLED',
        'statusMessage' => '<string>',
        'studioEncryptionConfiguration' => [
            'keyArn' => '<string>',
            'keyType' => 'AWS_OWNED_KEY|CUSTOMER_MANAGED_KEY',
        ],
        'studioId' => '<string>',
        'studioName' => '<string>',
        'studioUrl' => '<string>',
        'tags' => ['<string>', ...],
        'updatedAt' => <DateTime>,
        'userRoleArn' => '<string>',
    ],
]

Result Details

Members
studio
Required: Yes
Type: Studio structure

Information about a studio.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

UpdateStudioComponent

$result = $client->updateStudioComponent([/* ... */]);
$promise = $client->updateStudioComponentAsync([/* ... */]);

Updates a studio component resource.

Parameter Syntax

$result = $client->updateStudioComponent([
    'clientToken' => '<string>',
    'configuration' => [
        'activeDirectoryConfiguration' => [
            'computerAttributes' => [
                [
                    'name' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'directoryId' => '<string>',
            'organizationalUnitDistinguishedName' => '<string>',
        ],
        'computeFarmConfiguration' => [
            'activeDirectoryUser' => '<string>',
            'endpoint' => '<string>',
        ],
        'licenseServiceConfiguration' => [
            'endpoint' => '<string>',
        ],
        'sharedFileSystemConfiguration' => [
            'endpoint' => '<string>',
            'fileSystemId' => '<string>',
            'linuxMountPoint' => '<string>',
            'shareName' => '<string>',
            'windowsMountDrive' => '<string>',
        ],
    ],
    'description' => '<string>',
    'ec2SecurityGroupIds' => ['<string>', ...],
    'initializationScripts' => [
        [
            'launchProfileProtocolVersion' => '<string>',
            'platform' => 'LINUX|WINDOWS',
            'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
            'script' => '<string>',
        ],
        // ...
    ],
    'name' => '<string>',
    'runtimeRoleArn' => '<string>',
    'scriptParameters' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
    'secureInitializationRoleArn' => '<string>',
    'studioComponentId' => '<string>', // REQUIRED
    'studioId' => '<string>', // REQUIRED
    'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
    'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
]);

Parameter Details

Members
clientToken
Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.

configuration

The configuration of the studio component, based on component type.

description
Type: string

The description.

ec2SecurityGroupIds
Type: Array of strings

The EC2 security groups that control access to the studio component.

initializationScripts
Type: Array of StudioComponentInitializationScript structures

Initialization scripts for studio components.

name
Type: string

The name for the studio component.

runtimeRoleArn
Type: string

An IAM role attached to a Studio Component that gives the studio component access to Amazon Web Services resources at anytime while the instance is running.

scriptParameters
Type: Array of ScriptParameterKeyValue structures

Parameters for the studio component scripts.

secureInitializationRoleArn
Type: string

An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to Amazon Web Services resources when the system initialization script runs.

studioComponentId
Required: Yes
Type: string

The studio component ID.

studioId
Required: Yes
Type: string

The studio ID.

subtype
Type: string

The specific subtype of a studio component.

type
Type: string

The type of the studio component.

Result Syntax

[
    'studioComponent' => [
        'arn' => '<string>',
        'configuration' => [
            'activeDirectoryConfiguration' => [
                'computerAttributes' => [
                    [
                        'name' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'directoryId' => '<string>',
                'organizationalUnitDistinguishedName' => '<string>',
            ],
            'computeFarmConfiguration' => [
                'activeDirectoryUser' => '<string>',
                'endpoint' => '<string>',
            ],
            'licenseServiceConfiguration' => [
                'endpoint' => '<string>',
            ],
            'sharedFileSystemConfiguration' => [
                'endpoint' => '<string>',
                'fileSystemId' => '<string>',
                'linuxMountPoint' => '<string>',
                'shareName' => '<string>',
                'windowsMountDrive' => '<string>',
            ],
        ],
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'ec2SecurityGroupIds' => ['<string>', ...],
        'initializationScripts' => [
            [
                'launchProfileProtocolVersion' => '<string>',
                'platform' => 'LINUX|WINDOWS',
                'runContext' => 'SYSTEM_INITIALIZATION|USER_INITIALIZATION',
                'script' => '<string>',
            ],
            // ...
        ],
        'name' => '<string>',
        'runtimeRoleArn' => '<string>',
        'scriptParameters' => [
            [
                'key' => '<string>',
                'value' => '<string>',
            ],
            // ...
        ],
        'secureInitializationRoleArn' => '<string>',
        'state' => 'CREATE_IN_PROGRESS|READY|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|DELETED|DELETE_FAILED|CREATE_FAILED|UPDATE_FAILED',
        'statusCode' => 'ACTIVE_DIRECTORY_ALREADY_EXISTS|STUDIO_COMPONENT_CREATED|STUDIO_COMPONENT_UPDATED|STUDIO_COMPONENT_DELETED|ENCRYPTION_KEY_ACCESS_DENIED|ENCRYPTION_KEY_NOT_FOUND|STUDIO_COMPONENT_CREATE_IN_PROGRESS|STUDIO_COMPONENT_UPDATE_IN_PROGRESS|STUDIO_COMPONENT_DELETE_IN_PROGRESS|INTERNAL_ERROR',
        'statusMessage' => '<string>',
        'studioComponentId' => '<string>',
        'subtype' => 'AWS_MANAGED_MICROSOFT_AD|AMAZON_FSX_FOR_WINDOWS|AMAZON_FSX_FOR_LUSTRE|CUSTOM',
        'tags' => ['<string>', ...],
        'type' => 'ACTIVE_DIRECTORY|SHARED_FILE_SYSTEM|COMPUTE_FARM|LICENSE_SERVICE|CUSTOM',
        'updatedAt' => <DateTime>,
        'updatedBy' => '<string>',
    ],
]

Result Details

Members
studioComponent
Type: StudioComponent structure

Information about the studio component.

Errors

ResourceNotFoundException:

The specified resource could not be found.

ConflictException:

Another operation is in progress.

ThrottlingException:

The request throughput limit was exceeded.

ValidationException:

One of the parameters in the request is invalid.

AccessDeniedException:

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

InternalServerErrorException:

An internal error has occurred. Please retry your request.

ServiceQuotaExceededException:

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

Shapes

AccessDeniedException

Description

You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

ActiveDirectoryComputerAttribute

Description

An LDAP attribute of an Active Directory computer account, in the form of a name:value pair.

Members
name
Type: string

The name for the LDAP attribute.

value
Type: string

The value for the LDAP attribute.

ActiveDirectoryConfiguration

Description

The configuration for a Directory Service for Microsoft Active Directory studio resource.

Members
computerAttributes
Type: Array of ActiveDirectoryComputerAttribute structures

A collection of custom attributes for an Active Directory computer.

directoryId
Type: string

The directory ID of the Directory Service for Microsoft Active Directory to access using this studio component.

organizationalUnitDistinguishedName
Type: string

The distinguished name (DN) and organizational unit (OU) of an Active Directory computer.

ComputeFarmConfiguration

Description

The configuration for a render farm that is associated with a studio resource.

Members
activeDirectoryUser
Type: string

The name of an Active Directory user that is used on ComputeFarm worker instances.

endpoint
Type: string

The endpoint of the ComputeFarm that is accessed by the studio component resource.

ConflictException

Description

Another operation is in progress.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

Eula

Description

Represents a EULA resource.

Members
content
Type: string

The EULA content.

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

The ISO timestamp in seconds for when the resource was created.

eulaId
Type: string

The EULA ID.

name
Type: string

The name for the EULA.

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

The ISO timestamp in seconds for when the resource was updated.

EulaAcceptance

Description

The acceptance of a EULA, required to use Amazon-provided streaming images.

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

The ISO timestamp in seconds for when the EULA was accepted.

acceptedBy
Type: string

The ID of the person who accepted the EULA.

accepteeId
Type: string

The ID of the acceptee.

eulaAcceptanceId
Type: string

The EULA acceptance ID.

eulaId
Type: string

The EULA ID.

InternalServerErrorException

Description

An internal error has occurred. Please retry your request.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

LaunchProfile

Description

A launch profile controls your artist workforce’s access to studio components, like compute farms, shared file systems, managed file systems, and license server configurations, as well as instance types and Amazon Machine Images (AMIs).

Studio administrators create launch profiles in the Nimble Studio console. Artists can use their launch profiles to launch an instance from the Nimble Studio portal. Each user’s launch profile defines how they can launch a streaming session. By default, studio admins can use all launch profiles.

Members
arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

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

The ISO timestamp in seconds for when the resource was created.

createdBy
Type: string

The user ID of the user that created the launch profile.

description
Type: string

A human-readable description of the launch profile.

ec2SubnetIds
Type: Array of strings

Unique identifiers for a collection of EC2 subnets.

launchProfileId
Type: string

The ID of the launch profile used to control access from the streaming session.

launchProfileProtocolVersions
Type: Array of strings

The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".

name
Type: string

A friendly name for the launch profile.

state
Type: string

The current state.

statusCode
Type: string

The status code.

statusMessage
Type: string

The status message for the launch profile.

streamConfiguration
Type: StreamConfiguration structure

A configuration for a streaming session.

studioComponentIds
Type: Array of strings

Unique identifiers for a collection of studio components that can be used with this launch profile.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

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

The ISO timestamp in seconds for when the resource was updated.

updatedBy
Type: string

The user ID of the user that most recently updated the resource.

validationResults
Type: Array of ValidationResult structures

The list of the latest validation results.

LaunchProfileInitialization

Description

A launch profile initialization contains information required for a workstation or server to connect to a launch profile.

This includes scripts, endpoints, security groups, subnets, and other configuration.

Members
activeDirectory

A LaunchProfileInitializationActiveDirectory resource.

ec2SecurityGroupIds
Type: Array of strings

The EC2 security groups that control access to the studio component.

launchProfileId
Type: string

The ID of the launch profile used to control access from the streaming session.

launchProfileProtocolVersion
Type: string

The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".

launchPurpose
Type: string

The launch purpose.

name
Type: string

The name for the launch profile.

platform
Type: string

The platform of the launch platform, either Windows or Linux.

systemInitializationScripts
Type: Array of LaunchProfileInitializationScript structures

The system initializtion scripts.

userInitializationScripts
Type: Array of LaunchProfileInitializationScript structures

The user initializtion scripts.

LaunchProfileInitializationActiveDirectory

Description

The launch profile initialization Active Directory contains information required for the launch profile to connect to the Active Directory.

Members
computerAttributes
Type: Array of ActiveDirectoryComputerAttribute structures

A collection of custom attributes for an Active Directory computer.

directoryId
Type: string

The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.

directoryName
Type: string

The directory name.

dnsIpAddresses
Type: Array of strings

The DNS IP address.

organizationalUnitDistinguishedName
Type: string

The name for the organizational unit distinguished name.

studioComponentId
Type: string

The unique identifier for a studio component resource.

studioComponentName
Type: string

The name for the studio component.

LaunchProfileInitializationScript

Description

The launch profile initialization script is used when start streaming session runs.

Members
runtimeRoleArn
Type: string

An IAM role attached to a Studio Component that gives the studio component access to Amazon Web Services resources at anytime while the instance is running.

script
Type: string

The initialization script.

secureInitializationRoleArn
Type: string

An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to Amazon Web Services resources when the system initialization script runs.

studioComponentId
Type: string

The unique identifier for a studio component resource.

studioComponentName
Type: string

The name for the studio component.

LaunchProfileMembership

Description

Studio admins can use launch profile membership to delegate launch profile access to studio users in the Nimble Studio portal without writing or maintaining complex IAM policies. A launch profile member is a user association from your studio identity source who is granted permissions to a launch profile.

A launch profile member (type USER) provides the following permissions to that launch profile:

  • GetLaunchProfile

  • GetLaunchProfileInitialization

  • GetLaunchProfileMembers

  • GetLaunchProfileMember

  • CreateStreamingSession

  • GetLaunchProfileDetails

Members
identityStoreId
Type: string

The ID of the identity store.

persona
Type: string

The persona.

principalId
Type: string

The principal ID.

sid
Type: string

The Active Directory Security Identifier for this user, if available.

LicenseServiceConfiguration

Description

The configuration for a license service that is associated with a studio resource.

Members
endpoint
Type: string

The endpoint of the license service that is accessed by the studio component resource.

NewLaunchProfileMember

Description

A new member that is added to a launch profile.

Members
persona
Required: Yes
Type: string

The persona.

principalId
Required: Yes
Type: string

The principal ID.

NewStudioMember

Description

A new studio user's membership.

Members
persona
Required: Yes
Type: string

The persona.

principalId
Required: Yes
Type: string

The principal ID.

ResourceNotFoundException

Description

The specified resource could not be found.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

ScriptParameterKeyValue

Description

A parameter for a studio component script, in the form of a key-value pair.

Members
key
Type: string

A script parameter key.

value
Type: string

A script parameter value.

ServiceQuotaExceededException

Description

Your current quota does not allow you to perform the request action. You can request increases for some quotas, and other quotas cannot be increased.

Please use Amazon Web Services Service Quotas to request an increase.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

SharedFileSystemConfiguration

Description

The configuration for a shared file storage system that is associated with a studio resource.

Members
endpoint
Type: string

The endpoint of the shared file system that is accessed by the studio component resource.

fileSystemId
Type: string

The unique identifier for a file system.

linuxMountPoint
Type: string

The mount location for a shared file system on a Linux virtual workstation.

shareName
Type: string

The name of the file share.

windowsMountDrive
Type: string

The mount location for a shared file system on a Windows virtual workstation.

StreamConfiguration

Description

A configuration for a streaming session.

Members
automaticTerminationMode
Type: string

Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a STOPPED state.

  • When ACTIVATED, the streaming session is scheduled for termination after being in the STOPPED state for the time specified in maxStoppedSessionLengthInMinutes.

  • When DEACTIVATED, the streaming session can remain in the STOPPED state indefinitely.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED. When allowed, the default value for this parameter is DEACTIVATED.

clipboardMode
Required: Yes
Type: string

Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client.

ec2InstanceTypes
Required: Yes
Type: Array of strings

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

maxSessionLengthInMinutes
Type: int

The length of time, in minutes, that a streaming session can be active before it is stopped or terminated. After this point, Nimble Studio automatically terminates or stops the session. The default length of time is 690 minutes, and the maximum length of time is 30 days.

maxStoppedSessionLengthInMinutes
Type: int

Integer that determines if you can start and stop your sessions and how long a session can stay in the STOPPED state. The default value is 0. The maximum value is 5760.

This field is allowed only when sessionPersistenceMode is ACTIVATED and automaticTerminationMode is ACTIVATED.

If the value is set to 0, your sessions can’t be STOPPED. If you then call StopStreamingSession, the session fails. If the time that a session stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will automatically be terminated (instead of STOPPED).

If the value is set to a positive number, the session can be stopped. You can call StopStreamingSession to stop sessions in the READY state. If the time that a session stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will automatically be stopped (instead of terminated).

sessionBackup

Information about the streaming session backup.

sessionPersistenceMode
Type: string

Determine if a streaming session created from this launch profile can configure persistent storage. This means that volumeConfiguration and automaticTerminationMode are configured.

sessionStorage

The upload storage for a streaming session.

streamingImageIds
Required: Yes
Type: Array of strings

The streaming images that users can select from when launching a streaming session with this launch profile.

volumeConfiguration
Type: VolumeConfiguration structure

Custom volume configuration for the root volumes that are attached to streaming sessions.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED.

StreamConfigurationCreate

Description

Configuration for streaming workstations created using this launch profile.

Members
automaticTerminationMode
Type: string

Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a STOPPED state.

  • When ACTIVATED, the streaming session is scheduled for termination after being in the STOPPED state for the time specified in maxStoppedSessionLengthInMinutes.

  • When DEACTIVATED, the streaming session can remain in the STOPPED state indefinitely.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED. When allowed, the default value for this parameter is DEACTIVATED.

clipboardMode
Required: Yes
Type: string

Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client.

ec2InstanceTypes
Required: Yes
Type: Array of strings

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

maxSessionLengthInMinutes
Type: int

The length of time, in minutes, that a streaming session can be active before it is stopped or terminated. After this point, Nimble Studio automatically terminates or stops the session. The default length of time is 690 minutes, and the maximum length of time is 30 days.

maxStoppedSessionLengthInMinutes
Type: int

Integer that determines if you can start and stop your sessions and how long a session can stay in the STOPPED state. The default value is 0. The maximum value is 5760.

This field is allowed only when sessionPersistenceMode is ACTIVATED and automaticTerminationMode is ACTIVATED.

If the value is set to 0, your sessions can’t be STOPPED. If you then call StopStreamingSession, the session fails. If the time that a session stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will automatically be terminated (instead of STOPPED).

If the value is set to a positive number, the session can be stopped. You can call StopStreamingSession to stop sessions in the READY state. If the time that a session stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will automatically be stopped (instead of terminated).

sessionBackup

Configures how streaming sessions are backed up when launched from this launch profile.

sessionPersistenceMode
Type: string

Determine if a streaming session created from this launch profile can configure persistent storage. This means that volumeConfiguration and automaticTerminationMode are configured.

sessionStorage

The upload storage for a streaming workstation that is created using this launch profile.

streamingImageIds
Required: Yes
Type: Array of strings

The streaming images that users can select from when launching a streaming session with this launch profile.

volumeConfiguration
Type: VolumeConfiguration structure

Custom volume configuration for the root volumes that are attached to streaming sessions.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED.

StreamConfigurationSessionBackup

Description

Configures how streaming sessions are backed up when launched from this launch profile.

Members
maxBackupsToRetain
Type: int

The maximum number of backups that each streaming session created from this launch profile can have.

mode
Type: string

Specifies how artists sessions are backed up.

Configures backups for streaming sessions launched with this launch profile. The default value is DEACTIVATED, which means that backups are deactivated. To allow backups, set this value to AUTOMATIC.

StreamConfigurationSessionStorage

Description

The configuration for a streaming session’s upload storage.

Members
mode
Required: Yes
Type: Array of strings

Allows artists to upload files to their workstations. The only valid option is UPLOAD.

root
Type: StreamingSessionStorageRoot structure

The configuration for the upload storage root of the streaming session.

StreamingImage

Description

Represents a streaming image resource.

Streaming images are used by studio users to select which operating system and software they want to use in a Nimble Studio streaming session.

Amazon provides a number of streaming images that include popular 3rd-party software.

You can create your own streaming images using an Amazon EC2 machine image that you create for this purpose. You can also include software that your users require.

Members
arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

description
Type: string

A human-readable description of the streaming image.

ec2ImageId
Type: string

The ID of an EC2 machine image with which to create the streaming image.

encryptionConfiguration

The encryption configuration.

eulaIds
Type: Array of strings

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

name
Type: string

A friendly name for a streaming image resource.

owner
Type: string

The owner of the streaming image, either the studioId that contains the streaming image, or amazon for images that are provided by Amazon Nimble Studio.

platform
Type: string

The platform of the streaming image, either Windows or Linux.

state
Type: string

The current state.

statusCode
Type: string

The status code.

statusMessage
Type: string

The status message for the streaming image.

streamingImageId
Type: string

The ID of the streaming image.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

StreamingImageEncryptionConfiguration

Description

Specifies how a streaming image is encrypted.

Members
keyArn
Type: string

The ARN for a KMS key that is used to encrypt studio data.

keyType
Required: Yes
Type: string

The type of KMS key that is used to encrypt studio data.

StreamingSession

Description

A streaming session is a virtual workstation created using a particular launch profile.

Members
arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

automaticTerminationMode
Type: string

Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a STOPPED state.

  • When ACTIVATED, the streaming session is scheduled for termination after being in the STOPPED state for the time specified in maxStoppedSessionLengthInMinutes.

  • When DEACTIVATED, the streaming session can remain in the STOPPED state indefinitely.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED. When allowed, the default value for this parameter is DEACTIVATED.

backupMode
Type: string

Shows the current backup setting of the session.

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

The ISO timestamp in seconds for when the resource was created.

createdBy
Type: string

The user ID of the user that created the streaming session.

ec2InstanceType
Type: string

The EC2 Instance type used for the streaming session.

launchProfileId
Type: string

The ID of the launch profile used to control access from the streaming session.

maxBackupsToRetain
Type: int

The maximum number of backups of a streaming session that you can have. When the maximum number of backups is reached, the oldest backup is deleted.

ownedBy
Type: string

The user ID of the user that owns the streaming session. The user that owns the session will be logging into the session and interacting with the virtual workstation.

sessionId
Type: string

The session ID.

sessionPersistenceMode
Type: string

Determine if a streaming session created from this launch profile can configure persistent storage. This means that volumeConfiguration and automaticTerminationMode are configured.

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

The time the session entered START_IN_PROGRESS state.

startedBy
Type: string

The user ID of the user that started the streaming session.

startedFromBackupId
Type: string

The backup ID used to restore a streaming session.

state
Type: string

The current state.

statusCode
Type: string

The status code.

statusMessage
Type: string

The status message for the streaming session.

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

The time the streaming session will automatically be stopped if the user doesn’t stop the session themselves.

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

The time the session entered STOP_IN_PROGRESS state.

stoppedBy
Type: string

The user ID of the user that stopped the streaming session.

streamingImageId
Type: string

The ID of the streaming image.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

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

The time the streaming session will automatically terminate if not terminated by the user.

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

The ISO timestamp in seconds for when the resource was updated.

updatedBy
Type: string

The user ID of the user that most recently updated the resource.

volumeConfiguration
Type: VolumeConfiguration structure

Custom volume configuration for the root volumes that are attached to streaming sessions.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED.

volumeRetentionMode
Type: string

Determine if an EBS volume created from this streaming session will be backed up.

StreamingSessionBackup

Description

Information about the streaming session backup.

Members
arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

backupId
Type: string

The ID of the backup.

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

The ISO timestamp in for when the resource was created.

launchProfileId
Type: string

The ID of the launch profile which allowed the backups for the streaming session.

ownedBy
Type: string

The user ID of the user that owns the streaming session.

sessionId
Type: string

The streaming session ID for the StreamingSessionBackup.

state
Type: string

The streaming session state.

statusCode
Type: string

The status code.

statusMessage
Type: string

The status message for the streaming session backup.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

StreamingSessionStorageRoot

Description

The upload storage root location (folder) on streaming workstations where files are uploaded.

Members
linux
Type: string

The folder path in Linux workstations where files are uploaded.

windows
Type: string

The folder path in Windows workstations where files are uploaded.

StreamingSessionStream

Description

A stream is an active connection to a streaming session, enabling a studio user to control the streaming session using a compatible client. Streaming session streams are compatible with the NICE DCV web client, included in the Nimble Studio portal, or the NICE DCV desktop client.

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

The ISO timestamp in seconds for when the resource was created.

createdBy
Type: string

The user ID of the user that created the streaming session stream.

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

The ISO timestamp in seconds for when the resource expires.

ownedBy
Type: string

The user ID of the user that owns the streaming session. The user that owns the session will be logging into the session and interacting with the virtual workstation.

state
Type: string

The current state.

statusCode
Type: string

The streaming session stream status code.

streamId
Type: string

The stream ID.

url
Type: string

The URL to connect to this stream using the DCV client.

Studio

Description

Represents a studio resource.

A studio is the core resource used with Nimble Studio. You must create a studio first, before any other resource type can be created. All other resources you create and manage in Nimble Studio are contained within a studio.

When creating a studio, you must provides two IAM roles for use with the Nimble Studio portal. These roles are assumed by your users when they log in to the Nimble Studio portal via IAM Identity Center and your identity source.

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

The admin role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

Your studio roles must trust the identity.nimble.amazonaws.com service principal to function properly.

Members
adminRoleArn
Type: string

The IAM role that studio admins assume when logging in to the Nimble Studio portal.

arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

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

The ISO timestamp in seconds for when the resource was created.

displayName
Type: string

A friendly name for the studio.

homeRegion
Type: string

The Amazon Web Services Region where the studio resource is located.

ssoClientId
Type: string

The IAM Identity Center application client ID used to integrate with IAM Identity Center. This ID allows IAM Identity Center users to log in to Nimble Studio portal.

state
Type: string

The current state of the studio resource.

statusCode
Type: string

Status codes that provide additional detail on the studio state.

statusMessage
Type: string

Additional detail on the studio state.

studioEncryptionConfiguration

Configuration of the encryption method that is used for the studio.

studioId
Type: string

The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.

studioName
Type: string

The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.

studioUrl
Type: string

The address of the web page for the studio.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

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

The ISO timestamp in seconds for when the resource was updated.

userRoleArn
Type: string

The IAM role that studio users assume when logging in to the Nimble Studio portal.

StudioComponent

Description

A studio component represents a network resource to be used by a studio's users and workflows. A typical studio contains studio components for each of the following: render farm, Active Directory, licensing, and file system.

Access to a studio component is managed by specifying security groups for the resource, as well as its endpoint.

A studio component also has a set of initialization scripts that are returned by GetLaunchProfileInitialization. These initialization scripts run on streaming sessions when they start. They provide users with flexibility in controlling how the studio resources are configured on a streaming session.

Members
arn
Type: string

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

configuration

The configuration of the studio component, based on component type.

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

The ISO timestamp in seconds for when the resource was created.

createdBy
Type: string

The user ID of the user that created the studio component.

description
Type: string

A human-readable description for the studio component resource.

ec2SecurityGroupIds
Type: Array of strings

The EC2 security groups that control access to the studio component.

initializationScripts
Type: Array of StudioComponentInitializationScript structures

Initialization scripts for studio components.

name
Type: string

A friendly name for the studio component resource.

runtimeRoleArn
Type: string

An IAM role attached to a Studio Component that gives the studio component access to Amazon Web Services resources at anytime while the instance is running.

scriptParameters
Type: Array of ScriptParameterKeyValue structures

Parameters for the studio component scripts.

secureInitializationRoleArn
Type: string

An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to Amazon Web Services resources when the system initialization script runs.

state
Type: string

The current state.

statusCode
Type: string

The status code.

statusMessage
Type: string

The status message for the studio component.

studioComponentId
Type: string

The unique identifier for a studio component resource.

subtype
Type: string

The specific subtype of a studio component.

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

A collection of labels, in the form of key-value pairs, that apply to this resource.

type
Type: string

The type of the studio component.

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

The ISO timestamp in seconds for when the resource was updated.

updatedBy
Type: string

The user ID of the user that most recently updated the resource.

StudioComponentConfiguration

Description

The configuration of the studio component, based on component type.

Members
activeDirectoryConfiguration

The configuration for a Directory Service for Microsoft Active Directory studio resource.

computeFarmConfiguration
Type: ComputeFarmConfiguration structure

The configuration for a render farm that is associated with a studio resource.

licenseServiceConfiguration
Type: LicenseServiceConfiguration structure

The configuration for a license service that is associated with a studio resource.

sharedFileSystemConfiguration

The configuration for a shared file storage system that is associated with a studio resource.

StudioComponentInitializationScript

Description

Initialization scripts for studio components.

Members
launchProfileProtocolVersion
Type: string

The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".

platform
Type: string

The platform of the initialization script, either Windows or Linux.

runContext
Type: string

The method to use when running the initialization script.

script
Type: string

The initialization script.

StudioComponentSummary

Description

The studio component's summary.

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

The ISO timestamp in seconds for when the resource was created.

createdBy
Type: string

The user ID of the user that created the studio component.

description
Type: string

The description.

name
Type: string

The name for the studio component.

studioComponentId
Type: string

The unique identifier for a studio component resource.

subtype
Type: string

The specific subtype of a studio component.

type
Type: string

The type of the studio component.

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

The ISO timestamp in seconds for when the resource was updated.

updatedBy
Type: string

The user ID of the user that most recently updated the resource.

StudioEncryptionConfiguration

Description

Configuration of the encryption method that is used for the studio.

Members
keyArn
Type: string

The ARN for a KMS key that is used to encrypt studio data.

keyType
Required: Yes
Type: string

The type of KMS key that is used to encrypt studio data.

StudioMembership

Description

A studio member is an association of a user from your studio identity source to elevated permissions that they are granted in the studio.

When you add a user to your studio using the Nimble Studio console, they are given access to the studio's IAM Identity Center application and are given access to log in to the Nimble Studio portal. These users have the permissions provided by the studio's user IAM role and do not appear in the studio membership collection. Only studio admins appear in studio membership.

When you add a user to studio membership with the ADMIN persona, upon logging in to the Nimble Studio portal, they are granted permissions specified by the Studio's Admin IAM role.

Members
identityStoreId
Type: string

The ID of the identity store.

persona
Type: string

The persona.

principalId
Type: string

The principal ID.

sid
Type: string

The Active Directory Security Identifier for this user, if available.

ThrottlingException

Description

The request throughput limit was exceeded.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

ValidationException

Description

One of the parameters in the request is invalid.

Members
code
Type: string

A more specific error code.

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

The exception context.

message
Type: string

A human-readable description of the error.

ValidationResult

Description

The launch profile validation result.

Members
state
Required: Yes
Type: string

The current state.

statusCode
Required: Yes
Type: string

The status code. This will contain the failure reason if the state is VALIDATION_FAILED.

statusMessage
Required: Yes
Type: string

The status message for the validation result.

type
Required: Yes
Type: string

The type of the validation result.

VolumeConfiguration

Description

Custom volume configuration for the root volumes that are attached to streaming sessions.

This parameter is only allowed when sessionPersistenceMode is ACTIVATED.

Members
iops
Type: int

The number of I/O operations per second for the root volume that is attached to streaming session.

size
Type: int

The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs.

throughput
Type: int

The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s.