/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DataSync { namespace Model { /** *

Configures your DataSync task settings. These options include how DataSync * handles files, objects, and their associated metadata. You also can specify how * DataSync verifies data integrity, set bandwidth limits for your task, among * other options.

Each task setting has a default value. Unless you need to, * you don't have to configure any of these Options before starting * your task.

See Also:

AWS * API Reference

*/ class Options { public: AWS_DATASYNC_API Options(); AWS_DATASYNC_API Options(Aws::Utils::Json::JsonView jsonValue); AWS_DATASYNC_API Options& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATASYNC_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline const VerifyMode& GetVerifyMode() const{ return m_verifyMode; } /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline bool VerifyModeHasBeenSet() const { return m_verifyModeHasBeenSet; } /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline void SetVerifyMode(const VerifyMode& value) { m_verifyModeHasBeenSet = true; m_verifyMode = value; } /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline void SetVerifyMode(VerifyMode&& value) { m_verifyModeHasBeenSet = true; m_verifyMode = std::move(value); } /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline Options& WithVerifyMode(const VerifyMode& value) { SetVerifyMode(value); return *this;} /** *

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

Default value: POINT_IN_TIME_CONSISTENT

* 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: At the end of the transfer, DataSync * scans the entire source and destination to verify that both locations are fully * synchronized.

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.

*/ inline Options& WithVerifyMode(VerifyMode&& value) { SetVerifyMode(std::move(value)); return *this;} /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline const OverwriteMode& GetOverwriteMode() const{ return m_overwriteMode; } /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline bool OverwriteModeHasBeenSet() const { return m_overwriteModeHasBeenSet; } /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline void SetOverwriteMode(const OverwriteMode& value) { m_overwriteModeHasBeenSet = true; m_overwriteMode = value; } /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline void SetOverwriteMode(OverwriteMode&& value) { m_overwriteModeHasBeenSet = true; m_overwriteMode = std::move(value); } /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline Options& WithOverwriteMode(const OverwriteMode& value) { SetOverwriteMode(value); return *this;} /** *

Specifies whether data at the destination location should be overwritten or * preserved. If set to NEVER, a destination file for example will not * be replaced by a source file (even if the destination file differs from the * source file). If you modify files in the destination and you sync the files, you * can use this value to protect against overwriting those changes.

Some * storage classes have specific behaviors that can affect your Amazon S3 storage * cost. For detailed information, see Considerations * when working with Amazon S3 storage classes in DataSync.

*/ inline Options& WithOverwriteMode(OverwriteMode&& value) { SetOverwriteMode(std::move(value)); return *this;} /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline const Atime& GetAtime() const{ return m_atime; } /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline bool AtimeHasBeenSet() const { return m_atimeHasBeenSet; } /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline void SetAtime(const Atime& value) { m_atimeHasBeenSet = true; m_atime = value; } /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline void SetAtime(Atime&& value) { m_atimeHasBeenSet = true; m_atime = std::move(value); } /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline Options& WithAtime(const Atime& value) { SetAtime(value); return *this;} /** *

Specifies whether to preserve metadata indicating the last time a file was * read or written to. If you set Atime to BEST_EFFORT, * DataSync attempts to preserve the original Atime attribute on all * source files (that is, the version before the PREPARING phase of * the task execution).

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

Default value: BEST_EFFORT

* BEST_EFFORT: Attempt to preserve the per-file Atime * value (recommended).

NONE: Ignore 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.

*/ inline Options& WithAtime(Atime&& value) { SetAtime(std::move(value)); return *this;} /** *

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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline const Mtime& GetMtime() const{ return m_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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline bool MtimeHasBeenSet() const { return m_mtimeHasBeenSet; } /** *

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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline void SetMtime(const Mtime& value) { m_mtimeHasBeenSet = true; m_mtime = value; } /** *

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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline void SetMtime(Mtime&& value) { m_mtimeHasBeenSet = true; m_mtime = std::move(value); } /** *

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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline Options& WithMtime(const Mtime& value) { SetMtime(value); return *this;} /** *

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.

*

Default Value: PRESERVE

PRESERVE: Preserve * original Mtime (recommended)

NONE: Ignore * 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. *

*/ inline Options& WithMtime(Mtime&& value) { SetMtime(std::move(value)); return *this;} /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline const Uid& GetUid() const{ return m_uid; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline bool UidHasBeenSet() const { return m_uidHasBeenSet; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline void SetUid(const Uid& value) { m_uidHasBeenSet = true; m_uid = value; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline void SetUid(Uid&& value) { m_uidHasBeenSet = true; m_uid = std::move(value); } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline Options& WithUid(const Uid& value) { SetUid(value); return *this;} /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of UID and group ID (GID) (recommended).

* NONE: Ignore UID and GID.

*/ inline Options& WithUid(Uid&& value) { SetUid(std::move(value)); return *this;} /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline const Gid& GetGid() const{ return m_gid; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline bool GidHasBeenSet() const { return m_gidHasBeenSet; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline void SetGid(const Gid& value) { m_gidHasBeenSet = true; m_gid = value; } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline void SetGid(Gid&& value) { m_gidHasBeenSet = true; m_gid = std::move(value); } /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline Options& WithGid(const Gid& value) { SetGid(value); return *this;} /** *

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

For more * information, see Metadata * copied by DataSync.

Default value: INT_VALUE. This * preserves the integer value of the ID.

INT_VALUE: Preserve * the integer value of user ID (UID) and GID (recommended).

* NONE: Ignore UID and GID.

*/ inline Options& WithGid(Gid&& value) { SetGid(std::move(value)); return *this;} /** *

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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline const PreserveDeletedFiles& GetPreserveDeletedFiles() const{ return m_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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline bool PreserveDeletedFilesHasBeenSet() const { return m_preserveDeletedFilesHasBeenSet; } /** *

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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline void SetPreserveDeletedFiles(const PreserveDeletedFiles& value) { m_preserveDeletedFilesHasBeenSet = true; m_preserveDeletedFiles = value; } /** *

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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline void SetPreserveDeletedFiles(PreserveDeletedFiles&& value) { m_preserveDeletedFilesHasBeenSet = true; m_preserveDeletedFiles = std::move(value); } /** *

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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline Options& WithPreserveDeletedFiles(const PreserveDeletedFiles& value) { SetPreserveDeletedFiles(value); return *this;} /** *

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.

Default * value: PRESERVE

PRESERVE: Ignore such * destination files (recommended).

REMOVE: Delete * 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.

*/ inline Options& WithPreserveDeletedFiles(PreserveDeletedFiles&& value) { SetPreserveDeletedFiles(std::move(value)); return *this;} /** *

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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline const PreserveDevices& GetPreserveDevices() const{ return m_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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline bool PreserveDevicesHasBeenSet() const { return m_preserveDevicesHasBeenSet; } /** *

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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline void SetPreserveDevices(const PreserveDevices& value) { m_preserveDevicesHasBeenSet = true; m_preserveDevices = value; } /** *

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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline void SetPreserveDevices(PreserveDevices&& value) { m_preserveDevicesHasBeenSet = true; m_preserveDevices = std::move(value); } /** *

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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline Options& WithPreserveDevices(const PreserveDevices& value) { SetPreserveDevices(value); return *this;} /** *

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.

Default value: NONE

* NONE: Ignore special devices (recommended).

* PRESERVE: Preserve character and block device metadata. This option * currently isn't supported for Amazon EFS.

*/ inline Options& WithPreserveDevices(PreserveDevices&& value) { SetPreserveDevices(std::move(value)); return *this;} /** *

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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline const PosixPermissions& GetPosixPermissions() const{ return m_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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline bool PosixPermissionsHasBeenSet() const { return m_posixPermissionsHasBeenSet; } /** *

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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline void SetPosixPermissions(const PosixPermissions& value) { m_posixPermissionsHasBeenSet = true; m_posixPermissions = value; } /** *

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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline void SetPosixPermissions(PosixPermissions&& value) { m_posixPermissionsHasBeenSet = true; m_posixPermissions = std::move(value); } /** *

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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline Options& WithPosixPermissions(const PosixPermissions& value) { SetPosixPermissions(value); return *this;} /** *

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.

Default value: PRESERVE

* PRESERVE: Preserve POSIX-style permissions (recommended).

* NONE: Ignore permissions.

DataSync can preserve * extant permissions of a source location.

*/ inline Options& WithPosixPermissions(PosixPermissions&& value) { SetPosixPermissions(std::move(value)); return *this;} /** *

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

*/ inline long long GetBytesPerSecond() const{ return m_bytesPerSecond; } /** *

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

*/ inline bool BytesPerSecondHasBeenSet() const { return m_bytesPerSecondHasBeenSet; } /** *

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

*/ inline void SetBytesPerSecond(long long value) { m_bytesPerSecondHasBeenSet = true; m_bytesPerSecond = value; } /** *

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

*/ inline Options& WithBytesPerSecond(long long value) { SetBytesPerSecond(value); return *this;} /** *

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

*/ inline const TaskQueueing& GetTaskQueueing() const{ return m_taskQueueing; } /** *

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

*/ inline bool TaskQueueingHasBeenSet() const { return m_taskQueueingHasBeenSet; } /** *

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

*/ inline void SetTaskQueueing(const TaskQueueing& value) { m_taskQueueingHasBeenSet = true; m_taskQueueing = value; } /** *

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

*/ inline void SetTaskQueueing(TaskQueueing&& value) { m_taskQueueingHasBeenSet = true; m_taskQueueing = std::move(value); } /** *

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

*/ inline Options& WithTaskQueueing(const TaskQueueing& value) { SetTaskQueueing(value); return *this;} /** *

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

*/ inline Options& WithTaskQueueing(TaskQueueing&& value) { SetTaskQueueing(std::move(value)); return *this;} /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline const LogLevel& GetLogLevel() const{ return m_logLevel; } /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline bool LogLevelHasBeenSet() const { return m_logLevelHasBeenSet; } /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline void SetLogLevel(const LogLevel& value) { m_logLevelHasBeenSet = true; m_logLevel = value; } /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline void SetLogLevel(LogLevel&& value) { m_logLevelHasBeenSet = true; m_logLevel = std::move(value); } /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline Options& WithLogLevel(const LogLevel& value) { SetLogLevel(value); return *this;} /** *

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

*

If you set LogLevel to OFF, no logs are published. * BASIC publishes logs on errors for individual files transferred. * TRANSFER publishes logs for every file or object that is * transferred and integrity checked.

*/ inline Options& WithLogLevel(LogLevel&& value) { SetLogLevel(std::move(value)); return *this;} /** *

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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline const TransferMode& GetTransferMode() const{ return m_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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline bool TransferModeHasBeenSet() const { return m_transferModeHasBeenSet; } /** *

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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline void SetTransferMode(const TransferMode& value) { m_transferModeHasBeenSet = true; m_transferMode = value; } /** *

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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline void SetTransferMode(TransferMode&& value) { m_transferModeHasBeenSet = true; m_transferMode = std::move(value); } /** *

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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline Options& WithTransferMode(const TransferMode& value) { SetTransferMode(value); return *this;} /** *

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: DataSync copies only data or metadata that is new or * different content from the source location to the destination location.

* ALL: DataSync copies all source location content to the destination * (without comparing what's in the destination).

*/ inline Options& WithTransferMode(TransferMode&& value) { SetTransferMode(std::move(value)); return *this;} /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline const SmbSecurityDescriptorCopyFlags& GetSecurityDescriptorCopyFlags() const{ return m_securityDescriptorCopyFlags; } /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline bool SecurityDescriptorCopyFlagsHasBeenSet() const { return m_securityDescriptorCopyFlagsHasBeenSet; } /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline void SetSecurityDescriptorCopyFlags(const SmbSecurityDescriptorCopyFlags& value) { m_securityDescriptorCopyFlagsHasBeenSet = true; m_securityDescriptorCopyFlags = value; } /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline void SetSecurityDescriptorCopyFlags(SmbSecurityDescriptorCopyFlags&& value) { m_securityDescriptorCopyFlagsHasBeenSet = true; m_securityDescriptorCopyFlags = std::move(value); } /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline Options& WithSecurityDescriptorCopyFlags(const SmbSecurityDescriptorCopyFlags& value) { SetSecurityDescriptorCopyFlags(value); return *this;} /** *

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.

Default value: OWNER_DACL *

OWNER_DACL: 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 that ensures sufficient permissions to files, folders, and metadata, see user.

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

*/ inline Options& WithSecurityDescriptorCopyFlags(SmbSecurityDescriptorCopyFlags&& value) { SetSecurityDescriptorCopyFlags(std::move(value)); return *this;} /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline const ObjectTags& GetObjectTags() const{ return m_objectTags; } /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline bool ObjectTagsHasBeenSet() const { return m_objectTagsHasBeenSet; } /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline void SetObjectTags(const ObjectTags& value) { m_objectTagsHasBeenSet = true; m_objectTags = value; } /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline void SetObjectTags(ObjectTags&& value) { m_objectTagsHasBeenSet = true; m_objectTags = std::move(value); } /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline Options& WithObjectTags(const ObjectTags& value) { SetObjectTags(value); return *this;} /** *

Specifies whether object tags are preserved when transferring between object * storage systems. If you want your DataSync task to ignore object tags, specify * the NONE value.

Default Value: PRESERVE

*/ inline Options& WithObjectTags(ObjectTags&& value) { SetObjectTags(std::move(value)); return *this;} private: VerifyMode m_verifyMode; bool m_verifyModeHasBeenSet = false; OverwriteMode m_overwriteMode; bool m_overwriteModeHasBeenSet = false; Atime m_atime; bool m_atimeHasBeenSet = false; Mtime m_mtime; bool m_mtimeHasBeenSet = false; Uid m_uid; bool m_uidHasBeenSet = false; Gid m_gid; bool m_gidHasBeenSet = false; PreserveDeletedFiles m_preserveDeletedFiles; bool m_preserveDeletedFilesHasBeenSet = false; PreserveDevices m_preserveDevices; bool m_preserveDevicesHasBeenSet = false; PosixPermissions m_posixPermissions; bool m_posixPermissionsHasBeenSet = false; long long m_bytesPerSecond; bool m_bytesPerSecondHasBeenSet = false; TaskQueueing m_taskQueueing; bool m_taskQueueingHasBeenSet = false; LogLevel m_logLevel; bool m_logLevelHasBeenSet = false; TransferMode m_transferMode; bool m_transferModeHasBeenSet = false; SmbSecurityDescriptorCopyFlags m_securityDescriptorCopyFlags; bool m_securityDescriptorCopyFlagsHasBeenSet = false; ObjectTags m_objectTags; bool m_objectTagsHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws