/** * 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 WorkflowExecutionContinuedAsNew * event.

See Also:

AWS * API Reference

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The input provided to the new workflow execution.

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

The ID of the DecisionTaskCompleted event corresponding to the * decision task that resulted in the ContinueAsNewWorkflowExecution * decision that started this execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline long long GetDecisionTaskCompletedEventId() const{ return m_decisionTaskCompletedEventId; } /** *

The ID of the DecisionTaskCompleted event corresponding to the * decision task that resulted in the ContinueAsNewWorkflowExecution * decision that started this execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline bool DecisionTaskCompletedEventIdHasBeenSet() const { return m_decisionTaskCompletedEventIdHasBeenSet; } /** *

The ID of the DecisionTaskCompleted event corresponding to the * decision task that resulted in the ContinueAsNewWorkflowExecution * decision that started this execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline void SetDecisionTaskCompletedEventId(long long value) { m_decisionTaskCompletedEventIdHasBeenSet = true; m_decisionTaskCompletedEventId = value; } /** *

The ID of the DecisionTaskCompleted event corresponding to the * decision task that resulted in the ContinueAsNewWorkflowExecution * decision that started this execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline WorkflowExecutionContinuedAsNewEventAttributes& WithDecisionTaskCompletedEventId(long long value) { SetDecisionTaskCompletedEventId(value); return *this;} /** *

The runId of the new workflow execution.

*/ inline const Aws::String& GetNewExecutionRunId() const{ return m_newExecutionRunId; } /** *

The runId of the new workflow execution.

*/ inline bool NewExecutionRunIdHasBeenSet() const { return m_newExecutionRunIdHasBeenSet; } /** *

The runId of the new workflow execution.

*/ inline void SetNewExecutionRunId(const Aws::String& value) { m_newExecutionRunIdHasBeenSet = true; m_newExecutionRunId = value; } /** *

The runId of the new workflow execution.

*/ inline void SetNewExecutionRunId(Aws::String&& value) { m_newExecutionRunIdHasBeenSet = true; m_newExecutionRunId = std::move(value); } /** *

The runId of the new workflow execution.

*/ inline void SetNewExecutionRunId(const char* value) { m_newExecutionRunIdHasBeenSet = true; m_newExecutionRunId.assign(value); } /** *

The runId of the new workflow execution.

*/ inline WorkflowExecutionContinuedAsNewEventAttributes& WithNewExecutionRunId(const Aws::String& value) { SetNewExecutionRunId(value); return *this;} /** *

The runId of the new workflow execution.

*/ inline WorkflowExecutionContinuedAsNewEventAttributes& WithNewExecutionRunId(Aws::String&& value) { SetNewExecutionRunId(std::move(value)); return *this;} /** *

The runId of the new workflow execution.

*/ inline WorkflowExecutionContinuedAsNewEventAttributes& WithNewExecutionRunId(const char* value) { SetNewExecutionRunId(value); return *this;} /** *

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The total duration allowed for the new workflow execution.

The * duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The task list to use for the decisions of the new (continued) workflow * execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The priority of the task to use for the decisions of the new (continued) * workflow execution.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The maximum duration of decision tasks for the new workflow execution.

*

The duration is specified in seconds, an integer greater than or equal to * 0. You can use NONE to specify unlimited duration.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The policy to use for the child workflow executions of the new execution if * it is terminated by calling the TerminateWorkflowExecution action * explicitly or due to an expired timeout.

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.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The list of tags associated with the new workflow execution.

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

The workflow type of this execution.

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

The workflow type of this execution.

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

The workflow type of this execution.

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

The workflow type of this execution.

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

The workflow type of this execution.

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

The workflow type of this execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

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

The IAM role to attach to the new (continued) workflow execution.

*/ inline WorkflowExecutionContinuedAsNewEventAttributes& WithLambdaRole(const char* value) { SetLambdaRole(value); return *this;} private: Aws::String m_input; bool m_inputHasBeenSet = false; long long m_decisionTaskCompletedEventId; bool m_decisionTaskCompletedEventIdHasBeenSet = false; Aws::String m_newExecutionRunId; bool m_newExecutionRunIdHasBeenSet = 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; WorkflowType m_workflowType; bool m_workflowTypeHasBeenSet = false; Aws::String m_lambdaRole; bool m_lambdaRoleHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws