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.

AutomationTask CoordinationWorkflow

Properties

Name Type Description
workflowType object
workflowId object
control object
input object
executionStartToCloseTimeout object
taskList object
taskPriority object
taskStartToCloseTimeout object
childPolicy object
tagList object
lambdaRole object
View JSON Schema on GitHub

JSON Schema

amazon-swf-startchildworkflowexecutiondecisionattributes-schema.json Raw ↑
{
  "type": "object",
  "required": [
    "workflowType",
    "workflowId"
  ],
  "properties": {
    "workflowType": {
      "allOf": [
        {
          "$ref": "#/components/schemas/WorkflowType"
        },
        {
          "description": " The type of the workflow execution to be started."
        }
      ]
    },
    "workflowId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/WorkflowId"
        },
        {
          "description": "<p> The <code>workflowId</code> of the workflow execution.</p> <p>The specified string must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\\u0000-\\u001f</code> | <code>\\u007f-\\u009f</code>). Also, it must <i>not</i> be the literal string <code>arn</code>.</p>"
        }
      ]
    },
    "control": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Data"
        },
        {
          "description": "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."
        }
      ]
    },
    "input": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Data"
        },
        {
          "description": "The input to be provided to the workflow execution."
        }
      ]
    },
    "executionStartToCloseTimeout": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DurationInSecondsOptional"
        },
        {
          "description": "<p>The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>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.</p> </note>"
        }
      ]
    },
    "taskList": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TaskList"
        },
        {
          "description": "<p>The name of the task list to be used for decision tasks of the child workflow execution.</p> <note> <p>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.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\\u0000-\\u001f</code> | <code>\\u007f-\\u009f</code>). Also, it must <i>not</i> be the literal string <code>arn</code>.</p>"
        }
      ]
    },
    "taskPriority": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TaskPriority"
        },
        {
          "description": "<p> 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 <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href=\"https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html\">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>"
        }
      ]
    },
    "taskStartToCloseTimeout": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DurationInSecondsOptional"
        },
        {
          "description": "<p>Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the <code>defaultTaskStartToCloseTimout</code> specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>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.</p> </note>"
        }
      ]
    },
    "childPolicy": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ChildPolicy"
        },
        {
          "description": "<p> If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> \u2013 The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> \u2013 A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> \u2013 No action is taken. The child executions continue to run.</p> </li> </ul> <note> <p>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.</p> </note>"
        }
      ]
    },
    "tagList": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TagList"
        },
        {
          "description": "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 <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> and specifying a <a>TagFilter</a>."
        }
      ]
    },
    "lambdaRole": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Arn"
        },
        {
          "description": "The IAM role attached to the child workflow execution."
        }
      ]
    }
  },
  "description": "<p>Provides the details of the <code>StartChildWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagList.member.N</code> \u2013 The key is \"swf:tagList.N\" where N is the tag number from 0 to 4, inclusive.</p> </li> <li> <p> <code>taskList</code> \u2013 String constraint. The key is <code>swf:taskList.name</code>.</p> </li> <li> <p> <code>workflowType.name</code> \u2013 String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code> \u2013 String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>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 <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href=\"https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html\">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "StartChildWorkflowExecutionDecisionAttributes"
}