/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SWF { namespace Model { /** *

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:

  • *

    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.

    • tagList.member.N – The key is * "swf:tagList.N" where N is the tag number from 0 to 4, inclusive.

    • *

      taskList – String constraint. The key is * swf:taskList.name.

    • * workflowType.name – String constraint. The key is * swf:workflowType.name.

    • * workflowType.version – String constraint. The key is * swf:workflowType.version.

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.

See Also:

AWS * API Reference

*/ class StartChildWorkflowExecutionDecisionAttributes { public: AWS_SWF_API StartChildWorkflowExecutionDecisionAttributes(); AWS_SWF_API StartChildWorkflowExecutionDecisionAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_SWF_API StartChildWorkflowExecutionDecisionAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SWF_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of the workflow execution to be started.

*/ inline const WorkflowType& GetWorkflowType() const{ return m_workflowType; } /** *

The type of the workflow execution to be started.

*/ inline bool WorkflowTypeHasBeenSet() const { return m_workflowTypeHasBeenSet; } /** *

The type of the workflow execution to be started.

*/ inline void SetWorkflowType(const WorkflowType& value) { m_workflowTypeHasBeenSet = true; m_workflowType = value; } /** *

The type of the workflow execution to be started.

*/ inline void SetWorkflowType(WorkflowType&& value) { m_workflowTypeHasBeenSet = true; m_workflowType = std::move(value); } /** *

The type of the workflow execution to be started.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithWorkflowType(const WorkflowType& value) { SetWorkflowType(value); return *this;} /** *

The type of the workflow execution to be started.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithWorkflowType(WorkflowType&& value) { SetWorkflowType(std::move(value)); return *this;} /** *

The workflowId of the workflow execution.

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.

*/ inline const Aws::String& GetWorkflowId() const{ return m_workflowId; } /** *

The workflowId of the workflow execution.

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.

*/ inline bool WorkflowIdHasBeenSet() const { return m_workflowIdHasBeenSet; } /** *

The workflowId of the workflow execution.

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.

*/ inline void SetWorkflowId(const Aws::String& value) { m_workflowIdHasBeenSet = true; m_workflowId = value; } /** *

The workflowId of the workflow execution.

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.

*/ inline void SetWorkflowId(Aws::String&& value) { m_workflowIdHasBeenSet = true; m_workflowId = std::move(value); } /** *

The workflowId of the workflow execution.

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.

*/ inline void SetWorkflowId(const char* value) { m_workflowIdHasBeenSet = true; m_workflowId.assign(value); } /** *

The workflowId of the workflow execution.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithWorkflowId(const Aws::String& value) { SetWorkflowId(value); return *this;} /** *

The workflowId of the workflow execution.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithWorkflowId(Aws::String&& value) { SetWorkflowId(std::move(value)); return *this;} /** *

The workflowId of the workflow execution.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithWorkflowId(const char* value) { SetWorkflowId(value); return *this;} /** *

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.

*/ inline const Aws::String& GetControl() const{ return m_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.

*/ inline bool ControlHasBeenSet() const { return m_controlHasBeenSet; } /** *

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.

*/ inline void SetControl(const Aws::String& value) { m_controlHasBeenSet = true; m_control = value; } /** *

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.

*/ inline void SetControl(Aws::String&& value) { m_controlHasBeenSet = true; m_control = std::move(value); } /** *

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.

*/ inline void SetControl(const char* value) { m_controlHasBeenSet = true; m_control.assign(value); } /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithControl(const Aws::String& value) { SetControl(value); return *this;} /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithControl(Aws::String&& value) { SetControl(std::move(value)); return *this;} /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithControl(const char* value) { SetControl(value); return *this;} /** *

The input to be provided to the workflow execution.

*/ inline const Aws::String& GetInput() const{ return m_input; } /** *

The input to be provided to the workflow execution.

*/ inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } /** *

The input to be provided to the workflow execution.

*/ inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } /** *

The input to be provided to the workflow execution.

*/ inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } /** *

The input to be provided to the workflow execution.

*/ inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } /** *

The input to be provided to the workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithInput(const Aws::String& value) { SetInput(value); return *this;} /** *

The input to be provided to the workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;} /** *

The input to be provided to the workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithInput(const char* value) { SetInput(value); return *this;} /** *

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.

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.

*/ inline const Aws::String& GetExecutionStartToCloseTimeout() const{ return m_executionStartToCloseTimeout; } /** *

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.

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.

*/ inline bool ExecutionStartToCloseTimeoutHasBeenSet() const { return m_executionStartToCloseTimeoutHasBeenSet; } /** *

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.

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.

*/ inline void SetExecutionStartToCloseTimeout(const Aws::String& value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout = value; } /** *

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.

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.

*/ inline void SetExecutionStartToCloseTimeout(Aws::String&& value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout = std::move(value); } /** *

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.

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.

*/ inline void SetExecutionStartToCloseTimeout(const char* value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout.assign(value); } /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithExecutionStartToCloseTimeout(const Aws::String& value) { SetExecutionStartToCloseTimeout(value); return *this;} /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithExecutionStartToCloseTimeout(Aws::String&& value) { SetExecutionStartToCloseTimeout(std::move(value)); return *this;} /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithExecutionStartToCloseTimeout(const char* value) { SetExecutionStartToCloseTimeout(value); return *this;} /** *

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

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.

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 be the literal string arn.

*/ inline const TaskList& GetTaskList() const{ return m_taskList; } /** *

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

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.

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 be the literal string arn.

*/ inline bool TaskListHasBeenSet() const { return m_taskListHasBeenSet; } /** *

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

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.

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 be the literal string arn.

*/ inline void SetTaskList(const TaskList& value) { m_taskListHasBeenSet = true; m_taskList = value; } /** *

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

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.

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 be the literal string arn.

*/ inline void SetTaskList(TaskList&& value) { m_taskListHasBeenSet = true; m_taskList = std::move(value); } /** *

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

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.

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 be the literal string arn.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskList(const TaskList& value) { SetTaskList(value); return *this;} /** *

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

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.

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 be the literal string arn.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskList(TaskList&& value) { SetTaskList(std::move(value)); return *this;} /** *

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 in the Amazon SWF Developer Guide.

*/ inline const Aws::String& GetTaskPriority() const{ return m_taskPriority; } /** *

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 in the Amazon SWF Developer Guide.

*/ inline bool TaskPriorityHasBeenSet() const { return m_taskPriorityHasBeenSet; } /** *

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 in the Amazon SWF Developer Guide.

*/ inline void SetTaskPriority(const Aws::String& value) { m_taskPriorityHasBeenSet = true; m_taskPriority = value; } /** *

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 in the Amazon SWF Developer Guide.

*/ inline void SetTaskPriority(Aws::String&& value) { m_taskPriorityHasBeenSet = true; m_taskPriority = std::move(value); } /** *

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 in the Amazon SWF Developer Guide.

*/ inline void SetTaskPriority(const char* value) { m_taskPriorityHasBeenSet = true; m_taskPriority.assign(value); } /** *

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 in the Amazon SWF Developer Guide.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskPriority(const Aws::String& value) { SetTaskPriority(value); return *this;} /** *

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 in the Amazon SWF Developer Guide.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskPriority(Aws::String&& value) { SetTaskPriority(std::move(value)); return *this;} /** *

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 in the Amazon SWF Developer Guide.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskPriority(const char* value) { SetTaskPriority(value); return *this;} /** *

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.

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.

*/ inline const Aws::String& GetTaskStartToCloseTimeout() const{ return m_taskStartToCloseTimeout; } /** *

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.

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.

*/ inline bool TaskStartToCloseTimeoutHasBeenSet() const { return m_taskStartToCloseTimeoutHasBeenSet; } /** *

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.

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.

*/ inline void SetTaskStartToCloseTimeout(const Aws::String& value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout = value; } /** *

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.

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.

*/ inline void SetTaskStartToCloseTimeout(Aws::String&& value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout = std::move(value); } /** *

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.

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.

*/ inline void SetTaskStartToCloseTimeout(const char* value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout.assign(value); } /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskStartToCloseTimeout(const Aws::String& value) { SetTaskStartToCloseTimeout(value); return *this;} /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskStartToCloseTimeout(Aws::String&& value) { SetTaskStartToCloseTimeout(std::move(value)); return *this;} /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTaskStartToCloseTimeout(const char* value) { SetTaskStartToCloseTimeout(value); return *this;} /** *

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.

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.

*/ inline const ChildPolicy& GetChildPolicy() const{ return m_childPolicy; } /** *

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.

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.

*/ inline bool ChildPolicyHasBeenSet() const { return m_childPolicyHasBeenSet; } /** *

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.

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.

*/ inline void SetChildPolicy(const ChildPolicy& value) { m_childPolicyHasBeenSet = true; m_childPolicy = value; } /** *

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.

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.

*/ inline void SetChildPolicy(ChildPolicy&& value) { m_childPolicyHasBeenSet = true; m_childPolicy = std::move(value); } /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithChildPolicy(const ChildPolicy& value) { SetChildPolicy(value); return *this;} /** *

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.

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithChildPolicy(ChildPolicy&& value) { SetChildPolicy(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Vector& GetTagList() const{ return m_tagList; } /** *

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.

*/ inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } /** *

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.

*/ inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } /** *

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.

*/ inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& AddTagList(const Aws::String& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& AddTagList(Aws::String&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } /** *

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.

*/ inline StartChildWorkflowExecutionDecisionAttributes& AddTagList(const char* value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } /** *

The IAM role attached to the child workflow execution.

*/ inline const Aws::String& GetLambdaRole() const{ return m_lambdaRole; } /** *

The IAM role attached to the child workflow execution.

*/ inline bool LambdaRoleHasBeenSet() const { return m_lambdaRoleHasBeenSet; } /** *

The IAM role attached to the child workflow execution.

*/ inline void SetLambdaRole(const Aws::String& value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole = value; } /** *

The IAM role attached to the child workflow execution.

*/ inline void SetLambdaRole(Aws::String&& value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole = std::move(value); } /** *

The IAM role attached to the child workflow execution.

*/ inline void SetLambdaRole(const char* value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole.assign(value); } /** *

The IAM role attached to the child workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithLambdaRole(const Aws::String& value) { SetLambdaRole(value); return *this;} /** *

The IAM role attached to the child workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithLambdaRole(Aws::String&& value) { SetLambdaRole(std::move(value)); return *this;} /** *

The IAM role attached to the child workflow execution.

*/ inline StartChildWorkflowExecutionDecisionAttributes& WithLambdaRole(const char* value) { SetLambdaRole(value); return *this;} private: WorkflowType m_workflowType; bool m_workflowTypeHasBeenSet = false; Aws::String m_workflowId; bool m_workflowIdHasBeenSet = false; Aws::String m_control; bool m_controlHasBeenSet = false; Aws::String m_input; bool m_inputHasBeenSet = false; Aws::String m_executionStartToCloseTimeout; bool m_executionStartToCloseTimeoutHasBeenSet = false; TaskList m_taskList; bool m_taskListHasBeenSet = false; Aws::String m_taskPriority; bool m_taskPriorityHasBeenSet = false; Aws::String m_taskStartToCloseTimeout; bool m_taskStartToCloseTimeoutHasBeenSet = false; ChildPolicy m_childPolicy; bool m_childPolicyHasBeenSet = false; Aws::Vector m_tagList; bool m_tagListHasBeenSet = false; Aws::String m_lambdaRole; bool m_lambdaRoleHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws