/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type StreamingClipboardMode = "ENABLED" | "DISABLED"; export type StreamingInstanceType = | "g4dn.xlarge" | "g4dn.2xlarge" | "g4dn.4xlarge" | "g4dn.8xlarge" | "g4dn.12xlarge" | "g4dn.16xlarge" | "g3.4xlarge" | "g3s.xlarge" | "g5.xlarge" | "g5.2xlarge" | "g5.4xlarge" | "g5.8xlarge" | "g5.16xlarge"; export type StreamingSessionStorageMode = "UPLOAD"; export type SessionBackupMode = "AUTOMATIC" | "DEACTIVATED"; export type SessionPersistenceMode = "DEACTIVATED" | "ACTIVATED"; export type AutomaticTerminationMode = "DEACTIVATED" | "ACTIVATED"; /** * Represents a launch profile which delegates access to a collection of studio components to studio users */ export interface AwsNimblestudioLaunchprofile { /** *

The description.

*/ Description?: string; /** *

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

* * @minItems 0 * @maxItems 6 */ Ec2SubnetIds: | [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string]; LaunchProfileId?: string; /** *

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

*/ LaunchProfileProtocolVersions: string[]; /** *

The name for the launch profile.

*/ Name: string; StreamConfiguration: StreamConfiguration; /** *

Unique identifiers for a collection of studio components that can be used with this * launch profile.

* * @minItems 1 * @maxItems 100 */ StudioComponentIds: [string, ...string[]]; /** *

The studio ID.

*/ StudioId: string; Tags?: Tags; } /** *

A configuration for a streaming session.

*/ export interface StreamConfiguration { ClipboardMode: StreamingClipboardMode; /** *

The EC2 instance types that users can select from when launching a streaming session * with this launch profile.

* * @minItems 1 * @maxItems 30 */ Ec2InstanceTypes: [StreamingInstanceType, ...StreamingInstanceType[]]; /** *

The length of time, in minutes, that a streaming session can be active before it is * stopped or terminated. After this point, Nimble Studio automatically terminates or * stops the session. The default length of time is 690 minutes, and the maximum length of * time is 30 days.

*/ MaxSessionLengthInMinutes?: number; /** *

The streaming images that users can select from when launching a streaming session * with this launch profile.

* * @minItems 1 * @maxItems 20 */ StreamingImageIds: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; /** *

Integer that determines if you can start and stop your sessions and how long a session * can stay in the STOPPED state. The default value is 0. The maximum value is * 5760.

*

This field is allowed only when sessionPersistenceMode is * ACTIVATED and automaticTerminationMode is * ACTIVATED.

*

If the value is set to 0, your sessions can’t be STOPPED. If you then * call StopStreamingSession, the session fails. If the time that a session * stays in the READY state exceeds the maxSessionLengthInMinutes * value, the session will automatically be terminated (instead of * STOPPED).

*

If the value is set to a positive number, the session can be stopped. You can call * StopStreamingSession to stop sessions in the READY state. * If the time that a session stays in the READY state exceeds the * maxSessionLengthInMinutes value, the session will automatically be * stopped (instead of terminated).

*/ MaxStoppedSessionLengthInMinutes?: number; SessionStorage?: StreamConfigurationSessionStorage; SessionBackup?: StreamConfigurationSessionBackup; SessionPersistenceMode?: SessionPersistenceMode; VolumeConfiguration?: VolumeConfiguration; AutomaticTerminationMode?: AutomaticTerminationMode; } /** *

The configuration for a streaming session’s upload storage.

*/ export interface StreamConfigurationSessionStorage { Root?: StreamingSessionStorageRoot; /** *

Allows artists to upload files to their workstations. The only valid option is * UPLOAD.

* * @minItems 1 */ Mode: [StreamingSessionStorageMode, ...StreamingSessionStorageMode[]]; } /** *

The upload storage root location (folder) on streaming workstations where files are * uploaded.

*/ export interface StreamingSessionStorageRoot { /** *

The folder path in Linux workstations where files are uploaded.

*/ Linux?: string; /** *

The folder path in Windows workstations where files are uploaded.

*/ Windows?: string; } /** *

Configures how streaming sessions are backed up when launched from this launch * profile.

*/ export interface StreamConfigurationSessionBackup { Mode?: SessionBackupMode; /** *

The maximum number of backups that each streaming session created from this launch * profile can have.

*/ MaxBackupsToRetain?: number; } /** *

Custom volume configuration for the root volumes that are attached to streaming * sessions.

*

This parameter is only allowed when sessionPersistenceMode is * ACTIVATED.

*/ export interface VolumeConfiguration { /** *

The size of the root volume that is attached to the streaming session. The root volume * size is measured in GiBs.

*/ Size?: number; /** *

The throughput to provision for the root volume that is attached to the streaming * session. The throughput is measured in MiB/s.

*/ Throughput?: number; /** *

The number of I/O operations per second for the root volume that is attached to * streaming session.

*/ Iops?: number; } export interface Tags { /** * This interface was referenced by `Tags`'s JSON-Schema definition * via the `patternProperty` ".+". */ [k: string]: string; }