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/ssm/SSM_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/ssm/model/MaintenanceWindowTaskType.h>
11 #include <aws/core/utils/memory/stl/AWSMap.h>
12 #include <aws/ssm/model/MaintenanceWindowTaskInvocationParameters.h>
13 #include <aws/ssm/model/LoggingInfo.h>
14 #include <aws/ssm/model/MaintenanceWindowTaskCutoffBehavior.h>
15 #include <aws/ssm/model/Target.h>
16 #include <aws/ssm/model/MaintenanceWindowTaskParameterValueExpression.h>
17 #include <utility>
18 
19 namespace Aws
20 {
21 template<typename RESULT_TYPE>
22 class AmazonWebServiceResult;
23 
24 namespace Utils
25 {
26 namespace Json
27 {
28   class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace SSM
32 {
33 namespace Model
34 {
35   class AWS_SSM_API GetMaintenanceWindowTaskResult
36   {
37   public:
38     GetMaintenanceWindowTaskResult();
39     GetMaintenanceWindowTaskResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40     GetMaintenanceWindowTaskResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41 
42 
43     /**
44      * <p>The retrieved maintenance window ID.</p>
45      */
GetWindowId()46     inline const Aws::String& GetWindowId() const{ return m_windowId; }
47 
48     /**
49      * <p>The retrieved maintenance window ID.</p>
50      */
SetWindowId(const Aws::String & value)51     inline void SetWindowId(const Aws::String& value) { m_windowId = value; }
52 
53     /**
54      * <p>The retrieved maintenance window ID.</p>
55      */
SetWindowId(Aws::String && value)56     inline void SetWindowId(Aws::String&& value) { m_windowId = std::move(value); }
57 
58     /**
59      * <p>The retrieved maintenance window ID.</p>
60      */
SetWindowId(const char * value)61     inline void SetWindowId(const char* value) { m_windowId.assign(value); }
62 
63     /**
64      * <p>The retrieved maintenance window ID.</p>
65      */
WithWindowId(const Aws::String & value)66     inline GetMaintenanceWindowTaskResult& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;}
67 
68     /**
69      * <p>The retrieved maintenance window ID.</p>
70      */
WithWindowId(Aws::String && value)71     inline GetMaintenanceWindowTaskResult& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;}
72 
73     /**
74      * <p>The retrieved maintenance window ID.</p>
75      */
WithWindowId(const char * value)76     inline GetMaintenanceWindowTaskResult& WithWindowId(const char* value) { SetWindowId(value); return *this;}
77 
78 
79     /**
80      * <p>The retrieved maintenance window task ID.</p>
81      */
GetWindowTaskId()82     inline const Aws::String& GetWindowTaskId() const{ return m_windowTaskId; }
83 
84     /**
85      * <p>The retrieved maintenance window task ID.</p>
86      */
SetWindowTaskId(const Aws::String & value)87     inline void SetWindowTaskId(const Aws::String& value) { m_windowTaskId = value; }
88 
89     /**
90      * <p>The retrieved maintenance window task ID.</p>
91      */
SetWindowTaskId(Aws::String && value)92     inline void SetWindowTaskId(Aws::String&& value) { m_windowTaskId = std::move(value); }
93 
94     /**
95      * <p>The retrieved maintenance window task ID.</p>
96      */
SetWindowTaskId(const char * value)97     inline void SetWindowTaskId(const char* value) { m_windowTaskId.assign(value); }
98 
99     /**
100      * <p>The retrieved maintenance window task ID.</p>
101      */
WithWindowTaskId(const Aws::String & value)102     inline GetMaintenanceWindowTaskResult& WithWindowTaskId(const Aws::String& value) { SetWindowTaskId(value); return *this;}
103 
104     /**
105      * <p>The retrieved maintenance window task ID.</p>
106      */
WithWindowTaskId(Aws::String && value)107     inline GetMaintenanceWindowTaskResult& WithWindowTaskId(Aws::String&& value) { SetWindowTaskId(std::move(value)); return *this;}
108 
109     /**
110      * <p>The retrieved maintenance window task ID.</p>
111      */
WithWindowTaskId(const char * value)112     inline GetMaintenanceWindowTaskResult& WithWindowTaskId(const char* value) { SetWindowTaskId(value); return *this;}
113 
114 
115     /**
116      * <p>The targets where the task should run.</p>
117      */
GetTargets()118     inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
119 
120     /**
121      * <p>The targets where the task should run.</p>
122      */
SetTargets(const Aws::Vector<Target> & value)123     inline void SetTargets(const Aws::Vector<Target>& value) { m_targets = value; }
124 
125     /**
126      * <p>The targets where the task should run.</p>
127      */
SetTargets(Aws::Vector<Target> && value)128     inline void SetTargets(Aws::Vector<Target>&& value) { m_targets = std::move(value); }
129 
130     /**
131      * <p>The targets where the task should run.</p>
132      */
WithTargets(const Aws::Vector<Target> & value)133     inline GetMaintenanceWindowTaskResult& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
134 
135     /**
136      * <p>The targets where the task should run.</p>
137      */
WithTargets(Aws::Vector<Target> && value)138     inline GetMaintenanceWindowTaskResult& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
139 
140     /**
141      * <p>The targets where the task should run.</p>
142      */
AddTargets(const Target & value)143     inline GetMaintenanceWindowTaskResult& AddTargets(const Target& value) { m_targets.push_back(value); return *this; }
144 
145     /**
146      * <p>The targets where the task should run.</p>
147      */
AddTargets(Target && value)148     inline GetMaintenanceWindowTaskResult& AddTargets(Target&& value) { m_targets.push_back(std::move(value)); return *this; }
149 
150 
151     /**
152      * <p>The resource that the task used during execution. For
153      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
154      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
155      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
156      * tasks, the value is the state machine ARN.</p>
157      */
GetTaskArn()158     inline const Aws::String& GetTaskArn() const{ return m_taskArn; }
159 
160     /**
161      * <p>The resource that the task used during execution. For
162      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
163      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
164      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
165      * tasks, the value is the state machine ARN.</p>
166      */
SetTaskArn(const Aws::String & value)167     inline void SetTaskArn(const Aws::String& value) { m_taskArn = value; }
168 
169     /**
170      * <p>The resource that the task used during execution. For
171      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
172      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
173      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
174      * tasks, the value is the state machine ARN.</p>
175      */
SetTaskArn(Aws::String && value)176     inline void SetTaskArn(Aws::String&& value) { m_taskArn = std::move(value); }
177 
178     /**
179      * <p>The resource that the task used during execution. For
180      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
181      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
182      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
183      * tasks, the value is the state machine ARN.</p>
184      */
SetTaskArn(const char * value)185     inline void SetTaskArn(const char* value) { m_taskArn.assign(value); }
186 
187     /**
188      * <p>The resource that the task used during execution. For
189      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
190      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
191      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
192      * tasks, the value is the state machine ARN.</p>
193      */
WithTaskArn(const Aws::String & value)194     inline GetMaintenanceWindowTaskResult& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;}
195 
196     /**
197      * <p>The resource that the task used during execution. For
198      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
199      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
200      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
201      * tasks, the value is the state machine ARN.</p>
202      */
WithTaskArn(Aws::String && value)203     inline GetMaintenanceWindowTaskResult& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;}
204 
205     /**
206      * <p>The resource that the task used during execution. For
207      * <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, the value of
208      * <code>TaskArn</code> is the SSM document name/ARN. For <code>LAMBDA</code>
209      * tasks, the value is the function name/ARN. For <code>STEP_FUNCTIONS</code>
210      * tasks, the value is the state machine ARN.</p>
211      */
WithTaskArn(const char * value)212     inline GetMaintenanceWindowTaskResult& WithTaskArn(const char* value) { SetTaskArn(value); return *this;}
213 
214 
215     /**
216      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
217      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
218      * notifications for maintenance window Run Command tasks.</p>
219      */
GetServiceRoleArn()220     inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; }
221 
222     /**
223      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
224      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
225      * notifications for maintenance window Run Command tasks.</p>
226      */
SetServiceRoleArn(const Aws::String & value)227     inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArn = value; }
228 
229     /**
230      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
231      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
232      * notifications for maintenance window Run Command tasks.</p>
233      */
SetServiceRoleArn(Aws::String && value)234     inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArn = std::move(value); }
235 
236     /**
237      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
238      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
239      * notifications for maintenance window Run Command tasks.</p>
240      */
SetServiceRoleArn(const char * value)241     inline void SetServiceRoleArn(const char* value) { m_serviceRoleArn.assign(value); }
242 
243     /**
244      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
245      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
246      * notifications for maintenance window Run Command tasks.</p>
247      */
WithServiceRoleArn(const Aws::String & value)248     inline GetMaintenanceWindowTaskResult& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;}
249 
250     /**
251      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
252      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
253      * notifications for maintenance window Run Command tasks.</p>
254      */
WithServiceRoleArn(Aws::String && value)255     inline GetMaintenanceWindowTaskResult& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;}
256 
257     /**
258      * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
259      * service role to use to publish Amazon Simple Notification Service (Amazon SNS)
260      * notifications for maintenance window Run Command tasks.</p>
261      */
WithServiceRoleArn(const char * value)262     inline GetMaintenanceWindowTaskResult& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;}
263 
264 
265     /**
266      * <p>The type of task to run.</p>
267      */
GetTaskType()268     inline const MaintenanceWindowTaskType& GetTaskType() const{ return m_taskType; }
269 
270     /**
271      * <p>The type of task to run.</p>
272      */
SetTaskType(const MaintenanceWindowTaskType & value)273     inline void SetTaskType(const MaintenanceWindowTaskType& value) { m_taskType = value; }
274 
275     /**
276      * <p>The type of task to run.</p>
277      */
SetTaskType(MaintenanceWindowTaskType && value)278     inline void SetTaskType(MaintenanceWindowTaskType&& value) { m_taskType = std::move(value); }
279 
280     /**
281      * <p>The type of task to run.</p>
282      */
WithTaskType(const MaintenanceWindowTaskType & value)283     inline GetMaintenanceWindowTaskResult& WithTaskType(const MaintenanceWindowTaskType& value) { SetTaskType(value); return *this;}
284 
285     /**
286      * <p>The type of task to run.</p>
287      */
WithTaskType(MaintenanceWindowTaskType && value)288     inline GetMaintenanceWindowTaskResult& WithTaskType(MaintenanceWindowTaskType&& value) { SetTaskType(std::move(value)); return *this;}
289 
290 
291     /**
292      * <p>The parameters to pass to the task when it runs.</p>  <p>
293      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
294      * to a task when it runs, instead use the <code>Parameters</code> option in the
295      * <code>TaskInvocationParameters</code> structure. For information about how
296      * Systems Manager handles these options for the supported maintenance window task
297      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
298      */
GetTaskParameters()299     inline const Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression>& GetTaskParameters() const{ return m_taskParameters; }
300 
301     /**
302      * <p>The parameters to pass to the task when it runs.</p>  <p>
303      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
304      * to a task when it runs, instead use the <code>Parameters</code> option in the
305      * <code>TaskInvocationParameters</code> structure. For information about how
306      * Systems Manager handles these options for the supported maintenance window task
307      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
308      */
SetTaskParameters(const Aws::Map<Aws::String,MaintenanceWindowTaskParameterValueExpression> & value)309     inline void SetTaskParameters(const Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression>& value) { m_taskParameters = value; }
310 
311     /**
312      * <p>The parameters to pass to the task when it runs.</p>  <p>
313      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
314      * to a task when it runs, instead use the <code>Parameters</code> option in the
315      * <code>TaskInvocationParameters</code> structure. For information about how
316      * Systems Manager handles these options for the supported maintenance window task
317      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
318      */
SetTaskParameters(Aws::Map<Aws::String,MaintenanceWindowTaskParameterValueExpression> && value)319     inline void SetTaskParameters(Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression>&& value) { m_taskParameters = std::move(value); }
320 
321     /**
322      * <p>The parameters to pass to the task when it runs.</p>  <p>
323      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
324      * to a task when it runs, instead use the <code>Parameters</code> option in the
325      * <code>TaskInvocationParameters</code> structure. For information about how
326      * Systems Manager handles these options for the supported maintenance window task
327      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
328      */
WithTaskParameters(const Aws::Map<Aws::String,MaintenanceWindowTaskParameterValueExpression> & value)329     inline GetMaintenanceWindowTaskResult& WithTaskParameters(const Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression>& value) { SetTaskParameters(value); return *this;}
330 
331     /**
332      * <p>The parameters to pass to the task when it runs.</p>  <p>
333      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
334      * to a task when it runs, instead use the <code>Parameters</code> option in the
335      * <code>TaskInvocationParameters</code> structure. For information about how
336      * Systems Manager handles these options for the supported maintenance window task
337      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
338      */
WithTaskParameters(Aws::Map<Aws::String,MaintenanceWindowTaskParameterValueExpression> && value)339     inline GetMaintenanceWindowTaskResult& WithTaskParameters(Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression>&& value) { SetTaskParameters(std::move(value)); return *this;}
340 
341     /**
342      * <p>The parameters to pass to the task when it runs.</p>  <p>
343      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
344      * to a task when it runs, instead use the <code>Parameters</code> option in the
345      * <code>TaskInvocationParameters</code> structure. For information about how
346      * Systems Manager handles these options for the supported maintenance window task
347      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
348      */
AddTaskParameters(const Aws::String & key,const MaintenanceWindowTaskParameterValueExpression & value)349     inline GetMaintenanceWindowTaskResult& AddTaskParameters(const Aws::String& key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParameters.emplace(key, value); return *this; }
350 
351     /**
352      * <p>The parameters to pass to the task when it runs.</p>  <p>
353      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
354      * to a task when it runs, instead use the <code>Parameters</code> option in the
355      * <code>TaskInvocationParameters</code> structure. For information about how
356      * Systems Manager handles these options for the supported maintenance window task
357      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
358      */
AddTaskParameters(Aws::String && key,const MaintenanceWindowTaskParameterValueExpression & value)359     inline GetMaintenanceWindowTaskResult& AddTaskParameters(Aws::String&& key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParameters.emplace(std::move(key), value); return *this; }
360 
361     /**
362      * <p>The parameters to pass to the task when it runs.</p>  <p>
363      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
364      * to a task when it runs, instead use the <code>Parameters</code> option in the
365      * <code>TaskInvocationParameters</code> structure. For information about how
366      * Systems Manager handles these options for the supported maintenance window task
367      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
368      */
AddTaskParameters(const Aws::String & key,MaintenanceWindowTaskParameterValueExpression && value)369     inline GetMaintenanceWindowTaskResult& AddTaskParameters(const Aws::String& key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParameters.emplace(key, std::move(value)); return *this; }
370 
371     /**
372      * <p>The parameters to pass to the task when it runs.</p>  <p>
373      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
374      * to a task when it runs, instead use the <code>Parameters</code> option in the
375      * <code>TaskInvocationParameters</code> structure. For information about how
376      * Systems Manager handles these options for the supported maintenance window task
377      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
378      */
AddTaskParameters(Aws::String && key,MaintenanceWindowTaskParameterValueExpression && value)379     inline GetMaintenanceWindowTaskResult& AddTaskParameters(Aws::String&& key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParameters.emplace(std::move(key), std::move(value)); return *this; }
380 
381     /**
382      * <p>The parameters to pass to the task when it runs.</p>  <p>
383      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
384      * to a task when it runs, instead use the <code>Parameters</code> option in the
385      * <code>TaskInvocationParameters</code> structure. For information about how
386      * Systems Manager handles these options for the supported maintenance window task
387      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
388      */
AddTaskParameters(const char * key,MaintenanceWindowTaskParameterValueExpression && value)389     inline GetMaintenanceWindowTaskResult& AddTaskParameters(const char* key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParameters.emplace(key, std::move(value)); return *this; }
390 
391     /**
392      * <p>The parameters to pass to the task when it runs.</p>  <p>
393      * <code>TaskParameters</code> has been deprecated. To specify parameters to pass
394      * to a task when it runs, instead use the <code>Parameters</code> option in the
395      * <code>TaskInvocationParameters</code> structure. For information about how
396      * Systems Manager handles these options for the supported maintenance window task
397      * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
398      */
AddTaskParameters(const char * key,const MaintenanceWindowTaskParameterValueExpression & value)399     inline GetMaintenanceWindowTaskResult& AddTaskParameters(const char* key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParameters.emplace(key, value); return *this; }
400 
401 
402     /**
403      * <p>The parameters to pass to the task when it runs.</p>
404      */
GetTaskInvocationParameters()405     inline const MaintenanceWindowTaskInvocationParameters& GetTaskInvocationParameters() const{ return m_taskInvocationParameters; }
406 
407     /**
408      * <p>The parameters to pass to the task when it runs.</p>
409      */
SetTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters & value)410     inline void SetTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters& value) { m_taskInvocationParameters = value; }
411 
412     /**
413      * <p>The parameters to pass to the task when it runs.</p>
414      */
SetTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters && value)415     inline void SetTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters&& value) { m_taskInvocationParameters = std::move(value); }
416 
417     /**
418      * <p>The parameters to pass to the task when it runs.</p>
419      */
WithTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters & value)420     inline GetMaintenanceWindowTaskResult& WithTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters& value) { SetTaskInvocationParameters(value); return *this;}
421 
422     /**
423      * <p>The parameters to pass to the task when it runs.</p>
424      */
WithTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters && value)425     inline GetMaintenanceWindowTaskResult& WithTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters&& value) { SetTaskInvocationParameters(std::move(value)); return *this;}
426 
427 
428     /**
429      * <p>The priority of the task when it runs. The lower the number, the higher the
430      * priority. Tasks that have the same priority are scheduled in parallel.</p>
431      */
GetPriority()432     inline int GetPriority() const{ return m_priority; }
433 
434     /**
435      * <p>The priority of the task when it runs. The lower the number, the higher the
436      * priority. Tasks that have the same priority are scheduled in parallel.</p>
437      */
SetPriority(int value)438     inline void SetPriority(int value) { m_priority = value; }
439 
440     /**
441      * <p>The priority of the task when it runs. The lower the number, the higher the
442      * priority. Tasks that have the same priority are scheduled in parallel.</p>
443      */
WithPriority(int value)444     inline GetMaintenanceWindowTaskResult& WithPriority(int value) { SetPriority(value); return *this;}
445 
446 
447     /**
448      * <p>The maximum number of targets allowed to run this task in parallel.</p>
449      *  <p>For maintenance window tasks without a target specified, you can't
450      * supply a value for this option. Instead, the system inserts a placeholder value
451      * of <code>1</code>, which may be reported in the response to this command. This
452      * value doesn't affect the running of your task and can be ignored.</p>
453      */
GetMaxConcurrency()454     inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
455 
456     /**
457      * <p>The maximum number of targets allowed to run this task in parallel.</p>
458      *  <p>For maintenance window tasks without a target specified, you can't
459      * supply a value for this option. Instead, the system inserts a placeholder value
460      * of <code>1</code>, which may be reported in the response to this command. This
461      * value doesn't affect the running of your task and can be ignored.</p>
462      */
SetMaxConcurrency(const Aws::String & value)463     inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrency = value; }
464 
465     /**
466      * <p>The maximum number of targets allowed to run this task in parallel.</p>
467      *  <p>For maintenance window tasks without a target specified, you can't
468      * supply a value for this option. Instead, the system inserts a placeholder value
469      * of <code>1</code>, which may be reported in the response to this command. This
470      * value doesn't affect the running of your task and can be ignored.</p>
471      */
SetMaxConcurrency(Aws::String && value)472     inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrency = std::move(value); }
473 
474     /**
475      * <p>The maximum number of targets allowed to run this task in parallel.</p>
476      *  <p>For maintenance window tasks without a target specified, you can't
477      * supply a value for this option. Instead, the system inserts a placeholder value
478      * of <code>1</code>, which may be reported in the response to this command. This
479      * value doesn't affect the running of your task and can be ignored.</p>
480      */
SetMaxConcurrency(const char * value)481     inline void SetMaxConcurrency(const char* value) { m_maxConcurrency.assign(value); }
482 
483     /**
484      * <p>The maximum number of targets allowed to run this task in parallel.</p>
485      *  <p>For maintenance window tasks without a target specified, you can't
486      * supply a value for this option. Instead, the system inserts a placeholder value
487      * of <code>1</code>, which may be reported in the response to this command. This
488      * value doesn't affect the running of your task and can be ignored.</p>
489      */
WithMaxConcurrency(const Aws::String & value)490     inline GetMaintenanceWindowTaskResult& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
491 
492     /**
493      * <p>The maximum number of targets allowed to run this task in parallel.</p>
494      *  <p>For maintenance window tasks without a target specified, you can't
495      * supply a value for this option. Instead, the system inserts a placeholder value
496      * of <code>1</code>, which may be reported in the response to this command. This
497      * value doesn't affect the running of your task and can be ignored.</p>
498      */
WithMaxConcurrency(Aws::String && value)499     inline GetMaintenanceWindowTaskResult& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
500 
501     /**
502      * <p>The maximum number of targets allowed to run this task in parallel.</p>
503      *  <p>For maintenance window tasks without a target specified, you can't
504      * supply a value for this option. Instead, the system inserts a placeholder value
505      * of <code>1</code>, which may be reported in the response to this command. This
506      * value doesn't affect the running of your task and can be ignored.</p>
507      */
WithMaxConcurrency(const char * value)508     inline GetMaintenanceWindowTaskResult& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
509 
510 
511     /**
512      * <p>The maximum number of errors allowed before the task stops being
513      * scheduled.</p>  <p>For maintenance window tasks without a target
514      * specified, you can't supply a value for this option. Instead, the system inserts
515      * a placeholder value of <code>1</code>, which may be reported in the response to
516      * this command. This value doesn't affect the running of your task and can be
517      * ignored.</p>
518      */
GetMaxErrors()519     inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
520 
521     /**
522      * <p>The maximum number of errors allowed before the task stops being
523      * scheduled.</p>  <p>For maintenance window tasks without a target
524      * specified, you can't supply a value for this option. Instead, the system inserts
525      * a placeholder value of <code>1</code>, which may be reported in the response to
526      * this command. This value doesn't affect the running of your task and can be
527      * ignored.</p>
528      */
SetMaxErrors(const Aws::String & value)529     inline void SetMaxErrors(const Aws::String& value) { m_maxErrors = value; }
530 
531     /**
532      * <p>The maximum number of errors allowed before the task stops being
533      * scheduled.</p>  <p>For maintenance window tasks without a target
534      * specified, you can't supply a value for this option. Instead, the system inserts
535      * a placeholder value of <code>1</code>, which may be reported in the response to
536      * this command. This value doesn't affect the running of your task and can be
537      * ignored.</p>
538      */
SetMaxErrors(Aws::String && value)539     inline void SetMaxErrors(Aws::String&& value) { m_maxErrors = std::move(value); }
540 
541     /**
542      * <p>The maximum number of errors allowed before the task stops being
543      * scheduled.</p>  <p>For maintenance window tasks without a target
544      * specified, you can't supply a value for this option. Instead, the system inserts
545      * a placeholder value of <code>1</code>, which may be reported in the response to
546      * this command. This value doesn't affect the running of your task and can be
547      * ignored.</p>
548      */
SetMaxErrors(const char * value)549     inline void SetMaxErrors(const char* value) { m_maxErrors.assign(value); }
550 
551     /**
552      * <p>The maximum number of errors allowed before the task stops being
553      * scheduled.</p>  <p>For maintenance window tasks without a target
554      * specified, you can't supply a value for this option. Instead, the system inserts
555      * a placeholder value of <code>1</code>, which may be reported in the response to
556      * this command. This value doesn't affect the running of your task and can be
557      * ignored.</p>
558      */
WithMaxErrors(const Aws::String & value)559     inline GetMaintenanceWindowTaskResult& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
560 
561     /**
562      * <p>The maximum number of errors allowed before the task stops being
563      * scheduled.</p>  <p>For maintenance window tasks without a target
564      * specified, you can't supply a value for this option. Instead, the system inserts
565      * a placeholder value of <code>1</code>, which may be reported in the response to
566      * this command. This value doesn't affect the running of your task and can be
567      * ignored.</p>
568      */
WithMaxErrors(Aws::String && value)569     inline GetMaintenanceWindowTaskResult& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
570 
571     /**
572      * <p>The maximum number of errors allowed before the task stops being
573      * scheduled.</p>  <p>For maintenance window tasks without a target
574      * specified, you can't supply a value for this option. Instead, the system inserts
575      * a placeholder value of <code>1</code>, which may be reported in the response to
576      * this command. This value doesn't affect the running of your task and can be
577      * ignored.</p>
578      */
WithMaxErrors(const char * value)579     inline GetMaintenanceWindowTaskResult& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
580 
581 
582     /**
583      * <p>The location in Amazon Simple Storage Service (Amazon S3) where the task
584      * results are logged.</p>  <p> <code>LoggingInfo</code> has been deprecated.
585      * To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs,
586      * instead use the <code>OutputS3BucketName</code> and
587      * <code>OutputS3KeyPrefix</code> options in the
588      * <code>TaskInvocationParameters</code> structure. For information about how
589      * Amazon Web Services Systems Manager handles these options for the supported
590      * maintenance window task types, see
591      * <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
592      */
GetLoggingInfo()593     inline const LoggingInfo& GetLoggingInfo() const{ return m_loggingInfo; }
594 
595     /**
596      * <p>The location in Amazon Simple Storage Service (Amazon S3) where the task
597      * results are logged.</p>  <p> <code>LoggingInfo</code> has been deprecated.
598      * To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs,
599      * instead use the <code>OutputS3BucketName</code> and
600      * <code>OutputS3KeyPrefix</code> options in the
601      * <code>TaskInvocationParameters</code> structure. For information about how
602      * Amazon Web Services Systems Manager handles these options for the supported
603      * maintenance window task types, see
604      * <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
605      */
SetLoggingInfo(const LoggingInfo & value)606     inline void SetLoggingInfo(const LoggingInfo& value) { m_loggingInfo = value; }
607 
608     /**
609      * <p>The location in Amazon Simple Storage Service (Amazon S3) where the task
610      * results are logged.</p>  <p> <code>LoggingInfo</code> has been deprecated.
611      * To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs,
612      * instead use the <code>OutputS3BucketName</code> and
613      * <code>OutputS3KeyPrefix</code> options in the
614      * <code>TaskInvocationParameters</code> structure. For information about how
615      * Amazon Web Services Systems Manager handles these options for the supported
616      * maintenance window task types, see
617      * <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
618      */
SetLoggingInfo(LoggingInfo && value)619     inline void SetLoggingInfo(LoggingInfo&& value) { m_loggingInfo = std::move(value); }
620 
621     /**
622      * <p>The location in Amazon Simple Storage Service (Amazon S3) where the task
623      * results are logged.</p>  <p> <code>LoggingInfo</code> has been deprecated.
624      * To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs,
625      * instead use the <code>OutputS3BucketName</code> and
626      * <code>OutputS3KeyPrefix</code> options in the
627      * <code>TaskInvocationParameters</code> structure. For information about how
628      * Amazon Web Services Systems Manager handles these options for the supported
629      * maintenance window task types, see
630      * <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
631      */
WithLoggingInfo(const LoggingInfo & value)632     inline GetMaintenanceWindowTaskResult& WithLoggingInfo(const LoggingInfo& value) { SetLoggingInfo(value); return *this;}
633 
634     /**
635      * <p>The location in Amazon Simple Storage Service (Amazon S3) where the task
636      * results are logged.</p>  <p> <code>LoggingInfo</code> has been deprecated.
637      * To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs,
638      * instead use the <code>OutputS3BucketName</code> and
639      * <code>OutputS3KeyPrefix</code> options in the
640      * <code>TaskInvocationParameters</code> structure. For information about how
641      * Amazon Web Services Systems Manager handles these options for the supported
642      * maintenance window task types, see
643      * <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
644      */
WithLoggingInfo(LoggingInfo && value)645     inline GetMaintenanceWindowTaskResult& WithLoggingInfo(LoggingInfo&& value) { SetLoggingInfo(std::move(value)); return *this;}
646 
647 
648     /**
649      * <p>The retrieved task name.</p>
650      */
GetName()651     inline const Aws::String& GetName() const{ return m_name; }
652 
653     /**
654      * <p>The retrieved task name.</p>
655      */
SetName(const Aws::String & value)656     inline void SetName(const Aws::String& value) { m_name = value; }
657 
658     /**
659      * <p>The retrieved task name.</p>
660      */
SetName(Aws::String && value)661     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
662 
663     /**
664      * <p>The retrieved task name.</p>
665      */
SetName(const char * value)666     inline void SetName(const char* value) { m_name.assign(value); }
667 
668     /**
669      * <p>The retrieved task name.</p>
670      */
WithName(const Aws::String & value)671     inline GetMaintenanceWindowTaskResult& WithName(const Aws::String& value) { SetName(value); return *this;}
672 
673     /**
674      * <p>The retrieved task name.</p>
675      */
WithName(Aws::String && value)676     inline GetMaintenanceWindowTaskResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
677 
678     /**
679      * <p>The retrieved task name.</p>
680      */
WithName(const char * value)681     inline GetMaintenanceWindowTaskResult& WithName(const char* value) { SetName(value); return *this;}
682 
683 
684     /**
685      * <p>The retrieved task description.</p>
686      */
GetDescription()687     inline const Aws::String& GetDescription() const{ return m_description; }
688 
689     /**
690      * <p>The retrieved task description.</p>
691      */
SetDescription(const Aws::String & value)692     inline void SetDescription(const Aws::String& value) { m_description = value; }
693 
694     /**
695      * <p>The retrieved task description.</p>
696      */
SetDescription(Aws::String && value)697     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
698 
699     /**
700      * <p>The retrieved task description.</p>
701      */
SetDescription(const char * value)702     inline void SetDescription(const char* value) { m_description.assign(value); }
703 
704     /**
705      * <p>The retrieved task description.</p>
706      */
WithDescription(const Aws::String & value)707     inline GetMaintenanceWindowTaskResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
708 
709     /**
710      * <p>The retrieved task description.</p>
711      */
WithDescription(Aws::String && value)712     inline GetMaintenanceWindowTaskResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
713 
714     /**
715      * <p>The retrieved task description.</p>
716      */
WithDescription(const char * value)717     inline GetMaintenanceWindowTaskResult& WithDescription(const char* value) { SetDescription(value); return *this;}
718 
719 
720     /**
721      * <p>The action to take on tasks when the maintenance window cutoff time is
722      * reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For
723      * Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that
724      * currently running task invocations continue, but no new task invocations are
725      * started. For Run Command tasks, <code>CANCEL_TASK</code> means the system
726      * attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>
727      */
GetCutoffBehavior()728     inline const MaintenanceWindowTaskCutoffBehavior& GetCutoffBehavior() const{ return m_cutoffBehavior; }
729 
730     /**
731      * <p>The action to take on tasks when the maintenance window cutoff time is
732      * reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For
733      * Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that
734      * currently running task invocations continue, but no new task invocations are
735      * started. For Run Command tasks, <code>CANCEL_TASK</code> means the system
736      * attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>
737      */
SetCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior & value)738     inline void SetCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior& value) { m_cutoffBehavior = value; }
739 
740     /**
741      * <p>The action to take on tasks when the maintenance window cutoff time is
742      * reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For
743      * Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that
744      * currently running task invocations continue, but no new task invocations are
745      * started. For Run Command tasks, <code>CANCEL_TASK</code> means the system
746      * attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>
747      */
SetCutoffBehavior(MaintenanceWindowTaskCutoffBehavior && value)748     inline void SetCutoffBehavior(MaintenanceWindowTaskCutoffBehavior&& value) { m_cutoffBehavior = std::move(value); }
749 
750     /**
751      * <p>The action to take on tasks when the maintenance window cutoff time is
752      * reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For
753      * Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that
754      * currently running task invocations continue, but no new task invocations are
755      * started. For Run Command tasks, <code>CANCEL_TASK</code> means the system
756      * attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>
757      */
WithCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior & value)758     inline GetMaintenanceWindowTaskResult& WithCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior& value) { SetCutoffBehavior(value); return *this;}
759 
760     /**
761      * <p>The action to take on tasks when the maintenance window cutoff time is
762      * reached. <code>CONTINUE_TASK</code> means that tasks continue to run. For
763      * Automation, Lambda, Step Functions tasks, <code>CANCEL_TASK</code> means that
764      * currently running task invocations continue, but no new task invocations are
765      * started. For Run Command tasks, <code>CANCEL_TASK</code> means the system
766      * attempts to stop the task by sending a <code>CancelCommand</code> operation.</p>
767      */
WithCutoffBehavior(MaintenanceWindowTaskCutoffBehavior && value)768     inline GetMaintenanceWindowTaskResult& WithCutoffBehavior(MaintenanceWindowTaskCutoffBehavior&& value) { SetCutoffBehavior(std::move(value)); return *this;}
769 
770   private:
771 
772     Aws::String m_windowId;
773 
774     Aws::String m_windowTaskId;
775 
776     Aws::Vector<Target> m_targets;
777 
778     Aws::String m_taskArn;
779 
780     Aws::String m_serviceRoleArn;
781 
782     MaintenanceWindowTaskType m_taskType;
783 
784     Aws::Map<Aws::String, MaintenanceWindowTaskParameterValueExpression> m_taskParameters;
785 
786     MaintenanceWindowTaskInvocationParameters m_taskInvocationParameters;
787 
788     int m_priority;
789 
790     Aws::String m_maxConcurrency;
791 
792     Aws::String m_maxErrors;
793 
794     LoggingInfo m_loggingInfo;
795 
796     Aws::String m_name;
797 
798     Aws::String m_description;
799 
800     MaintenanceWindowTaskCutoffBehavior m_cutoffBehavior;
801   };
802 
803 } // namespace Model
804 } // namespace SSM
805 } // namespace Aws
806