# DecryptStepDetailsProperty

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.

- Source: Generated code
- Type last changed: v2.140.0 · 2 May 2024

## 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';
const decryptStepDetailsProperty: transfer.CfnWorkflow.DecryptStepDetailsProperty = {
  destinationFileLocation: {
    efsFileLocation: {
      fileSystemId: 'fileSystemId',
      path: 'path',
    },
    s3FileLocation: {
      bucket: 'bucket',
      key: 'key',
    },
  },
  type: 'type',

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

## Properties

- `destinationFileLocation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnWorkflow.InputFileLocationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_transfer.CfnWorkflow.InputFileLocationProperty.html) (required) — Specifies the location for the file being decrypted.

  Use `${Transfer:UserName}` or `${Transfer:UploadDate}` in this field to parametrize the destination prefix by username or uploaded date.

  - Set the value of `DestinationFileLocation` to `${Transfer:UserName}` to decrypt uploaded files to an Amazon S3 bucket that is prefixed with the name of the Transfer Family user that uploaded the file.
  - Set the value of `DestinationFileLocation` to `${Transfer:UploadDate}` to decrypt uploaded files to an Amazon S3 bucket that is prefixed with the date of the upload.

  > The system resolves `UploadDate` to a date format of *YYYY-MM-DD* , based on the date the file is uploaded in UTC.

- `name`: string — The name of the step, used as an identifier.

- `overwriteExisting`: string — A flag that indicates whether to overwrite an existing file of the same name. The default is `FALSE` .

  If the workflow is processing a file that has the same name as an existing file, the behavior is as follows:

  - If `OverwriteExisting` is `TRUE` , the existing file is replaced with the file being processed.
  - If `OverwriteExisting` is `FALSE` , nothing happens, and the workflow processing stops.

- `sourceFileLocation`: string — Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file for the workflow.

  - To use the previous file as the input, enter `${previous.file}` . In this case, this workflow step uses the output file from the previous workflow step as input. This is the default value.
  - To use the originally uploaded file location as input for this step, enter `${original.file}` .

- `type`: string (required) — The type of encryption used.

  Currently, this value must be `PGP` .
