/*
* 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
{
///
/// A streaming session is a virtual workstation created using a particular launch profile.
///
public partial class StreamingSession
{
private string _arn;
private AutomaticTerminationMode _automaticTerminationMode;
private SessionBackupMode _backupMode;
private DateTime? _createdAt;
private string _createdBy;
private string _ec2InstanceType;
private string _launchProfileId;
private int? _maxBackupsToRetain;
private string _ownedBy;
private string _sessionId;
private SessionPersistenceMode _sessionPersistenceMode;
private DateTime? _startedAt;
private string _startedBy;
private string _startedFromBackupId;
private StreamingSessionState _state;
private StreamingSessionStatusCode _statusCode;
private string _statusMessage;
private DateTime? _stopAt;
private DateTime? _stoppedAt;
private string _stoppedBy;
private string _streamingImageId;
private Dictionary _tags = new Dictionary();
private DateTime? _terminateAt;
private DateTime? _updatedAt;
private string _updatedBy;
private VolumeConfiguration _volumeConfiguration;
private VolumeRetentionMode _volumeRetentionMode;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely
/// identifies it. ARNs are unique across all Regions.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// 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 BackupMode.
///
/// Shows the current backup setting of the session.
///
///
public SessionBackupMode BackupMode
{
get { return this._backupMode; }
set { this._backupMode = value; }
}
// Check to see if BackupMode property is set
internal bool IsSetBackupMode()
{
return this._backupMode != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The ISO timestamp in seconds for when the resource was created.
///
///
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property CreatedBy.
///
/// The user ID of the user that created the streaming session.
///
///
public string CreatedBy
{
get { return this._createdBy; }
set { this._createdBy = value; }
}
// Check to see if CreatedBy property is set
internal bool IsSetCreatedBy()
{
return this._createdBy != null;
}
///
/// Gets and sets the property Ec2InstanceType.
///
/// The EC2 Instance type used for the streaming session.
///
///
public string Ec2InstanceType
{
get { return this._ec2InstanceType; }
set { this._ec2InstanceType = value; }
}
// Check to see if Ec2InstanceType property is set
internal bool IsSetEc2InstanceType()
{
return this._ec2InstanceType != null;
}
///
/// Gets and sets the property LaunchProfileId.
///
/// The ID of the launch profile used to control access from the streaming session.
///
///
public string LaunchProfileId
{
get { return this._launchProfileId; }
set { this._launchProfileId = value; }
}
// Check to see if LaunchProfileId property is set
internal bool IsSetLaunchProfileId()
{
return this._launchProfileId != null;
}
///
/// Gets and sets the property MaxBackupsToRetain.
///
/// The maximum number of backups of a streaming session that you can have. When the maximum
/// number of backups is reached, the oldest backup is deleted.
///
///
[AWSProperty(Min=0, Max=10)]
public int MaxBackupsToRetain
{
get { return this._maxBackupsToRetain.GetValueOrDefault(); }
set { this._maxBackupsToRetain = value; }
}
// Check to see if MaxBackupsToRetain property is set
internal bool IsSetMaxBackupsToRetain()
{
return this._maxBackupsToRetain.HasValue;
}
///
/// Gets and sets the property OwnedBy.
///
/// The user ID of the user that owns the streaming session. The user that owns the session
/// will be logging into the session and interacting with the virtual workstation.
///
///
public string OwnedBy
{
get { return this._ownedBy; }
set { this._ownedBy = value; }
}
// Check to see if OwnedBy property is set
internal bool IsSetOwnedBy()
{
return this._ownedBy != null;
}
///
/// Gets and sets the property SessionId.
///
/// The session ID.
///
///
public string SessionId
{
get { return this._sessionId; }
set { this._sessionId = value; }
}
// Check to see if SessionId property is set
internal bool IsSetSessionId()
{
return this._sessionId != 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 StartedAt.
///
/// The time the session entered START_IN_PROGRESS
state.
///
///
public DateTime StartedAt
{
get { return this._startedAt.GetValueOrDefault(); }
set { this._startedAt = value; }
}
// Check to see if StartedAt property is set
internal bool IsSetStartedAt()
{
return this._startedAt.HasValue;
}
///
/// Gets and sets the property StartedBy.
///
/// The user ID of the user that started the streaming session.
///
///
public string StartedBy
{
get { return this._startedBy; }
set { this._startedBy = value; }
}
// Check to see if StartedBy property is set
internal bool IsSetStartedBy()
{
return this._startedBy != null;
}
///
/// Gets and sets the property StartedFromBackupId.
///
/// The backup ID used to restore a streaming session.
///
///
public string StartedFromBackupId
{
get { return this._startedFromBackupId; }
set { this._startedFromBackupId = value; }
}
// Check to see if StartedFromBackupId property is set
internal bool IsSetStartedFromBackupId()
{
return this._startedFromBackupId != null;
}
///
/// Gets and sets the property State.
///
/// The current state.
///
///
public StreamingSessionState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property StatusCode.
///
/// The status code.
///
///
public StreamingSessionStatusCode StatusCode
{
get { return this._statusCode; }
set { this._statusCode = value; }
}
// Check to see if StatusCode property is set
internal bool IsSetStatusCode()
{
return this._statusCode != null;
}
///
/// Gets and sets the property StatusMessage.
///
/// The status message for the streaming session.
///
///
public string StatusMessage
{
get { return this._statusMessage; }
set { this._statusMessage = value; }
}
// Check to see if StatusMessage property is set
internal bool IsSetStatusMessage()
{
return this._statusMessage != null;
}
///
/// Gets and sets the property StopAt.
///
/// The time the streaming session will automatically be stopped if the user doesn’t stop
/// the session themselves.
///
///
public DateTime StopAt
{
get { return this._stopAt.GetValueOrDefault(); }
set { this._stopAt = value; }
}
// Check to see if StopAt property is set
internal bool IsSetStopAt()
{
return this._stopAt.HasValue;
}
///
/// Gets and sets the property StoppedAt.
///
/// The time the session entered STOP_IN_PROGRESS
state.
///
///
public DateTime StoppedAt
{
get { return this._stoppedAt.GetValueOrDefault(); }
set { this._stoppedAt = value; }
}
// Check to see if StoppedAt property is set
internal bool IsSetStoppedAt()
{
return this._stoppedAt.HasValue;
}
///
/// Gets and sets the property StoppedBy.
///
/// The user ID of the user that stopped the streaming session.
///
///
public string StoppedBy
{
get { return this._stoppedBy; }
set { this._stoppedBy = value; }
}
// Check to see if StoppedBy property is set
internal bool IsSetStoppedBy()
{
return this._stoppedBy != null;
}
///
/// Gets and sets the property StreamingImageId.
///
/// The ID of the streaming image.
///
///
[AWSProperty(Min=0, Max=22)]
public string StreamingImageId
{
get { return this._streamingImageId; }
set { this._streamingImageId = value; }
}
// Check to see if StreamingImageId property is set
internal bool IsSetStreamingImageId()
{
return this._streamingImageId != null;
}
///
/// Gets and sets the property Tags.
///
/// A collection of labels, in the form of key-value pairs, that apply to this resource.
///
///
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TerminateAt.
///
/// The time the streaming session will automatically terminate if not terminated by the
/// user.
///
///
public DateTime TerminateAt
{
get { return this._terminateAt.GetValueOrDefault(); }
set { this._terminateAt = value; }
}
// Check to see if TerminateAt property is set
internal bool IsSetTerminateAt()
{
return this._terminateAt.HasValue;
}
///
/// Gets and sets the property UpdatedAt.
///
/// The ISO timestamp in seconds for when the resource was updated.
///
///
public DateTime UpdatedAt
{
get { return this._updatedAt.GetValueOrDefault(); }
set { this._updatedAt = value; }
}
// Check to see if UpdatedAt property is set
internal bool IsSetUpdatedAt()
{
return this._updatedAt.HasValue;
}
///
/// Gets and sets the property UpdatedBy.
///
/// The user ID of the user that most recently updated the resource.
///
///
public string UpdatedBy
{
get { return this._updatedBy; }
set { this._updatedBy = value; }
}
// Check to see if UpdatedBy property is set
internal bool IsSetUpdatedBy()
{
return this._updatedBy != null;
}
///
/// 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;
}
///
/// Gets and sets the property VolumeRetentionMode.
///
/// Determine if an EBS volume created from this streaming session will be backed up.
///
///
public VolumeRetentionMode VolumeRetentionMode
{
get { return this._volumeRetentionMode; }
set { this._volumeRetentionMode = value; }
}
// Check to see if VolumeRetentionMode property is set
internal bool IsSetVolumeRetentionMode()
{
return this._volumeRetentionMode != null;
}
}
}