/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the options that are available to control the behavior of a
* StartTaskExecution operation. Behavior includes preserving metadata such
* as user ID (UID), group ID (GID), and file permissions, and also overwriting
* files in the destination, data integrity verification, and so on. A task
* has a set of default options associated with it. If you don't specify an option
* in StartTaskExecution, the default value is used. You can override the
* defaults options on each task execution by specifying an overriding
* Options value to StartTaskExecution.See
* Also:
AWS
* API Reference
A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline const VerifyMode& GetVerifyMode() const{ return m_verifyMode; } /** *A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline bool VerifyModeHasBeenSet() const { return m_verifyModeHasBeenSet; } /** *A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline void SetVerifyMode(const VerifyMode& value) { m_verifyModeHasBeenSet = true; m_verifyMode = value; } /** *A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline void SetVerifyMode(VerifyMode&& value) { m_verifyModeHasBeenSet = true; m_verifyMode = std::move(value); } /** *A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline Options& WithVerifyMode(const VerifyMode& value) { SetVerifyMode(value); return *this;} /** *A value that determines whether a data integrity verification should be * performed at the end of a task execution after all data and metadata have been * transferred. For more information, see create-task
Default value: * POINT_IN_TIME_CONSISTENT.
ONLY_FILES_TRANSFERRED (recommended): Perform * verification only on files that were transferred.
*POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at * the end of the transfer to verify that source and destination are fully * synchronized. This option isn't supported when transferring to S3 Glacier or S3 * Glacier Deep Archive storage classes.
NONE: No additional verification is * done at the end of the transfer, but all data transmissions are * integrity-checked with checksum verification during the transfer.
*/ inline Options& WithVerifyMode(VerifyMode&& value) { SetVerifyMode(std::move(value)); return *this;} /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline const OverwriteMode& GetOverwriteMode() const{ return m_overwriteMode; } /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline bool OverwriteModeHasBeenSet() const { return m_overwriteModeHasBeenSet; } /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline void SetOverwriteMode(const OverwriteMode& value) { m_overwriteModeHasBeenSet = true; m_overwriteMode = value; } /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline void SetOverwriteMode(OverwriteMode&& value) { m_overwriteModeHasBeenSet = true; m_overwriteMode = std::move(value); } /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline Options& WithOverwriteMode(const OverwriteMode& value) { SetOverwriteMode(value); return *this;} /** *A value that determines whether files at the destination should be
* overwritten or preserved when copying files. If set to NEVER a
* destination file 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 S3 storage cost. For detailed information, see using-storage-classes * in the AWS DataSync User Guide.
*/ inline Options& WithOverwriteMode(OverwriteMode&& value) { SetOverwriteMode(std::move(value)); return *this;} /** *A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A file metadata value that shows the last time a file was accessed (that is,
* when the 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).
* However, Atime's behavior is not fully standard across platforms,
* so AWS 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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
A value that indicates the last time that a file was modified (that is, a * file was written to) before the PREPARING phase.
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.
The user ID (UID) of the file's owner.
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; } /** *The user ID (UID) of the file's owner.
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; } /** *The user ID (UID) of the file's owner.
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; } /** *The user ID (UID) of the file's owner.
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); } /** *The user ID (UID) of the file's owner.
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;} /** *The user ID (UID) of the file's owner.
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;} /** *The group ID (GID) of the file's owners.
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; } /** *The group ID (GID) of the file's owners.
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; } /** *The group ID (GID) of the file's owners.
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; } /** *The group ID (GID) of the file's owners.
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); } /** *The group ID (GID) of the file's owners.
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;} /** *The group ID (GID) of the file's owners.
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;} /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline const PreserveDeletedFiles& GetPreserveDeletedFiles() const{ return m_preserveDeletedFiles; } /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline bool PreserveDeletedFilesHasBeenSet() const { return m_preserveDeletedFilesHasBeenSet; } /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline void SetPreserveDeletedFiles(const PreserveDeletedFiles& value) { m_preserveDeletedFilesHasBeenSet = true; m_preserveDeletedFiles = value; } /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline void SetPreserveDeletedFiles(PreserveDeletedFiles&& value) { m_preserveDeletedFilesHasBeenSet = true; m_preserveDeletedFiles = std::move(value); } /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline Options& WithPreserveDeletedFiles(const PreserveDeletedFiles& value) { SetPreserveDeletedFiles(value); return *this;} /** *A value that specifies whether files in the destination that don't exist in * the source file system should be preserved. This option can affect your storage * cost. If your task deletes objects, you might incur minimum storage duration * charges for certain storage classes. For detailed information, see * using-storage-classes in the AWS DataSync User Guide.
*Default value: PRESERVE.
PRESERVE: Ignore such destination files * (recommended).
REMOVE: Delete destination files that aren’t present in * the source.
*/ inline Options& WithPreserveDeletedFiles(PreserveDeletedFiles&& value) { SetPreserveDeletedFiles(std::move(value)); return *this;} /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline const PreserveDevices& GetPreserveDevices() const{ return m_preserveDevices; } /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline bool PreserveDevicesHasBeenSet() const { return m_preserveDevicesHasBeenSet; } /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline void SetPreserveDevices(const PreserveDevices& value) { m_preserveDevicesHasBeenSet = true; m_preserveDevices = value; } /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline void SetPreserveDevices(PreserveDevices&& value) { m_preserveDevicesHasBeenSet = true; m_preserveDevices = std::move(value); } /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline Options& WithPreserveDevices(const PreserveDevices& value) { SetPreserveDevices(value); return *this;} /** *A value that determines whether AWS DataSync should preserve the metadata of * block and character devices in the source file system, and recreate the files * with that device name and metadata on the destination.
AWS * DataSync can't sync the actual contents of such devices, because they are * 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 isn't * currently supported for Amazon EFS.
*/ inline Options& WithPreserveDevices(PreserveDevices&& value) { SetPreserveDevices(std::move(value)); return *this;} /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline const PosixPermissions& GetPosixPermissions() const{ return m_posixPermissions; } /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline bool PosixPermissionsHasBeenSet() const { return m_posixPermissionsHasBeenSet; } /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline void SetPosixPermissions(const PosixPermissions& value) { m_posixPermissionsHasBeenSet = true; m_posixPermissions = value; } /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline void SetPosixPermissions(PosixPermissions&& value) { m_posixPermissionsHasBeenSet = true; m_posixPermissions = std::move(value); } /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline Options& WithPosixPermissions(const PosixPermissions& value) { SetPosixPermissions(value); return *this;} /** *A value that determines which users or groups can access a file for a * specific purpose such as reading, writing, or execution of the file.
*Default value: PRESERVE.
PRESERVE: Preserve POSIX-style permissions * (recommended).
NONE: Ignore permissions.
AWS DataSync can * preserve extant permissions of a source location.
*/ inline Options& WithPosixPermissions(PosixPermissions&& value) { SetPosixPermissions(std::move(value)); return *this;} /** *A value that limits the bandwidth used by AWS DataSync. For example, if you
* want AWS DataSync to use a maximum of 1 MB, set this value to
* 1048576 (=1024*1024).
A value that limits the bandwidth used by AWS DataSync. For example, if you
* want AWS DataSync to use a maximum of 1 MB, set this value to
* 1048576 (=1024*1024).
A value that limits the bandwidth used by AWS DataSync. For example, if you
* want AWS DataSync to use a maximum of 1 MB, set this value to
* 1048576 (=1024*1024).
A value that limits the bandwidth used by AWS DataSync. For example, if you
* want AWS DataSync to use a maximum of 1 MB, set this value to
* 1048576 (=1024*1024).
A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline const TaskQueueing& GetTaskQueueing() const{ return m_taskQueueing; } /** *A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline bool TaskQueueingHasBeenSet() const { return m_taskQueueingHasBeenSet; } /** *A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline void SetTaskQueueing(const TaskQueueing& value) { m_taskQueueingHasBeenSet = true; m_taskQueueing = value; } /** *A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline void SetTaskQueueing(TaskQueueing&& value) { m_taskQueueingHasBeenSet = true; m_taskQueueing = std::move(value); } /** *A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline Options& WithTaskQueueing(const TaskQueueing& value) { SetTaskQueueing(value); return *this;} /** *A value that determines whether tasks should be queued before executing the
* tasks. If set to ENABLED, the tasks will be queued. The default is
* ENABLED.
If you use the same agent to run multiple tasks, * you can enable the tasks to run in series. For more information, see * queue-task-execution.
*/ inline Options& WithTaskQueueing(TaskQueueing&& value) { SetTaskQueueing(std::move(value)); return *this;} /** *A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
A value that determines the type of logs that DataSync publishes to a log
* stream in the Amazon CloudWatch log group that you provide. For more information
* about providing a log group for DataSync, see CloudWatchLogGroupArn.
* If set to OFF, no logs are published. BASIC publishes
* logs on errors for individual files transferred, and TRANSFER
* publishes logs for every file or object that is transferred and integrity
* checked.
TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline const TransferMode& GetTransferMode() const{ return m_transferMode; } /** *TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline bool TransferModeHasBeenSet() const { return m_transferModeHasBeenSet; } /** *TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline void SetTransferMode(const TransferMode& value) { m_transferModeHasBeenSet = true; m_transferMode = value; } /** *TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline void SetTransferMode(TransferMode&& value) { m_transferModeHasBeenSet = true; m_transferMode = std::move(value); } /** *TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline Options& WithTransferMode(const TransferMode& value) { SetTransferMode(value); return *this;} /** *TransferMode has two values: CHANGED and ALL. CHANGED performs an * "incremental" or "delta sync", it compares file modification time between source * and destination to determine which files need to be transferred. ALL skips * destination inventory and transfers all files discovered on the source.
*/ inline Options& WithTransferMode(TransferMode&& value) { SetTransferMode(std::move(value)); return *this;} private: VerifyMode m_verifyMode; bool m_verifyModeHasBeenSet; OverwriteMode m_overwriteMode; bool m_overwriteModeHasBeenSet; Atime m_atime; bool m_atimeHasBeenSet; Mtime m_mtime; bool m_mtimeHasBeenSet; Uid m_uid; bool m_uidHasBeenSet; Gid m_gid; bool m_gidHasBeenSet; PreserveDeletedFiles m_preserveDeletedFiles; bool m_preserveDeletedFilesHasBeenSet; PreserveDevices m_preserveDevices; bool m_preserveDevicesHasBeenSet; PosixPermissions m_posixPermissions; bool m_posixPermissionsHasBeenSet; long long m_bytesPerSecond; bool m_bytesPerSecondHasBeenSet; TaskQueueing m_taskQueueing; bool m_taskQueueingHasBeenSet; LogLevel m_logLevel; bool m_logLevelHasBeenSet; TransferMode m_transferMode; bool m_transferModeHasBeenSet; }; } // namespace Model } // namespace DataSync } // namespace Aws