Class: AWSCDK::Datasync::CfnTask::OptionsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
datasync/cfn_task.rb

Overview

Represents the options that are available to control the behavior of a StartTaskExecution 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.

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 default options on each task execution by specifying an overriding Options value to StartTaskExecution .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(atime: nil, bytes_per_second: nil, gid: nil, log_level: nil, mtime: nil, object_tags: nil, overwrite_mode: nil, posix_permissions: nil, preserve_deleted_files: nil, preserve_devices: nil, security_descriptor_copy_flags: nil, task_queueing: nil, transfer_mode: nil, uid: nil, verify_mode: nil) ⇒ OptionsProperty

Returns a new instance of OptionsProperty.

Parameters:

  • atime (String, nil) (defaults to: nil)

    A file metadata value that shows the last time that a file was accessed (that is, when the file was read or written to).

  • bytes_per_second (Numeric, nil) (defaults to: nil)

    A value that limits the bandwidth used by AWS DataSync .

  • gid (String, nil) (defaults to: nil)

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

  • log_level (String, nil) (defaults to: nil)

    Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group.

  • mtime (String, nil) (defaults to: nil)

    A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.

  • object_tags (String, nil) (defaults to: nil)

    Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems.

  • overwrite_mode (String, nil) (defaults to: nil)

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

  • posix_permissions (String, nil) (defaults to: nil)

    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.

  • preserve_deleted_files (String, nil) (defaults to: nil)

    A value that specifies whether files in the destination that don't exist in the source file system are preserved.

  • preserve_devices (String, nil) (defaults to: nil)

    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.

  • security_descriptor_copy_flags (String, nil) (defaults to: nil)

    A value that determines which components of the SMB security descriptor are copied from source to destination objects.

  • task_queueing (String, nil) (defaults to: nil)

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

  • transfer_mode (String, nil) (defaults to: nil)

    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.

  • uid (String, nil) (defaults to: nil)

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

  • verify_mode (String, nil) (defaults to: nil)

    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.



945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
# File 'datasync/cfn_task.rb', line 945

def initialize(atime: nil, bytes_per_second: nil, gid: nil, log_level: nil, mtime: nil, object_tags: nil, overwrite_mode: nil, posix_permissions: nil, preserve_deleted_files: nil, preserve_devices: nil, security_descriptor_copy_flags: nil, task_queueing: nil, transfer_mode: nil, uid: nil, verify_mode: nil)
  @atime = atime
  Jsii::Type.check_type(@atime, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "atime") unless @atime.nil?
  @bytes_per_second = bytes_per_second
  Jsii::Type.check_type(@bytes_per_second, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bytesPerSecond") unless @bytes_per_second.nil?
  @gid = gid
  Jsii::Type.check_type(@gid, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "gid") unless @gid.nil?
  @log_level = log_level
  Jsii::Type.check_type(@log_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logLevel") unless @log_level.nil?
  @mtime = mtime
  Jsii::Type.check_type(@mtime, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "mtime") unless @mtime.nil?
  @object_tags = object_tags
  Jsii::Type.check_type(@object_tags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "objectTags") unless @object_tags.nil?
  @overwrite_mode = overwrite_mode
  Jsii::Type.check_type(@overwrite_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "overwriteMode") unless @overwrite_mode.nil?
  @posix_permissions = posix_permissions
  Jsii::Type.check_type(@posix_permissions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "posixPermissions") unless @posix_permissions.nil?
  @preserve_deleted_files = preserve_deleted_files
  Jsii::Type.check_type(@preserve_deleted_files, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preserveDeletedFiles") unless @preserve_deleted_files.nil?
  @preserve_devices = preserve_devices
  Jsii::Type.check_type(@preserve_devices, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preserveDevices") unless @preserve_devices.nil?
  @security_descriptor_copy_flags = security_descriptor_copy_flags
  Jsii::Type.check_type(@security_descriptor_copy_flags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityDescriptorCopyFlags") unless @security_descriptor_copy_flags.nil?
  @task_queueing = task_queueing
  Jsii::Type.check_type(@task_queueing, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "taskQueueing") unless @task_queueing.nil?
  @transfer_mode = transfer_mode
  Jsii::Type.check_type(@transfer_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transferMode") unless @transfer_mode.nil?
  @uid = uid
  Jsii::Type.check_type(@uid, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "uid") unless @uid.nil?
  @verify_mode = verify_mode
  Jsii::Type.check_type(@verify_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "verifyMode") unless @verify_mode.nil?
end

Instance Attribute Details

#atimeString? (readonly)

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 Atime to BEST_EFFORT , AWS 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 .



994
995
996
# File 'datasync/cfn_task.rb', line 994

def atime
  @atime
end

#bytes_per_secondNumeric? (readonly)

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



1001
1002
1003
# File 'datasync/cfn_task.rb', line 1001

def bytes_per_second
  @bytes_per_second
end

#gidString? (readonly)

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

Default value: INT_VALUE

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

NAME : Currently not supported.

NONE : Ignore the UID and GID.



1014
1015
1016
# File 'datasync/cfn_task.rb', line 1014

def gid
  @gid
end

#log_levelString? (readonly)

Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group.

To specify the log group, see CloudWatchLogGroupArn .

  • BASIC - Publishes logs with only basic information (such as transfer errors).
  • TRANSFER - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.
  • OFF - No logs are published.


1025
1026
1027
# File 'datasync/cfn_task.rb', line 1025

def log_level
  @log_level
end

#mtimeString? (readonly)

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.

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 .



1042
1043
1044
# File 'datasync/cfn_task.rb', line 1042

def mtime
  @mtime
end

#object_tagsString? (readonly)

Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems.

If you want your DataSync task to ignore object tags, specify the NONE value.



1049
1050
1051
# File 'datasync/cfn_task.rb', line 1049

def object_tags
  @object_tags
end

#overwrite_modeString? (readonly)

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

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

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

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


1060
1061
1062
# File 'datasync/cfn_task.rb', line 1060

def overwrite_mode
  @overwrite_mode
end

#posix_permissionsString? (readonly)

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 Metadata Copied by DataSync .

Default value: PRESERVE

PRESERVE : Preserve POSIX-style permissions (recommended).

NONE : Ignore permissions.

AWS DataSync can preserve extant permissions of a source location.



1075
1076
1077
# File 'datasync/cfn_task.rb', line 1075

def posix_permissions
  @posix_permissions
end

#preserve_deleted_filesString? (readonly)

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 Considerations when working with Amazon S3 storage classes in DataSync in the AWS DataSync User Guide .

Default value: PRESERVE

PRESERVE : Ignore destination files that aren't present in the source (recommended).

REMOVE : Delete destination files that aren't present in the source.



1088
1089
1090
# File 'datasync/cfn_task.rb', line 1088

def preserve_deleted_files
  @preserve_deleted_files
end

#preserve_devicesString? (readonly)

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.

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.



1103
1104
1105
# File 'datasync/cfn_task.rb', line 1103

def preserve_devices
  @preserve_devices
end

#security_descriptor_copy_flagsString? (readonly)

A value that determines 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 Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see How DataSync Handles Metadata and Special Files .

Default value: OWNER_DACL

OWNER_DACL : For each copied object, DataSync copies the following metadata:

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

When you use option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.

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

  • Object owner.
  • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.
  • NTFS system access control lists (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.



1129
1130
1131
# File 'datasync/cfn_task.rb', line 1129

def security_descriptor_copy_flags
  @security_descriptor_copy_flags
end

#task_queueingString? (readonly)

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



1134
1135
1136
# File 'datasync/cfn_task.rb', line 1134

def task_queueing
  @task_queueing
end

#transfer_modeString? (readonly)

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.

CHANGED : DataSync copies only data or metadata that is new or different from the source location to the destination location.

ALL : DataSync copies all source location content to the destination, without comparing it to existing content on the destination.



1143
1144
1145
# File 'datasync/cfn_task.rb', line 1143

def transfer_mode
  @transfer_mode
end

#uidString? (readonly)

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

Default value: INT_VALUE

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

NAME : Currently not supported

NONE : Ignore the UID and GID.



1156
1157
1158
# File 'datasync/cfn_task.rb', line 1156

def uid
  @uid
end

#verify_modeString? (readonly)

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 Configure task settings .

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



1171
1172
1173
# File 'datasync/cfn_task.rb', line 1171

def verify_mode
  @verify_mode
end

Class Method Details

.jsii_propertiesObject



1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
# File 'datasync/cfn_task.rb', line 1173

def self.jsii_properties
  {
    :atime => "atime",
    :bytes_per_second => "bytesPerSecond",
    :gid => "gid",
    :log_level => "logLevel",
    :mtime => "mtime",
    :object_tags => "objectTags",
    :overwrite_mode => "overwriteMode",
    :posix_permissions => "posixPermissions",
    :preserve_deleted_files => "preserveDeletedFiles",
    :preserve_devices => "preserveDevices",
    :security_descriptor_copy_flags => "securityDescriptorCopyFlags",
    :task_queueing => "taskQueueing",
    :transfer_mode => "transferMode",
    :uid => "uid",
    :verify_mode => "verifyMode",
  }
end

Instance Method Details

#to_jsiiObject



1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
# File 'datasync/cfn_task.rb', line 1193

def to_jsii
  result = {}
  result.merge!({
    "atime" => @atime,
    "bytesPerSecond" => @bytes_per_second,
    "gid" => @gid,
    "logLevel" => @log_level,
    "mtime" => @mtime,
    "objectTags" => @object_tags,
    "overwriteMode" => @overwrite_mode,
    "posixPermissions" => @posix_permissions,
    "preserveDeletedFiles" => @preserve_deleted_files,
    "preserveDevices" => @preserve_devices,
    "securityDescriptorCopyFlags" => @security_descriptor_copy_flags,
    "taskQueueing" => @task_queueing,
    "transferMode" => @transfer_mode,
    "uid" => @uid,
    "verifyMode" => @verify_mode,
  })
  result.compact
end