{"files":{"SKILL.md":"---\nname: amazonnimblestudio\ndescription: \"AmazonNimbleStudio API skill. Use when working with AmazonNimbleStudio for 2020-08-01. Covers 49 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AmazonNimbleStudio\nAPI version: 2020-08-01\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /2020-08-01/eulas -- list eulas.\n3. POST /2020-08-01/studios/{studioId}/eula-acceptances -- create first eula-acceptance\n\n## Endpoints\n49 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### 2020-08-01\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /2020-08-01/studios/{studioId}/eula-acceptances | Accept EULAs. |\n| POST | /2020-08-01/studios/{studioId}/launch-profiles | Create a launch profile. |\n| POST | /2020-08-01/studios/{studioId}/streaming-images | Creates a streaming image resource in a studio. |\n| POST | /2020-08-01/studios/{studioId}/streaming-sessions | Creates a streaming session in a studio. After invoking this operation, you must poll GetStreamingSession until the streaming session is in the READY state. |\n| POST | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams | 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. |\n| POST | /2020-08-01/studios | 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. |\n| POST | /2020-08-01/studios/{studioId}/studio-components | Creates a studio component resource. |\n| DELETE | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId} | Permanently delete a launch profile. |\n| DELETE | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId} | Delete a user from launch profile membership. |\n| DELETE | /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId} | Delete streaming image. |\n| DELETE | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId} | 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. |\n| DELETE | /2020-08-01/studios/{studioId} | Delete a studio resource. |\n| DELETE | /2020-08-01/studios/{studioId}/studio-components/{studioComponentId} | Deletes a studio component resource. |\n| DELETE | /2020-08-01/studios/{studioId}/membership/{principalId} | Delete a user from studio membership. |\n| GET | /2020-08-01/eulas/{eulaId} | Get EULA. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId} | Get a launch profile. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details | 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. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init | Get a launch profile initialization. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId} | Get a user persona in launch profile membership. |\n| GET | /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId} | Get streaming image. |\n| GET | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId} | Gets StreamingSession resource. Invoke this operation to poll for a streaming session state while creating or deleting a session. |\n| GET | /2020-08-01/studios/{studioId}/streaming-session-backups/{backupId} | Gets StreamingSessionBackup resource. Invoke this operation to poll for a streaming session backup while stopping a streaming session. |\n| GET | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId} | 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. |\n| GET | /2020-08-01/studios/{studioId} | Get a studio resource. |\n| GET | /2020-08-01/studios/{studioId}/studio-components/{studioComponentId} | Gets a studio component resource. |\n| GET | /2020-08-01/studios/{studioId}/membership/{principalId} | Get a user's membership in a studio. |\n| GET | /2020-08-01/studios/{studioId}/eula-acceptances | List EULA acceptances. |\n| GET | /2020-08-01/eulas | List EULAs. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership | Get all users in a given launch profile membership. |\n| GET | /2020-08-01/studios/{studioId}/launch-profiles | List all the launch profiles a studio. |\n| GET | /2020-08-01/studios/{studioId}/streaming-images | 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. |\n| GET | /2020-08-01/studios/{studioId}/streaming-session-backups | Lists the backups of a streaming session in a studio. |\n| GET | /2020-08-01/studios/{studioId}/streaming-sessions | Lists the streaming sessions in a studio. |\n| GET | /2020-08-01/studios/{studioId}/studio-components | Lists the StudioComponents in a studio. |\n| GET | /2020-08-01/studios/{studioId}/membership | Get all users in a given studio membership.   ListStudioMembers only returns admin members. |\n| GET | /2020-08-01/studios | List studios in your Amazon Web Services accounts in the requested Amazon Web Services Region. |\n| GET | /2020-08-01/tags/{resourceArn} | 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. |\n| POST | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership | Add/update users with given persona to launch profile membership. |\n| POST | /2020-08-01/studios/{studioId}/membership | Add/update users with given persona to studio membership. |\n| POST | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/start | 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. |\n| PUT | /2020-08-01/studios/{studioId}/sso-configuration | 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. |\n| POST | /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/stop | 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. |\n| POST | /2020-08-01/tags/{resourceArn} | Creates tags for a resource, given its ARN. |\n| DELETE | /2020-08-01/tags/{resourceArn} | Deletes the tags for a resource. |\n| PATCH | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId} | Update a launch profile. |\n| PATCH | /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId} | Update a user persona in launch profile membership. |\n| PATCH | /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId} | Update streaming image. |\n| PATCH | /2020-08-01/studios/{studioId} | Update a Studio resource. Currently, this operation only supports updating the displayName of your studio. |\n| PATCH | /2020-08-01/studios/{studioId}/studio-components/{studioComponentId} | Updates a studio component resource. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a eula-acceptance?\" -> POST /2020-08-01/studios/{studioId}/eula-acceptances\n- \"Create a launch-profile?\" -> POST /2020-08-01/studios/{studioId}/launch-profiles\n- \"Create a streaming-image?\" -> POST /2020-08-01/studios/{studioId}/streaming-images\n- \"Create a streaming-session?\" -> POST /2020-08-01/studios/{studioId}/streaming-sessions\n- \"Create a stream?\" -> POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams\n- \"Create a studio?\" -> POST /2020-08-01/studios\n- \"Create a studio-component?\" -> POST /2020-08-01/studios/{studioId}/studio-components\n- \"Delete a launch-profile?\" -> DELETE /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n- \"Delete a membership?\" -> DELETE /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n- \"Delete a streaming-image?\" -> DELETE /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n- \"Delete a streaming-session?\" -> DELETE /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}\n- \"Delete a studio?\" -> DELETE /2020-08-01/studios/{studioId}\n- \"Delete a studio-component?\" -> DELETE /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n- \"Get eula details?\" -> GET /2020-08-01/eulas/{eulaId}\n- \"Get launch-profile details?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n- \"List all details?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details\n- \"List all init?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init\n- \"Get membership details?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n- \"Get streaming-image details?\" -> GET /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n- \"Get streaming-session details?\" -> GET /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}\n- \"Get streaming-session-backup details?\" -> GET /2020-08-01/studios/{studioId}/streaming-session-backups/{backupId}\n- \"Get stream details?\" -> GET /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId}\n- \"Get studio details?\" -> GET /2020-08-01/studios/{studioId}\n- \"Get studio-component details?\" -> GET /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n- \"List all eula-acceptances?\" -> GET /2020-08-01/studios/{studioId}/eula-acceptances\n- \"List all eulas?\" -> GET /2020-08-01/eulas\n- \"List all membership?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership\n- \"List all launch-profiles?\" -> GET /2020-08-01/studios/{studioId}/launch-profiles\n- \"List all streaming-images?\" -> GET /2020-08-01/studios/{studioId}/streaming-images\n- \"List all streaming-session-backups?\" -> GET /2020-08-01/studios/{studioId}/streaming-session-backups\n- \"List all streaming-sessions?\" -> GET /2020-08-01/studios/{studioId}/streaming-sessions\n- \"List all studio-components?\" -> GET /2020-08-01/studios/{studioId}/studio-components\n- \"List all studios?\" -> GET /2020-08-01/studios\n- \"Get tag details?\" -> GET /2020-08-01/tags/{resourceArn}\n- \"Create a membership?\" -> POST /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership\n- \"Create a start?\" -> POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/start\n- \"Create a stop?\" -> POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/stop\n- \"Delete a tag?\" -> DELETE /2020-08-01/tags/{resourceArn}\n- \"Partially update a launch-profile?\" -> PATCH /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n- \"Partially update a membership?\" -> PATCH /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n- \"Partially update a streaming-image?\" -> PATCH /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n- \"Partially update a studio?\" -> PATCH /2020-08-01/studios/{studioId}\n- \"Partially update a studio-component?\" -> PATCH /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AmazonNimbleStudio\n@version 2020-08-01\n@auth AWS SigV4\n@endpoints 49\n@hint download_for_search\n@toc 2020-08-01(49)\n\n@endpoint POST /2020-08-01/studios/{studioId}/eula-acceptances\n@desc Accept EULAs.\n@required {studioId: str}\n@optional {X-Amz-Client-Token: str, eulaIds: [str]}\n@returns(200) {eulaAcceptances: [EulaAcceptance]?}\n\n@endpoint POST /2020-08-01/studios/{studioId}/launch-profiles\n@desc Create a launch profile.\n@required {studioId: str, ec2SubnetIds: [str], launchProfileProtocolVersions: [str], name: str, streamConfiguration: StreamConfigurationCreate, studioComponentIds: [str]}\n@optional {X-Amz-Client-Token: str, description: str, tags: map<str,str>}\n@returns(200) {launchProfile: LaunchProfile?{arn: str?, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SubnetIds: [str]?, launchProfileId: str?, launchProfileProtocolVersions: [str]?, name: str?, state: str?, statusCode: str?, statusMessage: str?, streamConfiguration: StreamConfiguration?{automaticTerminationMode: str?, clipboardMode: str, ec2InstanceTypes: [str], maxSessionLengthInMinutes: int?, maxStoppedSessionLengthInMinutes: int?, sessionBackup: StreamConfigurationSessionBackup?{maxBackupsToRetain: int?, mode: str?}, sessionPersistenceMode: str?, sessionStorage: StreamConfigurationSessionStorage?{mode: [str], root: StreamingSessionStorageRoot?}, streamingImageIds: [str], volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}}, studioComponentIds: [str]?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, updatedBy: str?, validationResults: [ValidationResult]?}}\n\n@endpoint POST /2020-08-01/studios/{studioId}/streaming-images\n@desc Creates a streaming image resource in a studio.\n@required {studioId: str, ec2ImageId: str, name: str}\n@optional {X-Amz-Client-Token: str, description: str, tags: map<str,str>}\n@returns(200) {streamingImage: StreamingImage?{arn: str?, description: str?, ec2ImageId: str?, encryptionConfiguration: StreamingImageEncryptionConfiguration?{keyArn: str?, keyType: str}, eulaIds: [str]?, name: str?, owner: str?, platform: str?, state: str?, statusCode: str?, statusMessage: str?, streamingImageId: str?, tags: map<str, str>?: any}}\n\n@endpoint POST /2020-08-01/studios/{studioId}/streaming-sessions\n@desc Creates a streaming session in a studio. After invoking this operation, you must poll GetStreamingSession until the streaming session is in the READY state.\n@required {studioId: str, launchProfileId: str}\n@optional {X-Amz-Client-Token: str, ec2InstanceType: str, ownedBy: str, streamingImageId: str, tags: map<str,str>}\n@returns(200) {session: StreamingSession?{arn: str?, automaticTerminationMode: str?, backupMode: str?, createdAt: str(timestamp)?, createdBy: str?, ec2InstanceType: str?, launchProfileId: str?, maxBackupsToRetain: int?, ownedBy: str?, sessionId: str?, sessionPersistenceMode: str?, startedAt: str(timestamp)?, startedBy: str?, startedFromBackupId: str?, state: str?, statusCode: str?, statusMessage: str?, stopAt: str(timestamp)?, stoppedAt: str(timestamp)?, stoppedBy: str?, streamingImageId: str?, tags: map<str, str>?: any, terminateAt: str(timestamp)?, updatedAt: str(timestamp)?, updatedBy: str?, volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}, volumeRetentionMode: str?}}\n\n@endpoint POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams\n@desc 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.\n@required {sessionId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, expirationInSeconds: int}\n@returns(200) {stream: StreamingSessionStream?{createdAt: str(timestamp)?, createdBy: str?, expiresAt: str(timestamp)?, ownedBy: str?, state: str?, statusCode: str?, streamId: str?, url: str?}}\n\n@endpoint POST /2020-08-01/studios\n@desc 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.\n@required {adminRoleArn: str, displayName: str, studioName: str, userRoleArn: str}\n@optional {X-Amz-Client-Token: str, studioEncryptionConfiguration: StudioEncryptionConfiguration, tags: map<str,str>}\n@returns(200) {studio: Studio?{adminRoleArn: str?, arn: str?, createdAt: str(timestamp)?, displayName: str?, homeRegion: str?, ssoClientId: str?, state: str?, statusCode: str?, statusMessage: str?, studioEncryptionConfiguration: StudioEncryptionConfiguration?{keyArn: str?, keyType: str}, studioId: str?, studioName: str?, studioUrl: str?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, userRoleArn: str?}}\n\n@endpoint POST /2020-08-01/studios/{studioId}/studio-components\n@desc Creates a studio component resource.\n@required {studioId: str, name: str, type: str}\n@optional {X-Amz-Client-Token: str, configuration: StudioComponentConfiguration, description: str, ec2SecurityGroupIds: [str], initializationScripts: [StudioComponentInitializationScript], runtimeRoleArn: str, scriptParameters: [ScriptParameterKeyValue], secureInitializationRoleArn: str, subtype: str, tags: map<str,str>}\n@returns(200) {studioComponent: StudioComponent?{arn: str?, configuration: StudioComponentConfiguration?{activeDirectoryConfiguration: ActiveDirectoryConfiguration?{computerAttributes: [ActiveDirectoryComputerAttribute]?, directoryId: str?, organizationalUnitDistinguishedName: str?}, computeFarmConfiguration: ComputeFarmConfiguration?{activeDirectoryUser: str?, endpoint: str?}, licenseServiceConfiguration: LicenseServiceConfiguration?{endpoint: str?}, sharedFileSystemConfiguration: SharedFileSystemConfiguration?{endpoint: str?, fileSystemId: str?, linuxMountPoint: str?, shareName: str?, windowsMountDrive: str?}}, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SecurityGroupIds: [str]?, initializationScripts: [StudioComponentInitializationScript]?, name: str?, runtimeRoleArn: str?, scriptParameters: [ScriptParameterKeyValue]?, secureInitializationRoleArn: str?, state: str?, statusCode: str?, statusMessage: str?, studioComponentId: str?, subtype: str?, tags: map<str, str>?: any, type: str?, updatedAt: str(timestamp)?, updatedBy: str?}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n@desc Permanently delete a launch profile.\n@required {launchProfileId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {launchProfile: LaunchProfile?{arn: str?, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SubnetIds: [str]?, launchProfileId: str?, launchProfileProtocolVersions: [str]?, name: str?, state: str?, statusCode: str?, statusMessage: str?, streamConfiguration: StreamConfiguration?{automaticTerminationMode: str?, clipboardMode: str, ec2InstanceTypes: [str], maxSessionLengthInMinutes: int?, maxStoppedSessionLengthInMinutes: int?, sessionBackup: StreamConfigurationSessionBackup?{maxBackupsToRetain: int?, mode: str?}, sessionPersistenceMode: str?, sessionStorage: StreamConfigurationSessionStorage?{mode: [str], root: StreamingSessionStorageRoot?}, streamingImageIds: [str], volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}}, studioComponentIds: [str]?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, updatedBy: str?, validationResults: [ValidationResult]?}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n@desc Delete a user from launch profile membership.\n@required {launchProfileId: str, principalId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n@desc Delete streaming image.\n@required {streamingImageId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {streamingImage: StreamingImage?{arn: str?, description: str?, ec2ImageId: str?, encryptionConfiguration: StreamingImageEncryptionConfiguration?{keyArn: str?, keyType: str}, eulaIds: [str]?, name: str?, owner: str?, platform: str?, state: str?, statusCode: str?, statusMessage: str?, streamingImageId: str?, tags: map<str, str>?: any}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}\n@desc 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.\n@required {sessionId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {session: StreamingSession?{arn: str?, automaticTerminationMode: str?, backupMode: str?, createdAt: str(timestamp)?, createdBy: str?, ec2InstanceType: str?, launchProfileId: str?, maxBackupsToRetain: int?, ownedBy: str?, sessionId: str?, sessionPersistenceMode: str?, startedAt: str(timestamp)?, startedBy: str?, startedFromBackupId: str?, state: str?, statusCode: str?, statusMessage: str?, stopAt: str(timestamp)?, stoppedAt: str(timestamp)?, stoppedBy: str?, streamingImageId: str?, tags: map<str, str>?: any, terminateAt: str(timestamp)?, updatedAt: str(timestamp)?, updatedBy: str?, volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}, volumeRetentionMode: str?}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}\n@desc Delete a studio resource.\n@required {studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {studio: Studio{adminRoleArn: str?, arn: str?, createdAt: str(timestamp)?, displayName: str?, homeRegion: str?, ssoClientId: str?, state: str?, statusCode: str?, statusMessage: str?, studioEncryptionConfiguration: StudioEncryptionConfiguration?{keyArn: str?, keyType: str}, studioId: str?, studioName: str?, studioUrl: str?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, userRoleArn: str?}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n@desc Deletes a studio component resource.\n@required {studioComponentId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {studioComponent: StudioComponent?{arn: str?, configuration: StudioComponentConfiguration?{activeDirectoryConfiguration: ActiveDirectoryConfiguration?{computerAttributes: [ActiveDirectoryComputerAttribute]?, directoryId: str?, organizationalUnitDistinguishedName: str?}, computeFarmConfiguration: ComputeFarmConfiguration?{activeDirectoryUser: str?, endpoint: str?}, licenseServiceConfiguration: LicenseServiceConfiguration?{endpoint: str?}, sharedFileSystemConfiguration: SharedFileSystemConfiguration?{endpoint: str?, fileSystemId: str?, linuxMountPoint: str?, shareName: str?, windowsMountDrive: str?}}, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SecurityGroupIds: [str]?, initializationScripts: [StudioComponentInitializationScript]?, name: str?, runtimeRoleArn: str?, scriptParameters: [ScriptParameterKeyValue]?, secureInitializationRoleArn: str?, state: str?, statusCode: str?, statusMessage: str?, studioComponentId: str?, subtype: str?, tags: map<str, str>?: any, type: str?, updatedAt: str(timestamp)?, updatedBy: str?}}\n\n@endpoint DELETE /2020-08-01/studios/{studioId}/membership/{principalId}\n@desc Delete a user from studio membership.\n@required {principalId: str, studioId: str}\n@optional {X-Amz-Client-Token: str}\n\n@endpoint GET /2020-08-01/eulas/{eulaId}\n@desc Get EULA.\n@required {eulaId: str}\n@returns(200) {eula: Eula?{content: str?, createdAt: str(timestamp)?, eulaId: str?, name: str?, updatedAt: str(timestamp)?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n@desc Get a launch profile.\n@required {launchProfileId: str, studioId: str}\n@returns(200) {launchProfile: LaunchProfile?{arn: str?, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SubnetIds: [str]?, launchProfileId: str?, launchProfileProtocolVersions: [str]?, name: str?, state: str?, statusCode: str?, statusMessage: str?, streamConfiguration: StreamConfiguration?{automaticTerminationMode: str?, clipboardMode: str, ec2InstanceTypes: [str], maxSessionLengthInMinutes: int?, maxStoppedSessionLengthInMinutes: int?, sessionBackup: StreamConfigurationSessionBackup?{maxBackupsToRetain: int?, mode: str?}, sessionPersistenceMode: str?, sessionStorage: StreamConfigurationSessionStorage?{mode: [str], root: StreamingSessionStorageRoot?}, streamingImageIds: [str], volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}}, studioComponentIds: [str]?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, updatedBy: str?, validationResults: [ValidationResult]?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details\n@desc 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.\n@required {launchProfileId: str, studioId: str}\n@returns(200) {launchProfile: LaunchProfile?{arn: str?, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SubnetIds: [str]?, launchProfileId: str?, launchProfileProtocolVersions: [str]?, name: str?, state: str?, statusCode: str?, statusMessage: str?, streamConfiguration: StreamConfiguration?{automaticTerminationMode: str?, clipboardMode: str, ec2InstanceTypes: [str], maxSessionLengthInMinutes: int?, maxStoppedSessionLengthInMinutes: int?, sessionBackup: StreamConfigurationSessionBackup?{maxBackupsToRetain: int?, mode: str?}, sessionPersistenceMode: str?, sessionStorage: StreamConfigurationSessionStorage?{mode: [str], root: StreamingSessionStorageRoot?}, streamingImageIds: [str], volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}}, studioComponentIds: [str]?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, updatedBy: str?, validationResults: [ValidationResult]?}, streamingImages: [StreamingImage]?, studioComponentSummaries: [StudioComponentSummary]?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init\n@desc Get a launch profile initialization.\n@required {launchProfileId: str, launchProfileProtocolVersions: [str], launchPurpose: str, platform: str, studioId: str}\n@returns(200) {launchProfileInitialization: LaunchProfileInitialization?{activeDirectory: LaunchProfileInitializationActiveDirectory?{computerAttributes: [ActiveDirectoryComputerAttribute]?, directoryId: str?, directoryName: str?, dnsIpAddresses: [str]?, organizationalUnitDistinguishedName: str?, studioComponentId: str?, studioComponentName: str?}, ec2SecurityGroupIds: [str]?, launchProfileId: str?, launchProfileProtocolVersion: str?, launchPurpose: str?, name: str?, platform: str?, systemInitializationScripts: [LaunchProfileInitializationScript]?, userInitializationScripts: [LaunchProfileInitializationScript]?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n@desc Get a user persona in launch profile membership.\n@required {launchProfileId: str, principalId: str, studioId: str}\n@returns(200) {member: LaunchProfileMembership?{identityStoreId: str?, persona: str?, principalId: str?, sid: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n@desc Get streaming image.\n@required {streamingImageId: str, studioId: str}\n@returns(200) {streamingImage: StreamingImage?{arn: str?, description: str?, ec2ImageId: str?, encryptionConfiguration: StreamingImageEncryptionConfiguration?{keyArn: str?, keyType: str}, eulaIds: [str]?, name: str?, owner: str?, platform: str?, state: str?, statusCode: str?, statusMessage: str?, streamingImageId: str?, tags: map<str, str>?: any}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}\n@desc Gets StreamingSession resource. Invoke this operation to poll for a streaming session state while creating or deleting a session.\n@required {sessionId: str, studioId: str}\n@returns(200) {session: StreamingSession?{arn: str?, automaticTerminationMode: str?, backupMode: str?, createdAt: str(timestamp)?, createdBy: str?, ec2InstanceType: str?, launchProfileId: str?, maxBackupsToRetain: int?, ownedBy: str?, sessionId: str?, sessionPersistenceMode: str?, startedAt: str(timestamp)?, startedBy: str?, startedFromBackupId: str?, state: str?, statusCode: str?, statusMessage: str?, stopAt: str(timestamp)?, stoppedAt: str(timestamp)?, stoppedBy: str?, streamingImageId: str?, tags: map<str, str>?: any, terminateAt: str(timestamp)?, updatedAt: str(timestamp)?, updatedBy: str?, volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}, volumeRetentionMode: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-session-backups/{backupId}\n@desc Gets StreamingSessionBackup resource. Invoke this operation to poll for a streaming session backup while stopping a streaming session.\n@required {backupId: str, studioId: str}\n@returns(200) {streamingSessionBackup: StreamingSessionBackup?{arn: str?, backupId: str?, createdAt: str(timestamp)?, launchProfileId: str?, ownedBy: str?, sessionId: str?, state: str?, statusCode: str?, statusMessage: str?, tags: map<str, str>?: any}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId}\n@desc 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.\n@required {sessionId: str, streamId: str, studioId: str}\n@returns(200) {stream: StreamingSessionStream?{createdAt: str(timestamp)?, createdBy: str?, expiresAt: str(timestamp)?, ownedBy: str?, state: str?, statusCode: str?, streamId: str?, url: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}\n@desc Get a studio resource.\n@required {studioId: str}\n@returns(200) {studio: Studio{adminRoleArn: str?, arn: str?, createdAt: str(timestamp)?, displayName: str?, homeRegion: str?, ssoClientId: str?, state: str?, statusCode: str?, statusMessage: str?, studioEncryptionConfiguration: StudioEncryptionConfiguration?{keyArn: str?, keyType: str}, studioId: str?, studioName: str?, studioUrl: str?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, userRoleArn: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n@desc Gets a studio component resource.\n@required {studioComponentId: str, studioId: str}\n@returns(200) {studioComponent: StudioComponent?{arn: str?, configuration: StudioComponentConfiguration?{activeDirectoryConfiguration: ActiveDirectoryConfiguration?{computerAttributes: [ActiveDirectoryComputerAttribute]?, directoryId: str?, organizationalUnitDistinguishedName: str?}, computeFarmConfiguration: ComputeFarmConfiguration?{activeDirectoryUser: str?, endpoint: str?}, licenseServiceConfiguration: LicenseServiceConfiguration?{endpoint: str?}, sharedFileSystemConfiguration: SharedFileSystemConfiguration?{endpoint: str?, fileSystemId: str?, linuxMountPoint: str?, shareName: str?, windowsMountDrive: str?}}, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SecurityGroupIds: [str]?, initializationScripts: [StudioComponentInitializationScript]?, name: str?, runtimeRoleArn: str?, scriptParameters: [ScriptParameterKeyValue]?, secureInitializationRoleArn: str?, state: str?, statusCode: str?, statusMessage: str?, studioComponentId: str?, subtype: str?, tags: map<str, str>?: any, type: str?, updatedAt: str(timestamp)?, updatedBy: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/membership/{principalId}\n@desc Get a user's membership in a studio.\n@required {principalId: str, studioId: str}\n@returns(200) {member: StudioMembership?{identityStoreId: str?, persona: str?, principalId: str?, sid: str?}}\n\n@endpoint GET /2020-08-01/studios/{studioId}/eula-acceptances\n@desc List EULA acceptances.\n@required {studioId: str}\n@optional {eulaIds: [str], nextToken: str}\n@returns(200) {eulaAcceptances: [EulaAcceptance]?, nextToken: str?}\n\n@endpoint GET /2020-08-01/eulas\n@desc List EULAs.\n@optional {eulaIds: [str], nextToken: str}\n@returns(200) {eulas: [Eula]?, nextToken: str?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership\n@desc Get all users in a given launch profile membership.\n@required {launchProfileId: str, studioId: str}\n@optional {maxResults: int, nextToken: str}\n@returns(200) {members: [LaunchProfileMembership]?, nextToken: str?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/launch-profiles\n@desc List all the launch profiles a studio.\n@required {studioId: str}\n@optional {maxResults: int, nextToken: str, principalId: str, states: [str]}\n@returns(200) {launchProfiles: [LaunchProfile]?, nextToken: str?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-images\n@desc 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.\n@required {studioId: str}\n@optional {nextToken: str, owner: str}\n@returns(200) {nextToken: str?, streamingImages: [StreamingImage]?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-session-backups\n@desc Lists the backups of a streaming session in a studio.\n@required {studioId: str}\n@optional {nextToken: str, ownedBy: str}\n@returns(200) {nextToken: str?, streamingSessionBackups: [StreamingSessionBackup]?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/streaming-sessions\n@desc Lists the streaming sessions in a studio.\n@required {studioId: str}\n@optional {createdBy: str, nextToken: str, ownedBy: str, sessionIds: str}\n@returns(200) {nextToken: str?, sessions: [StreamingSession]?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/studio-components\n@desc Lists the StudioComponents in a studio.\n@required {studioId: str}\n@optional {maxResults: int, nextToken: str, states: [str], types: [str]}\n@returns(200) {nextToken: str?, studioComponents: [StudioComponent]?}\n\n@endpoint GET /2020-08-01/studios/{studioId}/membership\n@desc Get all users in a given studio membership.   ListStudioMembers only returns admin members.\n@required {studioId: str}\n@optional {maxResults: int, nextToken: str}\n@returns(200) {members: [StudioMembership]?, nextToken: str?}\n\n@endpoint GET /2020-08-01/studios\n@desc List studios in your Amazon Web Services accounts in the requested Amazon Web Services Region.\n@optional {nextToken: str}\n@returns(200) {nextToken: str?, studios: [Studio]}\n\n@endpoint GET /2020-08-01/tags/{resourceArn}\n@desc 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.\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endpoint POST /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership\n@desc Add/update users with given persona to launch profile membership.\n@required {launchProfileId: str, studioId: str, identityStoreId: str, members: [NewLaunchProfileMember]}\n@optional {X-Amz-Client-Token: str}\n\n@endpoint POST /2020-08-01/studios/{studioId}/membership\n@desc Add/update users with given persona to studio membership.\n@required {studioId: str, identityStoreId: str, members: [NewStudioMember]}\n@optional {X-Amz-Client-Token: str}\n\n@endpoint POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/start\n@desc 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.\n@required {sessionId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, backupId: str}\n@returns(200) {session: StreamingSession?{arn: str?, automaticTerminationMode: str?, backupMode: str?, createdAt: str(timestamp)?, createdBy: str?, ec2InstanceType: str?, launchProfileId: str?, maxBackupsToRetain: int?, ownedBy: str?, sessionId: str?, sessionPersistenceMode: str?, startedAt: str(timestamp)?, startedBy: str?, startedFromBackupId: str?, state: str?, statusCode: str?, statusMessage: str?, stopAt: str(timestamp)?, stoppedAt: str(timestamp)?, stoppedBy: str?, streamingImageId: str?, tags: map<str, str>?: any, terminateAt: str(timestamp)?, updatedAt: str(timestamp)?, updatedBy: str?, volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}, volumeRetentionMode: str?}}\n\n@endpoint PUT /2020-08-01/studios/{studioId}/sso-configuration\n@desc 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.\n@required {studioId: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {studio: Studio{adminRoleArn: str?, arn: str?, createdAt: str(timestamp)?, displayName: str?, homeRegion: str?, ssoClientId: str?, state: str?, statusCode: str?, statusMessage: str?, studioEncryptionConfiguration: StudioEncryptionConfiguration?{keyArn: str?, keyType: str}, studioId: str?, studioName: str?, studioUrl: str?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, userRoleArn: str?}}\n\n@endpoint POST /2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/stop\n@desc 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.\n@required {sessionId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, volumeRetentionMode: str}\n@returns(200) {session: StreamingSession?{arn: str?, automaticTerminationMode: str?, backupMode: str?, createdAt: str(timestamp)?, createdBy: str?, ec2InstanceType: str?, launchProfileId: str?, maxBackupsToRetain: int?, ownedBy: str?, sessionId: str?, sessionPersistenceMode: str?, startedAt: str(timestamp)?, startedBy: str?, startedFromBackupId: str?, state: str?, statusCode: str?, statusMessage: str?, stopAt: str(timestamp)?, stoppedAt: str(timestamp)?, stoppedBy: str?, streamingImageId: str?, tags: map<str, str>?: any, terminateAt: str(timestamp)?, updatedAt: str(timestamp)?, updatedBy: str?, volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}, volumeRetentionMode: str?}}\n\n@endpoint POST /2020-08-01/tags/{resourceArn}\n@desc Creates tags for a resource, given its ARN.\n@required {resourceArn: str}\n@optional {tags: map<str,str>}\n\n@endpoint DELETE /2020-08-01/tags/{resourceArn}\n@desc Deletes the tags for a resource.\n@required {resourceArn: str, tagKeys: [str]}\n\n@endpoint PATCH /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}\n@desc Update a launch profile.\n@required {launchProfileId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, description: str, launchProfileProtocolVersions: [str], name: str, streamConfiguration: StreamConfigurationCreate, studioComponentIds: [str]}\n@returns(200) {launchProfile: LaunchProfile?{arn: str?, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SubnetIds: [str]?, launchProfileId: str?, launchProfileProtocolVersions: [str]?, name: str?, state: str?, statusCode: str?, statusMessage: str?, streamConfiguration: StreamConfiguration?{automaticTerminationMode: str?, clipboardMode: str, ec2InstanceTypes: [str], maxSessionLengthInMinutes: int?, maxStoppedSessionLengthInMinutes: int?, sessionBackup: StreamConfigurationSessionBackup?{maxBackupsToRetain: int?, mode: str?}, sessionPersistenceMode: str?, sessionStorage: StreamConfigurationSessionStorage?{mode: [str], root: StreamingSessionStorageRoot?}, streamingImageIds: [str], volumeConfiguration: VolumeConfiguration?{iops: int?, size: int?, throughput: int?}}, studioComponentIds: [str]?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, updatedBy: str?, validationResults: [ValidationResult]?}}\n\n@endpoint PATCH /2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}\n@desc Update a user persona in launch profile membership.\n@required {launchProfileId: str, principalId: str, studioId: str, persona: str}\n@optional {X-Amz-Client-Token: str}\n@returns(200) {member: LaunchProfileMembership?{identityStoreId: str?, persona: str?, principalId: str?, sid: str?}}\n\n@endpoint PATCH /2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}\n@desc Update streaming image.\n@required {streamingImageId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, description: str, name: str}\n@returns(200) {streamingImage: StreamingImage?{arn: str?, description: str?, ec2ImageId: str?, encryptionConfiguration: StreamingImageEncryptionConfiguration?{keyArn: str?, keyType: str}, eulaIds: [str]?, name: str?, owner: str?, platform: str?, state: str?, statusCode: str?, statusMessage: str?, streamingImageId: str?, tags: map<str, str>?: any}}\n\n@endpoint PATCH /2020-08-01/studios/{studioId}\n@desc Update a Studio resource. Currently, this operation only supports updating the displayName of your studio.\n@required {studioId: str}\n@optional {X-Amz-Client-Token: str, adminRoleArn: str, displayName: str, userRoleArn: str}\n@returns(200) {studio: Studio{adminRoleArn: str?, arn: str?, createdAt: str(timestamp)?, displayName: str?, homeRegion: str?, ssoClientId: str?, state: str?, statusCode: str?, statusMessage: str?, studioEncryptionConfiguration: StudioEncryptionConfiguration?{keyArn: str?, keyType: str}, studioId: str?, studioName: str?, studioUrl: str?, tags: map<str, str>?: any, updatedAt: str(timestamp)?, userRoleArn: str?}}\n\n@endpoint PATCH /2020-08-01/studios/{studioId}/studio-components/{studioComponentId}\n@desc Updates a studio component resource.\n@required {studioComponentId: str, studioId: str}\n@optional {X-Amz-Client-Token: str, configuration: StudioComponentConfiguration, description: str, ec2SecurityGroupIds: [str], initializationScripts: [StudioComponentInitializationScript], name: str, runtimeRoleArn: str, scriptParameters: [ScriptParameterKeyValue], secureInitializationRoleArn: str, subtype: str, type: str}\n@returns(200) {studioComponent: StudioComponent?{arn: str?, configuration: StudioComponentConfiguration?{activeDirectoryConfiguration: ActiveDirectoryConfiguration?{computerAttributes: [ActiveDirectoryComputerAttribute]?, directoryId: str?, organizationalUnitDistinguishedName: str?}, computeFarmConfiguration: ComputeFarmConfiguration?{activeDirectoryUser: str?, endpoint: str?}, licenseServiceConfiguration: LicenseServiceConfiguration?{endpoint: str?}, sharedFileSystemConfiguration: SharedFileSystemConfiguration?{endpoint: str?, fileSystemId: str?, linuxMountPoint: str?, shareName: str?, windowsMountDrive: str?}}, createdAt: str(timestamp)?, createdBy: str?, description: str?, ec2SecurityGroupIds: [str]?, initializationScripts: [StudioComponentInitializationScript]?, name: str?, runtimeRoleArn: str?, scriptParameters: [ScriptParameterKeyValue]?, secureInitializationRoleArn: str?, state: str?, statusCode: str?, statusMessage: str?, studioComponentId: str?, subtype: str?, tags: map<str, str>?: any, type: str?, updatedAt: str(timestamp)?, updatedBy: str?}}\n\n@end\n"}}