import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateWorkflowRequest, CreateWorkflowResponse } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateWorkflowCommand}. */ export interface CreateWorkflowCommandInput extends CreateWorkflowRequest { } /** * @public * * The output of {@link CreateWorkflowCommand}. */ export interface CreateWorkflowCommandOutput extends CreateWorkflowResponse, __MetadataBearer { } declare const CreateWorkflowCommand_base: { new (input: CreateWorkflowCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateWorkflowCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Allows you to create a workflow with specified steps and step details the workflow invokes after file transfer completes. After creating a workflow, you can associate the workflow created with any transfer servers by specifying the workflow-details field in CreateServer and UpdateServer operations.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { TransferClient, CreateWorkflowCommand } from "@aws-sdk/client-transfer"; // ES Modules import * // const { TransferClient, CreateWorkflowCommand } = require("@aws-sdk/client-transfer"); // CommonJS import * // import type { TransferClientConfig } from "@aws-sdk/client-transfer"; * const config = {}; // type is TransferClientConfig * const client = new TransferClient(config); * const input = { // CreateWorkflowRequest * Description: "STRING_VALUE", * Steps: [ // WorkflowSteps // required * { // WorkflowStep * Type: "COPY" || "CUSTOM" || "TAG" || "DELETE" || "DECRYPT", * CopyStepDetails: { // CopyStepDetails * Name: "STRING_VALUE", * DestinationFileLocation: { // InputFileLocation * S3FileLocation: { // S3InputFileLocation * Bucket: "STRING_VALUE", * Key: "STRING_VALUE", * }, * EfsFileLocation: { // EfsFileLocation * FileSystemId: "STRING_VALUE", * Path: "STRING_VALUE", * }, * }, * OverwriteExisting: "TRUE" || "FALSE", * SourceFileLocation: "STRING_VALUE", * }, * CustomStepDetails: { // CustomStepDetails * Name: "STRING_VALUE", * Target: "STRING_VALUE", * TimeoutSeconds: Number("int"), * SourceFileLocation: "STRING_VALUE", * }, * DeleteStepDetails: { // DeleteStepDetails * Name: "STRING_VALUE", * SourceFileLocation: "STRING_VALUE", * }, * TagStepDetails: { // TagStepDetails * Name: "STRING_VALUE", * Tags: [ // S3Tags * { // S3Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * SourceFileLocation: "STRING_VALUE", * }, * DecryptStepDetails: { // DecryptStepDetails * Name: "STRING_VALUE", * Type: "PGP", // required * SourceFileLocation: "STRING_VALUE", * OverwriteExisting: "TRUE" || "FALSE", * DestinationFileLocation: { * S3FileLocation: { * Bucket: "STRING_VALUE", * Key: "STRING_VALUE", * }, * EfsFileLocation: { * FileSystemId: "STRING_VALUE", * Path: "STRING_VALUE", * }, * }, * }, * }, * ], * OnExceptionSteps: [ * { * Type: "COPY" || "CUSTOM" || "TAG" || "DELETE" || "DECRYPT", * CopyStepDetails: { * Name: "STRING_VALUE", * DestinationFileLocation: { * S3FileLocation: { * Bucket: "STRING_VALUE", * Key: "STRING_VALUE", * }, * EfsFileLocation: { * FileSystemId: "STRING_VALUE", * Path: "STRING_VALUE", * }, * }, * OverwriteExisting: "TRUE" || "FALSE", * SourceFileLocation: "STRING_VALUE", * }, * CustomStepDetails: { * Name: "STRING_VALUE", * Target: "STRING_VALUE", * TimeoutSeconds: Number("int"), * SourceFileLocation: "STRING_VALUE", * }, * DeleteStepDetails: { * Name: "STRING_VALUE", * SourceFileLocation: "STRING_VALUE", * }, * TagStepDetails: { * Name: "STRING_VALUE", * Tags: [ * { * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * SourceFileLocation: "STRING_VALUE", * }, * DecryptStepDetails: { * Name: "STRING_VALUE", * Type: "PGP", // required * SourceFileLocation: "STRING_VALUE", * OverwriteExisting: "TRUE" || "FALSE", * DestinationFileLocation: { * S3FileLocation: { * Bucket: "STRING_VALUE", * Key: "STRING_VALUE", * }, * EfsFileLocation: { * FileSystemId: "STRING_VALUE", * Path: "STRING_VALUE", * }, * }, * }, * }, * ], * Tags: [ // Tags * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateWorkflowCommand(input); * const response = await client.send(command); * // { // CreateWorkflowResponse * // WorkflowId: "STRING_VALUE", // required * // }; * * ``` * * @param CreateWorkflowCommandInput - {@link CreateWorkflowCommandInput} * @returns {@link CreateWorkflowCommandOutput} * @see {@link CreateWorkflowCommandInput} for command's `input` shape. * @see {@link CreateWorkflowCommandOutput} for command's `response` shape. * @see {@link TransferClientResolvedConfig | config} for TransferClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

This exception is thrown when an error occurs in the Transfer Family service.

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

This exception is thrown when the client submits a malformed request.

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

The requested resource does not exist, or exists in a region other than the one specified for the command.

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

The request has failed because the Amazon Web ServicesTransfer Family service is not available.

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

The request was denied due to request throttling.

* * @throws {@link TransferServiceException} *

Base exception class for all service exceptions from Transfer service.

* * * @public */ export declare class CreateWorkflowCommand extends CreateWorkflowCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateWorkflowRequest; output: CreateWorkflowResponse; }; sdk: { input: CreateWorkflowCommandInput; output: CreateWorkflowCommandOutput; }; }; }