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/iot/IoT_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.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 IoT
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>The job process details.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/JobProcessDetails">AWS
30    * API Reference</a></p>
31    */
32   class AWS_IOT_API JobProcessDetails
33   {
34   public:
35     JobProcessDetails();
36     JobProcessDetails(Aws::Utils::Json::JsonView jsonValue);
37     JobProcessDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The target devices to which the job execution is being rolled out. This value
43      * will be null after the job execution has finished rolling out to all the target
44      * devices.</p>
45      */
GetProcessingTargets()46     inline const Aws::Vector<Aws::String>& GetProcessingTargets() const{ return m_processingTargets; }
47 
48     /**
49      * <p>The target devices to which the job execution is being rolled out. This value
50      * will be null after the job execution has finished rolling out to all the target
51      * devices.</p>
52      */
ProcessingTargetsHasBeenSet()53     inline bool ProcessingTargetsHasBeenSet() const { return m_processingTargetsHasBeenSet; }
54 
55     /**
56      * <p>The target devices to which the job execution is being rolled out. This value
57      * will be null after the job execution has finished rolling out to all the target
58      * devices.</p>
59      */
SetProcessingTargets(const Aws::Vector<Aws::String> & value)60     inline void SetProcessingTargets(const Aws::Vector<Aws::String>& value) { m_processingTargetsHasBeenSet = true; m_processingTargets = value; }
61 
62     /**
63      * <p>The target devices to which the job execution is being rolled out. This value
64      * will be null after the job execution has finished rolling out to all the target
65      * devices.</p>
66      */
SetProcessingTargets(Aws::Vector<Aws::String> && value)67     inline void SetProcessingTargets(Aws::Vector<Aws::String>&& value) { m_processingTargetsHasBeenSet = true; m_processingTargets = std::move(value); }
68 
69     /**
70      * <p>The target devices to which the job execution is being rolled out. This value
71      * will be null after the job execution has finished rolling out to all the target
72      * devices.</p>
73      */
WithProcessingTargets(const Aws::Vector<Aws::String> & value)74     inline JobProcessDetails& WithProcessingTargets(const Aws::Vector<Aws::String>& value) { SetProcessingTargets(value); return *this;}
75 
76     /**
77      * <p>The target devices to which the job execution is being rolled out. This value
78      * will be null after the job execution has finished rolling out to all the target
79      * devices.</p>
80      */
WithProcessingTargets(Aws::Vector<Aws::String> && value)81     inline JobProcessDetails& WithProcessingTargets(Aws::Vector<Aws::String>&& value) { SetProcessingTargets(std::move(value)); return *this;}
82 
83     /**
84      * <p>The target devices to which the job execution is being rolled out. This value
85      * will be null after the job execution has finished rolling out to all the target
86      * devices.</p>
87      */
AddProcessingTargets(const Aws::String & value)88     inline JobProcessDetails& AddProcessingTargets(const Aws::String& value) { m_processingTargetsHasBeenSet = true; m_processingTargets.push_back(value); return *this; }
89 
90     /**
91      * <p>The target devices to which the job execution is being rolled out. This value
92      * will be null after the job execution has finished rolling out to all the target
93      * devices.</p>
94      */
AddProcessingTargets(Aws::String && value)95     inline JobProcessDetails& AddProcessingTargets(Aws::String&& value) { m_processingTargetsHasBeenSet = true; m_processingTargets.push_back(std::move(value)); return *this; }
96 
97     /**
98      * <p>The target devices to which the job execution is being rolled out. This value
99      * will be null after the job execution has finished rolling out to all the target
100      * devices.</p>
101      */
AddProcessingTargets(const char * value)102     inline JobProcessDetails& AddProcessingTargets(const char* value) { m_processingTargetsHasBeenSet = true; m_processingTargets.push_back(value); return *this; }
103 
104 
105     /**
106      * <p>The number of things that cancelled the job.</p>
107      */
GetNumberOfCanceledThings()108     inline int GetNumberOfCanceledThings() const{ return m_numberOfCanceledThings; }
109 
110     /**
111      * <p>The number of things that cancelled the job.</p>
112      */
NumberOfCanceledThingsHasBeenSet()113     inline bool NumberOfCanceledThingsHasBeenSet() const { return m_numberOfCanceledThingsHasBeenSet; }
114 
115     /**
116      * <p>The number of things that cancelled the job.</p>
117      */
SetNumberOfCanceledThings(int value)118     inline void SetNumberOfCanceledThings(int value) { m_numberOfCanceledThingsHasBeenSet = true; m_numberOfCanceledThings = value; }
119 
120     /**
121      * <p>The number of things that cancelled the job.</p>
122      */
WithNumberOfCanceledThings(int value)123     inline JobProcessDetails& WithNumberOfCanceledThings(int value) { SetNumberOfCanceledThings(value); return *this;}
124 
125 
126     /**
127      * <p>The number of things which successfully completed the job.</p>
128      */
GetNumberOfSucceededThings()129     inline int GetNumberOfSucceededThings() const{ return m_numberOfSucceededThings; }
130 
131     /**
132      * <p>The number of things which successfully completed the job.</p>
133      */
NumberOfSucceededThingsHasBeenSet()134     inline bool NumberOfSucceededThingsHasBeenSet() const { return m_numberOfSucceededThingsHasBeenSet; }
135 
136     /**
137      * <p>The number of things which successfully completed the job.</p>
138      */
SetNumberOfSucceededThings(int value)139     inline void SetNumberOfSucceededThings(int value) { m_numberOfSucceededThingsHasBeenSet = true; m_numberOfSucceededThings = value; }
140 
141     /**
142      * <p>The number of things which successfully completed the job.</p>
143      */
WithNumberOfSucceededThings(int value)144     inline JobProcessDetails& WithNumberOfSucceededThings(int value) { SetNumberOfSucceededThings(value); return *this;}
145 
146 
147     /**
148      * <p>The number of things that failed executing the job.</p>
149      */
GetNumberOfFailedThings()150     inline int GetNumberOfFailedThings() const{ return m_numberOfFailedThings; }
151 
152     /**
153      * <p>The number of things that failed executing the job.</p>
154      */
NumberOfFailedThingsHasBeenSet()155     inline bool NumberOfFailedThingsHasBeenSet() const { return m_numberOfFailedThingsHasBeenSet; }
156 
157     /**
158      * <p>The number of things that failed executing the job.</p>
159      */
SetNumberOfFailedThings(int value)160     inline void SetNumberOfFailedThings(int value) { m_numberOfFailedThingsHasBeenSet = true; m_numberOfFailedThings = value; }
161 
162     /**
163      * <p>The number of things that failed executing the job.</p>
164      */
WithNumberOfFailedThings(int value)165     inline JobProcessDetails& WithNumberOfFailedThings(int value) { SetNumberOfFailedThings(value); return *this;}
166 
167 
168     /**
169      * <p>The number of things that rejected the job.</p>
170      */
GetNumberOfRejectedThings()171     inline int GetNumberOfRejectedThings() const{ return m_numberOfRejectedThings; }
172 
173     /**
174      * <p>The number of things that rejected the job.</p>
175      */
NumberOfRejectedThingsHasBeenSet()176     inline bool NumberOfRejectedThingsHasBeenSet() const { return m_numberOfRejectedThingsHasBeenSet; }
177 
178     /**
179      * <p>The number of things that rejected the job.</p>
180      */
SetNumberOfRejectedThings(int value)181     inline void SetNumberOfRejectedThings(int value) { m_numberOfRejectedThingsHasBeenSet = true; m_numberOfRejectedThings = value; }
182 
183     /**
184      * <p>The number of things that rejected the job.</p>
185      */
WithNumberOfRejectedThings(int value)186     inline JobProcessDetails& WithNumberOfRejectedThings(int value) { SetNumberOfRejectedThings(value); return *this;}
187 
188 
189     /**
190      * <p>The number of things that are awaiting execution of the job.</p>
191      */
GetNumberOfQueuedThings()192     inline int GetNumberOfQueuedThings() const{ return m_numberOfQueuedThings; }
193 
194     /**
195      * <p>The number of things that are awaiting execution of the job.</p>
196      */
NumberOfQueuedThingsHasBeenSet()197     inline bool NumberOfQueuedThingsHasBeenSet() const { return m_numberOfQueuedThingsHasBeenSet; }
198 
199     /**
200      * <p>The number of things that are awaiting execution of the job.</p>
201      */
SetNumberOfQueuedThings(int value)202     inline void SetNumberOfQueuedThings(int value) { m_numberOfQueuedThingsHasBeenSet = true; m_numberOfQueuedThings = value; }
203 
204     /**
205      * <p>The number of things that are awaiting execution of the job.</p>
206      */
WithNumberOfQueuedThings(int value)207     inline JobProcessDetails& WithNumberOfQueuedThings(int value) { SetNumberOfQueuedThings(value); return *this;}
208 
209 
210     /**
211      * <p>The number of things currently executing the job.</p>
212      */
GetNumberOfInProgressThings()213     inline int GetNumberOfInProgressThings() const{ return m_numberOfInProgressThings; }
214 
215     /**
216      * <p>The number of things currently executing the job.</p>
217      */
NumberOfInProgressThingsHasBeenSet()218     inline bool NumberOfInProgressThingsHasBeenSet() const { return m_numberOfInProgressThingsHasBeenSet; }
219 
220     /**
221      * <p>The number of things currently executing the job.</p>
222      */
SetNumberOfInProgressThings(int value)223     inline void SetNumberOfInProgressThings(int value) { m_numberOfInProgressThingsHasBeenSet = true; m_numberOfInProgressThings = value; }
224 
225     /**
226      * <p>The number of things currently executing the job.</p>
227      */
WithNumberOfInProgressThings(int value)228     inline JobProcessDetails& WithNumberOfInProgressThings(int value) { SetNumberOfInProgressThings(value); return *this;}
229 
230 
231     /**
232      * <p>The number of things that are no longer scheduled to execute the job because
233      * they have been deleted or have been removed from the group that was a target of
234      * the job.</p>
235      */
GetNumberOfRemovedThings()236     inline int GetNumberOfRemovedThings() const{ return m_numberOfRemovedThings; }
237 
238     /**
239      * <p>The number of things that are no longer scheduled to execute the job because
240      * they have been deleted or have been removed from the group that was a target of
241      * the job.</p>
242      */
NumberOfRemovedThingsHasBeenSet()243     inline bool NumberOfRemovedThingsHasBeenSet() const { return m_numberOfRemovedThingsHasBeenSet; }
244 
245     /**
246      * <p>The number of things that are no longer scheduled to execute the job because
247      * they have been deleted or have been removed from the group that was a target of
248      * the job.</p>
249      */
SetNumberOfRemovedThings(int value)250     inline void SetNumberOfRemovedThings(int value) { m_numberOfRemovedThingsHasBeenSet = true; m_numberOfRemovedThings = value; }
251 
252     /**
253      * <p>The number of things that are no longer scheduled to execute the job because
254      * they have been deleted or have been removed from the group that was a target of
255      * the job.</p>
256      */
WithNumberOfRemovedThings(int value)257     inline JobProcessDetails& WithNumberOfRemovedThings(int value) { SetNumberOfRemovedThings(value); return *this;}
258 
259 
260     /**
261      * <p>The number of things whose job execution status is
262      * <code>TIMED_OUT</code>.</p>
263      */
GetNumberOfTimedOutThings()264     inline int GetNumberOfTimedOutThings() const{ return m_numberOfTimedOutThings; }
265 
266     /**
267      * <p>The number of things whose job execution status is
268      * <code>TIMED_OUT</code>.</p>
269      */
NumberOfTimedOutThingsHasBeenSet()270     inline bool NumberOfTimedOutThingsHasBeenSet() const { return m_numberOfTimedOutThingsHasBeenSet; }
271 
272     /**
273      * <p>The number of things whose job execution status is
274      * <code>TIMED_OUT</code>.</p>
275      */
SetNumberOfTimedOutThings(int value)276     inline void SetNumberOfTimedOutThings(int value) { m_numberOfTimedOutThingsHasBeenSet = true; m_numberOfTimedOutThings = value; }
277 
278     /**
279      * <p>The number of things whose job execution status is
280      * <code>TIMED_OUT</code>.</p>
281      */
WithNumberOfTimedOutThings(int value)282     inline JobProcessDetails& WithNumberOfTimedOutThings(int value) { SetNumberOfTimedOutThings(value); return *this;}
283 
284   private:
285 
286     Aws::Vector<Aws::String> m_processingTargets;
287     bool m_processingTargetsHasBeenSet;
288 
289     int m_numberOfCanceledThings;
290     bool m_numberOfCanceledThingsHasBeenSet;
291 
292     int m_numberOfSucceededThings;
293     bool m_numberOfSucceededThingsHasBeenSet;
294 
295     int m_numberOfFailedThings;
296     bool m_numberOfFailedThingsHasBeenSet;
297 
298     int m_numberOfRejectedThings;
299     bool m_numberOfRejectedThingsHasBeenSet;
300 
301     int m_numberOfQueuedThings;
302     bool m_numberOfQueuedThingsHasBeenSet;
303 
304     int m_numberOfInProgressThings;
305     bool m_numberOfInProgressThingsHasBeenSet;
306 
307     int m_numberOfRemovedThings;
308     bool m_numberOfRemovedThingsHasBeenSet;
309 
310     int m_numberOfTimedOutThings;
311     bool m_numberOfTimedOutThingsHasBeenSet;
312   };
313 
314 } // namespace Model
315 } // namespace IoT
316 } // namespace Aws
317