Struct aws_sdk_datasync::types::Options

source ·
#[non_exhaustive]
pub struct Options {
Show 15 fields pub verify_mode: Option<VerifyMode>, pub overwrite_mode: Option<OverwriteMode>, pub atime: Option<Atime>, pub mtime: Option<Mtime>, pub uid: Option<Uid>, pub gid: Option<Gid>, pub preserve_deleted_files: Option<PreserveDeletedFiles>, pub preserve_devices: Option<PreserveDevices>, pub posix_permissions: Option<PosixPermissions>, pub bytes_per_second: Option<i64>, pub task_queueing: Option<TaskQueueing>, pub log_level: Option<LogLevel>, pub transfer_mode: Option<TransferMode>, pub security_descriptor_copy_flags: Option<SmbSecurityDescriptorCopyFlags>, pub object_tags: Option<ObjectTags>,
}
Expand description

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§verify_mode: Option<VerifyMode>

Specifies how and when DataSync checks the integrity of your data during a transfer.

  • ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • NONE - DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

§overwrite_mode: Option<OverwriteMode>

Specifies whether DataSync should modify or preserve data at the destination location.

  • ALWAYS (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.

    If DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see Storage class considerations with Amazon S3 transfers.

  • NEVER - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.

§atime: Option<Atime>

Specifies whether to preserve metadata indicating the last time a file was read or written to.

The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

  • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution). This option is recommended.

  • NONE - Ignores Atime.

If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

If Atime is set to NONE, Mtime must also be NONE.

§mtime: Option<Mtime>

Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

  • PRESERVE (default) - Preserves original Mtime, which is recommended.

  • NONE - Ignores Mtime.

If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

§uid: Option<Uid>

Specifies the POSIX user ID (UID) of the file's owner.

  • INT_VALUE (default) - Preserves the integer value of UID and group ID (GID), which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

§gid: Option<Gid>

Specifies the POSIX group ID (GID) of the file's owners.

  • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

§preserve_deleted_files: Option<PreserveDeletedFiles>

Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync.

  • PRESERVE (default) - Ignores such destination files, which is recommended.

  • REMOVE - Deletes destination files that aren’t present in the source.

If you set this parameter to REMOVE, you can't set TransferMode to ALL. When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

§preserve_devices: Option<PreserveDevices>

Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

  • NONE (default) - Ignores special devices (recommended).

  • PRESERVE - Preserves character and block device metadata. This option currently isn't supported for Amazon EFS.

§posix_permissions: Option<PosixPermissions>

Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

For more information, see Metadata copied by DataSync.

  • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

  • NONE - Ignores POSIX-style permissions.

DataSync can preserve extant permissions of a source location.

§bytes_per_second: Option<i64>

Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

§task_queueing: Option<TaskQueueing>

Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks. This is ENABLED by default.

§log_level: Option<LogLevel>

Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn.

  • BASIC - Publishes logs with only basic information (such as transfer errors).

  • TRANSFER - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.

  • OFF - No logs are published.

§transfer_mode: Option<TransferMode>

Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

  • CHANGED (default) - DataSync copies only data or metadata that is new or different content from the source location to the destination location.

  • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

§security_descriptor_copy_flags: Option<SmbSecurityDescriptorCopyFlags>

Specifies which components of the SMB security descriptor are copied from source to destination objects.

This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata.

  • OWNER_DACL (default) - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

      DataSync won't copy NTFS system access control lists (SACLs) with this option.

  • OWNER_DACL_SACL - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object.

      Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

  • NONE - None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

§object_tags: Option<ObjectTags>

Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

Implementations§

source§

impl Options

source

pub fn verify_mode(&self) -> Option<&VerifyMode>

Specifies how and when DataSync checks the integrity of your data during a transfer.

  • ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • NONE - DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

source

pub fn overwrite_mode(&self) -> Option<&OverwriteMode>

Specifies whether DataSync should modify or preserve data at the destination location.

  • ALWAYS (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.

    If DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see Storage class considerations with Amazon S3 transfers.

  • NEVER - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.

source

pub fn atime(&self) -> Option<&Atime>

Specifies whether to preserve metadata indicating the last time a file was read or written to.

The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

  • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution). This option is recommended.

  • NONE - Ignores Atime.

If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

If Atime is set to NONE, Mtime must also be NONE.

source

pub fn mtime(&self) -> Option<&Mtime>

Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

  • PRESERVE (default) - Preserves original Mtime, which is recommended.

  • NONE - Ignores Mtime.

If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

source

pub fn uid(&self) -> Option<&Uid>

Specifies the POSIX user ID (UID) of the file's owner.

  • INT_VALUE (default) - Preserves the integer value of UID and group ID (GID), which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

source

pub fn gid(&self) -> Option<&Gid>

Specifies the POSIX group ID (GID) of the file's owners.

  • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

source

pub fn preserve_deleted_files(&self) -> Option<&PreserveDeletedFiles>

Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync.

  • PRESERVE (default) - Ignores such destination files, which is recommended.

  • REMOVE - Deletes destination files that aren’t present in the source.

If you set this parameter to REMOVE, you can't set TransferMode to ALL. When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

source

pub fn preserve_devices(&self) -> Option<&PreserveDevices>

Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

  • NONE (default) - Ignores special devices (recommended).

  • PRESERVE - Preserves character and block device metadata. This option currently isn't supported for Amazon EFS.

source

pub fn posix_permissions(&self) -> Option<&PosixPermissions>

Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

For more information, see Metadata copied by DataSync.

  • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

  • NONE - Ignores POSIX-style permissions.

DataSync can preserve extant permissions of a source location.

source

pub fn bytes_per_second(&self) -> Option<i64>

Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

source

pub fn task_queueing(&self) -> Option<&TaskQueueing>

Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks. This is ENABLED by default.

source

pub fn log_level(&self) -> Option<&LogLevel>

Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn.

  • BASIC - Publishes logs with only basic information (such as transfer errors).

  • TRANSFER - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.

  • OFF - No logs are published.

source

pub fn transfer_mode(&self) -> Option<&TransferMode>

Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

  • CHANGED (default) - DataSync copies only data or metadata that is new or different content from the source location to the destination location.

  • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

source

pub fn security_descriptor_copy_flags( &self ) -> Option<&SmbSecurityDescriptorCopyFlags>

Specifies which components of the SMB security descriptor are copied from source to destination objects.

This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata.

  • OWNER_DACL (default) - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

      DataSync won't copy NTFS system access control lists (SACLs) with this option.

  • OWNER_DACL_SACL - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object.

      Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

  • NONE - None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

source

pub fn object_tags(&self) -> Option<&ObjectTags>

Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

source§

impl Options

source

pub fn builder() -> OptionsBuilder

Creates a new builder-style object to manufacture Options.

Trait Implementations§

source§

impl Clone for Options

source§

fn clone(&self) -> Options

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Options

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Options

source§

fn eq(&self, other: &Options) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Options

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more