class Aws::SWF::Types::StartChildWorkflowExecutionDecisionAttributes

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

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

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

data as a hash:

    {
      workflow_type: { # required
        name: "Name", # required
        version: "Version", # required
      },
      workflow_id: "WorkflowId", # required
      control: "Data",
      input: "Data",
      execution_start_to_close_timeout: "DurationInSecondsOptional",
      task_list: {
        name: "Name", # required
      },
      task_priority: "TaskPriority",
      task_start_to_close_timeout: "DurationInSecondsOptional",
      child_policy: "TERMINATE", # accepts TERMINATE, REQUEST_CANCEL, ABANDON
      tag_list: ["Tag"],
      lambda_role: "Arn",
    }

@!attribute [rw] workflow_type

The type of the workflow execution to be started.
@return [Types::WorkflowType]

@!attribute [rw] workflow_id

The `workflowId` of the workflow execution.

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

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

@!attribute [rw] input

The input to be provided to the workflow execution.
@return [String]

@!attribute [rw] execution_start_to_close_timeout

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.

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

 </note>
@return [String]

@!attribute [rw] task_list

The name of the task list to be used for decision tasks of the child
workflow execution.

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

 </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

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

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

@!attribute [rw] task_start_to_close_timeout

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.

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

 </note>
@return [String]

@!attribute [rw] child_policy

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.

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

 </note>
@return [String]

@!attribute [rw] tag_list

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

@!attribute [rw] lambda_role

The IAM role attached to the child workflow execution.
@return [String]

Constants

SENSITIVE