Class: AWSCDK::Transfer::CfnWorkflow::WorkflowStepProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
transfer/cfn_workflow.rb

Overview

The basic building block of a workflow.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(copy_step_details: nil, custom_step_details: nil, decrypt_step_details: nil, delete_step_details: nil, tag_step_details: nil, type: nil) ⇒ WorkflowStepProperty

Returns a new instance of WorkflowStepProperty.

Parameters:

  • copy_step_details (Object, nil) (defaults to: nil)

    Details for a step that performs a file copy.

  • custom_step_details (Object, nil) (defaults to: nil)

    Details for a step that invokes an AWS Lambda function.

  • decrypt_step_details (AWSCDK::IResolvable, AWSCDK::Transfer::CfnWorkflow::DecryptStepDetailsProperty, nil) (defaults to: nil)

    Details for a step that decrypts an encrypted file.

  • delete_step_details (Object, nil) (defaults to: nil)

    Details for a step that deletes the file.

  • tag_step_details (Object, nil) (defaults to: nil)

    Details for a step that creates one or more tags.

  • type (String, nil) (defaults to: nil)

    Currently, the following step types are supported.



1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
# File 'transfer/cfn_workflow.rb', line 1160

def initialize(copy_step_details: nil, custom_step_details: nil, decrypt_step_details: nil, delete_step_details: nil, tag_step_details: nil, type: nil)
  @copy_step_details = copy_step_details
  Jsii::Type.check_type(@copy_step_details, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "copyStepDetails") unless @copy_step_details.nil?
  @custom_step_details = custom_step_details
  Jsii::Type.check_type(@custom_step_details, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "customStepDetails") unless @custom_step_details.nil?
  @decrypt_step_details = decrypt_step_details.is_a?(Hash) ? ::AWSCDK::Transfer::CfnWorkflow::DecryptStepDetailsProperty.new(**decrypt_step_details.transform_keys(&:to_sym)) : decrypt_step_details
  Jsii::Type.check_type(@decrypt_step_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190cmFuc2Zlci5DZm5Xb3JrZmxvdy5EZWNyeXB0U3RlcERldGFpbHNQcm9wZXJ0eSJ9XX19")), "decryptStepDetails") unless @decrypt_step_details.nil?
  @delete_step_details = delete_step_details
  Jsii::Type.check_type(@delete_step_details, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "deleteStepDetails") unless @delete_step_details.nil?
  @tag_step_details = tag_step_details
  Jsii::Type.check_type(@tag_step_details, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "tagStepDetails") unless @tag_step_details.nil?
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") unless @type.nil?
end

Instance Attribute Details

#copy_step_detailsObject? (readonly)

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 .


1185
1186
1187
# File 'transfer/cfn_workflow.rb', line 1185

def copy_step_details
  @copy_step_details
end

#custom_step_detailsObject? (readonly)

Details for a step that invokes an AWS Lambda function.

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



1192
1193
1194
# File 'transfer/cfn_workflow.rb', line 1192

def custom_step_details
  @custom_step_details
end

#decrypt_step_detailsAWSCDK::IResolvable, ... (readonly)

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.


1205
1206
1207
# File 'transfer/cfn_workflow.rb', line 1205

def decrypt_step_details
  @decrypt_step_details
end

#delete_step_detailsObject? (readonly)

Details for a step that deletes the file.



1210
1211
1212
# File 'transfer/cfn_workflow.rb', line 1210

def delete_step_details
  @delete_step_details
end

#tag_step_detailsObject? (readonly)

Details for a step that creates one or more tags.

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



1217
1218
1219
# File 'transfer/cfn_workflow.rb', line 1217

def tag_step_details
  @tag_step_details
end

#typeString? (readonly)

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.


1228
1229
1230
# File 'transfer/cfn_workflow.rb', line 1228

def type
  @type
end

Class Method Details

.jsii_propertiesObject



1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
# File 'transfer/cfn_workflow.rb', line 1230

def self.jsii_properties
  {
    :copy_step_details => "copyStepDetails",
    :custom_step_details => "customStepDetails",
    :decrypt_step_details => "decryptStepDetails",
    :delete_step_details => "deleteStepDetails",
    :tag_step_details => "tagStepDetails",
    :type => "type",
  }
end

Instance Method Details

#to_jsiiObject



1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
# File 'transfer/cfn_workflow.rb', line 1241

def to_jsii
  result = {}
  result.merge!({
    "copyStepDetails" => @copy_step_details,
    "customStepDetails" => @custom_step_details,
    "decryptStepDetails" => @decrypt_step_details,
    "deleteStepDetails" => @delete_step_details,
    "tagStepDetails" => @tag_step_details,
    "type" => @type,
  })
  result.compact
end