AWS SDK for C++

AWS SDK for C++ Version 1.11.718

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/S3CannedAccessControlList.h>
12#include <aws/s3control/model/S3ChecksumAlgorithm.h>
13#include <aws/s3control/model/S3Grant.h>
14#include <aws/s3control/model/S3MetadataDirective.h>
15#include <aws/s3control/model/S3ObjectLockLegalHoldStatus.h>
16#include <aws/s3control/model/S3ObjectLockMode.h>
17#include <aws/s3control/model/S3ObjectMetadata.h>
18#include <aws/s3control/model/S3StorageClass.h>
19#include <aws/s3control/model/S3Tag.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Xml {
26class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace S3Control {
30namespace Model {
31
43 public:
44 AWS_S3CONTROL_API S3CopyObjectOperation() = default;
45 AWS_S3CONTROL_API S3CopyObjectOperation(const Aws::Utils::Xml::XmlNode& xmlNode);
46 AWS_S3CONTROL_API S3CopyObjectOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
47
48 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
49
51
69 inline const Aws::String& GetTargetResource() const { return m_targetResource; }
70 inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; }
71 template <typename TargetResourceT = Aws::String>
72 void SetTargetResource(TargetResourceT&& value) {
73 m_targetResourceHasBeenSet = true;
74 m_targetResource = std::forward<TargetResourceT>(value);
75 }
76 template <typename TargetResourceT = Aws::String>
77 S3CopyObjectOperation& WithTargetResource(TargetResourceT&& value) {
78 SetTargetResource(std::forward<TargetResourceT>(value));
79 return *this;
80 }
82
84
88 inline S3CannedAccessControlList GetCannedAccessControlList() const { return m_cannedAccessControlList; }
89 inline bool CannedAccessControlListHasBeenSet() const { return m_cannedAccessControlListHasBeenSet; }
91 m_cannedAccessControlListHasBeenSet = true;
92 m_cannedAccessControlList = value;
93 }
96 return *this;
97 }
99
101
105 inline const Aws::Vector<S3Grant>& GetAccessControlGrants() const { return m_accessControlGrants; }
106 inline bool AccessControlGrantsHasBeenSet() const { return m_accessControlGrantsHasBeenSet; }
107 template <typename AccessControlGrantsT = Aws::Vector<S3Grant>>
108 void SetAccessControlGrants(AccessControlGrantsT&& value) {
109 m_accessControlGrantsHasBeenSet = true;
110 m_accessControlGrants = std::forward<AccessControlGrantsT>(value);
111 }
112 template <typename AccessControlGrantsT = Aws::Vector<S3Grant>>
113 S3CopyObjectOperation& WithAccessControlGrants(AccessControlGrantsT&& value) {
114 SetAccessControlGrants(std::forward<AccessControlGrantsT>(value));
115 return *this;
116 }
117 template <typename AccessControlGrantsT = S3Grant>
118 S3CopyObjectOperation& AddAccessControlGrants(AccessControlGrantsT&& value) {
119 m_accessControlGrantsHasBeenSet = true;
120 m_accessControlGrants.emplace_back(std::forward<AccessControlGrantsT>(value));
121 return *this;
122 }
124
126
129 inline S3MetadataDirective GetMetadataDirective() const { return m_metadataDirective; }
130 inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; }
132 m_metadataDirectiveHasBeenSet = true;
133 m_metadataDirective = value;
134 }
137 return *this;
138 }
140
142
145 inline const Aws::Utils::DateTime& GetModifiedSinceConstraint() const { return m_modifiedSinceConstraint; }
146 inline bool ModifiedSinceConstraintHasBeenSet() const { return m_modifiedSinceConstraintHasBeenSet; }
147 template <typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
148 void SetModifiedSinceConstraint(ModifiedSinceConstraintT&& value) {
149 m_modifiedSinceConstraintHasBeenSet = true;
150 m_modifiedSinceConstraint = std::forward<ModifiedSinceConstraintT>(value);
151 }
152 template <typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
153 S3CopyObjectOperation& WithModifiedSinceConstraint(ModifiedSinceConstraintT&& value) {
154 SetModifiedSinceConstraint(std::forward<ModifiedSinceConstraintT>(value));
155 return *this;
156 }
158
160
165 inline const S3ObjectMetadata& GetNewObjectMetadata() const { return m_newObjectMetadata; }
166 inline bool NewObjectMetadataHasBeenSet() const { return m_newObjectMetadataHasBeenSet; }
167 template <typename NewObjectMetadataT = S3ObjectMetadata>
168 void SetNewObjectMetadata(NewObjectMetadataT&& value) {
169 m_newObjectMetadataHasBeenSet = true;
170 m_newObjectMetadata = std::forward<NewObjectMetadataT>(value);
171 }
172 template <typename NewObjectMetadataT = S3ObjectMetadata>
173 S3CopyObjectOperation& WithNewObjectMetadata(NewObjectMetadataT&& value) {
174 SetNewObjectMetadata(std::forward<NewObjectMetadataT>(value));
175 return *this;
176 }
178
180
189 inline const Aws::Vector<S3Tag>& GetNewObjectTagging() const { return m_newObjectTagging; }
190 inline bool NewObjectTaggingHasBeenSet() const { return m_newObjectTaggingHasBeenSet; }
191 template <typename NewObjectTaggingT = Aws::Vector<S3Tag>>
192 void SetNewObjectTagging(NewObjectTaggingT&& value) {
193 m_newObjectTaggingHasBeenSet = true;
194 m_newObjectTagging = std::forward<NewObjectTaggingT>(value);
195 }
196 template <typename NewObjectTaggingT = Aws::Vector<S3Tag>>
197 S3CopyObjectOperation& WithNewObjectTagging(NewObjectTaggingT&& value) {
198 SetNewObjectTagging(std::forward<NewObjectTaggingT>(value));
199 return *this;
200 }
201 template <typename NewObjectTaggingT = S3Tag>
202 S3CopyObjectOperation& AddNewObjectTagging(NewObjectTaggingT&& value) {
203 m_newObjectTaggingHasBeenSet = true;
204 m_newObjectTagging.emplace_back(std::forward<NewObjectTaggingT>(value));
205 return *this;
206 }
208
210
217 inline const Aws::String& GetRedirectLocation() const { return m_redirectLocation; }
218 inline bool RedirectLocationHasBeenSet() const { return m_redirectLocationHasBeenSet; }
219 template <typename RedirectLocationT = Aws::String>
220 void SetRedirectLocation(RedirectLocationT&& value) {
221 m_redirectLocationHasBeenSet = true;
222 m_redirectLocation = std::forward<RedirectLocationT>(value);
223 }
224 template <typename RedirectLocationT = Aws::String>
225 S3CopyObjectOperation& WithRedirectLocation(RedirectLocationT&& value) {
226 SetRedirectLocation(std::forward<RedirectLocationT>(value));
227 return *this;
228 }
230
232
236 inline bool GetRequesterPays() const { return m_requesterPays; }
237 inline bool RequesterPaysHasBeenSet() const { return m_requesterPaysHasBeenSet; }
238 inline void SetRequesterPays(bool value) {
239 m_requesterPaysHasBeenSet = true;
240 m_requesterPays = value;
241 }
243 SetRequesterPays(value);
244 return *this;
245 }
247
249
254 inline S3StorageClass GetStorageClass() const { return m_storageClass; }
255 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
256 inline void SetStorageClass(S3StorageClass value) {
257 m_storageClassHasBeenSet = true;
258 m_storageClass = value;
259 }
261 SetStorageClass(value);
262 return *this;
263 }
265
267
270 inline const Aws::Utils::DateTime& GetUnModifiedSinceConstraint() const { return m_unModifiedSinceConstraint; }
271 inline bool UnModifiedSinceConstraintHasBeenSet() const { return m_unModifiedSinceConstraintHasBeenSet; }
272 template <typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
273 void SetUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) {
274 m_unModifiedSinceConstraintHasBeenSet = true;
275 m_unModifiedSinceConstraint = std::forward<UnModifiedSinceConstraintT>(value);
276 }
277 template <typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
278 S3CopyObjectOperation& WithUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) {
279 SetUnModifiedSinceConstraint(std::forward<UnModifiedSinceConstraintT>(value));
280 return *this;
281 }
283
285
310 inline const Aws::String& GetSSEAwsKmsKeyId() const { return m_sSEAwsKmsKeyId; }
311 inline bool SSEAwsKmsKeyIdHasBeenSet() const { return m_sSEAwsKmsKeyIdHasBeenSet; }
312 template <typename SSEAwsKmsKeyIdT = Aws::String>
313 void SetSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) {
314 m_sSEAwsKmsKeyIdHasBeenSet = true;
315 m_sSEAwsKmsKeyId = std::forward<SSEAwsKmsKeyIdT>(value);
316 }
317 template <typename SSEAwsKmsKeyIdT = Aws::String>
318 S3CopyObjectOperation& WithSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) {
319 SetSSEAwsKmsKeyId(std::forward<SSEAwsKmsKeyIdT>(value));
320 return *this;
321 }
323
325
331 inline const Aws::String& GetTargetKeyPrefix() const { return m_targetKeyPrefix; }
332 inline bool TargetKeyPrefixHasBeenSet() const { return m_targetKeyPrefixHasBeenSet; }
333 template <typename TargetKeyPrefixT = Aws::String>
334 void SetTargetKeyPrefix(TargetKeyPrefixT&& value) {
335 m_targetKeyPrefixHasBeenSet = true;
336 m_targetKeyPrefix = std::forward<TargetKeyPrefixT>(value);
337 }
338 template <typename TargetKeyPrefixT = Aws::String>
339 S3CopyObjectOperation& WithTargetKeyPrefix(TargetKeyPrefixT&& value) {
340 SetTargetKeyPrefix(std::forward<TargetKeyPrefixT>(value));
341 return *this;
342 }
344
346
351 inline S3ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
352 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
354 m_objectLockLegalHoldStatusHasBeenSet = true;
355 m_objectLockLegalHoldStatus = value;
356 }
359 return *this;
360 }
362
364
369 inline S3ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
370 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
372 m_objectLockModeHasBeenSet = true;
373 m_objectLockMode = value;
374 }
376 SetObjectLockMode(value);
377 return *this;
378 }
380
382
387 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
388 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
389 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
390 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
391 m_objectLockRetainUntilDateHasBeenSet = true;
392 m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value);
393 }
394 template <typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
395 S3CopyObjectOperation& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) {
396 SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value));
397 return *this;
398 }
400
402
416 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
417 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
418 inline void SetBucketKeyEnabled(bool value) {
419 m_bucketKeyEnabledHasBeenSet = true;
420 m_bucketKeyEnabled = value;
421 }
423 SetBucketKeyEnabled(value);
424 return *this;
425 }
427
429
435 inline S3ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
436 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
438 m_checksumAlgorithmHasBeenSet = true;
439 m_checksumAlgorithm = value;
440 }
443 return *this;
444 }
446 private:
447 Aws::String m_targetResource;
448
450
451 Aws::Vector<S3Grant> m_accessControlGrants;
452
454
455 Aws::Utils::DateTime m_modifiedSinceConstraint{};
456
457 S3ObjectMetadata m_newObjectMetadata;
458
459 Aws::Vector<S3Tag> m_newObjectTagging;
460
461 Aws::String m_redirectLocation;
462
463 bool m_requesterPays{false};
464
466
467 Aws::Utils::DateTime m_unModifiedSinceConstraint{};
468
469 Aws::String m_sSEAwsKmsKeyId;
470
471 Aws::String m_targetKeyPrefix;
472
474
476
477 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
478
479 bool m_bucketKeyEnabled{false};
480
482 bool m_targetResourceHasBeenSet = false;
483 bool m_cannedAccessControlListHasBeenSet = false;
484 bool m_accessControlGrantsHasBeenSet = false;
485 bool m_metadataDirectiveHasBeenSet = false;
486 bool m_modifiedSinceConstraintHasBeenSet = false;
487 bool m_newObjectMetadataHasBeenSet = false;
488 bool m_newObjectTaggingHasBeenSet = false;
489 bool m_redirectLocationHasBeenSet = false;
490 bool m_requesterPaysHasBeenSet = false;
491 bool m_storageClassHasBeenSet = false;
492 bool m_unModifiedSinceConstraintHasBeenSet = false;
493 bool m_sSEAwsKmsKeyIdHasBeenSet = false;
494 bool m_targetKeyPrefixHasBeenSet = false;
495 bool m_objectLockLegalHoldStatusHasBeenSet = false;
496 bool m_objectLockModeHasBeenSet = false;
497 bool m_objectLockRetainUntilDateHasBeenSet = false;
498 bool m_bucketKeyEnabledHasBeenSet = false;
499 bool m_checksumAlgorithmHasBeenSet = false;
500};
501
502} // namespace Model
503} // namespace S3Control
504} // namespace Aws
void SetObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus value)
S3CopyObjectOperation & WithStorageClass(S3StorageClass value)
const Aws::Vector< S3Tag > & GetNewObjectTagging() const
S3CopyObjectOperation & AddAccessControlGrants(AccessControlGrantsT &&value)
S3CopyObjectOperation & WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT &&value)
S3CopyObjectOperation & WithNewObjectMetadata(NewObjectMetadataT &&value)
const Aws::Vector< S3Grant > & GetAccessControlGrants() const
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 & WithCannedAccessControlList(S3CannedAccessControlList value)
void SetChecksumAlgorithm(S3ChecksumAlgorithm value)
void SetNewObjectTagging(NewObjectTaggingT &&value)
void SetMetadataDirective(S3MetadataDirective value)
void SetCannedAccessControlList(S3CannedAccessControlList value)
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