import { Value } from '../../../cloudformation/Value';
/**
  Represents the options that are available to control the behavior of a <a href="https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html">StartTaskExecution</a> operation. This behavior includes preserving metadata, such as user ID (UID), group ID (GID), and file permissions; overwriting files in the destination; data integrity verification; and so on.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html">the AWS Docs</a>
*/
export interface OptionsProps {
    /** <code>VerifyMode</code>  <a name="cfn-datasync-task-options-verifymode"></a>
  A value that determines whether a data integrity verification is performed at the end of a task execution after all data and metadata have been transferred. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html">Configure task settings</a>.<br />
  Default value: <code>POINT_IN_TIME_CONSISTENT</code><br />
  <code>ONLY_FILES_TRANSFERRED</code> (recommended): Perform verification only on files that were transferred.<br />
  <code>POINT_IN_TIME_CONSISTENT</code>: Scan the entire source and entire destination at the end of the transfer to verify that the source and destination are fully synchronized. This option isn’t supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.<br />
  <code>NONE</code>: No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.<br />
  
  Required: No<br />
  
  Allowed values: <code>NONE | ONLY_FILES_TRANSFERRED | POINT_IN_TIME_CONSISTENT</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    verifyMode?: Value<'NONE' | 'ONLY_FILES_TRANSFERRED' | 'POINT_IN_TIME_CONSISTENT'>;
    /** <code>Gid</code>  <a name="cfn-datasync-task-options-gid"></a>
  The group ID (GID) of the file’s owners.<br />
  Default value: <code>INT_VALUE</code><br />
  <code>INT_VALUE</code>: Preserve the integer value of the user ID (UID) and group ID (GID) (recommended).<br />
  <code>NAME</code>: Currently not supported.<br />
  <code>NONE</code>: Ignore the UID and GID.<br />
  
  Required: No<br />
  
  Allowed values: <code>BOTH | INT_VALUE | NAME | NONE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    gid?: Value<'BOTH' | 'INT_VALUE' | 'NAME' | 'NONE'>;
    /** <code>Atime</code>  <a name="cfn-datasync-task-options-atime"></a>
  A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to). If you set <code>Atime</code> to <code>BEST_EFFORT</code>, AWS DataSync attempts to preserve the original <code>Atime</code> attribute on all source files (that is, the version before the PREPARING phase). However, <code>Atime</code>’s behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.<br />
  Default value: <code>BEST_EFFORT</code><br />
  <code>BEST_EFFORT</code>: Attempt to preserve the per-file <code>Atime</code> value (recommended).<br />
  <code>NONE</code>: Ignore <code>Atime</code>.<br />
  If <code>Atime</code> is set to <code>BEST_EFFORT</code>, <code>Mtime</code> must be set to <code>PRESERVE</code>.<br />
  If <code>Atime</code> is set to <code>NONE</code>, <code>Mtime</code> must also be <code>NONE</code>.
  
  Required: No<br />
  
  Allowed values: <code>BEST_EFFORT | NONE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    atime?: Value<'BEST_EFFORT' | 'NONE'>;
    /** <code>OverwriteMode</code>  <a name="cfn-datasync-task-options-overwritemode"></a>
  Specifies whether data at the destination location should be overwritten or preserved. If set to <code>NEVER</code>, 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.<br />
  Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes">Considerations when working with Amazon S3 storage classes in DataSync</a>.<br />
  
  Required: No<br />
  
  Allowed values: <code>ALWAYS | NEVER</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    overwriteMode?: Value<'ALWAYS' | 'NEVER'>;
    /** <code>PreserveDevices</code>  <a name="cfn-datasync-task-options-preservedevices"></a>
  A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.<br />
  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: <code>NONE</code><br />
  <code>NONE</code>: Ignore special devices (recommended).<br />
  <code>PRESERVE</code>: Preserve character and block device metadata. This option isn’t currently supported for Amazon EFS.<br />
  
  Required: No<br />
  
  Allowed values: <code>NONE | PRESERVE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    preserveDevices?: Value<'NONE' | 'PRESERVE'>;
    /** <code>Mtime</code>  <a name="cfn-datasync-task-options-mtime"></a>
  A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.<br />
  Default value: <code>PRESERVE</code><br />
  <code>PRESERVE</code>: Preserve original <code>Mtime</code> (recommended)<br />
  <code>NONE</code>: Ignore <code>Mtime</code>.<br />
  If <code>Mtime</code> is set to <code>PRESERVE</code>, <code>Atime</code> must be set to <code>BEST_EFFORT</code>.<br />
  If <code>Mtime</code> is set to <code>NONE</code>, <code>Atime</code> must also be set to <code>NONE</code>.
  
  Required: No<br />
  
  Allowed values: <code>NONE | PRESERVE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    mtime?: Value<'NONE' | 'PRESERVE'>;
    /** <code>TaskQueueing</code>  <a name="cfn-datasync-task-options-taskqueueing"></a>
  Specifies whether your transfer tasks should be put into a queue during certain scenarios when <a href="https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks">running multiple tasks</a>. This is <code>ENABLED</code> by default.<br />
  
  Required: No<br />
  
  Allowed values: <code>DISABLED | ENABLED</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    taskQueueing?: Value<'DISABLED' | 'ENABLED'>;
    /** <code>TransferMode</code>  <a name="cfn-datasync-task-options-transfermode"></a>
  A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing it to the destination location.<br />
  <code>CHANGED</code>: DataSync copies only data or metadata that is new or different from the source location to the destination location.<br />
  <code>ALL</code>: DataSync copies all source location content to the destination, without comparing it to existing content on the destination.<br />
  
  Required: No<br />
  
  Allowed values: <code>ALL | CHANGED</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    transferMode?: Value<'ALL' | 'CHANGED'>;
    /** <code>LogLevel</code>  <a name="cfn-datasync-task-options-loglevel"></a>
  Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn">CloudWatchLogGroupArn</a>.<br />
  If you set <code>LogLevel</code> to <code>OFF</code>, no logs are published. <code>BASIC</code> publishes logs on errors for individual files transferred. <code>TRANSFER</code> publishes logs for every file or object that is transferred and integrity checked.<br />
  
  Required: No<br />
  
  Allowed values: <code>BASIC | OFF | TRANSFER</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    logLevel?: Value<'BASIC' | 'OFF' | 'TRANSFER'>;
    /** <code>ObjectTags</code>  <a name="cfn-datasync-task-options-objecttags"></a>
  Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the <code>NONE</code> value.<br />
  Default Value: <code>PRESERVE</code><br />
  
  Required: No<br />
  
  Allowed values: <code>NONE | PRESERVE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    objectTags?: Value<'NONE' | 'PRESERVE'>;
    /** <code>Uid</code>  <a name="cfn-datasync-task-options-uid"></a>
  The user ID (UID) of the file’s owner.<br />
  Default value: <code>INT_VALUE</code><br />
  <code>INT_VALUE</code>: Preserve the integer value of the UID and group ID (GID) (recommended).<br />
  <code>NAME</code>: Currently not supported<br />
  <code>NONE</code>: Ignore the UID and GID.<br />
  
  Required: No<br />
  
  Allowed values: <code>BOTH | INT_VALUE | NAME | NONE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    uid?: Value<'BOTH' | 'INT_VALUE' | 'NAME' | 'NONE'>;
    /** <code>BytesPerSecond</code>  <a name="cfn-datasync-task-options-bytespersecond"></a>
  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 <code>1048576</code> (=1024*1024).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    bytesPerSecond?: Value<number>;
    /** <code>PosixPermissions</code>  <a name="cfn-datasync-task-options-posixpermissions"></a>
  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. This option should be set only for Network File System (NFS), Amazon EFS, and Amazon S3 locations. For more information about what metadata is copied by DataSync, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied">Metadata Copied by DataSync</a>.<br />
  Default value: <code>PRESERVE</code><br />
  <code>PRESERVE</code>: Preserve POSIX-style permissions (recommended).<br />
  <code>NONE</code>: Ignore permissions.<br />
  AWS DataSync can preserve extant permissions of a source location.
  
  Required: No<br />
  
  Allowed values: <code>NONE | PRESERVE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    posixPermissions?: Value<'NONE' | 'PRESERVE'>;
    /** <code>PreserveDeletedFiles</code>  <a name="cfn-datasync-task-options-preservedeletedfiles"></a>
  A value that specifies whether files in the destination that don’t exist in the source file system are preserved. This option can affect your storage costs. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes">Considerations when working with Amazon S3 storage classes in DataSync </a> in the * AWS DataSync User Guide*.<br />
  Default value: <code>PRESERVE</code><br />
  <code>PRESERVE</code>: Ignore destination files that aren’t present in the source (recommended).<br />
  <code>REMOVE</code>: Delete destination files that aren’t present in the source.<br />
  
  Required: No<br />
  
  Allowed values: <code>PRESERVE | REMOVE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    preserveDeletedFiles?: Value<'PRESERVE' | 'REMOVE'>;
    /** <p> */
    securityDescriptorCopyFlags?: Value<string>;
}
