diff --git a/clients/client-datasync/src/commands/CreateTaskCommand.ts b/clients/client-datasync/src/commands/CreateTaskCommand.ts index 67ea2145870a..f8c868e731fd 100644 --- a/clients/client-datasync/src/commands/CreateTaskCommand.ts +++ b/clients/client-datasync/src/commands/CreateTaskCommand.ts @@ -27,11 +27,9 @@ export interface CreateTaskCommandInput extends CreateTaskRequest {} export interface CreateTaskCommandOutput extends CreateTaskResponse, __MetadataBearer {} /** - *

Configures a transfer task, which defines where and how DataSync moves your + *

Configures a task, which defines where and how DataSync transfers your * data.

- *

A task includes a source location, destination location, and the options for how and - * when you want to transfer your data (such as bandwidth limits, scheduling, among other - * options).

+ *

A task includes a source location, destination location, and transfer options (such as bandwidth limits, scheduling, and more).

* *

If you're planning to transfer data to or from an Amazon S3 location, review * how @@ -74,6 +72,7 @@ export interface CreateTaskCommandOutput extends CreateTaskResponse, __MetadataB * ], * Schedule: { // TaskSchedule * ScheduleExpression: "STRING_VALUE", // required + * Status: "ENABLED" || "DISABLED", * }, * Tags: [ // InputTagList * { // TagListEntry diff --git a/clients/client-datasync/src/commands/DescribeTaskCommand.ts b/clients/client-datasync/src/commands/DescribeTaskCommand.ts index be0127949cbb..5acb9e74bdfe 100644 --- a/clients/client-datasync/src/commands/DescribeTaskCommand.ts +++ b/clients/client-datasync/src/commands/DescribeTaskCommand.ts @@ -27,7 +27,7 @@ export interface DescribeTaskCommandInput extends DescribeTaskRequest {} export interface DescribeTaskCommandOutput extends DescribeTaskResponse, __MetadataBearer {} /** - *

Provides information about an DataSync transfer task.

+ *

Provides information about a task, which defines where and how DataSync transfers your data.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -78,6 +78,7 @@ export interface DescribeTaskCommandOutput extends DescribeTaskResponse, __Metad * // ], * // Schedule: { // TaskSchedule * // ScheduleExpression: "STRING_VALUE", // required + * // Status: "ENABLED" || "DISABLED", * // }, * // ErrorCode: "STRING_VALUE", * // ErrorDetail: "STRING_VALUE", @@ -126,6 +127,11 @@ export interface DescribeTaskCommandOutput extends DescribeTaskResponse, __Metad * // }, * // }, * // }, + * // ScheduleDetails: { // TaskScheduleDetails + * // StatusUpdateTime: new Date("TIMESTAMP"), + * // DisabledReason: "STRING_VALUE", + * // DisabledBy: "USER" || "SERVICE", + * // }, * // }; * * ``` diff --git a/clients/client-datasync/src/commands/UpdateTaskCommand.ts b/clients/client-datasync/src/commands/UpdateTaskCommand.ts index e3ac54cce36d..9da7f1e445ac 100644 --- a/clients/client-datasync/src/commands/UpdateTaskCommand.ts +++ b/clients/client-datasync/src/commands/UpdateTaskCommand.ts @@ -27,7 +27,7 @@ export interface UpdateTaskCommandInput extends UpdateTaskRequest {} export interface UpdateTaskCommandOutput extends UpdateTaskResponse, __MetadataBearer {} /** - *

Updates the configuration of an DataSync transfer task.

+ *

Updates the configuration of a task, which defines where and how DataSync transfers your data.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -61,6 +61,7 @@ export interface UpdateTaskCommandOutput extends UpdateTaskResponse, __MetadataB * ], * Schedule: { // TaskSchedule * ScheduleExpression: "STRING_VALUE", // required + * Status: "ENABLED" || "DISABLED", * }, * Name: "STRING_VALUE", * CloudWatchLogGroupArn: "STRING_VALUE", diff --git a/clients/client-datasync/src/models/models_0.ts b/clients/client-datasync/src/models/models_0.ts index 33ca286133e4..6dc43120b474 100644 --- a/clients/client-datasync/src/models/models_0.ts +++ b/clients/client-datasync/src/models/models_0.ts @@ -211,9 +211,6 @@ export class InvalidRequestException extends __BaseException { export interface Platform { /** *

The version of the DataSync agent.

- * - *

On December 7, 2023, we discontinued version 1 DataSync agents. Check the DataSync console to see if you have affected agents. If you do, replace those agents or delete them if they aren't in use. If you need more help, contact Amazon Web Services Support.

- *
* @public */ Version?: string; @@ -2061,8 +2058,8 @@ export type VerifyMode = (typeof VerifyMode)[keyof typeof VerifyMode]; *

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You * also can specify how to verify data integrity, set bandwidth limits for your task, among other * options.

- *

Each option has a default value. Unless you need to, you don't have to configure any of - * these options before starting your task.

+ *

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

+ *

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

* @public */ export interface Options { @@ -2086,6 +2083,8 @@ export interface Options { * POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer, * DataSync scans the entire source and destination to verify that both locations * are fully synchronized.

+ *

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

*

You can't use this option when transferring to S3 Glacier Flexible Retrieval * or S3 Glacier Deep Archive storage classes. For more information, see * Storage @@ -2410,18 +2409,44 @@ export interface Options { } /** - *

Specifies the schedule you want your task to use for repeated executions. For more - * information, see Schedule Expressions for - * Rules.

+ * @public + * @enum + */ +export const ScheduleStatus = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type ScheduleStatus = (typeof ScheduleStatus)[keyof typeof ScheduleStatus]; + +/** + *

Configures your DataSync task to run on a schedule + * (at a minimum interval of 1 hour).

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

A cron expression that specifies when DataSync initiates a scheduled - * transfer from a source to a destination location.

+ *

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

* @public */ ScheduleExpression: string | undefined; + + /** + *

Specifies whether to enable or disable your task schedule. Your schedule is enabled by + * default, but there can be situations where you need to disable it. For example, + * you might need to pause a recurring transfer or fix an issue with your task or perform maintenance on your storage system.

+ *

DataSync might disable your schedule automatically if your task fails repeatedly + * with the same error. For more information, see TaskScheduleDetails.

+ * @public + */ + Status?: ScheduleStatus; } /** @@ -2621,59 +2646,53 @@ export interface TaskReportConfig { */ export interface CreateTaskRequest { /** - *

The Amazon Resource Name (ARN) of the source location for the task.

+ *

Specifies the ARN of your transfer's source location.

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

The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's location. - *

+ *

Specifies the ARN of your transfer's destination location.

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

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to - * monitor and log events in the task.

+ *

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

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

The name of a task. This value is a text reference that is used to identify the task in - * the console.

+ *

Specifies the name of your task.

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

Specifies the configuration options for a task. Some options include preserving file or - * object metadata and verifying data integrity.

- *

You can also override these options before starting an individual run of a task (also - * known as a task execution). For more information, see StartTaskExecution.

+ *

Specifies your task's settings, such as preserving file metadata, verifying data + * integrity, among other options.

* @public */ Options?: Options; /** - *

Specifies a list of filter rules that exclude specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

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

* @public */ Excludes?: FilterRule[]; /** - *

Specifies a schedule used to periodically transfer files from a source to a destination - * location. The schedule should be specified in UTC time. For more information, see Scheduling your + *

Specifies a schedule for when you want your task to run. For more information, see Scheduling your * task.

* @public */ Schedule?: TaskSchedule; /** - *

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) - * representing the task.

+ *

Specifies the tags that you want to apply to your task.

*

* Tags are key-value pairs that help you manage, filter, and search * for your DataSync resources.

@@ -2682,8 +2701,8 @@ export interface CreateTaskRequest { Tags?: TagListEntry[]; /** - *

Specifies a list of filter rules that include specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

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.

* @public */ Includes?: FilterRule[]; @@ -4506,12 +4525,68 @@ export interface DescribeStorageSystemResourcesResponse { */ export interface DescribeTaskRequest { /** - *

Specifies the Amazon Resource Name (ARN) of the transfer task.

+ *

Specifies the Amazon Resource Name (ARN) of the transfer task that you want information + * about.

* @public */ TaskArn: string | undefined; } +/** + * @public + * @enum + */ +export const ScheduleDisabledBy = { + SERVICE: "SERVICE", + USER: "USER", +} as const; + +/** + * @public + */ +export type ScheduleDisabledBy = (typeof ScheduleDisabledBy)[keyof typeof ScheduleDisabledBy]; + +/** + *

Provides information about your DataSync + * task schedule.

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

Indicates the last time the status of your task schedule changed. For example, if DataSync automatically disables your schedule because of a repeated error, you can see + * when the schedule was disabled.

+ * @public + */ + StatusUpdateTime?: Date; + + /** + *

Provides a reason if the task schedule is disabled.

+ *

If your schedule is disabled by USER, you see a Manually disabled by user. message.

+ *

If your schedule is disabled by SERVICE, you see an error message to help you + * understand why the task keeps failing. For information on resolving DataSync errors, + * see Troubleshooting issues with DataSync transfers.

+ * @public + */ + DisabledReason?: string; + + /** + *

Indicates how your task schedule was disabled.

+ * + * @public + */ + DisabledBy?: ScheduleDisabledBy; +} + /** * @public * @enum @@ -4535,104 +4610,95 @@ export type TaskStatus = (typeof TaskStatus)[keyof typeof TaskStatus]; */ export interface DescribeTaskResponse { /** - *

The Amazon Resource Name (ARN) of the task that was described.

+ *

The ARN of your task.

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

The status of the task that was described.

- *

For detailed information about task execution statuses, see Understanding - * Task Statuses in the DataSync User Guide.

+ *

The status of your task. For information about what each status means, see Task statuses.

* @public */ Status?: TaskStatus; /** - *

The name of the task that was described.

+ *

The name of your task.

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

The Amazon Resource Name (ARN) of the task execution that is transferring - * files.

+ *

The ARN of the most recent task execution.

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

The Amazon Resource Name (ARN) of the source file system's location.

+ *

The ARN of your transfer's source location.

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

The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's - * location.

+ *

The ARN of your transfer's destination location.

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

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to - * monitor and log events in the task.

- *

For more information on these groups, see Working with Log Groups and Log - * Streams in the Amazon CloudWatch User Guide.

+ *

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

+ *

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

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

The Amazon Resource Names (ARNs) of the network interfaces created for your source - * location. For more information, see Network - * interface requirements.

+ *

The ARNs of the network + * interfaces that DataSync created for your source location.

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

The Amazon Resource Names (ARNs) of the network interfaces created for your destination - * location. For more information, see Network - * interface requirements.

+ *

The ARNs of the network + * interfaces that DataSync created for your destination location.

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

The configuration options that control the behavior of the - * StartTaskExecution operation. Some options include preserving file or object - * metadata and verifying data integrity.

- *

You can override these options for each task execution. For more information, see - * StartTaskExecution.

+ *

The task's settings. For example, what file metadata gets preserved, how data integrity + * gets verified at the end of your transfer, bandwidth limits, among other options.

* @public */ Options?: Options; /** - *

A list of filter rules that exclude specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

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

* @public */ Excludes?: FilterRule[]; /** - *

The schedule used to periodically transfer files from a source to a destination - * location.

+ *

The schedule for when you want your task to run. For more information, see Scheduling your + * task.

* @public */ Schedule?: TaskSchedule; /** - *

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

+ *

If there's an issue with your task, you can use the error code to help you troubleshoot + * the problem. For more information, see Troubleshooting issues with DataSync transfers.

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

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

+ *

If there's an issue with your task, you can use the error details to help you + * troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

* @public */ ErrorDetail?: string; @@ -4644,25 +4710,31 @@ export interface DescribeTaskResponse { CreationTime?: Date; /** - *

A list of filter rules that include specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

The 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[]; /** - *

The configuration of the manifest that lists the files or objects to transfer. For more - * information, see Specifying what DataSync transfers by using a manifest.

+ *

The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

* @public */ ManifestConfig?: ManifestConfig; /** - *

The configuration of your task report, which provides detailed information about for your - * DataSync transfer. For more information, see Creating a task report.

+ *

The configuration of your task report, which provides detailed information about your + * DataSync transfer. For more information, see Monitoring your DataSync + * transfers with task reports.

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

The details about your task schedule.

+ * @public + */ + ScheduleDetails?: TaskScheduleDetails; } /** @@ -4834,8 +4906,8 @@ export interface DescribeTaskExecutionResponse { *

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You * also can specify how to verify data integrity, set bandwidth limits for your task, among other * options.

- *

Each option has a default value. Unless you need to, you don't have to configure any of - * these options before starting your task.

+ *

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

+ *

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

* @public */ Options?: Options; @@ -5627,8 +5699,8 @@ export interface StartTaskExecutionRequest { *

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You * also can specify how to verify data integrity, set bandwidth limits for your task, among other * options.

- *

Each option has a default value. Unless you need to, you don't have to configure any of - * these options before starting your task.

+ *

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

+ *

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

* @public */ OverrideOptions?: Options; @@ -6186,7 +6258,7 @@ export interface UpdateStorageSystemResponse {} */ export interface UpdateTaskRequest { /** - *

The Amazon Resource Name (ARN) of the resource name of the task to update.

+ *

Specifies the ARN of the task that you want to update.

* @public */ TaskArn: string | undefined; @@ -6195,44 +6267,42 @@ export interface UpdateTaskRequest { *

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You * also can specify how to verify data integrity, set bandwidth limits for your task, among other * options.

- *

Each option has a default value. Unless you need to, you don't have to configure any of - * these options before starting your task.

+ *

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

+ *

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

* @public */ Options?: Options; /** - *

Specifies a list of filter rules that exclude specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

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

* @public */ Excludes?: FilterRule[]; /** - *

Specifies a schedule used to periodically transfer files from a source to a destination - * location. You can configure your task to execute hourly, daily, weekly or on specific days of - * the week. You control when in the day or hour you want the task to execute. The time you - * specify is UTC time. For more information, see Scheduling your task.

+ *

Specifies a schedule for when you want your task to run. For more information, see Scheduling your + * task.

* @public */ Schedule?: TaskSchedule; /** - *

The name of the task to update.

+ *

Specifies the name of your task.

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

The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch log - * group.

+ *

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

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

Specifies a list of filter rules that include specific data during your transfer. For more - * information and examples, see Filtering data transferred by DataSync.

+ *

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.

* @public */ Includes?: FilterRule[]; @@ -6276,8 +6346,8 @@ export interface UpdateTaskExecutionRequest { *

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You * also can specify how to verify data integrity, set bandwidth limits for your task, among other * options.

- *

Each option has a default value. Unless you need to, you don't have to configure any of - * these options before starting your task.

+ *

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

+ *

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

* @public */ Options: Options | undefined; diff --git a/clients/client-datasync/src/protocols/Aws_json1_1.ts b/clients/client-datasync/src/protocols/Aws_json1_1.ts index b52884af05df..ab58c0a4859e 100644 --- a/clients/client-datasync/src/protocols/Aws_json1_1.ts +++ b/clients/client-datasync/src/protocols/Aws_json1_1.ts @@ -283,6 +283,7 @@ import { TaskFilter, TaskReportConfig, TaskSchedule, + TaskScheduleDetails, Throughput, UntagResourceRequest, UpdateAgentRequest, @@ -3085,6 +3086,7 @@ const de_DescribeTaskResponse = (output: any, context: __SerdeContext): Describe Name: __expectString, Options: _json, Schedule: _json, + ScheduleDetails: (_: any) => de_TaskScheduleDetails(_, context), SourceLocationArn: __expectString, SourceNetworkInterfaceArns: _json, Status: __expectString, @@ -3413,6 +3415,17 @@ const de_ResourceMetrics = (output: any, context: __SerdeContext): ResourceMetri // de_TaskSchedule omitted. +/** + * deserializeAws_json1_1TaskScheduleDetails + */ +const de_TaskScheduleDetails = (output: any, context: __SerdeContext): TaskScheduleDetails => { + return take(output, { + DisabledBy: __expectString, + DisabledReason: __expectString, + StatusUpdateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }) as any; +}; + /** * deserializeAws_json1_1Throughput */ diff --git a/codegen/sdk-codegen/aws-models/datasync.json b/codegen/sdk-codegen/aws-models/datasync.json index a03636040f4d..ed1af5fe0b7c 100644 --- a/codegen/sdk-codegen/aws-models/datasync.json +++ b/codegen/sdk-codegen/aws-models/datasync.json @@ -1495,7 +1495,7 @@ } ], "traits": { - "smithy.api#documentation": "

Configures a transfer task, which defines where and how DataSync moves your\n data.

\n

A task includes a source location, destination location, and the options for how and\n when you want to transfer your data (such as bandwidth limits, scheduling, among other\n options).

\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": "

Configures a task, which defines where and how DataSync transfers your\n data.

\n

A task includes a source location, destination location, and transfer options (such as bandwidth limits, scheduling, and more).

\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#CreateTaskRequest": { @@ -1504,57 +1504,57 @@ "SourceLocationArn": { "target": "com.amazonaws.datasync#LocationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source location for the task.

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

Specifies the ARN of your transfer's source location.

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

The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's location.\n

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

Specifies the ARN of your transfer's destination location.

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

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to\n monitor and log events in the task.

" + "smithy.api#documentation": "

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

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

The name of a task. This value is a text reference that is used to identify the task in\n the console.

" + "smithy.api#documentation": "

Specifies the name of your task.

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

Specifies the configuration options for a task. Some options include preserving file or\n object metadata and verifying data integrity.

\n

You can also override these options before starting an individual run of a task (also\n known as a task execution). For more information, see StartTaskExecution.

" + "smithy.api#documentation": "

Specifies your task's settings, such as preserving file metadata, verifying data\n integrity, among other options.

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

Specifies a list of filter rules that exclude specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "smithy.api#documentation": "

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

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

Specifies a schedule used to periodically transfer files from a source to a destination\n location. The schedule should be specified in UTC time. For more information, see Scheduling your\n task.

" + "smithy.api#documentation": "

Specifies a schedule for when you want your task to run. For more information, see Scheduling your\n task.

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

Specifies the tags that you want to apply to the Amazon Resource Name (ARN)\n representing the task.

\n

\n Tags are key-value pairs that help you manage, filter, and search\n for your DataSync resources.

" + "smithy.api#documentation": "

Specifies the tags that you want to apply to your task.

\n

\n Tags are key-value pairs that help you manage, filter, and search\n for your DataSync resources.

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

Specifies a list of filter rules that include specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "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.

" } }, "ManifestConfig": { @@ -3150,7 +3150,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides information about an DataSync transfer task.

" + "smithy.api#documentation": "

Provides information about a task, which defines where and how DataSync transfers your data.

" } }, "com.amazonaws.datasync#DescribeTaskExecution": { @@ -3331,7 +3331,7 @@ "TaskArn": { "target": "com.amazonaws.datasync#TaskArn", "traits": { - "smithy.api#documentation": "

Specifies the Amazon Resource Name (ARN) of the transfer task.

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

Specifies the Amazon Resource Name (ARN) of the transfer task that you want information\n about.

", "smithy.api#required": {} } } @@ -3347,85 +3347,85 @@ "TaskArn": { "target": "com.amazonaws.datasync#TaskArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task that was described.

" + "smithy.api#documentation": "

The ARN of your task.

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

The status of the task that was described.

\n

For detailed information about task execution statuses, see Understanding\n Task Statuses in the DataSync User Guide.

" + "smithy.api#documentation": "

The status of your task. For information about what each status means, see Task statuses.

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

The name of the task that was described.

" + "smithy.api#documentation": "

The name of your task.

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

The Amazon Resource Name (ARN) of the task execution that is transferring\n files.

" + "smithy.api#documentation": "

The ARN of the most recent task execution.

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

The Amazon Resource Name (ARN) of the source file system's location.

" + "smithy.api#documentation": "

The ARN of your transfer's source location.

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

The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's\n location.

" + "smithy.api#documentation": "

The ARN of your transfer's destination location.

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

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to\n monitor and log events in the task.

\n

For more information on these groups, see Working with Log Groups and Log\n Streams in the Amazon CloudWatch User Guide.

" + "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.

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

The Amazon Resource Names (ARNs) of the network interfaces created for your source\n location. For more information, see Network\n interface requirements.

" + "smithy.api#documentation": "

The ARNs of the network\n interfaces that DataSync created for your source location.

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

The Amazon Resource Names (ARNs) of the network interfaces created for your destination\n location. For more information, see Network\n interface requirements.

" + "smithy.api#documentation": "

The ARNs of the network\n interfaces that DataSync created for your destination location.

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

The configuration options that control the behavior of the\n StartTaskExecution operation. Some options include preserving file or object\n metadata and verifying data integrity.

\n

You can override these options for each task execution. For more information, see\n StartTaskExecution.

" + "smithy.api#documentation": "

The task's settings. For example, what file metadata gets preserved, how data integrity\n gets verified at the end of your transfer, bandwidth limits, among other options.

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

A list of filter rules that exclude specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "smithy.api#documentation": "

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

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

The schedule used to periodically transfer files from a source to a destination\n location.

" + "smithy.api#documentation": "

The schedule for when you want your task to run. For more information, see Scheduling your\n task.

" } }, "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": "

If there's an issue with your task, you can use the error code to help you troubleshoot\n the problem. For more information, see Troubleshooting issues with DataSync transfers.

" } }, "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": "

If there's an issue with your task, you can use the error details to help you\n troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

" } }, "CreationTime": { @@ -3437,19 +3437,25 @@ "Includes": { "target": "com.amazonaws.datasync#FilterList", "traits": { - "smithy.api#documentation": "

A list of filter rules that include specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "smithy.api#documentation": "

The include filters that 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.

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

The configuration of the manifest that lists the files or objects to transfer. For more\n information, see Specifying what DataSync transfers by using a manifest.

" + "smithy.api#documentation": "

The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

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

The configuration of your task report, which provides detailed information about for your\n DataSync transfer. For more information, see Creating a task report.

" + "smithy.api#documentation": "

The configuration of your task report, which provides detailed information about your\n DataSync transfer. For more information, see Monitoring your DataSync\n transfers with task reports.

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

The details about your task schedule.

" } } }, @@ -6976,7 +6982,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 " + "smithy.api#documentation": "

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

\n " } }, "OverwriteMode": { @@ -7065,7 +7071,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You\n also can specify how to verify data integrity, set bandwidth limits for your task, among other\n options.

\n

Each option has a default value. Unless you need to, you don't have to configure any of\n these options before starting your task.

" + "smithy.api#documentation": "

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You\n also can specify how to verify data integrity, set bandwidth limits for your task, among other\n options.

\n

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

\n

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

" } }, "com.amazonaws.datasync#OutputTagList": { @@ -7176,7 +7182,7 @@ "Version": { "target": "com.amazonaws.datasync#AgentVersion", "traits": { - "smithy.api#documentation": "

The version of the DataSync agent.

\n \n

On December 7, 2023, we discontinued version 1 DataSync agents. Check the DataSync console to see if you have affected agents. If you do, replace those agents or delete them if they aren't in use. If you need more help, contact Amazon Web Services Support.

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

The version of the DataSync agent.

" } } }, @@ -7818,6 +7824,33 @@ "smithy.api#pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" } }, + "com.amazonaws.datasync#ScheduleDisabledBy": { + "type": "enum", + "members": { + "USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER" + } + }, + "SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE" + } + } + } + }, + "com.amazonaws.datasync#ScheduleDisabledReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 8192 + }, + "smithy.api#pattern": "^[\\w\\s.,'?!:;\\/=|<>()-]*$" + } + }, "com.amazonaws.datasync#ScheduleExpressionCron": { "type": "string", "traits": { @@ -7828,6 +7861,23 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$" } }, + "com.amazonaws.datasync#ScheduleStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.datasync#SecretsManagerArn": { "type": "string", "traits": { @@ -8350,7 +8400,7 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 1, + "min": 0, "max": 256 }, "smithy.api#pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$" @@ -8666,13 +8716,45 @@ "ScheduleExpression": { "target": "com.amazonaws.datasync#ScheduleExpressionCron", "traits": { - "smithy.api#documentation": "

A cron expression that specifies when DataSync initiates a scheduled\n transfer from a source to a destination location.

", + "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#required": {} } + }, + "Status": { + "target": "com.amazonaws.datasync#ScheduleStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether to enable or disable your task schedule. Your schedule is enabled by\n default, but there can be situations where you need to disable it. For example,\n you might need to pause a recurring transfer or fix an issue with your task or perform maintenance on your storage system.

\n

DataSync might disable your schedule automatically if your task fails repeatedly\n with the same error. For more information, see TaskScheduleDetails.

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

Configures your DataSync task to run on a schedule\n (at a minimum interval of 1 hour).

" + } + }, + "com.amazonaws.datasync#TaskScheduleDetails": { + "type": "structure", + "members": { + "StatusUpdateTime": { + "target": "com.amazonaws.datasync#Time", + "traits": { + "smithy.api#documentation": "

Indicates the last time the status of your task schedule changed. For example, if DataSync automatically disables your schedule because of a repeated error, you can see\n when the schedule was disabled.

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

Provides a reason if the task schedule is disabled.

\n

If your schedule is disabled by USER, you see a Manually disabled by user. message.

\n

If your schedule is disabled by SERVICE, you see an error message to help you\n understand why the task keeps failing. For information on resolving DataSync errors,\n see Troubleshooting issues with DataSync transfers.

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

Indicates how your task schedule was disabled.

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

Specifies the schedule you want your task to use for repeated executions. For more\n information, see Schedule Expressions for\n Rules.

" + "smithy.api#documentation": "

Provides information about your DataSync\n task schedule.

" } }, "com.amazonaws.datasync#TaskStatus": { @@ -9442,7 +9524,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the configuration of an DataSync transfer task.

" + "smithy.api#documentation": "

Updates the configuration of a task, which defines where and how DataSync transfers your data.

" } }, "com.amazonaws.datasync#UpdateTaskExecution": { @@ -9499,7 +9581,7 @@ "TaskArn": { "target": "com.amazonaws.datasync#TaskArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource name of the task to update.

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

Specifies the ARN of the task that you want to update.

", "smithy.api#required": {} } }, @@ -9509,31 +9591,31 @@ "Excludes": { "target": "com.amazonaws.datasync#FilterList", "traits": { - "smithy.api#documentation": "

Specifies a list of filter rules that exclude specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "smithy.api#documentation": "

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

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

Specifies a schedule used to periodically transfer files from a source to a destination\n location. You can configure your task to execute hourly, daily, weekly or on specific days of\n the week. You control when in the day or hour you want the task to execute. The time you\n specify is UTC time. For more information, see Scheduling your task.

" + "smithy.api#documentation": "

Specifies a schedule for when you want your task to run. For more information, see Scheduling your\n task.

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

The name of the task to update.

" + "smithy.api#documentation": "

Specifies the name of your task.

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

The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch log\n group.

" + "smithy.api#documentation": "

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

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

Specifies a list of filter rules that include specific data during your transfer. For more\n information and examples, see Filtering data transferred by DataSync.

" + "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.

" } }, "ManifestConfig": {