{"note":"OpenAPI conversion -- returning structured metadata","name":"amazonaws-com-nimble","description":"AmazonNimbleStudio","version":"2020-08-01","base_url":"","endpoints":49,"raw":"@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>?, 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>?}}\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>?, 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>?, 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>?, 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>?, 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>?}}\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>?, 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>?, 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>?, 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>?, 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>?, 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>?}}\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>?, 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>?}}\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>?, 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>?, 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>?, 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>?, 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>?, 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>?, 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>?}}\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>?, 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>?, type: str?, updatedAt: str(timestamp)?, updatedBy: str?}}\n\n@end\n"}