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
      },
      custom_step_details: {
        name: "WorkflowStepName",
        target: "CustomStepTarget",
        timeout_seconds: 1,
      },
      delete_step_details: {
        name: "WorkflowStepName",
      },
      tag_step_details: {
        name: "WorkflowStepName",
        tags: [
          {
            key: "S3TagKey", # required
            value: "S3TagValue", # required
          },
        ],
      },
    },
  ],
  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
      },
      custom_step_details: {
        name: "WorkflowStepName",
        target: "CustomStepTarget",
        timeout_seconds: 1,
      },
      delete_step_details: {
        name: "WorkflowStepName",
      },
      tag_step_details: {
        name: "WorkflowStepName",
        tags: [
          {
            key: "S3TagKey", # required
            value: "S3TagValue", # required
          },
        ],
      },
    },
  ],
  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)


875
876
877
878
879
880
881
882
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 875

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:



875
876
877
878
879
880
881
882
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 875

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: custom step with a lambda 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 filesystem ID and path.

Returns:



875
876
877
878
879
880
881
882
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 875

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:



875
876
877
878
879
880
881
882
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb', line 875

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