7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/S3Request.h>
9#include <aws/s3/model/ObjectCannedACL.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/s3/model/ServerSideEncryption.h>
14#include <aws/s3/model/StorageClass.h>
15#include <aws/s3/model/RequestPayer.h>
16#include <aws/s3/model/ObjectLockMode.h>
17#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
18#include <aws/s3/model/ChecksumAlgorithm.h>
19#include <aws/s3/model/ChecksumType.h>
121 template<
typename BucketT = Aws::String>
122 void SetBucket(BucketT&& value) { m_bucketHasBeenSet =
true; m_bucket = std::forward<BucketT>(value); }
123 template<
typename BucketT = Aws::String>
133 template<
typename CacheControlT = Aws::String>
134 void SetCacheControl(CacheControlT&& value) { m_cacheControlHasBeenSet =
true; m_cacheControl = std::forward<CacheControlT>(value); }
135 template<
typename CacheControlT = Aws::String>
145 template<
typename ContentDispositionT = Aws::String>
146 void SetContentDisposition(ContentDispositionT&& value) { m_contentDispositionHasBeenSet =
true; m_contentDisposition = std::forward<ContentDispositionT>(value); }
147 template<
typename ContentDispositionT = Aws::String>
160 template<
typename ContentEncodingT = Aws::String>
161 void SetContentEncoding(ContentEncodingT&& value) { m_contentEncodingHasBeenSet =
true; m_contentEncoding = std::forward<ContentEncodingT>(value); }
162 template<
typename ContentEncodingT = Aws::String>
172 template<
typename ContentLanguageT = Aws::String>
173 void SetContentLanguage(ContentLanguageT&& value) { m_contentLanguageHasBeenSet =
true; m_contentLanguage = std::forward<ContentLanguageT>(value); }
174 template<
typename ContentLanguageT = Aws::String>
184 template<
typename ContentTypeT = Aws::String>
185 void SetContentType(ContentTypeT&& value) { m_contentTypeHasBeenSet =
true; m_contentType = std::forward<ContentTypeT>(value); }
186 template<
typename ContentTypeT = Aws::String>
196 template<
typename ExpiresT = Aws::Utils::DateTime>
197 void SetExpires(ExpiresT&& value) { m_expiresHasBeenSet =
true; m_expires = std::forward<ExpiresT>(value); }
198 template<
typename ExpiresT = Aws::Utils::DateTime>
237 template<
typename GrantFullControlT = Aws::String>
238 void SetGrantFullControl(GrantFullControlT&& value) { m_grantFullControlHasBeenSet =
true; m_grantFullControl = std::forward<GrantFullControlT>(value); }
239 template<
typename GrantFullControlT = Aws::String>
278 template<
typename GrantReadT = Aws::String>
279 void SetGrantRead(GrantReadT&& value) { m_grantReadHasBeenSet =
true; m_grantRead = std::forward<GrantReadT>(value); }
280 template<
typename GrantReadT = Aws::String>
319 template<
typename GrantReadACPT = Aws::String>
320 void SetGrantReadACP(GrantReadACPT&& value) { m_grantReadACPHasBeenSet =
true; m_grantReadACP = std::forward<GrantReadACPT>(value); }
321 template<
typename GrantReadACPT = Aws::String>
360 template<
typename GrantWriteACPT = Aws::String>
361 void SetGrantWriteACP(GrantWriteACPT&& value) { m_grantWriteACPHasBeenSet =
true; m_grantWriteACP = std::forward<GrantWriteACPT>(value); }
362 template<
typename GrantWriteACPT = Aws::String>
372 template<
typename KeyT = Aws::String>
373 void SetKey(KeyT&& value) { m_keyHasBeenSet =
true; m_key = std::forward<KeyT>(value); }
374 template<
typename KeyT = Aws::String>
384 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
385 void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet =
true; m_metadata = std::forward<MetadataT>(value); }
386 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
388 template<
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
390 m_metadataHasBeenSet =
true; m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
return *
this;
481 template<
typename WebsiteRedirectLocationT = Aws::String>
482 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) { m_websiteRedirectLocationHasBeenSet =
true; m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value); }
483 template<
typename WebsiteRedirectLocationT = Aws::String>
495 template<
typename SSECustomerAlgorithmT = Aws::String>
496 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) { m_sSECustomerAlgorithmHasBeenSet =
true; m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value); }
497 template<
typename SSECustomerAlgorithmT = Aws::String>
512 template<
typename SSECustomerKeyT = Aws::String>
513 void SetSSECustomerKey(SSECustomerKeyT&& value) { m_sSECustomerKeyHasBeenSet =
true; m_sSECustomerKey = std::forward<SSECustomerKeyT>(value); }
514 template<
typename SSECustomerKeyT = Aws::String>
527 template<
typename SSECustomerKeyMD5T = Aws::String>
528 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) { m_sSECustomerKeyMD5HasBeenSet =
true; m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value); }
529 template<
typename SSECustomerKeyMD5T = Aws::String>
561 template<
typename SSEKMSKeyIdT = Aws::String>
562 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) { m_sSEKMSKeyIdHasBeenSet =
true; m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value); }
563 template<
typename SSEKMSKeyIdT = Aws::String>
579 template<
typename SSEKMSEncryptionContextT = Aws::String>
580 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) { m_sSEKMSEncryptionContextHasBeenSet =
true; m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value); }
581 template<
typename SSEKMSEncryptionContextT = Aws::String>
610 inline void SetBucketKeyEnabled(
bool value) { m_bucketKeyEnabledHasBeenSet =
true; m_bucketKeyEnabled = value; }
630 template<
typename TaggingT = Aws::String>
631 void SetTagging(TaggingT&& value) { m_taggingHasBeenSet =
true; m_tagging = std::forward<TaggingT>(value); }
632 template<
typename TaggingT = Aws::String>
655 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
656 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { m_objectLockRetainUntilDateHasBeenSet =
true; m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value); }
657 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
680 template<
typename ExpectedBucketOwnerT = Aws::String>
681 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet =
true; m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value); }
682 template<
typename ExpectedBucketOwnerT = Aws::String>
716 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
717 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value); }
718 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
720 template<
typename CustomizedAccessLogTagKeyT = Aws::String,
typename CustomizedAccessLogTagValueT = Aws::String>
722 m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
return *
this;
728 bool m_aCLHasBeenSet =
false;
731 bool m_bucketHasBeenSet =
false;
734 bool m_cacheControlHasBeenSet =
false;
737 bool m_contentDispositionHasBeenSet =
false;
740 bool m_contentEncodingHasBeenSet =
false;
743 bool m_contentLanguageHasBeenSet =
false;
746 bool m_contentTypeHasBeenSet =
false;
749 bool m_expiresHasBeenSet =
false;
752 bool m_grantFullControlHasBeenSet =
false;
755 bool m_grantReadHasBeenSet =
false;
758 bool m_grantReadACPHasBeenSet =
false;
761 bool m_grantWriteACPHasBeenSet =
false;
764 bool m_keyHasBeenSet =
false;
767 bool m_metadataHasBeenSet =
false;
770 bool m_serverSideEncryptionHasBeenSet =
false;
773 bool m_storageClassHasBeenSet =
false;
776 bool m_websiteRedirectLocationHasBeenSet =
false;
779 bool m_sSECustomerAlgorithmHasBeenSet =
false;
782 bool m_sSECustomerKeyHasBeenSet =
false;
785 bool m_sSECustomerKeyMD5HasBeenSet =
false;
788 bool m_sSEKMSKeyIdHasBeenSet =
false;
791 bool m_sSEKMSEncryptionContextHasBeenSet =
false;
793 bool m_bucketKeyEnabled{
false};
794 bool m_bucketKeyEnabledHasBeenSet =
false;
797 bool m_requestPayerHasBeenSet =
false;
800 bool m_taggingHasBeenSet =
false;
803 bool m_objectLockModeHasBeenSet =
false;
806 bool m_objectLockRetainUntilDateHasBeenSet =
false;
809 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
812 bool m_expectedBucketOwnerHasBeenSet =
false;
815 bool m_checksumAlgorithmHasBeenSet =
false;
818 bool m_checksumTypeHasBeenSet =
false;
821 bool m_customizedAccessLogTagHasBeenSet =
false;
CreateMultipartUploadRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
bool BucketKeyEnabledHasBeenSet() const
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
CreateMultipartUploadRequest & WithTagging(TaggingT &&value)
bool ChecksumTypeHasBeenSet() const
const Aws::String & GetSSECustomerAlgorithm() const
const Aws::String & GetSSECustomerKeyMD5() const
void SetExpires(ExpiresT &&value)
bool SSECustomerKeyMD5HasBeenSet() const
ChecksumAlgorithm GetChecksumAlgorithm() const
bool StorageClassHasBeenSet() const
virtual const char * GetServiceRequestName() const override
void SetChecksumAlgorithm(ChecksumAlgorithm value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
void SetBucket(BucketT &&value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
const Aws::String & GetGrantRead() const
bool SSEKMSEncryptionContextHasBeenSet() const
CreateMultipartUploadRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetSSECustomerKey(SSECustomerKeyT &&value)
bool ObjectLockModeHasBeenSet() const
void SetChecksumType(ChecksumType value)
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateMultipartUploadRequest & WithContentType(ContentTypeT &&value)
CreateMultipartUploadRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
CreateMultipartUploadRequest & WithCacheControl(CacheControlT &&value)
CreateMultipartUploadRequest & WithMetadata(MetadataT &&value)
CreateMultipartUploadRequest & WithGrantWriteACP(GrantWriteACPT &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
bool GrantFullControlHasBeenSet() const
bool CacheControlHasBeenSet() const
const Aws::String & GetGrantWriteACP() const
const Aws::String & GetTagging() const
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetContentType(ContentTypeT &&value)
bool GrantReadACPHasBeenSet() const
void SetMetadata(MetadataT &&value)
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
const Aws::String & GetCacheControl() const
CreateMultipartUploadRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
const Aws::String & GetBucket() const
bool ACLHasBeenSet() const
void SetGrantWriteACP(GrantWriteACPT &&value)
AWS_S3_API CreateMultipartUploadRequest()=default
CreateMultipartUploadRequest & WithGrantReadACP(GrantReadACPT &&value)
const Aws::String & GetGrantReadACP() const
ObjectCannedACL GetACL() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
const Aws::String & GetContentEncoding() const
CreateMultipartUploadRequest & WithACL(ObjectCannedACL value)
const Aws::String & GetSSEKMSEncryptionContext() const
void SetACL(ObjectCannedACL value)
bool ChecksumAlgorithmHasBeenSet() const
const Aws::Utils::DateTime & GetExpires() const
void SetCacheControl(CacheControlT &&value)
bool RequestPayerHasBeenSet() const
CreateMultipartUploadRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
CreateMultipartUploadRequest & WithExpires(ExpiresT &&value)
ChecksumType GetChecksumType() const
CreateMultipartUploadRequest & WithContentLanguage(ContentLanguageT &&value)
CreateMultipartUploadRequest & WithBucket(BucketT &&value)
CreateMultipartUploadRequest & WithServerSideEncryption(ServerSideEncryption value)
AWS_S3_API Aws::String SerializePayload() const override
void SetGrantFullControl(GrantFullControlT &&value)
bool GrantWriteACPHasBeenSet() const
bool ContentEncodingHasBeenSet() const
CreateMultipartUploadRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
void SetKey(KeyT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
CreateMultipartUploadRequest & WithGrantRead(GrantReadT &&value)
CreateMultipartUploadRequest & WithKey(KeyT &&value)
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
bool TaggingHasBeenSet() const
StorageClass GetStorageClass() const
bool ContentDispositionHasBeenSet() const
void SetTagging(TaggingT &&value)
CreateMultipartUploadRequest & WithObjectLockMode(ObjectLockMode value)
const Aws::String & GetContentLanguage() const
bool WebsiteRedirectLocationHasBeenSet() const
const Aws::String & GetExpectedBucketOwner() const
const Aws::String & GetWebsiteRedirectLocation() const
CreateMultipartUploadRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
const Aws::String & GetSSEKMSKeyId() const
void SetGrantReadACP(GrantReadACPT &&value)
bool CustomizedAccessLogTagHasBeenSet() const
bool GrantReadHasBeenSet() const
CreateMultipartUploadRequest & WithChecksumType(ChecksumType value)
CreateMultipartUploadRequest & WithRequestPayer(RequestPayer value)
const Aws::String & GetGrantFullControl() const
const Aws::String & GetContentType() const
CreateMultipartUploadRequest & WithBucketKeyEnabled(bool value)
CreateMultipartUploadRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
bool KeyHasBeenSet() const
void SetContentEncoding(ContentEncodingT &&value)
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
bool ObjectLockRetainUntilDateHasBeenSet() const
bool ExpiresHasBeenSet() const
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
CreateMultipartUploadRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
void SetContentLanguage(ContentLanguageT &&value)
ServerSideEncryption GetServerSideEncryption() const
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
void SetStorageClass(StorageClass value)
bool SSECustomerKeyHasBeenSet() const
bool BucketHasBeenSet() const
bool GetBucketKeyEnabled() const
CreateMultipartUploadRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
CreateMultipartUploadRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
const Aws::String & GetSSECustomerKey() const
const Aws::String & GetContentDisposition() const
void SetRequestPayer(RequestPayer value)
ObjectLockMode GetObjectLockMode() const
void SetBucketKeyEnabled(bool value)
const Aws::String & GetKey() const
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
bool SSEKMSKeyIdHasBeenSet() const
bool SSECustomerAlgorithmHasBeenSet() const
void SetContentDisposition(ContentDispositionT &&value)
void SetObjectLockMode(ObjectLockMode value)
CreateMultipartUploadRequest & WithContentDisposition(ContentDispositionT &&value)
void SetGrantRead(GrantReadT &&value)
bool ExpectedBucketOwnerHasBeenSet() const
void SetServerSideEncryption(ServerSideEncryption value)
bool MetadataHasBeenSet() const
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
bool ObjectLockLegalHoldStatusHasBeenSet() const
CreateMultipartUploadRequest & WithGrantFullControl(GrantFullControlT &&value)
CreateMultipartUploadRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
CreateMultipartUploadRequest & WithStorageClass(StorageClass value)
bool ServerSideEncryptionHasBeenSet() const
CreateMultipartUploadRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
bool ContentTypeHasBeenSet() const
RequestPayer GetRequestPayer() const
bool ContentLanguageHasBeenSet() const
CreateMultipartUploadRequest & WithContentEncoding(ContentEncodingT &&value)
Aws::Endpoint::EndpointParameters EndpointParameters
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
ObjectLockLegalHoldStatus
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_iostream< char, std::char_traits< char > > IOStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String