/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains the configuration parameters for a PUT Copy object operation. S3
* Batch Operations passes every object to the underlying CopyObject
* API operation. For more information about the parameters for this operation, see
* CopyObject.See
* Also:
AWS
* API Reference
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
Specifies the destination bucket Amazon Resource Name (ARN) for the batch
* copy operation. For example, to copy objects to a bucket named
* destinationBucket
, set the TargetResource
property to
* arn:aws:s3:::destinationBucket
.
If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline const S3ObjectMetadata& GetNewObjectMetadata() const{ return m_newObjectMetadata; } /** *If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline bool NewObjectMetadataHasBeenSet() const { return m_newObjectMetadataHasBeenSet; } /** *If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline void SetNewObjectMetadata(const S3ObjectMetadata& value) { m_newObjectMetadataHasBeenSet = true; m_newObjectMetadata = value; } /** *If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline void SetNewObjectMetadata(S3ObjectMetadata&& value) { m_newObjectMetadataHasBeenSet = true; m_newObjectMetadata = std::move(value); } /** *If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline S3CopyObjectOperation& WithNewObjectMetadata(const S3ObjectMetadata& value) { SetNewObjectMetadata(value); return *this;} /** *If you don't provide this parameter, Amazon S3 copies all the metadata from * the original objects. If you specify an empty set, the new objects will have no * tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
*/ inline S3CopyObjectOperation& WithNewObjectMetadata(S3ObjectMetadata&& value) { SetNewObjectMetadata(std::move(value)); return *this;} /** * */ inline const Aws::VectorSpecifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies an optional metadata property for website redirects,
* x-amz-website-redirect-location
. Allows webpage redirects if the
* object is accessed through a website endpoint.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
Specifies the folder prefix that you want the objects to be copied into. For
* example, to copy objects into a folder named Folder1
in the
* destination bucket, set the TargetKeyPrefix
property to
* Folder1
.
The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline const S3ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } /** *The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } /** *The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline void SetObjectLockLegalHoldStatus(const S3ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } /** *The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline void SetObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } /** *The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline S3CopyObjectOperation& WithObjectLockLegalHoldStatus(const S3ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} /** *The legal hold status to be applied to all objects in the Batch Operations * job.
*/ inline S3CopyObjectOperation& WithObjectLockLegalHoldStatus(S3ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline const S3ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; } /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline void SetObjectLockMode(const S3ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; } /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline void SetObjectLockMode(S3ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); } /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline S3CopyObjectOperation& WithObjectLockMode(const S3ObjectLockMode& value) { SetObjectLockMode(value); return *this;} /** *The retention mode to be applied to all objects in the Batch Operations * job.
*/ inline S3CopyObjectOperation& WithObjectLockMode(S3ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; } /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; } /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); } /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline S3CopyObjectOperation& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} /** *The date when the applied object retention configuration expires on all * objects in the Batch Operations job.
*/ inline S3CopyObjectOperation& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} /** *Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting
* this header to true
causes Amazon S3 to use an S3 Bucket Key for
* object encryption with SSE-KMS.
Specifying this header with an * object action doesn’t affect bucket-level settings for S3 Bucket * Key.
*/ inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } /** *Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting
* this header to true
causes Amazon S3 to use an S3 Bucket Key for
* object encryption with SSE-KMS.
Specifying this header with an * object action doesn’t affect bucket-level settings for S3 Bucket * Key.
*/ inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } /** *Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting
* this header to true
causes Amazon S3 to use an S3 Bucket Key for
* object encryption with SSE-KMS.
Specifying this header with an * object action doesn’t affect bucket-level settings for S3 Bucket * Key.
*/ inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } /** *Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting
* this header to true
causes Amazon S3 to use an S3 Bucket Key for
* object encryption with SSE-KMS.
Specifying this header with an * object action doesn’t affect bucket-level settings for S3 Bucket * Key.
*/ inline S3CopyObjectOperation& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline const S3ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; } /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; } /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline void SetChecksumAlgorithm(const S3ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; } /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline void SetChecksumAlgorithm(S3ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); } /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline S3CopyObjectOperation& WithChecksumAlgorithm(const S3ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;} /** *Indicates the algorithm that you want Amazon S3 to use to create the * checksum. For more information, see * Checking object integrity in the Amazon S3 User Guide.
*/ inline S3CopyObjectOperation& WithChecksumAlgorithm(S3ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;} private: Aws::String m_targetResource; bool m_targetResourceHasBeenSet = false; S3CannedAccessControlList m_cannedAccessControlList; bool m_cannedAccessControlListHasBeenSet = false; Aws::Vector