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 AWS 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
-
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
The request accepts the following data in JSON format.
- adminRoleArn
-
The IAM role that studio admins will assume when logging in to the Nimble Studio portal.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Required: No
- displayName
-
A friendly name for the studio.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Required: Yes
- studioEncryptionConfiguration
-
The studio encryption configuration.
Type: StudioEncryptionConfiguration object
Required: No
- studioName
-
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
-
A collection of labels, in the form of key-value pairs, that apply to this resource.
Type: String to string map
Required: No
- userRoleArn
-
The IAM role that studio users will assume when logging in to the Nimble Studio portal.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"studio": {
"adminRoleArn": "string",
"arn": "string",
"createdAt": "string",
"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": "string",
"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.
Errors
For information about the errors that are common to all actions, see Common Errors.
- 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: