# WorkflowStepProperty

The basic building block of a workflow.

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_transfer as transfer } from 'aws-cdk-lib';

declare const copyStepDetails: any;
declare const customStepDetails: any;
declare const deleteStepDetails: any;
declare const tagStepDetails: any;
const workflowStepProperty: transfer.CfnWorkflow.WorkflowStepProperty = {
  copyStepDetails: copyStepDetails,
  customStepDetails: customStepDetails,
  decryptStepDetails: {
    destinationFileLocation: {
      efsFileLocation: {
        fileSystemId: 'fileSystemId',
        path: 'path',
      },
      s3FileLocation: {
        bucket: 'bucket',
        key: 'key',
      },
    },
    type: 'type',

    // the properties below are optional
    name: 'name',
    overwriteExisting: 'overwriteExisting',
    sourceFileLocation: 'sourceFileLocation',
  },
  deleteStepDetails: deleteStepDetails,
  tagStepDetails: tagStepDetails,
  type: 'type',
};
```

## Properties

- `copyStepDetails`: any — Details for a step that performs a file copy.

  Consists of the following values:

  - A description
  - An Amazon S3 location for the destination of the file copy.
  - A flag that indicates whether to overwrite an existing file of the same name. The default is `FALSE` .

- `customStepDetails`: any — Details for a step that invokes an AWS Lambda function.

  Consists of the Lambda function's name, target, and timeout (in seconds).

- `decryptStepDetails`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnWorkflow.DecryptStepDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_transfer.CfnWorkflow.DecryptStepDetailsProperty.html) — Details for a step that decrypts an encrypted file.

  Consists of the following values:

  - A descriptive name
  - An Amazon S3 or Amazon Elastic File System (Amazon EFS) location for the source file to decrypt.
  - An S3 or Amazon EFS location for the destination of the file decryption.
  - A flag that indicates whether to overwrite an existing file of the same name. The default is `FALSE` .
  - The type of encryption that's used. Currently, only PGP encryption is supported.

- `deleteStepDetails`: any — Details for a step that deletes the file.

- `tagStepDetails`: any — Details for a step that creates one or more tags.

  You specify one or more tags. Each tag contains a key-value pair.

- `type`: string — Currently, the following step types are supported.

  - *`COPY`* - Copy the file to another location.
  - *`CUSTOM`* - Perform a custom step with an AWS Lambda function target.
  - *`DECRYPT`* - Decrypt a file that was encrypted before it was uploaded.
  - *`DELETE`* - Delete the file.
  - *`TAG`* - Add a tag to the file.
