/*
* 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 workspaces-web-2020-07-08.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.WorkSpacesWeb.Model
{
///
/// A user settings resource that can be associated with a web portal. Once associated
/// with a web portal, user settings control how users can transfer data between a streaming
/// session and the their local devices.
///
public partial class UserSettings
{
private List _associatedPortalArns = new List();
private EnabledType _copyAllowed;
private int? _disconnectTimeoutInMinutes;
private EnabledType _downloadAllowed;
private int? _idleDisconnectTimeoutInMinutes;
private EnabledType _pasteAllowed;
private EnabledType _printAllowed;
private EnabledType _uploadAllowed;
private string _userSettingsArn;
///
/// Gets and sets the property AssociatedPortalArns.
///
/// A list of web portal ARNs that this user settings is associated with.
///
///
public List AssociatedPortalArns
{
get { return this._associatedPortalArns; }
set { this._associatedPortalArns = value; }
}
// Check to see if AssociatedPortalArns property is set
internal bool IsSetAssociatedPortalArns()
{
return this._associatedPortalArns != null && this._associatedPortalArns.Count > 0;
}
///
/// Gets and sets the property CopyAllowed.
///
/// Specifies whether the user can copy text from the streaming session to the local device.
///
///
public EnabledType CopyAllowed
{
get { return this._copyAllowed; }
set { this._copyAllowed = value; }
}
// Check to see if CopyAllowed property is set
internal bool IsSetCopyAllowed()
{
return this._copyAllowed != null;
}
///
/// Gets and sets the property DisconnectTimeoutInMinutes.
///
/// The amount of time that a streaming session remains active after users disconnect.
///
///
[AWSProperty(Min=1, Max=600)]
public int DisconnectTimeoutInMinutes
{
get { return this._disconnectTimeoutInMinutes.GetValueOrDefault(); }
set { this._disconnectTimeoutInMinutes = value; }
}
// Check to see if DisconnectTimeoutInMinutes property is set
internal bool IsSetDisconnectTimeoutInMinutes()
{
return this._disconnectTimeoutInMinutes.HasValue;
}
///
/// Gets and sets the property DownloadAllowed.
///
/// Specifies whether the user can download files from the streaming session to the local
/// device.
///
///
public EnabledType DownloadAllowed
{
get { return this._downloadAllowed; }
set { this._downloadAllowed = value; }
}
// Check to see if DownloadAllowed property is set
internal bool IsSetDownloadAllowed()
{
return this._downloadAllowed != null;
}
///
/// Gets and sets the property IdleDisconnectTimeoutInMinutes.
///
/// The amount of time that users can be idle (inactive) before they are disconnected
/// from their streaming session and the disconnect timeout interval begins.
///
///
[AWSProperty(Min=0, Max=60)]
public int IdleDisconnectTimeoutInMinutes
{
get { return this._idleDisconnectTimeoutInMinutes.GetValueOrDefault(); }
set { this._idleDisconnectTimeoutInMinutes = value; }
}
// Check to see if IdleDisconnectTimeoutInMinutes property is set
internal bool IsSetIdleDisconnectTimeoutInMinutes()
{
return this._idleDisconnectTimeoutInMinutes.HasValue;
}
///
/// Gets and sets the property PasteAllowed.
///
/// Specifies whether the user can paste text from the local device to the streaming session.
///
///
public EnabledType PasteAllowed
{
get { return this._pasteAllowed; }
set { this._pasteAllowed = value; }
}
// Check to see if PasteAllowed property is set
internal bool IsSetPasteAllowed()
{
return this._pasteAllowed != null;
}
///
/// Gets and sets the property PrintAllowed.
///
/// Specifies whether the user can print to the local device.
///
///
public EnabledType PrintAllowed
{
get { return this._printAllowed; }
set { this._printAllowed = value; }
}
// Check to see if PrintAllowed property is set
internal bool IsSetPrintAllowed()
{
return this._printAllowed != null;
}
///
/// Gets and sets the property UploadAllowed.
///
/// Specifies whether the user can upload files from the local device to the streaming
/// session.
///
///
public EnabledType UploadAllowed
{
get { return this._uploadAllowed; }
set { this._uploadAllowed = value; }
}
// Check to see if UploadAllowed property is set
internal bool IsSetUploadAllowed()
{
return this._uploadAllowed != null;
}
///
/// Gets and sets the property UserSettingsArn.
///
/// The ARN of the user settings.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string UserSettingsArn
{
get { return this._userSettingsArn; }
set { this._userSettingsArn = value; }
}
// Check to see if UserSettingsArn property is set
internal bool IsSetUserSettingsArn()
{
return this._userSettingsArn != null;
}
}
}