/** * 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 #include namespace Aws { namespace SWF { namespace Model { /** */ class StartWorkflowExecutionRequest : public SWFRequest { public: AWS_SWF_API StartWorkflowExecutionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartWorkflowExecution"; } AWS_SWF_API Aws::String SerializePayload() const override; AWS_SWF_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the domain in which the workflow execution is created.

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& GetDomain() const{ return m_domain; } /** *

The name of the domain in which the workflow execution is created.

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 DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The name of the domain in which the workflow execution is created.

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 SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The name of the domain in which the workflow execution is created.

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 SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The name of the domain in which the workflow execution is created.

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 SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The name of the domain in which the workflow execution is created.

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 StartWorkflowExecutionRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The name of the domain in which the workflow execution is created.

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 StartWorkflowExecutionRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The name of the domain in which the workflow execution is created.

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 StartWorkflowExecutionRequest& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 StartWorkflowExecutionRequest& WithWorkflowId(const Aws::String& value) { SetWorkflowId(value); return *this;} /** *

The user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 StartWorkflowExecutionRequest& WithWorkflowId(Aws::String&& value) { SetWorkflowId(std::move(value)); return *this;} /** *

The user defined identifier associated with the workflow execution. You can * use this to associate a custom identifier with the workflow execution. You may * specify the same identifier if a workflow execution is logically a * restart of a previous execution. You cannot have two open workflow * executions with the same workflowId at the same time within the * same domain.

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 StartWorkflowExecutionRequest& WithWorkflowId(const char* value) { SetWorkflowId(value); return *this;} /** *

The type of the workflow to start.

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

The type of the workflow to start.

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

The type of the workflow to start.

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

The type of the workflow to start.

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

The type of the workflow to start.

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

The type of the workflow to start.

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

The task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 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 task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 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 task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 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 task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 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 task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 contain a : (colon), / * (slash), | (vertical bar), or any control characters * (\u0000-\u001f | \u007f-\u009f). Also, it must * not be the literal string arn.

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

The task list to use for the decision tasks generated for this workflow * execution. This overrides the defaultTaskList specified when * registering the workflow type.

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 contain a : (colon), / * (slash), | (vertical bar), or any control characters * (\u0000-\u001f | \u007f-\u009f). Also, it must * not be the literal string arn.

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

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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; } /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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; } /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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; } /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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); } /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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); } /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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 StartWorkflowExecutionRequest& WithTaskPriority(const Aws::String& value) { SetTaskPriority(value); return *this;} /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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 StartWorkflowExecutionRequest& WithTaskPriority(Aws::String&& value) { SetTaskPriority(std::move(value)); return *this;} /** *

The task priority to use for this workflow execution. This overrides any * default priority that was assigned when the workflow type was registered. If not * set, then the default task priority for the workflow type is used. 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 StartWorkflowExecutionRequest& WithTaskPriority(const char* value) { SetTaskPriority(value); return *this;} /** *

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

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

The input for the workflow execution. This is a free form string which should * be meaningful to the workflow you are starting. This input is made * available to the new workflow execution in the * WorkflowExecutionStarted history event.

*/ inline StartWorkflowExecutionRequest& 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, a fault is returned.

* */ inline StartWorkflowExecutionRequest& 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, a fault is returned.

* */ inline StartWorkflowExecutionRequest& 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. Exceeding this limit causes the workflow execution to * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot * specify a value of "NONE" for this timeout; there is a one-year max limit on the * time that a workflow execution can run.

An execution * start-to-close timeout must be specified either through this parameter or as a * default when the workflow type is registered. If neither this parameter nor a * default execution start-to-close timeout is specified, a fault is returned.

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

The list of tags to associate with the workflow execution. You can specify a * maximum of 5 tags. 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 workflow execution. You can specify a * maximum of 5 tags. 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 workflow execution. You can specify a * maximum of 5 tags. 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 workflow execution. You can specify a * maximum of 5 tags. 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 workflow execution. You can specify a * maximum of 5 tags. You can list workflow executions with a specific tag by * calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions * and specifying a TagFilter.

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

The list of tags to associate with the workflow execution. You can specify a * maximum of 5 tags. You can list workflow executions with a specific tag by * calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions * and specifying a TagFilter.

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

The list of tags to associate with the workflow execution. You can specify a * maximum of 5 tags. You can list workflow executions with a specific tag by * calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions * and specifying a TagFilter.

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

The list of tags to associate with the workflow execution. You can specify a * maximum of 5 tags. You can list workflow executions with a specific tag by * calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions * and specifying a TagFilter.

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

The list of tags to associate with the workflow execution. You can specify a * maximum of 5 tags. You can list workflow executions with a specific tag by * calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions * and specifying a TagFilter.

*/ inline StartWorkflowExecutionRequest& AddTagList(const char* value) { m_tagListHasBeenSet = true; m_tagList.push_back(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 StartWorkflowExecutionRequest& 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 StartWorkflowExecutionRequest& 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 StartWorkflowExecutionRequest& WithTaskStartToCloseTimeout(const char* value) { SetTaskStartToCloseTimeout(value); return *this;} /** *

If set, specifies the policy to use for the child workflow executions of this * workflow execution if it 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 of this * workflow execution if it 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 of this * workflow execution if it 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 of this * workflow execution if it 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 of this * workflow execution if it 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 StartWorkflowExecutionRequest& WithChildPolicy(const ChildPolicy& value) { SetChildPolicy(value); return *this;} /** *

If set, specifies the policy to use for the child workflow executions of this * workflow execution if it 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 StartWorkflowExecutionRequest& WithChildPolicy(ChildPolicy&& value) { SetChildPolicy(std::move(value)); return *this;} /** *

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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

The IAM role to attach to this workflow execution.

Executions * of this workflow type need IAM roles to invoke Lambda functions. If you don't * attach an IAM role, any attempt to schedule a Lambda task fails. This results in * a ScheduleLambdaFunctionFailed history event. For more information, * see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html * in the Amazon SWF Developer Guide.

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