create_studio

create_studio(**kwargs)

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.

See also: AWS API Documentation

Request Syntax

response = client.create_studio(
    adminRoleArn='string',
    clientToken='string',
    displayName='string',
    studioEncryptionConfiguration={
        'keyArn': 'string',
        'keyType': 'AWS_OWNED_KEY'|'CUSTOMER_MANAGED_KEY'
    },
    studioName='string',
    tags={
        'string': 'string'
    },
    userRoleArn='string'
)
Parameters
  • adminRoleArn (string) --

    [REQUIRED]

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

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

    This field is autopopulated if not provided.

  • displayName (string) --

    [REQUIRED]

    A friendly name for the studio.

  • studioEncryptionConfiguration (dict) --

    The studio encryption configuration.

    • keyArn (string) --

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

    • keyType (string) -- [REQUIRED]

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

  • studioName (string) --

    [REQUIRED]

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

  • tags (dict) --

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

    • (string) --
      • (string) --
  • userRoleArn (string) --

    [REQUIRED]

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

Return type

dict

Returns

Response Syntax

{
    'studio': {
        'adminRoleArn': 'string',
        'arn': 'string',
        'createdAt': datetime(2015, 1, 1),
        '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': 'string'
        },
        'updatedAt': datetime(2015, 1, 1),
        'userRoleArn': 'string'
    }
}

Response Structure

  • (dict) --

    • studio (dict) --

      Information about a studio.

      • adminRoleArn (string) --

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

      • arn (string) --

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

      • createdAt (datetime) --

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

      • displayName (string) --

        A friendly name for the studio.

      • homeRegion (string) --

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

      • ssoClientId (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 (string) --

        The current state of the studio resource.

      • statusCode (string) --

        Status codes that provide additional detail on the studio state.

      • statusMessage (string) --

        Additional detail on the studio state.

      • studioEncryptionConfiguration (dict) --

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

        • keyArn (string) --

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

        • keyType (string) --

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

      • studioId (string) --

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

      • studioName (string) --

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

      • studioUrl (string) --

        The address of the web page for the studio.

      • tags (dict) --

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

        • (string) --
          • (string) --
      • updatedAt (datetime) --

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

      • userRoleArn (string) --

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

Exceptions

  • NimbleStudio.Client.exceptions.ResourceNotFoundException
  • NimbleStudio.Client.exceptions.ConflictException
  • NimbleStudio.Client.exceptions.ThrottlingException
  • NimbleStudio.Client.exceptions.ValidationException
  • NimbleStudio.Client.exceptions.AccessDeniedException
  • NimbleStudio.Client.exceptions.InternalServerErrorException
  • NimbleStudio.Client.exceptions.ServiceQuotaExceededException