/** * 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 ConnectParticipant { namespace Model { /** *

Fields to be used while uploading the attachment.

See Also:

* AWS * API Reference

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

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline UploadMetadata& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline UploadMetadata& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

This is the pre-signed URL that can be used for uploading the file to Amazon * S3 when used in response to StartAttachmentUpload.

*/ inline UploadMetadata& WithUrl(const char* value) { SetUrl(value); return *this;} /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline const Aws::String& GetUrlExpiry() const{ return m_urlExpiry; } /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline bool UrlExpiryHasBeenSet() const { return m_urlExpiryHasBeenSet; } /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetUrlExpiry(const Aws::String& value) { m_urlExpiryHasBeenSet = true; m_urlExpiry = value; } /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetUrlExpiry(Aws::String&& value) { m_urlExpiryHasBeenSet = true; m_urlExpiry = std::move(value); } /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline void SetUrlExpiry(const char* value) { m_urlExpiryHasBeenSet = true; m_urlExpiry.assign(value); } /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline UploadMetadata& WithUrlExpiry(const Aws::String& value) { SetUrlExpiry(value); return *this;} /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline UploadMetadata& WithUrlExpiry(Aws::String&& value) { SetUrlExpiry(std::move(value)); return *this;} /** *

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

*/ inline UploadMetadata& WithUrlExpiry(const char* value) { SetUrlExpiry(value); return *this;} /** *

The headers to be provided while uploading the file to the URL.

*/ inline const Aws::Map& GetHeadersToInclude() const{ return m_headersToInclude; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline bool HeadersToIncludeHasBeenSet() const { return m_headersToIncludeHasBeenSet; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline void SetHeadersToInclude(const Aws::Map& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude = value; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline void SetHeadersToInclude(Aws::Map&& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude = std::move(value); } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& WithHeadersToInclude(const Aws::Map& value) { SetHeadersToInclude(value); return *this;} /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& WithHeadersToInclude(Aws::Map&& value) { SetHeadersToInclude(std::move(value)); return *this;} /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(const Aws::String& key, const Aws::String& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(key, value); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(Aws::String&& key, const Aws::String& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(std::move(key), value); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(const Aws::String& key, Aws::String&& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(key, std::move(value)); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(Aws::String&& key, Aws::String&& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(std::move(key), std::move(value)); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(const char* key, Aws::String&& value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(key, std::move(value)); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(Aws::String&& key, const char* value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(std::move(key), value); return *this; } /** *

The headers to be provided while uploading the file to the URL.

*/ inline UploadMetadata& AddHeadersToInclude(const char* key, const char* value) { m_headersToIncludeHasBeenSet = true; m_headersToInclude.emplace(key, value); return *this; } private: Aws::String m_url; bool m_urlHasBeenSet = false; Aws::String m_urlExpiry; bool m_urlExpiryHasBeenSet = false; Aws::Map m_headersToInclude; bool m_headersToIncludeHasBeenSet = false; }; } // namespace Model } // namespace ConnectParticipant } // namespace Aws