}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
streamingImage (p. 13) The streaming image.
Type: StreamingImage (p. 180) object
Errors
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
HTTP Status Code: 500 ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
See Also
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateStreamingSession
CreateStreamingSession
Creates a streaming session in a studio.
After invoking this operation, you must poll GetStreamingSession until the streaming session is in state READY.
Request Syntax
POST /2020-08-01/studios/studioId/streaming-sessions HTTP/1.1 X-Amz-Client-Token: clientToken
Content-type: application/json { "ec2InstanceType": "string", "launchProfileId": "string", "ownedBy": "string",
"streamingImageId": "string", "tags": {
"string" : "string"
} }
URI Request Parameters
The request uses the following URI parameters.
clientToken (p. 16)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the AWS SDK automatically generates a client token and uses it for the request to ensure idempotency.
Length Constraints: Minimum length of 1. Maximum length of 64.
studioId (p. 16) The studio ID.
Required: Yes
Request Body
The request accepts the following data in JSON format.
ec2InstanceType (p. 16)
The EC2 Instance type used for the streaming session.
Type: String
Valid Values: g4dn.xlarge | g4dn.2xlarge | g4dn.4xlarge | g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge
Required: No launchProfileId (p. 16)
The launch profile ID.
Response Syntax
Type: String Required: No ownedBy (p. 16)
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.
Type: String Required: No
streamingImageId (p. 16)
The ID of the streaming image.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 22.
Pattern: ^[a-zA-Z0-9-_]*$
Required: No tags (p. 16)
A collection of labels, in the form of key:value pairs, that apply to this resource.
Type: String to string map Required: No "ec2InstanceType": "string", "launchProfileId": "string", "ownedBy": "string",
"sessionId": "string", "startedAt": number, "startedBy": "string", "state": "string", "statusCode": "string", "statusMessage": "string", "stopAt": number,
"stoppedAt": number, "stoppedBy": "string", "streamingImageId": "string", "tags": {
Response Elements
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
session (p. 17) The session.
Type: StreamingSession (p. 184) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
HTTP Status Code: 500 ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateStreamingSessionStream
CreateStreamingSessionStream
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 state READY.
Request Syntax
POST /2020-08-01/studios/studioId/streaming-sessions/sessionId/streams HTTP/1.1 X-Amz-Client-Token: clientToken
Content-type: application/json { "expirationInSeconds": number }
URI Request Parameters
The request uses the following URI parameters.
clientToken (p. 20)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the AWS SDK automatically generates a client token and uses it for the request to ensure idempotency.
Length Constraints: Minimum length of 1. Maximum length of 64.
sessionId (p. 20)
The streaming session ID.
Required: Yes studioId (p. 20)
The studio ID.
Required: Yes
Request Body
The request accepts the following data in JSON format.
expirationInSeconds (p. 20) The expiration time in seconds.
Type: Integer
Valid Range: Minimum value of 60. Maximum value of 3600.
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
Content-type: application/json { "stream": {
"createdAt": number, "createdBy": "string", "expiresAt": number, "ownedBy": "string", "state": "string", "statusCode": "string", "streamId": "string", "url": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
stream (p. 20) The stream.
Type: StreamingSessionStream (p. 189) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
HTTP Status Code: 500 ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
See Also
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateStudio
CreateStudio
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.
Request Syntax
POST /2020-08-01/studios HTTP/1.1 X-Amz-Client-Token: clientToken Content-type: application/json { "adminRoleArn": "string", "displayName": "string",
"studioEncryptionConfiguration": { "keyArn": "string",
"keyType": "string"
},
"studioName": "string", "tags": {
"string" : "string"
},
"userRoleArn": "string"
}
URI Request Parameters
The request uses the following URI parameters.
clientToken (p. 23)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the AWS SDK automatically generates a client token and uses it for the request to ensure idempotency.
Length Constraints: Minimum length of 1. Maximum length of 64.
Request Body
Request Body
The request accepts the following data in JSON format.
adminRoleArn (p. 23)
The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.
Type: String Required: Yes displayName (p. 23)
A friendly name for the studio.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Required: Yes
studioEncryptionConfiguration (p. 23) The studio encryption configuration.
Type: StudioEncryptionConfiguration (p. 202) object Required: No
studioName (p. 23)
The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 64.
Pattern: ^[a-z0-9]*$
Required: Yes tags (p. 23)
A collection of labels, in the form of key:value pairs, that apply to this resource.
Type: String to string map Required: No
userRoleArn (p. 23)
The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.
Type: String Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
Content-type: application/json { "studio": {
"adminRoleArn": "string", "arn": "string",
"createdAt": number, "displayName": "string", "homeRegion": "string", "ssoClientId": "string", "state": "string", "statusCode": "string", "statusMessage": "string",
"studioEncryptionConfiguration": { "keyArn": "string",
"keyType": "string"
},
"studioId": "string", "studioName": "string", "studioUrl": "string", "tags": {
"string" : "string"
},
"updatedAt": number, "userRoleArn": "string"
} }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
studio (p. 24)
Information about a studio.
Type: Studio (p. 191) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
HTTP Status Code: 500
See Also
ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateStudioComponent
CreateStudioComponent
Creates a studio component resource.
Request Syntax
POST /2020-08-01/studios/studioId/studio-components HTTP/1.1 X-Amz-Client-Token: clientToken
Content-type: application/json { "configuration": {
"activeDirectoryConfiguration": { "computerAttributes": [
"organizationalUnitDistinguishedName": "string"
},
"computeFarmConfiguration": { "activeDirectoryUser": "string", "endpoint": "string"
},
"licenseServiceConfiguration": { "endpoint": "string"
},
"sharedFileSystemConfiguration": { "endpoint": "string",
"description": "string",
"ec2SecurityGroupIds": [ "string" ], "initializationScripts": [
{
"launchProfileProtocolVersion": "string", "platform": "string",
"runContext": "string", "script": "string"
} ],
"name": "string", "scriptParameters": [ {
"key": "string", "value": "string"
} ],
"subtype": "string", "tags": {
"string" : "string"
},
"type": "string"
}
URI Request Parameters
URI Request Parameters
The request uses the following URI parameters.
clientToken (p. 27)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the AWS SDK automatically generates a client token and uses it for the request to ensure idempotency.
Length Constraints: Minimum length of 1. Maximum length of 64.
studioId (p. 27) The studio ID.
Required: Yes
Request Body
The request accepts the following data in JSON format.
configuration (p. 27)
The configuration of the studio component, based on component type.
Type: StudioComponentConfiguration (p. 198) object Required: No
description (p. 27) The description.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
ec2SecurityGroupIds (p. 27)
The EC2 security groups that control access to the studio component.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 30 items.
Required: No
initializationScripts (p. 27)
Initialization scripts for studio components.
Type: Array of StudioComponentInitializationScript (p. 199) objects Required: No
name (p. 27)
The name for the studio component.
Type: String
Response Syntax
Length Constraints: Minimum length of 0. Maximum length of 64.
Required: Yes scriptParameters (p. 27)
Parameters for the studio component scripts.
Type: Array of ScriptParameterKeyValue (p. 172) objects
Array Members: Minimum number of 0 items. Maximum number of 30 items.
Required: No subtype (p. 27)
The specific subtype of a studio component.
Type: String
Valid Values: AWS_MANAGED_MICROSOFT_AD | AMAZON_FSX_FOR_WINDOWS | AMAZON_FSX_FOR_LUSTRE | CUSTOM
Required: No tags (p. 27)
A collection of labels, in the form of key:value pairs, that apply to this resource.
Type: String to string map Required: No
type (p. 27)
The type of the studio component.
Type: String
Valid Values: ACTIVE_DIRECTORY | SHARED_FILE_SYSTEM | COMPUTE_FARM | LICENSE_SERVICE | CUSTOM
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"studioComponent": { "arn": "string",
"organizationalUnitDistinguishedName": "string"
},
"computeFarmConfiguration": { "activeDirectoryUser": "string",
Response Elements "description": "string",
"ec2SecurityGroupIds": [ "string" ], "initializationScripts": [
{
"launchProfileProtocolVersion": "string", "platform": "string", "statusCode": "string", "statusMessage": "string", "studioComponentId": "string", "subtype": "string",
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
studioComponent (p. 29)
Information about the studio component.
Type: StudioComponent (p. 194) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
See Also
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
HTTP Status Code: 500 ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DeleteLaunchProfile
DeleteLaunchProfile
Permanently delete a launch profile.
Request Syntax
DELETE /2020-08-01/studios/studioId/launch-profiles/launchProfileId HTTP/1.1 X-Amz-Client-Token: clientToken
URI Request Parameters
The request uses the following URI parameters.
clientToken (p. 32)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the AWS SDK automatically generates a client token and uses it for the request to ensure idempotency.
Length Constraints: Minimum length of 1. Maximum length of 64.
launchProfileId (p. 32) The Launch Profile ID.
Required: Yes studioId (p. 32)
The studio ID.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "launchProfile": {
"arn": "string", "createdAt": number, "createdBy": "string", "description": "string", "ec2SubnetIds": [ "string" ], "launchProfileId": "string",
"launchProfileProtocolVersions": [ "string" ], "name": "string",
"state": "string", "statusCode": "string", "statusMessage": "string", "streamConfiguration": {
Response Elements
"clipboardMode": "string",
"ec2InstanceTypes": [ "string" ], "maxSessionLengthInMinutes": number, "maxStoppedSessionLengthInMinutes": number, "sessionStorage": {
"studioComponentIds": [ "string" ], "tags": {
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
launchProfile (p. 32) The launch profile.
Type: LaunchProfile (p. 159) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 208).
AccessDeniedException
You are not authorized to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.
HTTP Status Code: 403 ConflictException
Another operation is in progress.
HTTP Status Code: 409 InternalServerErrorException
An internal error has occurred. Please retry your request.
See Also
HTTP Status Code: 500 ResourceNotFoundException
The specified resource could not be found.
HTTP Status Code: 404 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 AWS Service Quotas to request an increase.
HTTP Status Code: 402 ThrottlingException
The request throughput limit was exceeded.
HTTP Status Code: 429 ValidationException
One of the parameters in the request is invalid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3