CfnWorkflowPropsMixin

class aws_cdk.mixins_preview.aws_transfer.mixins.CfnWorkflowPropsMixin(props, *, strategy=None)

Bases: Mixin

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html

CloudformationResource:

AWS::Transfer::Workflow

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

# copy_step_details: Any
# custom_step_details: Any
# delete_step_details: Any
# tag_step_details: Any

cfn_workflow_props_mixin = transfer_mixins.CfnWorkflowPropsMixin(transfer_mixins.CfnWorkflowMixinProps(
    description="description",
    on_exception_steps=[transfer_mixins.CfnWorkflowPropsMixin.WorkflowStepProperty(
        copy_step_details=copy_step_details,
        custom_step_details=custom_step_details,
        decrypt_step_details=transfer_mixins.CfnWorkflowPropsMixin.DecryptStepDetailsProperty(
            destination_file_location=transfer_mixins.CfnWorkflowPropsMixin.InputFileLocationProperty(
                efs_file_location=transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
                    file_system_id="fileSystemId",
                    path="path"
                ),
                s3_file_location=transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
                    bucket="bucket",
                    key="key"
                )
            ),
            name="name",
            overwrite_existing="overwriteExisting",
            source_file_location="sourceFileLocation",
            type="type"
        ),
        delete_step_details=delete_step_details,
        tag_step_details=tag_step_details,
        type="type"
    )],
    steps=[transfer_mixins.CfnWorkflowPropsMixin.WorkflowStepProperty(
        copy_step_details=copy_step_details,
        custom_step_details=custom_step_details,
        decrypt_step_details=transfer_mixins.CfnWorkflowPropsMixin.DecryptStepDetailsProperty(
            destination_file_location=transfer_mixins.CfnWorkflowPropsMixin.InputFileLocationProperty(
                efs_file_location=transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
                    file_system_id="fileSystemId",
                    path="path"
                ),
                s3_file_location=transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
                    bucket="bucket",
                    key="key"
                )
            ),
            name="name",
            overwrite_existing="overwriteExisting",
            source_file_location="sourceFileLocation",
            type="type"
        ),
        delete_step_details=delete_step_details,
        tag_step_details=tag_step_details,
        type="type"
    )],
    tags=[CfnTag(
        key="key",
        value="value"
    )]
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::Transfer::Workflow.

Parameters:
  • props (Union[CfnWorkflowMixinProps, Dict[str, Any]]) – L1 properties to apply.

  • strategy (Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

IConstruct

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['description', 'onExceptionSteps', 'steps', 'tags']

Static Methods

classmethod is_mixin(x)

(experimental) Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

Stability:

experimental

DecryptStepDetailsProperty

class CfnWorkflowPropsMixin.DecryptStepDetailsProperty(*, destination_file_location=None, name=None, overwrite_existing=None, source_file_location=None, type=None)

Bases: object

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.

Parameters:
  • destination_file_location (Union[IResolvable, InputFileLocationProperty, Dict[str, Any], None]) – 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. .. epigraph:: The system resolves UploadDate to a date format of YYYY-MM-DD , based on the date the file is uploaded in UTC.

  • name (Optional[str]) – The name of the step, used as an identifier.

  • overwrite_existing (Optional[str]) – 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.

  • source_file_location (Optional[str]) – 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 (Optional[str]) – The type of encryption used. Currently, this value must be PGP .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

decrypt_step_details_property = transfer_mixins.CfnWorkflowPropsMixin.DecryptStepDetailsProperty(
    destination_file_location=transfer_mixins.CfnWorkflowPropsMixin.InputFileLocationProperty(
        efs_file_location=transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
            file_system_id="fileSystemId",
            path="path"
        ),
        s3_file_location=transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
            bucket="bucket",
            key="key"
        )
    ),
    name="name",
    overwrite_existing="overwriteExisting",
    source_file_location="sourceFileLocation",
    type="type"
)

Attributes

destination_file_location

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html#cfn-transfer-workflow-decryptstepdetails-destinationfilelocation

name

The name of the step, used as an identifier.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html#cfn-transfer-workflow-decryptstepdetails-name

overwrite_existing

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html#cfn-transfer-workflow-decryptstepdetails-overwriteexisting

source_file_location

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} .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html#cfn-transfer-workflow-decryptstepdetails-sourcefilelocation

Type:

Specifies which file to use as input to the workflow step

type

The type of encryption used.

Currently, this value must be PGP .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html#cfn-transfer-workflow-decryptstepdetails-type

EfsInputFileLocationProperty

class CfnWorkflowPropsMixin.EfsInputFileLocationProperty(*, file_system_id=None, path=None)

Bases: object

Specifies the Amazon EFS identifier and the path for the file being used.

Parameters:
  • file_system_id (Optional[str]) – The identifier of the file system, assigned by Amazon EFS.

  • path (Optional[str]) – The pathname for the folder being used by a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-efsinputfilelocation.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

efs_input_file_location_property = transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
    file_system_id="fileSystemId",
    path="path"
)

Attributes

file_system_id

The identifier of the file system, assigned by Amazon EFS.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-efsinputfilelocation.html#cfn-transfer-workflow-efsinputfilelocation-filesystemid

path

The pathname for the folder being used by a workflow.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-efsinputfilelocation.html#cfn-transfer-workflow-efsinputfilelocation-path

InputFileLocationProperty

class CfnWorkflowPropsMixin.InputFileLocationProperty(*, efs_file_location=None, s3_file_location=None)

Bases: object

Specifies the location for the file that’s being processed.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-inputfilelocation.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

input_file_location_property = transfer_mixins.CfnWorkflowPropsMixin.InputFileLocationProperty(
    efs_file_location=transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
        file_system_id="fileSystemId",
        path="path"
    ),
    s3_file_location=transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
        bucket="bucket",
        key="key"
    )
)

Attributes

efs_file_location

Specifies the details for the Amazon Elastic File System (Amazon EFS) file that’s being decrypted.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-inputfilelocation.html#cfn-transfer-workflow-inputfilelocation-efsfilelocation

s3_file_location

Specifies the details for the Amazon S3 file that’s being copied or decrypted.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-inputfilelocation.html#cfn-transfer-workflow-inputfilelocation-s3filelocation

S3InputFileLocationProperty

class CfnWorkflowPropsMixin.S3InputFileLocationProperty(*, bucket=None, key=None)

Bases: object

Specifies the details for the Amazon S3 location for an input file to a workflow.

Parameters:
  • bucket (Optional[str]) – Specifies the S3 bucket for the customer input file.

  • key (Optional[str]) – The name assigned to the file when it was created in Amazon S3. You use the object key to retrieve the object.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3inputfilelocation.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

s3_input_file_location_property = transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
    bucket="bucket",
    key="key"
)

Attributes

bucket

Specifies the S3 bucket for the customer input file.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3inputfilelocation.html#cfn-transfer-workflow-s3inputfilelocation-bucket

key

The name assigned to the file when it was created in Amazon S3.

You use the object key to retrieve the object.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3inputfilelocation.html#cfn-transfer-workflow-s3inputfilelocation-key

WorkflowStepProperty

class CfnWorkflowPropsMixin.WorkflowStepProperty(*, copy_step_details=None, custom_step_details=None, decrypt_step_details=None, delete_step_details=None, tag_step_details=None, type=None)

Bases: object

The basic building block of a workflow.

Parameters:
  • copy_step_details (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 .

  • custom_step_details (Any) – Details for a step that invokes an AWS Lambda function. Consists of the Lambda function’s name, target, and timeout (in seconds).

  • decrypt_step_details (Union[IResolvable, DecryptStepDetailsProperty, Dict[str, Any], None]) – 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.

  • delete_step_details (Any) – Details for a step that deletes the file.

  • tag_step_details (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 (Optional[str]) – 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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_transfer import mixins as transfer_mixins

# copy_step_details: Any
# custom_step_details: Any
# delete_step_details: Any
# tag_step_details: Any

workflow_step_property = transfer_mixins.CfnWorkflowPropsMixin.WorkflowStepProperty(
    copy_step_details=copy_step_details,
    custom_step_details=custom_step_details,
    decrypt_step_details=transfer_mixins.CfnWorkflowPropsMixin.DecryptStepDetailsProperty(
        destination_file_location=transfer_mixins.CfnWorkflowPropsMixin.InputFileLocationProperty(
            efs_file_location=transfer_mixins.CfnWorkflowPropsMixin.EfsInputFileLocationProperty(
                file_system_id="fileSystemId",
                path="path"
            ),
            s3_file_location=transfer_mixins.CfnWorkflowPropsMixin.S3InputFileLocationProperty(
                bucket="bucket",
                key="key"
            )
        ),
        name="name",
        overwrite_existing="overwriteExisting",
        source_file_location="sourceFileLocation",
        type="type"
    ),
    delete_step_details=delete_step_details,
    tag_step_details=tag_step_details,
    type="type"
)

Attributes

copy_step_details

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 .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-copystepdetails

custom_step_details

Details for a step that invokes an AWS Lambda function.

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-customstepdetails

decrypt_step_details

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-decryptstepdetails

delete_step_details

Details for a step that deletes the file.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-deletestepdetails

tag_step_details

Details for a step that creates one or more tags.

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-tagstepdetails

type

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html#cfn-transfer-workflow-workflowstep-type