/**
* 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
#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
{
/**
* Specifies a decision made by the decider. A decision can be one of these
* types:
-
CancelTimer
– Cancels a previously started
* timer and records a TimerCanceled
event in the history.
* -
CancelWorkflowExecution
– Closes the workflow execution
* and records a WorkflowExecutionCanceled
event in the history.
* -
CompleteWorkflowExecution
– Closes the workflow
* execution and records a WorkflowExecutionCompleted
event in the
* history .
-
ContinueAsNewWorkflowExecution
–
* Closes the workflow execution and starts a new workflow execution of the same
* type using the same workflow ID and a unique run Id. A
* WorkflowExecutionContinuedAsNew
event is recorded in the
* history.
-
FailWorkflowExecution
– Closes the
* workflow execution and records a WorkflowExecutionFailed
event in
* the history.
-
RecordMarker
– Records a
* MarkerRecorded
event in the history. Markers can be used for adding
* custom information in the history for instance to let deciders know that they
* don't need to look at the history beyond the marker event.
-
* RequestCancelActivityTask
– Attempts to cancel a previously
* scheduled activity task. If the activity task was scheduled but has not been
* assigned to a worker, then it is canceled. If the activity task was already
* assigned to a worker, then the worker is informed that cancellation has been
* requested in the response to RecordActivityTaskHeartbeat.
-
*
RequestCancelExternalWorkflowExecution
– Requests that a
* request be made to cancel the specified external workflow execution and records
* a RequestCancelExternalWorkflowExecutionInitiated
event in the
* history.
-
ScheduleActivityTask
– Schedules an
* activity task.
-
SignalExternalWorkflowExecution
–
* Requests a signal to be delivered to the specified external workflow execution
* and records a SignalExternalWorkflowExecutionInitiated
event in the
* history.
-
StartChildWorkflowExecution
– Requests
* that a child workflow execution be started and records a
* StartChildWorkflowExecutionInitiated
event in the history. The
* child workflow execution is a separate workflow execution with its own
* history.
-
StartTimer
– Starts a timer for this
* workflow execution and records a TimerStarted
event in the history.
* This timer fires after the specified delay and record a TimerFired
* event.
Access Control
If you grant permission
* to use RespondDecisionTaskCompleted
, you can use IAM policies to
* express permissions for the list of decisions returned by this action as if they
* were members of the API. Treating decisions as a pseudo API maintains a uniform
* conceptual model and helps keep policies readable. For details and example IAM
* policies, see Using
* IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer
* Guide.
Decision Failure
Decisions can fail for
* several reasons
-
The ordering of decisions should follow a
* logical flow. Some decisions might not make sense in the current context of the
* workflow execution and therefore fails.
-
A limit on your
* account was reached.
-
The decision lacks sufficient
* permissions.
One of the following events might be added to
* the history to indicate an error. The event attribute's cause
* parameter indicates the cause. If cause
is set to
* OPERATION_NOT_PERMITTED
, the decision failed because it lacked
* sufficient permissions. For details and example IAM policies, see Using
* IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer
* Guide.
-
ScheduleActivityTaskFailed
– A
* ScheduleActivityTask
decision failed. This could happen if the
* activity type specified in the decision isn't registered, is in a deprecated
* state, or the decision isn't properly configured.
-
* RequestCancelActivityTaskFailed
– A
* RequestCancelActivityTask
decision failed. This could happen if
* there is no open activity task with the specified activityId.
-
* StartTimerFailed
– A StartTimer
decision failed. This
* could happen if there is another open timer with the same timerId.
* -
CancelTimerFailed
– A CancelTimer
decision
* failed. This could happen if there is no open timer with the specified
* timerId.
-
StartChildWorkflowExecutionFailed
– A
* StartChildWorkflowExecution
decision failed. This could happen if
* the workflow type specified isn't registered, is deprecated, or the decision
* isn't properly configured.
-
* SignalExternalWorkflowExecutionFailed
– A
* SignalExternalWorkflowExecution
decision failed. This could happen
* if the workflowID
specified in the decision was incorrect.
* -
RequestCancelExternalWorkflowExecutionFailed
– A
* RequestCancelExternalWorkflowExecution
decision failed. This could
* happen if the workflowID
specified in the decision was
* incorrect.
-
CancelWorkflowExecutionFailed
– A
* CancelWorkflowExecution
decision failed. This could happen if there
* is an unhandled decision task pending in the workflow execution.
-
*
CompleteWorkflowExecutionFailed
– A
* CompleteWorkflowExecution
decision failed. This could happen if
* there is an unhandled decision task pending in the workflow execution.
* -
ContinueAsNewWorkflowExecutionFailed
– A
* ContinueAsNewWorkflowExecution
decision failed. This could happen
* if there is an unhandled decision task pending in the workflow execution or the
* ContinueAsNewWorkflowExecution decision was not configured correctly.
* -
FailWorkflowExecutionFailed
– A
* FailWorkflowExecution
decision failed. This could happen if there
* is an unhandled decision task pending in the workflow execution.
* The preceding error events might occur due to an error in the decider logic,
* which might put the workflow execution in an unstable state The cause field in
* the event structure for the error event indicates the cause of the error.
* A workflow execution may be closed by the decider by returning one of
* the following decisions when completing a decision task:
* CompleteWorkflowExecution
, FailWorkflowExecution
,
* CancelWorkflowExecution
and
* ContinueAsNewWorkflowExecution
. An UnhandledDecision
* fault is returned if a workflow closing decision is specified and a signal or
* activity event had been added to the history while the decision task was being
* performed by the decider. Unlike the above situations which are logic issues,
* this fault is always possible because of race conditions in a distributed
* system. The right action here is to call RespondDecisionTaskCompleted
* without any decisions. This would result in another decision task with these new
* events included in the history. The decider should handle the new events and may
* decide to close the workflow execution.
How to Code a
* Decision
You code a decision by first setting the decision type
* field to one of the above decision values, and then set the corresponding
* attributes field shown below:
See Also:
AWS API
* Reference
*/
class Decision
{
public:
AWS_SWF_API Decision();
AWS_SWF_API Decision(Aws::Utils::Json::JsonView jsonValue);
AWS_SWF_API Decision& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SWF_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Specifies the type of the decision.
*/
inline const DecisionType& GetDecisionType() const{ return m_decisionType; }
/**
* Specifies the type of the decision.
*/
inline bool DecisionTypeHasBeenSet() const { return m_decisionTypeHasBeenSet; }
/**
* Specifies the type of the decision.
*/
inline void SetDecisionType(const DecisionType& value) { m_decisionTypeHasBeenSet = true; m_decisionType = value; }
/**
* Specifies the type of the decision.
*/
inline void SetDecisionType(DecisionType&& value) { m_decisionTypeHasBeenSet = true; m_decisionType = std::move(value); }
/**
* Specifies the type of the decision.
*/
inline Decision& WithDecisionType(const DecisionType& value) { SetDecisionType(value); return *this;}
/**
* Specifies the type of the decision.
*/
inline Decision& WithDecisionType(DecisionType&& value) { SetDecisionType(std::move(value)); return *this;}
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline const ScheduleActivityTaskDecisionAttributes& GetScheduleActivityTaskDecisionAttributes() const{ return m_scheduleActivityTaskDecisionAttributes; }
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline bool ScheduleActivityTaskDecisionAttributesHasBeenSet() const { return m_scheduleActivityTaskDecisionAttributesHasBeenSet; }
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline void SetScheduleActivityTaskDecisionAttributes(const ScheduleActivityTaskDecisionAttributes& value) { m_scheduleActivityTaskDecisionAttributesHasBeenSet = true; m_scheduleActivityTaskDecisionAttributes = value; }
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline void SetScheduleActivityTaskDecisionAttributes(ScheduleActivityTaskDecisionAttributes&& value) { m_scheduleActivityTaskDecisionAttributesHasBeenSet = true; m_scheduleActivityTaskDecisionAttributes = std::move(value); }
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline Decision& WithScheduleActivityTaskDecisionAttributes(const ScheduleActivityTaskDecisionAttributes& value) { SetScheduleActivityTaskDecisionAttributes(value); return *this;}
/**
* Provides the details of the ScheduleActivityTask
decision. It
* isn't set for other decision types.
*/
inline Decision& WithScheduleActivityTaskDecisionAttributes(ScheduleActivityTaskDecisionAttributes&& value) { SetScheduleActivityTaskDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline const RequestCancelActivityTaskDecisionAttributes& GetRequestCancelActivityTaskDecisionAttributes() const{ return m_requestCancelActivityTaskDecisionAttributes; }
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline bool RequestCancelActivityTaskDecisionAttributesHasBeenSet() const { return m_requestCancelActivityTaskDecisionAttributesHasBeenSet; }
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline void SetRequestCancelActivityTaskDecisionAttributes(const RequestCancelActivityTaskDecisionAttributes& value) { m_requestCancelActivityTaskDecisionAttributesHasBeenSet = true; m_requestCancelActivityTaskDecisionAttributes = value; }
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline void SetRequestCancelActivityTaskDecisionAttributes(RequestCancelActivityTaskDecisionAttributes&& value) { m_requestCancelActivityTaskDecisionAttributesHasBeenSet = true; m_requestCancelActivityTaskDecisionAttributes = std::move(value); }
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline Decision& WithRequestCancelActivityTaskDecisionAttributes(const RequestCancelActivityTaskDecisionAttributes& value) { SetRequestCancelActivityTaskDecisionAttributes(value); return *this;}
/**
* Provides the details of the RequestCancelActivityTask
decision.
* It isn't set for other decision types.
*/
inline Decision& WithRequestCancelActivityTaskDecisionAttributes(RequestCancelActivityTaskDecisionAttributes&& value) { SetRequestCancelActivityTaskDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline const CompleteWorkflowExecutionDecisionAttributes& GetCompleteWorkflowExecutionDecisionAttributes() const{ return m_completeWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline bool CompleteWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_completeWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline void SetCompleteWorkflowExecutionDecisionAttributes(const CompleteWorkflowExecutionDecisionAttributes& value) { m_completeWorkflowExecutionDecisionAttributesHasBeenSet = true; m_completeWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline void SetCompleteWorkflowExecutionDecisionAttributes(CompleteWorkflowExecutionDecisionAttributes&& value) { m_completeWorkflowExecutionDecisionAttributesHasBeenSet = true; m_completeWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline Decision& WithCompleteWorkflowExecutionDecisionAttributes(const CompleteWorkflowExecutionDecisionAttributes& value) { SetCompleteWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the CompleteWorkflowExecution
decision.
* It isn't set for other decision types.
*/
inline Decision& WithCompleteWorkflowExecutionDecisionAttributes(CompleteWorkflowExecutionDecisionAttributes&& value) { SetCompleteWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline const FailWorkflowExecutionDecisionAttributes& GetFailWorkflowExecutionDecisionAttributes() const{ return m_failWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline bool FailWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_failWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline void SetFailWorkflowExecutionDecisionAttributes(const FailWorkflowExecutionDecisionAttributes& value) { m_failWorkflowExecutionDecisionAttributesHasBeenSet = true; m_failWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline void SetFailWorkflowExecutionDecisionAttributes(FailWorkflowExecutionDecisionAttributes&& value) { m_failWorkflowExecutionDecisionAttributesHasBeenSet = true; m_failWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline Decision& WithFailWorkflowExecutionDecisionAttributes(const FailWorkflowExecutionDecisionAttributes& value) { SetFailWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the FailWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline Decision& WithFailWorkflowExecutionDecisionAttributes(FailWorkflowExecutionDecisionAttributes&& value) { SetFailWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline const CancelWorkflowExecutionDecisionAttributes& GetCancelWorkflowExecutionDecisionAttributes() const{ return m_cancelWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline bool CancelWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_cancelWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline void SetCancelWorkflowExecutionDecisionAttributes(const CancelWorkflowExecutionDecisionAttributes& value) { m_cancelWorkflowExecutionDecisionAttributesHasBeenSet = true; m_cancelWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline void SetCancelWorkflowExecutionDecisionAttributes(CancelWorkflowExecutionDecisionAttributes&& value) { m_cancelWorkflowExecutionDecisionAttributesHasBeenSet = true; m_cancelWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline Decision& WithCancelWorkflowExecutionDecisionAttributes(const CancelWorkflowExecutionDecisionAttributes& value) { SetCancelWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the CancelWorkflowExecution
decision. It
* isn't set for other decision types.
*/
inline Decision& WithCancelWorkflowExecutionDecisionAttributes(CancelWorkflowExecutionDecisionAttributes&& value) { SetCancelWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline const ContinueAsNewWorkflowExecutionDecisionAttributes& GetContinueAsNewWorkflowExecutionDecisionAttributes() const{ return m_continueAsNewWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline bool ContinueAsNewWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetContinueAsNewWorkflowExecutionDecisionAttributes(const ContinueAsNewWorkflowExecutionDecisionAttributes& value) { m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet = true; m_continueAsNewWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetContinueAsNewWorkflowExecutionDecisionAttributes(ContinueAsNewWorkflowExecutionDecisionAttributes&& value) { m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet = true; m_continueAsNewWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithContinueAsNewWorkflowExecutionDecisionAttributes(const ContinueAsNewWorkflowExecutionDecisionAttributes& value) { SetContinueAsNewWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the ContinueAsNewWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithContinueAsNewWorkflowExecutionDecisionAttributes(ContinueAsNewWorkflowExecutionDecisionAttributes&& value) { SetContinueAsNewWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline const RecordMarkerDecisionAttributes& GetRecordMarkerDecisionAttributes() const{ return m_recordMarkerDecisionAttributes; }
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline bool RecordMarkerDecisionAttributesHasBeenSet() const { return m_recordMarkerDecisionAttributesHasBeenSet; }
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline void SetRecordMarkerDecisionAttributes(const RecordMarkerDecisionAttributes& value) { m_recordMarkerDecisionAttributesHasBeenSet = true; m_recordMarkerDecisionAttributes = value; }
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline void SetRecordMarkerDecisionAttributes(RecordMarkerDecisionAttributes&& value) { m_recordMarkerDecisionAttributesHasBeenSet = true; m_recordMarkerDecisionAttributes = std::move(value); }
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline Decision& WithRecordMarkerDecisionAttributes(const RecordMarkerDecisionAttributes& value) { SetRecordMarkerDecisionAttributes(value); return *this;}
/**
* Provides the details of the RecordMarker
decision. It isn't set
* for other decision types.
*/
inline Decision& WithRecordMarkerDecisionAttributes(RecordMarkerDecisionAttributes&& value) { SetRecordMarkerDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline const StartTimerDecisionAttributes& GetStartTimerDecisionAttributes() const{ return m_startTimerDecisionAttributes; }
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline bool StartTimerDecisionAttributesHasBeenSet() const { return m_startTimerDecisionAttributesHasBeenSet; }
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline void SetStartTimerDecisionAttributes(const StartTimerDecisionAttributes& value) { m_startTimerDecisionAttributesHasBeenSet = true; m_startTimerDecisionAttributes = value; }
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline void SetStartTimerDecisionAttributes(StartTimerDecisionAttributes&& value) { m_startTimerDecisionAttributesHasBeenSet = true; m_startTimerDecisionAttributes = std::move(value); }
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline Decision& WithStartTimerDecisionAttributes(const StartTimerDecisionAttributes& value) { SetStartTimerDecisionAttributes(value); return *this;}
/**
* Provides the details of the StartTimer
decision. It isn't set
* for other decision types.
*/
inline Decision& WithStartTimerDecisionAttributes(StartTimerDecisionAttributes&& value) { SetStartTimerDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline const CancelTimerDecisionAttributes& GetCancelTimerDecisionAttributes() const{ return m_cancelTimerDecisionAttributes; }
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline bool CancelTimerDecisionAttributesHasBeenSet() const { return m_cancelTimerDecisionAttributesHasBeenSet; }
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline void SetCancelTimerDecisionAttributes(const CancelTimerDecisionAttributes& value) { m_cancelTimerDecisionAttributesHasBeenSet = true; m_cancelTimerDecisionAttributes = value; }
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline void SetCancelTimerDecisionAttributes(CancelTimerDecisionAttributes&& value) { m_cancelTimerDecisionAttributesHasBeenSet = true; m_cancelTimerDecisionAttributes = std::move(value); }
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline Decision& WithCancelTimerDecisionAttributes(const CancelTimerDecisionAttributes& value) { SetCancelTimerDecisionAttributes(value); return *this;}
/**
* Provides the details of the CancelTimer
decision. It isn't set
* for other decision types.
*/
inline Decision& WithCancelTimerDecisionAttributes(CancelTimerDecisionAttributes&& value) { SetCancelTimerDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline const SignalExternalWorkflowExecutionDecisionAttributes& GetSignalExternalWorkflowExecutionDecisionAttributes() const{ return m_signalExternalWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline bool SignalExternalWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetSignalExternalWorkflowExecutionDecisionAttributes(const SignalExternalWorkflowExecutionDecisionAttributes& value) { m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_signalExternalWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetSignalExternalWorkflowExecutionDecisionAttributes(SignalExternalWorkflowExecutionDecisionAttributes&& value) { m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_signalExternalWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithSignalExternalWorkflowExecutionDecisionAttributes(const SignalExternalWorkflowExecutionDecisionAttributes& value) { SetSignalExternalWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the SignalExternalWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithSignalExternalWorkflowExecutionDecisionAttributes(SignalExternalWorkflowExecutionDecisionAttributes&& value) { SetSignalExternalWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline const RequestCancelExternalWorkflowExecutionDecisionAttributes& GetRequestCancelExternalWorkflowExecutionDecisionAttributes() const{ return m_requestCancelExternalWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline bool RequestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline void SetRequestCancelExternalWorkflowExecutionDecisionAttributes(const RequestCancelExternalWorkflowExecutionDecisionAttributes& value) { m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_requestCancelExternalWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline void SetRequestCancelExternalWorkflowExecutionDecisionAttributes(RequestCancelExternalWorkflowExecutionDecisionAttributes&& value) { m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_requestCancelExternalWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline Decision& WithRequestCancelExternalWorkflowExecutionDecisionAttributes(const RequestCancelExternalWorkflowExecutionDecisionAttributes& value) { SetRequestCancelExternalWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the
* RequestCancelExternalWorkflowExecution
decision. It isn't set for
* other decision types.
*/
inline Decision& WithRequestCancelExternalWorkflowExecutionDecisionAttributes(RequestCancelExternalWorkflowExecutionDecisionAttributes&& value) { SetRequestCancelExternalWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline const StartChildWorkflowExecutionDecisionAttributes& GetStartChildWorkflowExecutionDecisionAttributes() const{ return m_startChildWorkflowExecutionDecisionAttributes; }
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline bool StartChildWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_startChildWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetStartChildWorkflowExecutionDecisionAttributes(const StartChildWorkflowExecutionDecisionAttributes& value) { m_startChildWorkflowExecutionDecisionAttributesHasBeenSet = true; m_startChildWorkflowExecutionDecisionAttributes = value; }
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline void SetStartChildWorkflowExecutionDecisionAttributes(StartChildWorkflowExecutionDecisionAttributes&& value) { m_startChildWorkflowExecutionDecisionAttributesHasBeenSet = true; m_startChildWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithStartChildWorkflowExecutionDecisionAttributes(const StartChildWorkflowExecutionDecisionAttributes& value) { SetStartChildWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* Provides the details of the StartChildWorkflowExecution
* decision. It isn't set for other decision types.
*/
inline Decision& WithStartChildWorkflowExecutionDecisionAttributes(StartChildWorkflowExecutionDecisionAttributes&& value) { SetStartChildWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline const ScheduleLambdaFunctionDecisionAttributes& GetScheduleLambdaFunctionDecisionAttributes() const{ return m_scheduleLambdaFunctionDecisionAttributes; }
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline bool ScheduleLambdaFunctionDecisionAttributesHasBeenSet() const { return m_scheduleLambdaFunctionDecisionAttributesHasBeenSet; }
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline void SetScheduleLambdaFunctionDecisionAttributes(const ScheduleLambdaFunctionDecisionAttributes& value) { m_scheduleLambdaFunctionDecisionAttributesHasBeenSet = true; m_scheduleLambdaFunctionDecisionAttributes = value; }
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline void SetScheduleLambdaFunctionDecisionAttributes(ScheduleLambdaFunctionDecisionAttributes&& value) { m_scheduleLambdaFunctionDecisionAttributesHasBeenSet = true; m_scheduleLambdaFunctionDecisionAttributes = std::move(value); }
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline Decision& WithScheduleLambdaFunctionDecisionAttributes(const ScheduleLambdaFunctionDecisionAttributes& value) { SetScheduleLambdaFunctionDecisionAttributes(value); return *this;}
/**
* Provides the details of the ScheduleLambdaFunction
decision. It
* isn't set for other decision types.
*/
inline Decision& WithScheduleLambdaFunctionDecisionAttributes(ScheduleLambdaFunctionDecisionAttributes&& value) { SetScheduleLambdaFunctionDecisionAttributes(std::move(value)); return *this;}
private:
DecisionType m_decisionType;
bool m_decisionTypeHasBeenSet = false;
ScheduleActivityTaskDecisionAttributes m_scheduleActivityTaskDecisionAttributes;
bool m_scheduleActivityTaskDecisionAttributesHasBeenSet = false;
RequestCancelActivityTaskDecisionAttributes m_requestCancelActivityTaskDecisionAttributes;
bool m_requestCancelActivityTaskDecisionAttributesHasBeenSet = false;
CompleteWorkflowExecutionDecisionAttributes m_completeWorkflowExecutionDecisionAttributes;
bool m_completeWorkflowExecutionDecisionAttributesHasBeenSet = false;
FailWorkflowExecutionDecisionAttributes m_failWorkflowExecutionDecisionAttributes;
bool m_failWorkflowExecutionDecisionAttributesHasBeenSet = false;
CancelWorkflowExecutionDecisionAttributes m_cancelWorkflowExecutionDecisionAttributes;
bool m_cancelWorkflowExecutionDecisionAttributesHasBeenSet = false;
ContinueAsNewWorkflowExecutionDecisionAttributes m_continueAsNewWorkflowExecutionDecisionAttributes;
bool m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet = false;
RecordMarkerDecisionAttributes m_recordMarkerDecisionAttributes;
bool m_recordMarkerDecisionAttributesHasBeenSet = false;
StartTimerDecisionAttributes m_startTimerDecisionAttributes;
bool m_startTimerDecisionAttributesHasBeenSet = false;
CancelTimerDecisionAttributes m_cancelTimerDecisionAttributes;
bool m_cancelTimerDecisionAttributesHasBeenSet = false;
SignalExternalWorkflowExecutionDecisionAttributes m_signalExternalWorkflowExecutionDecisionAttributes;
bool m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet = false;
RequestCancelExternalWorkflowExecutionDecisionAttributes m_requestCancelExternalWorkflowExecutionDecisionAttributes;
bool m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet = false;
StartChildWorkflowExecutionDecisionAttributes m_startChildWorkflowExecutionDecisionAttributes;
bool m_startChildWorkflowExecutionDecisionAttributesHasBeenSet = false;
ScheduleLambdaFunctionDecisionAttributes m_scheduleLambdaFunctionDecisionAttributes;
bool m_scheduleLambdaFunctionDecisionAttributesHasBeenSet = false;
};
} // namespace Model
} // namespace SWF
} // namespace Aws