/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SWF { namespace Model { /** *

Provides details of WorkflowExecutionStarted * event.

See Also:

AWS * API Reference

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The input provided to the workflow execution.

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

The maximum duration for this 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 maximum duration for this 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 maximum duration for this 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 maximum duration for this 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 maximum duration for this 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 maximum duration for this 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 WorkflowExecutionStartedEventAttributes& WithExecutionStartToCloseTimeout(const Aws::String& value) { SetExecutionStartToCloseTimeout(value); return *this;} /** *

The maximum duration for this 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 WorkflowExecutionStartedEventAttributes& WithExecutionStartToCloseTimeout(Aws::String&& value) { SetExecutionStartToCloseTimeout(std::move(value)); return *this;} /** *

The maximum duration for this 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 WorkflowExecutionStartedEventAttributes& WithExecutionStartToCloseTimeout(const char* value) { SetExecutionStartToCloseTimeout(value); return *this;} /** *

The maximum duration of decision tasks for this workflow type.

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 this workflow type.

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 this workflow type.

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 this workflow type.

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 this workflow type.

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 this workflow type.

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

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

The maximum duration of decision tasks for this workflow type.

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

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

The maximum duration of decision tasks for this workflow type.

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

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

The policy to use for the child workflow executions if this workflow * execution 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 if this workflow * execution 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 if this workflow * execution 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 if this workflow * execution 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 if this workflow * execution 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 WorkflowExecutionStartedEventAttributes& WithChildPolicy(const ChildPolicy& value) { SetChildPolicy(value); return *this;} /** *

The policy to use for the child workflow executions if this workflow * execution 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 WorkflowExecutionStartedEventAttributes& WithChildPolicy(ChildPolicy&& value) { SetChildPolicy(std::move(value)); return *this;} /** *

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The name of the task list for scheduling the decision tasks for this workflow * execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

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

The priority of the decision tasks in the workflow execution.

*/ inline WorkflowExecutionStartedEventAttributes& WithTaskPriority(const char* value) { SetTaskPriority(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 WorkflowExecutionStartedEventAttributes& WithWorkflowType(const WorkflowType& value) { SetWorkflowType(value); return *this;} /** *

The workflow type of this execution.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

The list of tags associated with this workflow execution. An execution can * have up to 5 tags.

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

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline const Aws::String& GetContinuedExecutionRunId() const{ return m_continuedExecutionRunId; } /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline bool ContinuedExecutionRunIdHasBeenSet() const { return m_continuedExecutionRunIdHasBeenSet; } /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline void SetContinuedExecutionRunId(const Aws::String& value) { m_continuedExecutionRunIdHasBeenSet = true; m_continuedExecutionRunId = value; } /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline void SetContinuedExecutionRunId(Aws::String&& value) { m_continuedExecutionRunIdHasBeenSet = true; m_continuedExecutionRunId = std::move(value); } /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline void SetContinuedExecutionRunId(const char* value) { m_continuedExecutionRunIdHasBeenSet = true; m_continuedExecutionRunId.assign(value); } /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline WorkflowExecutionStartedEventAttributes& WithContinuedExecutionRunId(const Aws::String& value) { SetContinuedExecutionRunId(value); return *this;} /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline WorkflowExecutionStartedEventAttributes& WithContinuedExecutionRunId(Aws::String&& value) { SetContinuedExecutionRunId(std::move(value)); return *this;} /** *

If this workflow execution was started due to a * ContinueAsNewWorkflowExecution decision, then it contains the * runId of the previous workflow execution that was closed and * continued as this execution.

*/ inline WorkflowExecutionStartedEventAttributes& WithContinuedExecutionRunId(const char* value) { SetContinuedExecutionRunId(value); return *this;} /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline const WorkflowExecution& GetParentWorkflowExecution() const{ return m_parentWorkflowExecution; } /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline bool ParentWorkflowExecutionHasBeenSet() const { return m_parentWorkflowExecutionHasBeenSet; } /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline void SetParentWorkflowExecution(const WorkflowExecution& value) { m_parentWorkflowExecutionHasBeenSet = true; m_parentWorkflowExecution = value; } /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline void SetParentWorkflowExecution(WorkflowExecution&& value) { m_parentWorkflowExecutionHasBeenSet = true; m_parentWorkflowExecution = std::move(value); } /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline WorkflowExecutionStartedEventAttributes& WithParentWorkflowExecution(const WorkflowExecution& value) { SetParentWorkflowExecution(value); return *this;} /** *

The source workflow execution that started this workflow execution. The * member isn't set if the workflow execution was not started by a workflow.

*/ inline WorkflowExecutionStartedEventAttributes& WithParentWorkflowExecution(WorkflowExecution&& value) { SetParentWorkflowExecution(std::move(value)); return *this;} /** *

The ID of the StartChildWorkflowExecutionInitiated event * corresponding to the StartChildWorkflowExecution Decision to * start this workflow execution. The source event with this ID can be found in the * history of the source workflow execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline long long GetParentInitiatedEventId() const{ return m_parentInitiatedEventId; } /** *

The ID of the StartChildWorkflowExecutionInitiated event * corresponding to the StartChildWorkflowExecution Decision to * start this workflow execution. The source event with this ID can be found in the * history of the source workflow execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline bool ParentInitiatedEventIdHasBeenSet() const { return m_parentInitiatedEventIdHasBeenSet; } /** *

The ID of the StartChildWorkflowExecutionInitiated event * corresponding to the StartChildWorkflowExecution Decision to * start this workflow execution. The source event with this ID can be found in the * history of the source workflow execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline void SetParentInitiatedEventId(long long value) { m_parentInitiatedEventIdHasBeenSet = true; m_parentInitiatedEventId = value; } /** *

The ID of the StartChildWorkflowExecutionInitiated event * corresponding to the StartChildWorkflowExecution Decision to * start this workflow execution. The source event with this ID can be found in the * history of the source workflow execution. This information can be useful for * diagnosing problems by tracing back the chain of events leading up to this * event.

*/ inline WorkflowExecutionStartedEventAttributes& WithParentInitiatedEventId(long long value) { SetParentInitiatedEventId(value); return *this;} /** *

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

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

The IAM role attached to the workflow execution.

*/ inline WorkflowExecutionStartedEventAttributes& WithLambdaRole(const char* value) { SetLambdaRole(value); return *this;} private: Aws::String m_input; bool m_inputHasBeenSet = false; Aws::String m_executionStartToCloseTimeout; bool m_executionStartToCloseTimeoutHasBeenSet = false; Aws::String m_taskStartToCloseTimeout; bool m_taskStartToCloseTimeoutHasBeenSet = false; ChildPolicy m_childPolicy; bool m_childPolicyHasBeenSet = false; TaskList m_taskList; bool m_taskListHasBeenSet = false; Aws::String m_taskPriority; bool m_taskPriorityHasBeenSet = false; WorkflowType m_workflowType; bool m_workflowTypeHasBeenSet = false; Aws::Vector m_tagList; bool m_tagListHasBeenSet = false; Aws::String m_continuedExecutionRunId; bool m_continuedExecutionRunIdHasBeenSet = false; WorkflowExecution m_parentWorkflowExecution; bool m_parentWorkflowExecutionHasBeenSet = false; long long m_parentInitiatedEventId; bool m_parentInitiatedEventIdHasBeenSet = false; Aws::String m_lambdaRole; bool m_lambdaRoleHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws