Class: Aws::Transfer::Types::CreateWorkflowRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb

Overview

Note:

When making an API call, you may pass CreateWorkflowRequest data as a hash:

{
  description: "WorkflowDescription",
  steps: [ # required
    {
      type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
      copy_step_details: {
        name: "WorkflowStepName",
        destination_file_location: {
          s3_file_location: {
            bucket: "S3Bucket",
            key: "S3Key",
          },
          efs_file_location: {
            file_system_id: "EfsFileSystemId",
            path: "EfsPath",
          },
        },
        overwrite_existing: "TRUE", # accepts TRUE, FALSE
        source_file_location: "SourceFileLocation",
      },
      custom_step_details: {
        name: "WorkflowStepName",
        target: "CustomStepTarget",
        timeout_seconds: 1,
        source_file_location: "SourceFileLocation",
      },
      delete_step_details: {
        name: "WorkflowStepName",
        source_file_location: "SourceFileLocation",
      },
      tag_step_details: {
        name: "WorkflowStepName",
        tags: [
          {
            key: "S3TagKey", # required
            value: "S3TagValue", # required
          },
        ],
        source_file_location: "SourceFileLocation",
      },
    },
  ],
  on_exception_steps: [
    {
      type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
      copy_step_details: {
        name: "WorkflowStepName",
        destination_file_location: {
          s3_file_location: {
            bucket: "S3Bucket",
            key: "S3Key",
          },
          efs_file_location: {
            file_system_id: "EfsFileSystemId",
            path: "EfsPath",
          },
        },
        overwrite_existing: "TRUE", # accepts TRUE, FALSE
        source_file_location: "SourceFileLocation",
      },
      custom_step_details: {
        name: "WorkflowStepName",
        target: "CustomStepTarget",
        timeout_seconds: 1,
        source_file_location: "SourceFileLocation",
      },
      delete_step_details: {
        name: "WorkflowStepName",
        source_file_location: "SourceFileLocation",
      },
      tag_step_details: {
        name: "WorkflowStepName",
        tags: [
          {
            key: "S3TagKey", # required
            value: "S3TagValue", # required
          },
        ],
        source_file_location: "SourceFileLocation",
      },
    },
  ],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#descriptionString

A textual description for the workflow.

Returns:

  • (String)


1254
1255
1256
1257
1258
1259
1260
1261
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 1254

class CreateWorkflowRequest < Struct.new(
  :description,
  :steps,
  :on_exception_steps,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#on_exception_stepsArray<Types::WorkflowStep>

Specifies the steps (actions) to take if errors are encountered during execution of the workflow.

For custom steps, the lambda function needs to send FAILURE to the call back API to kick off the exception steps. Additionally, if the lambda does not send SUCCESS before it times out, the exception steps are executed.

Returns:



1254
1255
1256
1257
1258
1259
1260
1261
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 1254

class CreateWorkflowRequest < Struct.new(
  :description,
  :steps,
  :on_exception_steps,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#stepsArray<Types::WorkflowStep>

Specifies the details for the steps that are in the specified workflow.

The TYPE specifies which of the following actions is being taken for this step.

  • COPY: Copy the file to another location.

  • CUSTOM: Perform a custom step with an Lambda function target.

  • DELETE: Delete the file.

  • TAG: Add a tag to the file.

Currently, copying and tagging are supported only on S3.

For file location, you specify either the S3 bucket and key, or the EFS file system ID and path.

Returns:



1254
1255
1256
1257
1258
1259
1260
1261
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 1254

class CreateWorkflowRequest < Struct.new(
  :description,
  :steps,
  :on_exception_steps,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tagsArray<Types::Tag>

Key-value pairs that can be used to group and search for workflows. Tags are metadata attached to workflows for any purpose.

Returns:



1254
1255
1256
1257
1258
1259
1260
1261
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 1254

class CreateWorkflowRequest < Struct.new(
  :description,
  :steps,
  :on_exception_steps,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end