7#include <aws/core/utils/Array.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/s3/S3Request.h>
12#include <aws/s3/S3_EXPORTS.h>
13#include <aws/s3/model/ChecksumAlgorithm.h>
14#include <aws/s3/model/ObjectCannedACL.h>
15#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
16#include <aws/s3/model/ObjectLockMode.h>
17#include <aws/s3/model/RequestPayer.h>
18#include <aws/s3/model/ServerSideEncryption.h>
19#include <aws/s3/model/StorageClass.h>
84 m_aCLHasBeenSet =
true;
131 template <
typename BucketT = Aws::String>
133 m_bucketHasBeenSet =
true;
134 m_bucket = std::forward<BucketT>(value);
136 template <
typename BucketT = Aws::String>
151 template <
typename CacheControlT = Aws::String>
153 m_cacheControlHasBeenSet =
true;
154 m_cacheControl = std::forward<CacheControlT>(value);
156 template <
typename CacheControlT = Aws::String>
171 template <
typename ContentDispositionT = Aws::String>
173 m_contentDispositionHasBeenSet =
true;
174 m_contentDisposition = std::forward<ContentDispositionT>(value);
176 template <
typename ContentDispositionT = Aws::String>
192 template <
typename ContentEncodingT = Aws::String>
194 m_contentEncodingHasBeenSet =
true;
195 m_contentEncoding = std::forward<ContentEncodingT>(value);
197 template <
typename ContentEncodingT = Aws::String>
210 template <
typename ContentLanguageT = Aws::String>
212 m_contentLanguageHasBeenSet =
true;
213 m_contentLanguage = std::forward<ContentLanguageT>(value);
215 template <
typename ContentLanguageT = Aws::String>
231 m_contentLengthHasBeenSet =
true;
232 m_contentLength = value;
260 template <
typename ContentMD5T = Aws::String>
262 m_contentMD5HasBeenSet =
true;
263 m_contentMD5 = std::forward<ContentMD5T>(value);
265 template <
typename ContentMD5T = Aws::String>
304 m_checksumAlgorithmHasBeenSet =
true;
305 m_checksumAlgorithm = value;
324 template <
typename ChecksumCRC32T = Aws::String>
326 m_checksumCRC32HasBeenSet =
true;
327 m_checksumCRC32 = std::forward<ChecksumCRC32T>(value);
331 m_checksumCRC32HasBeenSet =
true;
332 m_checksumCRC32.assign(value);
335 template <
typename ChecksumCRC32T = Aws::String>
353 template <
typename ChecksumCRC32CT = Aws::String>
355 m_checksumCRC32CHasBeenSet =
true;
356 m_checksumCRC32C = std::forward<ChecksumCRC32CT>(value);
360 m_checksumCRC32CHasBeenSet =
true;
361 m_checksumCRC32C.assign(value);
364 template <
typename ChecksumCRC32CT = Aws::String>
383 template <
typename ChecksumCRC64NVMET = Aws::String>
385 m_checksumCRC64NVMEHasBeenSet =
true;
386 m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value);
388 template <
typename ChecksumCRC64NVMET = Aws::String>
406 template <
typename ChecksumSHA1T = Aws::String>
408 m_checksumSHA1HasBeenSet =
true;
409 m_checksumSHA1 = std::forward<ChecksumSHA1T>(value);
413 m_checksumSHA1HasBeenSet =
true;
414 m_checksumSHA1.assign(value);
417 template <
typename ChecksumSHA1T = Aws::String>
435 template <
typename ChecksumSHA256T = Aws::String>
437 m_checksumSHA256HasBeenSet =
true;
438 m_checksumSHA256 = std::forward<ChecksumSHA256T>(value);
442 m_checksumSHA256HasBeenSet =
true;
443 m_checksumSHA256.assign(value);
446 template <
typename ChecksumSHA256T = Aws::String>
461 template <
typename ExpiresT = Aws::Utils::DateTime>
463 m_expiresHasBeenSet =
true;
464 m_expires = std::forward<ExpiresT>(value);
466 template <
typename ExpiresT = Aws::Utils::DateTime>
488 template <
typename IfMatchT = Aws::String>
490 m_ifMatchHasBeenSet =
true;
491 m_ifMatch = std::forward<IfMatchT>(value);
493 template <
typename IfMatchT = Aws::String>
514 template <
typename IfNoneMatchT = Aws::String>
516 m_ifNoneMatchHasBeenSet =
true;
517 m_ifNoneMatch = std::forward<IfNoneMatchT>(value);
519 template <
typename IfNoneMatchT = Aws::String>
535 template <
typename GrantFullControlT = Aws::String>
537 m_grantFullControlHasBeenSet =
true;
538 m_grantFullControl = std::forward<GrantFullControlT>(value);
540 template <
typename GrantFullControlT = Aws::String>
556 template <
typename GrantReadT = Aws::String>
558 m_grantReadHasBeenSet =
true;
559 m_grantRead = std::forward<GrantReadT>(value);
561 template <
typename GrantReadT = Aws::String>
577 template <
typename GrantReadACPT = Aws::String>
579 m_grantReadACPHasBeenSet =
true;
580 m_grantReadACP = std::forward<GrantReadACPT>(value);
582 template <
typename GrantReadACPT = Aws::String>
598 template <
typename GrantWriteACPT = Aws::String>
600 m_grantWriteACPHasBeenSet =
true;
601 m_grantWriteACP = std::forward<GrantWriteACPT>(value);
603 template <
typename GrantWriteACPT = Aws::String>
616 template <
typename KeyT = Aws::String>
618 m_keyHasBeenSet =
true;
619 m_key = std::forward<KeyT>(value);
621 template <
typename KeyT = Aws::String>
623 SetKey(std::forward<KeyT>(value));
639 m_writeOffsetBytesHasBeenSet =
true;
640 m_writeOffsetBytes = value;
654 template <
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
656 m_metadataHasBeenSet =
true;
657 m_metadata = std::forward<MetadataT>(value);
659 template <
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
664 template <
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
666 m_metadataHasBeenSet =
true;
667 m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
738 m_serverSideEncryptionHasBeenSet =
true;
739 m_serverSideEncryption = value;
764 m_storageClassHasBeenSet =
true;
765 m_storageClass = value;
795 template <
typename WebsiteRedirectLocationT = Aws::String>
797 m_websiteRedirectLocationHasBeenSet =
true;
798 m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value);
800 template <
typename WebsiteRedirectLocationT = Aws::String>
815 template <
typename SSECustomerAlgorithmT = Aws::String>
817 m_sSECustomerAlgorithmHasBeenSet =
true;
818 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
820 template <
typename SSECustomerAlgorithmT = Aws::String>
838 template <
typename SSECustomerKeyT = Aws::String>
840 m_sSECustomerKeyHasBeenSet =
true;
841 m_sSECustomerKey = std::forward<SSECustomerKeyT>(value);
843 template <
typename SSECustomerKeyT = Aws::String>
859 template <
typename SSECustomerKeyMD5T = Aws::String>
861 m_sSECustomerKeyMD5HasBeenSet =
true;
862 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
864 template <
typename SSECustomerKeyMD5T = Aws::String>
899 template <
typename SSEKMSKeyIdT = Aws::String>
901 m_sSEKMSKeyIdHasBeenSet =
true;
902 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
904 template <
typename SSEKMSKeyIdT = Aws::String>
930 template <
typename SSEKMSEncryptionContextT = Aws::String>
932 m_sSEKMSEncryptionContextHasBeenSet =
true;
933 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
935 template <
typename SSEKMSEncryptionContextT = Aws::String>
968 m_bucketKeyEnabledHasBeenSet =
true;
969 m_bucketKeyEnabled = value;
982 m_requestPayerHasBeenSet =
true;
983 m_requestPayer = value;
999 template <
typename TaggingT = Aws::String>
1001 m_taggingHasBeenSet =
true;
1002 m_tagging = std::forward<TaggingT>(value);
1004 template <
typename TaggingT = Aws::String>
1019 m_objectLockModeHasBeenSet =
true;
1020 m_objectLockMode = value;
1036 template <
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1038 m_objectLockRetainUntilDateHasBeenSet =
true;
1039 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
1041 template <
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1059 m_objectLockLegalHoldStatusHasBeenSet =
true;
1060 m_objectLockLegalHoldStatus = value;
1076 template <
typename ExpectedBucketOwnerT = Aws::String>
1078 m_expectedBucketOwnerHasBeenSet =
true;
1079 m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value);
1081 template <
typename ExpectedBucketOwnerT = Aws::String>
1092 template <
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1094 m_customizedAccessLogTagHasBeenSet =
true;
1095 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
1097 template <
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1102 template <
typename CustomizedAccessLogTagKeyT = Aws::String,
typename CustomizedAccessLogTagValueT = Aws::String>
1104 m_customizedAccessLogTagHasBeenSet =
true;
1105 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
1111 bool m_aCLHasBeenSet =
false;
1114 bool m_bucketHasBeenSet =
false;
1117 bool m_cacheControlHasBeenSet =
false;
1120 bool m_contentDispositionHasBeenSet =
false;
1123 bool m_contentEncodingHasBeenSet =
false;
1126 bool m_contentLanguageHasBeenSet =
false;
1128 long long m_contentLength{0};
1129 bool m_contentLengthHasBeenSet =
false;
1132 bool m_contentMD5HasBeenSet =
false;
1135 bool m_checksumAlgorithmHasBeenSet =
false;
1138 bool m_checksumCRC32HasBeenSet =
false;
1141 bool m_checksumCRC32CHasBeenSet =
false;
1144 bool m_checksumCRC64NVMEHasBeenSet =
false;
1147 bool m_checksumSHA1HasBeenSet =
false;
1150 bool m_checksumSHA256HasBeenSet =
false;
1153 bool m_expiresHasBeenSet =
false;
1156 bool m_ifMatchHasBeenSet =
false;
1159 bool m_ifNoneMatchHasBeenSet =
false;
1162 bool m_grantFullControlHasBeenSet =
false;
1165 bool m_grantReadHasBeenSet =
false;
1168 bool m_grantReadACPHasBeenSet =
false;
1171 bool m_grantWriteACPHasBeenSet =
false;
1174 bool m_keyHasBeenSet =
false;
1176 long long m_writeOffsetBytes{0};
1177 bool m_writeOffsetBytesHasBeenSet =
false;
1180 bool m_metadataHasBeenSet =
false;
1183 bool m_serverSideEncryptionHasBeenSet =
false;
1186 bool m_storageClassHasBeenSet =
false;
1189 bool m_websiteRedirectLocationHasBeenSet =
false;
1192 bool m_sSECustomerAlgorithmHasBeenSet =
false;
1195 bool m_sSECustomerKeyHasBeenSet =
false;
1198 bool m_sSECustomerKeyMD5HasBeenSet =
false;
1201 bool m_sSEKMSKeyIdHasBeenSet =
false;
1204 bool m_sSEKMSEncryptionContextHasBeenSet =
false;
1206 bool m_bucketKeyEnabled{
false};
1207 bool m_bucketKeyEnabledHasBeenSet =
false;
1210 bool m_requestPayerHasBeenSet =
false;
1213 bool m_taggingHasBeenSet =
false;
1216 bool m_objectLockModeHasBeenSet =
false;
1219 bool m_objectLockRetainUntilDateHasBeenSet =
false;
1222 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
1225 bool m_expectedBucketOwnerHasBeenSet =
false;
1228 bool m_customizedAccessLogTagHasBeenSet =
false;
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
bool StorageClassHasBeenSet() const
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
PutObjectRequest & WithGrantFullControl(GrantFullControlT &&value)
const Aws::String & GetSSEKMSKeyId() const
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetChecksumSHA256(ChecksumSHA256T &&value)
void SetChecksumCRC32C(const char *value)
bool CacheControlHasBeenSet() const
PutObjectRequest & WithGrantWriteACP(GrantWriteACPT &&value)
bool RequestPayerHasBeenSet() const
void SetIfMatch(IfMatchT &&value)
PutObjectRequest & WithContentDisposition(ContentDispositionT &&value)
void SetKey(KeyT &&value)
PutObjectRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
PutObjectRequest & WithObjectLockMode(ObjectLockMode value)
PutObjectRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
void SetIfNoneMatch(IfNoneMatchT &&value)
void SetChecksumSHA1(ChecksumSHA1T &&value)
void SetChecksumSHA1(const char *value)
bool GrantFullControlHasBeenSet() const
const Aws::String & GetChecksumCRC32C() const
void SetBucketKeyEnabled(bool value)
PutObjectRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
PutObjectRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
virtual const char * GetServiceRequestName() const override
PutObjectRequest & WithChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
PutObjectRequest & WithIfMatch(IfMatchT &&value)
PutObjectRequest & WithChecksumSHA256(ChecksumSHA256T &&value)
long long GetWriteOffsetBytes() const
StorageClass GetStorageClass() const
const Aws::String & GetExpectedBucketOwner() const
const Aws::String & GetChecksumCRC64NVME() const
void SetStorageClass(StorageClass value)
void SetWriteOffsetBytes(long long value)
PutObjectRequest & WithWriteOffsetBytes(long long value)
bool SSECustomerKeyHasBeenSet() const
bool SSECustomerAlgorithmHasBeenSet() const
const Aws::String & GetGrantRead() const
PutObjectRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
bool CustomizedAccessLogTagHasBeenSet() const
RequestPayer GetRequestPayer() const
PutObjectRequest & WithBucketKeyEnabled(bool value)
PutObjectRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
const Aws::String & GetIfNoneMatch() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
void SetChecksumCRC32(ChecksumCRC32T &&value)
bool ContentLanguageHasBeenSet() const
bool ContentLengthHasBeenSet() const
AWS_S3_API PutObjectRequest()=default
bool IfNoneMatchHasBeenSet() const
const Aws::String & GetContentLanguage() const
void SetSSECustomerKey(SSECustomerKeyT &&value)
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
long long GetContentLength() const
bool ExpiresHasBeenSet() const
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
const Aws::String & GetContentEncoding() const
bool ChecksumSHA1HasBeenSet() const
bool ChecksumCRC64NVMEHasBeenSet() const
PutObjectRequest & WithStorageClass(StorageClass value)
PutObjectRequest & WithACL(ObjectCannedACL value)
bool GetBucketKeyEnabled() const
void SetExpires(ExpiresT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
void SetChecksumSHA256(const char *value)
const Aws::String & GetTagging() const
void SetCacheControl(CacheControlT &&value)
PutObjectRequest & WithGrantRead(GrantReadT &&value)
ObjectLockMode GetObjectLockMode() const
bool ContentEncodingHasBeenSet() const
PutObjectRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
AWS_S3_API Aws::String GetChecksumAlgorithmName() const override
void SetChecksumAlgorithm(ChecksumAlgorithm value)
bool SSECustomerKeyMD5HasBeenSet() const
void SetGrantFullControl(GrantFullControlT &&value)
bool TaggingHasBeenSet() const
void SetContentLanguage(ContentLanguageT &&value)
PutObjectRequest & WithContentLanguage(ContentLanguageT &&value)
PutObjectRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
void SetChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
bool ACLHasBeenSet() const
bool GrantWriteACPHasBeenSet() const
bool IfMatchHasBeenSet() const
const Aws::String & GetSSECustomerKey() const
const Aws::String & GetContentMD5() const
const Aws::String & GetSSECustomerAlgorithm() const
const Aws::String & GetGrantFullControl() const
bool ObjectLockRetainUntilDateHasBeenSet() const
PutObjectRequest & WithServerSideEncryption(ServerSideEncryption value)
bool BucketKeyEnabledHasBeenSet() const
void SetContentLength(long long value)
void SetACL(ObjectCannedACL value)
PutObjectRequest & WithBucket(BucketT &&value)
bool ObjectLockLegalHoldStatusHasBeenSet() const
const Aws::Utils::DateTime & GetExpires() const
void SetServerSideEncryption(ServerSideEncryption value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
bool ExpectedBucketOwnerHasBeenSet() const
bool GrantReadHasBeenSet() const
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
PutObjectRequest & WithIfNoneMatch(IfNoneMatchT &&value)
void SetContentMD5(ContentMD5T &&value)
const Aws::String & GetGrantReadACP() const
bool ChecksumSHA256HasBeenSet() const
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
PutObjectRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
void SetMetadata(MetadataT &&value)
bool MetadataHasBeenSet() const
const Aws::String & GetChecksumCRC32() const
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
bool ChecksumCRC32CHasBeenSet() const
bool GrantReadACPHasBeenSet() const
ServerSideEncryption GetServerSideEncryption() const
const Aws::String & GetChecksumSHA1() const
PutObjectRequest & WithKey(KeyT &&value)
PutObjectRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
void SetGrantReadACP(GrantReadACPT &&value)
PutObjectRequest & WithChecksumCRC32(ChecksumCRC32T &&value)
const Aws::String & GetKey() const
const Aws::String & GetGrantWriteACP() const
const Aws::String & GetBucket() const
PutObjectRequest & WithContentEncoding(ContentEncodingT &&value)
void SetChecksumCRC32(const char *value)
bool BucketHasBeenSet() const
void SetChecksumCRC32C(ChecksumCRC32CT &&value)
const Aws::String & GetChecksumSHA256() const
void SetTagging(TaggingT &&value)
PutObjectRequest & WithExpires(ExpiresT &&value)
PutObjectRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
const Aws::String & GetWebsiteRedirectLocation() const
bool ContentDispositionHasBeenSet() const
bool ChecksumCRC32HasBeenSet() const
PutObjectRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
const Aws::String & GetSSECustomerKeyMD5() const
bool SSEKMSKeyIdHasBeenSet() const
PutObjectRequest & WithTagging(TaggingT &&value)
ObjectCannedACL GetACL() const
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
bool ServerSideEncryptionHasBeenSet() const
void SetGrantRead(GrantReadT &&value)
bool ContentMD5HasBeenSet() const
PutObjectRequest & WithMetadata(MetadataT &&value)
const Aws::String & GetSSEKMSEncryptionContext() const
ChecksumAlgorithm GetChecksumAlgorithm() const
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
void SetRequestPayer(RequestPayer value)
void SetObjectLockMode(ObjectLockMode value)
PutObjectRequest & WithContentMD5(ContentMD5T &&value)
bool SSEKMSEncryptionContextHasBeenSet() const
bool KeyHasBeenSet() const
void SetBucket(BucketT &&value)
void SetContentEncoding(ContentEncodingT &&value)
PutObjectRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
PutObjectRequest & WithChecksumCRC32C(ChecksumCRC32CT &&value)
PutObjectRequest & WithCacheControl(CacheControlT &&value)
PutObjectRequest & WithChecksumSHA1(ChecksumSHA1T &&value)
void SetGrantWriteACP(GrantWriteACPT &&value)
bool WriteOffsetBytesHasBeenSet() const
bool WebsiteRedirectLocationHasBeenSet() const
bool ObjectLockModeHasBeenSet() const
const Aws::String & GetIfMatch() const
const Aws::String & GetCacheControl() const
const Aws::String & GetContentDisposition() const
bool ChecksumAlgorithmHasBeenSet() const
void SetContentDisposition(ContentDispositionT &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
PutObjectRequest & WithRequestPayer(RequestPayer value)
PutObjectRequest & WithContentLength(long long value)
PutObjectRequest & WithGrantReadACP(GrantReadACPT &&value)
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