All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.nimblestudio.kotlin.outputs.LaunchProfileStreamConfiguration.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.nimblestudio.kotlin.outputs

import com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileAutomaticTerminationMode
import com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileSessionPersistenceMode
import com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileStreamingClipboardMode
import com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileStreamingInstanceType
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * 

A configuration for a streaming session.

* @property automaticTerminationMode Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. * - When `ACTIVATED` , the streaming session is scheduled for termination after being in the `STOPPED` state for the time specified in `maxStoppedSessionLengthInMinutes` . * - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. * This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . * @property clipboardMode Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. * @property ec2InstanceTypes

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

* @property maxSessionLengthInMinutes

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.

* @property maxStoppedSessionLengthInMinutes

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).

* @property sessionBackup Information about the streaming session backup. * @property sessionPersistenceMode Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. * @property sessionStorage The upload storage for a streaming session. * @property streamingImageIds

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

* @property volumeConfiguration Custom volume configuration for the root volumes that are attached to streaming sessions. * This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . */ public data class LaunchProfileStreamConfiguration( public val automaticTerminationMode: LaunchProfileAutomaticTerminationMode? = null, public val clipboardMode: LaunchProfileStreamingClipboardMode, public val ec2InstanceTypes: List, public val maxSessionLengthInMinutes: Double? = null, public val maxStoppedSessionLengthInMinutes: Double? = null, public val sessionBackup: LaunchProfileStreamConfigurationSessionBackup? = null, public val sessionPersistenceMode: LaunchProfileSessionPersistenceMode? = null, public val sessionStorage: LaunchProfileStreamConfigurationSessionStorage? = null, public val streamingImageIds: List, public val volumeConfiguration: LaunchProfileVolumeConfiguration? = null, ) { public companion object { public fun toKotlin(javaType: com.pulumi.awsnative.nimblestudio.outputs.LaunchProfileStreamConfiguration): LaunchProfileStreamConfiguration = LaunchProfileStreamConfiguration( automaticTerminationMode = javaType.automaticTerminationMode().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileAutomaticTerminationMode.Companion.toKotlin(args0) }) }).orElse(null), clipboardMode = javaType.clipboardMode().let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileStreamingClipboardMode.Companion.toKotlin(args0) }), ec2InstanceTypes = javaType.ec2InstanceTypes().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileStreamingInstanceType.Companion.toKotlin(args0) }) }), maxSessionLengthInMinutes = javaType.maxSessionLengthInMinutes().map({ args0 -> args0 }).orElse(null), maxStoppedSessionLengthInMinutes = javaType.maxStoppedSessionLengthInMinutes().map({ args0 -> args0 }).orElse(null), sessionBackup = javaType.sessionBackup().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.outputs.LaunchProfileStreamConfigurationSessionBackup.Companion.toKotlin(args0) }) }).orElse(null), sessionPersistenceMode = javaType.sessionPersistenceMode().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.enums.LaunchProfileSessionPersistenceMode.Companion.toKotlin(args0) }) }).orElse(null), sessionStorage = javaType.sessionStorage().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.outputs.LaunchProfileStreamConfigurationSessionStorage.Companion.toKotlin(args0) }) }).orElse(null), streamingImageIds = javaType.streamingImageIds().map({ args0 -> args0 }), volumeConfiguration = javaType.volumeConfiguration().map({ args0 -> args0.let({ args0 -> com.pulumi.awsnative.nimblestudio.kotlin.outputs.LaunchProfileVolumeConfiguration.Companion.toKotlin(args0) }) }).orElse(null), ) } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy