/* * 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 swf-2012-01-25.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.SimpleWorkflow.Model { /// /// Container for the parameters to the StartWorkflowExecution operation. /// Starts an execution of the workflow type in the specified domain using the provided /// workflowId and input data. /// /// /// /// This action returns the newly started workflow execution. /// /// /// /// Access Control /// /// /// /// You can use IAM policies to control this action's access to Amazon SWF resources as /// follows: /// /// /// /// If the caller doesn't have sufficient permissions to invoke the action, or the parameter /// values fall outside the specified constraints, the action fails. The associated event /// attribute's cause parameter is set to OPERATION_NOT_PERMITTED. /// For details and example IAM policies, see Using /// IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. /// /// public partial class StartWorkflowExecutionRequest : AmazonSimpleWorkflowRequest { private ChildPolicy _childPolicy; private string _domain; private string _executionStartToCloseTimeout; private string _input; private string _lambdaRole; private List _tagList = new List(); private TaskList _taskList; private string _taskPriority; private string _taskStartToCloseTimeout; private string _workflowId; private WorkflowType _workflowType; /// /// Gets and sets the property ChildPolicy. /// /// If set, specifies the policy to use for the child workflow executions of this workflow /// execution if it is terminated, by calling the TerminateWorkflowExecution action /// explicitly or due to an expired timeout. This policy overrides the default child policy /// specified when registering the workflow type using RegisterWorkflowType. /// /// /// /// The supported child policies are: /// ///
  • /// /// TERMINATE – The child executions are terminated. /// ///
  • /// /// REQUEST_CANCEL – A request to cancel is attempted for each child execution /// by recording a WorkflowExecutionCancelRequested event in its history. /// It is up to the decider to take appropriate actions when it receives an execution /// history with this event. /// ///
  • /// /// ABANDON – No action is taken. The child executions continue to run. /// ///
/// /// A child policy for this workflow execution must be specified either as a default for /// the workflow type or through this parameter. If neither this parameter is set nor /// a default child policy was specified at registration time then a fault is returned. /// /// ///
public ChildPolicy ChildPolicy { get { return this._childPolicy; } set { this._childPolicy = value; } } // Check to see if ChildPolicy property is set internal bool IsSetChildPolicy() { return this._childPolicy != null; } /// /// Gets and sets the property Domain. /// /// The name of the domain in which the workflow execution is created. /// /// /// /// The specified string must not contain a : (colon), / (slash), /// | (vertical bar), or any control characters (\u0000-\u001f /// | \u007f-\u009f). Also, it must not be the literal string arn. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string Domain { get { return this._domain; } set { this._domain = value; } } // Check to see if Domain property is set internal bool IsSetDomain() { return this._domain != null; } /// /// Gets and sets the property ExecutionStartToCloseTimeout. /// /// The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout /// specified when registering the workflow type. /// /// /// /// The duration is specified in seconds; an integer greater than or equal to 0. /// Exceeding this limit causes the workflow execution to time out. Unlike some of the /// other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for this /// timeout; there is a one-year max limit on the time that a workflow execution can run. /// /// /// /// An execution start-to-close timeout must be specified either through this parameter /// or as a default when the workflow type is registered. If neither this parameter nor /// a default execution start-to-close timeout is specified, a fault is returned. /// /// /// [AWSProperty(Max=8)] public string ExecutionStartToCloseTimeout { get { return this._executionStartToCloseTimeout; } set { this._executionStartToCloseTimeout = value; } } // Check to see if ExecutionStartToCloseTimeout property is set internal bool IsSetExecutionStartToCloseTimeout() { return this._executionStartToCloseTimeout != null; } /// /// Gets and sets the property Input. /// /// The input for the workflow execution. This is a free form string which should be meaningful /// to the workflow you are starting. This input is made available to the /// new workflow execution in the WorkflowExecutionStarted history event. /// /// [AWSProperty(Max=32768)] public string Input { get { return this._input; } set { this._input = value; } } // Check to see if Input property is set internal bool IsSetInput() { return this._input != null; } /// /// Gets and sets the property LambdaRole. /// /// The IAM role to attach to this workflow execution. /// /// /// /// Executions of this workflow type need IAM roles to invoke Lambda functions. If you /// don't attach an IAM role, any attempt to schedule a Lambda task fails. This results /// in a ScheduleLambdaFunctionFailed history event. For more information, /// see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html /// in the Amazon SWF Developer Guide. /// /// /// [AWSProperty(Min=1, Max=1600)] public string LambdaRole { get { return this._lambdaRole; } set { this._lambdaRole = value; } } // Check to see if LambdaRole property is set internal bool IsSetLambdaRole() { return this._lambdaRole != null; } /// /// Gets and sets the property TagList. /// /// The list of tags to associate with the workflow execution. You can specify a maximum /// of 5 tags. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions /// or ListClosedWorkflowExecutions and specifying a TagFilter. /// /// [AWSProperty(Max=5)] public List TagList { get { return this._tagList; } set { this._tagList = value; } } // Check to see if TagList property is set internal bool IsSetTagList() { return this._tagList != null && this._tagList.Count > 0; } /// /// Gets and sets the property TaskList. /// /// The task list to use for the decision tasks generated for this workflow execution. /// This overrides the defaultTaskList specified when registering the workflow /// type. /// /// /// /// A task list for this workflow execution must be specified either as a default for /// the workflow type or through this parameter. If neither this parameter is set nor /// a default task list was specified at registration time then a fault is returned. /// /// /// /// The specified string must not contain a : (colon), / (slash), /// | (vertical bar), or any control characters (\u0000-\u001f /// | \u007f-\u009f). Also, it must not be the literal string arn. /// /// public TaskList TaskList { get { return this._taskList; } set { this._taskList = value; } } // Check to see if TaskList property is set internal bool IsSetTaskList() { return this._taskList != null; } /// /// Gets and sets the property TaskPriority. /// /// The task priority to use for this workflow execution. This overrides any default priority /// that was assigned when the workflow type was registered. If not set, then the default /// task priority for the workflow type is used. Valid values are integers that range /// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE /// (2147483647). Higher numbers indicate higher priority. /// /// /// /// For more information about setting task priority, see Setting /// Task Priority in the Amazon SWF Developer Guide. /// /// public string TaskPriority { get { return this._taskPriority; } set { this._taskPriority = value; } } // Check to see if TaskPriority property is set internal bool IsSetTaskPriority() { return this._taskPriority != null; } /// /// Gets and sets the property TaskStartToCloseTimeout. /// /// Specifies the maximum duration of decision tasks for this workflow execution. This /// parameter overrides the defaultTaskStartToCloseTimout specified when /// registering the workflow type using RegisterWorkflowType. /// /// /// /// The duration is specified in seconds, an integer greater than or equal to 0. /// You can use NONE to specify unlimited duration. /// /// /// /// A task start-to-close timeout for this workflow execution must be specified either /// as a default for the workflow type or through this parameter. If neither this parameter /// is set nor a default task start-to-close timeout was specified at registration time /// then a fault is returned. /// /// /// [AWSProperty(Max=8)] public string TaskStartToCloseTimeout { get { return this._taskStartToCloseTimeout; } set { this._taskStartToCloseTimeout = value; } } // Check to see if TaskStartToCloseTimeout property is set internal bool IsSetTaskStartToCloseTimeout() { return this._taskStartToCloseTimeout != null; } /// /// Gets and sets the property WorkflowId. /// /// The user defined identifier associated with the workflow execution. You can use this /// to associate a custom identifier with the workflow execution. You may specify the /// same identifier if a workflow execution is logically a restart of a previous /// execution. You cannot have two open workflow executions with the same workflowId /// at the same time within the same domain. /// /// /// /// The specified string must not contain a : (colon), / (slash), /// | (vertical bar), or any control characters (\u0000-\u001f /// | \u007f-\u009f). Also, it must not be the literal string arn. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string WorkflowId { get { return this._workflowId; } set { this._workflowId = value; } } // Check to see if WorkflowId property is set internal bool IsSetWorkflowId() { return this._workflowId != null; } /// /// Gets and sets the property WorkflowType. /// /// The type of the workflow to start. /// /// [AWSProperty(Required=true)] public WorkflowType WorkflowType { get { return this._workflowType; } set { this._workflowType = value; } } // Check to see if WorkflowType property is set internal bool IsSetWorkflowType() { return this._workflowType != null; } } }