/* * 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 { /// /// Container for the parameters to the CreateWorkflow operation. /// Allows you to create a workflow with specified steps and step details the workflow /// invokes after file transfer completes. After creating a workflow, you can associate /// the workflow created with any transfer servers by specifying the workflow-details /// field in CreateServer and UpdateServer operations. /// public partial class CreateWorkflowRequest : AmazonTransferRequest { private string _description; private List _onExceptionSteps = new List(); private List _steps = new List(); private List _tags = new List(); /// /// Gets and sets the property Description. /// /// A textual description for the workflow. /// /// [AWSProperty(Max=256)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property OnExceptionSteps. /// /// 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. /// /// /// [AWSProperty(Max=8)] public List OnExceptionSteps { get { return this._onExceptionSteps; } set { this._onExceptionSteps = value; } } // Check to see if OnExceptionSteps property is set internal bool IsSetOnExceptionSteps() { return this._onExceptionSteps != null && this._onExceptionSteps.Count > 0; } /// /// Gets and sets the property Steps. /// /// 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. /// ///
  • /// /// DECRYPT - Decrypt a file that was encrypted before it was uploaded. /// ///
  • /// /// 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 Amazon S3 bucket and key, or the Amazon /// EFS file system ID and path. /// ///
[AWSProperty(Required=true, Max=8)] public List Steps { get { return this._steps; } set { this._steps = value; } } // Check to see if Steps property is set internal bool IsSetSteps() { return this._steps != null && this._steps.Count > 0; } /// /// Gets and sets the property Tags. /// /// Key-value pairs that can be used to group and search for workflows. Tags are metadata /// attached to workflows for any purpose. /// /// [AWSProperty(Min=1, Max=50)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }