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-jobs-data/IoTJobsDataPlane_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 IoTJobsDataPlane
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Contains a subset of information about a job execution.</p><p><h3>See
28    * Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/JobExecutionSummary">AWS
30    * API Reference</a></p>
31    */
32   class AWS_IOTJOBSDATAPLANE_API JobExecutionSummary
33   {
34   public:
35     JobExecutionSummary();
36     JobExecutionSummary(Aws::Utils::Json::JsonView jsonValue);
37     JobExecutionSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The unique identifier you assigned to this job when it was created.</p>
43      */
GetJobId()44     inline const Aws::String& GetJobId() const{ return m_jobId; }
45 
46     /**
47      * <p>The unique identifier you assigned to this job when it was created.</p>
48      */
JobIdHasBeenSet()49     inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
50 
51     /**
52      * <p>The unique identifier you assigned to this job when it was created.</p>
53      */
SetJobId(const Aws::String & value)54     inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
55 
56     /**
57      * <p>The unique identifier you assigned to this job when it was created.</p>
58      */
SetJobId(Aws::String && value)59     inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
60 
61     /**
62      * <p>The unique identifier you assigned to this job when it was created.</p>
63      */
SetJobId(const char * value)64     inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
65 
66     /**
67      * <p>The unique identifier you assigned to this job when it was created.</p>
68      */
WithJobId(const Aws::String & value)69     inline JobExecutionSummary& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
70 
71     /**
72      * <p>The unique identifier you assigned to this job when it was created.</p>
73      */
WithJobId(Aws::String && value)74     inline JobExecutionSummary& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The unique identifier you assigned to this job when it was created.</p>
78      */
WithJobId(const char * value)79     inline JobExecutionSummary& WithJobId(const char* value) { SetJobId(value); return *this;}
80 
81 
82     /**
83      * <p>The time, in milliseconds since the epoch, when the job execution was
84      * enqueued.</p>
85      */
GetQueuedAt()86     inline long long GetQueuedAt() const{ return m_queuedAt; }
87 
88     /**
89      * <p>The time, in milliseconds since the epoch, when the job execution was
90      * enqueued.</p>
91      */
QueuedAtHasBeenSet()92     inline bool QueuedAtHasBeenSet() const { return m_queuedAtHasBeenSet; }
93 
94     /**
95      * <p>The time, in milliseconds since the epoch, when the job execution was
96      * enqueued.</p>
97      */
SetQueuedAt(long long value)98     inline void SetQueuedAt(long long value) { m_queuedAtHasBeenSet = true; m_queuedAt = value; }
99 
100     /**
101      * <p>The time, in milliseconds since the epoch, when the job execution was
102      * enqueued.</p>
103      */
WithQueuedAt(long long value)104     inline JobExecutionSummary& WithQueuedAt(long long value) { SetQueuedAt(value); return *this;}
105 
106 
107     /**
108      * <p>The time, in milliseconds since the epoch, when the job execution
109      * started.</p>
110      */
GetStartedAt()111     inline long long GetStartedAt() const{ return m_startedAt; }
112 
113     /**
114      * <p>The time, in milliseconds since the epoch, when the job execution
115      * started.</p>
116      */
StartedAtHasBeenSet()117     inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
118 
119     /**
120      * <p>The time, in milliseconds since the epoch, when the job execution
121      * started.</p>
122      */
SetStartedAt(long long value)123     inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
124 
125     /**
126      * <p>The time, in milliseconds since the epoch, when the job execution
127      * started.</p>
128      */
WithStartedAt(long long value)129     inline JobExecutionSummary& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
130 
131 
132     /**
133      * <p>The time, in milliseconds since the epoch, when the job execution was last
134      * updated.</p>
135      */
GetLastUpdatedAt()136     inline long long GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
137 
138     /**
139      * <p>The time, in milliseconds since the epoch, when the job execution was last
140      * updated.</p>
141      */
LastUpdatedAtHasBeenSet()142     inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
143 
144     /**
145      * <p>The time, in milliseconds since the epoch, when the job execution was last
146      * updated.</p>
147      */
SetLastUpdatedAt(long long value)148     inline void SetLastUpdatedAt(long long value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
149 
150     /**
151      * <p>The time, in milliseconds since the epoch, when the job execution was last
152      * updated.</p>
153      */
WithLastUpdatedAt(long long value)154     inline JobExecutionSummary& WithLastUpdatedAt(long long value) { SetLastUpdatedAt(value); return *this;}
155 
156 
157     /**
158      * <p>The version of the job execution. Job execution versions are incremented each
159      * time AWS IoT Jobs receives an update from a device.</p>
160      */
GetVersionNumber()161     inline long long GetVersionNumber() const{ return m_versionNumber; }
162 
163     /**
164      * <p>The version of the job execution. Job execution versions are incremented each
165      * time AWS IoT Jobs receives an update from a device.</p>
166      */
VersionNumberHasBeenSet()167     inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; }
168 
169     /**
170      * <p>The version of the job execution. Job execution versions are incremented each
171      * time AWS IoT Jobs receives an update from a device.</p>
172      */
SetVersionNumber(long long value)173     inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; }
174 
175     /**
176      * <p>The version of the job execution. Job execution versions are incremented each
177      * time AWS IoT Jobs receives an update from a device.</p>
178      */
WithVersionNumber(long long value)179     inline JobExecutionSummary& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;}
180 
181 
182     /**
183      * <p>A number that identifies a particular job execution on a particular
184      * device.</p>
185      */
GetExecutionNumber()186     inline long long GetExecutionNumber() const{ return m_executionNumber; }
187 
188     /**
189      * <p>A number that identifies a particular job execution on a particular
190      * device.</p>
191      */
ExecutionNumberHasBeenSet()192     inline bool ExecutionNumberHasBeenSet() const { return m_executionNumberHasBeenSet; }
193 
194     /**
195      * <p>A number that identifies a particular job execution on a particular
196      * device.</p>
197      */
SetExecutionNumber(long long value)198     inline void SetExecutionNumber(long long value) { m_executionNumberHasBeenSet = true; m_executionNumber = value; }
199 
200     /**
201      * <p>A number that identifies a particular job execution on a particular
202      * device.</p>
203      */
WithExecutionNumber(long long value)204     inline JobExecutionSummary& WithExecutionNumber(long long value) { SetExecutionNumber(value); return *this;}
205 
206   private:
207 
208     Aws::String m_jobId;
209     bool m_jobIdHasBeenSet;
210 
211     long long m_queuedAt;
212     bool m_queuedAtHasBeenSet;
213 
214     long long m_startedAt;
215     bool m_startedAtHasBeenSet;
216 
217     long long m_lastUpdatedAt;
218     bool m_lastUpdatedAtHasBeenSet;
219 
220     long long m_versionNumber;
221     bool m_versionNumberHasBeenSet;
222 
223     long long m_executionNumber;
224     bool m_executionNumberHasBeenSet;
225   };
226 
227 } // namespace Model
228 } // namespace IoTJobsDataPlane
229 } // namespace Aws
230