/*
* 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 ScheduleActivityTask
decision.
///
///
///
/// Access Control
///
///
///
/// You can use IAM policies to control this decision's access to Amazon SWF resources
/// as follows:
///
/// -
///
/// Use a
Resource
element with the domain name to limit the action to only
/// specified domains.
///
/// -
///
/// Use an
Action
element to allow or deny permission to call this action.
///
/// -
///
/// Constrain the following parameters by using a
Condition
element with
/// the appropriate keys.
///
/// -
///
///
activityType.name
– String constraint. The key is swf:activityType.name
.
///
/// -
///
///
activityType.version
– String constraint. The key is swf:activityType.version
.
///
/// -
///
///
taskList
– String constraint. The key is swf:taskList.name
.
///
///
///
/// 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 ScheduleActivityTaskDecisionAttributes
{
private string _activityId;
private ActivityType _activityType;
private string _control;
private string _heartbeatTimeout;
private string _input;
private string _scheduleToCloseTimeout;
private string _scheduleToStartTimeout;
private string _startToCloseTimeout;
private TaskList _taskList;
private string _taskPriority;
///
/// Gets and sets the property ActivityId.
///
/// The activityId
of the activity task.
///
///
///
/// 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 ActivityId
{
get { return this._activityId; }
set { this._activityId = value; }
}
// Check to see if ActivityId property is set
internal bool IsSetActivityId()
{
return this._activityId != null;
}
///
/// Gets and sets the property ActivityType.
///
/// The type of the activity task to schedule.
///
///
[AWSProperty(Required=true)]
public ActivityType ActivityType
{
get { return this._activityType; }
set { this._activityType = value; }
}
// Check to see if ActivityType property is set
internal bool IsSetActivityType()
{
return this._activityType != null;
}
///
/// Gets and sets the property Control.
///
/// Data attached to the event that can be used by the decider in subsequent workflow
/// tasks. This data isn't sent to the activity.
///
///
[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 HeartbeatTimeout.
///
/// If set, specifies the maximum time before which a worker processing a task of this
/// type must report progress by calling RecordActivityTaskHeartbeat. If the timeout
/// is exceeded, the activity task is automatically timed out. If the worker subsequently
/// attempts to record a heartbeat or returns a result, it is ignored. This overrides
/// the default heartbeat timeout specified when registering the activity type using RegisterActivityType.
///
///
///
/// 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 HeartbeatTimeout
{
get { return this._heartbeatTimeout; }
set { this._heartbeatTimeout = value; }
}
// Check to see if HeartbeatTimeout property is set
internal bool IsSetHeartbeatTimeout()
{
return this._heartbeatTimeout != null;
}
///
/// Gets and sets the property Input.
///
/// The input provided to the activity task.
///
///
[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 ScheduleToCloseTimeout.
///
/// The maximum duration for this activity task.
///
///
///
/// The duration is specified in seconds, an integer greater than or equal to 0
.
/// You can use NONE
to specify unlimited duration.
///
///
///
/// A schedule-to-close timeout for this activity task must be specified either as a default
/// for the activity type or through this field. If neither this field is set nor a default
/// schedule-to-close timeout was specified at registration time then a fault is returned.
///
///
///
[AWSProperty(Max=8)]
public string ScheduleToCloseTimeout
{
get { return this._scheduleToCloseTimeout; }
set { this._scheduleToCloseTimeout = value; }
}
// Check to see if ScheduleToCloseTimeout property is set
internal bool IsSetScheduleToCloseTimeout()
{
return this._scheduleToCloseTimeout != null;
}
///
/// Gets and sets the property ScheduleToStartTimeout.
///
/// If set, specifies the maximum duration the activity task can wait to be assigned
/// to a worker. This overrides the default schedule-to-start timeout specified when registering
/// the activity type using RegisterActivityType.
///
///
///
/// The duration is specified in seconds, an integer greater than or equal to 0
.
/// You can use NONE
to specify unlimited duration.
///
///
///
/// A schedule-to-start timeout for this activity task must be specified either as a default
/// for the activity type or through this field. If neither this field is set nor a default
/// schedule-to-start timeout was specified at registration time then a fault is returned.
///
///
///
[AWSProperty(Max=8)]
public string ScheduleToStartTimeout
{
get { return this._scheduleToStartTimeout; }
set { this._scheduleToStartTimeout = value; }
}
// Check to see if ScheduleToStartTimeout property is set
internal bool IsSetScheduleToStartTimeout()
{
return this._scheduleToStartTimeout != null;
}
///
/// Gets and sets the property StartToCloseTimeout.
///
/// If set, specifies the maximum duration a worker may take to process this activity
/// task. This overrides the default start-to-close timeout specified when registering
/// the activity type using RegisterActivityType.
///
///
///
/// The duration is specified in seconds, an integer greater than or equal to 0
.
/// You can use NONE
to specify unlimited duration.
///
///
///
/// A start-to-close timeout for this activity task must be specified either as a default
/// for the activity type or through this field. If neither this field is set nor a default
/// start-to-close timeout was specified at registration time then a fault is returned.
///
///
///
[AWSProperty(Max=8)]
public string StartToCloseTimeout
{
get { return this._startToCloseTimeout; }
set { this._startToCloseTimeout = value; }
}
// Check to see if StartToCloseTimeout property is set
internal bool IsSetStartToCloseTimeout()
{
return this._startToCloseTimeout != null;
}
///
/// Gets and sets the property TaskList.
///
/// If set, specifies the name of the task list in which to schedule the activity task.
/// If not specified, the defaultTaskList
registered with the activity type
/// is used.
///
///
///
/// A task list for this activity task must be specified either as a default for the activity
/// type or through this field. If neither this field 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.
///
/// If set, specifies the priority with which the activity task is to be assigned to
/// a worker. This overrides the defaultTaskPriority specified when registering the activity
/// type using RegisterActivityType. 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;
}
}
}