#[non_exhaustive]pub struct S3CopyObjectOperation {Show 18 fields
pub target_resource: Option<String>,
pub canned_access_control_list: Option<S3CannedAccessControlList>,
pub access_control_grants: Option<Vec<S3Grant>>,
pub metadata_directive: Option<S3MetadataDirective>,
pub modified_since_constraint: Option<DateTime>,
pub new_object_metadata: Option<S3ObjectMetadata>,
pub new_object_tagging: Option<Vec<S3Tag>>,
pub redirect_location: Option<String>,
pub requester_pays: bool,
pub storage_class: Option<S3StorageClass>,
pub un_modified_since_constraint: Option<DateTime>,
pub sse_aws_kms_key_id: Option<String>,
pub target_key_prefix: Option<String>,
pub object_lock_legal_hold_status: Option<S3ObjectLockLegalHoldStatus>,
pub object_lock_mode: Option<S3ObjectLockMode>,
pub object_lock_retain_until_date: Option<DateTime>,
pub bucket_key_enabled: bool,
pub checksum_algorithm: Option<S3ChecksumAlgorithm>,
}Expand description
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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.target_resource: Option<String>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 theTargetResourceproperty toarn:aws:s3:::destinationBucket. -
Directory buckets - For example, to copy objects to a directory bucket named
destinationBucketin the Availability Zone; identified by the AZ IDusw2-az1, set theTargetResourceproperty toarn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.
canned_access_control_list: Option<S3CannedAccessControlList>This functionality is not supported by directory buckets.
access_control_grants: Option<Vec<S3Grant>>This functionality is not supported by directory buckets.
metadata_directive: Option<S3MetadataDirective>modified_since_constraint: Option<DateTime>new_object_metadata: Option<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.
new_object_tagging: Option<Vec<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.
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.
redirect_location: Option<String>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.
This functionality is not supported by directory buckets.
requester_pays: boolThis functionality is not supported by directory buckets.
storage_class: Option<S3StorageClass>Specify the storage class for the destination objects in a Copy operation.
Directory buckets - This functionality is not supported by directory buckets.
un_modified_since_constraint: Option<DateTime>sse_aws_kms_key_id: Option<String>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.
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.
target_key_prefix: Option<String>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.
object_lock_legal_hold_status: Option<S3ObjectLockLegalHoldStatus>The legal hold status to be applied to all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
object_lock_mode: Option<S3ObjectLockMode>The retention mode to be applied to all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
object_lock_retain_until_date: Option<DateTime>The date when the applied object retention configuration expires on all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
bucket_key_enabled: boolSpecifies 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.
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.
checksum_algorithm: Option<S3ChecksumAlgorithm>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.
Implementations§
Source§impl S3CopyObjectOperation
impl S3CopyObjectOperation
Sourcepub fn target_resource(&self) -> Option<&str>
pub fn target_resource(&self) -> Option<&str>
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 theTargetResourceproperty toarn:aws:s3:::destinationBucket. -
Directory buckets - For example, to copy objects to a directory bucket named
destinationBucketin the Availability Zone; identified by the AZ IDusw2-az1, set theTargetResourceproperty toarn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.
Sourcepub fn canned_access_control_list(&self) -> Option<&S3CannedAccessControlList>
pub fn canned_access_control_list(&self) -> Option<&S3CannedAccessControlList>
This functionality is not supported by directory buckets.
Sourcepub fn access_control_grants(&self) -> &[S3Grant]
pub fn access_control_grants(&self) -> &[S3Grant]
This functionality is not supported by directory buckets.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .access_control_grants.is_none().
Sourcepub fn metadata_directive(&self) -> Option<&S3MetadataDirective>
pub fn metadata_directive(&self) -> Option<&S3MetadataDirective>
Sourcepub fn modified_since_constraint(&self) -> Option<&DateTime>
pub fn modified_since_constraint(&self) -> Option<&DateTime>
Sourcepub fn new_object_metadata(&self) -> Option<&S3ObjectMetadata>
pub fn new_object_metadata(&self) -> Option<&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.
Sourcepub fn new_object_tagging(&self) -> &[S3Tag]
pub fn new_object_tagging(&self) -> &[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.
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.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .new_object_tagging.is_none().
Sourcepub fn redirect_location(&self) -> Option<&str>
pub fn redirect_location(&self) -> Option<&str>
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.
This functionality is not supported by directory buckets.
Sourcepub fn requester_pays(&self) -> bool
pub fn requester_pays(&self) -> bool
This functionality is not supported by directory buckets.
Sourcepub fn storage_class(&self) -> Option<&S3StorageClass>
pub fn storage_class(&self) -> Option<&S3StorageClass>
Specify the storage class for the destination objects in a Copy operation.
Directory buckets - This functionality is not supported by directory buckets.
Sourcepub fn un_modified_since_constraint(&self) -> Option<&DateTime>
pub fn un_modified_since_constraint(&self) -> Option<&DateTime>
Sourcepub fn sse_aws_kms_key_id(&self) -> Option<&str>
pub fn sse_aws_kms_key_id(&self) -> Option<&str>
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.
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.
Sourcepub fn target_key_prefix(&self) -> Option<&str>
pub fn target_key_prefix(&self) -> Option<&str>
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.
Sourcepub fn object_lock_legal_hold_status(
&self,
) -> Option<&S3ObjectLockLegalHoldStatus>
pub fn object_lock_legal_hold_status( &self, ) -> Option<&S3ObjectLockLegalHoldStatus>
The legal hold status to be applied to all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
Sourcepub fn object_lock_mode(&self) -> Option<&S3ObjectLockMode>
pub fn object_lock_mode(&self) -> Option<&S3ObjectLockMode>
The retention mode to be applied to all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
Sourcepub fn object_lock_retain_until_date(&self) -> Option<&DateTime>
pub fn object_lock_retain_until_date(&self) -> Option<&DateTime>
The date when the applied object retention configuration expires on all objects in the Batch Operations job.
This functionality is not supported by directory buckets.
Sourcepub fn bucket_key_enabled(&self) -> bool
pub fn bucket_key_enabled(&self) -> bool
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.
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.
Sourcepub fn checksum_algorithm(&self) -> Option<&S3ChecksumAlgorithm>
pub fn checksum_algorithm(&self) -> Option<&S3ChecksumAlgorithm>
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.
Source§impl S3CopyObjectOperation
impl S3CopyObjectOperation
Sourcepub fn builder() -> S3CopyObjectOperationBuilder
pub fn builder() -> S3CopyObjectOperationBuilder
Creates a new builder-style object to manufacture S3CopyObjectOperation.
Trait Implementations§
Source§impl Clone for S3CopyObjectOperation
impl Clone for S3CopyObjectOperation
Source§fn clone(&self) -> S3CopyObjectOperation
fn clone(&self) -> S3CopyObjectOperation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for S3CopyObjectOperation
impl Debug for S3CopyObjectOperation
Source§impl PartialEq for S3CopyObjectOperation
impl PartialEq for S3CopyObjectOperation
impl StructuralPartialEq for S3CopyObjectOperation
Auto Trait Implementations§
impl Freeze for S3CopyObjectOperation
impl RefUnwindSafe for S3CopyObjectOperation
impl Send for S3CopyObjectOperation
impl Sync for S3CopyObjectOperation
impl Unpin for S3CopyObjectOperation
impl UnwindSafe for S3CopyObjectOperation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightBlack.
§Example
println!("{}", value.bright_black());Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightGreen.
§Example
println!("{}", value.bright_green());Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightYellow.
§Example
println!("{}", value.bright_yellow());Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightMagenta.
§Example
println!("{}", value.bright_magenta());Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightWhite.
§Example
println!("{}", value.bright_white());Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightBlack.
§Example
println!("{}", value.on_bright_black());Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightGreen.
§Example
println!("{}", value.on_bright_green());Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightYellow.
§Example
println!("{}", value.on_bright_yellow());Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightBlue.
§Example
println!("{}", value.on_bright_blue());Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightMagenta.
§Example
println!("{}", value.on_bright_magenta());Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightCyan.
§Example
println!("{}", value.on_bright_cyan());Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightWhite.
§Example
println!("{}", value.on_bright_white());Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self with the
attr()
set to
Attribute::Underline.
§Example
println!("{}", value.underline());Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self with the
attr()
set to
Attribute::RapidBlink.
§Example
println!("{}", value.rapid_blink());Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);