import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ExportTask } from "../models/models_0"; import type { StartExportTaskMessage } from "../models/models_1"; import type { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link StartExportTaskCommand}. */ export interface StartExportTaskCommandInput extends StartExportTaskMessage { } /** * @public * * The output of {@link StartExportTaskCommand}. */ export interface StartExportTaskCommandOutput extends ExportTask, __MetadataBearer { } declare const StartExportTaskCommand_base: { new (input: StartExportTaskCommandInput): import("@smithy/core/client").CommandImpl; new (input: StartExportTaskCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Starts an export of DB snapshot or DB cluster data to Amazon S3. The provided IAM role must have access to the S3 bucket.

You can't export snapshot data from RDS Custom DB instances. For more information, see Supported Regions and DB engines for exporting snapshots to S3 in Amazon RDS.

For more information on exporting DB snapshot data, see Exporting DB snapshot data to Amazon S3 in the Amazon RDS User Guide or Exporting DB cluster snapshot data to Amazon S3 in the Amazon Aurora User Guide.

For more information on exporting DB cluster data, see Exporting DB cluster data to Amazon S3 in the Amazon Aurora User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, StartExportTaskCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, StartExportTaskCommand } = require("@aws-sdk/client-rds"); // CommonJS import * // import type { RDSClientConfig } from "@aws-sdk/client-rds"; * const config = {}; // type is RDSClientConfig * const client = new RDSClient(config); * const input = { // StartExportTaskMessage * ExportTaskIdentifier: "STRING_VALUE", // required * SourceArn: "STRING_VALUE", // required * S3BucketName: "STRING_VALUE", // required * IamRoleArn: "STRING_VALUE", // required * KmsKeyId: "STRING_VALUE", // required * S3Prefix: "STRING_VALUE", * ExportOnly: [ // StringList * "STRING_VALUE", * ], * }; * const command = new StartExportTaskCommand(input); * const response = await client.send(command); * // { // ExportTask * // ExportTaskIdentifier: "STRING_VALUE", * // SourceArn: "STRING_VALUE", * // ExportOnly: [ // StringList * // "STRING_VALUE", * // ], * // SnapshotTime: new Date("TIMESTAMP"), * // TaskStartTime: new Date("TIMESTAMP"), * // TaskEndTime: new Date("TIMESTAMP"), * // S3Bucket: "STRING_VALUE", * // S3Prefix: "STRING_VALUE", * // IamRoleArn: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // Status: "STRING_VALUE", * // PercentProgress: Number("int"), * // TotalExtractedDataInGB: Number("int"), * // FailureCause: "STRING_VALUE", * // WarningMessage: "STRING_VALUE", * // SourceType: "SNAPSHOT" || "CLUSTER", * // }; * * ``` * * @param StartExportTaskCommandInput - {@link StartExportTaskCommandInput} * @returns {@link StartExportTaskCommandOutput} * @see {@link StartExportTaskCommandInput} for command's `input` shape. * @see {@link StartExportTaskCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link DBClusterNotFoundFault} (client fault) *

DBClusterIdentifier doesn't refer to an existing DB cluster.

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

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

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

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

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

You can't start an export task that's already running.

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

The IAM role requires additional permissions to export to an Amazon S3 bucket.

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

The IAM role is missing for exporting to an Amazon S3 bucket.

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

The export is invalid for exporting to an Amazon S3 bucket.

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

The state of the export snapshot is invalid for exporting to an Amazon S3 bucket.

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

The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

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

An error occurred accessing an Amazon Web Services KMS key.

* * @throws {@link RDSServiceException} *

Base exception class for all service exceptions from RDS service.

* * * @example To export a snapshot to Amazon S3 * ```javascript * // The following example exports a DB snapshot named db5-snapshot-test to the Amazon S3 bucket named mybucket. * const input = { * ExportTaskIdentifier: "my-s3-export", * IamRoleArn: "arn:aws:iam::123456789012:role/service-role/ExportRole", * KmsKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", * S3BucketName: "mybucket", * SourceArn: "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test" * }; * const command = new StartExportTaskCommand(input); * const response = await client.send(command); * /* response is * { * ExportTaskIdentifier: "my-s3-export", * IamRoleArn: "arn:aws:iam::123456789012:role/service-role/ExportRole", * KmsKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", * PercentProgress: 0, * S3Bucket: "mybucket", * SnapshotTime: "2020-03-27T20:48:42.023Z", * SourceArn: "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", * Status: "STARTING", * TotalExtractedDataInGB: 0 * } * *\/ * ``` * * @public */ export declare class StartExportTaskCommand extends StartExportTaskCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: StartExportTaskMessage; output: ExportTask; }; sdk: { input: StartExportTaskCommandInput; output: StartExportTaskCommandOutput; }; }; }