AWS SDK for C++

AWS SDK for C++ Version 1.11.695

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/S3Request.h>
11#include <aws/s3/S3_EXPORTS.h>
12#include <aws/s3/model/ChecksumAlgorithm.h>
13#include <aws/s3/model/MetadataDirective.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#include <aws/s3/model/TaggingDirective.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Http {
26class URI;
27} // namespace Http
28namespace S3 {
29namespace Model {
30
34 public:
35 AWS_S3_API CopyObjectRequest() = default;
36
37 // Service request name is the Operation name which will send this request out,
38 // each operation should has unique request name, so that we can get operation's name from this request.
39 // Note: this is not true for response, multiple operations may have the same response name,
40 // so we can not get operation's name from response.
41 inline virtual const char* GetServiceRequestName() const override { return "CopyObject"; }
42
43 AWS_S3_API Aws::String SerializePayload() const override;
44
45 AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
46
48
49 AWS_S3_API bool HasEmbeddedError(IOStream& body, const Http::HeaderValueCollection& header) const override;
53 AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
54
56
79 inline ObjectCannedACL GetACL() const { return m_aCL; }
80 inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; }
81 inline void SetACL(ObjectCannedACL value) {
82 m_aCLHasBeenSet = true;
83 m_aCL = value;
84 }
86 SetACL(value);
87 return *this;
88 }
90
92
136 inline const Aws::String& GetBucket() const { return m_bucket; }
137 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
138 template <typename BucketT = Aws::String>
139 void SetBucket(BucketT&& value) {
140 m_bucketHasBeenSet = true;
141 m_bucket = std::forward<BucketT>(value);
142 }
143 template <typename BucketT = Aws::String>
144 CopyObjectRequest& WithBucket(BucketT&& value) {
145 SetBucket(std::forward<BucketT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::String& GetCacheControl() const { return m_cacheControl; }
155 inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; }
156 template <typename CacheControlT = Aws::String>
157 void SetCacheControl(CacheControlT&& value) {
158 m_cacheControlHasBeenSet = true;
159 m_cacheControl = std::forward<CacheControlT>(value);
160 }
161 template <typename CacheControlT = Aws::String>
162 CopyObjectRequest& WithCacheControl(CacheControlT&& value) {
163 SetCacheControl(std::forward<CacheControlT>(value));
164 return *this;
165 }
167
169
185 inline ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
186 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
188 m_checksumAlgorithmHasBeenSet = true;
189 m_checksumAlgorithm = value;
190 }
193 return *this;
194 }
196
198
203 inline const Aws::String& GetContentDisposition() const { return m_contentDisposition; }
204 inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; }
205 template <typename ContentDispositionT = Aws::String>
206 void SetContentDisposition(ContentDispositionT&& value) {
207 m_contentDispositionHasBeenSet = true;
208 m_contentDisposition = std::forward<ContentDispositionT>(value);
209 }
210 template <typename ContentDispositionT = Aws::String>
211 CopyObjectRequest& WithContentDisposition(ContentDispositionT&& value) {
212 SetContentDisposition(std::forward<ContentDispositionT>(value));
213 return *this;
214 }
216
218
224 inline const Aws::String& GetContentEncoding() const { return m_contentEncoding; }
225 inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; }
226 template <typename ContentEncodingT = Aws::String>
227 void SetContentEncoding(ContentEncodingT&& value) {
228 m_contentEncodingHasBeenSet = true;
229 m_contentEncoding = std::forward<ContentEncodingT>(value);
230 }
231 template <typename ContentEncodingT = Aws::String>
232 CopyObjectRequest& WithContentEncoding(ContentEncodingT&& value) {
233 SetContentEncoding(std::forward<ContentEncodingT>(value));
234 return *this;
235 }
237
239
242 inline const Aws::String& GetContentLanguage() const { return m_contentLanguage; }
243 inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; }
244 template <typename ContentLanguageT = Aws::String>
245 void SetContentLanguage(ContentLanguageT&& value) {
246 m_contentLanguageHasBeenSet = true;
247 m_contentLanguage = std::forward<ContentLanguageT>(value);
248 }
249 template <typename ContentLanguageT = Aws::String>
250 CopyObjectRequest& WithContentLanguage(ContentLanguageT&& value) {
251 SetContentLanguage(std::forward<ContentLanguageT>(value));
252 return *this;
253 }
255
257
260 inline const Aws::String& GetContentType() const { return m_contentType; }
261 inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; }
262 template <typename ContentTypeT = Aws::String>
263 void SetContentType(ContentTypeT&& value) {
264 m_contentTypeHasBeenSet = true;
265 m_contentType = std::forward<ContentTypeT>(value);
266 }
267 template <typename ContentTypeT = Aws::String>
268 CopyObjectRequest& WithContentType(ContentTypeT&& value) {
269 SetContentType(std::forward<ContentTypeT>(value));
270 return *this;
271 }
273
275
329 inline const Aws::String& GetCopySource() const { return m_copySource; }
330 inline bool CopySourceHasBeenSet() const { return m_copySourceHasBeenSet; }
331 template <typename CopySourceT = Aws::String>
332 void SetCopySource(CopySourceT&& value) {
333 m_copySourceHasBeenSet = true;
334 m_copySource = std::forward<CopySourceT>(value);
335 }
336 template <typename CopySourceT = Aws::String>
337 CopyObjectRequest& WithCopySource(CopySourceT&& value) {
338 SetCopySource(std::forward<CopySourceT>(value));
339 return *this;
340 }
342
344
354 inline const Aws::String& GetCopySourceIfMatch() const { return m_copySourceIfMatch; }
355 inline bool CopySourceIfMatchHasBeenSet() const { return m_copySourceIfMatchHasBeenSet; }
356 template <typename CopySourceIfMatchT = Aws::String>
357 void SetCopySourceIfMatch(CopySourceIfMatchT&& value) {
358 m_copySourceIfMatchHasBeenSet = true;
359 m_copySourceIfMatch = std::forward<CopySourceIfMatchT>(value);
360 }
361 template <typename CopySourceIfMatchT = Aws::String>
362 CopyObjectRequest& WithCopySourceIfMatch(CopySourceIfMatchT&& value) {
363 SetCopySourceIfMatch(std::forward<CopySourceIfMatchT>(value));
364 return *this;
365 }
367
369
379 inline const Aws::Utils::DateTime& GetCopySourceIfModifiedSince() const { return m_copySourceIfModifiedSince; }
380 inline bool CopySourceIfModifiedSinceHasBeenSet() const { return m_copySourceIfModifiedSinceHasBeenSet; }
381 template <typename CopySourceIfModifiedSinceT = Aws::Utils::DateTime>
382 void SetCopySourceIfModifiedSince(CopySourceIfModifiedSinceT&& value) {
383 m_copySourceIfModifiedSinceHasBeenSet = true;
384 m_copySourceIfModifiedSince = std::forward<CopySourceIfModifiedSinceT>(value);
385 }
386 template <typename CopySourceIfModifiedSinceT = Aws::Utils::DateTime>
387 CopyObjectRequest& WithCopySourceIfModifiedSince(CopySourceIfModifiedSinceT&& value) {
388 SetCopySourceIfModifiedSince(std::forward<CopySourceIfModifiedSinceT>(value));
389 return *this;
390 }
392
394
404 inline const Aws::String& GetCopySourceIfNoneMatch() const { return m_copySourceIfNoneMatch; }
405 inline bool CopySourceIfNoneMatchHasBeenSet() const { return m_copySourceIfNoneMatchHasBeenSet; }
406 template <typename CopySourceIfNoneMatchT = Aws::String>
407 void SetCopySourceIfNoneMatch(CopySourceIfNoneMatchT&& value) {
408 m_copySourceIfNoneMatchHasBeenSet = true;
409 m_copySourceIfNoneMatch = std::forward<CopySourceIfNoneMatchT>(value);
410 }
411 template <typename CopySourceIfNoneMatchT = Aws::String>
412 CopyObjectRequest& WithCopySourceIfNoneMatch(CopySourceIfNoneMatchT&& value) {
413 SetCopySourceIfNoneMatch(std::forward<CopySourceIfNoneMatchT>(value));
414 return *this;
415 }
417
419
429 inline const Aws::Utils::DateTime& GetCopySourceIfUnmodifiedSince() const { return m_copySourceIfUnmodifiedSince; }
430 inline bool CopySourceIfUnmodifiedSinceHasBeenSet() const { return m_copySourceIfUnmodifiedSinceHasBeenSet; }
431 template <typename CopySourceIfUnmodifiedSinceT = Aws::Utils::DateTime>
432 void SetCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT&& value) {
433 m_copySourceIfUnmodifiedSinceHasBeenSet = true;
434 m_copySourceIfUnmodifiedSince = std::forward<CopySourceIfUnmodifiedSinceT>(value);
435 }
436 template <typename CopySourceIfUnmodifiedSinceT = Aws::Utils::DateTime>
437 CopyObjectRequest& WithCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT&& value) {
438 SetCopySourceIfUnmodifiedSince(std::forward<CopySourceIfUnmodifiedSinceT>(value));
439 return *this;
440 }
442
444
447 inline const Aws::Utils::DateTime& GetExpires() const { return m_expires; }
448 inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; }
449 template <typename ExpiresT = Aws::Utils::DateTime>
450 void SetExpires(ExpiresT&& value) {
451 m_expiresHasBeenSet = true;
452 m_expires = std::forward<ExpiresT>(value);
453 }
454 template <typename ExpiresT = Aws::Utils::DateTime>
455 CopyObjectRequest& WithExpires(ExpiresT&& value) {
456 SetExpires(std::forward<ExpiresT>(value));
457 return *this;
458 }
460
462
468 inline const Aws::String& GetGrantFullControl() const { return m_grantFullControl; }
469 inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; }
470 template <typename GrantFullControlT = Aws::String>
471 void SetGrantFullControl(GrantFullControlT&& value) {
472 m_grantFullControlHasBeenSet = true;
473 m_grantFullControl = std::forward<GrantFullControlT>(value);
474 }
475 template <typename GrantFullControlT = Aws::String>
476 CopyObjectRequest& WithGrantFullControl(GrantFullControlT&& value) {
477 SetGrantFullControl(std::forward<GrantFullControlT>(value));
478 return *this;
479 }
481
483
489 inline const Aws::String& GetGrantRead() const { return m_grantRead; }
490 inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; }
491 template <typename GrantReadT = Aws::String>
492 void SetGrantRead(GrantReadT&& value) {
493 m_grantReadHasBeenSet = true;
494 m_grantRead = std::forward<GrantReadT>(value);
495 }
496 template <typename GrantReadT = Aws::String>
497 CopyObjectRequest& WithGrantRead(GrantReadT&& value) {
498 SetGrantRead(std::forward<GrantReadT>(value));
499 return *this;
500 }
502
504
510 inline const Aws::String& GetGrantReadACP() const { return m_grantReadACP; }
511 inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; }
512 template <typename GrantReadACPT = Aws::String>
513 void SetGrantReadACP(GrantReadACPT&& value) {
514 m_grantReadACPHasBeenSet = true;
515 m_grantReadACP = std::forward<GrantReadACPT>(value);
516 }
517 template <typename GrantReadACPT = Aws::String>
518 CopyObjectRequest& WithGrantReadACP(GrantReadACPT&& value) {
519 SetGrantReadACP(std::forward<GrantReadACPT>(value));
520 return *this;
521 }
523
525
531 inline const Aws::String& GetGrantWriteACP() const { return m_grantWriteACP; }
532 inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; }
533 template <typename GrantWriteACPT = Aws::String>
534 void SetGrantWriteACP(GrantWriteACPT&& value) {
535 m_grantWriteACPHasBeenSet = true;
536 m_grantWriteACP = std::forward<GrantWriteACPT>(value);
537 }
538 template <typename GrantWriteACPT = Aws::String>
539 CopyObjectRequest& WithGrantWriteACP(GrantWriteACPT&& value) {
540 SetGrantWriteACP(std::forward<GrantWriteACPT>(value));
541 return *this;
542 }
544
546
556 inline const Aws::String& GetIfMatch() const { return m_ifMatch; }
557 inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; }
558 template <typename IfMatchT = Aws::String>
559 void SetIfMatch(IfMatchT&& value) {
560 m_ifMatchHasBeenSet = true;
561 m_ifMatch = std::forward<IfMatchT>(value);
562 }
563 template <typename IfMatchT = Aws::String>
564 CopyObjectRequest& WithIfMatch(IfMatchT&& value) {
565 SetIfMatch(std::forward<IfMatchT>(value));
566 return *this;
567 }
569
571
580 inline const Aws::String& GetIfNoneMatch() const { return m_ifNoneMatch; }
581 inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; }
582 template <typename IfNoneMatchT = Aws::String>
583 void SetIfNoneMatch(IfNoneMatchT&& value) {
584 m_ifNoneMatchHasBeenSet = true;
585 m_ifNoneMatch = std::forward<IfNoneMatchT>(value);
586 }
587 template <typename IfNoneMatchT = Aws::String>
588 CopyObjectRequest& WithIfNoneMatch(IfNoneMatchT&& value) {
589 SetIfNoneMatch(std::forward<IfNoneMatchT>(value));
590 return *this;
591 }
593
595
598 inline const Aws::String& GetKey() const { return m_key; }
599 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
600 template <typename KeyT = Aws::String>
601 void SetKey(KeyT&& value) {
602 m_keyHasBeenSet = true;
603 m_key = std::forward<KeyT>(value);
604 }
605 template <typename KeyT = Aws::String>
606 CopyObjectRequest& WithKey(KeyT&& value) {
607 SetKey(std::forward<KeyT>(value));
608 return *this;
609 }
611
613
616 inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const { return m_metadata; }
617 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
618 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
619 void SetMetadata(MetadataT&& value) {
620 m_metadataHasBeenSet = true;
621 m_metadata = std::forward<MetadataT>(value);
622 }
623 template <typename MetadataT = Aws::Map<Aws::String, Aws::String>>
624 CopyObjectRequest& WithMetadata(MetadataT&& value) {
625 SetMetadata(std::forward<MetadataT>(value));
626 return *this;
627 }
628 template <typename MetadataKeyT = Aws::String, typename MetadataValueT = Aws::String>
629 CopyObjectRequest& AddMetadata(MetadataKeyT&& key, MetadataValueT&& value) {
630 m_metadataHasBeenSet = true;
631 m_metadata.emplace(std::forward<MetadataKeyT>(key), std::forward<MetadataValueT>(value));
632 return *this;
633 }
635
637
653 inline MetadataDirective GetMetadataDirective() const { return m_metadataDirective; }
654 inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; }
656 m_metadataDirectiveHasBeenSet = true;
657 m_metadataDirective = value;
658 }
661 return *this;
662 }
664
666
697 inline TaggingDirective GetTaggingDirective() const { return m_taggingDirective; }
698 inline bool TaggingDirectiveHasBeenSet() const { return m_taggingDirectiveHasBeenSet; }
700 m_taggingDirectiveHasBeenSet = true;
701 m_taggingDirective = value;
702 }
704 SetTaggingDirective(value);
705 return *this;
706 }
708
710
779 inline ServerSideEncryption GetServerSideEncryption() const { return m_serverSideEncryption; }
780 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
782 m_serverSideEncryptionHasBeenSet = true;
783 m_serverSideEncryption = value;
784 }
787 return *this;
788 }
790
792
822 inline StorageClass GetStorageClass() const { return m_storageClass; }
823 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
824 inline void SetStorageClass(StorageClass value) {
825 m_storageClassHasBeenSet = true;
826 m_storageClass = value;
827 }
829 SetStorageClass(value);
830 return *this;
831 }
833
835
845 inline const Aws::String& GetWebsiteRedirectLocation() const { return m_websiteRedirectLocation; }
846 inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; }
847 template <typename WebsiteRedirectLocationT = Aws::String>
848 void SetWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
849 m_websiteRedirectLocationHasBeenSet = true;
850 m_websiteRedirectLocation = std::forward<WebsiteRedirectLocationT>(value);
851 }
852 template <typename WebsiteRedirectLocationT = Aws::String>
853 CopyObjectRequest& WithWebsiteRedirectLocation(WebsiteRedirectLocationT&& value) {
854 SetWebsiteRedirectLocation(std::forward<WebsiteRedirectLocationT>(value));
855 return *this;
856 }
858
860
872 inline const Aws::String& GetSSECustomerAlgorithm() const { return m_sSECustomerAlgorithm; }
873 inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
874 template <typename SSECustomerAlgorithmT = Aws::String>
875 void SetSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
876 m_sSECustomerAlgorithmHasBeenSet = true;
877 m_sSECustomerAlgorithm = std::forward<SSECustomerAlgorithmT>(value);
878 }
879 template <typename SSECustomerAlgorithmT = Aws::String>
880 CopyObjectRequest& WithSSECustomerAlgorithm(SSECustomerAlgorithmT&& value) {
881 SetSSECustomerAlgorithm(std::forward<SSECustomerAlgorithmT>(value));
882 return *this;
883 }
885
887
896 inline const Aws::String& GetSSECustomerKey() const { return m_sSECustomerKey; }
897 inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
898 template <typename SSECustomerKeyT = Aws::String>
899 void SetSSECustomerKey(SSECustomerKeyT&& value) {
900 m_sSECustomerKeyHasBeenSet = true;
901 m_sSECustomerKey = std::forward<SSECustomerKeyT>(value);
902 }
903 template <typename SSECustomerKeyT = Aws::String>
904 CopyObjectRequest& WithSSECustomerKey(SSECustomerKeyT&& value) {
905 SetSSECustomerKey(std::forward<SSECustomerKeyT>(value));
906 return *this;
907 }
909
911
917 inline const Aws::String& GetSSECustomerKeyMD5() const { return m_sSECustomerKeyMD5; }
918 inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
919 template <typename SSECustomerKeyMD5T = Aws::String>
920 void SetSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
921 m_sSECustomerKeyMD5HasBeenSet = true;
922 m_sSECustomerKeyMD5 = std::forward<SSECustomerKeyMD5T>(value);
923 }
924 template <typename SSECustomerKeyMD5T = Aws::String>
925 CopyObjectRequest& WithSSECustomerKeyMD5(SSECustomerKeyMD5T&& value) {
926 SetSSECustomerKeyMD5(std::forward<SSECustomerKeyMD5T>(value));
927 return *this;
928 }
930
932
954 inline const Aws::String& GetSSEKMSKeyId() const { return m_sSEKMSKeyId; }
955 inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
956 template <typename SSEKMSKeyIdT = Aws::String>
957 void SetSSEKMSKeyId(SSEKMSKeyIdT&& value) {
958 m_sSEKMSKeyIdHasBeenSet = true;
959 m_sSEKMSKeyId = std::forward<SSEKMSKeyIdT>(value);
960 }
961 template <typename SSEKMSKeyIdT = Aws::String>
962 CopyObjectRequest& WithSSEKMSKeyId(SSEKMSKeyIdT&& value) {
963 SetSSEKMSKeyId(std::forward<SSEKMSKeyIdT>(value));
964 return *this;
965 }
967
969
984 inline const Aws::String& GetSSEKMSEncryptionContext() const { return m_sSEKMSEncryptionContext; }
985 inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
986 template <typename SSEKMSEncryptionContextT = Aws::String>
987 void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
988 m_sSEKMSEncryptionContextHasBeenSet = true;
989 m_sSEKMSEncryptionContext = std::forward<SSEKMSEncryptionContextT>(value);
990 }
991 template <typename SSEKMSEncryptionContextT = Aws::String>
992 CopyObjectRequest& WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT&& value) {
993 SetSSEKMSEncryptionContext(std::forward<SSEKMSEncryptionContextT>(value));
994 return *this;
995 }
997
999
1016 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
1017 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
1018 inline void SetBucketKeyEnabled(bool value) {
1019 m_bucketKeyEnabledHasBeenSet = true;
1020 m_bucketKeyEnabled = value;
1021 }
1023 SetBucketKeyEnabled(value);
1024 return *this;
1025 }
1027
1029
1037 inline const Aws::String& GetCopySourceSSECustomerAlgorithm() const { return m_copySourceSSECustomerAlgorithm; }
1038 inline bool CopySourceSSECustomerAlgorithmHasBeenSet() const { return m_copySourceSSECustomerAlgorithmHasBeenSet; }
1039 template <typename CopySourceSSECustomerAlgorithmT = Aws::String>
1040 void SetCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT&& value) {
1041 m_copySourceSSECustomerAlgorithmHasBeenSet = true;
1042 m_copySourceSSECustomerAlgorithm = std::forward<CopySourceSSECustomerAlgorithmT>(value);
1043 }
1044 template <typename CopySourceSSECustomerAlgorithmT = Aws::String>
1045 CopyObjectRequest& WithCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT&& value) {
1046 SetCopySourceSSECustomerAlgorithm(std::forward<CopySourceSSECustomerAlgorithmT>(value));
1047 return *this;
1048 }
1050
1052
1061 inline const Aws::String& GetCopySourceSSECustomerKey() const { return m_copySourceSSECustomerKey; }
1062 inline bool CopySourceSSECustomerKeyHasBeenSet() const { return m_copySourceSSECustomerKeyHasBeenSet; }
1063 template <typename CopySourceSSECustomerKeyT = Aws::String>
1064 void SetCopySourceSSECustomerKey(CopySourceSSECustomerKeyT&& value) {
1065 m_copySourceSSECustomerKeyHasBeenSet = true;
1066 m_copySourceSSECustomerKey = std::forward<CopySourceSSECustomerKeyT>(value);
1067 }
1068 template <typename CopySourceSSECustomerKeyT = Aws::String>
1069 CopyObjectRequest& WithCopySourceSSECustomerKey(CopySourceSSECustomerKeyT&& value) {
1070 SetCopySourceSSECustomerKey(std::forward<CopySourceSSECustomerKeyT>(value));
1071 return *this;
1072 }
1074
1076
1085 inline const Aws::String& GetCopySourceSSECustomerKeyMD5() const { return m_copySourceSSECustomerKeyMD5; }
1086 inline bool CopySourceSSECustomerKeyMD5HasBeenSet() const { return m_copySourceSSECustomerKeyMD5HasBeenSet; }
1087 template <typename CopySourceSSECustomerKeyMD5T = Aws::String>
1088 void SetCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T&& value) {
1089 m_copySourceSSECustomerKeyMD5HasBeenSet = true;
1090 m_copySourceSSECustomerKeyMD5 = std::forward<CopySourceSSECustomerKeyMD5T>(value);
1091 }
1092 template <typename CopySourceSSECustomerKeyMD5T = Aws::String>
1093 CopyObjectRequest& WithCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T&& value) {
1094 SetCopySourceSSECustomerKeyMD5(std::forward<CopySourceSSECustomerKeyMD5T>(value));
1095 return *this;
1096 }
1098
1100
1101 inline RequestPayer GetRequestPayer() const { return m_requestPayer; }
1102 inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
1103 inline void SetRequestPayer(RequestPayer value) {
1104 m_requestPayerHasBeenSet = true;
1105 m_requestPayer = value;
1106 }
1108 SetRequestPayer(value);
1109 return *this;
1110 }
1112
1114
1149 inline const Aws::String& GetTagging() const { return m_tagging; }
1150 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
1151 template <typename TaggingT = Aws::String>
1152 void SetTagging(TaggingT&& value) {
1153 m_taggingHasBeenSet = true;
1154 m_tagging = std::forward<TaggingT>(value);
1155 }
1156 template <typename TaggingT = Aws::String>
1157 CopyObjectRequest& WithTagging(TaggingT&& value) {
1158 SetTagging(std::forward<TaggingT>(value));
1159 return *this;
1160 }
1162
1164
1168 inline ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
1169 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
1171 m_objectLockModeHasBeenSet = true;
1172 m_objectLockMode = value;
1173 }
1175 SetObjectLockMode(value);
1176 return *this;
1177 }
1179
1181
1186 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
1187 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
1188 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1189 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1190 m_objectLockRetainUntilDateHasBeenSet = true;
1191 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
1192 }
1193 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
1194 CopyObjectRequest& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
1195 SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value));
1196 return *this;
1197 }
1199
1201
1205 inline ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
1206 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
1208 m_objectLockLegalHoldStatusHasBeenSet = true;
1209 m_objectLockLegalHoldStatus = value;
1210 }
1213 return *this;
1214 }
1216
1218
1224 inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; }
1225 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
1226 template <typename ExpectedBucketOwnerT = Aws::String>
1227 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1228 m_expectedBucketOwnerHasBeenSet = true;
1229 m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value);
1230 }
1231 template <typename ExpectedBucketOwnerT = Aws::String>
1232 CopyObjectRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) {
1233 SetExpectedBucketOwner(std::forward<ExpectedBucketOwnerT>(value));
1234 return *this;
1235 }
1237
1239
1244 inline const Aws::String& GetExpectedSourceBucketOwner() const { return m_expectedSourceBucketOwner; }
1245 inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; }
1246 template <typename ExpectedSourceBucketOwnerT = Aws::String>
1247 void SetExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT&& value) {
1248 m_expectedSourceBucketOwnerHasBeenSet = true;
1249 m_expectedSourceBucketOwner = std::forward<ExpectedSourceBucketOwnerT>(value);
1250 }
1251 template <typename ExpectedSourceBucketOwnerT = Aws::String>
1252 CopyObjectRequest& WithExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT&& value) {
1253 SetExpectedSourceBucketOwner(std::forward<ExpectedSourceBucketOwnerT>(value));
1254 return *this;
1255 }
1257
1259
1260 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
1261 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
1262 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1263 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1264 m_customizedAccessLogTagHasBeenSet = true;
1265 m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value);
1266 }
1267 template <typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
1268 CopyObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) {
1269 SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value));
1270 return *this;
1271 }
1272 template <typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
1273 CopyObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
1274 m_customizedAccessLogTagHasBeenSet = true;
1275 m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value));
1276 return *this;
1277 }
1279 private:
1281 bool m_aCLHasBeenSet = false;
1282
1283 Aws::String m_bucket;
1284 bool m_bucketHasBeenSet = false;
1285
1286 Aws::String m_cacheControl;
1287 bool m_cacheControlHasBeenSet = false;
1288
1289 ChecksumAlgorithm m_checksumAlgorithm{ChecksumAlgorithm::NOT_SET};
1290 bool m_checksumAlgorithmHasBeenSet = false;
1291
1292 Aws::String m_contentDisposition;
1293 bool m_contentDispositionHasBeenSet = false;
1294
1295 Aws::String m_contentEncoding;
1296 bool m_contentEncodingHasBeenSet = false;
1297
1298 Aws::String m_contentLanguage;
1299 bool m_contentLanguageHasBeenSet = false;
1300
1301 Aws::String m_contentType;
1302 bool m_contentTypeHasBeenSet = false;
1303
1304 Aws::String m_copySource;
1305 bool m_copySourceHasBeenSet = false;
1306
1307 Aws::String m_copySourceIfMatch;
1308 bool m_copySourceIfMatchHasBeenSet = false;
1309
1310 Aws::Utils::DateTime m_copySourceIfModifiedSince{};
1311 bool m_copySourceIfModifiedSinceHasBeenSet = false;
1312
1313 Aws::String m_copySourceIfNoneMatch;
1314 bool m_copySourceIfNoneMatchHasBeenSet = false;
1315
1316 Aws::Utils::DateTime m_copySourceIfUnmodifiedSince{};
1317 bool m_copySourceIfUnmodifiedSinceHasBeenSet = false;
1318
1319 Aws::Utils::DateTime m_expires{};
1320 bool m_expiresHasBeenSet = false;
1321
1322 Aws::String m_grantFullControl;
1323 bool m_grantFullControlHasBeenSet = false;
1324
1325 Aws::String m_grantRead;
1326 bool m_grantReadHasBeenSet = false;
1327
1328 Aws::String m_grantReadACP;
1329 bool m_grantReadACPHasBeenSet = false;
1330
1331 Aws::String m_grantWriteACP;
1332 bool m_grantWriteACPHasBeenSet = false;
1333
1334 Aws::String m_ifMatch;
1335 bool m_ifMatchHasBeenSet = false;
1336
1337 Aws::String m_ifNoneMatch;
1338 bool m_ifNoneMatchHasBeenSet = false;
1339
1340 Aws::String m_key;
1341 bool m_keyHasBeenSet = false;
1342
1344 bool m_metadataHasBeenSet = false;
1345
1346 MetadataDirective m_metadataDirective{MetadataDirective::NOT_SET};
1347 bool m_metadataDirectiveHasBeenSet = false;
1348
1349 TaggingDirective m_taggingDirective{TaggingDirective::NOT_SET};
1350 bool m_taggingDirectiveHasBeenSet = false;
1351
1353 bool m_serverSideEncryptionHasBeenSet = false;
1354
1355 StorageClass m_storageClass{StorageClass::NOT_SET};
1356 bool m_storageClassHasBeenSet = false;
1357
1358 Aws::String m_websiteRedirectLocation;
1359 bool m_websiteRedirectLocationHasBeenSet = false;
1360
1361 Aws::String m_sSECustomerAlgorithm;
1362 bool m_sSECustomerAlgorithmHasBeenSet = false;
1363
1364 Aws::String m_sSECustomerKey;
1365 bool m_sSECustomerKeyHasBeenSet = false;
1366
1367 Aws::String m_sSECustomerKeyMD5;
1368 bool m_sSECustomerKeyMD5HasBeenSet = false;
1369
1370 Aws::String m_sSEKMSKeyId;
1371 bool m_sSEKMSKeyIdHasBeenSet = false;
1372
1373 Aws::String m_sSEKMSEncryptionContext;
1374 bool m_sSEKMSEncryptionContextHasBeenSet = false;
1375
1376 bool m_bucketKeyEnabled{false};
1377 bool m_bucketKeyEnabledHasBeenSet = false;
1378
1379 Aws::String m_copySourceSSECustomerAlgorithm;
1380 bool m_copySourceSSECustomerAlgorithmHasBeenSet = false;
1381
1382 Aws::String m_copySourceSSECustomerKey;
1383 bool m_copySourceSSECustomerKeyHasBeenSet = false;
1384
1385 Aws::String m_copySourceSSECustomerKeyMD5;
1386 bool m_copySourceSSECustomerKeyMD5HasBeenSet = false;
1387
1388 RequestPayer m_requestPayer{RequestPayer::NOT_SET};
1389 bool m_requestPayerHasBeenSet = false;
1390
1391 Aws::String m_tagging;
1392 bool m_taggingHasBeenSet = false;
1393
1394 ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET};
1395 bool m_objectLockModeHasBeenSet = false;
1396
1397 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
1398 bool m_objectLockRetainUntilDateHasBeenSet = false;
1399
1401 bool m_objectLockLegalHoldStatusHasBeenSet = false;
1402
1403 Aws::String m_expectedBucketOwner;
1404 bool m_expectedBucketOwnerHasBeenSet = false;
1405
1406 Aws::String m_expectedSourceBucketOwner;
1407 bool m_expectedSourceBucketOwnerHasBeenSet = false;
1408
1409 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
1410 bool m_customizedAccessLogTagHasBeenSet = false;
1411};
1412
1413} // namespace Model
1414} // namespace S3
1415} // namespace Aws
CopyObjectRequest & WithIfNoneMatch(IfNoneMatchT &&value)
void SetExpectedBucketOwner(ExpectedBucketOwnerT &&value)
void SetCopySourceIfNoneMatch(CopySourceIfNoneMatchT &&value)
CopyObjectRequest & WithStorageClass(StorageClass value)
CopyObjectRequest & WithChecksumAlgorithm(ChecksumAlgorithm value)
ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
AWS_S3_API CopyObjectRequest()=default
CopyObjectRequest & WithBucketKeyEnabled(bool value)
void SetCopySource(CopySourceT &&value)
CopyObjectRequest & WithContentEncoding(ContentEncodingT &&value)
CopyObjectRequest & WithServerSideEncryption(ServerSideEncryption value)
const Aws::String & GetContentDisposition() const
CopyObjectRequest & WithExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT &&value)
void SetMetadata(MetadataT &&value)
CopyObjectRequest & WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
CopyObjectRequest & WithCacheControl(CacheControlT &&value)
void SetContentLanguage(ContentLanguageT &&value)
CopyObjectRequest & WithIfMatch(IfMatchT &&value)
CopyObjectRequest & WithBucket(BucketT &&value)
const Aws::Utils::DateTime & GetCopySourceIfUnmodifiedSince() const
ServerSideEncryption GetServerSideEncryption() const
const Aws::String & GetWebsiteRedirectLocation() const
const Aws::String & GetExpectedSourceBucketOwner() const
void SetCopySourceSSECustomerKey(CopySourceSSECustomerKeyT &&value)
void SetObjectLockMode(ObjectLockMode value)
const Aws::String & GetTagging() const
void SetCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
void SetGrantWriteACP(GrantWriteACPT &&value)
void SetGrantFullControl(GrantFullControlT &&value)
void SetCopySourceIfMatch(CopySourceIfMatchT &&value)
void SetContentDisposition(ContentDispositionT &&value)
const Aws::Utils::DateTime & GetExpires() const
const Aws::String & GetContentLanguage() const
const Aws::String & GetGrantWriteACP() const
void SetMetadataDirective(MetadataDirective value)
CopyObjectRequest & WithCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T &&value)
CopyObjectRequest & WithCopySourceSSECustomerKey(CopySourceSSECustomerKeyT &&value)
CopyObjectRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
CopyObjectRequest & WithMetadata(MetadataT &&value)
CopyObjectRequest & AddMetadata(MetadataKeyT &&key, MetadataValueT &&value)
void SetCopySourceIfModifiedSince(CopySourceIfModifiedSinceT &&value)
CopyObjectRequest & WithCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT &&value)
CopyObjectRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
void SetContentEncoding(ContentEncodingT &&value)
CopyObjectRequest & WithGrantWriteACP(GrantWriteACPT &&value)
CopyObjectRequest & WithContentDisposition(ContentDispositionT &&value)
void SetIfNoneMatch(IfNoneMatchT &&value)
void SetSSECustomerKey(SSECustomerKeyT &&value)
const Aws::String & GetSSECustomerKeyMD5() const
void SetSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
CopyObjectRequest & WithContentType(ContentTypeT &&value)
void SetServerSideEncryption(ServerSideEncryption value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
CopyObjectRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
CopyObjectRequest & WithObjectLockMode(ObjectLockMode value)
CopyObjectRequest & WithGrantRead(GrantReadT &&value)
CopyObjectRequest & WithCopySource(CopySourceT &&value)
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
CopyObjectRequest & WithSSECustomerKeyMD5(SSECustomerKeyMD5T &&value)
virtual const char * GetServiceRequestName() const override
CopyObjectRequest & WithSSECustomerKey(SSECustomerKeyT &&value)
const Aws::String & GetCopySourceSSECustomerKeyMD5() const
CopyObjectRequest & WithCopySourceIfMatch(CopySourceIfMatchT &&value)
const Aws::String & GetGrantFullControl() const
const Aws::String & GetCopySourceSSECustomerKey() const
CopyObjectRequest & WithContentLanguage(ContentLanguageT &&value)
const Aws::String & GetSSEKMSEncryptionContext() const
const Aws::String & GetCopySourceIfMatch() const
CopyObjectRequest & WithRequestPayer(RequestPayer value)
void SetCacheControl(CacheControlT &&value)
const Aws::Utils::DateTime & GetCopySourceIfModifiedSince() const
CopyObjectRequest & WithMetadataDirective(MetadataDirective value)
CopyObjectRequest & WithSSEKMSEncryptionContext(SSEKMSEncryptionContextT &&value)
CopyObjectRequest & WithWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
CopyObjectRequest & WithSSEKMSKeyId(SSEKMSKeyIdT &&value)
CopyObjectRequest & WithSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
const Aws::String & GetIfNoneMatch() const
CopyObjectRequest & WithCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT &&value)
void SetChecksumAlgorithm(ChecksumAlgorithm value)
const Aws::String & GetGrantReadACP() const
void SetSSEKMSKeyId(SSEKMSKeyIdT &&value)
void SetStorageClass(StorageClass value)
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
const Aws::String & GetBucket() const
CopyObjectRequest & WithKey(KeyT &&value)
const Aws::String & GetCopySourceIfNoneMatch() const
const Aws::String & GetKey() const
void SetExpectedSourceBucketOwner(ExpectedSourceBucketOwnerT &&value)
ObjectLockMode GetObjectLockMode() const
const Aws::String & GetCacheControl() const
ChecksumAlgorithm GetChecksumAlgorithm() const
CopyObjectRequest & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value)
void SetCopySourceIfUnmodifiedSince(CopySourceIfUnmodifiedSinceT &&value)
void SetContentType(ContentTypeT &&value)
CopyObjectRequest & WithGrantReadACP(GrantReadACPT &&value)
CopyObjectRequest & WithTaggingDirective(TaggingDirective value)
const Aws::Map< Aws::String, Aws::String > & GetMetadata() const
void SetSSECustomerAlgorithm(SSECustomerAlgorithmT &&value)
CopyObjectRequest & WithExpires(ExpiresT &&value)
CopyObjectRequest & WithCopySourceIfModifiedSince(CopySourceIfModifiedSinceT &&value)
void SetGrantReadACP(GrantReadACPT &&value)
const Aws::String & GetContentType() const
void SetRequestPayer(RequestPayer value)
const Aws::String & GetIfMatch() const
const Aws::String & GetExpectedBucketOwner() const
const Aws::String & GetSSECustomerKey() const
void SetCopySourceSSECustomerAlgorithm(CopySourceSSECustomerAlgorithmT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
AWS_S3_API Aws::String SerializePayload() const override
CopyObjectRequest & WithCopySourceIfNoneMatch(CopySourceIfNoneMatchT &&value)
const Aws::String & GetSSECustomerAlgorithm() const
MetadataDirective GetMetadataDirective() const
CopyObjectRequest & WithTagging(TaggingT &&value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
void SetWebsiteRedirectLocation(WebsiteRedirectLocationT &&value)
const Aws::String & GetCopySource() const
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetCopySourceSSECustomerKeyMD5(CopySourceSSECustomerKeyMD5T &&value)
CopyObjectRequest & WithGrantFullControl(GrantFullControlT &&value)
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
const Aws::String & GetGrantRead() const
void SetGrantRead(GrantReadT &&value)
CopyObjectRequest & WithACL(ObjectCannedACL value)
void SetTaggingDirective(TaggingDirective value)
const Aws::String & GetContentEncoding() const
void SetACL(ObjectCannedACL value)
const Aws::String & GetCopySourceSSECustomerAlgorithm() const
const Aws::String & GetSSEKMSKeyId() const
TaggingDirective GetTaggingDirective() const
Aws::Endpoint::EndpointParameters EndpointParameters
Definition S3Request.h:19
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