7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/Array.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/stream/ResponseStream.h>
13#include <aws/s3/S3_EXPORTS.h>
14#include <aws/s3/model/ChecksumType.h>
15#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
16#include <aws/s3/model/ObjectLockMode.h>
17#include <aws/s3/model/ReplicationStatus.h>
18#include <aws/s3/model/RequestCharged.h>
19#include <aws/s3/model/ServerSideEncryption.h>
20#include <aws/s3/model/StorageClass.h>
25template <
typename RESULT_TYPE>
26class AmazonWebServiceResult;
65 m_deleteMarkerHasBeenSet =
true;
66 m_deleteMarker = value;
79 template <
typename AcceptRangesT = Aws::String>
81 m_acceptRangesHasBeenSet =
true;
82 m_acceptRanges = std::forward<AcceptRangesT>(value);
84 template <
typename AcceptRangesT = Aws::String>
104 template <
typename ExpirationT = Aws::String>
106 m_expirationHasBeenSet =
true;
107 m_expiration = std::forward<ExpirationT>(value);
109 template <
typename ExpirationT = Aws::String>
126 template <
typename RestoreT = Aws::String>
128 m_restoreHasBeenSet =
true;
129 m_restore = std::forward<RestoreT>(value);
131 template <
typename RestoreT = Aws::String>
147 template <
typename LastModifiedT = Aws::Utils::DateTime>
149 m_lastModifiedHasBeenSet =
true;
150 m_lastModified = std::forward<LastModifiedT>(value);
152 template <
typename LastModifiedT = Aws::Utils::DateTime>
165 m_contentLengthHasBeenSet =
true;
166 m_contentLength = value;
180 template <
typename ETagT = Aws::String>
182 m_eTagHasBeenSet =
true;
183 m_eTag = std::forward<ETagT>(value);
185 template <
typename ETagT = Aws::String>
187 SetETag(std::forward<ETagT>(value));
201 template <
typename ChecksumCRC32T = Aws::String>
203 m_checksumCRC32HasBeenSet =
true;
204 m_checksumCRC32 = std::forward<ChecksumCRC32T>(value);
206 template <
typename ChecksumCRC32T = Aws::String>
222 template <
typename ChecksumCRC32CT = Aws::String>
224 m_checksumCRC32CHasBeenSet =
true;
225 m_checksumCRC32C = std::forward<ChecksumCRC32CT>(value);
227 template <
typename ChecksumCRC32CT = Aws::String>
242 template <
typename ChecksumCRC64NVMET = Aws::String>
244 m_checksumCRC64NVMEHasBeenSet =
true;
245 m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value);
247 template <
typename ChecksumCRC64NVMET = Aws::String>
263 template <
typename ChecksumSHA1T = Aws::String>
265 m_checksumSHA1HasBeenSet =
true;
266 m_checksumSHA1 = std::forward<ChecksumSHA1T>(value);
268 template <
typename ChecksumSHA1T = Aws::String>
284 template <
typename ChecksumSHA256T = Aws::String>
286 m_checksumSHA256HasBeenSet =
true;
287 m_checksumSHA256 = std::forward<ChecksumSHA256T>(value);
289 template <
typename ChecksumSHA256T = Aws::String>
304 template <
typename ChecksumSHA512T = Aws::String>
306 m_checksumSHA512HasBeenSet =
true;
307 m_checksumSHA512 = std::forward<ChecksumSHA512T>(value);
309 template <
typename ChecksumSHA512T = Aws::String>
324 template <
typename ChecksumMD5T = Aws::String>
326 m_checksumMD5HasBeenSet =
true;
327 m_checksumMD5 = std::forward<ChecksumMD5T>(value);
329 template <
typename ChecksumMD5T = Aws::String>
344 template <
typename ChecksumXXHASH64T = Aws::String>
346 m_checksumXXHASH64HasBeenSet =
true;
347 m_checksumXXHASH64 = std::forward<ChecksumXXHASH64T>(value);
349 template <
typename ChecksumXXHASH64T = Aws::String>
364 template <
typename ChecksumXXHASH3T = Aws::String>
366 m_checksumXXHASH3HasBeenSet =
true;
367 m_checksumXXHASH3 = std::forward<ChecksumXXHASH3T>(value);
369 template <
typename ChecksumXXHASH3T = Aws::String>
384 template <
typename ChecksumXXHASH128T = Aws::String>
386 m_checksumXXHASH128HasBeenSet =
true;
387 m_checksumXXHASH128 = std::forward<ChecksumXXHASH128T>(value);
389 template <
typename ChecksumXXHASH128T = Aws::String>
408 m_checksumTypeHasBeenSet =
true;
409 m_checksumType = value;
428 m_missingMetaHasBeenSet =
true;
429 m_missingMeta = value;
443 template <
typename VersionIdT = Aws::String>
445 m_versionIdHasBeenSet =
true;
446 m_versionId = std::forward<VersionIdT>(value);
448 template <
typename VersionIdT = Aws::String>
460 template <
typename CacheControlT = Aws::String>
462 m_cacheControlHasBeenSet =
true;
463 m_cacheControl = std::forward<CacheControlT>(value);
465 template <
typename CacheControlT = Aws::String>
477 template <
typename ContentDispositionT = Aws::String>
479 m_contentDispositionHasBeenSet =
true;
480 m_contentDisposition = std::forward<ContentDispositionT>(value);
482 template <
typename ContentDispositionT = Aws::String>
496 template <
typename ContentEncodingT = Aws::String>
498 m_contentEncodingHasBeenSet =
true;
499 m_contentEncoding = std::forward<ContentEncodingT>(value);
501 template <
typename ContentEncodingT = Aws::String>
513 template <
typename ContentLanguageT = Aws::String>
515 m_contentLanguageHasBeenSet =
true;
516 m_contentLanguage = std::forward<ContentLanguageT>(value);
518 template <
typename ContentLanguageT = Aws::String>
530 template <
typename ContentRangeT = Aws::String>
532 m_contentRangeHasBeenSet =
true;
533 m_contentRange = std::forward<ContentRangeT>(value);
535 template <
typename ContentRangeT = Aws::String>
547 template <
typename ContentTypeT = Aws::String>
549 m_contentTypeHasBeenSet =
true;
550 m_contentType = std::forward<ContentTypeT>(value);
552 template <
typename ContentTypeT = Aws::String>
565 template <
typename ExpiresT = Aws::Utils::DateTime>
567 m_expiresHasBeenSet =
true;
568 m_expires = std::forward<ExpiresT>(value);
570 template <
typename ExpiresT = Aws::Utils::DateTime>
585 template <
typename WebsiteRedirectLocationT = Aws::String>
587 m_websiteRedirectLocationHasBeenSet =
true;
588 m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value);
590 template <
typename WebsiteRedirectLocationT = Aws::String>
606 m_serverSideEncryptionHasBeenSet =
true;
607 m_serverSideEncryption = value;
620 template <
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
622 m_metadataHasBeenSet =
true;
623 m_metadata = std::forward<MetadataT>(value);
625 template <
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
630 template <
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
632 m_metadataHasBeenSet =
true;
633 m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
646 template <
typename SSECustomerAlgorithmT = Aws::String>
648 m_sSECustomerAlgorithmHasBeenSet =
true;
649 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
651 template <
typename SSECustomerAlgorithmT = Aws::String>
666 template <
typename SSECustomerKeyMD5T = Aws::String>
668 m_sSECustomerKeyMD5HasBeenSet =
true;
669 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
671 template <
typename SSECustomerKeyMD5T = Aws::String>
684 template <
typename SSEKMSKeyIdT = Aws::String>
686 m_sSEKMSKeyIdHasBeenSet =
true;
687 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
689 template <
typename SSEKMSKeyIdT = Aws::String>
703 m_bucketKeyEnabledHasBeenSet =
true;
704 m_bucketKeyEnabled = value;
723 m_storageClassHasBeenSet =
true;
724 m_storageClass = value;
736 m_requestChargedHasBeenSet =
true;
737 m_requestCharged = value;
753 m_replicationStatusHasBeenSet =
true;
754 m_replicationStatus = value;
770 m_partsCountHasBeenSet =
true;
771 m_partsCount = value;
789 m_tagCountHasBeenSet =
true;
805 m_objectLockModeHasBeenSet =
true;
806 m_objectLockMode = value;
820 template <
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
822 m_objectLockRetainUntilDateHasBeenSet =
true;
823 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
825 template <
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
840 m_objectLockLegalHoldStatusHasBeenSet =
true;
841 m_objectLockLegalHoldStatus = value;
852 template <
typename Id2T = Aws::String>
854 m_id2HasBeenSet =
true;
855 m_id2 = std::forward<Id2T>(value);
857 template <
typename Id2T = Aws::String>
859 SetId2(std::forward<Id2T>(value));
867 template <
typename RequestIdT = Aws::String>
869 m_requestIdHasBeenSet =
true;
870 m_requestId = std::forward<RequestIdT>(value);
872 template <
typename RequestIdT = Aws::String>
884 template <
typename ExpiresStringT = Aws::String>
886 m_expiresStringHasBeenSet =
true;
887 m_expiresString = std::forward<ExpiresStringT>(value);
889 template <
typename ExpiresStringT = Aws::String>
900 bool m_deleteMarker{
false};
910 long long m_contentLength{0};
936 int m_missingMeta{0};
966 bool m_bucketKeyEnabled{
false};
990 bool m_bodyHasBeenSet =
false;
991 bool m_deleteMarkerHasBeenSet =
false;
992 bool m_acceptRangesHasBeenSet =
false;
993 bool m_expirationHasBeenSet =
false;
994 bool m_restoreHasBeenSet =
false;
995 bool m_lastModifiedHasBeenSet =
false;
996 bool m_contentLengthHasBeenSet =
false;
997 bool m_eTagHasBeenSet =
false;
998 bool m_checksumCRC32HasBeenSet =
false;
999 bool m_checksumCRC32CHasBeenSet =
false;
1000 bool m_checksumCRC64NVMEHasBeenSet =
false;
1001 bool m_checksumSHA1HasBeenSet =
false;
1002 bool m_checksumSHA256HasBeenSet =
false;
1003 bool m_checksumSHA512HasBeenSet =
false;
1004 bool m_checksumMD5HasBeenSet =
false;
1005 bool m_checksumXXHASH64HasBeenSet =
false;
1006 bool m_checksumXXHASH3HasBeenSet =
false;
1007 bool m_checksumXXHASH128HasBeenSet =
false;
1008 bool m_checksumTypeHasBeenSet =
false;
1009 bool m_missingMetaHasBeenSet =
false;
1010 bool m_versionIdHasBeenSet =
false;
1011 bool m_cacheControlHasBeenSet =
false;
1012 bool m_contentDispositionHasBeenSet =
false;
1013 bool m_contentEncodingHasBeenSet =
false;
1014 bool m_contentLanguageHasBeenSet =
false;
1015 bool m_contentRangeHasBeenSet =
false;
1016 bool m_contentTypeHasBeenSet =
false;
1017 bool m_expiresHasBeenSet =
false;
1018 bool m_websiteRedirectLocationHasBeenSet =
false;
1019 bool m_serverSideEncryptionHasBeenSet =
false;
1020 bool m_metadataHasBeenSet =
false;
1021 bool m_sSECustomerAlgorithmHasBeenSet =
false;
1022 bool m_sSECustomerKeyMD5HasBeenSet =
false;
1023 bool m_sSEKMSKeyIdHasBeenSet =
false;
1024 bool m_bucketKeyEnabledHasBeenSet =
false;
1025 bool m_storageClassHasBeenSet =
false;
1026 bool m_requestChargedHasBeenSet =
false;
1027 bool m_replicationStatusHasBeenSet =
false;
1028 bool m_partsCountHasBeenSet =
false;
1029 bool m_tagCountHasBeenSet =
false;
1030 bool m_objectLockModeHasBeenSet =
false;
1031 bool m_objectLockRetainUntilDateHasBeenSet =
false;
1032 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
1033 bool m_id2HasBeenSet =
false;
1034 bool m_requestIdHasBeenSet =
false;
1035 bool m_expiresStringHasBeenSet =
false;
void SetAcceptRanges(AcceptRangesT &&value)
void SetContentType(ContentTypeT &&value)
ChecksumType GetChecksumType() const
void SetExpires(ExpiresT &&value)
GetObjectResult & WithPartsCount(int value)
GetObjectResult & WithId2(Id2T &&value)
void SetRestore(RestoreT &&value)
Aws::IOStream & GetBody() const
void SetReplicationStatus(ReplicationStatus value)
void SetChecksumType(ChecksumType value)
GetObjectResult & WithChecksumMD5(ChecksumMD5T &&value)
const Aws::String & GetChecksumXXHASH128() const
GetObjectResult & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
void SetBucketKeyEnabled(bool value)
void SetPartsCount(int value)
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
const Aws::String & GetContentDisposition() const
bool GetBucketKeyEnabled() const
GetObjectResult & WithContentDisposition(ContentDispositionT &&value)
AWS_S3_API GetObjectResult(Aws::AmazonWebServiceResult< Aws::Utils::Stream::ResponseStream > &&result)
GetObjectResult & WithETag(ETagT &&value)
GetObjectResult & WithContentLanguage(ContentLanguageT &&value)
GetObjectResult & WithMetadata(MetadataT &&value)
const Aws::String & GetContentType() const
GetObjectResult & WithCacheControl(CacheControlT &&value)
void SetTagCount(int value)
GetObjectResult & WithStorageClass(StorageClass value)
void SetDeleteMarker(bool value)
const Aws::String & GetSSEKMSKeyId() const
const Aws::String & GetExpiration() const
GetObjectResult & WithChecksumCRC32C(ChecksumCRC32CT &&value)
GetObjectResult & WithChecksumCRC32(ChecksumCRC32T &&value)
const Aws::String & GetVersionId() const
long long GetContentLength() const
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
const Aws::String & GetContentLanguage() const
GetObjectResult & WithObjectLockMode(ObjectLockMode value)
void SetVersionId(VersionIdT &&value)
StorageClass GetStorageClass() const
GetObjectResult & WithChecksumSHA512(ChecksumSHA512T &&value)
const Aws::String & GetCacheControl() const
const Aws::String & GetAcceptRanges() const
const Aws::String & GetChecksumSHA256() const
const Aws::String & GetContentRange() const
void SetChecksumCRC32(ChecksumCRC32T &&value)
GetObjectResult & WithChecksumXXHASH3(ChecksumXXHASH3T &&value)
const Aws::String & GetContentEncoding() const
void SetChecksumXXHASH64(ChecksumXXHASH64T &&value)
RequestCharged GetRequestCharged() const
void SetChecksumMD5(ChecksumMD5T &&value)
const Aws::String & GetChecksumCRC32C() const
void SetChecksumXXHASH3(ChecksumXXHASH3T &&value)
void SetETag(ETagT &&value)
GetObjectResult & WithRequestId(RequestIdT &&value)
GetObjectResult & WithChecksumXXHASH64(ChecksumXXHASH64T &&value)
AWS_S3_API GetObjectResult & operator=(Aws::AmazonWebServiceResult< Aws::Utils::Stream::ResponseStream > &&result)
GetObjectResult & WithMissingMeta(int value)
bool GetDeleteMarker() const
void SetContentRange(ContentRangeT &&value)
void SetChecksumXXHASH128(ChecksumXXHASH128T &&value)
GetObjectResult & WithChecksumType(ChecksumType value)
void SetChecksumSHA512(ChecksumSHA512T &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
const Aws::String & GetSSECustomerKeyMD5() const
const Aws::String & GetRequestId() const
GetObjectResult & operator=(const GetObjectResult &)=delete
GetObjectResult & WithDeleteMarker(bool value)
GetObjectResult & WithRestore(RestoreT &&value)
const Aws::String & GetChecksumMD5() const
void SetChecksumCRC32C(ChecksumCRC32CT &&value)
int GetMissingMeta() const
int GetPartsCount() const
void SetContentLanguage(ContentLanguageT &&value)
GetObjectResult & WithContentRange(ContentRangeT &&value)
GetObjectResult & WithBucketKeyEnabled(bool value)
ReplicationStatus GetReplicationStatus() const
void SetExpiresString(ExpiresStringT &&value)
void SetMetadata(MetadataT &&value)
void SetId2(Id2T &&value)
const Aws::String & GetChecksumSHA512() const
GetObjectResult & WithChecksumXXHASH128(ChecksumXXHASH128T &&value)
GetObjectResult & WithChecksumSHA256(ChecksumSHA256T &&value)
const Aws::String & GetChecksumXXHASH64() const
void SetContentLength(long long value)
GetObjectResult & WithLastModified(LastModifiedT &&value)
const Aws::String & GetChecksumXXHASH3() const
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
const Aws::String & GetSSECustomerAlgorithm() const
void SetChecksumSHA256(ChecksumSHA256T &&value)
ServerSideEncryption GetServerSideEncryption() const
void SetChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
const Aws::Utils::DateTime & GetExpires() const
GetObjectResult & WithExpires(ExpiresT &&value)
GetObjectResult & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
const Aws::String & GetChecksumCRC32() const
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
GetObjectResult & WithContentLength(long long value)
GetObjectResult & WithTagCount(int value)
GetObjectResult & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
const Aws::String & GetETag() const
GetObjectResult & WithChecksumSHA1(ChecksumSHA1T &&value)
void SetContentDisposition(ContentDispositionT &&value)
void SetServerSideEncryption(ServerSideEncryption value)
const Aws::String & GetId2() const
const Aws::String & GetChecksumCRC64NVME() const
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
void SetChecksumSHA1(ChecksumSHA1T &&value)
void SetMissingMeta(int value)
void SetContentEncoding(ContentEncodingT &&value)
void SetRequestId(RequestIdT &&value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
GetObjectResult & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
ObjectLockMode GetObjectLockMode() const
const Aws::Utils::DateTime & GetLastModified() const
void SetCacheControl(CacheControlT &&value)
void SetObjectLockMode(ObjectLockMode value)
Aws::Http::HttpResponseCode GetHttpResponseCode() const
GetObjectResult & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
GetObjectResult & WithServerSideEncryption(ServerSideEncryption value)
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
void SetStorageClass(StorageClass value)
GetObjectResult & WithVersionId(VersionIdT &&value)
const Aws::String & GetChecksumSHA1() const
GetObjectResult & WithRequestCharged(RequestCharged value)
const Aws::String & GetExpiresString() const
GetObjectResult & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
void SetExpiration(ExpirationT &&value)
GetObjectResult & WithContentEncoding(ContentEncodingT &&value)
void SetRequestCharged(RequestCharged value)
const Aws::String & GetRestore() const
GetObjectResult & WithExpiresString(ExpiresStringT &&value)
AWS_S3_API GetObjectResult()=default
GetObjectResult(const GetObjectResult &)=delete
AWS_S3_API GetObjectResult & operator=(GetObjectResult &&)=default
GetObjectResult & WithAcceptRanges(AcceptRangesT &&value)
GetObjectResult & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
void ReplaceBody(Aws::IOStream *body)
AWS_S3_API GetObjectResult(GetObjectResult &&)=default
GetObjectResult & WithChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
const Aws::String & GetWebsiteRedirectLocation() const
GetObjectResult & WithExpiration(ExpirationT &&value)
void SetLastModified(LastModifiedT &&value)
GetObjectResult & WithContentType(ContentTypeT &&value)
GetObjectResult & WithReplicationStatus(ReplicationStatus value)
Aws::IOStream & GetUnderlyingStream() const
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