AWS SDK for C++

AWS SDK for C++ Version 1.11.912

Loading...
Searching...
No Matches
S3CopyObjectOperation.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/s3control/S3Control_EXPORTS.h>
11#include <aws/s3control/model/S3AnnotationDirective.h>
12#include <aws/s3control/model/S3CannedAccessControlList.h>
13#include <aws/s3control/model/S3ChecksumAlgorithm.h>
14#include <aws/s3control/model/S3Grant.h>
15#include <aws/s3control/model/S3MetadataDirective.h>
16#include <aws/s3control/model/S3ObjectLockEventHold.h>
17#include <aws/s3control/model/S3ObjectLockEventHoldDuration.h>
18#include <aws/s3control/model/S3ObjectLockLegalHoldStatus.h>
19#include <aws/s3control/model/S3ObjectLockMode.h>
20#include <aws/s3control/model/S3ObjectMetadata.h>
21#include <aws/s3control/model/S3StorageClass.h>
22#include <aws/s3control/model/S3Tag.h>
23
24#include <utility>
25
26namespace Aws {
27namespace Utils {
28namespace Xml {
29class XmlNode;
30} // namespace Xml
31} // namespace Utils
32namespace S3Control {
33namespace Model {
34
46 public:
47 AWS_S3CONTROL_API S3CopyObjectOperation() = default;
48 AWS_S3CONTROL_API S3CopyObjectOperation(const Aws::Utils::Xml::XmlNode& xmlNode);
49 AWS_S3CONTROL_API S3CopyObjectOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
50
51 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
52
54
72 inline const Aws::String& GetTargetResource() const { return m_targetResource; }
73 inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; }
74 template <typename TargetResourceT = Aws::String>
75 void SetTargetResource(TargetResourceT&& value) {
76 m_targetResourceHasBeenSet = true;
77 m_targetResource = std::forward<TargetResourceT>(value);
78 }
79 template <typename TargetResourceT = Aws::String>
80 S3CopyObjectOperation& WithTargetResource(TargetResourceT&& value) {
81 SetTargetResource(std::forward<TargetResourceT>(value));
82 return *this;
83 }
85
87
91 inline S3CannedAccessControlList GetCannedAccessControlList() const { return m_cannedAccessControlList; }
92 inline bool CannedAccessControlListHasBeenSet() const { return m_cannedAccessControlListHasBeenSet; }
94 m_cannedAccessControlListHasBeenSet = true;
95 m_cannedAccessControlList = value;
96 }
99 return *this;
100 }
102
104
108 inline const Aws::Vector<S3Grant>& GetAccessControlGrants() const { return m_accessControlGrants; }
109 inline bool AccessControlGrantsHasBeenSet() const { return m_accessControlGrantsHasBeenSet; }
110 template <typename AccessControlGrantsT = Aws::Vector<S3Grant>>
111 void SetAccessControlGrants(AccessControlGrantsT&& value) {
112 m_accessControlGrantsHasBeenSet = true;
113 m_accessControlGrants = std::forward<AccessControlGrantsT>(value);
114 }
115 template <typename AccessControlGrantsT = Aws::Vector<S3Grant>>
116 S3CopyObjectOperation& WithAccessControlGrants(AccessControlGrantsT&& value) {
117 SetAccessControlGrants(std::forward<AccessControlGrantsT>(value));
118 return *this;
119 }
120 template <typename AccessControlGrantsT = S3Grant>
121 S3CopyObjectOperation& AddAccessControlGrants(AccessControlGrantsT&& value) {
122 m_accessControlGrantsHasBeenSet = true;
123 m_accessControlGrants.emplace_back(std::forward<AccessControlGrantsT>(value));
124 return *this;
125 }
127
129
132 inline S3MetadataDirective GetMetadataDirective() const { return m_metadataDirective; }
133 inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; }
135 m_metadataDirectiveHasBeenSet = true;
136 m_metadataDirective = value;
137 }
140 return *this;
141 }
143
145
152 inline S3AnnotationDirective GetAnnotationDirective() const { return m_annotationDirective; }
153 inline bool AnnotationDirectiveHasBeenSet() const { return m_annotationDirectiveHasBeenSet; }
155 m_annotationDirectiveHasBeenSet = true;
156 m_annotationDirective = value;
157 }
160 return *this;
161 }
163
165
168 inline const Aws::Utils::DateTime& GetModifiedSinceConstraint() const { return m_modifiedSinceConstraint; }
169 inline bool ModifiedSinceConstraintHasBeenSet() const { return m_modifiedSinceConstraintHasBeenSet; }
170 template <typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
171 void SetModifiedSinceConstraint(ModifiedSinceConstraintT&& value) {
172 m_modifiedSinceConstraintHasBeenSet = true;
173 m_modifiedSinceConstraint = std::forward<ModifiedSinceConstraintT>(value);
174 }
175 template <typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
176 S3CopyObjectOperation& WithModifiedSinceConstraint(ModifiedSinceConstraintT&& value) {
177 SetModifiedSinceConstraint(std::forward<ModifiedSinceConstraintT>(value));
178 return *this;
179 }
181
183
188 inline const S3ObjectMetadata& GetNewObjectMetadata() const { return m_newObjectMetadata; }
189 inline bool NewObjectMetadataHasBeenSet() const { return m_newObjectMetadataHasBeenSet; }
190 template <typename NewObjectMetadataT = S3ObjectMetadata>
191 void SetNewObjectMetadata(NewObjectMetadataT&& value) {
192 m_newObjectMetadataHasBeenSet = true;
193 m_newObjectMetadata = std::forward<NewObjectMetadataT>(value);
194 }
195 template <typename NewObjectMetadataT = S3ObjectMetadata>
196 S3CopyObjectOperation& WithNewObjectMetadata(NewObjectMetadataT&& value) {
197 SetNewObjectMetadata(std::forward<NewObjectMetadataT>(value));
198 return *this;
199 }
201
203
212 inline const Aws::Vector<S3Tag>& GetNewObjectTagging() const { return m_newObjectTagging; }
213 inline bool NewObjectTaggingHasBeenSet() const { return m_newObjectTaggingHasBeenSet; }
214 template <typename NewObjectTaggingT = Aws::Vector<S3Tag>>
215 void SetNewObjectTagging(NewObjectTaggingT&& value) {
216 m_newObjectTaggingHasBeenSet = true;
217 m_newObjectTagging = std::forward<NewObjectTaggingT>(value);
218 }
219 template <typename NewObjectTaggingT = Aws::Vector<S3Tag>>
220 S3CopyObjectOperation& WithNewObjectTagging(NewObjectTaggingT&& value) {
221 SetNewObjectTagging(std::forward<NewObjectTaggingT>(value));
222 return *this;
223 }
224 template <typename NewObjectTaggingT = S3Tag>
225 S3CopyObjectOperation& AddNewObjectTagging(NewObjectTaggingT&& value) {
226 m_newObjectTaggingHasBeenSet = true;
227 m_newObjectTagging.emplace_back(std::forward<NewObjectTaggingT>(value));
228 return *this;
229 }
231
233
240 inline const Aws::String& GetRedirectLocation() const { return m_redirectLocation; }
241 inline bool RedirectLocationHasBeenSet() const { return m_redirectLocationHasBeenSet; }
242 template <typename RedirectLocationT = Aws::String>
243 void SetRedirectLocation(RedirectLocationT&& value) {
244 m_redirectLocationHasBeenSet = true;
245 m_redirectLocation = std::forward<RedirectLocationT>(value);
246 }
247 template <typename RedirectLocationT = Aws::String>
248 S3CopyObjectOperation& WithRedirectLocation(RedirectLocationT&& value) {
249 SetRedirectLocation(std::forward<RedirectLocationT>(value));
250 return *this;
251 }
253
255
259 inline bool GetRequesterPays() const { return m_requesterPays; }
260 inline bool RequesterPaysHasBeenSet() const { return m_requesterPaysHasBeenSet; }
261 inline void SetRequesterPays(bool value) {
262 m_requesterPaysHasBeenSet = true;
263 m_requesterPays = value;
264 }
266 SetRequesterPays(value);
267 return *this;
268 }
270
272
277 inline S3StorageClass GetStorageClass() const { return m_storageClass; }
278 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
279 inline void SetStorageClass(S3StorageClass value) {
280 m_storageClassHasBeenSet = true;
281 m_storageClass = value;
282 }
284 SetStorageClass(value);
285 return *this;
286 }
288
290
293 inline const Aws::Utils::DateTime& GetUnModifiedSinceConstraint() const { return m_unModifiedSinceConstraint; }
294 inline bool UnModifiedSinceConstraintHasBeenSet() const { return m_unModifiedSinceConstraintHasBeenSet; }
295 template <typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
296 void SetUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) {
297 m_unModifiedSinceConstraintHasBeenSet = true;
298 m_unModifiedSinceConstraint = std::forward<UnModifiedSinceConstraintT>(value);
299 }
300 template <typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
301 S3CopyObjectOperation& WithUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) {
302 SetUnModifiedSinceConstraint(std::forward<UnModifiedSinceConstraintT>(value));
303 return *this;
304 }
306
308
333 inline const Aws::String& GetSSEAwsKmsKeyId() const { return m_sSEAwsKmsKeyId; }
334 inline bool SSEAwsKmsKeyIdHasBeenSet() const { return m_sSEAwsKmsKeyIdHasBeenSet; }
335 template <typename SSEAwsKmsKeyIdT = Aws::String>
336 void SetSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) {
337 m_sSEAwsKmsKeyIdHasBeenSet = true;
338 m_sSEAwsKmsKeyId = std::forward<SSEAwsKmsKeyIdT>(value);
339 }
340 template <typename SSEAwsKmsKeyIdT = Aws::String>
341 S3CopyObjectOperation& WithSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) {
342 SetSSEAwsKmsKeyId(std::forward<SSEAwsKmsKeyIdT>(value));
343 return *this;
344 }
346
348
354 inline const Aws::String& GetTargetKeyPrefix() const { return m_targetKeyPrefix; }
355 inline bool TargetKeyPrefixHasBeenSet() const { return m_targetKeyPrefixHasBeenSet; }
356 template <typename TargetKeyPrefixT = Aws::String>
357 void SetTargetKeyPrefix(TargetKeyPrefixT&& value) {
358 m_targetKeyPrefixHasBeenSet = true;
359 m_targetKeyPrefix = std::forward<TargetKeyPrefixT>(value);
360 }
361 template <typename TargetKeyPrefixT = Aws::String>
362 S3CopyObjectOperation& WithTargetKeyPrefix(TargetKeyPrefixT&& value) {
363 SetTargetKeyPrefix(std::forward<TargetKeyPrefixT>(value));
364 return *this;
365 }
367
369
374 inline S3ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
375 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
377 m_objectLockLegalHoldStatusHasBeenSet = true;
378 m_objectLockLegalHoldStatus = value;
379 }
382 return *this;
383 }
385
387
392 inline S3ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
393 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
395 m_objectLockModeHasBeenSet = true;
396 m_objectLockMode = value;
397 }
399 SetObjectLockMode(value);
400 return *this;
401 }
403
405
410 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
411 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
412 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
413 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
414 m_objectLockRetainUntilDateHasBeenSet = true;
415 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
416 }
417 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
418 S3CopyObjectOperation& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
419 SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value));
420 return *this;
421 }
423
425
439 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
440 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
441 inline void SetBucketKeyEnabled(bool value) {
442 m_bucketKeyEnabledHasBeenSet = true;
443 m_bucketKeyEnabled = value;
444 }
446 SetBucketKeyEnabled(value);
447 return *this;
448 }
450
452
458 inline S3ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
459 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
461 m_checksumAlgorithmHasBeenSet = true;
462 m_checksumAlgorithm = value;
463 }
466 return *this;
467 }
469
471
477 inline S3ObjectLockEventHold GetObjectLockEventHold() const { return m_objectLockEventHold; }
478 inline bool ObjectLockEventHoldHasBeenSet() const { return m_objectLockEventHoldHasBeenSet; }
480 m_objectLockEventHoldHasBeenSet = true;
481 m_objectLockEventHold = value;
482 }
485 return *this;
486 }
488
490
496 inline const S3ObjectLockEventHoldDuration& GetObjectLockEventHoldDuration() const { return m_objectLockEventHoldDuration; }
497 inline bool ObjectLockEventHoldDurationHasBeenSet() const { return m_objectLockEventHoldDurationHasBeenSet; }
498 template <typename ObjectLockEventHoldDurationT = S3ObjectLockEventHoldDuration>
499 void SetObjectLockEventHoldDuration(ObjectLockEventHoldDurationT&& value) {
500 m_objectLockEventHoldDurationHasBeenSet = true;
501 m_objectLockEventHoldDuration = std::forward<ObjectLockEventHoldDurationT>(value);
502 }
503 template <typename ObjectLockEventHoldDurationT = S3ObjectLockEventHoldDuration>
504 S3CopyObjectOperation& WithObjectLockEventHoldDuration(ObjectLockEventHoldDurationT&& value) {
505 SetObjectLockEventHoldDuration(std::forward<ObjectLockEventHoldDurationT>(value));
506 return *this;
507 }
509 private:
510 Aws::String m_targetResource;
511
513
514 Aws::Vector<S3Grant> m_accessControlGrants;
515
517
519
520 Aws::Utils::DateTime m_modifiedSinceConstraint{};
521
522 S3ObjectMetadata m_newObjectMetadata;
523
524 Aws::Vector<S3Tag> m_newObjectTagging;
525
526 Aws::String m_redirectLocation;
527
528 bool m_requesterPays{false};
529
531
532 Aws::Utils::DateTime m_unModifiedSinceConstraint{};
533
534 Aws::String m_sSEAwsKmsKeyId;
535
536 Aws::String m_targetKeyPrefix;
537
539
541
542 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
543
544 bool m_bucketKeyEnabled{false};
545
547
549
550 S3ObjectLockEventHoldDuration m_objectLockEventHoldDuration;
551 bool m_targetResourceHasBeenSet = false;
552 bool m_cannedAccessControlListHasBeenSet = false;
553 bool m_accessControlGrantsHasBeenSet = false;
554 bool m_metadataDirectiveHasBeenSet = false;
555 bool m_annotationDirectiveHasBeenSet = false;
556 bool m_modifiedSinceConstraintHasBeenSet = false;
557 bool m_newObjectMetadataHasBeenSet = false;
558 bool m_newObjectTaggingHasBeenSet = false;
559 bool m_redirectLocationHasBeenSet = false;
560 bool m_requesterPaysHasBeenSet = false;
561 bool m_storageClassHasBeenSet = false;
562 bool m_unModifiedSinceConstraintHasBeenSet = false;
563 bool m_sSEAwsKmsKeyIdHasBeenSet = false;
564 bool m_targetKeyPrefixHasBeenSet = false;
565 bool m_objectLockLegalHoldStatusHasBeenSet = false;
566 bool m_objectLockModeHasBeenSet = false;
567 bool m_objectLockRetainUntilDateHasBeenSet = false;
568 bool m_bucketKeyEnabledHasBeenSet = false;
569 bool m_checksumAlgorithmHasBeenSet = false;
570 bool m_objectLockEventHoldHasBeenSet = false;
571 bool m_objectLockEventHoldDurationHasBeenSet = false;
572};
573
574} // namespace Model
575} // namespace S3Control
576} // namespace Aws
void SetObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus value)
S3CopyObjectOperation & WithStorageClass(S3StorageClass value)
const Aws::Vector< S3Tag > & GetNewObjectTagging() const
S3CopyObjectOperation & AddAccessControlGrants(AccessControlGrantsT &&value)
void SetObjectLockEventHoldDuration(ObjectLockEventHoldDurationT &&value)
void SetObjectLockEventHold(S3ObjectLockEventHold value)
S3CopyObjectOperation & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
S3CopyObjectOperation & WithNewObjectMetadata(NewObjectMetadataT &&value)
const Aws::Vector< S3Grant > & GetAccessControlGrants() const
S3CopyObjectOperation & WithObjectLockEventHold(S3ObjectLockEventHold value)
S3CopyObjectOperation & WithUnModifiedSinceConstraint(UnModifiedSinceConstraintT &&value)
AWS_S3CONTROL_API S3CopyObjectOperation()=default
S3CopyObjectOperation & WithRequesterPays(bool value)
const S3ObjectMetadata & GetNewObjectMetadata() const
S3CopyObjectOperation & WithNewObjectTagging(NewObjectTaggingT &&value)
AWS_S3CONTROL_API S3CopyObjectOperation(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetNewObjectMetadata(NewObjectMetadataT &&value)
S3CopyObjectOperation & WithSSEAwsKmsKeyId(SSEAwsKmsKeyIdT &&value)
S3CopyObjectOperation & WithBucketKeyEnabled(bool value)
S3CopyObjectOperation & WithAccessControlGrants(AccessControlGrantsT &&value)
void SetAccessControlGrants(AccessControlGrantsT &&value)
void SetModifiedSinceConstraint(ModifiedSinceConstraintT &&value)
S3CopyObjectOperation & WithModifiedSinceConstraint(ModifiedSinceConstraintT &&value)
S3CopyObjectOperation & WithRedirectLocation(RedirectLocationT &&value)
void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
S3CopyObjectOperation & WithObjectLockEventHoldDuration(ObjectLockEventHoldDurationT &&value)
S3CopyObjectOperation & WithCannedAccessControlList(S3CannedAccessControlList value)
void SetChecksumAlgorithm(S3ChecksumAlgorithm value)
void SetNewObjectTagging(NewObjectTaggingT &&value)
void SetMetadataDirective(S3MetadataDirective value)
void SetCannedAccessControlList(S3CannedAccessControlList value)
S3CopyObjectOperation & WithAnnotationDirective(S3AnnotationDirective value)
void SetAnnotationDirective(S3AnnotationDirective value)
const S3ObjectLockEventHoldDuration & GetObjectLockEventHoldDuration() const
S3CopyObjectOperation & WithObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus value)
const Aws::Utils::DateTime & GetModifiedSinceConstraint() const
const Aws::Utils::DateTime & GetObjectLockRetainUntilDate() const
S3CopyObjectOperation & WithTargetResource(TargetResourceT &&value)
S3CopyObjectOperation & WithObjectLockMode(S3ObjectLockMode value)
AWS_S3CONTROL_API S3CopyObjectOperation & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
S3CopyObjectOperation & WithMetadataDirective(S3MetadataDirective value)
S3CopyObjectOperation & WithTargetKeyPrefix(TargetKeyPrefixT &&value)
const Aws::Utils::DateTime & GetUnModifiedSinceConstraint() const
S3CannedAccessControlList GetCannedAccessControlList() const
S3ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
S3CopyObjectOperation & WithChecksumAlgorithm(S3ChecksumAlgorithm value)
S3CopyObjectOperation & AddNewObjectTagging(NewObjectTaggingT &&value)
void SetUnModifiedSinceConstraint(UnModifiedSinceConstraintT &&value)
void SetRedirectLocation(RedirectLocationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector