1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/swf/SWF_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/swf/model/WorkflowExecution.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace SWF
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides the details of the <code>WorkflowExecutionSignaled</code>
29    * event.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/swf-2012-01-25/WorkflowExecutionSignaledEventAttributes">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SWF_API WorkflowExecutionSignaledEventAttributes
34   {
35   public:
36     WorkflowExecutionSignaledEventAttributes();
37     WorkflowExecutionSignaledEventAttributes(Aws::Utils::Json::JsonView jsonValue);
38     WorkflowExecutionSignaledEventAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the signal received. The decider can use the signal name and
44      * inputs to determine how to the process the signal.</p>
45      */
GetSignalName()46     inline const Aws::String& GetSignalName() const{ return m_signalName; }
47 
48     /**
49      * <p>The name of the signal received. The decider can use the signal name and
50      * inputs to determine how to the process the signal.</p>
51      */
SignalNameHasBeenSet()52     inline bool SignalNameHasBeenSet() const { return m_signalNameHasBeenSet; }
53 
54     /**
55      * <p>The name of the signal received. The decider can use the signal name and
56      * inputs to determine how to the process the signal.</p>
57      */
SetSignalName(const Aws::String & value)58     inline void SetSignalName(const Aws::String& value) { m_signalNameHasBeenSet = true; m_signalName = value; }
59 
60     /**
61      * <p>The name of the signal received. The decider can use the signal name and
62      * inputs to determine how to the process the signal.</p>
63      */
SetSignalName(Aws::String && value)64     inline void SetSignalName(Aws::String&& value) { m_signalNameHasBeenSet = true; m_signalName = std::move(value); }
65 
66     /**
67      * <p>The name of the signal received. The decider can use the signal name and
68      * inputs to determine how to the process the signal.</p>
69      */
SetSignalName(const char * value)70     inline void SetSignalName(const char* value) { m_signalNameHasBeenSet = true; m_signalName.assign(value); }
71 
72     /**
73      * <p>The name of the signal received. The decider can use the signal name and
74      * inputs to determine how to the process the signal.</p>
75      */
WithSignalName(const Aws::String & value)76     inline WorkflowExecutionSignaledEventAttributes& WithSignalName(const Aws::String& value) { SetSignalName(value); return *this;}
77 
78     /**
79      * <p>The name of the signal received. The decider can use the signal name and
80      * inputs to determine how to the process the signal.</p>
81      */
WithSignalName(Aws::String && value)82     inline WorkflowExecutionSignaledEventAttributes& WithSignalName(Aws::String&& value) { SetSignalName(std::move(value)); return *this;}
83 
84     /**
85      * <p>The name of the signal received. The decider can use the signal name and
86      * inputs to determine how to the process the signal.</p>
87      */
WithSignalName(const char * value)88     inline WorkflowExecutionSignaledEventAttributes& WithSignalName(const char* value) { SetSignalName(value); return *this;}
89 
90 
91     /**
92      * <p>The inputs provided with the signal. The decider can use the signal name and
93      * inputs to determine how to process the signal.</p>
94      */
GetInput()95     inline const Aws::String& GetInput() const{ return m_input; }
96 
97     /**
98      * <p>The inputs provided with the signal. The decider can use the signal name and
99      * inputs to determine how to process the signal.</p>
100      */
InputHasBeenSet()101     inline bool InputHasBeenSet() const { return m_inputHasBeenSet; }
102 
103     /**
104      * <p>The inputs provided with the signal. The decider can use the signal name and
105      * inputs to determine how to process the signal.</p>
106      */
SetInput(const Aws::String & value)107     inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; }
108 
109     /**
110      * <p>The inputs provided with the signal. The decider can use the signal name and
111      * inputs to determine how to process the signal.</p>
112      */
SetInput(Aws::String && value)113     inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); }
114 
115     /**
116      * <p>The inputs provided with the signal. The decider can use the signal name and
117      * inputs to determine how to process the signal.</p>
118      */
SetInput(const char * value)119     inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); }
120 
121     /**
122      * <p>The inputs provided with the signal. The decider can use the signal name and
123      * inputs to determine how to process the signal.</p>
124      */
WithInput(const Aws::String & value)125     inline WorkflowExecutionSignaledEventAttributes& WithInput(const Aws::String& value) { SetInput(value); return *this;}
126 
127     /**
128      * <p>The inputs provided with the signal. The decider can use the signal name and
129      * inputs to determine how to process the signal.</p>
130      */
WithInput(Aws::String && value)131     inline WorkflowExecutionSignaledEventAttributes& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;}
132 
133     /**
134      * <p>The inputs provided with the signal. The decider can use the signal name and
135      * inputs to determine how to process the signal.</p>
136      */
WithInput(const char * value)137     inline WorkflowExecutionSignaledEventAttributes& WithInput(const char* value) { SetInput(value); return *this;}
138 
139 
140     /**
141      * <p>The workflow execution that sent the signal. This is set only of the signal
142      * was sent by another workflow execution.</p>
143      */
GetExternalWorkflowExecution()144     inline const WorkflowExecution& GetExternalWorkflowExecution() const{ return m_externalWorkflowExecution; }
145 
146     /**
147      * <p>The workflow execution that sent the signal. This is set only of the signal
148      * was sent by another workflow execution.</p>
149      */
ExternalWorkflowExecutionHasBeenSet()150     inline bool ExternalWorkflowExecutionHasBeenSet() const { return m_externalWorkflowExecutionHasBeenSet; }
151 
152     /**
153      * <p>The workflow execution that sent the signal. This is set only of the signal
154      * was sent by another workflow execution.</p>
155      */
SetExternalWorkflowExecution(const WorkflowExecution & value)156     inline void SetExternalWorkflowExecution(const WorkflowExecution& value) { m_externalWorkflowExecutionHasBeenSet = true; m_externalWorkflowExecution = value; }
157 
158     /**
159      * <p>The workflow execution that sent the signal. This is set only of the signal
160      * was sent by another workflow execution.</p>
161      */
SetExternalWorkflowExecution(WorkflowExecution && value)162     inline void SetExternalWorkflowExecution(WorkflowExecution&& value) { m_externalWorkflowExecutionHasBeenSet = true; m_externalWorkflowExecution = std::move(value); }
163 
164     /**
165      * <p>The workflow execution that sent the signal. This is set only of the signal
166      * was sent by another workflow execution.</p>
167      */
WithExternalWorkflowExecution(const WorkflowExecution & value)168     inline WorkflowExecutionSignaledEventAttributes& WithExternalWorkflowExecution(const WorkflowExecution& value) { SetExternalWorkflowExecution(value); return *this;}
169 
170     /**
171      * <p>The workflow execution that sent the signal. This is set only of the signal
172      * was sent by another workflow execution.</p>
173      */
WithExternalWorkflowExecution(WorkflowExecution && value)174     inline WorkflowExecutionSignaledEventAttributes& WithExternalWorkflowExecution(WorkflowExecution&& value) { SetExternalWorkflowExecution(std::move(value)); return *this;}
175 
176 
177     /**
178      * <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event
179      * corresponding to the <code>SignalExternalWorkflow</code> decision to signal this
180      * workflow execution.The source event with this ID can be found in the history of
181      * the source workflow execution. This information can be useful for diagnosing
182      * problems by tracing back the chain of events leading up to this event. This
183      * field is set only if the signal was initiated by another workflow execution.</p>
184      */
GetExternalInitiatedEventId()185     inline long long GetExternalInitiatedEventId() const{ return m_externalInitiatedEventId; }
186 
187     /**
188      * <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event
189      * corresponding to the <code>SignalExternalWorkflow</code> decision to signal this
190      * workflow execution.The source event with this ID can be found in the history of
191      * the source workflow execution. This information can be useful for diagnosing
192      * problems by tracing back the chain of events leading up to this event. This
193      * field is set only if the signal was initiated by another workflow execution.</p>
194      */
ExternalInitiatedEventIdHasBeenSet()195     inline bool ExternalInitiatedEventIdHasBeenSet() const { return m_externalInitiatedEventIdHasBeenSet; }
196 
197     /**
198      * <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event
199      * corresponding to the <code>SignalExternalWorkflow</code> decision to signal this
200      * workflow execution.The source event with this ID can be found in the history of
201      * the source workflow execution. This information can be useful for diagnosing
202      * problems by tracing back the chain of events leading up to this event. This
203      * field is set only if the signal was initiated by another workflow execution.</p>
204      */
SetExternalInitiatedEventId(long long value)205     inline void SetExternalInitiatedEventId(long long value) { m_externalInitiatedEventIdHasBeenSet = true; m_externalInitiatedEventId = value; }
206 
207     /**
208      * <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event
209      * corresponding to the <code>SignalExternalWorkflow</code> decision to signal this
210      * workflow execution.The source event with this ID can be found in the history of
211      * the source workflow execution. This information can be useful for diagnosing
212      * problems by tracing back the chain of events leading up to this event. This
213      * field is set only if the signal was initiated by another workflow execution.</p>
214      */
WithExternalInitiatedEventId(long long value)215     inline WorkflowExecutionSignaledEventAttributes& WithExternalInitiatedEventId(long long value) { SetExternalInitiatedEventId(value); return *this;}
216 
217   private:
218 
219     Aws::String m_signalName;
220     bool m_signalNameHasBeenSet;
221 
222     Aws::String m_input;
223     bool m_inputHasBeenSet;
224 
225     WorkflowExecution m_externalWorkflowExecution;
226     bool m_externalWorkflowExecutionHasBeenSet;
227 
228     long long m_externalInitiatedEventId;
229     bool m_externalInitiatedEventIdHasBeenSet;
230   };
231 
232 } // namespace Model
233 } // namespace SWF
234 } // namespace Aws
235