/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace WorkSpacesWeb { namespace Model { /** */ class CreateUserSettingsRequest : public WorkSpacesWebRequest { public: AWS_WORKSPACESWEB_API CreateUserSettingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateUserSettings"; } AWS_WORKSPACESWEB_API Aws::String SerializePayload() const override; /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline CreateUserSettingsRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline CreateUserSettingsRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. Idempotency ensures that an API request completes * only once. With an idempotent request, if the original request completes * successfully, subsequent retries with the same client token returns the result * from the original successful request.

If you do not specify a client * token, one is automatically generated by the AWS SDK.

*/ inline CreateUserSettingsRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

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 CreateUserSettingsRequest& WithCopyAllowed(const EnabledType& value) { SetCopyAllowed(value); return *this;} /** *

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

*/ inline CreateUserSettingsRequest& 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 CreateUserSettingsRequest& 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 CreateUserSettingsRequest& WithDownloadAllowed(const EnabledType& value) { SetDownloadAllowed(value); return *this;} /** *

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

*/ inline CreateUserSettingsRequest& 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 CreateUserSettingsRequest& 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 CreateUserSettingsRequest& WithPasteAllowed(const EnabledType& value) { SetPasteAllowed(value); return *this;} /** *

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

*/ inline CreateUserSettingsRequest& 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 CreateUserSettingsRequest& WithPrintAllowed(const EnabledType& value) { SetPrintAllowed(value); return *this;} /** *

Specifies whether the user can print to the local device.

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

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline CreateUserSettingsRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline CreateUserSettingsRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline CreateUserSettingsRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags to add to the user settings resource. A tag is a key-value pair.

*/ inline CreateUserSettingsRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(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 CreateUserSettingsRequest& WithUploadAllowed(const EnabledType& value) { SetUploadAllowed(value); return *this;} /** *

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

*/ inline CreateUserSettingsRequest& WithUploadAllowed(EnabledType&& value) { SetUploadAllowed(std::move(value)); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; 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; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; EnabledType m_uploadAllowed; bool m_uploadAllowedHasBeenSet = false; }; } // namespace Model } // namespace WorkSpacesWeb } // namespace Aws