/*
* 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 WorkflowExecutionContinuedAsNew
event.
///
public partial class WorkflowExecutionContinuedAsNewEventAttributes
{
private ChildPolicy _childPolicy;
private long? _decisionTaskCompletedEventId;
private string _executionStartToCloseTimeout;
private string _input;
private string _lambdaRole;
private string _newExecutionRunId;
private List _tagList = new List();
private TaskList _taskList;
private string _taskPriority;
private string _taskStartToCloseTimeout;
private WorkflowType _workflowType;
///
/// Gets and sets the property ChildPolicy.
///
/// The policy to use for the child workflow executions of the new execution if it is
/// terminated by calling the TerminateWorkflowExecution action explicitly or due
/// to an expired timeout.
///
///
///
/// 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.
///
///
///
[AWSProperty(Required=true)]
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 DecisionTaskCompletedEventId.
///
/// The ID of the DecisionTaskCompleted
event corresponding to the decision
/// task that resulted in the ContinueAsNewWorkflowExecution
decision that
/// started this execution. This information can be useful for diagnosing problems by
/// tracing back the chain of events leading up to this event.
///
///
[AWSProperty(Required=true)]
public long DecisionTaskCompletedEventId
{
get { return this._decisionTaskCompletedEventId.GetValueOrDefault(); }
set { this._decisionTaskCompletedEventId = value; }
}
// Check to see if DecisionTaskCompletedEventId property is set
internal bool IsSetDecisionTaskCompletedEventId()
{
return this._decisionTaskCompletedEventId.HasValue;
}
///
/// Gets and sets the property ExecutionStartToCloseTimeout.
///
/// The total duration allowed for the new workflow execution.
///
///
///
/// The duration is specified in seconds, an integer greater than or equal to 0
.
/// You can use NONE
to specify unlimited duration.
///
///
[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 provided to the new 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 to attach to the new (continued) 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 NewExecutionRunId.
///
/// The runId
of the new workflow execution.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string NewExecutionRunId
{
get { return this._newExecutionRunId; }
set { this._newExecutionRunId = value; }
}
// Check to see if NewExecutionRunId property is set
internal bool IsSetNewExecutionRunId()
{
return this._newExecutionRunId != null;
}
///
/// Gets and sets the property TagList.
///
/// The list of tags associated with the new workflow execution.
///
///
[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 decisions of the new (continued) workflow execution.
///
///
[AWSProperty(Required=true)]
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 priority of the task to use for the decisions of the new (continued) workflow
/// execution.
///
///
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.
///
/// The maximum duration of decision tasks for the new workflow execution.
///
///
///
/// The duration is specified in seconds, an integer greater than or equal to 0
.
/// You can use NONE
to specify unlimited duration.
///
///
[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 WorkflowType.
///
/// The workflow type of this execution.
///
///
[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;
}
}
}