AWS SDK for C++

AWS SDK for C++ Version 1.11.844

Loading...
Searching...
No Matches
PutObjectRequest.h
1
6#pragma once
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>
20
21#include <utility>
22
23namespace Aws {
24namespace Http {
25class URI;
26} // namespace Http
27namespace S3 {
28namespace Model {
29
33 public:
34 AWS_S3_API PutObjectRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "PutObject"; }
41
42 AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
43
45
46 AWS_S3_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
47 AWS_S3_API Aws::String GetChecksumAlgorithmName() const override;
48 AWS_S3_API bool ChecksumAlgorithmIsSet() const override;
52 AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
53
55
82 inline ObjectCannedACL GetACL() const { return m_aCL; }
83 inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; }
84 inline void SetACL(ObjectCannedACL value) {
85 m_aCLHasBeenSet = true;
86 m_aCL = value;
87 }
89 SetACL(value);
90 return *this;
91 }
93
95
130 inline const Aws::String& GetBucket() const { return m_bucket; }
131 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
132 template <typename BucketT = Aws::String>
133 void SetBucket(BucketT&& value) {
134 m_bucketHasBeenSet = true;
135 m_bucket = std::forward<BucketT>(value);
136 }
137 template <typename BucketT = Aws::String>
138 PutObjectRequest& WithBucket(BucketT&& value) {
139 SetBucket(std::forward<BucketT>(value));
140 return *this;
141 }
143
145
150 inline const Aws::String& GetCacheControl() const { return m_cacheControl; }
151 inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; }
152 template <typename CacheControlT = Aws::String>
153 void SetCacheControl(CacheControlT&& value) {
154 m_cacheControlHasBeenSet = true;
155 m_cacheControl = std::forward<CacheControlT>(value);
156 }
157 template <typename CacheControlT = Aws::String>
158 PutObjectRequest& WithCacheControl(CacheControlT&& value) {
159 SetCacheControl(std::forward<CacheControlT>(value));
160 return *this;
161 }
163
165
170 inline const Aws::String& GetContentDisposition() const { return m_contentDisposition; }
171 inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; }
172 template <typename ContentDispositionT = Aws::String>
173 void SetContentDisposition(ContentDispositionT&& value) {
174 m_contentDispositionHasBeenSet = true;
175 m_contentDisposition = std::forward<ContentDispositionT>(value);
176 }
177 template <typename ContentDispositionT = Aws::String>
178 PutObjectRequest& WithContentDisposition(ContentDispositionT&& value) {
179 SetContentDisposition(std::forward<ContentDispositionT>(value));
180 return *this;
181 }
183
185
191 inline const Aws::String& GetContentEncoding() const { return m_contentEncoding; }
192 inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; }
193 template <typename ContentEncodingT = Aws::String>
194 void SetContentEncoding(ContentEncodingT&& value) {
195 m_contentEncodingHasBeenSet = true;
196 m_contentEncoding = std::forward<ContentEncodingT>(value);
197 }
198 template <typename ContentEncodingT = Aws::String>
199 PutObjectRequest& WithContentEncoding(ContentEncodingT&& value) {
200 SetContentEncoding(std::forward<ContentEncodingT>(value));
201 return *this;
202 }
204
206
209 inline const Aws::String& GetContentLanguage() const { return m_contentLanguage; }
210 inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; }
211 template <typename ContentLanguageT = Aws::String>
212 void SetContentLanguage(ContentLanguageT&& value) {
213 m_contentLanguageHasBeenSet = true;
214 m_contentLanguage = std::forward<ContentLanguageT>(value);
215 }
216 template <typename ContentLanguageT = Aws::String>
217 PutObjectRequest& WithContentLanguage(ContentLanguageT&& value) {
218 SetContentLanguage(std::forward<ContentLanguageT>(value));
219 return *this;
220 }
222
224
229 inline long long GetContentLength() const { return m_contentLength; }
230 inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; }
231 inline void SetContentLength(long long value) {
232 m_contentLengthHasBeenSet = true;
233 m_contentLength = value;
234 }
235 inline PutObjectRequest& WithContentLength(long long value) {
236 SetContentLength(value);
237 return *this;
238 }
240
242
259 inline const Aws::String& GetContentMD5() const { return m_contentMD5; }
260 inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; }
261 template <typename ContentMD5T = Aws::String>
262 void SetContentMD5(ContentMD5T&& value) {
263 m_contentMD5HasBeenSet = true;
264 m_contentMD5 = std::forward<ContentMD5T>(value);
265 }
266 template <typename ContentMD5T = Aws::String>
267 PutObjectRequest& WithContentMD5(ContentMD5T&& value) {
268 SetContentMD5(std::forward<ContentMD5T>(value));
269 return *this;
270 }
272
274
304 inline ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
305 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
307 m_checksumAlgorithmHasBeenSet = true;
308 m_checksumAlgorithm = value;
309 }
312 return *this;
313 }
315
317
325 inline const Aws::String& GetChecksumCRC32() const { return m_checksumCRC32; }
326 inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
327 template <typename ChecksumCRC32T = Aws::String>
328 void SetChecksumCRC32(ChecksumCRC32T&& value) {
329 m_checksumCRC32HasBeenSet = true;
330 m_checksumCRC32 = std::forward<ChecksumCRC32T>(value);
332 }
333 inline void SetChecksumCRC32(const char* value) {
334 m_checksumCRC32HasBeenSet = true;
335 m_checksumCRC32.assign(value);
337 }
338 template <typename ChecksumCRC32T = Aws::String>
339 PutObjectRequest& WithChecksumCRC32(ChecksumCRC32T&& value) {
340 SetChecksumCRC32(std::forward<ChecksumCRC32T>(value));
341 return *this;
342 }
344
346
354 inline const Aws::String& GetChecksumCRC32C() const { return m_checksumCRC32C; }
355 inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
356 template <typename ChecksumCRC32CT = Aws::String>
357 void SetChecksumCRC32C(ChecksumCRC32CT&& value) {
358 m_checksumCRC32CHasBeenSet = true;
359 m_checksumCRC32C = std::forward<ChecksumCRC32CT>(value);
361 }
362 inline void SetChecksumCRC32C(const char* value) {
363 m_checksumCRC32CHasBeenSet = true;
364 m_checksumCRC32C.assign(value);
366 }
367 template <typename ChecksumCRC32CT = Aws::String>
368 PutObjectRequest& WithChecksumCRC32C(ChecksumCRC32CT&& value) {
369 SetChecksumCRC32C(std::forward<ChecksumCRC32CT>(value));
370 return *this;
371 }
373
375
384 inline const Aws::String& GetChecksumCRC64NVME() const { return m_checksumCRC64NVME; }
385 inline bool ChecksumCRC64NVMEHasBeenSet() const { return m_checksumCRC64NVMEHasBeenSet; }
386 template <typename ChecksumCRC64NVMET = Aws::String>
387 void SetChecksumCRC64NVME(ChecksumCRC64NVMET&& value) {
388 m_checksumCRC64NVMEHasBeenSet = true;
389 m_checksumCRC64NVME = std::forward<ChecksumCRC64NVMET>(value);
390 }
391 template <typename ChecksumCRC64NVMET = Aws::String>
392 PutObjectRequest& WithChecksumCRC64NVME(ChecksumCRC64NVMET&& value) {
393 SetChecksumCRC64NVME(std::forward<ChecksumCRC64NVMET>(value));
394 return *this;
395 }
397
399
407 inline const Aws::String& GetChecksumSHA1() const { return m_checksumSHA1; }
408 inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
409 template <typename ChecksumSHA1T = Aws::String>
410 void SetChecksumSHA1(ChecksumSHA1T&& value) {
411 m_checksumSHA1HasBeenSet = true;
412 m_checksumSHA1 = std::forward<ChecksumSHA1T>(value);
414 }
415 inline void SetChecksumSHA1(const char* value) {
416 m_checksumSHA1HasBeenSet = true;
417 m_checksumSHA1.assign(value);
419 }
420 template <typename ChecksumSHA1T = Aws::String>
421 PutObjectRequest& WithChecksumSHA1(ChecksumSHA1T&& value) {
422 SetChecksumSHA1(std::forward<ChecksumSHA1T>(value));
423 return *this;
424 }
426
428
436 inline const Aws::String& GetChecksumSHA256() const { return m_checksumSHA256; }
437 inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
438 template <typename ChecksumSHA256T = Aws::String>
439 void SetChecksumSHA256(ChecksumSHA256T&& value) {
440 m_checksumSHA256HasBeenSet = true;
441 m_checksumSHA256 = std::forward<ChecksumSHA256T>(value);
443 }
444 inline void SetChecksumSHA256(const char* value) {
445 m_checksumSHA256HasBeenSet = true;
446 m_checksumSHA256.assign(value);
448 }
449 template <typename ChecksumSHA256T = Aws::String>
450 PutObjectRequest& WithChecksumSHA256(ChecksumSHA256T&& value) {
451 SetChecksumSHA256(std::forward<ChecksumSHA256T>(value));
452 return *this;
453 }
455
457
465 inline const Aws::String& GetChecksumSHA512() const { return m_checksumSHA512; }
466 inline bool ChecksumSHA512HasBeenSet() const { return m_checksumSHA512HasBeenSet; }
467 template <typename ChecksumSHA512T = Aws::String>
468 void SetChecksumSHA512(ChecksumSHA512T&& value) {
469 m_checksumSHA512HasBeenSet = true;
470 m_checksumSHA512 = std::forward<ChecksumSHA512T>(value);
472 }
473 inline void SetChecksumSHA512(const char* value) {
474 m_checksumSHA512HasBeenSet = true;
475 m_checksumSHA512.assign(value);
477 }
478 template <typename ChecksumSHA512T = Aws::String>
479 PutObjectRequest& WithChecksumSHA512(ChecksumSHA512T&& value) {
480 SetChecksumSHA512(std::forward<ChecksumSHA512T>(value));
481 return *this;
482 }
484
486
494 inline const Aws::String& GetChecksumMD5() const { return m_checksumMD5; }
495 inline bool ChecksumMD5HasBeenSet() const { return m_checksumMD5HasBeenSet; }
496 template <typename ChecksumMD5T = Aws::String>
497 void SetChecksumMD5(ChecksumMD5T&& value) {
498 m_checksumMD5HasBeenSet = true;
499 m_checksumMD5 = std::forward<ChecksumMD5T>(value);
501 }
502 inline void SetChecksumMD5(const char* value) {
503 m_checksumMD5HasBeenSet = true;
504 m_checksumMD5.assign(value);
506 }
507 template <typename ChecksumMD5T = Aws::String>
508 PutObjectRequest& WithChecksumMD5(ChecksumMD5T&& value) {
509 SetChecksumMD5(std::forward<ChecksumMD5T>(value));
510 return *this;
511 }
513
515
523 inline const Aws::String& GetChecksumXXHASH64() const { return m_checksumXXHASH64; }
524 inline bool ChecksumXXHASH64HasBeenSet() const { return m_checksumXXHASH64HasBeenSet; }
525 template <typename ChecksumXXHASH64T = Aws::String>
526 void SetChecksumXXHASH64(ChecksumXXHASH64T&& value) {
527 m_checksumXXHASH64HasBeenSet = true;
528 m_checksumXXHASH64 = std::forward<ChecksumXXHASH64T>(value);
530 }
531 inline void SetChecksumXXHASH64(const char* value) {
532 m_checksumXXHASH64HasBeenSet = true;
533 m_checksumXXHASH64.assign(value);
535 }
536 template <typename ChecksumXXHASH64T = Aws::String>
537 PutObjectRequest& WithChecksumXXHASH64(ChecksumXXHASH64T&& value) {
538 SetChecksumXXHASH64(std::forward<ChecksumXXHASH64T>(value));
539 return *this;
540 }
542
544
552 inline const Aws::String& GetChecksumXXHASH3() const { return m_checksumXXHASH3; }
553 inline bool ChecksumXXHASH3HasBeenSet() const { return m_checksumXXHASH3HasBeenSet; }
554 template <typename ChecksumXXHASH3T = Aws::String>
555 void SetChecksumXXHASH3(ChecksumXXHASH3T&& value) {
556 m_checksumXXHASH3HasBeenSet = true;
557 m_checksumXXHASH3 = std::forward<ChecksumXXHASH3T>(value);
559 }
560 inline void SetChecksumXXHASH3(const char* value) {
561 m_checksumXXHASH3HasBeenSet = true;
562 m_checksumXXHASH3.assign(value);
564 }
565 template <typename ChecksumXXHASH3T = Aws::String>
566 PutObjectRequest& WithChecksumXXHASH3(ChecksumXXHASH3T&& value) {
567 SetChecksumXXHASH3(std::forward<ChecksumXXHASH3T>(value));
568 return *this;
569 }
571
573
581 inline const Aws::String& GetChecksumXXHASH128() const { return m_checksumXXHASH128; }
582 inline bool ChecksumXXHASH128HasBeenSet() const { return m_checksumXXHASH128HasBeenSet; }
583 template <typename ChecksumXXHASH128T = Aws::String>
584 void SetChecksumXXHASH128(ChecksumXXHASH128T&& value) {
585 m_checksumXXHASH128HasBeenSet = true;
586 m_checksumXXHASH128 = std::forward<ChecksumXXHASH128T>(value);
588 }
589 inline void SetChecksumXXHASH128(const char* value) {
590 m_checksumXXHASH128HasBeenSet = true;
591 m_checksumXXHASH128.assign(value);
593 }
594 template <typename ChecksumXXHASH128T = Aws::String>
595 PutObjectRequest& WithChecksumXXHASH128(ChecksumXXHASH128T&& value) {
596 SetChecksumXXHASH128(std::forward<ChecksumXXHASH128T>(value));
597 return *this;
598 }
600
602
607 inline const Aws::Utils::DateTime& GetExpires() const { return m_expires; }
608 inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; }
609 template <typename ExpiresT = Aws::Utils::DateTime>
610 void SetExpires(ExpiresT&& value) {
611 m_expiresHasBeenSet = true;
612 m_expires = std::forward<ExpiresT>(value);
613 }
614 template <typename ExpiresT = Aws::Utils::DateTime>
615 PutObjectRequest& WithExpires(ExpiresT&& value) {
616 SetExpires(std::forward<ExpiresT>(value));
617 return *this;
618 }
620
622
634 inline const Aws::String& GetIfMatch() const { return m_ifMatch; }
635 inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; }
636 template <typename IfMatchT = Aws::String>
637 void SetIfMatch(IfMatchT&& value) {
638 m_ifMatchHasBeenSet = true;
639 m_ifMatch = std::forward<IfMatchT>(value);
640 }
641 template <typename IfMatchT = Aws::String>
642 PutObjectRequest& WithIfMatch(IfMatchT&& value) {
643 SetIfMatch(std::forward<IfMatchT>(value));
644 return *this;
645 }
647
649
660 inline const Aws::String& GetIfNoneMatch() const { return m_ifNoneMatch; }
661 inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; }
662 template <typename IfNoneMatchT = Aws::String>
663 void SetIfNoneMatch(IfNoneMatchT&& value) {
664 m_ifNoneMatchHasBeenSet = true;
665 m_ifNoneMatch = std::forward<IfNoneMatchT>(value);
666 }
667 template <typename IfNoneMatchT = Aws::String>
668 PutObjectRequest& WithIfNoneMatch(IfNoneMatchT&& value) {
669 SetIfNoneMatch(std::forward<IfNoneMatchT>(value));
670 return *this;
671 }
673
675
681 inline const Aws::String& GetGrantFullControl() const { return m_grantFullControl; }
682 inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; }
683 template <typename GrantFullControlT = Aws::String>
684 void SetGrantFullControl(GrantFullControlT&& value) {
685 m_grantFullControlHasBeenSet = true;
686 m_grantFullControl = std::forward<GrantFullControlT>(value);
687 }
688 template <typename GrantFullControlT = Aws::String>
689 PutObjectRequest& WithGrantFullControl(GrantFullControlT&& value) {
690 SetGrantFullControl(std::forward<GrantFullControlT>(value));
691 return *this;
692 }
694
696
702 inline const Aws::String& GetGrantRead() const { return m_grantRead; }
703 inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; }
704 template <typename GrantReadT = Aws::String>
705 void SetGrantRead(GrantReadT&& value) {
706 m_grantReadHasBeenSet = true;
707 m_grantRead = std::forward<GrantReadT>(value);
708 }
709 template <typename GrantReadT = Aws::String>
710 PutObjectRequest& WithGrantRead(GrantReadT&& value) {
711 SetGrantRead(std::forward<GrantReadT>(value));
712 return *this;
713 }
715
717
723 inline const Aws::String& GetGrantReadACP() const { return m_grantReadACP; }
724 inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; }
725 template <typename GrantReadACPT = Aws::String>
726 void SetGrantReadACP(GrantReadACPT&& value) {
727 m_grantReadACPHasBeenSet = true;
728 m_grantReadACP = std::forward<GrantReadACPT>(value);
729 }
730 template <typename GrantReadACPT = Aws::String>
731 PutObjectRequest& WithGrantReadACP(GrantReadACPT&& value) {
732 SetGrantReadACP(std::forward<GrantReadACPT>(value));
733 return *this;
734 }
736
738
744 inline const Aws::String& GetGrantWriteACP() const { return m_grantWriteACP; }
745 inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; }
746 template <typename GrantWriteACPT = Aws::String>
747 void SetGrantWriteACP(GrantWriteACPT&& value) {
748 m_grantWriteACPHasBeenSet = true;
749 m_grantWriteACP = std::forward<GrantWriteACPT>(value);
750 }
751 template <typename GrantWriteACPT = Aws::String>
752 PutObjectRequest& WithGrantWriteACP(GrantWriteACPT&& value) {
753 SetGrantWriteACP(std::forward<GrantWriteACPT>(value));
754 return *this;
755 }
757
759
762 inline const Aws::String& GetKey() const { return m_key; }
763 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
764 template <typename KeyT = Aws::String>
765 void SetKey(KeyT&& value) {
766 m_keyHasBeenSet = true;
767 m_key = std::forward<KeyT>(value);
768 }
769 template <typename KeyT = Aws::String>
770 PutObjectRequest& WithKey(KeyT&& value) {
771 SetKey(std::forward<KeyT>(value));
772 return *this;
773 }
775
777
784 inline long long GetWriteOffsetBytes() const { return m_writeOffsetBytes; }
785 inline bool WriteOffsetBytesHasBeenSet() const { return m_writeOffsetBytesHasBeenSet; }
786 inline void SetWriteOffsetBytes(long long value) {
787 m_writeOffsetBytesHasBeenSet = true;
788 m_writeOffsetBytes = value;
789 }
790 inline PutObjectRequest& WithWriteOffsetBytes(long long value) {
791 SetWriteOffsetBytes(value);
792 return *this;
793 }
795
797
800 inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const { return m_metadata; }
801 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
802 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
803 void SetMetadata(MetadataT&& value) {
804 m_metadataHasBeenSet = true;
805 m_metadata = std::forward<MetadataT>(value);
806 }
807 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
808 PutObjectRequest& WithMetadata(MetadataT&& value) {
809 SetMetadata(std::forward<MetadataT>(value));
810 return *this;
811 }
812 template <typename MetadataKeyT = Aws::String, typename MetadataValueT = Aws::String>
813 PutObjectRequest& AddMetadata(MetadataKeyT&& key, MetadataValueT&& value) {
814 m_metadataHasBeenSet = true;
815 m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
816 return *this;
817 }
819
821
883 inline ServerSideEncryption GetServerSideEncryption() const { return m_serverSideEncryption; }
884 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
886 m_serverSideEncryptionHasBeenSet = true;
887 m_serverSideEncryption = value;
888 }
891 return *this;
892 }
894
896
909 inline StorageClass GetStorageClass() const { return m_storageClass; }
910 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
911 inline void SetStorageClass(StorageClass value) {
912 m_storageClassHasBeenSet = true;
913 m_storageClass = value;
914 }
916 SetStorageClass(value);
917 return *this;
918 }
920
922
941 inline const Aws::String& GetWebsiteRedirectLocation() const { return m_websiteRedirectLocation; }
942 inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; }
943 template <typename WebsiteRedirectLocationT = Aws::String>
944 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
945 m_websiteRedirectLocationHasBeenSet = true;
946 m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value);
947 }
948 template <typename WebsiteRedirectLocationT = Aws::String>
949 PutObjectRequest& WithWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
950 SetWebsiteRedirectLocation(std::forward<WebsiteRedirectLocationT>(value));
951 return *this;
952 }
954
956
961 inline const Aws::String& GetSSECustomerAlgorithm() const { return m_sSECustomerAlgorithm; }
962 inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
963 template <typename SSECustomerAlgorithmT = Aws::String>
964 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
965 m_sSECustomerAlgorithmHasBeenSet = true;
966 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
967 }
968 template <typename SSECustomerAlgorithmT = Aws::String>
969 PutObjectRequest& WithSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
970 SetSSECustomerAlgorithm(std::forward<SSECustomerAlgorithmT>(value));
971 return *this;
972 }
974
976
984 inline const Aws::String& GetSSECustomerKey() const { return m_sSECustomerKey; }
985 inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
986 template <typename SSECustomerKeyT = Aws::String>
987 void SetSSECustomerKey(SSECustomerKeyT&& value) {
988 m_sSECustomerKeyHasBeenSet = true;
989 m_sSECustomerKey = std::forward<SSECustomerKeyT>(value);
990 }
991 template <typename SSECustomerKeyT = Aws::String>
992 PutObjectRequest& WithSSECustomerKey(SSECustomerKeyT&& value) {
993 SetSSECustomerKey(std::forward<SSECustomerKeyT>(value));
994 return *this;
995 }
997
999
1005 inline const Aws::String& GetSSECustomerKeyMD5() const { return m_sSECustomerKeyMD5; }
1006 inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
1007 template <typename SSECustomerKeyMD5T = Aws::String>
1008 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
1009 m_sSECustomerKeyMD5HasBeenSet = true;
1010 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
1011 }
1012 template <typename SSECustomerKeyMD5T = Aws::String>
1013 PutObjectRequest& WithSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
1014 SetSSECustomerKeyMD5(std::forward<SSECustomerKeyMD5T>(value));
1015 return *this;
1016 }
1018
1020
1045 inline const Aws::String& GetSSEKMSKeyId() const { return m_sSEKMSKeyId; }
1046 inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
1047 template <typename SSEKMSKeyIdT = Aws::String>
1048 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) {
1049 m_sSEKMSKeyIdHasBeenSet = true;
1050 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
1051 }
1052 template <typename SSEKMSKeyIdT = Aws::String>
1053 PutObjectRequest& WithSSEKMSKeyId(SSEKMSKeyIdT&& value) {
1054 SetSSEKMSKeyId(std::forward<SSEKMSKeyIdT>(value));
1055 return *this;
1056 }
1058
1060
1076 inline const Aws::String& GetSSEKMSEncryptionContext() const { return m_sSEKMSEncryptionContext; }
1077 inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
1078 template <typename SSEKMSEncryptionContextT = Aws::String>
1079 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
1080 m_sSEKMSEncryptionContextHasBeenSet = true;
1081 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
1082 }
1083 template <typename SSEKMSEncryptionContextT = Aws::String>
1084 PutObjectRequest& WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
1085 SetSSEKMSEncryptionContext(std::forward<SSEKMSEncryptionContextT>(value));
1086 return *this;
1087 }
1089
1091
1113 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
1114 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
1115 inline void SetBucketKeyEnabled(bool value) {
1116 m_bucketKeyEnabledHasBeenSet = true;
1117 m_bucketKeyEnabled = value;
1118 }
1120 SetBucketKeyEnabled(value);
1121 return *this;
1122 }
1124
1126
1127 inline RequestPayer GetRequestPayer() const { return m_requestPayer; }
1128 inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
1129 inline void SetRequestPayer(RequestPayer value) {
1130 m_requestPayerHasBeenSet = true;
1131 m_requestPayer = value;
1132 }
1134 SetRequestPayer(value);
1135 return *this;
1136 }
1138
1140
1145 inline const Aws::String& GetTagging() const { return m_tagging; }
1146 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
1147 template <typename TaggingT = Aws::String>
1148 void SetTagging(TaggingT&& value) {
1149 m_taggingHasBeenSet = true;
1150 m_tagging = std::forward<TaggingT>(value);
1151 }
1152 template <typename TaggingT = Aws::String>
1153 PutObjectRequest& WithTagging(TaggingT&& value) {
1154 SetTagging(std::forward<TaggingT>(value));
1155 return *this;
1156 }
1158
1160
1164 inline ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
1165 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
1167 m_objectLockModeHasBeenSet = true;
1168 m_objectLockMode = value;
1169 }
1171 SetObjectLockMode(value);
1172 return *this;
1173 }
1175
1177
1182 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
1183 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
1184 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1185 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1186 m_objectLockRetainUntilDateHasBeenSet = true;
1187 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
1188 }
1189 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1190 PutObjectRequest& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1191 SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value));
1192 return *this;
1193 }
1195
1197
1204 inline ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
1205 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
1207 m_objectLockLegalHoldStatusHasBeenSet = true;
1208 m_objectLockLegalHoldStatus = value;
1209 }
1212 return *this;
1213 }
1215
1217
1222 inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; }
1223 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
1224 template <typename ExpectedBucketOwnerT = Aws::String>
1225 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1226 m_expectedBucketOwnerHasBeenSet = true;
1227 m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value);
1228 }
1229 template <typename ExpectedBucketOwnerT = Aws::String>
1230 PutObjectRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1231 SetExpectedBucketOwner(std::forward<ExpectedBucketOwnerT>(value));
1232 return *this;
1233 }
1235
1237
1238 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
1239 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
1240 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1241 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1242 m_customizedAccessLogTagHasBeenSet = true;
1243 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
1244 }
1245 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1246 PutObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1247 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
1248 return *this;
1249 }
1250 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
1251 PutObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
1252 m_customizedAccessLogTagHasBeenSet = true;
1253 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
1254 return *this;
1255 }
1257 private:
1259
1260 Aws::String m_bucket;
1261
1262 Aws::String m_cacheControl;
1263
1264 Aws::String m_contentDisposition;
1265
1266 Aws::String m_contentEncoding;
1267
1268 Aws::String m_contentLanguage;
1269
1270 long long m_contentLength{0};
1271
1272 Aws::String m_contentMD5;
1273
1274 ChecksumAlgorithm m_checksumAlgorithm{ChecksumAlgorithm::NOT_SET};
1275
1276 Aws::String m_checksumCRC32;
1277
1278 Aws::String m_checksumCRC32C;
1279
1280 Aws::String m_checksumCRC64NVME;
1281
1282 Aws::String m_checksumSHA1;
1283
1284 Aws::String m_checksumSHA256;
1285
1286 Aws::String m_checksumSHA512;
1287
1288 Aws::String m_checksumMD5;
1289
1290 Aws::String m_checksumXXHASH64;
1291
1292 Aws::String m_checksumXXHASH3;
1293
1294 Aws::String m_checksumXXHASH128;
1295
1296 Aws::Utils::DateTime m_expires{};
1297
1298 Aws::String m_ifMatch;
1299
1300 Aws::String m_ifNoneMatch;
1301
1302 Aws::String m_grantFullControl;
1303
1304 Aws::String m_grantRead;
1305
1306 Aws::String m_grantReadACP;
1307
1308 Aws::String m_grantWriteACP;
1309
1310 Aws::String m_key;
1311
1312 long long m_writeOffsetBytes{0};
1313
1315
1317
1318 StorageClass m_storageClass{StorageClass::NOT_SET};
1319
1320 Aws::String m_websiteRedirectLocation;
1321
1322 Aws::String m_sSECustomerAlgorithm;
1323
1324 Aws::String m_sSECustomerKey;
1325
1326 Aws::String m_sSECustomerKeyMD5;
1327
1328 Aws::String m_sSEKMSKeyId;
1329
1330 Aws::String m_sSEKMSEncryptionContext;
1331
1332 bool m_bucketKeyEnabled{false};
1333
1334 RequestPayer m_requestPayer{RequestPayer::NOT_SET};
1335
1336 Aws::String m_tagging;
1337
1338 ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET};
1339
1340 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
1341
1343
1344 Aws::String m_expectedBucketOwner;
1345
1346 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
1347 bool m_aCLHasBeenSet = false;
1348 bool m_bucketHasBeenSet = false;
1349 bool m_cacheControlHasBeenSet = false;
1350 bool m_contentDispositionHasBeenSet = false;
1351 bool m_contentEncodingHasBeenSet = false;
1352 bool m_contentLanguageHasBeenSet = false;
1353 bool m_contentLengthHasBeenSet = false;
1354 bool m_contentMD5HasBeenSet = false;
1355 bool m_checksumAlgorithmHasBeenSet = false;
1356 bool m_checksumCRC32HasBeenSet = false;
1357 bool m_checksumCRC32CHasBeenSet = false;
1358 bool m_checksumCRC64NVMEHasBeenSet = false;
1359 bool m_checksumSHA1HasBeenSet = false;
1360 bool m_checksumSHA256HasBeenSet = false;
1361 bool m_checksumSHA512HasBeenSet = false;
1362 bool m_checksumMD5HasBeenSet = false;
1363 bool m_checksumXXHASH64HasBeenSet = false;
1364 bool m_checksumXXHASH3HasBeenSet = false;
1365 bool m_checksumXXHASH128HasBeenSet = false;
1366 bool m_expiresHasBeenSet = false;
1367 bool m_ifMatchHasBeenSet = false;
1368 bool m_ifNoneMatchHasBeenSet = false;
1369 bool m_grantFullControlHasBeenSet = false;
1370 bool m_grantReadHasBeenSet = false;
1371 bool m_grantReadACPHasBeenSet = false;
1372 bool m_grantWriteACPHasBeenSet = false;
1373 bool m_keyHasBeenSet = false;
1374 bool m_writeOffsetBytesHasBeenSet = false;
1375 bool m_metadataHasBeenSet = false;
1376 bool m_serverSideEncryptionHasBeenSet = false;
1377 bool m_storageClassHasBeenSet = false;
1378 bool m_websiteRedirectLocationHasBeenSet = false;
1379 bool m_sSECustomerAlgorithmHasBeenSet = false;
1380 bool m_sSECustomerKeyHasBeenSet = false;
1381 bool m_sSECustomerKeyMD5HasBeenSet = false;
1382 bool m_sSEKMSKeyIdHasBeenSet = false;
1383 bool m_sSEKMSEncryptionContextHasBeenSet = false;
1384 bool m_bucketKeyEnabledHasBeenSet = false;
1385 bool m_requestPayerHasBeenSet = false;
1386 bool m_taggingHasBeenSet = false;
1387 bool m_objectLockModeHasBeenSet = false;
1388 bool m_objectLockRetainUntilDateHasBeenSet = false;
1389 bool m_objectLockLegalHoldStatusHasBeenSet = false;
1390 bool m_expectedBucketOwnerHasBeenSet = false;
1391 bool m_customizedAccessLogTagHasBeenSet = false;
1392};
1393
1394} // namespace Model
1395} // namespace S3
1396} // namespace Aws
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
PutObjectRequest & WithChecksumMD5(ChecksumMD5T &&value)
PutObjectRequest & WithChecksumXXHASH64(ChecksumXXHASH64T &&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)
PutObjectRequest & WithGrantWriteACP(GrantWriteACPT &&value)
void SetIfMatch(IfMatchT &&value)
PutObjectRequest & WithContentDisposition(ContentDispositionT &&value)
const Aws::String & GetChecksumXXHASH64() const
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)
const Aws::String & GetChecksumCRC32C() const
PutObjectRequest & WithChecksumSHA512(ChecksumSHA512T &&value)
PutObjectRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
PutObjectRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
const Aws::String & GetChecksumXXHASH3() const
virtual const char * GetServiceRequestName() const override
void SetChecksumXXHASH3(const char *value)
PutObjectRequest & WithChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
PutObjectRequest & WithIfMatch(IfMatchT &&value)
const Aws::String & GetChecksumSHA512() const
PutObjectRequest & WithChecksumSHA256(ChecksumSHA256T &&value)
void SetChecksumSHA512(ChecksumSHA512T &&value)
const Aws::String & GetExpectedBucketOwner() const
const Aws::String & GetChecksumCRC64NVME() const
void SetStorageClass(StorageClass value)
void SetWriteOffsetBytes(long long value)
PutObjectRequest & WithWriteOffsetBytes(long long value)
void SetChecksumXXHASH3(ChecksumXXHASH3T &&value)
const Aws::String & GetGrantRead() const
PutObjectRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
PutObjectRequest & WithBucketKeyEnabled(bool value)
PutObjectRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
const Aws::String & GetIfNoneMatch() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
void SetChecksumCRC32(ChecksumCRC32T &&value)
void SetChecksumMD5(ChecksumMD5T &&value)
void SetChecksumXXHASH64(const char *value)
AWS_S3_API PutObjectRequest()=default
const Aws::String & GetContentLanguage() const
void SetSSECustomerKey(SSECustomerKeyT &&value)
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
AWS_S3_API bool ChecksumAlgorithmIsSet() const override
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
const Aws::String & GetContentEncoding() const
PutObjectRequest & WithStorageClass(StorageClass value)
PutObjectRequest & WithACL(ObjectCannedACL value)
void SetExpires(ExpiresT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
void SetChecksumSHA512(const char *value)
void SetChecksumSHA256(const char *value)
const Aws::String & GetTagging() const
void SetCacheControl(CacheControlT &&value)
PutObjectRequest & WithGrantRead(GrantReadT &&value)
ObjectLockMode GetObjectLockMode() const
PutObjectRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
PutObjectRequest & WithChecksumXXHASH128(ChecksumXXHASH128T &&value)
AWS_S3_API Aws::String GetChecksumAlgorithmName() const override
void SetChecksumAlgorithm(ChecksumAlgorithm value)
void SetGrantFullControl(GrantFullControlT &&value)
void SetContentLanguage(ContentLanguageT &&value)
PutObjectRequest & WithContentLanguage(ContentLanguageT &&value)
PutObjectRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
void SetChecksumCRC64NVME(ChecksumCRC64NVMET &&value)
const Aws::String & GetSSECustomerKey() const
const Aws::String & GetContentMD5() const
const Aws::String & GetSSECustomerAlgorithm() const
const Aws::String & GetGrantFullControl() const
PutObjectRequest & WithServerSideEncryption(ServerSideEncryption value)
void SetContentLength(long long value)
void SetACL(ObjectCannedACL value)
PutObjectRequest & WithBucket(BucketT &&value)
const Aws::Utils::DateTime & GetExpires() const
void SetServerSideEncryption(ServerSideEncryption value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
void SetChecksumXXHASH128(const char *value)
PutObjectRequest & WithIfNoneMatch(IfNoneMatchT &&value)
void SetContentMD5(ContentMD5T &&value)
const Aws::String & GetGrantReadACP() const
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
PutObjectRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
const Aws::String & GetChecksumMD5() const
void SetMetadata(MetadataT &&value)
const Aws::String & GetChecksumCRC32() const
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
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)
void SetChecksumMD5(const char *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)
void SetChecksumCRC32C(ChecksumCRC32CT &&value)
const Aws::String & GetChecksumSHA256() const
PutObjectRequest & WithExpires(ExpiresT &&value)
PutObjectRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
const Aws::String & GetWebsiteRedirectLocation() const
void SetChecksumXXHASH128(ChecksumXXHASH128T &&value)
PutObjectRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
const Aws::String & GetSSECustomerKeyMD5() const
PutObjectRequest & WithTagging(TaggingT &&value)
ObjectCannedACL GetACL() const
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
void SetGrantRead(GrantReadT &&value)
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)
void SetContentEncoding(ContentEncodingT &&value)
PutObjectRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
PutObjectRequest & WithChecksumCRC32C(ChecksumCRC32CT &&value)
PutObjectRequest & WithCacheControl(CacheControlT &&value)
void SetChecksumXXHASH64(ChecksumXXHASH64T &&value)
PutObjectRequest & WithChecksumSHA1(ChecksumSHA1T &&value)
PutObjectRequest & WithChecksumXXHASH3(ChecksumXXHASH3T &&value)
void SetGrantWriteACP(GrantWriteACPT &&value)
const Aws::String & GetIfMatch() const
const Aws::String & GetCacheControl() const
const Aws::String & GetContentDisposition() const
void SetContentDisposition(ContentDispositionT &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
const Aws::String & GetChecksumXXHASH128() const
PutObjectRequest & WithRequestPayer(RequestPayer value)
PutObjectRequest & WithContentLength(long long value)
PutObjectRequest & WithGrantReadACP(GrantReadACPT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
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