Class: Aws::S3Control::Types::S3CopyObjectOperation

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-s3control/types.rb

Overview

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].

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#access_control_grantsArray<Types::S3Grant>

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:



7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#bucket_key_enabledBoolean

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 Copy action doesn’t affect bucket-level settings for S3 Bucket Key.

<note markdown=“1”> **Directory buckets** - S3 Bucket Keys aren’t supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through [the Copy operation in Batch Operations]. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

</note>

[1]: docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops

Returns:

  • (Boolean)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#canned_access_control_listString

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#checksum_algorithmString

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*.

[1]: docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#metadata_directiveString

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#modified_since_constraintTime

Returns:

  • (Time)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#new_object_metadataTypes::S3ObjectMetadata

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.



7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#new_object_taggingArray<Types::S3Tag>

Specifies a list of tags to add to the destination objects after they are copied. If ‘NewObjectTagging` is not specified, the tags of the source objects are copied to destination objects by default.

<note markdown=“1”> **Directory buckets** - Tags aren’t supported by directory buckets. If your source objects have tags and your destination bucket is a directory bucket, specify an empty tag set in the ‘NewObjectTagging` field to prevent copying the source object tags to the directory bucket.

</note>

Returns:



7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

The legal hold status to be applied to all objects in the Batch Operations job.

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#object_lock_modeString

The retention mode to be applied to all objects in the Batch Operations job.

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#object_lock_retain_until_dateTime

The date when the applied object retention configuration expires on all objects in the Batch Operations job.

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (Time)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#redirect_locationString

If the destination bucket is configured as a website, specifies an optional metadata property for website redirects, ‘x-amz-website-redirect-location`. Allows webpage redirects if the object copy is accessed through a website endpoint.

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#requester_paysBoolean

<note markdown=“1”> This functionality is not supported by directory buckets.

</note>

Returns:

  • (Boolean)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#sse_aws_kms_key_idString

Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn’t exist in the same account that’s issuing the command, you must use the full Key ARN not the Key ID.

<note markdown=“1”> **Directory buckets** - If you specify ‘SSEAlgorithm` with `KMS`, you must specify the ` SSEAwsKmsKeyId` parameter with the ID (Key ID or Key ARN) of the KMS symmetric encryption customer managed key to use. Otherwise, you get an HTTP `400 Bad Request` error. The key alias format of the KMS key isn’t supported. To encrypt new object copies in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket’s default encryption configuration with a KMS key (specifically, a [customer managed key]). The [Amazon Web Services managed key] (‘aws/s3`) isn’t supported. Your SSE-KMS configuration can only support 1 [customer managed key] per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS as the bucket default encryption, you can’t override the customer managed key for the bucket’s SSE-KMS configuration. Then, when you specify server-side encryption settings for new object copies with SSE-KMS, you must make sure the encryption key is the same customer managed key that you specified for the directory bucket’s default encryption configuration.

</note>

[1]: docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk [2]: docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#storage_classString

Specify the storage class for the destination objects in a ‘Copy` operation.

<note markdown=“1”> Directory buckets - This functionality is not supported by directory buckets.

</note>

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#target_key_prefixString

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`.

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#target_resourceString

Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation.

  • **General purpose buckets** - For example, to copy objects to a general purpose bucket named ‘destinationBucket`, set the `TargetResource` property to `arn:aws:s3:::destinationBucket`.

  • **Directory buckets** - For example, to copy objects to a directory bucket named ‘destinationBucket` in the Availability Zone; identified by the AZ ID `usw2-az1`, set the `TargetResource` property to `arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name–usw2-az1–x-s3`.

Returns:

  • (String)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end

#un_modified_since_constraintTime

Returns:

  • (Time)


7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
# File 'lib/aws-sdk-s3control/types.rb', line 7116

class S3CopyObjectOperation < Struct.new(
  :target_resource,
  :canned_access_control_list,
  :access_control_grants,
  :metadata_directive,
  :modified_since_constraint,
  :new_object_metadata,
  :new_object_tagging,
  :redirect_location,
  :requester_pays,
  :storage_class,
  :un_modified_since_constraint,
  :sse_aws_kms_key_id,
  :target_key_prefix,
  :object_lock_legal_hold_status,
  :object_lock_mode,
  :object_lock_retain_until_date,
  :bucket_key_enabled,
  :checksum_algorithm)
  SENSITIVE = []
  include Aws::Structure
end