7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/S3Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/Array.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/s3/model/ObjectLockMode.h>
14#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
15#include <aws/s3/model/ReplicationStatus.h>
16#include <aws/s3/model/RequestCharged.h>
17#include <aws/s3/model/ServerSideEncryption.h>
18#include <aws/s3/model/StorageClass.h>
50 AWS_S3_API
bool SignBody()
const override {
return false; }
52 AWS_S3_API
bool IsChunked()
const override {
return true; }
65 template<
typename RequestRouteT = Aws::String>
66 void SetRequestRoute(RequestRouteT&& value) { m_requestRouteHasBeenSet =
true; m_requestRoute = std::forward<RequestRouteT>(value); }
67 template<
typename RequestRouteT = Aws::String>
78 template<
typename RequestTokenT = Aws::String>
79 void SetRequestToken(RequestTokenT&& value) { m_requestTokenHasBeenSet =
true; m_requestToken = std::forward<RequestTokenT>(value); }
80 template<
typename RequestTokenT = Aws::String>
101 inline void SetStatusCode(
int value) { m_statusCodeHasBeenSet =
true; m_statusCode = value; }
116 template<
typename ErrorCodeT = Aws::String>
117 void SetErrorCode(ErrorCodeT&& value) { m_errorCodeHasBeenSet =
true; m_errorCode = std::forward<ErrorCodeT>(value); }
118 template<
typename ErrorCodeT = Aws::String>
132 template<
typename ErrorMessageT = Aws::String>
133 void SetErrorMessage(ErrorMessageT&& value) { m_errorMessageHasBeenSet =
true; m_errorMessage = std::forward<ErrorMessageT>(value); }
134 template<
typename ErrorMessageT = Aws::String>
144 template<
typename AcceptRangesT = Aws::String>
145 void SetAcceptRanges(AcceptRangesT&& value) { m_acceptRangesHasBeenSet =
true; m_acceptRanges = std::forward<AcceptRangesT>(value); }
146 template<
typename AcceptRangesT = Aws::String>
156 template<
typename CacheControlT = Aws::String>
157 void SetCacheControl(CacheControlT&& value) { m_cacheControlHasBeenSet =
true; m_cacheControl = std::forward<CacheControlT>(value); }
158 template<
typename CacheControlT = Aws::String>
168 template<
typename ContentDispositionT = Aws::String>
169 void SetContentDisposition(ContentDispositionT&& value) { m_contentDispositionHasBeenSet =
true; m_contentDisposition = std::forward<ContentDispositionT>(value); }
170 template<
typename ContentDispositionT = Aws::String>
182 template<
typename ContentEncodingT = Aws::String>
183 void SetContentEncoding(ContentEncodingT&& value) { m_contentEncodingHasBeenSet =
true; m_contentEncoding = std::forward<ContentEncodingT>(value); }
184 template<
typename ContentEncodingT = Aws::String>
194 template<
typename ContentLanguageT = Aws::String>
195 void SetContentLanguage(ContentLanguageT&& value) { m_contentLanguageHasBeenSet =
true; m_contentLanguage = std::forward<ContentLanguageT>(value); }
196 template<
typename ContentLanguageT = Aws::String>
206 inline void SetContentLength(
long long value) { m_contentLengthHasBeenSet =
true; m_contentLength = value; }
216 template<
typename ContentRangeT = Aws::String>
217 void SetContentRange(ContentRangeT&& value) { m_contentRangeHasBeenSet =
true; m_contentRange = std::forward<ContentRangeT>(value); }
218 template<
typename ContentRangeT = Aws::String>
238 template<
typename ChecksumCRC32T = Aws::String>
239 void SetChecksumCRC32(ChecksumCRC32T&& value) { m_checksumCRC32HasBeenSet =
true; m_checksumCRC32 = std::forward<ChecksumCRC32T>(value); }
240 template<
typename ChecksumCRC32T = Aws::String>
260 template<
typename ChecksumCRC32CT = Aws::String>
261 void SetChecksumCRC32C(ChecksumCRC32CT&& value) { m_checksumCRC32CHasBeenSet =
true; m_checksumCRC32C = std::forward<ChecksumCRC32CT>(value); }
262 template<
typename ChecksumCRC32CT = Aws::String>
277 template<
typename ChecksumCRC64NVMET = Aws::String>
278 void SetChecksumCRC64NVME(ChecksumCRC64NVMET&& value) { m_checksumCRC64NVMEHasBeenSet =
true; m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value); }
279 template<
typename ChecksumCRC64NVMET = Aws::String>
299 template<
typename ChecksumSHA1T = Aws::String>
300 void SetChecksumSHA1(ChecksumSHA1T&& value) { m_checksumSHA1HasBeenSet =
true; m_checksumSHA1 = std::forward<ChecksumSHA1T>(value); }
301 template<
typename ChecksumSHA1T = Aws::String>
321 template<
typename ChecksumSHA256T = Aws::String>
322 void SetChecksumSHA256(ChecksumSHA256T&& value) { m_checksumSHA256HasBeenSet =
true; m_checksumSHA256 = std::forward<ChecksumSHA256T>(value); }
323 template<
typename ChecksumSHA256T = Aws::String>
337 inline void SetDeleteMarker(
bool value) { m_deleteMarkerHasBeenSet =
true; m_deleteMarker = value; }
348 template<
typename ETagT = Aws::String>
349 void SetETag(ETagT&& value) { m_eTagHasBeenSet =
true; m_eTag = std::forward<ETagT>(value); }
350 template<
typename ETagT = Aws::String>
360 template<
typename ExpiresT = Aws::Utils::DateTime>
361 void SetExpires(ExpiresT&& value) { m_expiresHasBeenSet =
true; m_expires = std::forward<ExpiresT>(value); }
362 template<
typename ExpiresT = Aws::Utils::DateTime>
375 template<
typename ExpirationT = Aws::String>
376 void SetExpiration(ExpirationT&& value) { m_expirationHasBeenSet =
true; m_expiration = std::forward<ExpirationT>(value); }
377 template<
typename ExpirationT = Aws::String>
387 template<
typename LastModifiedT = Aws::Utils::DateTime>
388 void SetLastModified(LastModifiedT&& value) { m_lastModifiedHasBeenSet =
true; m_lastModified = std::forward<LastModifiedT>(value); }
389 template<
typename LastModifiedT = Aws::Utils::DateTime>
402 inline void SetMissingMeta(
int value) { m_missingMetaHasBeenSet =
true; m_missingMeta = value; }
412 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
413 void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet =
true; m_metadata = std::forward<MetadataT>(value); }
414 template<
typename MetadataT = Aws::Map<Aws::String, Aws::String>>
416 template<
typename MetadataKeyT = Aws::String,
typename MetadataValueT = Aws::String>
418 m_metadataHasBeenSet =
true; m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
return *
this;
451 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
452 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { m_objectLockRetainUntilDateHasBeenSet =
true; m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value); }
453 template<
typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
463 inline void SetPartsCount(
int value) { m_partsCountHasBeenSet =
true; m_partsCount = value; }
494 template<
typename RestoreT = Aws::String>
495 void SetRestore(RestoreT&& value) { m_restoreHasBeenSet =
true; m_restore = std::forward<RestoreT>(value); }
496 template<
typename RestoreT = Aws::String>
520 template<
typename SSECustomerAlgorithmT = Aws::String>
521 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) { m_sSECustomerAlgorithmHasBeenSet =
true; m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value); }
522 template<
typename SSECustomerAlgorithmT = Aws::String>
535 template<
typename SSEKMSKeyIdT = Aws::String>
536 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) { m_sSEKMSKeyIdHasBeenSet =
true; m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value); }
537 template<
typename SSEKMSKeyIdT = Aws::String>
551 template<
typename SSECustomerKeyMD5T = Aws::String>
552 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) { m_sSECustomerKeyMD5HasBeenSet =
true; m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value); }
553 template<
typename SSECustomerKeyMD5T = Aws::String>
577 inline void SetTagCount(
int value) { m_tagCountHasBeenSet =
true; m_tagCount = value; }
587 template<
typename VersionIdT = Aws::String>
588 void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet =
true; m_versionId = std::forward<VersionIdT>(value); }
589 template<
typename VersionIdT = Aws::String>
600 inline void SetBucketKeyEnabled(
bool value) { m_bucketKeyEnabledHasBeenSet =
true; m_bucketKeyEnabled = value; }
608 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
609 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value); }
610 template<
typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
612 template<
typename CustomizedAccessLogTagKeyT = Aws::String,
typename CustomizedAccessLogTagValueT = Aws::String>
614 m_customizedAccessLogTagHasBeenSet =
true; m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
return *
this;
620 bool m_requestRouteHasBeenSet =
false;
623 bool m_requestTokenHasBeenSet =
false;
627 bool m_statusCodeHasBeenSet =
false;
630 bool m_errorCodeHasBeenSet =
false;
633 bool m_errorMessageHasBeenSet =
false;
636 bool m_acceptRangesHasBeenSet =
false;
639 bool m_cacheControlHasBeenSet =
false;
642 bool m_contentDispositionHasBeenSet =
false;
645 bool m_contentEncodingHasBeenSet =
false;
648 bool m_contentLanguageHasBeenSet =
false;
650 long long m_contentLength{0};
651 bool m_contentLengthHasBeenSet =
false;
654 bool m_contentRangeHasBeenSet =
false;
657 bool m_checksumCRC32HasBeenSet =
false;
660 bool m_checksumCRC32CHasBeenSet =
false;
663 bool m_checksumCRC64NVMEHasBeenSet =
false;
666 bool m_checksumSHA1HasBeenSet =
false;
669 bool m_checksumSHA256HasBeenSet =
false;
671 bool m_deleteMarker{
false};
672 bool m_deleteMarkerHasBeenSet =
false;
675 bool m_eTagHasBeenSet =
false;
678 bool m_expiresHasBeenSet =
false;
681 bool m_expirationHasBeenSet =
false;
684 bool m_lastModifiedHasBeenSet =
false;
686 int m_missingMeta{0};
687 bool m_missingMetaHasBeenSet =
false;
690 bool m_metadataHasBeenSet =
false;
693 bool m_objectLockModeHasBeenSet =
false;
696 bool m_objectLockLegalHoldStatusHasBeenSet =
false;
699 bool m_objectLockRetainUntilDateHasBeenSet =
false;
702 bool m_partsCountHasBeenSet =
false;
705 bool m_replicationStatusHasBeenSet =
false;
708 bool m_requestChargedHasBeenSet =
false;
711 bool m_restoreHasBeenSet =
false;
714 bool m_serverSideEncryptionHasBeenSet =
false;
717 bool m_sSECustomerAlgorithmHasBeenSet =
false;
720 bool m_sSEKMSKeyIdHasBeenSet =
false;
723 bool m_sSECustomerKeyMD5HasBeenSet =
false;
726 bool m_storageClassHasBeenSet =
false;
729 bool m_tagCountHasBeenSet =
false;
732 bool m_versionIdHasBeenSet =
false;
734 bool m_bucketKeyEnabled{
false};
735 bool m_bucketKeyEnabledHasBeenSet =
false;
738 bool m_customizedAccessLogTagHasBeenSet =
false;
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
bool DeleteMarkerHasBeenSet() const
void SetPartsCount(int value)
const Aws::String & GetContentLanguage() const
void SetErrorCode(ErrorCodeT &&value)
const Aws::String & GetETag() const
void SetReplicationStatus(ReplicationStatus value)
WriteGetObjectResponseRequest & WithChecksumSHA1(ChecksumSHA1T &&value)
bool ChecksumSHA1HasBeenSet() const
WriteGetObjectResponseRequest & WithMissingMeta(int value)
bool CacheControlHasBeenSet() const
void SetVersionId(VersionIdT &&value)
bool LastModifiedHasBeenSet() const
void SetChecksumCRC32C(ChecksumCRC32CT &&value)
WriteGetObjectResponseRequest & WithExpiration(ExpirationT &&value)
const Aws::String & GetErrorCode() const
void SetRequestRoute(RequestRouteT &&value)
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
bool VersionIdHasBeenSet() const
WriteGetObjectResponseRequest & WithLastModified(LastModifiedT &&value)
WriteGetObjectResponseRequest & WithRequestRoute(RequestRouteT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
void SetChecksumSHA1(ChecksumSHA1T &&value)
bool ContentEncodingHasBeenSet() const
int GetPartsCount() const
bool SSECustomerAlgorithmHasBeenSet() const
bool ChecksumSHA256HasBeenSet() const
const Aws::String & GetRequestRoute() const
int GetStatusCode() const
long long GetContentLength() const
bool ContentLengthHasBeenSet() const
void SetChecksumCRC32(ChecksumCRC32T &&value)
void SetMetadata(MetadataT &&value)
void SetStatusCode(int value)
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
const Aws::Utils::DateTime & GetLastModified() const
void SetAcceptRanges(AcceptRangesT &&value)
const Aws::String & GetExpiration() const
AWS_S3_API bool IsChunked() const override
bool RestoreHasBeenSet() const
const Aws::String & GetErrorMessage() const
WriteGetObjectResponseRequest & WithRequestCharged(RequestCharged value)
const Aws::String & GetCacheControl() const
const Aws::String & GetVersionId() const
StorageClass GetStorageClass() const
WriteGetObjectResponseRequest & WithBucketKeyEnabled(bool value)
bool ChecksumCRC32HasBeenSet() const
WriteGetObjectResponseRequest & WithErrorMessage(ErrorMessageT &&value)
void SetContentLength(long long value)
WriteGetObjectResponseRequest & WithReplicationStatus(ReplicationStatus value)
bool MissingMetaHasBeenSet() const
const Aws::String & GetChecksumCRC32C() const
bool ETagHasBeenSet() const
void SetCacheControl(CacheControlT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
ServerSideEncryption GetServerSideEncryption() const
WriteGetObjectResponseRequest & WithContentLength(long long value)
bool ContentLanguageHasBeenSet() const
void SetBucketKeyEnabled(bool value)
const Aws::String & GetContentEncoding() const
bool ObjectLockLegalHoldStatusHasBeenSet() const
void SetChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
WriteGetObjectResponseRequest & WithVersionId(VersionIdT &&value)
WriteGetObjectResponseRequest & WithChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
bool ObjectLockRetainUntilDateHasBeenSet() const
const Aws::Utils::DateTime & GetExpires() const
int GetMissingMeta() const
bool ChecksumCRC64NVMEHasBeenSet() const
void SetStorageClass(StorageClass value)
WriteGetObjectResponseRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
AWS_S3_API WriteGetObjectResponseRequest()=default
RequestCharged GetRequestCharged() const
bool ObjectLockModeHasBeenSet() const
void SetContentLanguage(ContentLanguageT &&value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
bool BucketKeyEnabledHasBeenSet() const
const Aws::String & GetChecksumSHA1() const
WriteGetObjectResponseRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
void SetRestore(RestoreT &&value)
void SetObjectLockMode(ObjectLockMode value)
bool RequestRouteHasBeenSet() const
bool SSEKMSKeyIdHasBeenSet() const
void SetContentRange(ContentRangeT &&value)
WriteGetObjectResponseRequest & WithObjectLockMode(ObjectLockMode value)
bool ServerSideEncryptionHasBeenSet() const
bool CustomizedAccessLogTagHasBeenSet() const
bool TagCountHasBeenSet() const
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
void SetMissingMeta(int value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
WriteGetObjectResponseRequest & WithRequestToken(RequestTokenT &&value)
WriteGetObjectResponseRequest & WithCacheControl(CacheControlT &&value)
void SetContentDisposition(ContentDispositionT &&value)
bool AcceptRangesHasBeenSet() const
WriteGetObjectResponseRequest & WithChecksumCRC32C(ChecksumCRC32CT &&value)
const Aws::String & GetAcceptRanges() const
void SetContentEncoding(ContentEncodingT &&value)
bool ChecksumCRC32CHasBeenSet() const
void SetExpiration(ExpirationT &&value)
ReplicationStatus GetReplicationStatus() const
WriteGetObjectResponseRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
WriteGetObjectResponseRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
const Aws::String & GetChecksumSHA256() const
WriteGetObjectResponseRequest & WithAcceptRanges(AcceptRangesT &&value)
bool RequestChargedHasBeenSet() const
bool ErrorCodeHasBeenSet() const
bool StorageClassHasBeenSet() const
WriteGetObjectResponseRequest & WithErrorCode(ErrorCodeT &&value)
bool ExpirationHasBeenSet() const
bool MetadataHasBeenSet() const
virtual const char * GetServiceRequestName() const override
bool GetBucketKeyEnabled() const
bool ContentDispositionHasBeenSet() const
const Aws::String & GetRestore() const
void SetETag(ETagT &&value)
WriteGetObjectResponseRequest & WithPartsCount(int value)
WriteGetObjectResponseRequest & WithRestore(RestoreT &&value)
bool SSECustomerKeyMD5HasBeenSet() const
void SetTagCount(int value)
void SetRequestToken(RequestTokenT &&value)
const Aws::String & GetContentRange() const
WriteGetObjectResponseRequest & WithETag(ETagT &&value)
WriteGetObjectResponseRequest & WithDeleteMarker(bool value)
const Aws::String & GetChecksumCRC64NVME() const
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
WriteGetObjectResponseRequest & WithTagCount(int value)
const Aws::String & GetSSEKMSKeyId() const
void SetChecksumSHA256(ChecksumSHA256T &&value)
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
void SetServerSideEncryption(ServerSideEncryption value)
WriteGetObjectResponseRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
WriteGetObjectResponseRequest & WithContentEncoding(ContentEncodingT &&value)
WriteGetObjectResponseRequest & WithChecksumCRC32(ChecksumCRC32T &&value)
bool RequestTokenHasBeenSet() const
bool GetDeleteMarker() const
bool PartsCountHasBeenSet() const
WriteGetObjectResponseRequest & WithContentLanguage(ContentLanguageT &&value)
WriteGetObjectResponseRequest & WithStatusCode(int value)
AWS_S3_API bool SignBody() const override
bool ExpiresHasBeenSet() const
void SetExpires(ExpiresT &&value)
WriteGetObjectResponseRequest & WithStorageClass(StorageClass value)
void SetErrorMessage(ErrorMessageT &&value)
WriteGetObjectResponseRequest & WithContentDisposition(ContentDispositionT &&value)
const Aws::String & GetContentDisposition() const
const Aws::String & GetChecksumCRC32() const
bool ContentRangeHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
void SetRequestCharged(RequestCharged value)
WriteGetObjectResponseRequest & WithExpires(ExpiresT &&value)
const Aws::String & GetSSECustomerKeyMD5() const
void SetLastModified(LastModifiedT &&value)
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
WriteGetObjectResponseRequest & WithChecksumSHA256(ChecksumSHA256T &&value)
WriteGetObjectResponseRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
WriteGetObjectResponseRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
bool ErrorMessageHasBeenSet() const
const Aws::String & GetRequestToken() const
WriteGetObjectResponseRequest & WithMetadata(MetadataT &&value)
WriteGetObjectResponseRequest & WithServerSideEncryption(ServerSideEncryption value)
void SetDeleteMarker(bool value)
bool StatusCodeHasBeenSet() const
const Aws::String & GetSSECustomerAlgorithm() const
ObjectLockMode GetObjectLockMode() const
WriteGetObjectResponseRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
WriteGetObjectResponseRequest & WithContentRange(ContentRangeT &&value)
bool ReplicationStatusHasBeenSet() const
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