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/dataexchange/DataExchange_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/dataexchange/model/ResponseDetails.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/dataexchange/model/State.h>
13 #include <aws/dataexchange/model/Type.h>
14 #include <aws/dataexchange/model/JobError.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace DataExchange
30 {
31 namespace Model
32 {
33   class AWS_DATAEXCHANGE_API GetJobResult
34   {
35   public:
36     GetJobResult();
37     GetJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     GetJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>The ARN for the job.</p>
43      */
GetArn()44     inline const Aws::String& GetArn() const{ return m_arn; }
45 
46     /**
47      * <p>The ARN for the job.</p>
48      */
SetArn(const Aws::String & value)49     inline void SetArn(const Aws::String& value) { m_arn = value; }
50 
51     /**
52      * <p>The ARN for the job.</p>
53      */
SetArn(Aws::String && value)54     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
55 
56     /**
57      * <p>The ARN for the job.</p>
58      */
SetArn(const char * value)59     inline void SetArn(const char* value) { m_arn.assign(value); }
60 
61     /**
62      * <p>The ARN for the job.</p>
63      */
WithArn(const Aws::String & value)64     inline GetJobResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
65 
66     /**
67      * <p>The ARN for the job.</p>
68      */
WithArn(Aws::String && value)69     inline GetJobResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
70 
71     /**
72      * <p>The ARN for the job.</p>
73      */
WithArn(const char * value)74     inline GetJobResult& WithArn(const char* value) { SetArn(value); return *this;}
75 
76 
77     /**
78      * <p>The date and time that the job was created, in ISO 8601 format.</p>
79      */
GetCreatedAt()80     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
81 
82     /**
83      * <p>The date and time that the job was created, in ISO 8601 format.</p>
84      */
SetCreatedAt(const Aws::Utils::DateTime & value)85     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; }
86 
87     /**
88      * <p>The date and time that the job was created, in ISO 8601 format.</p>
89      */
SetCreatedAt(Aws::Utils::DateTime && value)90     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); }
91 
92     /**
93      * <p>The date and time that the job was created, in ISO 8601 format.</p>
94      */
WithCreatedAt(const Aws::Utils::DateTime & value)95     inline GetJobResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
96 
97     /**
98      * <p>The date and time that the job was created, in ISO 8601 format.</p>
99      */
WithCreatedAt(Aws::Utils::DateTime && value)100     inline GetJobResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
101 
102 
103     /**
104      * <p>Details about the job.</p>
105      */
GetDetails()106     inline const ResponseDetails& GetDetails() const{ return m_details; }
107 
108     /**
109      * <p>Details about the job.</p>
110      */
SetDetails(const ResponseDetails & value)111     inline void SetDetails(const ResponseDetails& value) { m_details = value; }
112 
113     /**
114      * <p>Details about the job.</p>
115      */
SetDetails(ResponseDetails && value)116     inline void SetDetails(ResponseDetails&& value) { m_details = std::move(value); }
117 
118     /**
119      * <p>Details about the job.</p>
120      */
WithDetails(const ResponseDetails & value)121     inline GetJobResult& WithDetails(const ResponseDetails& value) { SetDetails(value); return *this;}
122 
123     /**
124      * <p>Details about the job.</p>
125      */
WithDetails(ResponseDetails && value)126     inline GetJobResult& WithDetails(ResponseDetails&& value) { SetDetails(std::move(value)); return *this;}
127 
128 
129     /**
130      * <p>The errors associated with jobs.</p>
131      */
GetErrors()132     inline const Aws::Vector<JobError>& GetErrors() const{ return m_errors; }
133 
134     /**
135      * <p>The errors associated with jobs.</p>
136      */
SetErrors(const Aws::Vector<JobError> & value)137     inline void SetErrors(const Aws::Vector<JobError>& value) { m_errors = value; }
138 
139     /**
140      * <p>The errors associated with jobs.</p>
141      */
SetErrors(Aws::Vector<JobError> && value)142     inline void SetErrors(Aws::Vector<JobError>&& value) { m_errors = std::move(value); }
143 
144     /**
145      * <p>The errors associated with jobs.</p>
146      */
WithErrors(const Aws::Vector<JobError> & value)147     inline GetJobResult& WithErrors(const Aws::Vector<JobError>& value) { SetErrors(value); return *this;}
148 
149     /**
150      * <p>The errors associated with jobs.</p>
151      */
WithErrors(Aws::Vector<JobError> && value)152     inline GetJobResult& WithErrors(Aws::Vector<JobError>&& value) { SetErrors(std::move(value)); return *this;}
153 
154     /**
155      * <p>The errors associated with jobs.</p>
156      */
AddErrors(const JobError & value)157     inline GetJobResult& AddErrors(const JobError& value) { m_errors.push_back(value); return *this; }
158 
159     /**
160      * <p>The errors associated with jobs.</p>
161      */
AddErrors(JobError && value)162     inline GetJobResult& AddErrors(JobError&& value) { m_errors.push_back(std::move(value)); return *this; }
163 
164 
165     /**
166      * <p>The unique identifier for the job.</p>
167      */
GetId()168     inline const Aws::String& GetId() const{ return m_id; }
169 
170     /**
171      * <p>The unique identifier for the job.</p>
172      */
SetId(const Aws::String & value)173     inline void SetId(const Aws::String& value) { m_id = value; }
174 
175     /**
176      * <p>The unique identifier for the job.</p>
177      */
SetId(Aws::String && value)178     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
179 
180     /**
181      * <p>The unique identifier for the job.</p>
182      */
SetId(const char * value)183     inline void SetId(const char* value) { m_id.assign(value); }
184 
185     /**
186      * <p>The unique identifier for the job.</p>
187      */
WithId(const Aws::String & value)188     inline GetJobResult& WithId(const Aws::String& value) { SetId(value); return *this;}
189 
190     /**
191      * <p>The unique identifier for the job.</p>
192      */
WithId(Aws::String && value)193     inline GetJobResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
194 
195     /**
196      * <p>The unique identifier for the job.</p>
197      */
WithId(const char * value)198     inline GetJobResult& WithId(const char* value) { SetId(value); return *this;}
199 
200 
201     /**
202      * <p>The state of the job.</p>
203      */
GetState()204     inline const State& GetState() const{ return m_state; }
205 
206     /**
207      * <p>The state of the job.</p>
208      */
SetState(const State & value)209     inline void SetState(const State& value) { m_state = value; }
210 
211     /**
212      * <p>The state of the job.</p>
213      */
SetState(State && value)214     inline void SetState(State&& value) { m_state = std::move(value); }
215 
216     /**
217      * <p>The state of the job.</p>
218      */
WithState(const State & value)219     inline GetJobResult& WithState(const State& value) { SetState(value); return *this;}
220 
221     /**
222      * <p>The state of the job.</p>
223      */
WithState(State && value)224     inline GetJobResult& WithState(State&& value) { SetState(std::move(value)); return *this;}
225 
226 
227     /**
228      * <p>The job type.</p>
229      */
GetType()230     inline const Type& GetType() const{ return m_type; }
231 
232     /**
233      * <p>The job type.</p>
234      */
SetType(const Type & value)235     inline void SetType(const Type& value) { m_type = value; }
236 
237     /**
238      * <p>The job type.</p>
239      */
SetType(Type && value)240     inline void SetType(Type&& value) { m_type = std::move(value); }
241 
242     /**
243      * <p>The job type.</p>
244      */
WithType(const Type & value)245     inline GetJobResult& WithType(const Type& value) { SetType(value); return *this;}
246 
247     /**
248      * <p>The job type.</p>
249      */
WithType(Type && value)250     inline GetJobResult& WithType(Type&& value) { SetType(std::move(value)); return *this;}
251 
252 
253     /**
254      * <p>The date and time that the job was last updated, in ISO 8601 format.</p>
255      */
GetUpdatedAt()256     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
257 
258     /**
259      * <p>The date and time that the job was last updated, in ISO 8601 format.</p>
260      */
SetUpdatedAt(const Aws::Utils::DateTime & value)261     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; }
262 
263     /**
264      * <p>The date and time that the job was last updated, in ISO 8601 format.</p>
265      */
SetUpdatedAt(Aws::Utils::DateTime && value)266     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); }
267 
268     /**
269      * <p>The date and time that the job was last updated, in ISO 8601 format.</p>
270      */
WithUpdatedAt(const Aws::Utils::DateTime & value)271     inline GetJobResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
272 
273     /**
274      * <p>The date and time that the job was last updated, in ISO 8601 format.</p>
275      */
WithUpdatedAt(Aws::Utils::DateTime && value)276     inline GetJobResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
277 
278   private:
279 
280     Aws::String m_arn;
281 
282     Aws::Utils::DateTime m_createdAt;
283 
284     ResponseDetails m_details;
285 
286     Aws::Vector<JobError> m_errors;
287 
288     Aws::String m_id;
289 
290     State m_state;
291 
292     Type m_type;
293 
294     Aws::Utils::DateTime m_updatedAt;
295   };
296 
297 } // namespace Model
298 } // namespace DataExchange
299 } // namespace Aws
300