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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace SWF
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Decision attributes specified in
28    * <code>scheduleLambdaFunctionDecisionAttributes</code> within the list of
29    * decisions <code>decisions</code> passed to
30    * <a>RespondDecisionTaskCompleted</a>.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/swf-2012-01-25/ScheduleLambdaFunctionDecisionAttributes">AWS
32    * API Reference</a></p>
33    */
34   class AWS_SWF_API ScheduleLambdaFunctionDecisionAttributes
35   {
36   public:
37     ScheduleLambdaFunctionDecisionAttributes();
38     ScheduleLambdaFunctionDecisionAttributes(Aws::Utils::Json::JsonView jsonValue);
39     ScheduleLambdaFunctionDecisionAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A string that identifies the Lambda function execution in the event
45      * history.</p>
46      */
GetId()47     inline const Aws::String& GetId() const{ return m_id; }
48 
49     /**
50      * <p>A string that identifies the Lambda function execution in the event
51      * history.</p>
52      */
IdHasBeenSet()53     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
54 
55     /**
56      * <p>A string that identifies the Lambda function execution in the event
57      * history.</p>
58      */
SetId(const Aws::String & value)59     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
60 
61     /**
62      * <p>A string that identifies the Lambda function execution in the event
63      * history.</p>
64      */
SetId(Aws::String && value)65     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
66 
67     /**
68      * <p>A string that identifies the Lambda function execution in the event
69      * history.</p>
70      */
SetId(const char * value)71     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
72 
73     /**
74      * <p>A string that identifies the Lambda function execution in the event
75      * history.</p>
76      */
WithId(const Aws::String & value)77     inline ScheduleLambdaFunctionDecisionAttributes& WithId(const Aws::String& value) { SetId(value); return *this;}
78 
79     /**
80      * <p>A string that identifies the Lambda function execution in the event
81      * history.</p>
82      */
WithId(Aws::String && value)83     inline ScheduleLambdaFunctionDecisionAttributes& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
84 
85     /**
86      * <p>A string that identifies the Lambda function execution in the event
87      * history.</p>
88      */
WithId(const char * value)89     inline ScheduleLambdaFunctionDecisionAttributes& WithId(const char* value) { SetId(value); return *this;}
90 
91 
92     /**
93      * <p>The name, or ARN, of the Lambda function to schedule.</p>
94      */
GetName()95     inline const Aws::String& GetName() const{ return m_name; }
96 
97     /**
98      * <p>The name, or ARN, of the Lambda function to schedule.</p>
99      */
NameHasBeenSet()100     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
101 
102     /**
103      * <p>The name, or ARN, of the Lambda function to schedule.</p>
104      */
SetName(const Aws::String & value)105     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
106 
107     /**
108      * <p>The name, or ARN, of the Lambda function to schedule.</p>
109      */
SetName(Aws::String && value)110     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
111 
112     /**
113      * <p>The name, or ARN, of the Lambda function to schedule.</p>
114      */
SetName(const char * value)115     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
116 
117     /**
118      * <p>The name, or ARN, of the Lambda function to schedule.</p>
119      */
WithName(const Aws::String & value)120     inline ScheduleLambdaFunctionDecisionAttributes& WithName(const Aws::String& value) { SetName(value); return *this;}
121 
122     /**
123      * <p>The name, or ARN, of the Lambda function to schedule.</p>
124      */
WithName(Aws::String && value)125     inline ScheduleLambdaFunctionDecisionAttributes& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
126 
127     /**
128      * <p>The name, or ARN, of the Lambda function to schedule.</p>
129      */
WithName(const char * value)130     inline ScheduleLambdaFunctionDecisionAttributes& WithName(const char* value) { SetName(value); return *this;}
131 
132 
133     /**
134      * <p>The data attached to the event that the decider can use in subsequent
135      * workflow tasks. This data isn't sent to the Lambda task.</p>
136      */
GetControl()137     inline const Aws::String& GetControl() const{ return m_control; }
138 
139     /**
140      * <p>The data attached to the event that the decider can use in subsequent
141      * workflow tasks. This data isn't sent to the Lambda task.</p>
142      */
ControlHasBeenSet()143     inline bool ControlHasBeenSet() const { return m_controlHasBeenSet; }
144 
145     /**
146      * <p>The data attached to the event that the decider can use in subsequent
147      * workflow tasks. This data isn't sent to the Lambda task.</p>
148      */
SetControl(const Aws::String & value)149     inline void SetControl(const Aws::String& value) { m_controlHasBeenSet = true; m_control = value; }
150 
151     /**
152      * <p>The data attached to the event that the decider can use in subsequent
153      * workflow tasks. This data isn't sent to the Lambda task.</p>
154      */
SetControl(Aws::String && value)155     inline void SetControl(Aws::String&& value) { m_controlHasBeenSet = true; m_control = std::move(value); }
156 
157     /**
158      * <p>The data attached to the event that the decider can use in subsequent
159      * workflow tasks. This data isn't sent to the Lambda task.</p>
160      */
SetControl(const char * value)161     inline void SetControl(const char* value) { m_controlHasBeenSet = true; m_control.assign(value); }
162 
163     /**
164      * <p>The data attached to the event that the decider can use in subsequent
165      * workflow tasks. This data isn't sent to the Lambda task.</p>
166      */
WithControl(const Aws::String & value)167     inline ScheduleLambdaFunctionDecisionAttributes& WithControl(const Aws::String& value) { SetControl(value); return *this;}
168 
169     /**
170      * <p>The data attached to the event that the decider can use in subsequent
171      * workflow tasks. This data isn't sent to the Lambda task.</p>
172      */
WithControl(Aws::String && value)173     inline ScheduleLambdaFunctionDecisionAttributes& WithControl(Aws::String&& value) { SetControl(std::move(value)); return *this;}
174 
175     /**
176      * <p>The data attached to the event that the decider can use in subsequent
177      * workflow tasks. This data isn't sent to the Lambda task.</p>
178      */
WithControl(const char * value)179     inline ScheduleLambdaFunctionDecisionAttributes& WithControl(const char* value) { SetControl(value); return *this;}
180 
181 
182     /**
183      * <p>The optional input data to be supplied to the Lambda function.</p>
184      */
GetInput()185     inline const Aws::String& GetInput() const{ return m_input; }
186 
187     /**
188      * <p>The optional input data to be supplied to the Lambda function.</p>
189      */
InputHasBeenSet()190     inline bool InputHasBeenSet() const { return m_inputHasBeenSet; }
191 
192     /**
193      * <p>The optional input data to be supplied to the Lambda function.</p>
194      */
SetInput(const Aws::String & value)195     inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; }
196 
197     /**
198      * <p>The optional input data to be supplied to the Lambda function.</p>
199      */
SetInput(Aws::String && value)200     inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); }
201 
202     /**
203      * <p>The optional input data to be supplied to the Lambda function.</p>
204      */
SetInput(const char * value)205     inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); }
206 
207     /**
208      * <p>The optional input data to be supplied to the Lambda function.</p>
209      */
WithInput(const Aws::String & value)210     inline ScheduleLambdaFunctionDecisionAttributes& WithInput(const Aws::String& value) { SetInput(value); return *this;}
211 
212     /**
213      * <p>The optional input data to be supplied to the Lambda function.</p>
214      */
WithInput(Aws::String && value)215     inline ScheduleLambdaFunctionDecisionAttributes& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;}
216 
217     /**
218      * <p>The optional input data to be supplied to the Lambda function.</p>
219      */
WithInput(const char * value)220     inline ScheduleLambdaFunctionDecisionAttributes& WithInput(const char* value) { SetInput(value); return *this;}
221 
222 
223     /**
224      * <p>The timeout value, in seconds, after which the Lambda function is considered
225      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
226      * no value is supplied, than a default value of 300s is assumed.</p>
227      */
GetStartToCloseTimeout()228     inline const Aws::String& GetStartToCloseTimeout() const{ return m_startToCloseTimeout; }
229 
230     /**
231      * <p>The timeout value, in seconds, after which the Lambda function is considered
232      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
233      * no value is supplied, than a default value of 300s is assumed.</p>
234      */
StartToCloseTimeoutHasBeenSet()235     inline bool StartToCloseTimeoutHasBeenSet() const { return m_startToCloseTimeoutHasBeenSet; }
236 
237     /**
238      * <p>The timeout value, in seconds, after which the Lambda function is considered
239      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
240      * no value is supplied, than a default value of 300s is assumed.</p>
241      */
SetStartToCloseTimeout(const Aws::String & value)242     inline void SetStartToCloseTimeout(const Aws::String& value) { m_startToCloseTimeoutHasBeenSet = true; m_startToCloseTimeout = value; }
243 
244     /**
245      * <p>The timeout value, in seconds, after which the Lambda function is considered
246      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
247      * no value is supplied, than a default value of 300s is assumed.</p>
248      */
SetStartToCloseTimeout(Aws::String && value)249     inline void SetStartToCloseTimeout(Aws::String&& value) { m_startToCloseTimeoutHasBeenSet = true; m_startToCloseTimeout = std::move(value); }
250 
251     /**
252      * <p>The timeout value, in seconds, after which the Lambda function is considered
253      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
254      * no value is supplied, than a default value of 300s is assumed.</p>
255      */
SetStartToCloseTimeout(const char * value)256     inline void SetStartToCloseTimeout(const char* value) { m_startToCloseTimeoutHasBeenSet = true; m_startToCloseTimeout.assign(value); }
257 
258     /**
259      * <p>The timeout value, in seconds, after which the Lambda function is considered
260      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
261      * no value is supplied, than a default value of 300s is assumed.</p>
262      */
WithStartToCloseTimeout(const Aws::String & value)263     inline ScheduleLambdaFunctionDecisionAttributes& WithStartToCloseTimeout(const Aws::String& value) { SetStartToCloseTimeout(value); return *this;}
264 
265     /**
266      * <p>The timeout value, in seconds, after which the Lambda function is considered
267      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
268      * no value is supplied, than a default value of 300s is assumed.</p>
269      */
WithStartToCloseTimeout(Aws::String && value)270     inline ScheduleLambdaFunctionDecisionAttributes& WithStartToCloseTimeout(Aws::String&& value) { SetStartToCloseTimeout(std::move(value)); return *this;}
271 
272     /**
273      * <p>The timeout value, in seconds, after which the Lambda function is considered
274      * to be failed once it has started. This can be any integer from 1-300 (1s-5m). If
275      * no value is supplied, than a default value of 300s is assumed.</p>
276      */
WithStartToCloseTimeout(const char * value)277     inline ScheduleLambdaFunctionDecisionAttributes& WithStartToCloseTimeout(const char* value) { SetStartToCloseTimeout(value); return *this;}
278 
279   private:
280 
281     Aws::String m_id;
282     bool m_idHasBeenSet;
283 
284     Aws::String m_name;
285     bool m_nameHasBeenSet;
286 
287     Aws::String m_control;
288     bool m_controlHasBeenSet;
289 
290     Aws::String m_input;
291     bool m_inputHasBeenSet;
292 
293     Aws::String m_startToCloseTimeout;
294     bool m_startToCloseTimeoutHasBeenSet;
295   };
296 
297 } // namespace Model
298 } // namespace SWF
299 } // namespace Aws
300