/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.transfer.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The basic building block of a workflow. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class WorkflowStep implements Serializable, Cloneable, StructuredPojo { /** ** Currently, the following step types are supported. *
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* 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
.
*
* Details for a step that invokes an Lambda function. *
** Consists of the Lambda function's name, target, and timeout (in seconds). *
*/ private CustomStepDetails customStepDetails; /** ** Details for a step that deletes the file. *
*/ private DeleteStepDetails deleteStepDetails; /** ** Details for a step that creates one or more tags. *
** You specify one or more tags. Each tag contains a key-value pair. *
*/ private TagStepDetails tagStepDetails; /** ** 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. *
** Currently, the following step types are supported. *
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* Currently, the following step types are supported. *
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* Currently, the following step types are supported. *
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* Currently, the following step types are supported. *
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* COPY
- Copy the file to another location.
*
* CUSTOM
- Perform a custom step with an 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.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* Details for a step that invokes an Lambda function. *
** Consists of the Lambda function's name, target, and timeout (in seconds). *
* * @param customStepDetails * Details for a step that invokes an Lambda function. ** Consists of the Lambda function's name, target, and timeout (in seconds). */ public void setCustomStepDetails(CustomStepDetails customStepDetails) { this.customStepDetails = customStepDetails; } /** *
* Details for a step that invokes an Lambda function. *
** Consists of the Lambda function's name, target, and timeout (in seconds). *
* * @return Details for a step that invokes an Lambda function. ** Consists of the Lambda function's name, target, and timeout (in seconds). */ public CustomStepDetails getCustomStepDetails() { return this.customStepDetails; } /** *
* Details for a step that invokes an Lambda function. *
** Consists of the Lambda function's name, target, and timeout (in seconds). *
* * @param customStepDetails * Details for a step that invokes an Lambda function. ** Consists of the Lambda function's name, target, and timeout (in seconds). * @return Returns a reference to this object so that method calls can be chained together. */ public WorkflowStep withCustomStepDetails(CustomStepDetails customStepDetails) { setCustomStepDetails(customStepDetails); return this; } /** *
* Details for a step that deletes the file. *
* * @param deleteStepDetails * Details for a step that deletes the file. */ public void setDeleteStepDetails(DeleteStepDetails deleteStepDetails) { this.deleteStepDetails = deleteStepDetails; } /** ** Details for a step that deletes the file. *
* * @return Details for a step that deletes the file. */ public DeleteStepDetails getDeleteStepDetails() { return this.deleteStepDetails; } /** ** Details for a step that deletes the file. *
* * @param deleteStepDetails * Details for a step that deletes the file. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkflowStep withDeleteStepDetails(DeleteStepDetails deleteStepDetails) { setDeleteStepDetails(deleteStepDetails); return this; } /** ** Details for a step that creates one or more tags. *
** You specify one or more tags. Each tag contains a key-value pair. *
* * @param tagStepDetails * Details for a step that creates one or more tags. ** You specify one or more tags. Each tag contains a key-value pair. */ public void setTagStepDetails(TagStepDetails tagStepDetails) { this.tagStepDetails = tagStepDetails; } /** *
* Details for a step that creates one or more tags. *
** You specify one or more tags. Each tag contains a key-value pair. *
* * @return Details for a step that creates one or more tags. ** You specify one or more tags. Each tag contains a key-value pair. */ public TagStepDetails getTagStepDetails() { return this.tagStepDetails; } /** *
* Details for a step that creates one or more tags. *
** You specify one or more tags. Each tag contains a key-value pair. *
* * @param tagStepDetails * Details for a step that creates one or more tags. ** You specify one or more tags. Each tag contains a key-value pair. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkflowStep withTagStepDetails(TagStepDetails tagStepDetails) { setTagStepDetails(tagStepDetails); return this; } /** *
* 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
*