Studios - Amazon Nimble Studio

Studios

Represents the collection of studio resources.

URI

/2020-08-01/studios

HTTP methods

GET

Operation ID: ListStudios

List studios in your AWS account in the requested AWS Region.

Query parameters
Name Type Required Description
nextToken String False

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

Responses
Status code Response model Description
200 ListStudiosOutput

Success

400 ValidationException

One of the parameters in the request is invalid.

402 ServiceQuotaExceededException

This request would cause a service quota to be exceeded. Please use the AWS Service Quotas console to request an increase.

403 AccessDeniedException

You do not have permission to perform this action.

404 ResourceNotFoundException

A requested resource was not found.

409 ConflictException

This request conflicts with another concurrent request. Please retry your request.

429 ThrottlingException

The request was denied due to request throttling. Please retry your request.

500 InternalServerException

A service fault has occurred. Please retry your request and contact AWS Support if this error continues.

POST

Operation ID: 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 AWS KMS key. By default, this key is owned by AWS and managed on your behalf. You may provide your own AWS KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

When providing an AWS 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.

Header parameters
Name Type Required Description
X-Amz-Client-Token String False

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

Responses
Status code Response model Description
200 CreateStudioOutput

Success

400 ValidationException

One of the parameters in the request is invalid.

402 ServiceQuotaExceededException

This request would cause a service quota to be exceeded. Please use the AWS Service Quotas console to request an increase.

403 AccessDeniedException

You do not have permission to perform this action.

404 ResourceNotFoundException

A requested resource was not found.

409 ConflictException

This request conflicts with another concurrent request. Please retry your request.

429 ThrottlingException

The request was denied due to request throttling. Please retry your request.

500 InternalServerException

A service fault has occurred. Please retry your request and contact AWS Support if this error continues.

Schemas

Request bodies

{ "displayName": "string", "userRoleArn": "string", "adminRoleArn": "string", "studioName": "string", "studioEncryptionConfiguration": { "keyArn": "string", "keyType": enum }, "tags": { } }
{ "displayName": "string", "userRoleArn": "string", "adminRoleArn": "string", "studioName": "string", "studioEncryptionConfiguration": { "keyArn": "string", "keyType": enum }, "tags": { } }

Response bodies

{ "studios": [ { "displayName": "string", "userRoleArn": "string", "adminRoleArn": "string", "studioName": "string", "studioEncryptionConfiguration": { "keyArn": "string", "keyType": enum }, "createdAt": "string", "updatedAt": "string", "studioId": "string", "state": enum, "statusCode": enum, "statusMessage": "string", "ssoClientId": "string", "studioUrl": "string", "homeRegion": "string", "arn": "string", "tags": { } } ], "nextToken": "string" }
{ "studio": { "displayName": "string", "userRoleArn": "string", "adminRoleArn": "string", "studioName": "string", "studioEncryptionConfiguration": { "keyArn": "string", "keyType": enum }, "createdAt": "string", "updatedAt": "string", "studioId": "string", "state": enum, "statusCode": enum, "statusMessage": "string", "ssoClientId": "string", "studioUrl": "string", "homeRegion": "string", "arn": "string", "tags": { } } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }
{ "message": "string", "code": "string", "context": { } }

Properties

AccessDeniedException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

ConflictException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

CreateStudioInput

Property Type Required Description
displayName

string

True

A friendly name for the studio.

userRoleArn

string

True

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

adminRoleArn

string

True

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

studioName

string

True

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

studioEncryptionConfiguration

StudioEncryptionConfiguration

False

The studio encryption configuration.

tags

Tags

False

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

CreateStudioOutput

Property Type Required Description
studio

Studio

False

Information about a studio.

ExceptionContext

ExceptionContext is a set of key-value pairs that provide you with more information about the error that occurred. For example, when the service returns a 404 ResourceNotFound error, ExceptionContext will contain the key `resourceId` with the value of resource that was not found.

ExceptionContext enables scripts and other programmatic clients to provide for better error handling.

Property Type Required Description

*

string

False

InternalServerException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

ListStudiosOutput

Property Type Required Description
studios

Array of type Studio

False

A collection of studios.

nextToken

string

False

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

ResourceNotFoundException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

ServiceQuotaExceededException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

Studio

Property Type Required Description
displayName

string

False

A friendly name for the studio.

userRoleArn

string

False

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

adminRoleArn

string

False

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

studioName

string

False

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

studioEncryptionConfiguration

StudioEncryptionConfiguration

False

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

createdAt

string

False

The Unix epoch timestamp in seconds for when the resource was created.

updatedAt

string

False

The Unix epoch timestamp in seconds for when the resource was updated.

studioId

string

False

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

state

StudioState

False

The current state of the studio resource.

statusCode

StudioStatusCode

False

Status codes that provide additional detail on the studio state.

statusMessage

string

False

Additional detail on the studio state.

ssoClientId

string

False

The AWS SSO application client ID used to integrate with AWS SSO to enable AWS SSO users to log in to Nimble portal.

studioUrl

string

False

The address of the web page for the studio.

homeRegion

string

False

The AWS Region where the studio resource is located.

arn

string

False

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

tags

Tags

False

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

StudioEncryptionConfiguration

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

Property Type Required Description
keyArn

string

False

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

keyType

StudioEncryptionConfigurationKeyType

True

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

StudioEncryptionConfigurationKeyType

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

  • AWS_OWNED_KEY

  • CUSTOMER_MANAGED_KEY

StudioState

  • CREATE_IN_PROGRESS

  • READY

  • UPDATE_IN_PROGRESS

  • DELETE_IN_PROGRESS

  • DELETED

  • DELETE_FAILED

  • CREATE_FAILED

  • UPDATE_FAILED

StudioStatusCode

The status code.

  • 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

Tags

Property Type Required Description

*

string

False

ThrottlingException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

ValidationException

Property Type Required Description
message

string

False

A human-readable description of the error.

code

string

False

A more specific error code.

context

ExceptionContext

False

The exception context.

See also

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

ListStudios

CreateStudio