AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
S3CopyObjectOperation.h
1
6#pragma once
7#include <aws/s3control/S3Control_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/s3control/model/S3CannedAccessControlList.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/s3control/model/S3MetadataDirective.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/s3control/model/S3ObjectMetadata.h>
14#include <aws/s3control/model/S3StorageClass.h>
15#include <aws/s3control/model/S3ObjectLockLegalHoldStatus.h>
16#include <aws/s3control/model/S3ObjectLockMode.h>
17#include <aws/s3control/model/S3ChecksumAlgorithm.h>
18#include <aws/s3control/model/S3Grant.h>
19#include <aws/s3control/model/S3Tag.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Xml
27{
28 class XmlNode;
29} // namespace Xml
30} // namespace Utils
31namespace S3Control
32{
33namespace Model
34{
35
47 {
48 public:
49 AWS_S3CONTROL_API S3CopyObjectOperation() = default;
50 AWS_S3CONTROL_API S3CopyObjectOperation(const Aws::Utils::Xml::XmlNode& xmlNode);
51 AWS_S3CONTROL_API S3CopyObjectOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
52
53 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
54
55
57
75 inline const Aws::String& GetTargetResource() const { return m_targetResource; }
76 inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; }
77 template<typename TargetResourceT = Aws::String>
78 void SetTargetResource(TargetResourceT&& value) { m_targetResourceHasBeenSet = true; m_targetResource = std::forward<TargetResourceT>(value); }
79 template<typename TargetResourceT = Aws::String>
80 S3CopyObjectOperation& WithTargetResource(TargetResourceT&& value) { SetTargetResource(std::forward<TargetResourceT>(value)); return *this;}
82
84
88 inline S3CannedAccessControlList GetCannedAccessControlList() const { return m_cannedAccessControlList; }
89 inline bool CannedAccessControlListHasBeenSet() const { return m_cannedAccessControlListHasBeenSet; }
90 inline void SetCannedAccessControlList(S3CannedAccessControlList value) { m_cannedAccessControlListHasBeenSet = true; m_cannedAccessControlList = value; }
93
95
99 inline const Aws::Vector<S3Grant>& GetAccessControlGrants() const { return m_accessControlGrants; }
100 inline bool AccessControlGrantsHasBeenSet() const { return m_accessControlGrantsHasBeenSet; }
101 template<typename AccessControlGrantsT = Aws::Vector<S3Grant>>
102 void SetAccessControlGrants(AccessControlGrantsT&& value) { m_accessControlGrantsHasBeenSet = true; m_accessControlGrants = std::forward<AccessControlGrantsT>(value); }
103 template<typename AccessControlGrantsT = Aws::Vector<S3Grant>>
104 S3CopyObjectOperation& WithAccessControlGrants(AccessControlGrantsT&& value) { SetAccessControlGrants(std::forward<AccessControlGrantsT>(value)); return *this;}
105 template<typename AccessControlGrantsT = S3Grant>
106 S3CopyObjectOperation& AddAccessControlGrants(AccessControlGrantsT&& value) { m_accessControlGrantsHasBeenSet = true; m_accessControlGrants.emplace_back(std::forward<AccessControlGrantsT>(value)); return *this; }
108
110
113 inline S3MetadataDirective GetMetadataDirective() const { return m_metadataDirective; }
114 inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; }
115 inline void SetMetadataDirective(S3MetadataDirective value) { m_metadataDirectiveHasBeenSet = true; m_metadataDirective = value; }
118
120
123 inline const Aws::Utils::DateTime& GetModifiedSinceConstraint() const { return m_modifiedSinceConstraint; }
124 inline bool ModifiedSinceConstraintHasBeenSet() const { return m_modifiedSinceConstraintHasBeenSet; }
125 template<typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
126 void SetModifiedSinceConstraint(ModifiedSinceConstraintT&& value) { m_modifiedSinceConstraintHasBeenSet = true; m_modifiedSinceConstraint = std::forward<ModifiedSinceConstraintT>(value); }
127 template<typename ModifiedSinceConstraintT = Aws::Utils::DateTime>
128 S3CopyObjectOperation& WithModifiedSinceConstraint(ModifiedSinceConstraintT&& value) { SetModifiedSinceConstraint(std::forward<ModifiedSinceConstraintT>(value)); return *this;}
130
132
137 inline const S3ObjectMetadata& GetNewObjectMetadata() const { return m_newObjectMetadata; }
138 inline bool NewObjectMetadataHasBeenSet() const { return m_newObjectMetadataHasBeenSet; }
139 template<typename NewObjectMetadataT = S3ObjectMetadata>
140 void SetNewObjectMetadata(NewObjectMetadataT&& value) { m_newObjectMetadataHasBeenSet = true; m_newObjectMetadata = std::forward<NewObjectMetadataT>(value); }
141 template<typename NewObjectMetadataT = S3ObjectMetadata>
142 S3CopyObjectOperation& WithNewObjectMetadata(NewObjectMetadataT&& value) { SetNewObjectMetadata(std::forward<NewObjectMetadataT>(value)); return *this;}
144
146
155 inline const Aws::Vector<S3Tag>& GetNewObjectTagging() const { return m_newObjectTagging; }
156 inline bool NewObjectTaggingHasBeenSet() const { return m_newObjectTaggingHasBeenSet; }
157 template<typename NewObjectTaggingT = Aws::Vector<S3Tag>>
158 void SetNewObjectTagging(NewObjectTaggingT&& value) { m_newObjectTaggingHasBeenSet = true; m_newObjectTagging = std::forward<NewObjectTaggingT>(value); }
159 template<typename NewObjectTaggingT = Aws::Vector<S3Tag>>
160 S3CopyObjectOperation& WithNewObjectTagging(NewObjectTaggingT&& value) { SetNewObjectTagging(std::forward<NewObjectTaggingT>(value)); return *this;}
161 template<typename NewObjectTaggingT = S3Tag>
162 S3CopyObjectOperation& AddNewObjectTagging(NewObjectTaggingT&& value) { m_newObjectTaggingHasBeenSet = true; m_newObjectTagging.emplace_back(std::forward<NewObjectTaggingT>(value)); return *this; }
164
166
173 inline const Aws::String& GetRedirectLocation() const { return m_redirectLocation; }
174 inline bool RedirectLocationHasBeenSet() const { return m_redirectLocationHasBeenSet; }
175 template<typename RedirectLocationT = Aws::String>
176 void SetRedirectLocation(RedirectLocationT&& value) { m_redirectLocationHasBeenSet = true; m_redirectLocation = std::forward<RedirectLocationT>(value); }
177 template<typename RedirectLocationT = Aws::String>
178 S3CopyObjectOperation& WithRedirectLocation(RedirectLocationT&& value) { SetRedirectLocation(std::forward<RedirectLocationT>(value)); return *this;}
180
182
186 inline bool GetRequesterPays() const { return m_requesterPays; }
187 inline bool RequesterPaysHasBeenSet() const { return m_requesterPaysHasBeenSet; }
188 inline void SetRequesterPays(bool value) { m_requesterPaysHasBeenSet = true; m_requesterPays = value; }
189 inline S3CopyObjectOperation& WithRequesterPays(bool value) { SetRequesterPays(value); return *this;}
191
193
198 inline S3StorageClass GetStorageClass() const { return m_storageClass; }
199 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
200 inline void SetStorageClass(S3StorageClass value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
203
205
208 inline const Aws::Utils::DateTime& GetUnModifiedSinceConstraint() const { return m_unModifiedSinceConstraint; }
209 inline bool UnModifiedSinceConstraintHasBeenSet() const { return m_unModifiedSinceConstraintHasBeenSet; }
210 template<typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
211 void SetUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) { m_unModifiedSinceConstraintHasBeenSet = true; m_unModifiedSinceConstraint = std::forward<UnModifiedSinceConstraintT>(value); }
212 template<typename UnModifiedSinceConstraintT = Aws::Utils::DateTime>
213 S3CopyObjectOperation& WithUnModifiedSinceConstraint(UnModifiedSinceConstraintT&& value) { SetUnModifiedSinceConstraint(std::forward<UnModifiedSinceConstraintT>(value)); return *this;}
215
217
242 inline const Aws::String& GetSSEAwsKmsKeyId() const { return m_sSEAwsKmsKeyId; }
243 inline bool SSEAwsKmsKeyIdHasBeenSet() const { return m_sSEAwsKmsKeyIdHasBeenSet; }
244 template<typename SSEAwsKmsKeyIdT = Aws::String>
245 void SetSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) { m_sSEAwsKmsKeyIdHasBeenSet = true; m_sSEAwsKmsKeyId = std::forward<SSEAwsKmsKeyIdT>(value); }
246 template<typename SSEAwsKmsKeyIdT = Aws::String>
247 S3CopyObjectOperation& WithSSEAwsKmsKeyId(SSEAwsKmsKeyIdT&& value) { SetSSEAwsKmsKeyId(std::forward<SSEAwsKmsKeyIdT>(value)); return *this;}
249
251
257 inline const Aws::String& GetTargetKeyPrefix() const { return m_targetKeyPrefix; }
258 inline bool TargetKeyPrefixHasBeenSet() const { return m_targetKeyPrefixHasBeenSet; }
259 template<typename TargetKeyPrefixT = Aws::String>
260 void SetTargetKeyPrefix(TargetKeyPrefixT&& value) { m_targetKeyPrefixHasBeenSet = true; m_targetKeyPrefix = std::forward<TargetKeyPrefixT>(value); }
261 template<typename TargetKeyPrefixT = Aws::String>
262 S3CopyObjectOperation& WithTargetKeyPrefix(TargetKeyPrefixT&& value) { SetTargetKeyPrefix(std::forward<TargetKeyPrefixT>(value)); return *this;}
264
266
271 inline S3ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatus() const { return m_objectLockLegalHoldStatus; }
272 inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
273 inline void SetObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; }
276
278
283 inline S3ObjectLockMode GetObjectLockMode() const { return m_objectLockMode; }
284 inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
285 inline void SetObjectLockMode(S3ObjectLockMode value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; }
288
290
295 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const { return m_objectLockRetainUntilDate; }
296 inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
297 template<typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
298 void SetObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::forward<ObjectLockRetainUntilDateT>(value); }
299 template<typename ObjectLockRetainUntilDateT = Aws::Utils::DateTime>
300 S3CopyObjectOperation& WithObjectLockRetainUntilDate(ObjectLockRetainUntilDateT&& value) { SetObjectLockRetainUntilDate(std::forward<ObjectLockRetainUntilDateT>(value)); return *this;}
302
304
318 inline bool GetBucketKeyEnabled() const { return m_bucketKeyEnabled; }
319 inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
320 inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; }
321 inline S3CopyObjectOperation& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;}
323
325
331 inline S3ChecksumAlgorithm GetChecksumAlgorithm() const { return m_checksumAlgorithm; }
332 inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
333 inline void SetChecksumAlgorithm(S3ChecksumAlgorithm value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; }
336 private:
337
338 Aws::String m_targetResource;
339 bool m_targetResourceHasBeenSet = false;
340
342 bool m_cannedAccessControlListHasBeenSet = false;
343
344 Aws::Vector<S3Grant> m_accessControlGrants;
345 bool m_accessControlGrantsHasBeenSet = false;
346
348 bool m_metadataDirectiveHasBeenSet = false;
349
350 Aws::Utils::DateTime m_modifiedSinceConstraint{};
351 bool m_modifiedSinceConstraintHasBeenSet = false;
352
353 S3ObjectMetadata m_newObjectMetadata;
354 bool m_newObjectMetadataHasBeenSet = false;
355
356 Aws::Vector<S3Tag> m_newObjectTagging;
357 bool m_newObjectTaggingHasBeenSet = false;
358
359 Aws::String m_redirectLocation;
360 bool m_redirectLocationHasBeenSet = false;
361
362 bool m_requesterPays{false};
363 bool m_requesterPaysHasBeenSet = false;
364
366 bool m_storageClassHasBeenSet = false;
367
368 Aws::Utils::DateTime m_unModifiedSinceConstraint{};
369 bool m_unModifiedSinceConstraintHasBeenSet = false;
370
371 Aws::String m_sSEAwsKmsKeyId;
372 bool m_sSEAwsKmsKeyIdHasBeenSet = false;
373
374 Aws::String m_targetKeyPrefix;
375 bool m_targetKeyPrefixHasBeenSet = false;
376
378 bool m_objectLockLegalHoldStatusHasBeenSet = false;
379
381 bool m_objectLockModeHasBeenSet = false;
382
383 Aws::Utils::DateTime m_objectLockRetainUntilDate{};
384 bool m_objectLockRetainUntilDateHasBeenSet = false;
385
386 bool m_bucketKeyEnabled{false};
387 bool m_bucketKeyEnabledHasBeenSet = false;
388
390 bool m_checksumAlgorithmHasBeenSet = false;
391 };
392
393} // namespace Model
394} // namespace S3Control
395} // 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