diff --git a/clients/client-datasync/README.md b/clients/client-datasync/README.md index 7265cb915517..d703b72a87d2 100644 --- a/clients/client-datasync/README.md +++ b/clients/client-datasync/README.md @@ -19,7 +19,7 @@ Guide ## Installing -To install the this package, simply type add or install @aws-sdk/client-datasync +To install this package, simply type add or install @aws-sdk/client-datasync using your favorite package manager: - `npm install @aws-sdk/client-datasync` diff --git a/clients/client-datasync/src/commands/CreateAgentCommand.ts b/clients/client-datasync/src/commands/CreateAgentCommand.ts index 24edbc58ccaa..d64fc5a20e0b 100644 --- a/clients/client-datasync/src/commands/CreateAgentCommand.ts +++ b/clients/client-datasync/src/commands/CreateAgentCommand.ts @@ -28,25 +28,10 @@ export interface CreateAgentCommandInput extends CreateAgentRequest {} export interface CreateAgentCommandOutput extends CreateAgentResponse, __MetadataBearer {} /** - *

Activates an DataSync agent that you've deployed in your storage - * environment. The activation process associates the agent with your Amazon Web Services account.

- *

If you haven't deployed an agent yet, see the following topics to learn more:

- * - * - *

If you're transferring between Amazon Web Services storage services, you don't need a - * DataSync agent.

- *
+ *

Activates an DataSync agent that you deploy in your storage environment. + * The activation process associates the agent with your Amazon Web Services account.

+ *

If you haven't deployed an agent yet, see Do I need a DataSync agent? + *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-datasync/src/commands/CreateTaskCommand.ts b/clients/client-datasync/src/commands/CreateTaskCommand.ts index ecaaa90d3701..487324c60d09 100644 --- a/clients/client-datasync/src/commands/CreateTaskCommand.ts +++ b/clients/client-datasync/src/commands/CreateTaskCommand.ts @@ -125,6 +125,7 @@ export interface CreateTaskCommandOutput extends CreateTaskResponse, __MetadataB * }, * }, * }, + * TaskMode: "BASIC" || "ENHANCED", * }; * const command = new CreateTaskCommand(input); * const response = await client.send(command); diff --git a/clients/client-datasync/src/commands/DescribeTaskCommand.ts b/clients/client-datasync/src/commands/DescribeTaskCommand.ts index 5aa9fa8203f3..ec4d1bfdff39 100644 --- a/clients/client-datasync/src/commands/DescribeTaskCommand.ts +++ b/clients/client-datasync/src/commands/DescribeTaskCommand.ts @@ -133,6 +133,7 @@ export interface DescribeTaskCommandOutput extends DescribeTaskResponse, __Metad * // DisabledReason: "STRING_VALUE", * // DisabledBy: "USER" || "SERVICE", * // }, + * // TaskMode: "BASIC" || "ENHANCED", * // }; * * ``` diff --git a/clients/client-datasync/src/commands/DescribeTaskExecutionCommand.ts b/clients/client-datasync/src/commands/DescribeTaskExecutionCommand.ts index 58cd4a4188e3..3ac707df1671 100644 --- a/clients/client-datasync/src/commands/DescribeTaskExecutionCommand.ts +++ b/clients/client-datasync/src/commands/DescribeTaskExecutionCommand.ts @@ -29,8 +29,13 @@ export interface DescribeTaskExecutionCommandOutput extends DescribeTaskExecutio /** *

Provides information about an execution of your DataSync task. You can - * use this operation to help monitor the progress of an ongoing transfer or check the results of - * the transfer.

+ * use this operation to help monitor the progress of an ongoing data transfer or check the + * results of the transfer.

+ * + *

Some DescribeTaskExecution response elements are only relevant to a + * specific task mode. For information, see Understanding task mode differences and Understanding data + * transfer performance metrics.

+ *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -139,6 +144,18 @@ export interface DescribeTaskExecutionCommandOutput extends DescribeTaskExecutio * // ErrorDetail: "STRING_VALUE", * // }, * // EstimatedFilesToDelete: Number("long"), + * // TaskMode: "BASIC" || "ENHANCED", + * // FilesPrepared: Number("long"), + * // FilesListed: { // TaskExecutionFilesListedDetail + * // AtSource: Number("long"), + * // AtDestinationForDelete: Number("long"), + * // }, + * // FilesFailed: { // TaskExecutionFilesFailedDetail + * // Prepare: Number("long"), + * // Transfer: Number("long"), + * // Verify: Number("long"), + * // Delete: Number("long"), + * // }, * // }; * * ``` diff --git a/clients/client-datasync/src/commands/ListTaskExecutionsCommand.ts b/clients/client-datasync/src/commands/ListTaskExecutionsCommand.ts index 58a3ff069528..599ff66fab88 100644 --- a/clients/client-datasync/src/commands/ListTaskExecutionsCommand.ts +++ b/clients/client-datasync/src/commands/ListTaskExecutionsCommand.ts @@ -47,6 +47,7 @@ export interface ListTaskExecutionsCommandOutput extends ListTaskExecutionsRespo * // { // TaskExecutionListEntry * // TaskExecutionArn: "STRING_VALUE", * // Status: "QUEUED" || "CANCELLING" || "LAUNCHING" || "PREPARING" || "TRANSFERRING" || "VERIFYING" || "SUCCESS" || "ERROR", + * // TaskMode: "BASIC" || "ENHANCED", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-datasync/src/commands/ListTasksCommand.ts b/clients/client-datasync/src/commands/ListTasksCommand.ts index e6e73b5ddd90..58b8dbe94197 100644 --- a/clients/client-datasync/src/commands/ListTasksCommand.ts +++ b/clients/client-datasync/src/commands/ListTasksCommand.ts @@ -56,6 +56,7 @@ export interface ListTasksCommandOutput extends ListTasksResponse, __MetadataBea * // TaskArn: "STRING_VALUE", * // Status: "AVAILABLE" || "CREATING" || "QUEUED" || "RUNNING" || "UNAVAILABLE", * // Name: "STRING_VALUE", + * // TaskMode: "BASIC" || "ENHANCED", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-datasync/src/commands/StartTaskExecutionCommand.ts b/clients/client-datasync/src/commands/StartTaskExecutionCommand.ts index 21da74c5f959..5dc3eec22266 100644 --- a/clients/client-datasync/src/commands/StartTaskExecutionCommand.ts +++ b/clients/client-datasync/src/commands/StartTaskExecutionCommand.ts @@ -30,7 +30,7 @@ export interface StartTaskExecutionCommandOutput extends StartTaskExecutionRespo /** *

Starts an DataSync transfer task. For each task, you can only run one task * execution at a time.

- *

There are several phases to a task execution. For more information, see Task execution statuses.

+ *

There are several steps to a task execution. For more information, see Task execution statuses.

* *

If you're planning to transfer data to or from an Amazon S3 location, review * how diff --git a/clients/client-datasync/src/models/models_0.ts b/clients/client-datasync/src/models/models_0.ts index db19efb4acc9..e99ac1cf725f 100644 --- a/clients/client-datasync/src/models/models_0.ts +++ b/clients/client-datasync/src/models/models_0.ts @@ -403,14 +403,14 @@ export interface Capacity { export interface CreateAgentRequest { /** *

Specifies your DataSync agent's activation key. If you don't have an - * activation key, see Activate your agent.

+ * activation key, see Activating your agent.

* @public */ ActivationKey: string | undefined; /** - *

Specifies a name for your agent. You can see this name in the DataSync - * console.

+ *

Specifies a name for your agent. We recommend specifying a name that you can + * remember.

* @public */ AgentName?: string; @@ -423,29 +423,26 @@ export interface CreateAgentRequest { Tags?: TagListEntry[]; /** - *

Specifies the ID of the VPC endpoint that you want your agent to connect to. For example, - * a VPC endpoint ID looks like vpce-01234d5aff67890e1.

+ *

Specifies the ID of the VPC service endpoint that you're using. For + * example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

* - *

The VPC endpoint you use must include the DataSync service name (for example, - * com.amazonaws.us-east-2.datasync).

+ *

The VPC service endpoint you use must include the DataSync service name (for + * example, com.amazonaws.us-east-2.datasync).

*
* @public */ VpcEndpointId?: string; /** - *

Specifies the ARN of the subnet where you want to run your DataSync task when - * using a VPC endpoint. This is the subnet where DataSync creates and manages the - * network - * interfaces for your transfer. You can only specify one ARN.

+ *

Specifies the ARN of the subnet where your VPC service endpoint is located. You can only + * specify one ARN.

* @public */ SubnetArns?: string[]; /** - *

Specifies the Amazon Resource Name (ARN) of the security group that protects your task's - * network - * interfaces when using a virtual private cloud (VPC) endpoint. You can only specify one ARN.

+ *

Specifies the Amazon Resource Name (ARN) of the security group that allows traffic between + * your agent and VPC service endpoint. You can only specify one ARN.

* @public */ SecurityGroupArns?: string[]; @@ -534,7 +531,8 @@ export interface CreateLocationAzureBlobResponse { } /** - *

The subnet and security groups that DataSync uses to access your Amazon EFS file system.

+ *

The subnet and security groups that DataSync uses to connect to one of your + * Amazon EFS file system's mount targets.

* @public */ export interface Ec2Config { @@ -585,25 +583,24 @@ export type EfsInTransitEncryption = (typeof EfsInTransitEncryption)[keyof typeo */ export interface CreateLocationEfsRequest { /** - *

Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). - * By default, DataSync uses the root directory, but you can also include - * subdirectories.

- * - *

You must specify a value with forward slashes (for example, - * /path/to/folder).

- *
+ *

Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location) + * on your file system.

+ *

By default, DataSync uses the root directory (or access point if you provide one by using + * AccessPointArn). You can also include subdirectories using forward slashes (for + * example, /path/to/folder).

* @public */ Subdirectory?: string; /** - *

Specifies the ARN for the Amazon EFS file system.

+ *

Specifies the ARN for your Amazon EFS file system.

* @public */ EfsFilesystemArn: string | undefined; /** - *

Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.

+ *

Specifies the subnet and security groups DataSync uses to connect to one of + * your Amazon EFS file system's mount targets.

* @public */ Ec2Config: Ec2Config | undefined; @@ -618,21 +615,22 @@ export interface CreateLocationEfsRequest { /** *

Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses - * to access the Amazon EFS file system.

+ * to mount your Amazon EFS file system.

+ *

For more information, see Accessing restricted file systems.

* @public */ AccessPointArn?: string; /** - *

Specifies an Identity and Access Management (IAM) role that DataSync - * assumes when mounting the Amazon EFS file system.

+ *

Specifies an Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

+ *

For information on creating this role, see Creating a DataSync IAM role for file system access.

* @public */ FileSystemAccessRoleArn?: string; /** *

Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 - * encryption when it copies data to or from the Amazon EFS file system.

+ * encryption when it transfers data to or from your Amazon EFS file system.

*

If you specify an access point using AccessPointArn or an IAM * role using FileSystemAccessRoleArn, you must set this parameter to * TLS1_2.

@@ -1032,8 +1030,12 @@ export interface CreateLocationFsxWindowsRequest { FsxFilesystemArn: string | undefined; /** - *

Specifies the ARNs of the security groups that provide access to your file system's - * preferred subnet.

+ *

Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

+ *

The security groups that you specify must be able to communicate with your file system's + * security groups. For information about configuring security groups for file system access, see + * the + * Amazon FSx for Windows File Server User Guide + * .

* *

If you choose a security group that doesn't allow connections from within itself, do one * of the following:

@@ -1290,8 +1292,7 @@ export interface CreateLocationHdfsRequest { KerberosKrb5Conf?: Uint8Array; /** - *

The Amazon Resource Names (ARNs) of the agents that are used to connect to the HDFS - * cluster.

+ *

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

* @public */ AgentArns: string[] | undefined; @@ -1309,21 +1310,22 @@ export interface CreateLocationHdfsRequest { */ export interface CreateLocationHdfsResponse { /** - *

The ARN of the source HDFS cluster location that's created.

+ *

The ARN of the source HDFS cluster location that you create.

* @public */ LocationArn?: string; } /** - *

The DataSync agents that are connecting to a Network File System (NFS) - * location.

+ *

The DataSync agents that can connect to your Network File System (NFS) + * file server.

* @public */ export interface OnPremConfig { /** - *

The Amazon Resource Names (ARNs) of the agents connecting to a transfer - * location.

+ *

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.

+ *

You can specify more than one agent. For more information, see Using multiple DataSync + * agents.

* @public */ AgentArns: string[] | undefined; @@ -1351,10 +1353,10 @@ export interface CreateLocationNfsRequest { ServerHostname: string | undefined; /** - *

Specifies the Amazon Resource Name (ARN) of the DataSync agent that want to + *

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect to your NFS file server.

- *

You can specify more than one agent. For more information, see Using multiple - * agents for transfers.

+ *

You can specify more than one agent. For more information, see Using multiple DataSync + * agents.

* @public */ OnPremConfig: OnPremConfig | undefined; @@ -1456,7 +1458,7 @@ export interface CreateLocationObjectStorageRequest { /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can - * securely connect with your location.

+ * connect with your object storage system.

* @public */ AgentArns: string[] | undefined; @@ -1696,8 +1698,8 @@ export interface CreateLocationSmbRequest { Password: string | undefined; /** - *

Specifies the DataSync agent (or agents) which you want to connect to your SMB - * file server. You specify an agent by using its Amazon Resource Name (ARN).

+ *

Specifies the DataSync agent (or agents) that can connect to your SMB file + * server. You specify an agent by using its Amazon Resource Name (ARN).

* @public */ AgentArns: string[] | undefined; @@ -2069,15 +2071,19 @@ export type VerifyMode = (typeof VerifyMode)[keyof typeof VerifyMode]; */ export interface Options { /** - *

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

+ *

Specifies if and how DataSync checks the integrity of your data at the end of + * your transfer.

* * @public @@ -2141,7 +2150,7 @@ export interface Options { *

* BEST_EFFORT (default) - DataSync attempts to preserve the * original Atime attribute on all source files (that is, the version before the - * PREPARING phase of the task execution). This option is + * PREPARING steps of the task execution). This option is * recommended.

* *
  • @@ -2161,8 +2170,8 @@ export interface Options { /** *

    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.

    + * to before the PREPARING step of your task execution. This option is required when + * you need to run the a task more than once.

    *
      *
    • *

      @@ -2215,7 +2224,7 @@ export interface Options { * NONE - Ignores UID and GID.

      *
    • *
    - *

    For more information, see Metadata copied by DataSync.

    + *

    For more information, see Understanding how DataSync handles file and object metadata.

    * @public */ Gid?: Gid; @@ -2273,7 +2282,7 @@ export interface Options { /** *

    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.

    + *

    For more information, see Understanding how DataSync handles file and object metadata.

    *
      *
    • *

      @@ -2296,6 +2305,10 @@ export interface Options { *

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

      + * + *

      Not applicable to Enhanced mode + * tasks.

      + *
      * @public */ BytesPerSecond?: number; @@ -2331,14 +2344,16 @@ export interface Options { LogLevel?: LogLevel; /** - *

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

      + *

      Specifies whether DataSync transfers only the data (including metadata) that + * differs between locations following an initial copy or transfers all data every time you run + * the task. If you're planning on recurring transfers, you might only want to transfer what's + * changed since your previous task execution.

      *
        *
      • *

        - * CHANGED (default) - DataSync copies only data or metadata that - * is new or different content from the source location to the destination location.

        + * CHANGED (default) - After your initial full transfer, DataSync + * copies only the data and metadata that differs between the source and destination + * location.

        *
      • *
      • *

        @@ -2354,7 +2369,7 @@ export interface Options { *

        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.

        + * locations or between two FSx for Windows File Server locations. For more information, see Understanding how DataSync handles file and object metadata.

        *
          *
        • *

          @@ -2434,10 +2449,20 @@ export type ScheduleStatus = (typeof ScheduleStatus)[keyof typeof ScheduleStatus */ export interface TaskSchedule { /** - *

          Specifies your task schedule by using a cron expression in UTC time. For information about - * cron expression syntax, see the - * Amazon EventBridge User - * Guide + *

          Specifies your task schedule by using a cron or rate expression.

          + *

          Use cron expressions for task schedules that run on a specific time and day. For example, + * the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday + * of every month:

          + *

          + * cron(0 8 * * 3#1) + *

          + *

          Use rate expressions for task schedules that run on a regular interval. For example, the + * following rate expression creates a task schedule that runs every 12 hours:

          + *

          + * rate(12 hours) + *

          + *

          For information about cron and rate expression syntax, see the + * Amazon EventBridge User Guide * .

          * @public */ @@ -2455,6 +2480,20 @@ export interface TaskSchedule { Status?: ScheduleStatus; } +/** + * @public + * @enum + */ +export const TaskMode = { + BASIC: "BASIC", + ENHANCED: "ENHANCED", +} as const; + +/** + * @public + */ +export type TaskMode = (typeof TaskMode)[keyof typeof TaskMode]; + /** *

          Specifies the Amazon S3 bucket where DataSync uploads your task report.

          * @public @@ -2666,6 +2705,8 @@ export interface CreateTaskRequest { /** *

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for * monitoring your task.

          + *

          For Enhanced mode tasks, you don't need to specify anything. DataSync + * automatically sends logs to a CloudWatch log group named /aws/datasync.

          * @public */ CloudWatchLogGroupArn?: string; @@ -2707,8 +2748,10 @@ export interface CreateTaskRequest { Tags?: TagListEntry[]; /** - *

          Specifies include filters define the files, objects, and folders in your source location - * that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

          + *

          Specifies include filters that define the files, objects, and folders in your source + * location that you want DataSync to transfer. For more information and examples, see + * Specifying what + * DataSync transfers by using filters.

          * @public */ Includes?: FilterRule[]; @@ -2728,6 +2771,30 @@ export interface CreateTaskRequest { * @public */ TaskReportConfig?: TaskReportConfig; + + /** + *

          Specifies one of the following task modes for your data transfer:

          + *
            + *
          • + *

            + * ENHANCED - Transfer virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. Currently available for transfers between Amazon S3 locations.

            + * + *

            To create an Enhanced mode task, the IAM role that you use to call + * the CreateTask operation must have the + * iam:CreateServiceLinkedRole permission.

            + *
            + *
          • + *
          • + *

            + * BASIC (default) - Transfer files or objects between Amazon Web Services + * storage and on-premises, edge, or other cloud storage. DataSync + * quotas apply.

            + *
          • + *
          + *

          For more information, see Understanding task mode differences.

          + * @public + */ + TaskMode?: TaskMode; } /** @@ -2835,7 +2902,7 @@ export interface PrivateLinkConfig { VpcEndpointId?: string; /** - *

          Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that + *

          Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that * your agent connects to.

          * @public */ @@ -3086,7 +3153,8 @@ export interface DescribeLocationEfsResponse { LocationUri?: string; /** - *

          The subnet and security groups that DataSync uses to access your Amazon EFS file system.

          + *

          The subnet and security groups that DataSync uses to connect to one of your + * Amazon EFS file system's mount targets.

          * @public */ Ec2Config?: Ec2Config; @@ -3100,20 +3168,22 @@ export interface DescribeLocationEfsResponse { /** *

          The ARN of the access point that DataSync uses to access the Amazon EFS * file system.

          + *

          For more information, see Accessing restricted file systems.

          * @public */ AccessPointArn?: string; /** - *

          The Identity and Access Management (IAM) role that DataSync assumes when - * mounting the Amazon EFS file system.

          + *

          The Identity and Access Management (IAM) role that allows DataSync to + * access your Amazon EFS file system.

          + *

          For more information, see Creating a DataSync IAM role for file system access.

          * @public */ FileSystemAccessRoleArn?: string; /** - *

          Describes whether DataSync uses Transport Layer Security (TLS) encryption when - * copying data to or from the Amazon EFS file system.

          + *

          Indicates whether DataSync uses Transport Layer Security (TLS) encryption when + * transferring data to or from the Amazon EFS file system.

          * @public */ InTransitEncryption?: EfsInTransitEncryption; @@ -3303,8 +3373,11 @@ export interface DescribeLocationFsxWindowsResponse { LocationUri?: string; /** - *

          The ARNs of the security groups that are configured for the FSx for Windows File Server file - * system.

          + *

          The ARNs of the Amazon EC2 security groups that provide access to your file + * system's preferred subnet.

          + *

          For information about configuring security groups for file system access, see the + * Amazon FSx for Windows File Server User Guide + * .

          * @public */ SecurityGroupArns?: string[]; @@ -3453,8 +3526,8 @@ export interface DescribeLocationNfsResponse { LocationUri?: string; /** - *

          The DataSync agents that are connecting to a Network File System (NFS) - * location.

          + *

          The DataSync agents that can connect to your Network File System (NFS) + * file server.

          * @public */ OnPremConfig?: OnPremConfig; @@ -4654,8 +4727,8 @@ export interface DescribeTaskResponse { /** *

          The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your * task.

          - *

          For more information, see Monitoring DataSync with - * Amazon CloudWatch.

          + *

          For more information, see Monitoring data transfers with + * CloudWatch Logs.

          * @public */ CloudWatchLogGroupArn?: string; @@ -4741,6 +4814,12 @@ export interface DescribeTaskResponse { * @public */ ScheduleDetails?: TaskScheduleDetails; + + /** + *

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          + * @public + */ + TaskMode?: TaskMode; } /** @@ -4756,6 +4835,81 @@ export interface DescribeTaskExecutionRequest { TaskExecutionArn: string | undefined; } +/** + *

          The number of objects that DataSync fails to prepare, transfer, verify, and + * delete during your task execution.

          + * + *

          Applies only to Enhanced mode + * tasks.

          + *
          + * @public + */ +export interface TaskExecutionFilesFailedDetail { + /** + *

          The number of objects that DataSync fails to prepare during your task + * execution.

          + * @public + */ + Prepare?: number; + + /** + *

          The number of objects that DataSync fails to transfer during your task + * execution.

          + * @public + */ + Transfer?: number; + + /** + *

          The number of objects that DataSync fails to verify during your task + * execution.

          + * @public + */ + Verify?: number; + + /** + *

          The number of objects that DataSync fails to delete during your task + * execution.

          + * @public + */ + Delete?: number; +} + +/** + *

          The number of objects that DataSync finds at your locations.

          + * + *

          Applies only to Enhanced mode + * tasks.

          + *
          + * @public + */ +export interface TaskExecutionFilesListedDetail { + /** + *

          The number of objects that DataSync finds at your source location.

          + *
            + *
          • + *

            With a manifest, DataSync + * lists only what's in your manifest (and not everything at your source location).

            + *
          • + *
          • + *

            With an include filter, DataSync lists only what + * matches the filter at your source location.

            + *
          • + *
          • + *

            With an exclude filter, DataSync lists everything at your source location before applying + * the filter.

            + *
          • + *
          + * @public + */ + AtSource?: number; + + /** + *

          The number of objects that DataSync finds at your destination location. This metric is only applicable if you configure your task to delete data in the destination that isn't in the source.

          + * @public + */ + AtDestinationForDelete?: number; +} + /** * @public * @enum @@ -4799,68 +4953,83 @@ export interface ReportResult { } /** - *

          Describes the detailed result of a TaskExecution operation. This result - * includes the time in milliseconds spent in each phase, the status of the task execution, and - * the errors encountered.

          + *

          Provides detailed information about the result of your DataSync task + * execution.

          * @public */ export interface TaskExecutionResultDetail { /** - *

          The total time in milliseconds that DataSync spent in the PREPARING - * phase.

          + *

          The time in milliseconds that your task execution was in the PREPARING + * step. For more information, see Task + * execution statuses.

          + *

          For Enhanced mode tasks, the value is always 0. For more information, see + * How DataSync prepares your data transfer.

          * @public */ PrepareDuration?: number; /** - *

          The status of the PREPARING phase.

          + *

          The status of the PREPARING step for your task execution. For more + * information, see Task + * execution statuses.

          * @public */ PrepareStatus?: PhaseStatus; /** - *

          The total time in milliseconds that DataSync took to transfer the file from - * the source to the destination location.

          + *

          The time in milliseconds that your task execution ran.

          * @public */ TotalDuration?: number; /** - *

          The total time in milliseconds that DataSync spent in the TRANSFERRING - * phase.

          + *

          The time in milliseconds that your task execution was in the TRANSFERRING + * step. For more information, see Task + * execution statuses.

          + *

          For Enhanced mode tasks, the value is always 0. For more information, see + * How DataSync transfers your data.

          * @public */ TransferDuration?: number; /** - *

          The status of the TRANSFERRING phase.

          + *

          The status of the TRANSFERRING step for your task execution. For more + * information, see Task + * execution statuses.

          * @public */ TransferStatus?: PhaseStatus; /** - *

          The total time in milliseconds that DataSync spent in the VERIFYING - * phase.

          + *

          The time in milliseconds that your task execution was in the VERIFYING + * step. For more information, see Task + * execution statuses.

          + *

          For Enhanced mode tasks, the value is always 0. For more information, see + * How DataSync verifies your data's integrity.

          * @public */ VerifyDuration?: number; /** - *

          The status of the VERIFYING phase.

          + *

          The status of the VERIFYING step for your task execution. For more + * information, see Task + * execution statuses.

          * @public */ VerifyStatus?: PhaseStatus; /** - *

          Errors that DataSync encountered during execution of the task. You can - * use this error code to help troubleshoot issues.

          + *

          An error that DataSync encountered during your task execution. You can use + * this information to help troubleshoot + * issues.

          * @public */ ErrorCode?: string; /** - *

          Detailed description of an error that was encountered during the task execution. You - * can use this information to help troubleshoot issues.

          + *

          The detailed description of an error that DataSync encountered during your + * task execution. You can use this information to help troubleshoot + * issues.

          * @public */ ErrorDetail?: string; @@ -4947,51 +5116,84 @@ export interface DescribeTaskExecutionResponse { StartTime?: Date; /** - *

          The expected number of files, objects, and directories that DataSync will + *

          The number of files, objects, and directories that DataSync expects to * transfer over the network. This value is calculated during the task execution's - * PREPARING phase before the TRANSFERRING phase. The calculation is - * based on comparing the content of the source and destination locations and finding the - * difference that needs to be transferred.

          + * PREPARING + * step before the TRANSFERRING step.

          + *

          How this gets calculated depends primarily on your task’s transfer + * mode configuration:

          + *
            + *
          • + *

            If TranserMode is set to CHANGED - The calculation is based + * on comparing the content of the source and destination locations and determining the + * difference that needs to be transferred. The difference can include:

            + *
              + *
            • + *

              Anything that's added or modified at the source location.

              + *
            • + *
            • + *

              Anything that's in both locations and modified at the destination after an initial + * transfer (unless OverwriteMode is set to NEVER).

              + *
            • + *
            • + *

              + * (Basic task mode only) The number of items that + * DataSync expects to delete (if PreserveDeletedFiles is set to + * REMOVE).

              + *
            • + *
            + *
          • + *
          • + *

            If TranserMode is set to ALL - The calculation is based only + * on the items that DataSync finds at the source location.

            + *
          • + *
          * @public */ EstimatedFilesToTransfer?: number; /** - *

          The estimated physical number of bytes that will transfer over the network.

          + *

          The number of logical bytes that DataSync expects to write to the destination + * location.

          * @public */ EstimatedBytesToTransfer?: number; /** - *

          The actual number of files, objects, and directories that DataSync - * transferred over the network. This value is updated periodically during the task execution's - * TRANSFERRING phase when something is read from the source and sent over the - * network.

          + *

          The number of files, objects, and directories that DataSync actually + * transfers over the network. This value is updated periodically during the task execution's + * TRANSFERRING + * step when something is read from the source and sent over the network.

          *

          If DataSync fails to transfer something, this value can be less than * EstimatedFilesToTransfer. In some cases, this value can also be greater than * EstimatedFilesToTransfer. This element is implementation-specific for some - * location types, so don't use it as an exact indication of what transferred or to monitor your task execution.

          + * location types, so don't use it as an exact indication of what's transferring or to monitor + * your task execution.

          * @public */ FilesTransferred?: number; /** - *

          The number of logical bytes written to the destination location.

          + *

          The number of logical bytes that DataSync actually writes to the destination + * location.

          * @public */ BytesWritten?: number; /** - *

          The total number of bytes that are involved in the transfer. For the number of bytes - * sent over the network, see BytesCompressed.

          + *

          The number of bytes that DataSync sends to the network before compression (if + * compression is possible). For the number of bytes transferred over the network, see BytesCompressed.

          * @public */ BytesTransferred?: number; /** - *

          The physical number of bytes transferred over the network after compression was applied. - * In most cases, this number is less than BytesTransferred unless the data isn't - * compressible.

          + *

          The number of physical bytes that DataSync transfers over the network after + * compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

          + * + *

          Not currently supported with Enhanced mode + * tasks.

          + *
          * @public */ BytesCompressed?: number; @@ -5010,8 +5212,8 @@ export interface DescribeTaskExecutionResponse { TaskReportConfig?: TaskReportConfig; /** - *

          The number of files, objects, and directories that DataSync deleted in your - * destination location. If you don't configure your task to + *

          The number of files, objects, and directories that DataSync actually deletes in + * your destination location. If you don't configure your task to * delete data in the destination that isn't in the source, the value is always * 0.

          * @public @@ -5019,14 +5221,14 @@ export interface DescribeTaskExecutionResponse { FilesDeleted?: number; /** - *

          The number of files, objects, and directories that DataSync skipped during your + *

          The number of files, objects, and directories that DataSync skips during your * transfer.

          * @public */ FilesSkipped?: number; /** - *

          The number of files, objects, and directories that DataSync verified during your + *

          The number of files, objects, and directories that DataSync verifies during your * transfer.

          * *

          When you configure your task to verify only the @@ -5045,13 +5247,56 @@ export interface DescribeTaskExecutionResponse { ReportResult?: ReportResult; /** - *

          The expected number of files, objects, and directories that DataSync will delete - * in your destination location. If you don't configure your task to + *

          The number of files, objects, and directories that DataSync expects to delete in + * your destination location. If you don't configure your task to * delete data in the destination that isn't in the source, the value is always * 0.

          * @public */ EstimatedFilesToDelete?: number; + + /** + *

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          + * @public + */ + TaskMode?: TaskMode; + + /** + *

          The number of objects that DataSync will attempt to transfer after comparing + * your source and destination locations.

          + * + *

          Applies only to Enhanced mode + * tasks.

          + *
          + *

          This metric isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

          + * @public + */ + FilesPrepared?: number; + + /** + *

          The number of + * objects + * that DataSync + * finds + * at your locations.

          + * + *

          Applies only to Enhanced mode + * tasks.

          + *
          + * @public + */ + FilesListed?: TaskExecutionFilesListedDetail; + + /** + *

          The number of objects that DataSync fails to prepare, transfer, verify, and + * delete during your task execution.

          + * + *

          Applies only to Enhanced mode + * tasks.

          + *
          + * @public + */ + FilesFailed?: TaskExecutionFilesFailedDetail; } /** @@ -5485,6 +5730,12 @@ export interface TaskExecutionListEntry { * @public */ Status?: TaskExecutionStatus; + + /** + *

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          + * @public + */ + TaskMode?: TaskMode; } /** @@ -5605,6 +5856,12 @@ export interface TaskListEntry { * @public */ Name?: string; + + /** + *

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          + * @public + */ + TaskMode?: TaskMode; } /** @@ -6026,7 +6283,7 @@ export interface UpdateLocationHdfsRequest { KerberosKrb5Conf?: Uint8Array; /** - *

          The ARNs of the agents that are used to connect to the HDFS cluster.

          + *

          The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

          * @public */ AgentArns?: string[]; @@ -6058,8 +6315,8 @@ export interface UpdateLocationNfsRequest { Subdirectory?: string; /** - *

          The DataSync agents that are connecting to a Network File System (NFS) - * location.

          + *

          The DataSync agents that can connect to your Network File System (NFS) + * file server.

          * @public */ OnPremConfig?: OnPremConfig; @@ -6123,7 +6380,7 @@ export interface UpdateLocationObjectStorageRequest { /** *

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can - * securely connect with your location.

          + * connect with your object storage system.

          * @public */ AgentArns?: string[]; @@ -6211,7 +6468,8 @@ export interface UpdateLocationSmbRequest { Password?: string; /** - *

          Specifies the DataSync agent (or agents) which you want to connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

          + *

          Specifies the DataSync agent (or agents) that can connect to your SMB file + * server. You specify an agent by using its Amazon Resource Name (ARN).

          * @public */ AgentArns?: string[]; @@ -6322,6 +6580,13 @@ export interface UpdateTaskRequest { /** *

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for * monitoring your task.

          + *

          For Enhanced mode tasks, you must use /aws/datasync as your log group + * name. For example:

          + *

          + * arn:aws:logs:us-east-1:111222333444:log-group:/aws/datasync:* + *

          + *

          For more information, see Monitoring data transfers with + * CloudWatch Logs.

          * @public */ CloudWatchLogGroupArn?: string; diff --git a/clients/client-datasync/src/protocols/Aws_json1_1.ts b/clients/client-datasync/src/protocols/Aws_json1_1.ts index 6a83e8905e00..c9bbc82bdf5b 100644 --- a/clients/client-datasync/src/protocols/Aws_json1_1.ts +++ b/clients/client-datasync/src/protocols/Aws_json1_1.ts @@ -3053,6 +3053,9 @@ const de_DescribeTaskExecutionResponse = (output: any, context: __SerdeContext): EstimatedFilesToTransfer: __expectLong, Excludes: _json, FilesDeleted: __expectLong, + FilesFailed: _json, + FilesListed: _json, + FilesPrepared: __expectLong, FilesSkipped: __expectLong, FilesTransferred: __expectLong, FilesVerified: __expectLong, @@ -3064,6 +3067,7 @@ const de_DescribeTaskExecutionResponse = (output: any, context: __SerdeContext): StartTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), Status: __expectString, TaskExecutionArn: __expectString, + TaskMode: __expectString, TaskReportConfig: _json, }) as any; }; @@ -3091,6 +3095,7 @@ const de_DescribeTaskResponse = (output: any, context: __SerdeContext): Describe SourceNetworkInterfaceArns: _json, Status: __expectString, TaskArn: __expectString, + TaskMode: __expectString, TaskReportConfig: _json, }) as any; }; @@ -3401,6 +3406,10 @@ const de_ResourceMetrics = (output: any, context: __SerdeContext): ResourceMetri // de_TagResourceResponse omitted. +// de_TaskExecutionFilesFailedDetail omitted. + +// de_TaskExecutionFilesListedDetail omitted. + // de_TaskExecutionList omitted. // de_TaskExecutionListEntry omitted. diff --git a/codegen/sdk-codegen/aws-models/datasync.json b/codegen/sdk-codegen/aws-models/datasync.json index acc1d89c5aee..06f4c7da7c18 100644 --- a/codegen/sdk-codegen/aws-models/datasync.json +++ b/codegen/sdk-codegen/aws-models/datasync.json @@ -443,7 +443,7 @@ } ], "traits": { - "smithy.api#documentation": "

          Activates an DataSync agent that you've deployed in your storage\n environment. The activation process associates the agent with your Amazon Web Services account.

          \n

          If you haven't deployed an agent yet, see the following topics to learn more:

          \n \n \n

          If you're transferring between Amazon Web Services storage services, you don't need a\n DataSync agent.

          \n
          " + "smithy.api#documentation": "

          Activates an DataSync agent that you deploy in your storage environment.\n The activation process associates the agent with your Amazon Web Services account.

          \n

          If you haven't deployed an agent yet, see Do I need a DataSync agent?\n

          " } }, "com.amazonaws.datasync#CreateAgentRequest": { @@ -452,14 +452,14 @@ "ActivationKey": { "target": "com.amazonaws.datasync#ActivationKey", "traits": { - "smithy.api#documentation": "

          Specifies your DataSync agent's activation key. If you don't have an\n activation key, see Activate your agent.

          ", + "smithy.api#documentation": "

          Specifies your DataSync agent's activation key. If you don't have an\n activation key, see Activating your agent.

          ", "smithy.api#required": {} } }, "AgentName": { "target": "com.amazonaws.datasync#TagValue", "traits": { - "smithy.api#documentation": "

          Specifies a name for your agent. You can see this name in the DataSync\n console.

          " + "smithy.api#documentation": "

          Specifies a name for your agent. We recommend specifying a name that you can\n remember.

          " } }, "Tags": { @@ -471,19 +471,19 @@ "VpcEndpointId": { "target": "com.amazonaws.datasync#VpcEndpointId", "traits": { - "smithy.api#documentation": "

          Specifies the ID of the VPC endpoint that you want your agent to connect to. For example,\n a VPC endpoint ID looks like vpce-01234d5aff67890e1.

          \n \n

          The VPC endpoint you use must include the DataSync service name (for example,\n com.amazonaws.us-east-2.datasync).

          \n
          " + "smithy.api#documentation": "

          Specifies the ID of the VPC service endpoint that you're using. For\n example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

          \n \n

          The VPC service endpoint you use must include the DataSync service name (for\n example, com.amazonaws.us-east-2.datasync).

          \n
          " } }, "SubnetArns": { "target": "com.amazonaws.datasync#PLSubnetArnList", "traits": { - "smithy.api#documentation": "

          Specifies the ARN of the subnet where you want to run your DataSync task when\n using a VPC endpoint. This is the subnet where DataSync creates and manages the\n network\n interfaces for your transfer. You can only specify one ARN.

          " + "smithy.api#documentation": "

          Specifies the ARN of the subnet where your VPC service endpoint is located. You can only\n specify one ARN.

          " } }, "SecurityGroupArns": { "target": "com.amazonaws.datasync#PLSecurityGroupArnList", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the security group that protects your task's\n network\n interfaces when using a virtual private cloud (VPC) endpoint. You can only specify one ARN.

          " + "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the security group that allows traffic between\n your agent and VPC service endpoint. You can only specify one ARN.

          " } } }, @@ -626,20 +626,20 @@ "Subdirectory": { "target": "com.amazonaws.datasync#EfsSubdirectory", "traits": { - "smithy.api#documentation": "

          Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location).\n By default, DataSync uses the root directory, but you can also include\n subdirectories.

          \n \n

          You must specify a value with forward slashes (for example,\n /path/to/folder).

          \n
          " + "smithy.api#documentation": "

          Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location)\n on your file system.

          \n

          By default, DataSync uses the root directory (or access point if you provide one by using\n AccessPointArn). You can also include subdirectories using forward slashes (for\n example, /path/to/folder).

          " } }, "EfsFilesystemArn": { "target": "com.amazonaws.datasync#EfsFilesystemArn", "traits": { - "smithy.api#documentation": "

          Specifies the ARN for the Amazon EFS file system.

          ", + "smithy.api#documentation": "

          Specifies the ARN for your Amazon EFS file system.

          ", "smithy.api#required": {} } }, "Ec2Config": { "target": "com.amazonaws.datasync#Ec2Config", "traits": { - "smithy.api#documentation": "

          Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.

          ", + "smithy.api#documentation": "

          Specifies the subnet and security groups DataSync uses to connect to one of\n your Amazon EFS file system's mount targets.

          ", "smithy.api#required": {} } }, @@ -652,19 +652,19 @@ "AccessPointArn": { "target": "com.amazonaws.datasync#EfsAccessPointArn", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses\n to access the Amazon EFS file system.

          " + "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses\n to mount your Amazon EFS file system.

          \n

          For more information, see Accessing restricted file systems.

          " } }, "FileSystemAccessRoleArn": { "target": "com.amazonaws.datasync#IamRoleArn", "traits": { - "smithy.api#documentation": "

          Specifies an Identity and Access Management (IAM) role that DataSync\n assumes when mounting the Amazon EFS file system.

          " + "smithy.api#documentation": "

          Specifies an Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

          \n

          For information on creating this role, see Creating a DataSync IAM role for file system access.

          " } }, "InTransitEncryption": { "target": "com.amazonaws.datasync#EfsInTransitEncryption", "traits": { - "smithy.api#documentation": "

          Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2\n encryption when it copies data to or from the Amazon EFS file system.

          \n

          If you specify an access point using AccessPointArn or an IAM\n role using FileSystemAccessRoleArn, you must set this parameter to\n TLS1_2.

          " + "smithy.api#documentation": "

          Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2\n encryption when it transfers data to or from your Amazon EFS file system.

          \n

          If you specify an access point using AccessPointArn or an IAM\n role using FileSystemAccessRoleArn, you must set this parameter to\n TLS1_2.

          " } } }, @@ -944,7 +944,7 @@ "SecurityGroupArns": { "target": "com.amazonaws.datasync#Ec2SecurityGroupArnList", "traits": { - "smithy.api#documentation": "

          Specifies the ARNs of the security groups that provide access to your file system's\n preferred subnet.

          \n \n

          If you choose a security group that doesn't allow connections from within itself, do one\n of the following:

          \n
            \n
          • \n

            Configure the security group to allow it to communicate within itself.

            \n
          • \n
          • \n

            Choose a different security group that can communicate with the mount target's\n security group.

            \n
          • \n
          \n
          ", + "smithy.api#documentation": "

          Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

          \n

          The security groups that you specify must be able to communicate with your file system's\n security groups. For information about configuring security groups for file system access, see\n the \n Amazon FSx for Windows File Server User Guide\n .

          \n \n

          If you choose a security group that doesn't allow connections from within itself, do one\n of the following:

          \n
            \n
          • \n

            Configure the security group to allow it to communicate within itself.

            \n
          • \n
          • \n

            Choose a different security group that can communicate with the mount target's\n security group.

            \n
          • \n
          \n
          ", "smithy.api#required": {} } }, @@ -1087,7 +1087,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          The Amazon Resource Names (ARNs) of the agents that are used to connect to the HDFS\n cluster.

          ", + "smithy.api#documentation": "

          The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

          ", "smithy.api#required": {} } }, @@ -1108,7 +1108,7 @@ "LocationArn": { "target": "com.amazonaws.datasync#LocationArn", "traits": { - "smithy.api#documentation": "

          The ARN of the source HDFS cluster location that's created.

          " + "smithy.api#documentation": "

          The ARN of the source HDFS cluster location that you create.

          " } } }, @@ -1156,7 +1156,7 @@ "OnPremConfig": { "target": "com.amazonaws.datasync#OnPremConfig", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the DataSync agent that want to\n connect to your NFS file server.

          \n

          You can specify more than one agent. For more information, see Using multiple\n agents for transfers.

          ", + "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of the DataSync agent that can\n connect to your NFS file server.

          \n

          You can specify more than one agent. For more information, see Using multiple DataSync\n agents.

          ", "smithy.api#required": {} } }, @@ -1263,7 +1263,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can\n securely connect with your location.

          ", + "smithy.api#documentation": "

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can\n connect with your object storage system.

          ", "smithy.api#required": {} } }, @@ -1441,7 +1441,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          Specifies the DataSync agent (or agents) which you want to connect to your SMB\n file server. You specify an agent by using its Amazon Resource Name (ARN).

          ", + "smithy.api#documentation": "

          Specifies the DataSync agent (or agents) that can connect to your SMB file\n server. You specify an agent by using its Amazon Resource Name (ARN).

          ", "smithy.api#required": {} } }, @@ -1518,7 +1518,7 @@ "CloudWatchLogGroupArn": { "target": "com.amazonaws.datasync#LogGroupArn", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for\n monitoring your task.

          " + "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for\n monitoring your task.

          \n

          For Enhanced mode tasks, you don't need to specify anything. DataSync\n automatically sends logs to a CloudWatch log group named /aws/datasync.

          " } }, "Name": { @@ -1554,7 +1554,7 @@ "Includes": { "target": "com.amazonaws.datasync#FilterList", "traits": { - "smithy.api#documentation": "

          Specifies include filters define the files, objects, and folders in your source location\n that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

          " + "smithy.api#documentation": "

          Specifies include filters that define the files, objects, and folders in your source\n location that you want DataSync to transfer. For more information and examples, see\n Specifying what\n DataSync transfers by using filters.

          " } }, "ManifestConfig": { @@ -1568,6 +1568,12 @@ "traits": { "smithy.api#documentation": "

          Specifies how you want to configure a task report, which provides detailed information\n about your DataSync transfer. For more information, see Monitoring your DataSync\n transfers with task reports.

          \n

          When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

          " } + }, + "TaskMode": { + "target": "com.amazonaws.datasync#TaskMode", + "traits": { + "smithy.api#documentation": "

          Specifies one of the following task modes for your data transfer:

          \n
            \n
          • \n

            \n ENHANCED - Transfer virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. Currently available for transfers between Amazon S3 locations.

            \n \n

            To create an Enhanced mode task, the IAM role that you use to call\n the CreateTask operation must have the\n iam:CreateServiceLinkedRole permission.

            \n
            \n
          • \n
          • \n

            \n BASIC (default) - Transfer files or objects between Amazon Web Services\n storage and on-premises, edge, or other cloud storage. DataSync\n quotas apply.

            \n
          • \n
          \n

          For more information, see Understanding task mode differences.

          " + } } }, "traits": { @@ -2064,19 +2070,19 @@ "AccessPointArn": { "target": "com.amazonaws.datasync#EfsAccessPointArn", "traits": { - "smithy.api#documentation": "

          The ARN of the access point that DataSync uses to access the Amazon EFS\n file system.

          " + "smithy.api#documentation": "

          The ARN of the access point that DataSync uses to access the Amazon EFS\n file system.

          \n

          For more information, see Accessing restricted file systems.

          " } }, "FileSystemAccessRoleArn": { "target": "com.amazonaws.datasync#IamRoleArn", "traits": { - "smithy.api#documentation": "

          The Identity and Access Management (IAM) role that DataSync assumes when\n mounting the Amazon EFS file system.

          " + "smithy.api#documentation": "

          The Identity and Access Management (IAM) role that allows DataSync to\n access your Amazon EFS file system.

          \n

          For more information, see Creating a DataSync IAM role for file system access.

          " } }, "InTransitEncryption": { "target": "com.amazonaws.datasync#EfsInTransitEncryption", "traits": { - "smithy.api#documentation": "

          Describes whether DataSync uses Transport Layer Security (TLS) encryption when\n copying data to or from the Amazon EFS file system.

          " + "smithy.api#documentation": "

          Indicates whether DataSync uses Transport Layer Security (TLS) encryption when\n transferring data to or from the Amazon EFS file system.

          " } } }, @@ -2360,7 +2366,7 @@ "SecurityGroupArns": { "target": "com.amazonaws.datasync#Ec2SecurityGroupArnList", "traits": { - "smithy.api#documentation": "

          The ARNs of the security groups that are configured for the FSx for Windows File Server file\n system.

          " + "smithy.api#documentation": "

          The ARNs of the Amazon EC2 security groups that provide access to your file\n system's preferred subnet.

          \n

          For information about configuring security groups for file system access, see the \n Amazon FSx for Windows File Server User Guide\n .

          " } }, "CreationTime": { @@ -3170,7 +3176,7 @@ } ], "traits": { - "smithy.api#documentation": "

          Provides information about an execution of your DataSync task. You can\n use this operation to help monitor the progress of an ongoing transfer or check the results of\n the transfer.

          " + "smithy.api#documentation": "

          Provides information about an execution of your DataSync task. You can\n use this operation to help monitor the progress of an ongoing data transfer or check the\n results of the transfer.

          \n \n

          Some DescribeTaskExecution response elements are only relevant to a\n specific task mode. For information, see Understanding task mode differences and Understanding data\n transfer performance metrics.

          \n
          " } }, "com.amazonaws.datasync#DescribeTaskExecutionRequest": { @@ -3235,42 +3241,42 @@ "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The expected number of files, objects, and directories that DataSync will\n transfer over the network. This value is calculated during the task execution's\n PREPARING phase before the TRANSFERRING phase. The calculation is\n based on comparing the content of the source and destination locations and finding the\n difference that needs to be transferred.

          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync expects to\n transfer over the network. This value is calculated during the task execution's\n PREPARING\n step before the TRANSFERRING step.

          \n

          How this gets calculated depends primarily on your task’s transfer\n mode configuration:

          \n
            \n
          • \n

            If TranserMode is set to CHANGED - The calculation is based\n on comparing the content of the source and destination locations and determining the\n difference that needs to be transferred. The difference can include:

            \n
              \n
            • \n

              Anything that's added or modified at the source location.

              \n
            • \n
            • \n

              Anything that's in both locations and modified at the destination after an initial\n transfer (unless OverwriteMode is set to NEVER).

              \n
            • \n
            • \n

              \n (Basic task mode only) The number of items that\n DataSync expects to delete (if PreserveDeletedFiles is set to\n REMOVE).

              \n
            • \n
            \n
          • \n
          • \n

            If TranserMode is set to ALL - The calculation is based only\n on the items that DataSync finds at the source location.

            \n
          • \n
          " } }, "EstimatedBytesToTransfer": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The estimated physical number of bytes that will transfer over the network.

          " + "smithy.api#documentation": "

          The number of logical bytes that DataSync expects to write to the destination\n location.

          " } }, "FilesTransferred": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The actual number of files, objects, and directories that DataSync\n transferred over the network. This value is updated periodically during the task execution's\n TRANSFERRING phase when something is read from the source and sent over the\n network.

          \n

          If DataSync fails to transfer something, this value can be less than\n EstimatedFilesToTransfer. In some cases, this value can also be greater than\n EstimatedFilesToTransfer. This element is implementation-specific for some\n location types, so don't use it as an exact indication of what transferred or to monitor your task execution.

          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync actually\n transfers over the network. This value is updated periodically during the task execution's\n TRANSFERRING\n step when something is read from the source and sent over the network.

          \n

          If DataSync fails to transfer something, this value can be less than\n EstimatedFilesToTransfer. In some cases, this value can also be greater than\n EstimatedFilesToTransfer. This element is implementation-specific for some\n location types, so don't use it as an exact indication of what's transferring or to monitor\n your task execution.

          " } }, "BytesWritten": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The number of logical bytes written to the destination location.

          " + "smithy.api#documentation": "

          The number of logical bytes that DataSync actually writes to the destination\n location.

          " } }, "BytesTransferred": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The total number of bytes that are involved in the transfer. For the number of bytes\n sent over the network, see BytesCompressed.

          " + "smithy.api#documentation": "

          The number of bytes that DataSync sends to the network before compression (if\n compression is possible). For the number of bytes transferred over the network, see BytesCompressed.

          " } }, "BytesCompressed": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The physical number of bytes transferred over the network after compression was applied.\n In most cases, this number is less than BytesTransferred unless the data isn't\n compressible.

          " + "smithy.api#documentation": "

          The number of physical bytes that DataSync transfers over the network after\n compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

          \n \n

          Not currently supported with Enhanced mode\n tasks.

          \n
          " } }, "Result": { @@ -3289,21 +3295,21 @@ "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync deleted in your\n destination location. If you don't configure your task to\n delete data in the destination that isn't in the source, the value is always\n 0.

          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync actually deletes in\n your destination location. If you don't configure your task to\n delete data in the destination that isn't in the source, the value is always\n 0.

          " } }, "FilesSkipped": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync skipped during your\n transfer.

          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync skips during your\n transfer.

          " } }, "FilesVerified": { "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync verified during your\n transfer.

          \n \n

          When you configure your task to verify only the\n data that's transferred, DataSync doesn't verify directories in some\n situations or files that fail to transfer.

          \n
          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync verifies during your\n transfer.

          \n \n

          When you configure your task to verify only the\n data that's transferred, DataSync doesn't verify directories in some\n situations or files that fail to transfer.

          \n
          " } }, "ReportResult": { @@ -3316,7 +3322,32 @@ "target": "com.amazonaws.datasync#long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

          The expected number of files, objects, and directories that DataSync will delete\n in your destination location. If you don't configure your task to\n delete data in the destination that isn't in the source, the value is always\n 0.

          " + "smithy.api#documentation": "

          The number of files, objects, and directories that DataSync expects to delete in\n your destination location. If you don't configure your task to\n delete data in the destination that isn't in the source, the value is always\n 0.

          " + } + }, + "TaskMode": { + "target": "com.amazonaws.datasync#TaskMode", + "traits": { + "smithy.api#documentation": "

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          " + } + }, + "FilesPrepared": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync will attempt to transfer after comparing\n your source and destination locations.

          \n \n

          Applies only to Enhanced mode\n tasks.

          \n
          \n

          This metric isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

          " + } + }, + "FilesListed": { + "target": "com.amazonaws.datasync#TaskExecutionFilesListedDetail", + "traits": { + "smithy.api#documentation": "

          The number of\n objects\n that DataSync\n finds\n at your locations.

          \n \n

          Applies only to Enhanced mode\n tasks.

          \n
          " + } + }, + "FilesFailed": { + "target": "com.amazonaws.datasync#TaskExecutionFilesFailedDetail", + "traits": { + "smithy.api#documentation": "

          The number of objects that DataSync fails to prepare, transfer, verify, and\n delete during your task execution.

          \n \n

          Applies only to Enhanced mode\n tasks.

          \n
          " } } }, @@ -3383,7 +3414,7 @@ "CloudWatchLogGroupArn": { "target": "com.amazonaws.datasync#LogGroupArn", "traits": { - "smithy.api#documentation": "

          The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your\n task.

          \n

          For more information, see Monitoring DataSync with\n Amazon CloudWatch.

          " + "smithy.api#documentation": "

          The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your\n task.

          \n

          For more information, see Monitoring data transfers with\n CloudWatch Logs.

          " } }, "SourceNetworkInterfaceArns": { @@ -3457,6 +3488,12 @@ "traits": { "smithy.api#documentation": "

          The details about your task schedule.

          " } + }, + "TaskMode": { + "target": "com.amazonaws.datasync#TaskMode", + "traits": { + "smithy.api#documentation": "

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          " + } } }, "traits": { @@ -3699,7 +3736,7 @@ } }, "traits": { - "smithy.api#documentation": "

          The subnet and security groups that DataSync uses to access your Amazon EFS file system.

          " + "smithy.api#documentation": "

          The subnet and security groups that DataSync uses to connect to one of your\n Amazon EFS file system's mount targets.

          " } }, "com.amazonaws.datasync#Ec2SecurityGroupArn": { @@ -6902,13 +6939,13 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          The Amazon Resource Names (ARNs) of the agents connecting to a transfer\n location.

          ", + "smithy.api#documentation": "

          The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.

          \n

          You can specify more than one agent. For more information, see Using multiple DataSync\n agents.

          ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

          The DataSync agents that are connecting to a Network File System (NFS)\n location.

          " + "smithy.api#documentation": "

          The DataSync agents that can connect to your Network File System (NFS)\n file server.

          " } }, "com.amazonaws.datasync#Operator": { @@ -6982,7 +7019,7 @@ "VerifyMode": { "target": "com.amazonaws.datasync#VerifyMode", "traits": { - "smithy.api#documentation": "

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

          \n
            \n
          • \n

            \n ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates\n the checksum of transferred files and metadata at the source location. At the end of the\n transfer, DataSync then compares this checksum to the checksum calculated on\n those files at the destination.

            \n

            We recommend this option when transferring to S3 Glacier Flexible Retrieval\n or S3 Glacier Deep Archive storage classes. For more information, see\n Storage\n class considerations with Amazon S3 locations.

            \n
          • \n
          • \n

            \n POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer,\n DataSync scans the entire source and destination to verify that both locations\n are fully synchronized.

            \n

            If you use a manifest, DataSync only scans and\n verifies what's listed in the manifest.

            \n

            You can't use this option when transferring to S3 Glacier Flexible Retrieval\n or S3 Glacier Deep Archive storage classes. For more information, see\n Storage\n class considerations with Amazon S3 locations.

            \n
          • \n
          • \n

            \n NONE - DataSync doesn't run additional verification at the\n end of the transfer. All data transmissions are still integrity-checked with checksum\n verification during the transfer.

            \n
          • \n
          " + "smithy.api#documentation": "

          Specifies if and how DataSync checks the integrity of your data at the end of\n your transfer.

          \n
            \n
          • \n

            \n ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates\n the checksum of transferred data (including metadata) at the source location. At the end\n of the transfer, DataSync then compares this checksum to the checksum calculated\n on that data at the destination.

            \n \n

            This is the default option for Enhanced mode\n tasks.

            \n
            \n

            We recommend this option when transferring to S3 Glacier Flexible Retrieval\n or S3 Glacier Deep Archive storage classes. For more information, see\n Storage\n class considerations with Amazon S3 locations.

            \n
          • \n
          • \n

            \n POINT_IN_TIME_CONSISTENT - At the end of the transfer, DataSync checks the entire source and destination to verify that both locations are\n fully synchronized.

            \n \n

            The is the default option for Basic mode tasks and\n isn't currently supported with Enhanced mode tasks.

            \n
            \n

            If you use a manifest, DataSync only scans and\n verifies what's listed in the manifest.

            \n

            You can't use this option when transferring to S3 Glacier Flexible Retrieval\n or S3 Glacier Deep Archive storage classes. For more information, see\n Storage\n class considerations with Amazon S3 locations.

            \n
          • \n
          • \n

            \n NONE - DataSync performs data integrity checks only during\n your transfer. Unlike other options, there's no additional verification at the end of your\n transfer.

            \n
          • \n
          " } }, "OverwriteMode": { @@ -6994,13 +7031,13 @@ "Atime": { "target": "com.amazonaws.datasync#Atime", "traits": { - "smithy.api#documentation": "

          Specifies whether to preserve metadata indicating the last time a file was read or\n written to.

          \n \n

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

          \n
          \n
            \n
          • \n

            \n BEST_EFFORT (default) - DataSync attempts to preserve the\n original Atime attribute on all source files (that is, the version before the\n PREPARING phase of the task execution). This option is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores Atime.

            \n
          • \n
          \n \n

          If Atime is set to BEST_EFFORT, Mtime must be set\n to PRESERVE.

          \n

          If Atime is set to NONE, Mtime must also be\n NONE.

          \n
          " + "smithy.api#documentation": "

          Specifies whether to preserve metadata indicating the last time a file was read or\n written to.

          \n \n

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

          \n
          \n
            \n
          • \n

            \n BEST_EFFORT (default) - DataSync attempts to preserve the\n original Atime attribute on all source files (that is, the version before the\n PREPARING steps of the task execution). This option is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores Atime.

            \n
          • \n
          \n \n

          If Atime is set to BEST_EFFORT, Mtime must be set\n to PRESERVE.

          \n

          If Atime is set to NONE, Mtime must also be\n NONE.

          \n
          " } }, "Mtime": { "target": "com.amazonaws.datasync#Mtime", "traits": { - "smithy.api#documentation": "

          Specifies whether to preserve metadata indicating the last time that a file was written\n to before the PREPARING phase of your task execution. This option is required\n when you need to run the a task more than once.

          \n
            \n
          • \n

            \n PRESERVE (default) - Preserves original Mtime, which is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores Mtime.

            \n
          • \n
          \n \n

          If Mtime is set to PRESERVE, Atime must be set to\n BEST_EFFORT.

          \n

          If Mtime is set to NONE, Atime must also be set\n to NONE.

          \n
          " + "smithy.api#documentation": "

          Specifies whether to preserve metadata indicating the last time that a file was written\n to before the PREPARING step of your task execution. This option is required when\n you need to run the a task more than once.

          \n
            \n
          • \n

            \n PRESERVE (default) - Preserves original Mtime, which is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores Mtime.

            \n
          • \n
          \n \n

          If Mtime is set to PRESERVE, Atime must be set to\n BEST_EFFORT.

          \n

          If Mtime is set to NONE, Atime must also be set\n to NONE.

          \n
          " } }, "Uid": { @@ -7012,7 +7049,7 @@ "Gid": { "target": "com.amazonaws.datasync#Gid", "traits": { - "smithy.api#documentation": "

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

          \n
            \n
          • \n

            \n INT_VALUE (default) - Preserves the integer value of user ID (UID) and\n GID, which is recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores UID and GID.

            \n
          • \n
          \n

          For more information, see Metadata copied by DataSync.

          " + "smithy.api#documentation": "

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

          \n
            \n
          • \n

            \n INT_VALUE (default) - Preserves the integer value of user ID (UID) and\n GID, which is recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores UID and GID.

            \n
          • \n
          \n

          For more information, see Understanding how DataSync handles file and object metadata.

          " } }, "PreserveDeletedFiles": { @@ -7030,13 +7067,13 @@ "PosixPermissions": { "target": "com.amazonaws.datasync#PosixPermissions", "traits": { - "smithy.api#documentation": "

          Specifies which users or groups can access a file for a specific purpose such as reading,\n writing, or execution of the file.

          \n

          For more information, see Metadata copied by DataSync.

          \n
            \n
          • \n

            \n PRESERVE (default) - Preserves POSIX-style permissions, which is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores POSIX-style permissions.

            \n
          • \n
          \n \n

          DataSync can preserve extant permissions of a source location.

          \n
          " + "smithy.api#documentation": "

          Specifies which users or groups can access a file for a specific purpose such as reading,\n writing, or execution of the file.

          \n

          For more information, see Understanding how DataSync handles file and object metadata.

          \n
            \n
          • \n

            \n PRESERVE (default) - Preserves POSIX-style permissions, which is\n recommended.

            \n
          • \n
          • \n

            \n NONE - Ignores POSIX-style permissions.

            \n
          • \n
          \n \n

          DataSync can preserve extant permissions of a source location.

          \n
          " } }, "BytesPerSecond": { "target": "com.amazonaws.datasync#BytesPerSecond", "traits": { - "smithy.api#documentation": "

          Limits the bandwidth used by a DataSync task. For example, if you want\n DataSync to use a maximum of 1 MB, set this value to 1048576\n (=1024*1024).

          " + "smithy.api#documentation": "

          Limits the bandwidth used by a DataSync task. For example, if you want\n DataSync to use a maximum of 1 MB, set this value to 1048576\n (=1024*1024).

          \n \n

          Not applicable to Enhanced mode\n tasks.

          \n
          " } }, "TaskQueueing": { @@ -7054,13 +7091,13 @@ "TransferMode": { "target": "com.amazonaws.datasync#TransferMode", "traits": { - "smithy.api#documentation": "

          Determines whether DataSync transfers only the data and metadata that differ\n between the source and the destination location or transfers all the content from the source\n (without comparing what's in the destination).

          \n
            \n
          • \n

            \n CHANGED (default) - DataSync copies only data or metadata that\n is new or different content from the source location to the destination location.

            \n
          • \n
          • \n

            \n ALL - DataSync copies everything in the source to the\n destination without comparing differences between the locations.

            \n
          • \n
          " + "smithy.api#documentation": "

          Specifies whether DataSync transfers only the data (including metadata) that\n differs between locations following an initial copy or transfers all data every time you run\n the task. If you're planning on recurring transfers, you might only want to transfer what's\n changed since your previous task execution.

          \n
            \n
          • \n

            \n CHANGED (default) - After your initial full transfer, DataSync\n copies only the data and metadata that differs between the source and destination\n location.

            \n
          • \n
          • \n

            \n ALL - DataSync copies everything in the source to the\n destination without comparing differences between the locations.

            \n
          • \n
          " } }, "SecurityDescriptorCopyFlags": { "target": "com.amazonaws.datasync#SmbSecurityDescriptorCopyFlags", "traits": { - "smithy.api#documentation": "

          Specifies which components of the SMB security descriptor are copied from source to\n destination objects.

          \n

          This value is only used for transfers between SMB and Amazon FSx for Windows File Server\n locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata.

          \n
            \n
          • \n

            \n OWNER_DACL (default) - For each copied object, DataSync copies\n the following metadata:

            \n
              \n
            • \n

              The object owner.

              \n
            • \n
            • \n

              NTFS discretionary access control lists (DACLs), which determine whether to grant\n access to an object.

              \n

              DataSync won't copy NTFS system access control lists (SACLs) with this\n option.

              \n
            • \n
            \n
          • \n
          • \n

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

            \n
              \n
            • \n

              The object owner.

              \n
            • \n
            • \n

              NTFS discretionary access control lists (DACLs), which determine whether to grant\n access to an object.

              \n
            • \n
            • \n

              SACLs, which are used by administrators to log attempts to access a secured\n object.

              \n

              Copying SACLs requires granting additional permissions to the Windows user that\n DataSync uses to access your SMB location. For information about choosing\n a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending\n on the type of location in your transfer).

              \n
            • \n
            \n
          • \n
          • \n

            \n NONE - None of the SMB security descriptor components are copied.\n Destination objects are owned by the user that was provided for accessing the destination\n location. DACLs and SACLs are set based on the destination server’s configuration.

            \n
          • \n
          " + "smithy.api#documentation": "

          Specifies which components of the SMB security descriptor are copied from source to\n destination objects.

          \n

          This value is only used for transfers between SMB and Amazon FSx for Windows File Server\n locations or between two FSx for Windows File Server locations. For more information, see Understanding how DataSync handles file and object metadata.

          \n
            \n
          • \n

            \n OWNER_DACL (default) - For each copied object, DataSync copies\n the following metadata:

            \n
              \n
            • \n

              The object owner.

              \n
            • \n
            • \n

              NTFS discretionary access control lists (DACLs), which determine whether to grant\n access to an object.

              \n

              DataSync won't copy NTFS system access control lists (SACLs) with this\n option.

              \n
            • \n
            \n
          • \n
          • \n

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

            \n
              \n
            • \n

              The object owner.

              \n
            • \n
            • \n

              NTFS discretionary access control lists (DACLs), which determine whether to grant\n access to an object.

              \n
            • \n
            • \n

              SACLs, which are used by administrators to log attempts to access a secured\n object.

              \n

              Copying SACLs requires granting additional permissions to the Windows user that\n DataSync uses to access your SMB location. For information about choosing\n a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending\n on the type of location in your transfer).

              \n
            • \n
            \n
          • \n
          • \n

            \n NONE - None of the SMB security descriptor components are copied.\n Destination objects are owned by the user that was provided for accessing the destination\n location. DACLs and SACLs are set based on the destination server’s configuration.

            \n
          • \n
          " } }, "ObjectTags": { @@ -7253,7 +7290,7 @@ "PrivateLinkEndpoint": { "target": "com.amazonaws.datasync#Endpoint", "traits": { - "smithy.api#documentation": "

          Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that\n your agent connects to.

          " + "smithy.api#documentation": "

          Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that\n your agent connects to.

          " } }, "SubnetArns": { @@ -7696,9 +7733,9 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 156 + "max": 268 }, - "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$" + "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:[a-z\\-0-9]*:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\\-.]{1,63}$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3-outposts:[a-z\\-0-9]+:[0-9]{12}:outpost[/:][a-zA-Z0-9\\-]{1,63}[/:]accesspoint[/:][a-zA-Z0-9\\-]{1,63}$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::[a-zA-Z0-9.\\-_]{1,255}$" } }, "com.amazonaws.datasync#S3Config": { @@ -8122,7 +8159,7 @@ } ], "traits": { - "smithy.api#documentation": "

          Starts an DataSync transfer task. For each task, you can only run one task\n execution at a time.

          \n

          There are several phases to a task execution. For more information, see Task execution statuses.

          \n \n

          If you're planning to transfer data to or from an Amazon S3 location, review\n how\n DataSync can affect your S3 request charges and the DataSync pricing page before\n you begin.

          \n
          " + "smithy.api#documentation": "

          Starts an DataSync transfer task. For each task, you can only run one task\n execution at a time.

          \n

          There are several steps to a task execution. For more information, see Task execution statuses.

          \n \n

          If you're planning to transfer data to or from an Amazon S3 location, review\n how\n DataSync can affect your S3 request charges and the DataSync pricing page before\n you begin.

          \n
          " } }, "com.amazonaws.datasync#StartTaskExecutionRequest": { @@ -8436,6 +8473,64 @@ "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$" } }, + "com.amazonaws.datasync#TaskExecutionFilesFailedDetail": { + "type": "structure", + "members": { + "Prepare": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync fails to prepare during your task\n execution.

          " + } + }, + "Transfer": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync fails to transfer during your task\n execution.

          " + } + }, + "Verify": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync fails to verify during your task\n execution.

          " + } + }, + "Delete": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync fails to delete during your task\n execution.

          " + } + } + }, + "traits": { + "smithy.api#documentation": "

          The number of objects that DataSync fails to prepare, transfer, verify, and\n delete during your task execution.

          \n \n

          Applies only to Enhanced mode\n tasks.

          \n
          " + } + }, + "com.amazonaws.datasync#TaskExecutionFilesListedDetail": { + "type": "structure", + "members": { + "AtSource": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync finds at your source location.

          \n
            \n
          • \n

            With a manifest, DataSync\n lists only what's in your manifest (and not everything at your source location).

            \n
          • \n
          • \n

            With an include filter, DataSync lists only what\n matches the filter at your source location.

            \n
          • \n
          • \n

            With an exclude filter, DataSync lists everything at your source location before applying\n the filter.

            \n
          • \n
          " + } + }, + "AtDestinationForDelete": { + "target": "com.amazonaws.datasync#long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

          The number of objects that DataSync finds at your destination location. This metric is only applicable if you configure your task to delete data in the destination that isn't in the source.

          " + } + } + }, + "traits": { + "smithy.api#documentation": "

          The number of objects that DataSync finds at your locations.

          \n \n

          Applies only to Enhanced mode\n tasks.

          \n
          " + } + }, "com.amazonaws.datasync#TaskExecutionList": { "type": "list", "member": { @@ -8456,6 +8551,12 @@ "traits": { "smithy.api#documentation": "

          The status of a task execution. For more information, see Task execution statuses.

          " } + }, + "TaskMode": { + "target": "com.amazonaws.datasync#TaskMode", + "traits": { + "smithy.api#documentation": "

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          " + } } }, "traits": { @@ -8468,60 +8569,60 @@ "PrepareDuration": { "target": "com.amazonaws.datasync#Duration", "traits": { - "smithy.api#documentation": "

          The total time in milliseconds that DataSync spent in the PREPARING\n phase.

          " + "smithy.api#documentation": "

          The time in milliseconds that your task execution was in the PREPARING\n step. For more information, see Task\n execution statuses.

          \n

          For Enhanced mode tasks, the value is always 0. For more information, see\n How DataSync prepares your data transfer.

          " } }, "PrepareStatus": { "target": "com.amazonaws.datasync#PhaseStatus", "traits": { - "smithy.api#documentation": "

          The status of the PREPARING phase.

          " + "smithy.api#documentation": "

          The status of the PREPARING step for your task execution. For more\n information, see Task\n execution statuses.

          " } }, "TotalDuration": { "target": "com.amazonaws.datasync#Duration", "traits": { - "smithy.api#documentation": "

          The total time in milliseconds that DataSync took to transfer the file from\n the source to the destination location.

          " + "smithy.api#documentation": "

          The time in milliseconds that your task execution ran.

          " } }, "TransferDuration": { "target": "com.amazonaws.datasync#Duration", "traits": { - "smithy.api#documentation": "

          The total time in milliseconds that DataSync spent in the TRANSFERRING\n phase.

          " + "smithy.api#documentation": "

          The time in milliseconds that your task execution was in the TRANSFERRING\n step. For more information, see Task\n execution statuses.

          \n

          For Enhanced mode tasks, the value is always 0. For more information, see\n How DataSync transfers your data.

          " } }, "TransferStatus": { "target": "com.amazonaws.datasync#PhaseStatus", "traits": { - "smithy.api#documentation": "

          The status of the TRANSFERRING phase.

          " + "smithy.api#documentation": "

          The status of the TRANSFERRING step for your task execution. For more\n information, see Task\n execution statuses.

          " } }, "VerifyDuration": { "target": "com.amazonaws.datasync#Duration", "traits": { - "smithy.api#documentation": "

          The total time in milliseconds that DataSync spent in the VERIFYING\n phase.

          " + "smithy.api#documentation": "

          The time in milliseconds that your task execution was in the VERIFYING\n step. For more information, see Task\n execution statuses.

          \n

          For Enhanced mode tasks, the value is always 0. For more information, see\n How DataSync verifies your data's integrity.

          " } }, "VerifyStatus": { "target": "com.amazonaws.datasync#PhaseStatus", "traits": { - "smithy.api#documentation": "

          The status of the VERIFYING phase.

          " + "smithy.api#documentation": "

          The status of the VERIFYING step for your task execution. For more\n information, see Task\n execution statuses.

          " } }, "ErrorCode": { "target": "com.amazonaws.datasync#string", "traits": { - "smithy.api#documentation": "

          Errors that DataSync encountered during execution of the task. You can\n use this error code to help troubleshoot issues.

          " + "smithy.api#documentation": "

          An error that DataSync encountered during your task execution. You can use\n this information to help troubleshoot\n issues.

          " } }, "ErrorDetail": { "target": "com.amazonaws.datasync#string", "traits": { - "smithy.api#documentation": "

          Detailed description of an error that was encountered during the task execution. You\n can use this information to help troubleshoot issues.

          " + "smithy.api#documentation": "

          The detailed description of an error that DataSync encountered during your\n task execution. You can use this information to help troubleshoot\n issues.

          " } } }, "traits": { - "smithy.api#documentation": "

          Describes the detailed result of a TaskExecution operation. This result\n includes the time in milliseconds spent in each phase, the status of the task execution, and\n the errors encountered.

          " + "smithy.api#documentation": "

          Provides detailed information about the result of your DataSync task\n execution.

          " } }, "com.amazonaws.datasync#TaskExecutionStatus": { @@ -8655,12 +8756,35 @@ "traits": { "smithy.api#documentation": "

          The name of the task.

          " } + }, + "TaskMode": { + "target": "com.amazonaws.datasync#TaskMode", + "traits": { + "smithy.api#documentation": "

          The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

          " + } } }, "traits": { "smithy.api#documentation": "

          Represents a single entry in a list of tasks. TaskListEntry returns an\n array that contains a list of tasks when the ListTasks operation is called. A\n task includes the source and destination file systems to sync and the options to use for the\n tasks.

          " } }, + "com.amazonaws.datasync#TaskMode": { + "type": "enum", + "members": { + "BASIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BASIC" + } + }, + "ENHANCED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENHANCED" + } + } + } + }, "com.amazonaws.datasync#TaskQueueing": { "type": "enum", "members": { @@ -8722,7 +8846,7 @@ "ScheduleExpression": { "target": "com.amazonaws.datasync#ScheduleExpressionCron", "traits": { - "smithy.api#documentation": "

          Specifies your task schedule by using a cron expression in UTC time. For information about\n cron expression syntax, see the \n Amazon EventBridge User\n Guide\n .

          ", + "smithy.api#documentation": "

          Specifies your task schedule by using a cron or rate expression.

          \n

          Use cron expressions for task schedules that run on a specific time and day. For example,\n the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday\n of every month:

          \n

          \n cron(0 8 * * 3#1)\n

          \n

          Use rate expressions for task schedules that run on a regular interval. For example, the\n following rate expression creates a task schedule that runs every 12 hours:

          \n

          \n rate(12 hours)\n

          \n

          For information about cron and rate expression syntax, see the \n Amazon EventBridge User Guide\n .

          ", "smithy.api#required": {} } }, @@ -9210,7 +9334,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          The ARNs of the agents that are used to connect to the HDFS cluster.

          " + "smithy.api#documentation": "

          The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

          " } } }, @@ -9342,7 +9466,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can\n securely connect with your location.

          " + "smithy.api#documentation": "

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can\n connect with your object storage system.

          " } }, "ServerCertificate": { @@ -9420,7 +9544,7 @@ "AgentArns": { "target": "com.amazonaws.datasync#AgentArnList", "traits": { - "smithy.api#documentation": "

          Specifies the DataSync agent (or agents) which you want to connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

          " + "smithy.api#documentation": "

          Specifies the DataSync agent (or agents) that can connect to your SMB file\n server. You specify an agent by using its Amazon Resource Name (ARN).

          " } }, "MountOptions": { @@ -9615,7 +9739,7 @@ "CloudWatchLogGroupArn": { "target": "com.amazonaws.datasync#LogGroupArn", "traits": { - "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for\n monitoring your task.

          " + "smithy.api#documentation": "

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for\n monitoring your task.

          \n

          For Enhanced mode tasks, you must use /aws/datasync as your log group\n name. For example:

          \n

          \n arn:aws:logs:us-east-1:111222333444:log-group:/aws/datasync:*\n

          \n

          For more information, see Monitoring data transfers with\n CloudWatch Logs.

          " } }, "Includes": {