/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the transfer-2018-11-05.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Transfer.Model
{
///
/// The basic building block of a workflow.
///
public partial class WorkflowStep
{
private CopyStepDetails _copyStepDetails;
private CustomStepDetails _customStepDetails;
private DecryptStepDetails _decryptStepDetails;
private DeleteStepDetails _deleteStepDetails;
private TagStepDetails _tagStepDetails;
private WorkflowStepType _type;
///
/// Gets and sets the property CopyStepDetails.
///
/// 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
.
///
///
///
public CopyStepDetails CopyStepDetails
{
get { return this._copyStepDetails; }
set { this._copyStepDetails = value; }
}
// Check to see if CopyStepDetails property is set
internal bool IsSetCopyStepDetails()
{
return this._copyStepDetails != null;
}
///
/// Gets and sets the property CustomStepDetails.
///
/// Details for a step that invokes an Lambda function.
///
///
///
/// Consists of the Lambda function's name, target, and timeout (in seconds).
///
///
public CustomStepDetails CustomStepDetails
{
get { return this._customStepDetails; }
set { this._customStepDetails = value; }
}
// Check to see if CustomStepDetails property is set
internal bool IsSetCustomStepDetails()
{
return this._customStepDetails != null;
}
///
/// Gets and sets the property DecryptStepDetails.
///
/// 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.
///
///
///
public DecryptStepDetails DecryptStepDetails
{
get { return this._decryptStepDetails; }
set { this._decryptStepDetails = value; }
}
// Check to see if DecryptStepDetails property is set
internal bool IsSetDecryptStepDetails()
{
return this._decryptStepDetails != null;
}
///
/// Gets and sets the property DeleteStepDetails.
///
/// Details for a step that deletes the file.
///
///
public DeleteStepDetails DeleteStepDetails
{
get { return this._deleteStepDetails; }
set { this._deleteStepDetails = value; }
}
// Check to see if DeleteStepDetails property is set
internal bool IsSetDeleteStepDetails()
{
return this._deleteStepDetails != null;
}
///
/// Gets and sets the property 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 TagStepDetails TagStepDetails
{
get { return this._tagStepDetails; }
set { this._tagStepDetails = value; }
}
// Check to see if TagStepDetails property is set
internal bool IsSetTagStepDetails()
{
return this._tagStepDetails != null;
}
///
/// Gets and sets the property Type.
///
/// 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.
///
///
///
public WorkflowStepType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}