/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the nimble-2020-08-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.NimbleStudio.Model { /// /// Configuration for streaming workstations created using this launch profile. /// public partial class StreamConfigurationCreate { private AutomaticTerminationMode _automaticTerminationMode; private StreamingClipboardMode _clipboardMode; private List _ec2InstanceTypes = new List(); private int? _maxSessionLengthInMinutes; private int? _maxStoppedSessionLengthInMinutes; private StreamConfigurationSessionBackup _sessionBackup; private SessionPersistenceMode _sessionPersistenceMode; private StreamConfigurationSessionStorage _sessionStorage; private List _streamingImageIds = new List(); private VolumeConfiguration _volumeConfiguration; /// /// Gets and sets the 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. /// ///
public AutomaticTerminationMode AutomaticTerminationMode { get { return this._automaticTerminationMode; } set { this._automaticTerminationMode = value; } } // Check to see if AutomaticTerminationMode property is set internal bool IsSetAutomaticTerminationMode() { return this._automaticTerminationMode != null; } /// /// Gets and sets the property ClipboardMode. /// /// Allows or deactivates the use of the system clipboard to copy and paste between the /// streaming session and streaming client. /// /// [AWSProperty(Required=true)] public StreamingClipboardMode ClipboardMode { get { return this._clipboardMode; } set { this._clipboardMode = value; } } // Check to see if ClipboardMode property is set internal bool IsSetClipboardMode() { return this._clipboardMode != null; } /// /// Gets and sets the property Ec2InstanceTypes. /// /// The EC2 instance types that users can select from when launching a streaming session /// with this launch profile. /// /// [AWSProperty(Required=true, Min=1, Max=30)] public List Ec2InstanceTypes { get { return this._ec2InstanceTypes; } set { this._ec2InstanceTypes = value; } } // Check to see if Ec2InstanceTypes property is set internal bool IsSetEc2InstanceTypes() { return this._ec2InstanceTypes != null && this._ec2InstanceTypes.Count > 0; } /// /// Gets and sets the 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. /// /// [AWSProperty(Min=1, Max=43200)] public int MaxSessionLengthInMinutes { get { return this._maxSessionLengthInMinutes.GetValueOrDefault(); } set { this._maxSessionLengthInMinutes = value; } } // Check to see if MaxSessionLengthInMinutes property is set internal bool IsSetMaxSessionLengthInMinutes() { return this._maxSessionLengthInMinutes.HasValue; } /// /// Gets and sets the 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). /// /// [AWSProperty(Min=0, Max=5760)] public int MaxStoppedSessionLengthInMinutes { get { return this._maxStoppedSessionLengthInMinutes.GetValueOrDefault(); } set { this._maxStoppedSessionLengthInMinutes = value; } } // Check to see if MaxStoppedSessionLengthInMinutes property is set internal bool IsSetMaxStoppedSessionLengthInMinutes() { return this._maxStoppedSessionLengthInMinutes.HasValue; } /// /// Gets and sets the property SessionBackup. /// /// Configures how streaming sessions are backed up when launched from this launch profile. /// /// public StreamConfigurationSessionBackup SessionBackup { get { return this._sessionBackup; } set { this._sessionBackup = value; } } // Check to see if SessionBackup property is set internal bool IsSetSessionBackup() { return this._sessionBackup != null; } /// /// Gets and sets the property SessionPersistenceMode. /// /// Determine if a streaming session created from this launch profile can configure persistent /// storage. This means that volumeConfiguration and automaticTerminationMode /// are configured. /// /// public SessionPersistenceMode SessionPersistenceMode { get { return this._sessionPersistenceMode; } set { this._sessionPersistenceMode = value; } } // Check to see if SessionPersistenceMode property is set internal bool IsSetSessionPersistenceMode() { return this._sessionPersistenceMode != null; } /// /// Gets and sets the property SessionStorage. /// /// The upload storage for a streaming workstation that is created using this launch profile. /// /// public StreamConfigurationSessionStorage SessionStorage { get { return this._sessionStorage; } set { this._sessionStorage = value; } } // Check to see if SessionStorage property is set internal bool IsSetSessionStorage() { return this._sessionStorage != null; } /// /// Gets and sets the property StreamingImageIds. /// /// The streaming images that users can select from when launching a streaming session /// with this launch profile. /// /// [AWSProperty(Required=true, Min=1, Max=20)] public List StreamingImageIds { get { return this._streamingImageIds; } set { this._streamingImageIds = value; } } // Check to see if StreamingImageIds property is set internal bool IsSetStreamingImageIds() { return this._streamingImageIds != null && this._streamingImageIds.Count > 0; } /// /// Gets and sets the 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 VolumeConfiguration VolumeConfiguration { get { return this._volumeConfiguration; } set { this._volumeConfiguration = value; } } // Check to see if VolumeConfiguration property is set internal bool IsSetVolumeConfiguration() { return this._volumeConfiguration != null; } } }