class Aws::S3Control::Types::S3CopyObjectOperation

Contains the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every object to the underlying PUT Copy object API. For more information about the parameters for this operation, see [PUT Object - Copy].

[1]: docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html

@note When making an API call, you may pass S3CopyObjectOperation

data as a hash:

    {
      target_resource: "S3BucketArnString",
      canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
      access_control_grants: [
        {
          grantee: {
            type_identifier: "id", # accepts id, emailAddress, uri
            identifier: "NonEmptyMaxLength1024String",
            display_name: "NonEmptyMaxLength1024String",
          },
          permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
        },
      ],
      metadata_directive: "COPY", # accepts COPY, REPLACE
      modified_since_constraint: Time.now,
      new_object_metadata: {
        cache_control: "NonEmptyMaxLength1024String",
        content_disposition: "NonEmptyMaxLength1024String",
        content_encoding: "NonEmptyMaxLength1024String",
        content_language: "NonEmptyMaxLength1024String",
        user_metadata: {
          "NonEmptyMaxLength1024String" => "MaxLength1024String",
        },
        content_length: 1,
        content_md5: "NonEmptyMaxLength1024String",
        content_type: "NonEmptyMaxLength1024String",
        http_expires_date: Time.now,
        requester_charged: false,
        sse_algorithm: "AES256", # accepts AES256, KMS
      },
      new_object_tagging: [
        {
          key: "TagKeyString", # required
          value: "TagValueString", # required
        },
      ],
      redirect_location: "NonEmptyMaxLength2048String",
      requester_pays: false,
      storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
      un_modified_since_constraint: Time.now,
      sse_aws_kms_key_id: "KmsKeyArnString",
      target_key_prefix: "NonEmptyMaxLength1024String",
      object_lock_legal_hold_status: "OFF", # accepts OFF, ON
      object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
      object_lock_retain_until_date: Time.now,
      bucket_key_enabled: false,
    }

@!attribute [rw] target_resource

Specifies the destination bucket ARN for the batch copy operation.
For example, to copy objects to a bucket named
"destinationBucket", set the TargetResource to
"arn:aws:s3:::destinationBucket".
@return [String]

@!attribute [rw] canned_access_control_list

@return [String]

@!attribute [rw] access_control_grants

@return [Array<Types::S3Grant>]

@!attribute [rw] metadata_directive

@return [String]

@!attribute [rw] modified_since_constraint

@return [Time]

@!attribute [rw] new_object_metadata

@return [Types::S3ObjectMetadata]

@!attribute [rw] new_object_tagging

@return [Array<Types::S3Tag>]

@!attribute [rw] redirect_location

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.
@return [String]

@!attribute [rw] requester_pays

@return [Boolean]

@!attribute [rw] storage_class

@return [String]

@!attribute [rw] un_modified_since_constraint

@return [Time]

@!attribute [rw] sse_aws_kms_key_id

@return [String]

@!attribute [rw] target_key_prefix

Specifies the folder prefix into which you would like the objects to
be copied. For example, to copy objects into a folder named
"Folder1" in the destination bucket, set the TargetKeyPrefix to
"Folder1/".
@return [String]

@!attribute [rw] object_lock_legal_hold_status

The legal hold status to be applied to all objects in the Batch
Operations job.
@return [String]

@!attribute [rw] object_lock_mode

The retention mode to be applied to all objects in the Batch
Operations job.
@return [String]

@!attribute [rw] object_lock_retain_until_date

The date when the applied object retention configuration expires on
all objects in the Batch Operations job.
@return [Time]

@!attribute [rw] bucket_key_enabled

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.
@return [Boolean]

@see docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation

Constants

SENSITIVE