/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WorkSpacesWeb { namespace Model { /** *

The summary of user settings.

See Also:

AWS * API Reference

*/ class UserSettingsSummary { public: AWS_WORKSPACESWEB_API UserSettingsSummary(); AWS_WORKSPACESWEB_API UserSettingsSummary(Aws::Utils::Json::JsonView jsonValue); AWS_WORKSPACESWEB_API UserSettingsSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WORKSPACESWEB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline const EnabledType& GetCopyAllowed() const{ return m_copyAllowed; } /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline bool CopyAllowedHasBeenSet() const { return m_copyAllowedHasBeenSet; } /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline void SetCopyAllowed(const EnabledType& value) { m_copyAllowedHasBeenSet = true; m_copyAllowed = value; } /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline void SetCopyAllowed(EnabledType&& value) { m_copyAllowedHasBeenSet = true; m_copyAllowed = std::move(value); } /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline UserSettingsSummary& WithCopyAllowed(const EnabledType& value) { SetCopyAllowed(value); return *this;} /** *

Specifies whether the user can copy text from the streaming session to the * local device.

*/ inline UserSettingsSummary& WithCopyAllowed(EnabledType&& value) { SetCopyAllowed(std::move(value)); return *this;} /** *

The amount of time that a streaming session remains active after users * disconnect.

*/ inline int GetDisconnectTimeoutInMinutes() const{ return m_disconnectTimeoutInMinutes; } /** *

The amount of time that a streaming session remains active after users * disconnect.

*/ inline bool DisconnectTimeoutInMinutesHasBeenSet() const { return m_disconnectTimeoutInMinutesHasBeenSet; } /** *

The amount of time that a streaming session remains active after users * disconnect.

*/ inline void SetDisconnectTimeoutInMinutes(int value) { m_disconnectTimeoutInMinutesHasBeenSet = true; m_disconnectTimeoutInMinutes = value; } /** *

The amount of time that a streaming session remains active after users * disconnect.

*/ inline UserSettingsSummary& WithDisconnectTimeoutInMinutes(int value) { SetDisconnectTimeoutInMinutes(value); return *this;} /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline const EnabledType& GetDownloadAllowed() const{ return m_downloadAllowed; } /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline bool DownloadAllowedHasBeenSet() const { return m_downloadAllowedHasBeenSet; } /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline void SetDownloadAllowed(const EnabledType& value) { m_downloadAllowedHasBeenSet = true; m_downloadAllowed = value; } /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline void SetDownloadAllowed(EnabledType&& value) { m_downloadAllowedHasBeenSet = true; m_downloadAllowed = std::move(value); } /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline UserSettingsSummary& WithDownloadAllowed(const EnabledType& value) { SetDownloadAllowed(value); return *this;} /** *

Specifies whether the user can download files from the streaming session to * the local device.

*/ inline UserSettingsSummary& WithDownloadAllowed(EnabledType&& value) { SetDownloadAllowed(std::move(value)); return *this;} /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the disconnect timeout interval * begins.

*/ inline int GetIdleDisconnectTimeoutInMinutes() const{ return m_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.

*/ inline bool IdleDisconnectTimeoutInMinutesHasBeenSet() const { return m_idleDisconnectTimeoutInMinutesHasBeenSet; } /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the disconnect timeout interval * begins.

*/ inline void SetIdleDisconnectTimeoutInMinutes(int value) { m_idleDisconnectTimeoutInMinutesHasBeenSet = true; m_idleDisconnectTimeoutInMinutes = value; } /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the disconnect timeout interval * begins.

*/ inline UserSettingsSummary& WithIdleDisconnectTimeoutInMinutes(int value) { SetIdleDisconnectTimeoutInMinutes(value); return *this;} /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline const EnabledType& GetPasteAllowed() const{ return m_pasteAllowed; } /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline bool PasteAllowedHasBeenSet() const { return m_pasteAllowedHasBeenSet; } /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline void SetPasteAllowed(const EnabledType& value) { m_pasteAllowedHasBeenSet = true; m_pasteAllowed = value; } /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline void SetPasteAllowed(EnabledType&& value) { m_pasteAllowedHasBeenSet = true; m_pasteAllowed = std::move(value); } /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline UserSettingsSummary& WithPasteAllowed(const EnabledType& value) { SetPasteAllowed(value); return *this;} /** *

Specifies whether the user can paste text from the local device to the * streaming session.

*/ inline UserSettingsSummary& WithPasteAllowed(EnabledType&& value) { SetPasteAllowed(std::move(value)); return *this;} /** *

Specifies whether the user can print to the local device.

*/ inline const EnabledType& GetPrintAllowed() const{ return m_printAllowed; } /** *

Specifies whether the user can print to the local device.

*/ inline bool PrintAllowedHasBeenSet() const { return m_printAllowedHasBeenSet; } /** *

Specifies whether the user can print to the local device.

*/ inline void SetPrintAllowed(const EnabledType& value) { m_printAllowedHasBeenSet = true; m_printAllowed = value; } /** *

Specifies whether the user can print to the local device.

*/ inline void SetPrintAllowed(EnabledType&& value) { m_printAllowedHasBeenSet = true; m_printAllowed = std::move(value); } /** *

Specifies whether the user can print to the local device.

*/ inline UserSettingsSummary& WithPrintAllowed(const EnabledType& value) { SetPrintAllowed(value); return *this;} /** *

Specifies whether the user can print to the local device.

*/ inline UserSettingsSummary& WithPrintAllowed(EnabledType&& value) { SetPrintAllowed(std::move(value)); return *this;} /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline const EnabledType& GetUploadAllowed() const{ return m_uploadAllowed; } /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline bool UploadAllowedHasBeenSet() const { return m_uploadAllowedHasBeenSet; } /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline void SetUploadAllowed(const EnabledType& value) { m_uploadAllowedHasBeenSet = true; m_uploadAllowed = value; } /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline void SetUploadAllowed(EnabledType&& value) { m_uploadAllowedHasBeenSet = true; m_uploadAllowed = std::move(value); } /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline UserSettingsSummary& WithUploadAllowed(const EnabledType& value) { SetUploadAllowed(value); return *this;} /** *

Specifies whether the user can upload files from the local device to the * streaming session.

*/ inline UserSettingsSummary& WithUploadAllowed(EnabledType&& value) { SetUploadAllowed(std::move(value)); return *this;} /** *

The ARN of the user settings.

*/ inline const Aws::String& GetUserSettingsArn() const{ return m_userSettingsArn; } /** *

The ARN of the user settings.

*/ inline bool UserSettingsArnHasBeenSet() const { return m_userSettingsArnHasBeenSet; } /** *

The ARN of the user settings.

*/ inline void SetUserSettingsArn(const Aws::String& value) { m_userSettingsArnHasBeenSet = true; m_userSettingsArn = value; } /** *

The ARN of the user settings.

*/ inline void SetUserSettingsArn(Aws::String&& value) { m_userSettingsArnHasBeenSet = true; m_userSettingsArn = std::move(value); } /** *

The ARN of the user settings.

*/ inline void SetUserSettingsArn(const char* value) { m_userSettingsArnHasBeenSet = true; m_userSettingsArn.assign(value); } /** *

The ARN of the user settings.

*/ inline UserSettingsSummary& WithUserSettingsArn(const Aws::String& value) { SetUserSettingsArn(value); return *this;} /** *

The ARN of the user settings.

*/ inline UserSettingsSummary& WithUserSettingsArn(Aws::String&& value) { SetUserSettingsArn(std::move(value)); return *this;} /** *

The ARN of the user settings.

*/ inline UserSettingsSummary& WithUserSettingsArn(const char* value) { SetUserSettingsArn(value); return *this;} private: EnabledType m_copyAllowed; bool m_copyAllowedHasBeenSet = false; int m_disconnectTimeoutInMinutes; bool m_disconnectTimeoutInMinutesHasBeenSet = false; EnabledType m_downloadAllowed; bool m_downloadAllowedHasBeenSet = false; int m_idleDisconnectTimeoutInMinutes; bool m_idleDisconnectTimeoutInMinutesHasBeenSet = false; EnabledType m_pasteAllowed; bool m_pasteAllowedHasBeenSet = false; EnabledType m_printAllowed; bool m_printAllowedHasBeenSet = false; EnabledType m_uploadAllowed; bool m_uploadAllowedHasBeenSet = false; Aws::String m_userSettingsArn; bool m_userSettingsArnHasBeenSet = false; }; } // namespace Model } // namespace WorkSpacesWeb } // namespace Aws