/*
* 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
{
///
/// The configuration settings for a workflow execution including timeout values, tasklist
/// etc. These configuration settings are determined from the defaults specified when
/// registering the workflow type and those specified when starting the workflow execution.
///
public partial class WorkflowExecutionConfiguration
{
private ChildPolicy _childPolicy;
private string _executionStartToCloseTimeout;
private string _lambdaRole;
private TaskList _taskList;
private string _taskPriority;
private string _taskStartToCloseTimeout;
///
/// Gets and sets the property ChildPolicy.
///
/// The policy to use for the child workflow executions if this workflow execution 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 ExecutionStartToCloseTimeout.
///
/// The total duration for this 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(Required=true, Min=1, 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 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 TaskList.
///
/// The task list used for the decision tasks generated for this 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 assigned to decision tasks for this workflow execution. 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.
///
/// The maximum duration allowed for decision tasks for this 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(Required=true, Min=1, 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;
}
}
}