7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/core/utils/stream/ResponseStream.h>
9#include <aws/core/utils/Array.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/s3/model/ChecksumType.h>
13#include <aws/s3/model/ServerSideEncryption.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/s3/model/StorageClass.h>
16#include <aws/s3/model/RequestCharged.h>
17#include <aws/s3/model/ReplicationStatus.h>
18#include <aws/s3/model/ObjectLockMode.h>
19#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
24template<
typename RESULT_TYPE>
25class AmazonWebServiceResult;
69 inline void SetDeleteMarker(
bool value) { m_deleteMarkerHasBeenSet =
true; m_deleteMarker = value; }
78 template<
typename AcceptRangesT = Aws::String>
79 void SetAcceptRanges(AcceptRangesT&& value) { m_acceptRangesHasBeenSet =
true; m_acceptRanges = std::forward<AcceptRangesT>(value); }
80 template<
typename AcceptRangesT = Aws::String>
97 template<
typename ExpirationT = Aws::String>
98 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet =
true; m_expiration = std::forward<ExpirationT>(value); }
99 template<
typename ExpirationT = Aws::String>
113 template<
typename RestoreT = Aws::String>
114 void SetRestore(RestoreT&& value) { m_restoreHasBeenSet =
true; m_restore = std::forward<RestoreT>(value); }
115 template<
typename RestoreT = Aws::String>
128 template<
typename LastModifiedT = Aws::Utils::DateTime>
129 void SetLastModified(LastModifiedT&& value) { m_lastModifiedHasBeenSet =
true; m_lastModified = std::forward<LastModifiedT>(value); }
130 template<
typename LastModifiedT = Aws::Utils::DateTime>
139 inline void SetContentLength(
long long value) { m_contentLengthHasBeenSet =
true; m_contentLength = value; }
149 template<
typename ETagT = Aws::String>
150 void SetETag(ETagT&& value) { m_eTagHasBeenSet =
true; m_eTag = std::forward<ETagT>(value); }
151 template<
typename ETagT = Aws::String>
164 template<
typename ChecksumCRC32T = Aws::String>
165 void SetChecksumCRC32(ChecksumCRC32T&& value) { m_checksumCRC32HasBeenSet =
true; m_checksumCRC32 = std::forward<ChecksumCRC32T>(value); }
166 template<
typename ChecksumCRC32T = Aws::String>
179 template<
typename ChecksumCRC32CT = Aws::String>
180 void SetChecksumCRC32C(ChecksumCRC32CT&& value) { m_checksumCRC32CHasBeenSet =
true; m_checksumCRC32C = std::forward<ChecksumCRC32CT>(value); }
181 template<
typename ChecksumCRC32CT = Aws::String>
193 template<
typename ChecksumCRC64NVMET = Aws::String>
194 void SetChecksumCRC64NVME(ChecksumCRC64NVMET&& value) { m_checksumCRC64NVMEHasBeenSet =
true; m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value); }
195 template<
typename ChecksumCRC64NVMET = Aws::String>
208 template<
typename ChecksumSHA1T = Aws::String>
209 void SetChecksumSHA1(ChecksumSHA1T&& value) { m_checksumSHA1HasBeenSet =
true; m_checksumSHA1 = std::forward<ChecksumSHA1T>(value); }
210 template<
typename ChecksumSHA1T = Aws::String>
223 template<
typename ChecksumSHA256T = Aws::String>
224 void SetChecksumSHA256(ChecksumSHA256T&& value) { m_checksumSHA256HasBeenSet =
true; m_checksumSHA256 = std::forward<ChecksumSHA256T>(value); }
225 template<
typename ChecksumSHA256T = Aws::String>
254 inline void SetMissingMeta(
int value) { m_missingMetaHasBeenSet =
true; m_missingMeta = value; }
264 template<
typename VersionIdT = Aws::String>
265 void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet =
true; m_versionId = std::forward<VersionIdT>(value); }
266 template<
typename VersionIdT = Aws::String>
275 template<
typename CacheControlT = Aws::String>
276 void SetCacheControl(CacheControlT&& value) { m_cacheControlHasBeenSet =
true; m_cacheControl = std::forward<CacheControlT>(value); }
277 template<
typename CacheControlT = Aws::String>
286 template<
typename ContentDispositionT = Aws::String>
287 void SetContentDisposition(ContentDispositionT&& value) { m_contentDispositionHasBeenSet =
true; m_contentDisposition = std::forward<ContentDispositionT>(value); }
288 template<
typename ContentDispositionT = Aws::String>
299 template<
typename ContentEncodingT = Aws::String>
300 void SetContentEncoding(ContentEncodingT&& value) { m_contentEncodingHasBeenSet =
true; m_contentEncoding = std::forward<ContentEncodingT>(value); }
301 template<
typename ContentEncodingT = Aws::String>
310 template<
typename ContentLanguageT = Aws::String>
311 void SetContentLanguage(ContentLanguageT&& value) { m_contentLanguageHasBeenSet =
true; m_contentLanguage = std::forward<ContentLanguageT>(value); }
312 template<
typename ContentLanguageT = Aws::String>
321 template<
typename ContentRangeT = Aws::String>
322 void SetContentRange(ContentRangeT&& value) { m_contentRangeHasBeenSet =
true; m_contentRange = std::forward<ContentRangeT>(value); }
323 template<
typename ContentRangeT = Aws::String>
332 template<
typename ContentTypeT = Aws::String>
333 void SetContentType(ContentTypeT&& value) { m_contentTypeHasBeenSet =
true; m_contentType = std::forward<ContentTypeT>(value); }
334 template<
typename ContentTypeT = Aws::String>
344 template<
typename ExpiresT = Aws::Utils::DateTime>
345 void SetExpires(ExpiresT&& value) { m_expiresHasBeenSet =
true; m_expires = std::forward<ExpiresT>(value); }
346 template<
typename ExpiresT = Aws::Utils::DateTime>
358 template<
typename WebsiteRedirectLocationT = Aws::String>
359 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) { m_websiteRedirectLocationHasBeenSet =
true; m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value); }
360 template<
typename WebsiteRedirectLocationT = Aws::String>
381 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
382 void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet =
true; m_metadata = std::forward<MetadataT>(value); }
383 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
385 template<
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
387 m_metadataHasBeenSet =
true; m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
return *
this;
399 template<
typename SSECustomerAlgorithmT = Aws::String>
400 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) { m_sSECustomerAlgorithmHasBeenSet =
true; m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value); }
401 template<
typename SSECustomerAlgorithmT = Aws::String>
413 template<
typename SSECustomerKeyMD5T = Aws::String>
414 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) { m_sSECustomerKeyMD5HasBeenSet =
true; m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value); }
415 template<
typename SSECustomerKeyMD5T = Aws::String>
425 template<
typename SSEKMSKeyIdT = Aws::String>
426 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) { m_sSEKMSKeyIdHasBeenSet =
true; m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value); }
427 template<
typename SSEKMSKeyIdT = Aws::String>
437 inline void SetBucketKeyEnabled(
bool value) { m_bucketKeyEnabledHasBeenSet =
true; m_bucketKeyEnabled = value; }
480 inline void SetPartsCount(
int value) { m_partsCountHasBeenSet =
true; m_partsCount = value; }
493 inline void SetTagCount(
int value) { m_tagCountHasBeenSet =
true; m_tagCount = value; }
513 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
514 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { m_objectLockRetainUntilDateHasBeenSet =
true; m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value); }
515 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
533 template<
typename Id2T = Aws::String>
534 void SetId2(Id2T&& value) { m_id2HasBeenSet =
true; m_id2 = std::forward<Id2T>(value); }
535 template<
typename Id2T = Aws::String>
542 template<
typename RequestIdT = Aws::String>
543 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
544 template<
typename RequestIdT = Aws::String>
553 template<
typename ExpiresStringT = Aws::String>
554 void SetExpiresString(ExpiresStringT&& value) { m_expiresStringHasBeenSet =
true; m_expiresString = std::forward<ExpiresStringT>(value); }
555 template<
typename ExpiresStringT = Aws::String>
561 bool m_bodyHasBeenSet =
false;
563 bool m_deleteMarker{
false};
564 bool m_deleteMarkerHasBeenSet =
false;
567 bool m_acceptRangesHasBeenSet =
false;
570 bool m_expirationHasBeenSet =
false;
573 bool m_restoreHasBeenSet =
false;
576 bool m_lastModifiedHasBeenSet =
false;
578 long long m_contentLength{0};
579 bool m_contentLengthHasBeenSet =
false;
582 bool m_eTagHasBeenSet =
false;
585 bool m_checksumCRC32HasBeenSet =
false;
588 bool m_checksumCRC32CHasBeenSet =
false;
591 bool m_checksumCRC64NVMEHasBeenSet =
false;
594 bool m_checksumSHA1HasBeenSet =
false;
597 bool m_checksumSHA256HasBeenSet =
false;
600 bool m_checksumTypeHasBeenSet =
false;
602 int m_missingMeta{0};
603 bool m_missingMetaHasBeenSet =
false;
606 bool m_versionIdHasBeenSet =
false;
609 bool m_cacheControlHasBeenSet =
false;
612 bool m_contentDispositionHasBeenSet =
false;
615 bool m_contentEncodingHasBeenSet =
false;
618 bool m_contentLanguageHasBeenSet =
false;
621 bool m_contentRangeHasBeenSet =
false;
624 bool m_contentTypeHasBeenSet =
false;
627 bool m_expiresHasBeenSet =
false;
630 bool m_websiteRedirectLocationHasBeenSet =
false;
633 bool m_serverSideEncryptionHasBeenSet =
false;
636 bool m_metadataHasBeenSet =
false;
639 bool m_sSECustomerAlgorithmHasBeenSet =
false;
642 bool m_sSECustomerKeyMD5HasBeenSet =
false;
645 bool m_sSEKMSKeyIdHasBeenSet =
false;
647 bool m_bucketKeyEnabled{
false};
648 bool m_bucketKeyEnabledHasBeenSet =
false;
651 bool m_storageClassHasBeenSet =
false;
654 bool m_requestChargedHasBeenSet =
false;
657 bool m_replicationStatusHasBeenSet =
false;
660 bool m_partsCountHasBeenSet =
false;
663 bool m_tagCountHasBeenSet =
false;
666 bool m_objectLockModeHasBeenSet =
false;
669 bool m_objectLockRetainUntilDateHasBeenSet =
false;
672 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
675 bool m_id2HasBeenSet =
false;
678 bool m_requestIdHasBeenSet =
false;
681 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 & 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
const Aws::String & GetCacheControl() const
const Aws::String & GetAcceptRanges() const
const Aws::String & GetChecksumSHA256() const
const Aws::String & GetContentRange() const
void SetChecksumCRC32(ChecksumCRC32T &&value)
const Aws::String & GetContentEncoding() const
RequestCharged GetRequestCharged() const
const Aws::String & GetChecksumCRC32C() const
void SetETag(ETagT &&value)
GetObjectResult & WithRequestId(RequestIdT &&value)
AWS_S3_API GetObjectResult & operator=(Aws::AmazonWebServiceResult< Aws::Utils::Stream::ResponseStream > &&result)
GetObjectResult & WithMissingMeta(int value)
bool GetDeleteMarker() const
void SetContentRange(ContentRangeT &&value)
GetObjectResult & WithChecksumType(ChecksumType 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)
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)
GetObjectResult & WithChecksumSHA256(ChecksumSHA256T &&value)
void SetContentLength(long long value)
GetObjectResult & WithLastModified(LastModifiedT &&value)
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)
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