class Aws::SWF::Types::ScheduleActivityTaskDecisionAttributes

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:

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*.

[1]: docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html

@note When making an API call, you may pass ScheduleActivityTaskDecisionAttributes

data as a hash:

    {
      activity_type: { # required
        name: "Name", # required
        version: "Version", # required
      },
      activity_id: "ActivityId", # required
      control: "Data",
      input: "Data",
      schedule_to_close_timeout: "DurationInSecondsOptional",
      task_list: {
        name: "Name", # required
      },
      task_priority: "TaskPriority",
      schedule_to_start_timeout: "DurationInSecondsOptional",
      start_to_close_timeout: "DurationInSecondsOptional",
      heartbeat_timeout: "DurationInSecondsOptional",
    }

@!attribute [rw] activity_type

The type of the activity task to schedule.
@return [Types::ActivityType]

@!attribute [rw] activity_id

The `activityId` of the activity task.

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 contain the literal string `arn`.
@return [String]

@!attribute [rw] 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.
@return [String]

@!attribute [rw] input

The input provided to the activity task.
@return [String]

@!attribute [rw] schedule_to_close_timeout

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.

<note markdown="1"> 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.

 </note>
@return [String]

@!attribute [rw] task_list

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.

<note markdown="1"> 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.

 </note>

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 contain the literal string `arn`.
@return [Types::TaskList]

@!attribute [rw] task_priority

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][1] in the *Amazon SWF Developer Guide*.

[1]: https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html
@return [String]

@!attribute [rw] schedule_to_start_timeout

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.

<note markdown="1"> 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.

 </note>
@return [String]

@!attribute [rw] start_to_close_timeout

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.

<note markdown="1"> 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.

 </note>
@return [String]

@!attribute [rw] heartbeat_timeout

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.
@return [String]

Constants

SENSITIVE