7#include <aws/s3-crt/S3Crt_EXPORTS.h>
8#include <aws/s3-crt/S3CrtRequest.h>
9#include <aws/s3-crt/model/ObjectCannedACL.h>
10#include <aws/core/utils/Array.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/s3-crt/model/ChecksumAlgorithm.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/s3-crt/model/ServerSideEncryption.h>
16#include <aws/s3-crt/model/StorageClass.h>
17#include <aws/s3-crt/model/RequestPayer.h>
18#include <aws/s3-crt/model/ObjectLockMode.h>
19#include <aws/s3-crt/model/ObjectLockLegalHoldStatus.h>
129 template<
typename BucketT = Aws::String>
130 void SetBucket(BucketT&& value) { m_bucketHasBeenSet =
true; m_bucket = std::forward<BucketT>(value); }
131 template<
typename BucketT = Aws::String>
143 template<
typename CacheControlT = Aws::String>
144 void SetCacheControl(CacheControlT&& value) { m_cacheControlHasBeenSet =
true; m_cacheControl = std::forward<CacheControlT>(value); }
145 template<
typename CacheControlT = Aws::String>
157 template<
typename ContentDispositionT = Aws::String>
158 void SetContentDisposition(ContentDispositionT&& value) { m_contentDispositionHasBeenSet =
true; m_contentDisposition = std::forward<ContentDispositionT>(value); }
159 template<
typename ContentDispositionT = Aws::String>
172 template<
typename ContentEncodingT = Aws::String>
173 void SetContentEncoding(ContentEncodingT&& value) { m_contentEncodingHasBeenSet =
true; m_contentEncoding = std::forward<ContentEncodingT>(value); }
174 template<
typename ContentEncodingT = Aws::String>
184 template<
typename ContentLanguageT = Aws::String>
185 void SetContentLanguage(ContentLanguageT&& value) { m_contentLanguageHasBeenSet =
true; m_contentLanguage = std::forward<ContentLanguageT>(value); }
186 template<
typename ContentLanguageT = Aws::String>
198 inline void SetContentLength(
long long value) { m_contentLengthHasBeenSet =
true; m_contentLength = value; }
222 template<
typename ContentMD5T = Aws::String>
223 void SetContentMD5(ContentMD5T&& value) { m_contentMD5HasBeenSet =
true; m_contentMD5 = std::forward<ContentMD5T>(value); }
224 template<
typename ContentMD5T = Aws::String>
274 template<
typename ChecksumCRC32T = Aws::String>
277 template<
typename ChecksumCRC32T = Aws::String>
292 template<
typename ChecksumCRC32CT = Aws::String>
295 template<
typename ChecksumCRC32CT = Aws::String>
311 template<
typename ChecksumCRC64NVMET = Aws::String>
312 void SetChecksumCRC64NVME(ChecksumCRC64NVMET&& value) { m_checksumCRC64NVMEHasBeenSet =
true; m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value); }
313 template<
typename ChecksumCRC64NVMET = Aws::String>
328 template<
typename ChecksumSHA1T = Aws::String>
331 template<
typename ChecksumSHA1T = Aws::String>
346 template<
typename ChecksumSHA256T = Aws::String>
349 template<
typename ChecksumSHA256T = Aws::String>
361 template<
typename ExpiresT = Aws::Utils::DateTime>
362 void SetExpires(ExpiresT&& value) { m_expiresHasBeenSet =
true; m_expires = std::forward<ExpiresT>(value); }
363 template<
typename ExpiresT = Aws::Utils::DateTime>
382 template<
typename IfMatchT = Aws::String>
383 void SetIfMatch(IfMatchT&& value) { m_ifMatchHasBeenSet =
true; m_ifMatch = std::forward<IfMatchT>(value); }
384 template<
typename IfMatchT = Aws::String>
402 template<
typename IfNoneMatchT = Aws::String>
403 void SetIfNoneMatch(IfNoneMatchT&& value) { m_ifNoneMatchHasBeenSet =
true; m_ifNoneMatch = std::forward<IfNoneMatchT>(value); }
404 template<
typename IfNoneMatchT = Aws::String>
417 template<
typename GrantFullControlT = Aws::String>
418 void SetGrantFullControl(GrantFullControlT&& value) { m_grantFullControlHasBeenSet =
true; m_grantFullControl = std::forward<GrantFullControlT>(value); }
419 template<
typename GrantFullControlT = Aws::String>
432 template<
typename GrantReadT = Aws::String>
433 void SetGrantRead(GrantReadT&& value) { m_grantReadHasBeenSet =
true; m_grantRead = std::forward<GrantReadT>(value); }
434 template<
typename GrantReadT = Aws::String>
447 template<
typename GrantReadACPT = Aws::String>
448 void SetGrantReadACP(GrantReadACPT&& value) { m_grantReadACPHasBeenSet =
true; m_grantReadACP = std::forward<GrantReadACPT>(value); }
449 template<
typename GrantReadACPT = Aws::String>
462 template<
typename GrantWriteACPT = Aws::String>
463 void SetGrantWriteACP(GrantWriteACPT&& value) { m_grantWriteACPHasBeenSet =
true; m_grantWriteACP = std::forward<GrantWriteACPT>(value); }
464 template<
typename GrantWriteACPT = Aws::String>
474 template<
typename KeyT = Aws::String>
475 void SetKey(KeyT&& value) { m_keyHasBeenSet =
true; m_key = std::forward<KeyT>(value); }
476 template<
typename KeyT = Aws::String>
490 inline void SetWriteOffsetBytes(
long long value) { m_writeOffsetBytesHasBeenSet =
true; m_writeOffsetBytes = value; }
500 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
501 void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet =
true; m_metadata = std::forward<MetadataT>(value); }
502 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
504 template<
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
506 m_metadataHasBeenSet =
true; m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
return *
this;
621 template<
typename WebsiteRedirectLocationT = Aws::String>
622 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) { m_websiteRedirectLocationHasBeenSet =
true; m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value); }
623 template<
typename WebsiteRedirectLocationT = Aws::String>
635 template<
typename SSECustomerAlgorithmT = Aws::String>
636 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) { m_sSECustomerAlgorithmHasBeenSet =
true; m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value); }
637 template<
typename SSECustomerAlgorithmT = Aws::String>
652 template<
typename SSECustomerKeyT = Aws::String>
653 void SetSSECustomerKey(SSECustomerKeyT&& value) { m_sSECustomerKeyHasBeenSet =
true; m_sSECustomerKey = std::forward<SSECustomerKeyT>(value); }
654 template<
typename SSECustomerKeyT = Aws::String>
667 template<
typename SSECustomerKeyMD5T = Aws::String>
668 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) { m_sSECustomerKeyMD5HasBeenSet =
true; m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value); }
669 template<
typename SSECustomerKeyMD5T = Aws::String>
701 template<
typename SSEKMSKeyIdT = Aws::String>
702 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) { m_sSEKMSKeyIdHasBeenSet =
true; m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value); }
703 template<
typename SSEKMSKeyIdT = Aws::String>
726 template<
typename SSEKMSEncryptionContextT = Aws::String>
727 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) { m_sSEKMSEncryptionContextHasBeenSet =
true; m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value); }
728 template<
typename SSEKMSEncryptionContextT = Aws::String>
757 inline void SetBucketKeyEnabled(
bool value) { m_bucketKeyEnabledHasBeenSet =
true; m_bucketKeyEnabled = value; }
777 template<
typename TaggingT = Aws::String>
778 void SetTagging(TaggingT&& value) { m_taggingHasBeenSet =
true; m_tagging = std::forward<TaggingT>(value); }
779 template<
typename TaggingT = Aws::String>
802 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
803 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { m_objectLockRetainUntilDateHasBeenSet =
true; m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value); }
804 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
830 template<
typename ExpectedBucketOwnerT = Aws::String>
831 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet =
true; m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value); }
832 template<
typename ExpectedBucketOwnerT = Aws::String>
840 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
841 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value); }
842 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
844 template<
typename CustomizedAccessLogTagKeyT = Aws::String,
typename CustomizedAccessLogTagValueT = Aws::String>
846 m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
return *
this;
852 bool m_aCLHasBeenSet =
false;
856 bool m_bucketHasBeenSet =
false;
859 bool m_cacheControlHasBeenSet =
false;
862 bool m_contentDispositionHasBeenSet =
false;
865 bool m_contentEncodingHasBeenSet =
false;
868 bool m_contentLanguageHasBeenSet =
false;
870 long long m_contentLength{0};
871 bool m_contentLengthHasBeenSet =
false;
874 bool m_contentMD5HasBeenSet =
false;
877 bool m_checksumAlgorithmHasBeenSet =
false;
880 bool m_checksumCRC32HasBeenSet =
false;
883 bool m_checksumCRC32CHasBeenSet =
false;
886 bool m_checksumCRC64NVMEHasBeenSet =
false;
889 bool m_checksumSHA1HasBeenSet =
false;
892 bool m_checksumSHA256HasBeenSet =
false;
895 bool m_expiresHasBeenSet =
false;
898 bool m_ifMatchHasBeenSet =
false;
901 bool m_ifNoneMatchHasBeenSet =
false;
904 bool m_grantFullControlHasBeenSet =
false;
907 bool m_grantReadHasBeenSet =
false;
910 bool m_grantReadACPHasBeenSet =
false;
913 bool m_grantWriteACPHasBeenSet =
false;
916 bool m_keyHasBeenSet =
false;
918 long long m_writeOffsetBytes{0};
919 bool m_writeOffsetBytesHasBeenSet =
false;
922 bool m_metadataHasBeenSet =
false;
925 bool m_serverSideEncryptionHasBeenSet =
false;
928 bool m_storageClassHasBeenSet =
false;
931 bool m_websiteRedirectLocationHasBeenSet =
false;
934 bool m_sSECustomerAlgorithmHasBeenSet =
false;
937 bool m_sSECustomerKeyHasBeenSet =
false;
940 bool m_sSECustomerKeyMD5HasBeenSet =
false;
943 bool m_sSEKMSKeyIdHasBeenSet =
false;
946 bool m_sSEKMSEncryptionContextHasBeenSet =
false;
948 bool m_bucketKeyEnabled{
false};
949 bool m_bucketKeyEnabledHasBeenSet =
false;
952 bool m_requestPayerHasBeenSet =
false;
955 bool m_taggingHasBeenSet =
false;
958 bool m_objectLockModeHasBeenSet =
false;
961 bool m_objectLockRetainUntilDateHasBeenSet =
false;
964 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
967 bool m_expectedBucketOwnerHasBeenSet =
false;
970 bool m_customizedAccessLogTagHasBeenSet =
false;
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
PutObjectRequest & WithServerSideEncryption(ServerSideEncryption value)
const Aws::String & GetChecksumSHA256() const
bool GrantReadHasBeenSet() const
void SetBucketKeyEnabled(bool value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
PutObjectRequest & WithGrantFullControl(GrantFullControlT &&value)
bool RequestPayerHasBeenSet() const
bool ExpiresHasBeenSet() const
PutObjectRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
bool ChecksumCRC32HasBeenSet() const
ServerSideEncryption GetServerSideEncryption() const
PutObjectRequest & WithExpires(ExpiresT &&value)
bool GrantWriteACPHasBeenSet() const
bool ContentMD5HasBeenSet() const
AWS_S3CRT_API PutObjectRequest()=default
void SetChecksumSHA1(ChecksumSHA1T &&value)
AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
PutObjectRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
bool IfMatchHasBeenSet() const
void SetSSECustomerKey(SSECustomerKeyT &&value)
bool ChecksumSHA1HasBeenSet() const
const Aws::String & GetGrantRead() const
void SetRequestPayer(RequestPayer value)
const Aws::String & GetContentEncoding() const
void SetContentLength(long long value)
const Aws::String & GetChecksumCRC64NVME() const
PutObjectRequest & WithTagging(TaggingT &&value)
PutObjectRequest & WithContentEncoding(ContentEncodingT &&value)
const Aws::String & GetGrantReadACP() const
long long GetWriteOffsetBytes() const
PutObjectRequest & WithContentDisposition(ContentDispositionT &&value)
void SetChecksumSHA256(const char *value)
void SetObjectLockMode(ObjectLockMode value)
bool KeyHasBeenSet() const
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
void SetMetadata(MetadataT &&value)
bool ObjectLockModeHasBeenSet() const
void SetGrantFullControl(GrantFullControlT &&value)
bool TaggingHasBeenSet() const
void SetIfMatch(IfMatchT &&value)
PutObjectRequest & WithContentMD5(ContentMD5T &&value)
PutObjectRequest & WithContentLanguage(ContentLanguageT &&value)
PutObjectRequest & WithContentLength(long long value)
virtual const char * GetServiceRequestName() const override
void SetBucket(BucketT &&value)
void SetChecksumCRC32C(ChecksumCRC32CT &&value)
void SetChecksumCRC32(ChecksumCRC32T &&value)
const Aws::String & GetContentMD5() const
PutObjectRequest & WithRequestPayer(RequestPayer value)
bool SSEKMSEncryptionContextHasBeenSet() const
bool IfNoneMatchHasBeenSet() const
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
void SetGrantWriteACP(GrantWriteACPT &&value)
ChecksumAlgorithm GetChecksumAlgorithm() const
bool CacheControlHasBeenSet() const
bool ContentDispositionHasBeenSet() const
bool ChecksumCRC64NVMEHasBeenSet() const
AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override
const Aws::String & GetSSEKMSKeyId() const
void SetChecksumCRC32(const char *value)
const Aws::String & GetChecksumSHA1() const
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
void SetContentDisposition(ContentDispositionT &&value)
void SetChecksumCRC32C(const char *value)
AWS_S3CRT_API Aws::String GetChecksumAlgorithmName() const override
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
void SetServerSideEncryption(ServerSideEncryption value)
bool ExpectedBucketOwnerHasBeenSet() const
PutObjectRequest & WithGrantWriteACP(GrantWriteACPT &&value)
void SetTagging(TaggingT &&value)
void SetStorageClass(StorageClass value)
void SetIfNoneMatch(IfNoneMatchT &&value)
const Aws::String & GetIfNoneMatch() const
void SetCacheControl(CacheControlT &&value)
PutObjectRequest & WithChecksumSHA1(ChecksumSHA1T &&value)
bool ContentEncodingHasBeenSet() const
bool BucketKeyEnabledHasBeenSet() const
PutObjectRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
long long GetContentLength() const
bool ContentLanguageHasBeenSet() const
void SetGrantRead(GrantReadT &&value)
bool GrantFullControlHasBeenSet() const
void SetChecksumSHA1(const char *value)
bool WriteOffsetBytesHasBeenSet() const
bool ChecksumAlgorithmHasBeenSet() const
bool MetadataHasBeenSet() const
void SetChecksumAlgorithm(ChecksumAlgorithm value)
void SetContentMD5(ContentMD5T &&value)
PutObjectRequest & WithIfMatch(IfMatchT &&value)
PutObjectRequest & WithChecksumCRC32C(ChecksumCRC32CT &&value)
bool ObjectLockRetainUntilDateHasBeenSet() const
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
PutObjectRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
PutObjectRequest & WithWriteOffsetBytes(long long value)
PutObjectRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
RequestPayer GetRequestPayer() const
StorageClass GetStorageClass() const
const Aws::String & GetChecksumCRC32C() const
PutObjectRequest & WithIfNoneMatch(IfNoneMatchT &&value)
PutObjectRequest & WithBucketKeyEnabled(bool value)
void SetWriteOffsetBytes(long long value)
const Aws::Utils::DateTime & GetExpires() const
const Aws::String & GetGrantWriteACP() const
PutObjectRequest & WithCacheControl(CacheControlT &&value)
const Aws::String & GetSSEKMSEncryptionContext() const
const Aws::String & GetWebsiteRedirectLocation() const
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
const Aws::String & GetContentDisposition() const
bool ACLHasBeenSet() const
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
ObjectCannedACL GetACL() const
const Aws::String & GetSSECustomerAlgorithm() const
PutObjectRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
ObjectLockMode GetObjectLockMode() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
void SetACL(ObjectCannedACL value)
const Aws::String & GetTagging() const
PutObjectRequest & WithChecksumCRC32(ChecksumCRC32T &&value)
PutObjectRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
PutObjectRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
PutObjectRequest & WithKey(KeyT &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
const Aws::String & GetExpectedBucketOwner() const
void SetChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
PutObjectRequest & WithObjectLockMode(ObjectLockMode value)
bool SSECustomerKeyHasBeenSet() const
void SetKey(KeyT &&value)
const Aws::String & GetKey() const
const Aws::String & GetContentLanguage() const
bool ContentLengthHasBeenSet() const
const Aws::String & GetChecksumCRC32() const
bool ServerSideEncryptionHasBeenSet() const
PutObjectRequest & WithGrantRead(GrantReadT &&value)
AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
bool SSECustomerKeyMD5HasBeenSet() const
bool ChecksumSHA256HasBeenSet() const
const Aws::String & GetIfMatch() const
bool StorageClassHasBeenSet() const
const Aws::String & GetBucket() const
bool GetBucketKeyEnabled() const
void SetExpires(ExpiresT &&value)
PutObjectRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
PutObjectRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
PutObjectRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
const Aws::String & GetSSECustomerKeyMD5() const
bool GrantReadACPHasBeenSet() const
PutObjectRequest & WithACL(ObjectCannedACL value)
void SetGrantReadACP(GrantReadACPT &&value)
bool ChecksumCRC32CHasBeenSet() const
PutObjectRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
bool CustomizedAccessLogTagHasBeenSet() const
PutObjectRequest & WithGrantReadACP(GrantReadACPT &&value)
bool BucketHasBeenSet() const
PutObjectRequest & WithChecksumSHA256(ChecksumSHA256T &&value)
PutObjectRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
bool WebsiteRedirectLocationHasBeenSet() const
void SetContentEncoding(ContentEncodingT &&value)
PutObjectRequest & WithMetadata(MetadataT &&value)
const Aws::String & GetCacheControl() const
const Aws::String & GetGrantFullControl() const
bool ObjectLockLegalHoldStatusHasBeenSet() const
AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
bool SSEKMSKeyIdHasBeenSet() const
const Aws::String & GetSSECustomerKey() const
void SetChecksumSHA256(ChecksumSHA256T &&value)
PutObjectRequest & WithChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
bool SSECustomerAlgorithmHasBeenSet() const
PutObjectRequest & WithBucket(BucketT &&value)
void SetContentLanguage(ContentLanguageT &&value)
PutObjectRequest & WithStorageClass(StorageClass 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