This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-swf/include/aws/swf/model/Decision.h

741 lines
41 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/swf/SWF_EXPORTS.h>
#include <aws/swf/model/DecisionType.h>
#include <aws/swf/model/ScheduleActivityTaskDecisionAttributes.h>
#include <aws/swf/model/RequestCancelActivityTaskDecisionAttributes.h>
#include <aws/swf/model/CompleteWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/FailWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/CancelWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/ContinueAsNewWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/RecordMarkerDecisionAttributes.h>
#include <aws/swf/model/StartTimerDecisionAttributes.h>
#include <aws/swf/model/CancelTimerDecisionAttributes.h>
#include <aws/swf/model/SignalExternalWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/RequestCancelExternalWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/StartChildWorkflowExecutionDecisionAttributes.h>
#include <aws/swf/model/ScheduleLambdaFunctionDecisionAttributes.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SWF
{
namespace Model
{
/**
* <p>Specifies a decision made by the decider. A decision can be one of these
* types:</p> <ul> <li> <p> <code>CancelTimer</code> Cancels a previously started
* timer and records a <code>TimerCanceled</code> event in the history.</p> </li>
* <li> <p> <code>CancelWorkflowExecution</code> Closes the workflow execution
* and records a <code>WorkflowExecutionCanceled</code> event in the history.</p>
* </li> <li> <p> <code>CompleteWorkflowExecution</code> Closes the workflow
* execution and records a <code>WorkflowExecutionCompleted</code> event in the
* history .</p> </li> <li> <p> <code>ContinueAsNewWorkflowExecution</code>
* 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
* <code>WorkflowExecutionContinuedAsNew</code> event is recorded in the
* history.</p> </li> <li> <p> <code>FailWorkflowExecution</code> Closes the
* workflow execution and records a <code>WorkflowExecutionFailed</code> event in
* the history.</p> </li> <li> <p> <code>RecordMarker</code> Records a
* <code>MarkerRecorded</code> 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.</p> </li> <li> <p>
* <code>RequestCancelActivityTask</code> 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 <a>RecordActivityTaskHeartbeat</a>.</p> </li> <li>
* <p> <code>RequestCancelExternalWorkflowExecution</code> Requests that a
* request be made to cancel the specified external workflow execution and records
* a <code>RequestCancelExternalWorkflowExecutionInitiated</code> event in the
* history.</p> </li> <li> <p> <code>ScheduleActivityTask</code> Schedules an
* activity task.</p> </li> <li> <p> <code>SignalExternalWorkflowExecution</code>
* Requests a signal to be delivered to the specified external workflow execution
* and records a <code>SignalExternalWorkflowExecutionInitiated</code> event in the
* history.</p> </li> <li> <p> <code>StartChildWorkflowExecution</code> Requests
* that a child workflow execution be started and records a
* <code>StartChildWorkflowExecutionInitiated</code> event in the history. The
* child workflow execution is a separate workflow execution with its own
* history.</p> </li> <li> <p> <code>StartTimer</code> Starts a timer for this
* workflow execution and records a <code>TimerStarted</code> event in the history.
* This timer fires after the specified delay and record a <code>TimerFired</code>
* event.</p> </li> </ul> <p> <b>Access Control</b> </p> <p>If you grant permission
* to use <code>RespondDecisionTaskCompleted</code>, 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 <a
* href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using
* IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer
* Guide</i>.</p> <p> <b>Decision Failure</b> </p> <p>Decisions can fail for
* several reasons</p> <ul> <li> <p>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.</p> </li> <li> <p>A limit on your
* account was reached.</p> </li> <li> <p>The decision lacks sufficient
* permissions.</p> </li> </ul> <p>One of the following events might be added to
* the history to indicate an error. The event attribute's <code>cause</code>
* parameter indicates the cause. If <code>cause</code> is set to
* <code>OPERATION_NOT_PERMITTED</code>, the decision failed because it lacked
* sufficient permissions. For details and example IAM policies, see <a
* href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using
* IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer
* Guide</i>.</p> <ul> <li> <p> <code>ScheduleActivityTaskFailed</code> A
* <code>ScheduleActivityTask</code> 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.</p> </li> <li> <p>
* <code>RequestCancelActivityTaskFailed</code> A
* <code>RequestCancelActivityTask</code> decision failed. This could happen if
* there is no open activity task with the specified activityId.</p> </li> <li> <p>
* <code>StartTimerFailed</code> A <code>StartTimer</code> decision failed. This
* could happen if there is another open timer with the same timerId.</p> </li>
* <li> <p> <code>CancelTimerFailed</code> A <code>CancelTimer</code> decision
* failed. This could happen if there is no open timer with the specified
* timerId.</p> </li> <li> <p> <code>StartChildWorkflowExecutionFailed</code> A
* <code>StartChildWorkflowExecution</code> decision failed. This could happen if
* the workflow type specified isn't registered, is deprecated, or the decision
* isn't properly configured.</p> </li> <li> <p>
* <code>SignalExternalWorkflowExecutionFailed</code> A
* <code>SignalExternalWorkflowExecution</code> decision failed. This could happen
* if the <code>workflowID</code> specified in the decision was incorrect.</p>
* </li> <li> <p> <code>RequestCancelExternalWorkflowExecutionFailed</code> A
* <code>RequestCancelExternalWorkflowExecution</code> decision failed. This could
* happen if the <code>workflowID</code> specified in the decision was
* incorrect.</p> </li> <li> <p> <code>CancelWorkflowExecutionFailed</code> A
* <code>CancelWorkflowExecution</code> decision failed. This could happen if there
* is an unhandled decision task pending in the workflow execution.</p> </li> <li>
* <p> <code>CompleteWorkflowExecutionFailed</code> A
* <code>CompleteWorkflowExecution</code> decision failed. This could happen if
* there is an unhandled decision task pending in the workflow execution.</p> </li>
* <li> <p> <code>ContinueAsNewWorkflowExecutionFailed</code> A
* <code>ContinueAsNewWorkflowExecution</code> 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.</p> </li>
* <li> <p> <code>FailWorkflowExecutionFailed</code> A
* <code>FailWorkflowExecution</code> decision failed. This could happen if there
* is an unhandled decision task pending in the workflow execution.</p> </li> </ul>
* <p>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.</p>
* <p>A workflow execution may be closed by the decider by returning one of
* the following decisions when completing a decision task:
* <code>CompleteWorkflowExecution</code>, <code>FailWorkflowExecution</code>,
* <code>CancelWorkflowExecution</code> and
* <code>ContinueAsNewWorkflowExecution</code>. An <code>UnhandledDecision</code>
* 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 <a>RespondDecisionTaskCompleted</a>
* 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.</p> <p> <b>How to Code a
* Decision</b> </p> <p>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:</p> <ul> <li> <p> <code>
* <a>ScheduleActivityTaskDecisionAttributes</a> </code> </p> </li> <li> <p> <code>
* <a>RequestCancelActivityTaskDecisionAttributes</a> </code> </p> </li> <li> <p>
* <code> <a>CompleteWorkflowExecutionDecisionAttributes</a> </code> </p> </li>
* <li> <p> <code> <a>FailWorkflowExecutionDecisionAttributes</a> </code> </p>
* </li> <li> <p> <code> <a>CancelWorkflowExecutionDecisionAttributes</a> </code>
* </p> </li> <li> <p> <code>
* <a>ContinueAsNewWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li>
* <p> <code> <a>RecordMarkerDecisionAttributes</a> </code> </p> </li> <li> <p>
* <code> <a>StartTimerDecisionAttributes</a> </code> </p> </li> <li> <p> <code>
* <a>CancelTimerDecisionAttributes</a> </code> </p> </li> <li> <p> <code>
* <a>SignalExternalWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li>
* <p> <code> <a>RequestCancelExternalWorkflowExecutionDecisionAttributes</a>
* </code> </p> </li> <li> <p> <code>
* <a>StartChildWorkflowExecutionDecisionAttributes</a> </code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/swf-2012-01-25/Decision">AWS API
* Reference</a></p>
*/
class AWS_SWF_API Decision
{
public:
Decision();
Decision(Aws::Utils::Json::JsonView jsonValue);
Decision& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Specifies the type of the decision.</p>
*/
inline const DecisionType& GetDecisionType() const{ return m_decisionType; }
/**
* <p>Specifies the type of the decision.</p>
*/
inline bool DecisionTypeHasBeenSet() const { return m_decisionTypeHasBeenSet; }
/**
* <p>Specifies the type of the decision.</p>
*/
inline void SetDecisionType(const DecisionType& value) { m_decisionTypeHasBeenSet = true; m_decisionType = value; }
/**
* <p>Specifies the type of the decision.</p>
*/
inline void SetDecisionType(DecisionType&& value) { m_decisionTypeHasBeenSet = true; m_decisionType = std::move(value); }
/**
* <p>Specifies the type of the decision.</p>
*/
inline Decision& WithDecisionType(const DecisionType& value) { SetDecisionType(value); return *this;}
/**
* <p>Specifies the type of the decision.</p>
*/
inline Decision& WithDecisionType(DecisionType&& value) { SetDecisionType(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline const ScheduleActivityTaskDecisionAttributes& GetScheduleActivityTaskDecisionAttributes() const{ return m_scheduleActivityTaskDecisionAttributes; }
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline bool ScheduleActivityTaskDecisionAttributesHasBeenSet() const { return m_scheduleActivityTaskDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetScheduleActivityTaskDecisionAttributes(const ScheduleActivityTaskDecisionAttributes& value) { m_scheduleActivityTaskDecisionAttributesHasBeenSet = true; m_scheduleActivityTaskDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetScheduleActivityTaskDecisionAttributes(ScheduleActivityTaskDecisionAttributes&& value) { m_scheduleActivityTaskDecisionAttributesHasBeenSet = true; m_scheduleActivityTaskDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithScheduleActivityTaskDecisionAttributes(const ScheduleActivityTaskDecisionAttributes& value) { SetScheduleActivityTaskDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithScheduleActivityTaskDecisionAttributes(ScheduleActivityTaskDecisionAttributes&& value) { SetScheduleActivityTaskDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline const RequestCancelActivityTaskDecisionAttributes& GetRequestCancelActivityTaskDecisionAttributes() const{ return m_requestCancelActivityTaskDecisionAttributes; }
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline bool RequestCancelActivityTaskDecisionAttributesHasBeenSet() const { return m_requestCancelActivityTaskDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline void SetRequestCancelActivityTaskDecisionAttributes(const RequestCancelActivityTaskDecisionAttributes& value) { m_requestCancelActivityTaskDecisionAttributesHasBeenSet = true; m_requestCancelActivityTaskDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline void SetRequestCancelActivityTaskDecisionAttributes(RequestCancelActivityTaskDecisionAttributes&& value) { m_requestCancelActivityTaskDecisionAttributesHasBeenSet = true; m_requestCancelActivityTaskDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline Decision& WithRequestCancelActivityTaskDecisionAttributes(const RequestCancelActivityTaskDecisionAttributes& value) { SetRequestCancelActivityTaskDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.
* It isn't set for other decision types.</p>
*/
inline Decision& WithRequestCancelActivityTaskDecisionAttributes(RequestCancelActivityTaskDecisionAttributes&& value) { SetRequestCancelActivityTaskDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline const CompleteWorkflowExecutionDecisionAttributes& GetCompleteWorkflowExecutionDecisionAttributes() const{ return m_completeWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline bool CompleteWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_completeWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline void SetCompleteWorkflowExecutionDecisionAttributes(const CompleteWorkflowExecutionDecisionAttributes& value) { m_completeWorkflowExecutionDecisionAttributesHasBeenSet = true; m_completeWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline void SetCompleteWorkflowExecutionDecisionAttributes(CompleteWorkflowExecutionDecisionAttributes&& value) { m_completeWorkflowExecutionDecisionAttributesHasBeenSet = true; m_completeWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline Decision& WithCompleteWorkflowExecutionDecisionAttributes(const CompleteWorkflowExecutionDecisionAttributes& value) { SetCompleteWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.
* It isn't set for other decision types.</p>
*/
inline Decision& WithCompleteWorkflowExecutionDecisionAttributes(CompleteWorkflowExecutionDecisionAttributes&& value) { SetCompleteWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline const FailWorkflowExecutionDecisionAttributes& GetFailWorkflowExecutionDecisionAttributes() const{ return m_failWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline bool FailWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_failWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetFailWorkflowExecutionDecisionAttributes(const FailWorkflowExecutionDecisionAttributes& value) { m_failWorkflowExecutionDecisionAttributesHasBeenSet = true; m_failWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetFailWorkflowExecutionDecisionAttributes(FailWorkflowExecutionDecisionAttributes&& value) { m_failWorkflowExecutionDecisionAttributesHasBeenSet = true; m_failWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithFailWorkflowExecutionDecisionAttributes(const FailWorkflowExecutionDecisionAttributes& value) { SetFailWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithFailWorkflowExecutionDecisionAttributes(FailWorkflowExecutionDecisionAttributes&& value) { SetFailWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline const CancelWorkflowExecutionDecisionAttributes& GetCancelWorkflowExecutionDecisionAttributes() const{ return m_cancelWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline bool CancelWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_cancelWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetCancelWorkflowExecutionDecisionAttributes(const CancelWorkflowExecutionDecisionAttributes& value) { m_cancelWorkflowExecutionDecisionAttributesHasBeenSet = true; m_cancelWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetCancelWorkflowExecutionDecisionAttributes(CancelWorkflowExecutionDecisionAttributes&& value) { m_cancelWorkflowExecutionDecisionAttributesHasBeenSet = true; m_cancelWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithCancelWorkflowExecutionDecisionAttributes(const CancelWorkflowExecutionDecisionAttributes& value) { SetCancelWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithCancelWorkflowExecutionDecisionAttributes(CancelWorkflowExecutionDecisionAttributes&& value) { SetCancelWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline const ContinueAsNewWorkflowExecutionDecisionAttributes& GetContinueAsNewWorkflowExecutionDecisionAttributes() const{ return m_continueAsNewWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline bool ContinueAsNewWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetContinueAsNewWorkflowExecutionDecisionAttributes(const ContinueAsNewWorkflowExecutionDecisionAttributes& value) { m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet = true; m_continueAsNewWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetContinueAsNewWorkflowExecutionDecisionAttributes(ContinueAsNewWorkflowExecutionDecisionAttributes&& value) { m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet = true; m_continueAsNewWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithContinueAsNewWorkflowExecutionDecisionAttributes(const ContinueAsNewWorkflowExecutionDecisionAttributes& value) { SetContinueAsNewWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithContinueAsNewWorkflowExecutionDecisionAttributes(ContinueAsNewWorkflowExecutionDecisionAttributes&& value) { SetContinueAsNewWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline const RecordMarkerDecisionAttributes& GetRecordMarkerDecisionAttributes() const{ return m_recordMarkerDecisionAttributes; }
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline bool RecordMarkerDecisionAttributesHasBeenSet() const { return m_recordMarkerDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetRecordMarkerDecisionAttributes(const RecordMarkerDecisionAttributes& value) { m_recordMarkerDecisionAttributesHasBeenSet = true; m_recordMarkerDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetRecordMarkerDecisionAttributes(RecordMarkerDecisionAttributes&& value) { m_recordMarkerDecisionAttributesHasBeenSet = true; m_recordMarkerDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithRecordMarkerDecisionAttributes(const RecordMarkerDecisionAttributes& value) { SetRecordMarkerDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithRecordMarkerDecisionAttributes(RecordMarkerDecisionAttributes&& value) { SetRecordMarkerDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline const StartTimerDecisionAttributes& GetStartTimerDecisionAttributes() const{ return m_startTimerDecisionAttributes; }
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline bool StartTimerDecisionAttributesHasBeenSet() const { return m_startTimerDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetStartTimerDecisionAttributes(const StartTimerDecisionAttributes& value) { m_startTimerDecisionAttributesHasBeenSet = true; m_startTimerDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetStartTimerDecisionAttributes(StartTimerDecisionAttributes&& value) { m_startTimerDecisionAttributesHasBeenSet = true; m_startTimerDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithStartTimerDecisionAttributes(const StartTimerDecisionAttributes& value) { SetStartTimerDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>StartTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithStartTimerDecisionAttributes(StartTimerDecisionAttributes&& value) { SetStartTimerDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline const CancelTimerDecisionAttributes& GetCancelTimerDecisionAttributes() const{ return m_cancelTimerDecisionAttributes; }
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline bool CancelTimerDecisionAttributesHasBeenSet() const { return m_cancelTimerDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetCancelTimerDecisionAttributes(const CancelTimerDecisionAttributes& value) { m_cancelTimerDecisionAttributesHasBeenSet = true; m_cancelTimerDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline void SetCancelTimerDecisionAttributes(CancelTimerDecisionAttributes&& value) { m_cancelTimerDecisionAttributesHasBeenSet = true; m_cancelTimerDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithCancelTimerDecisionAttributes(const CancelTimerDecisionAttributes& value) { SetCancelTimerDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set
* for other decision types.</p>
*/
inline Decision& WithCancelTimerDecisionAttributes(CancelTimerDecisionAttributes&& value) { SetCancelTimerDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline const SignalExternalWorkflowExecutionDecisionAttributes& GetSignalExternalWorkflowExecutionDecisionAttributes() const{ return m_signalExternalWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline bool SignalExternalWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetSignalExternalWorkflowExecutionDecisionAttributes(const SignalExternalWorkflowExecutionDecisionAttributes& value) { m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_signalExternalWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetSignalExternalWorkflowExecutionDecisionAttributes(SignalExternalWorkflowExecutionDecisionAttributes&& value) { m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_signalExternalWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithSignalExternalWorkflowExecutionDecisionAttributes(const SignalExternalWorkflowExecutionDecisionAttributes& value) { SetSignalExternalWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>SignalExternalWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithSignalExternalWorkflowExecutionDecisionAttributes(SignalExternalWorkflowExecutionDecisionAttributes&& value) { SetSignalExternalWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline const RequestCancelExternalWorkflowExecutionDecisionAttributes& GetRequestCancelExternalWorkflowExecutionDecisionAttributes() const{ return m_requestCancelExternalWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline bool RequestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline void SetRequestCancelExternalWorkflowExecutionDecisionAttributes(const RequestCancelExternalWorkflowExecutionDecisionAttributes& value) { m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_requestCancelExternalWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline void SetRequestCancelExternalWorkflowExecutionDecisionAttributes(RequestCancelExternalWorkflowExecutionDecisionAttributes&& value) { m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet = true; m_requestCancelExternalWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline Decision& WithRequestCancelExternalWorkflowExecutionDecisionAttributes(const RequestCancelExternalWorkflowExecutionDecisionAttributes& value) { SetRequestCancelExternalWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the
* <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for
* other decision types.</p>
*/
inline Decision& WithRequestCancelExternalWorkflowExecutionDecisionAttributes(RequestCancelExternalWorkflowExecutionDecisionAttributes&& value) { SetRequestCancelExternalWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline const StartChildWorkflowExecutionDecisionAttributes& GetStartChildWorkflowExecutionDecisionAttributes() const{ return m_startChildWorkflowExecutionDecisionAttributes; }
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline bool StartChildWorkflowExecutionDecisionAttributesHasBeenSet() const { return m_startChildWorkflowExecutionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetStartChildWorkflowExecutionDecisionAttributes(const StartChildWorkflowExecutionDecisionAttributes& value) { m_startChildWorkflowExecutionDecisionAttributesHasBeenSet = true; m_startChildWorkflowExecutionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline void SetStartChildWorkflowExecutionDecisionAttributes(StartChildWorkflowExecutionDecisionAttributes&& value) { m_startChildWorkflowExecutionDecisionAttributesHasBeenSet = true; m_startChildWorkflowExecutionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithStartChildWorkflowExecutionDecisionAttributes(const StartChildWorkflowExecutionDecisionAttributes& value) { SetStartChildWorkflowExecutionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>StartChildWorkflowExecution</code>
* decision. It isn't set for other decision types.</p>
*/
inline Decision& WithStartChildWorkflowExecutionDecisionAttributes(StartChildWorkflowExecutionDecisionAttributes&& value) { SetStartChildWorkflowExecutionDecisionAttributes(std::move(value)); return *this;}
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline const ScheduleLambdaFunctionDecisionAttributes& GetScheduleLambdaFunctionDecisionAttributes() const{ return m_scheduleLambdaFunctionDecisionAttributes; }
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline bool ScheduleLambdaFunctionDecisionAttributesHasBeenSet() const { return m_scheduleLambdaFunctionDecisionAttributesHasBeenSet; }
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetScheduleLambdaFunctionDecisionAttributes(const ScheduleLambdaFunctionDecisionAttributes& value) { m_scheduleLambdaFunctionDecisionAttributesHasBeenSet = true; m_scheduleLambdaFunctionDecisionAttributes = value; }
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline void SetScheduleLambdaFunctionDecisionAttributes(ScheduleLambdaFunctionDecisionAttributes&& value) { m_scheduleLambdaFunctionDecisionAttributesHasBeenSet = true; m_scheduleLambdaFunctionDecisionAttributes = std::move(value); }
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithScheduleLambdaFunctionDecisionAttributes(const ScheduleLambdaFunctionDecisionAttributes& value) { SetScheduleLambdaFunctionDecisionAttributes(value); return *this;}
/**
* <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It
* isn't set for other decision types.</p>
*/
inline Decision& WithScheduleLambdaFunctionDecisionAttributes(ScheduleLambdaFunctionDecisionAttributes&& value) { SetScheduleLambdaFunctionDecisionAttributes(std::move(value)); return *this;}
private:
DecisionType m_decisionType;
bool m_decisionTypeHasBeenSet;
ScheduleActivityTaskDecisionAttributes m_scheduleActivityTaskDecisionAttributes;
bool m_scheduleActivityTaskDecisionAttributesHasBeenSet;
RequestCancelActivityTaskDecisionAttributes m_requestCancelActivityTaskDecisionAttributes;
bool m_requestCancelActivityTaskDecisionAttributesHasBeenSet;
CompleteWorkflowExecutionDecisionAttributes m_completeWorkflowExecutionDecisionAttributes;
bool m_completeWorkflowExecutionDecisionAttributesHasBeenSet;
FailWorkflowExecutionDecisionAttributes m_failWorkflowExecutionDecisionAttributes;
bool m_failWorkflowExecutionDecisionAttributesHasBeenSet;
CancelWorkflowExecutionDecisionAttributes m_cancelWorkflowExecutionDecisionAttributes;
bool m_cancelWorkflowExecutionDecisionAttributesHasBeenSet;
ContinueAsNewWorkflowExecutionDecisionAttributes m_continueAsNewWorkflowExecutionDecisionAttributes;
bool m_continueAsNewWorkflowExecutionDecisionAttributesHasBeenSet;
RecordMarkerDecisionAttributes m_recordMarkerDecisionAttributes;
bool m_recordMarkerDecisionAttributesHasBeenSet;
StartTimerDecisionAttributes m_startTimerDecisionAttributes;
bool m_startTimerDecisionAttributesHasBeenSet;
CancelTimerDecisionAttributes m_cancelTimerDecisionAttributes;
bool m_cancelTimerDecisionAttributesHasBeenSet;
SignalExternalWorkflowExecutionDecisionAttributes m_signalExternalWorkflowExecutionDecisionAttributes;
bool m_signalExternalWorkflowExecutionDecisionAttributesHasBeenSet;
RequestCancelExternalWorkflowExecutionDecisionAttributes m_requestCancelExternalWorkflowExecutionDecisionAttributes;
bool m_requestCancelExternalWorkflowExecutionDecisionAttributesHasBeenSet;
StartChildWorkflowExecutionDecisionAttributes m_startChildWorkflowExecutionDecisionAttributes;
bool m_startChildWorkflowExecutionDecisionAttributesHasBeenSet;
ScheduleLambdaFunctionDecisionAttributes m_scheduleLambdaFunctionDecisionAttributes;
bool m_scheduleLambdaFunctionDecisionAttributesHasBeenSet;
};
} // namespace Model
} // namespace SWF
} // namespace Aws