/* * 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 { /// /// Provides the details of the StartChildWorkflowExecution decision. /// /// /// /// Access Control /// /// /// /// You can use IAM policies to control this decision'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 StartChildWorkflowExecutionDecisionAttributes { private ChildPolicy _childPolicy; private string _control; 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 if the workflow /// execution being started 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 Control. /// /// The data attached to the event that can be used by the decider in subsequent workflow /// tasks. This data isn't sent to the child workflow execution. /// /// [AWSProperty(Max=32768)] public string Control { get { return this._control; } set { this._control = value; } } // Check to see if Control property is set internal bool IsSetControl() { return this._control != 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. /// You can use NONE to specify unlimited duration. /// /// /// /// An execution 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 execution start-to-close timeout was specified at registration /// time then 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 to be provided to the workflow execution. /// /// [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 attached to the child workflow execution. /// /// [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 child workflow execution. A maximum of 5 tags /// can be specified. 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 name of the task list to be used for decision tasks of the child workflow execution. /// /// /// /// 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 start or end with whitespace. It 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. /// /// A task priority that, if set, specifies the priority for a decision task of this /// workflow execution. This overrides the defaultTaskPriority specified when registering /// the workflow type. 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 workflowId of the workflow execution. /// /// /// /// 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 execution to be started. /// /// [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; } } }