AWS SDK for C++

AWS SDK for C++ Version 1.11.830

Loading...
Searching...
No Matches
CopyObjectRequest.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3-crt/S3CrtRequest.h>
11#include <aws/s3-crt/S3Crt_EXPORTS.h>
12#include <aws/s3-crt/model/AnnotationDirective.h>
13#include <aws/s3-crt/model/ChecksumAlgorithm.h>
14#include <aws/s3-crt/model/MetadataDirective.h>
15#include <aws/s3-crt/model/ObjectCannedACL.h>
16#include <aws/s3-crt/model/ObjectLockLegalHoldStatus.h>
17#include <aws/s3-crt/model/ObjectLockMode.h>
18#include <aws/s3-crt/model/RequestPayer.h>
19#include <aws/s3-crt/model/ServerSideEncryption.h>
20#include <aws/s3-crt/model/StorageClass.h>
21#include <aws/s3-crt/model/TaggingDirective.h>
22
23#include <utility>
24
25namespace Aws {
26namespace Http {
27class URI;
28} // namespace Http
29namespace S3Crt {
30namespace Model {
31
35 public:
36 AWS_S3CRT_API CopyObjectRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "CopyObject"; }
43
44 AWS_S3CRT_API Aws::String SerializePayload() const override;
45
46 AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
47
49
50 AWS_S3CRT_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
54 AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override;
55
57
80 inline ObjectCannedACL GetACL() const { return m_aCL; }
81 inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; }
82 inline void SetACL(ObjectCannedACL value) {
83 m_aCLHasBeenSet = true;
84 m_aCL = value;
85 }
87 SetACL(value);
88 return *this;
89 }
91
93
137 inline const Aws::String& GetBucket() const { return m_bucket; }
138 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
139 template <typename BucketT = Aws::String>
140 void SetBucket(BucketT&& value) {
141 m_bucketHasBeenSet = true;
142 m_bucket = std::forward<BucketT>(value);
143 }
144 template <typename BucketT = Aws::String>
145 CopyObjectRequest& WithBucket(BucketT&& value) {
146 SetBucket(std::forward<BucketT>(value));
147 return *this;
148 }
150
152
155 inline const Aws::String& GetCacheControl() const { return m_cacheControl; }
156 inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; }
157 template <typename CacheControlT = Aws::String>
158 void SetCacheControl(CacheControlT&& value) {
159 m_cacheControlHasBeenSet = true;
160 m_cacheControl = std::forward<CacheControlT>(value);
161 }
162 template <typename CacheControlT = Aws::String>
163 CopyObjectRequest& WithCacheControl(CacheControlT&& value) {
164 SetCacheControl(std::forward<CacheControlT>(value));
165 return *this;
166 }
168
170
186 inline ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
187 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
189 m_checksumAlgorithmHasBeenSet = true;
190 m_checksumAlgorithm = value;
191 }
194 return *this;
195 }
197
199
204 inline const Aws::String& GetContentDisposition() const { return m_contentDisposition; }
205 inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; }
206 template <typename ContentDispositionT = Aws::String>
207 void SetContentDisposition(ContentDispositionT&& value) {
208 m_contentDispositionHasBeenSet = true;
209 m_contentDisposition = std::forward<ContentDispositionT>(value);
210 }
211 template <typename ContentDispositionT = Aws::String>
212 CopyObjectRequest& WithContentDisposition(ContentDispositionT&& value) {
213 SetContentDisposition(std::forward<ContentDispositionT>(value));
214 return *this;
215 }
217
219
225 inline const Aws::String& GetContentEncoding() const { return m_contentEncoding; }
226 inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; }
227 template <typename ContentEncodingT = Aws::String>
228 void SetContentEncoding(ContentEncodingT&& value) {
229 m_contentEncodingHasBeenSet = true;
230 m_contentEncoding = std::forward<ContentEncodingT>(value);
231 }
232 template <typename ContentEncodingT = Aws::String>
233 CopyObjectRequest& WithContentEncoding(ContentEncodingT&& value) {
234 SetContentEncoding(std::forward<ContentEncodingT>(value));
235 return *this;
236 }
238
240
243 inline const Aws::String& GetContentLanguage() const { return m_contentLanguage; }
244 inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; }
245 template <typename ContentLanguageT = Aws::String>
246 void SetContentLanguage(ContentLanguageT&& value) {
247 m_contentLanguageHasBeenSet = true;
248 m_contentLanguage = std::forward<ContentLanguageT>(value);
249 }
250 template <typename ContentLanguageT = Aws::String>
251 CopyObjectRequest& WithContentLanguage(ContentLanguageT&& value) {
252 SetContentLanguage(std::forward<ContentLanguageT>(value));
253 return *this;
254 }
256
258
261 inline const Aws::String& GetContentType() const { return m_contentType; }
262 inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; }
263 template <typename ContentTypeT = Aws::String>
264 void SetContentType(ContentTypeT&& value) {
265 m_contentTypeHasBeenSet = true;
266 m_contentType = std::forward<ContentTypeT>(value);
267 }
268 template <typename ContentTypeT = Aws::String>
269 CopyObjectRequest& WithContentType(ContentTypeT&& value) {
270 SetContentType(std::forward<ContentTypeT>(value));
271 return *this;
272 }
274
276
330 inline const Aws::String& GetCopySource() const { return m_copySource; }
331 inline bool CopySourceHasBeenSet() const { return m_copySourceHasBeenSet; }
332 template <typename CopySourceT = Aws::String>
333 void SetCopySource(CopySourceT&& value) {
334 m_copySourceHasBeenSet = true;
335 m_copySource = std::forward<CopySourceT>(value);
336 }
337 template <typename CopySourceT = Aws::String>
338 CopyObjectRequest& WithCopySource(CopySourceT&& value) {
339 SetCopySource(std::forward<CopySourceT>(value));
340 return *this;
341 }
343
345
355 inline const Aws::String& GetCopySourceIfMatch() const { return m_copySourceIfMatch; }
356 inline bool CopySourceIfMatchHasBeenSet() const { return m_copySourceIfMatchHasBeenSet; }
357 template <typename CopySourceIfMatchT = Aws::String>
358 void SetCopySourceIfMatch(CopySourceIfMatchT&& value) {
359 m_copySourceIfMatchHasBeenSet = true;
360 m_copySourceIfMatch = std::forward<CopySourceIfMatchT>(value);
361 }
362 template <typename CopySourceIfMatchT = Aws::String>
363 CopyObjectRequest& WithCopySourceIfMatch(CopySourceIfMatchT&& value) {
364 SetCopySourceIfMatch(std::forward<CopySourceIfMatchT>(value));
365 return *this;
366 }
368
370
380 inline const Aws::Utils::DateTime& GetCopySourceIfModifiedSince() const { return m_copySourceIfModifiedSince; }
381 inline bool CopySourceIfModifiedSinceHasBeenSet() const { return m_copySourceIfModifiedSinceHasBeenSet; }
382 template <typename CopySourceIfModifiedSinceT = Aws::Utils::DateTime>
383 void SetCopySourceIfModifiedSince(CopySourceIfModifiedSinceT&& value) {
384 m_copySourceIfModifiedSinceHasBeenSet = true;
385 m_copySourceIfModifiedSince = std::forward<CopySourceIfModifiedSinceT>(value);
386 }
387 template <typename CopySourceIfModifiedSinceT = Aws::Utils::DateTime>
388 CopyObjectRequest& WithCopySourceIfModifiedSince(CopySourceIfModifiedSinceT&& value) {
389 SetCopySourceIfModifiedSince(std::forward<CopySourceIfModifiedSinceT>(value));
390 return *this;
391 }
393
395
405 inline const Aws::String& GetCopySourceIfNoneMatch() const { return m_copySourceIfNoneMatch; }
406 inline bool CopySourceIfNoneMatchHasBeenSet() const { return m_copySourceIfNoneMatchHasBeenSet; }
407 template <typename CopySourceIfNoneMatchT = Aws::String>
408 void SetCopySourceIfNoneMatch(CopySourceIfNoneMatchT&& value) {
409 m_copySourceIfNoneMatchHasBeenSet = true;
410 m_copySourceIfNoneMatch = std::forward<CopySourceIfNoneMatchT>(value);
411 }
412 template <typename CopySourceIfNoneMatchT = Aws::String>
413 CopyObjectRequest& WithCopySourceIfNoneMatch(CopySourceIfNoneMatchT&& value) {
414 SetCopySourceIfNoneMatch(std::forward<CopySourceIfNoneMatchT>(value));
415 return *this;
416 }
418
420
430 inline const Aws::Utils::DateTime& GetCopySourceIfUnmodifiedSince() const { return m_copySourceIfUnmodifiedSince; }
431 inline bool CopySourceIfUnmodifiedSinceHasBeenSet() const { return m_copySourceIfUnmodifiedSinceHasBeenSet; }
432 template <typename CopySourceIfUnmodifiedSinceT = Aws::Utils::DateTime>
433 void SetCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT&& value) {
434 m_copySourceIfUnmodifiedSinceHasBeenSet = true;
435 m_copySourceIfUnmodifiedSince = std::forward<CopySourceIfUnmodifiedSinceT>(value);
436 }
437 template <typename CopySourceIfUnmodifiedSinceT = Aws::Utils::DateTime>
438 CopyObjectRequest& WithCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT&& value) {
439 SetCopySourceIfUnmodifiedSince(std::forward<CopySourceIfUnmodifiedSinceT>(value));
440 return *this;
441 }
443
445
448 inline const Aws::Utils::DateTime& GetExpires() const { return m_expires; }
449 inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; }
450 template <typename ExpiresT = Aws::Utils::DateTime>
451 void SetExpires(ExpiresT&& value) {
452 m_expiresHasBeenSet = true;
453 m_expires = std::forward<ExpiresT>(value);
454 }
455 template <typename ExpiresT = Aws::Utils::DateTime>
456 CopyObjectRequest& WithExpires(ExpiresT&& value) {
457 SetExpires(std::forward<ExpiresT>(value));
458 return *this;
459 }
461
463
469 inline const Aws::String& GetGrantFullControl() const { return m_grantFullControl; }
470 inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; }
471 template <typename GrantFullControlT = Aws::String>
472 void SetGrantFullControl(GrantFullControlT&& value) {
473 m_grantFullControlHasBeenSet = true;
474 m_grantFullControl = std::forward<GrantFullControlT>(value);
475 }
476 template <typename GrantFullControlT = Aws::String>
477 CopyObjectRequest& WithGrantFullControl(GrantFullControlT&& value) {
478 SetGrantFullControl(std::forward<GrantFullControlT>(value));
479 return *this;
480 }
482
484
490 inline const Aws::String& GetGrantRead() const { return m_grantRead; }
491 inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; }
492 template <typename GrantReadT = Aws::String>
493 void SetGrantRead(GrantReadT&& value) {
494 m_grantReadHasBeenSet = true;
495 m_grantRead = std::forward<GrantReadT>(value);
496 }
497 template <typename GrantReadT = Aws::String>
498 CopyObjectRequest& WithGrantRead(GrantReadT&& value) {
499 SetGrantRead(std::forward<GrantReadT>(value));
500 return *this;
501 }
503
505
511 inline const Aws::String& GetGrantReadACP() const { return m_grantReadACP; }
512 inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; }
513 template <typename GrantReadACPT = Aws::String>
514 void SetGrantReadACP(GrantReadACPT&& value) {
515 m_grantReadACPHasBeenSet = true;
516 m_grantReadACP = std::forward<GrantReadACPT>(value);
517 }
518 template <typename GrantReadACPT = Aws::String>
519 CopyObjectRequest& WithGrantReadACP(GrantReadACPT&& value) {
520 SetGrantReadACP(std::forward<GrantReadACPT>(value));
521 return *this;
522 }
524
526
532 inline const Aws::String& GetGrantWriteACP() const { return m_grantWriteACP; }
533 inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; }
534 template <typename GrantWriteACPT = Aws::String>
535 void SetGrantWriteACP(GrantWriteACPT&& value) {
536 m_grantWriteACPHasBeenSet = true;
537 m_grantWriteACP = std::forward<GrantWriteACPT>(value);
538 }
539 template <typename GrantWriteACPT = Aws::String>
540 CopyObjectRequest& WithGrantWriteACP(GrantWriteACPT&& value) {
541 SetGrantWriteACP(std::forward<GrantWriteACPT>(value));
542 return *this;
543 }
545
547
557 inline const Aws::String& GetIfMatch() const { return m_ifMatch; }
558 inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; }
559 template <typename IfMatchT = Aws::String>
560 void SetIfMatch(IfMatchT&& value) {
561 m_ifMatchHasBeenSet = true;
562 m_ifMatch = std::forward<IfMatchT>(value);
563 }
564 template <typename IfMatchT = Aws::String>
565 CopyObjectRequest& WithIfMatch(IfMatchT&& value) {
566 SetIfMatch(std::forward<IfMatchT>(value));
567 return *this;
568 }
570
572
581 inline const Aws::String& GetIfNoneMatch() const { return m_ifNoneMatch; }
582 inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; }
583 template <typename IfNoneMatchT = Aws::String>
584 void SetIfNoneMatch(IfNoneMatchT&& value) {
585 m_ifNoneMatchHasBeenSet = true;
586 m_ifNoneMatch = std::forward<IfNoneMatchT>(value);
587 }
588 template <typename IfNoneMatchT = Aws::String>
589 CopyObjectRequest& WithIfNoneMatch(IfNoneMatchT&& value) {
590 SetIfNoneMatch(std::forward<IfNoneMatchT>(value));
591 return *this;
592 }
594
596
599 inline const Aws::String& GetKey() const { return m_key; }
600 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
601 template <typename KeyT = Aws::String>
602 void SetKey(KeyT&& value) {
603 m_keyHasBeenSet = true;
604 m_key = std::forward<KeyT>(value);
605 }
606 template <typename KeyT = Aws::String>
607 CopyObjectRequest& WithKey(KeyT&& value) {
608 SetKey(std::forward<KeyT>(value));
609 return *this;
610 }
612
614
617 inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const { return m_metadata; }
618 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
619 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
620 void SetMetadata(MetadataT&& value) {
621 m_metadataHasBeenSet = true;
622 m_metadata = std::forward<MetadataT>(value);
623 }
624 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
625 CopyObjectRequest& WithMetadata(MetadataT&& value) {
626 SetMetadata(std::forward<MetadataT>(value));
627 return *this;
628 }
629 template <typename MetadataKeyT = Aws::String, typename MetadataValueT = Aws::String>
630 CopyObjectRequest& AddMetadata(MetadataKeyT&& key, MetadataValueT&& value) {
631 m_metadataHasBeenSet = true;
632 m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
633 return *this;
634 }
636
638
654 inline MetadataDirective GetMetadataDirective() const { return m_metadataDirective; }
655 inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; }
657 m_metadataDirectiveHasBeenSet = true;
658 m_metadataDirective = value;
659 }
662 return *this;
663 }
665
667
698 inline TaggingDirective GetTaggingDirective() const { return m_taggingDirective; }
699 inline bool TaggingDirectiveHasBeenSet() const { return m_taggingDirectiveHasBeenSet; }
701 m_taggingDirectiveHasBeenSet = true;
702 m_taggingDirective = value;
703 }
705 SetTaggingDirective(value);
706 return *this;
707 }
709
711
736 inline AnnotationDirective GetAnnotationDirective() const { return m_annotationDirective; }
737 inline bool AnnotationDirectiveHasBeenSet() const { return m_annotationDirectiveHasBeenSet; }
739 m_annotationDirectiveHasBeenSet = true;
740 m_annotationDirective = value;
741 }
744 return *this;
745 }
747
749
818 inline ServerSideEncryption GetServerSideEncryption() const { return m_serverSideEncryption; }
819 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
821 m_serverSideEncryptionHasBeenSet = true;
822 m_serverSideEncryption = value;
823 }
826 return *this;
827 }
829
831
861 inline StorageClass GetStorageClass() const { return m_storageClass; }
862 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
863 inline void SetStorageClass(StorageClass value) {
864 m_storageClassHasBeenSet = true;
865 m_storageClass = value;
866 }
868 SetStorageClass(value);
869 return *this;
870 }
872
874
884 inline const Aws::String& GetWebsiteRedirectLocation() const { return m_websiteRedirectLocation; }
885 inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; }
886 template <typename WebsiteRedirectLocationT = Aws::String>
887 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
888 m_websiteRedirectLocationHasBeenSet = true;
889 m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value);
890 }
891 template <typename WebsiteRedirectLocationT = Aws::String>
892 CopyObjectRequest& WithWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
893 SetWebsiteRedirectLocation(std::forward<WebsiteRedirectLocationT>(value));
894 return *this;
895 }
897
899
911 inline const Aws::String& GetSSECustomerAlgorithm() const { return m_sSECustomerAlgorithm; }
912 inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
913 template <typename SSECustomerAlgorithmT = Aws::String>
914 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
915 m_sSECustomerAlgorithmHasBeenSet = true;
916 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
917 }
918 template <typename SSECustomerAlgorithmT = Aws::String>
919 CopyObjectRequest& WithSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
920 SetSSECustomerAlgorithm(std::forward<SSECustomerAlgorithmT>(value));
921 return *this;
922 }
924
926
935 inline const Aws::String& GetSSECustomerKey() const { return m_sSECustomerKey; }
936 inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
937 template <typename SSECustomerKeyT = Aws::String>
938 void SetSSECustomerKey(SSECustomerKeyT&& value) {
939 m_sSECustomerKeyHasBeenSet = true;
940 m_sSECustomerKey = std::forward<SSECustomerKeyT>(value);
941 }
942 template <typename SSECustomerKeyT = Aws::String>
943 CopyObjectRequest& WithSSECustomerKey(SSECustomerKeyT&& value) {
944 SetSSECustomerKey(std::forward<SSECustomerKeyT>(value));
945 return *this;
946 }
948
950
956 inline const Aws::String& GetSSECustomerKeyMD5() const { return m_sSECustomerKeyMD5; }
957 inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
958 template <typename SSECustomerKeyMD5T = Aws::String>
959 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
960 m_sSECustomerKeyMD5HasBeenSet = true;
961 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
962 }
963 template <typename SSECustomerKeyMD5T = Aws::String>
964 CopyObjectRequest& WithSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
965 SetSSECustomerKeyMD5(std::forward<SSECustomerKeyMD5T>(value));
966 return *this;
967 }
969
971
993 inline const Aws::String& GetSSEKMSKeyId() const { return m_sSEKMSKeyId; }
994 inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
995 template <typename SSEKMSKeyIdT = Aws::String>
996 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) {
997 m_sSEKMSKeyIdHasBeenSet = true;
998 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
999 }
1000 template <typename SSEKMSKeyIdT = Aws::String>
1001 CopyObjectRequest& WithSSEKMSKeyId(SSEKMSKeyIdT&& value) {
1002 SetSSEKMSKeyId(std::forward<SSEKMSKeyIdT>(value));
1003 return *this;
1004 }
1006
1008
1023 inline const Aws::String& GetSSEKMSEncryptionContext() const { return m_sSEKMSEncryptionContext; }
1024 inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
1025 template <typename SSEKMSEncryptionContextT = Aws::String>
1026 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
1027 m_sSEKMSEncryptionContextHasBeenSet = true;
1028 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
1029 }
1030 template <typename SSEKMSEncryptionContextT = Aws::String>
1031 CopyObjectRequest& WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
1032 SetSSEKMSEncryptionContext(std::forward<SSEKMSEncryptionContextT>(value));
1033 return *this;
1034 }
1036
1038
1055 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
1056 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
1057 inline void SetBucketKeyEnabled(bool value) {
1058 m_bucketKeyEnabledHasBeenSet = true;
1059 m_bucketKeyEnabled = value;
1060 }
1062 SetBucketKeyEnabled(value);
1063 return *this;
1064 }
1066
1068
1076 inline const Aws::String& GetCopySourceSSECustomerAlgorithm() const { return m_copySourceSSECustomerAlgorithm; }
1077 inline bool CopySourceSSECustomerAlgorithmHasBeenSet() const { return m_copySourceSSECustomerAlgorithmHasBeenSet; }
1078 template <typename CopySourceSSECustomerAlgorithmT = Aws::String>
1079 void SetCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT&& value) {
1080 m_copySourceSSECustomerAlgorithmHasBeenSet = true;
1081 m_copySourceSSECustomerAlgorithm = std::forward<CopySourceSSECustomerAlgorithmT>(value);
1082 }
1083 template <typename CopySourceSSECustomerAlgorithmT = Aws::String>
1084 CopyObjectRequest& WithCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT&& value) {
1085 SetCopySourceSSECustomerAlgorithm(std::forward<CopySourceSSECustomerAlgorithmT>(value));
1086 return *this;
1087 }
1089
1091
1100 inline const Aws::String& GetCopySourceSSECustomerKey() const { return m_copySourceSSECustomerKey; }
1101 inline bool CopySourceSSECustomerKeyHasBeenSet() const { return m_copySourceSSECustomerKeyHasBeenSet; }
1102 template <typename CopySourceSSECustomerKeyT = Aws::String>
1103 void SetCopySourceSSECustomerKey(CopySourceSSECustomerKeyT&& value) {
1104 m_copySourceSSECustomerKeyHasBeenSet = true;
1105 m_copySourceSSECustomerKey = std::forward<CopySourceSSECustomerKeyT>(value);
1106 }
1107 template <typename CopySourceSSECustomerKeyT = Aws::String>
1108 CopyObjectRequest& WithCopySourceSSECustomerKey(CopySourceSSECustomerKeyT&& value) {
1109 SetCopySourceSSECustomerKey(std::forward<CopySourceSSECustomerKeyT>(value));
1110 return *this;
1111 }
1113
1115
1124 inline const Aws::String& GetCopySourceSSECustomerKeyMD5() const { return m_copySourceSSECustomerKeyMD5; }
1125 inline bool CopySourceSSECustomerKeyMD5HasBeenSet() const { return m_copySourceSSECustomerKeyMD5HasBeenSet; }
1126 template <typename CopySourceSSECustomerKeyMD5T = Aws::String>
1127 void SetCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T&& value) {
1128 m_copySourceSSECustomerKeyMD5HasBeenSet = true;
1129 m_copySourceSSECustomerKeyMD5 = std::forward<CopySourceSSECustomerKeyMD5T>(value);
1130 }
1131 template <typename CopySourceSSECustomerKeyMD5T = Aws::String>
1132 CopyObjectRequest& WithCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T&& value) {
1133 SetCopySourceSSECustomerKeyMD5(std::forward<CopySourceSSECustomerKeyMD5T>(value));
1134 return *this;
1135 }
1137
1139
1140 inline RequestPayer GetRequestPayer() const { return m_requestPayer; }
1141 inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
1142 inline void SetRequestPayer(RequestPayer value) {
1143 m_requestPayerHasBeenSet = true;
1144 m_requestPayer = value;
1145 }
1147 SetRequestPayer(value);
1148 return *this;
1149 }
1151
1153
1188 inline const Aws::String& GetTagging() const { return m_tagging; }
1189 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
1190 template <typename TaggingT = Aws::String>
1191 void SetTagging(TaggingT&& value) {
1192 m_taggingHasBeenSet = true;
1193 m_tagging = std::forward<TaggingT>(value);
1194 }
1195 template <typename TaggingT = Aws::String>
1196 CopyObjectRequest& WithTagging(TaggingT&& value) {
1197 SetTagging(std::forward<TaggingT>(value));
1198 return *this;
1199 }
1201
1203
1207 inline ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
1208 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
1210 m_objectLockModeHasBeenSet = true;
1211 m_objectLockMode = value;
1212 }
1214 SetObjectLockMode(value);
1215 return *this;
1216 }
1218
1220
1225 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
1226 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
1227 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1228 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1229 m_objectLockRetainUntilDateHasBeenSet = true;
1230 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
1231 }
1232 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1233 CopyObjectRequest& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1234 SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value));
1235 return *this;
1236 }
1238
1240
1244 inline ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
1245 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
1247 m_objectLockLegalHoldStatusHasBeenSet = true;
1248 m_objectLockLegalHoldStatus = value;
1249 }
1252 return *this;
1253 }
1255
1257
1263 inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; }
1264 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
1265 template <typename ExpectedBucketOwnerT = Aws::String>
1266 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1267 m_expectedBucketOwnerHasBeenSet = true;
1268 m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value);
1269 }
1270 template <typename ExpectedBucketOwnerT = Aws::String>
1271 CopyObjectRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1272 SetExpectedBucketOwner(std::forward<ExpectedBucketOwnerT>(value));
1273 return *this;
1274 }
1276
1278
1283 inline const Aws::String& GetExpectedSourceBucketOwner() const { return m_expectedSourceBucketOwner; }
1284 inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; }
1285 template <typename ExpectedSourceBucketOwnerT = Aws::String>
1286 void SetExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT&& value) {
1287 m_expectedSourceBucketOwnerHasBeenSet = true;
1288 m_expectedSourceBucketOwner = std::forward<ExpectedSourceBucketOwnerT>(value);
1289 }
1290 template <typename ExpectedSourceBucketOwnerT = Aws::String>
1291 CopyObjectRequest& WithExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT&& value) {
1292 SetExpectedSourceBucketOwner(std::forward<ExpectedSourceBucketOwnerT>(value));
1293 return *this;
1294 }
1296
1298
1299 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
1300 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
1301 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1302 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1303 m_customizedAccessLogTagHasBeenSet = true;
1304 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
1305 }
1306 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1307 CopyObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1308 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
1309 return *this;
1310 }
1311 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
1312 CopyObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
1313 m_customizedAccessLogTagHasBeenSet = true;
1314 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
1315 return *this;
1316 }
1318 private:
1320
1321 Aws::String m_bucket;
1322
1323 Aws::String m_cacheControl;
1324
1325 ChecksumAlgorithm m_checksumAlgorithm{ChecksumAlgorithm::NOT_SET};
1326
1327 Aws::String m_contentDisposition;
1328
1329 Aws::String m_contentEncoding;
1330
1331 Aws::String m_contentLanguage;
1332
1333 Aws::String m_contentType;
1334
1335 Aws::String m_copySource;
1336
1337 Aws::String m_copySourceIfMatch;
1338
1339 Aws::Utils::DateTime m_copySourceIfModifiedSince{};
1340
1341 Aws::String m_copySourceIfNoneMatch;
1342
1343 Aws::Utils::DateTime m_copySourceIfUnmodifiedSince{};
1344
1345 Aws::Utils::DateTime m_expires{};
1346
1347 Aws::String m_grantFullControl;
1348
1349 Aws::String m_grantRead;
1350
1351 Aws::String m_grantReadACP;
1352
1353 Aws::String m_grantWriteACP;
1354
1355 Aws::String m_ifMatch;
1356
1357 Aws::String m_ifNoneMatch;
1358
1359 Aws::String m_key;
1360
1362
1363 MetadataDirective m_metadataDirective{MetadataDirective::NOT_SET};
1364
1365 TaggingDirective m_taggingDirective{TaggingDirective::NOT_SET};
1366
1368
1370
1371 StorageClass m_storageClass{StorageClass::NOT_SET};
1372
1373 Aws::String m_websiteRedirectLocation;
1374
1375 Aws::String m_sSECustomerAlgorithm;
1376
1377 Aws::String m_sSECustomerKey;
1378
1379 Aws::String m_sSECustomerKeyMD5;
1380
1381 Aws::String m_sSEKMSKeyId;
1382
1383 Aws::String m_sSEKMSEncryptionContext;
1384
1385 bool m_bucketKeyEnabled{false};
1386
1387 Aws::String m_copySourceSSECustomerAlgorithm;
1388
1389 Aws::String m_copySourceSSECustomerKey;
1390
1391 Aws::String m_copySourceSSECustomerKeyMD5;
1392
1393 RequestPayer m_requestPayer{RequestPayer::NOT_SET};
1394
1395 Aws::String m_tagging;
1396
1397 ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET};
1398
1399 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
1400
1402
1403 Aws::String m_expectedBucketOwner;
1404
1405 Aws::String m_expectedSourceBucketOwner;
1406
1407 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
1408 bool m_aCLHasBeenSet = false;
1409 bool m_bucketHasBeenSet = false;
1410 bool m_cacheControlHasBeenSet = false;
1411 bool m_checksumAlgorithmHasBeenSet = false;
1412 bool m_contentDispositionHasBeenSet = false;
1413 bool m_contentEncodingHasBeenSet = false;
1414 bool m_contentLanguageHasBeenSet = false;
1415 bool m_contentTypeHasBeenSet = false;
1416 bool m_copySourceHasBeenSet = false;
1417 bool m_copySourceIfMatchHasBeenSet = false;
1418 bool m_copySourceIfModifiedSinceHasBeenSet = false;
1419 bool m_copySourceIfNoneMatchHasBeenSet = false;
1420 bool m_copySourceIfUnmodifiedSinceHasBeenSet = false;
1421 bool m_expiresHasBeenSet = false;
1422 bool m_grantFullControlHasBeenSet = false;
1423 bool m_grantReadHasBeenSet = false;
1424 bool m_grantReadACPHasBeenSet = false;
1425 bool m_grantWriteACPHasBeenSet = false;
1426 bool m_ifMatchHasBeenSet = false;
1427 bool m_ifNoneMatchHasBeenSet = false;
1428 bool m_keyHasBeenSet = false;
1429 bool m_metadataHasBeenSet = false;
1430 bool m_metadataDirectiveHasBeenSet = false;
1431 bool m_taggingDirectiveHasBeenSet = false;
1432 bool m_annotationDirectiveHasBeenSet = false;
1433 bool m_serverSideEncryptionHasBeenSet = false;
1434 bool m_storageClassHasBeenSet = false;
1435 bool m_websiteRedirectLocationHasBeenSet = false;
1436 bool m_sSECustomerAlgorithmHasBeenSet = false;
1437 bool m_sSECustomerKeyHasBeenSet = false;
1438 bool m_sSECustomerKeyMD5HasBeenSet = false;
1439 bool m_sSEKMSKeyIdHasBeenSet = false;
1440 bool m_sSEKMSEncryptionContextHasBeenSet = false;
1441 bool m_bucketKeyEnabledHasBeenSet = false;
1442 bool m_copySourceSSECustomerAlgorithmHasBeenSet = false;
1443 bool m_copySourceSSECustomerKeyHasBeenSet = false;
1444 bool m_copySourceSSECustomerKeyMD5HasBeenSet = false;
1445 bool m_requestPayerHasBeenSet = false;
1446 bool m_taggingHasBeenSet = false;
1447 bool m_objectLockModeHasBeenSet = false;
1448 bool m_objectLockRetainUntilDateHasBeenSet = false;
1449 bool m_objectLockLegalHoldStatusHasBeenSet = false;
1450 bool m_expectedBucketOwnerHasBeenSet = false;
1451 bool m_expectedSourceBucketOwnerHasBeenSet = false;
1452 bool m_customizedAccessLogTagHasBeenSet = false;
1453};
1454
1455} // namespace Model
1456} // namespace S3Crt
1457} // namespace Aws
void SetExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT &&value)
const Aws::String & GetContentLanguage() const
void SetCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT &&value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
CopyObjectRequest & WithGrantReadACP(GrantReadACPT &&value)
CopyObjectRequest & WithCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T &&value)
CopyObjectRequest & WithServerSideEncryption(ServerSideEncryption value)
void SetGrantReadACP(GrantReadACPT &&value)
const Aws::String & GetSSECustomerKey() const
void SetCopySourceIfNoneMatch(CopySourceIfNoneMatchT &&value)
CopyObjectRequest & WithObjectLockMode(ObjectLockMode value)
CopyObjectRequest & WithBucketKeyEnabled(bool value)
CopyObjectRequest & WithCopySourceIfMatch(CopySourceIfMatchT &&value)
CopyObjectRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
CopyObjectRequest & WithCopySourceIfNoneMatch(CopySourceIfNoneMatchT &&value)
const Aws::String & GetWebsiteRedirectLocation() const
const Aws::String & GetContentDisposition() const
const Aws::Utils::DateTime & GetCopySourceIfModifiedSince() const
CopyObjectRequest & WithAnnotationDirective(AnnotationDirective value)
const Aws::String & GetGrantRead() const
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
CopyObjectRequest & WithCopySource(CopySourceT &&value)
CopyObjectRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
const Aws::Utils::DateTime & GetExpires() const
const Aws::String & GetSSEKMSEncryptionContext() const
void SetCacheControl(CacheControlT &&value)
void SetCopySourceIfMatch(CopySourceIfMatchT &&value)
CopyObjectRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
CopyObjectRequest & WithIfMatch(IfMatchT &&value)
CopyObjectRequest & WithExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT &&value)
const Aws::String & GetIfNoneMatch() const
CopyObjectRequest & WithGrantWriteACP(GrantWriteACPT &&value)
CopyObjectRequest & WithIfNoneMatch(IfNoneMatchT &&value)
CopyObjectRequest & WithStorageClass(StorageClass value)
const Aws::String & GetExpectedSourceBucketOwner() const
const Aws::String & GetCopySource() const
CopyObjectRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
ChecksumAlgorithm GetChecksumAlgorithm() const
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
void SetSSECustomerKey(SSECustomerKeyT &&value)
void SetContentDisposition(ContentDispositionT &&value)
void SetGrantWriteACP(GrantWriteACPT &&value)
void SetACL(ObjectCannedACL value)
CopyObjectRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
CopyObjectRequest & WithKey(KeyT &&value)
CopyObjectRequest & WithContentType(ContentTypeT &&value)
AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override
void SetServerSideEncryption(ServerSideEncryption value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
void SetAnnotationDirective(AnnotationDirective value)
void SetCopySourceIfModifiedSince(CopySourceIfModifiedSinceT &&value)
CopyObjectRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
CopyObjectRequest & WithGrantFullControl(GrantFullControlT &&value)
CopyObjectRequest & WithMetadata(MetadataT &&value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
void SetCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T &&value)
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
CopyObjectRequest & WithTagging(TaggingT &&value)
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
void SetCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT &&value)
CopyObjectRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
CopyObjectRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
const Aws::String & GetCopySourceSSECustomerKeyMD5() const
CopyObjectRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
const Aws::String & GetIfMatch() const
CopyObjectRequest & WithACL(ObjectCannedACL value)
ServerSideEncryption GetServerSideEncryption() const
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
CopyObjectRequest & WithBucket(BucketT &&value)
void SetContentEncoding(ContentEncodingT &&value)
const Aws::String & GetKey() const
CopyObjectRequest & WithMetadataDirective(MetadataDirective value)
AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CopyObjectRequest & WithExpires(ExpiresT &&value)
CopyObjectRequest & WithContentDisposition(ContentDispositionT &&value)
CopyObjectRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
void SetCopySourceSSECustomerKey(CopySourceSSECustomerKeyT &&value)
TaggingDirective GetTaggingDirective() const
const Aws::String & GetBucket() const
const Aws::String & GetExpectedBucketOwner() const
const Aws::String & GetGrantWriteACP() const
CopyObjectRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
const Aws::String & GetSSEKMSKeyId() const
CopyObjectRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
void SetObjectLockMode(ObjectLockMode value)
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
CopyObjectRequest & WithCopySourceIfModifiedSince(CopySourceIfModifiedSinceT &&value)
const Aws::String & GetCacheControl() const
CopyObjectRequest & WithCopySourceSSECustomerKey(CopySourceSSECustomerKeyT &&value)
virtual const char * GetServiceRequestName() const override
AnnotationDirective GetAnnotationDirective() const
CopyObjectRequest & WithCacheControl(CacheControlT &&value)
const Aws::String & GetSSECustomerAlgorithm() const
CopyObjectRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
CopyObjectRequest & WithCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT &&value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetContentType(ContentTypeT &&value)
CopyObjectRequest & WithContentEncoding(ContentEncodingT &&value)
const Aws::Utils::DateTime & GetCopySourceIfUnmodifiedSince() const
const Aws::String & GetCopySourceIfMatch() const
AWS_S3CRT_API CopyObjectRequest()=default
CopyObjectRequest & WithRequestPayer(RequestPayer value)
const Aws::String & GetCopySourceSSECustomerKey() const
const Aws::String & GetGrantFullControl() const
void SetTaggingDirective(TaggingDirective value)
void SetStorageClass(StorageClass value)
void SetGrantFullControl(GrantFullControlT &&value)
CopyObjectRequest & WithGrantRead(GrantReadT &&value)
void SetCopySource(CopySourceT &&value)
void SetContentLanguage(ContentLanguageT &&value)
const Aws::String & GetCopySourceIfNoneMatch() const
const Aws::String & GetContentType() const
const Aws::String & GetSSECustomerKeyMD5() const
const Aws::String & GetCopySourceSSECustomerAlgorithm() const
void SetMetadataDirective(MetadataDirective value)
void SetIfNoneMatch(IfNoneMatchT &&value)
const Aws::String & GetTagging() const
CopyObjectRequest & WithCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT &&value)
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
CopyObjectRequest & WithContentLanguage(ContentLanguageT &&value)
const Aws::String & GetGrantReadACP() const
AWS_S3CRT_API Aws::String SerializePayload() const override
CopyObjectRequest & WithTaggingDirective(TaggingDirective value)
MetadataDirective GetMetadataDirective() const
const Aws::String & GetContentEncoding() const
void SetChecksumAlgorithm(ChecksumAlgorithm value)
Aws::Endpoint::EndpointParameters EndpointParameters
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