import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateDataRepositoryTaskRequest, CreateDataRepositoryTaskResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateDataRepositoryTaskCommand}. */ export interface CreateDataRepositoryTaskCommandInput extends CreateDataRepositoryTaskRequest { } /** * @public * * The output of {@link CreateDataRepositoryTaskCommand}. */ export interface CreateDataRepositoryTaskCommandOutput extends CreateDataRepositoryTaskResponse, __MetadataBearer { } declare const CreateDataRepositoryTaskCommand_base: { new (input: CreateDataRepositoryTaskCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateDataRepositoryTaskCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates an Amazon FSx for Lustre data repository task. * A CreateDataRepositoryTask operation will fail if a data * repository is not linked to the FSx file system.

*

You use import and export data repository tasks to perform bulk operations between your * FSx for Lustre file system and its linked data repositories. An example of a data repository * task is exporting any data and metadata changes, including POSIX metadata, to files, directories, * and symbolic links (symlinks) from your FSx file system to a linked data repository.

*

You use release data repository tasks to release data from your file system for files that * are exported to S3. The metadata of released files remains on the file system so users or applications * can still access released files by reading the files again, which will restore data from * Amazon S3 to the FSx for Lustre file system.

*

To learn more about data repository tasks, see * Data Repository Tasks. * To learn more about linking a data repository to your file system, see * Linking your file system to an S3 bucket.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { FSxClient, CreateDataRepositoryTaskCommand } from "@aws-sdk/client-fsx"; // ES Modules import * // const { FSxClient, CreateDataRepositoryTaskCommand } = require("@aws-sdk/client-fsx"); // CommonJS import * // import type { FSxClientConfig } from "@aws-sdk/client-fsx"; * const config = {}; // type is FSxClientConfig * const client = new FSxClient(config); * const input = { // CreateDataRepositoryTaskRequest * Type: "EXPORT_TO_REPOSITORY" || "IMPORT_METADATA_FROM_REPOSITORY" || "RELEASE_DATA_FROM_FILESYSTEM" || "AUTO_RELEASE_DATA", // required * Paths: [ // DataRepositoryTaskPaths * "STRING_VALUE", * ], * FileSystemId: "STRING_VALUE", // required * Report: { // CompletionReport * Enabled: true || false, // required * Path: "STRING_VALUE", * Format: "REPORT_CSV_20191124", * Scope: "FAILED_FILES_ONLY", * }, * ClientRequestToken: "STRING_VALUE", * Tags: [ // Tags * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * CapacityToRelease: Number("long"), * ReleaseConfiguration: { // ReleaseConfiguration * DurationSinceLastAccess: { // DurationSinceLastAccess * Unit: "DAYS", * Value: Number("long"), * }, * }, * }; * const command = new CreateDataRepositoryTaskCommand(input); * const response = await client.send(command); * // { // CreateDataRepositoryTaskResponse * // DataRepositoryTask: { // DataRepositoryTask * // TaskId: "STRING_VALUE", // required * // Lifecycle: "PENDING" || "EXECUTING" || "FAILED" || "SUCCEEDED" || "CANCELED" || "CANCELING", // required * // Type: "EXPORT_TO_REPOSITORY" || "IMPORT_METADATA_FROM_REPOSITORY" || "RELEASE_DATA_FROM_FILESYSTEM" || "AUTO_RELEASE_DATA", // required * // CreationTime: new Date("TIMESTAMP"), // required * // StartTime: new Date("TIMESTAMP"), * // EndTime: new Date("TIMESTAMP"), * // ResourceARN: "STRING_VALUE", * // Tags: [ // Tags * // { // Tag * // Key: "STRING_VALUE", // required * // Value: "STRING_VALUE", // required * // }, * // ], * // FileSystemId: "STRING_VALUE", * // Paths: [ // DataRepositoryTaskPaths * // "STRING_VALUE", * // ], * // FailureDetails: { // DataRepositoryTaskFailureDetails * // Message: "STRING_VALUE", * // }, * // Status: { // DataRepositoryTaskStatus * // TotalCount: Number("long"), * // SucceededCount: Number("long"), * // FailedCount: Number("long"), * // LastUpdatedTime: new Date("TIMESTAMP"), * // ReleasedCapacity: Number("long"), * // }, * // Report: { // CompletionReport * // Enabled: true || false, // required * // Path: "STRING_VALUE", * // Format: "REPORT_CSV_20191124", * // Scope: "FAILED_FILES_ONLY", * // }, * // CapacityToRelease: Number("long"), * // FileCacheId: "STRING_VALUE", * // ReleaseConfiguration: { // ReleaseConfiguration * // DurationSinceLastAccess: { // DurationSinceLastAccess * // Unit: "DAYS", * // Value: Number("long"), * // }, * // }, * // }, * // }; * * ``` * * @param CreateDataRepositoryTaskCommandInput - {@link CreateDataRepositoryTaskCommandInput} * @returns {@link CreateDataRepositoryTaskCommandOutput} * @see {@link CreateDataRepositoryTaskCommandInput} for command's `input` shape. * @see {@link CreateDataRepositoryTaskCommandOutput} for command's `response` shape. * @see {@link FSxClientResolvedConfig | config} for FSxClient's `config` shape. * * @throws {@link BadRequest} (client fault) *

A generic error indicating a failure with a client request.

* * @throws {@link DataRepositoryTaskExecuting} (client fault) *

An existing data repository task is currently executing on the file system. * Wait until the existing task has completed, then create the new task.

* * @throws {@link FileSystemNotFound} (client fault) *

No Amazon FSx file systems were found based upon supplied parameters.

* * @throws {@link IncompatibleParameterError} (client fault) *

The error returned when a second request is received with the same client request * token but different parameters settings. A client request token should always uniquely * identify a single request.

* * @throws {@link InternalServerError} (server fault) *

A generic error indicating a server-side failure.

* * @throws {@link ServiceLimitExceeded} (client fault) *

An error indicating that a particular service limit was exceeded. You can increase * some service limits by contacting Amazon Web Services Support.

* * @throws {@link UnsupportedOperation} (client fault) *

The requested operation is not supported for this resource or API.

* * @throws {@link FSxServiceException} *

Base exception class for all service exceptions from FSx service.

* * * @public */ export declare class CreateDataRepositoryTaskCommand extends CreateDataRepositoryTaskCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDataRepositoryTaskRequest; output: CreateDataRepositoryTaskResponse; }; sdk: { input: CreateDataRepositoryTaskCommandInput; output: CreateDataRepositoryTaskCommandOutput; }; }; }