/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the datasync-2018-11-09.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.DataSync.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. /// /// public partial class Options { private Atime _atime; private long? _bytesPerSecond; private Gid _gid; private LogLevel _logLevel; private Mtime _mtime; private ObjectTags _objectTags; private OverwriteMode _overwriteMode; private PosixPermissions _posixPermissions; private PreserveDeletedFiles _preserveDeletedFiles; private PreserveDevices _preserveDevices; private SmbSecurityDescriptorCopyFlags _securityDescriptorCopyFlags; private TaskQueueing _taskQueueing; private TransferMode _transferMode; private Uid _uid; private VerifyMode _verifyMode; /// /// Gets and sets the property 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. /// /// /// public Atime Atime { get { return this._atime; } set { this._atime = value; } } // Check to see if Atime property is set internal bool IsSetAtime() { return this._atime != null; } /// /// Gets and sets the property 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). /// /// [AWSProperty(Min=-1)] public long BytesPerSecond { get { return this._bytesPerSecond.GetValueOrDefault(); } set { this._bytesPerSecond = value; } } // Check to see if BytesPerSecond property is set internal bool IsSetBytesPerSecond() { return this._bytesPerSecond.HasValue; } /// /// Gets and sets the property 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. /// /// public Gid Gid { get { return this._gid; } set { this._gid = value; } } // Check to see if Gid property is set internal bool IsSetGid() { return this._gid != null; } /// /// Gets and sets the property 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. /// /// public LogLevel LogLevel { get { return this._logLevel; } set { this._logLevel = value; } } // Check to see if LogLevel property is set internal bool IsSetLogLevel() { return this._logLevel != null; } /// /// Gets and sets the property 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. /// /// /// public Mtime Mtime { get { return this._mtime; } set { this._mtime = value; } } // Check to see if Mtime property is set internal bool IsSetMtime() { return this._mtime != null; } /// /// Gets and sets the property 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 /// /// public ObjectTags ObjectTags { get { return this._objectTags; } set { this._objectTags = value; } } // Check to see if ObjectTags property is set internal bool IsSetObjectTags() { return this._objectTags != null; } /// /// Gets and sets the property 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. /// /// public OverwriteMode OverwriteMode { get { return this._overwriteMode; } set { this._overwriteMode = value; } } // Check to see if OverwriteMode property is set internal bool IsSetOverwriteMode() { return this._overwriteMode != null; } /// /// Gets and sets the property 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. /// /// /// public PosixPermissions PosixPermissions { get { return this._posixPermissions; } set { this._posixPermissions = value; } } // Check to see if PosixPermissions property is set internal bool IsSetPosixPermissions() { return this._posixPermissions != null; } /// /// Gets and sets the property 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. /// /// /// public PreserveDeletedFiles PreserveDeletedFiles { get { return this._preserveDeletedFiles; } set { this._preserveDeletedFiles = value; } } // Check to see if PreserveDeletedFiles property is set internal bool IsSetPreserveDeletedFiles() { return this._preserveDeletedFiles != null; } /// /// Gets and sets the property 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. /// /// public PreserveDevices PreserveDevices { get { return this._preserveDevices; } set { this._preserveDevices = value; } } // Check to see if PreserveDevices property is set internal bool IsSetPreserveDevices() { return this._preserveDevices != null; } /// /// Gets and sets the property 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: /// /// /// /// OWNER_DACL_SACL: For each copied object, DataSync copies the following /// metadata: /// /// /// /// 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. /// /// public SmbSecurityDescriptorCopyFlags SecurityDescriptorCopyFlags { get { return this._securityDescriptorCopyFlags; } set { this._securityDescriptorCopyFlags = value; } } // Check to see if SecurityDescriptorCopyFlags property is set internal bool IsSetSecurityDescriptorCopyFlags() { return this._securityDescriptorCopyFlags != null; } /// /// Gets and sets the property TaskQueueing. /// /// Specifies whether your transfer tasks should be put into a queue during certain scenarios /// when running /// multiple tasks. This is ENABLED by default. /// /// public TaskQueueing TaskQueueing { get { return this._taskQueueing; } set { this._taskQueueing = value; } } // Check to see if TaskQueueing property is set internal bool IsSetTaskQueueing() { return this._taskQueueing != null; } /// /// Gets and sets the property 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). /// /// public TransferMode TransferMode { get { return this._transferMode; } set { this._transferMode = value; } } // Check to see if TransferMode property is set internal bool IsSetTransferMode() { return this._transferMode != null; } /// /// Gets and sets the property 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. /// /// public Uid Uid { get { return this._uid; } set { this._uid = value; } } // Check to see if Uid property is set internal bool IsSetUid() { return this._uid != null; } /// /// Gets and sets the property 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. /// /// public VerifyMode VerifyMode { get { return this._verifyMode; } set { this._verifyMode = value; } } // Check to see if VerifyMode property is set internal bool IsSetVerifyMode() { return this._verifyMode != null; } } }