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/healthlake/HealthLake_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/healthlake/model/JobStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/healthlake/model/OutputDataConfig.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace HealthLake
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>The properties of a FHIR export job, including the ID, ARN, name, and the
31    * status of the job.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ExportJobProperties">AWS
33    * API Reference</a></p>
34    */
35   class AWS_HEALTHLAKE_API ExportJobProperties
36   {
37   public:
38     ExportJobProperties();
39     ExportJobProperties(Aws::Utils::Json::JsonView jsonValue);
40     ExportJobProperties& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The AWS generated ID for an export job.</p>
46      */
GetJobId()47     inline const Aws::String& GetJobId() const{ return m_jobId; }
48 
49     /**
50      * <p>The AWS generated ID for an export job.</p>
51      */
JobIdHasBeenSet()52     inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
53 
54     /**
55      * <p>The AWS generated ID for an export job.</p>
56      */
SetJobId(const Aws::String & value)57     inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
58 
59     /**
60      * <p>The AWS generated ID for an export job.</p>
61      */
SetJobId(Aws::String && value)62     inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
63 
64     /**
65      * <p>The AWS generated ID for an export job.</p>
66      */
SetJobId(const char * value)67     inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
68 
69     /**
70      * <p>The AWS generated ID for an export job.</p>
71      */
WithJobId(const Aws::String & value)72     inline ExportJobProperties& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
73 
74     /**
75      * <p>The AWS generated ID for an export job.</p>
76      */
WithJobId(Aws::String && value)77     inline ExportJobProperties& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
78 
79     /**
80      * <p>The AWS generated ID for an export job.</p>
81      */
WithJobId(const char * value)82     inline ExportJobProperties& WithJobId(const char* value) { SetJobId(value); return *this;}
83 
84 
85     /**
86      * <p>The user generated name for an export job.</p>
87      */
GetJobName()88     inline const Aws::String& GetJobName() const{ return m_jobName; }
89 
90     /**
91      * <p>The user generated name for an export job.</p>
92      */
JobNameHasBeenSet()93     inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
94 
95     /**
96      * <p>The user generated name for an export job.</p>
97      */
SetJobName(const Aws::String & value)98     inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
99 
100     /**
101      * <p>The user generated name for an export job.</p>
102      */
SetJobName(Aws::String && value)103     inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
104 
105     /**
106      * <p>The user generated name for an export job.</p>
107      */
SetJobName(const char * value)108     inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
109 
110     /**
111      * <p>The user generated name for an export job.</p>
112      */
WithJobName(const Aws::String & value)113     inline ExportJobProperties& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
114 
115     /**
116      * <p>The user generated name for an export job.</p>
117      */
WithJobName(Aws::String && value)118     inline ExportJobProperties& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
119 
120     /**
121      * <p>The user generated name for an export job.</p>
122      */
WithJobName(const char * value)123     inline ExportJobProperties& WithJobName(const char* value) { SetJobName(value); return *this;}
124 
125 
126     /**
127      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
128      * IN_PROGRESS, COMPLETED, or FAILED.</p>
129      */
GetJobStatus()130     inline const JobStatus& GetJobStatus() const{ return m_jobStatus; }
131 
132     /**
133      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
134      * IN_PROGRESS, COMPLETED, or FAILED.</p>
135      */
JobStatusHasBeenSet()136     inline bool JobStatusHasBeenSet() const { return m_jobStatusHasBeenSet; }
137 
138     /**
139      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
140      * IN_PROGRESS, COMPLETED, or FAILED.</p>
141      */
SetJobStatus(const JobStatus & value)142     inline void SetJobStatus(const JobStatus& value) { m_jobStatusHasBeenSet = true; m_jobStatus = value; }
143 
144     /**
145      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
146      * IN_PROGRESS, COMPLETED, or FAILED.</p>
147      */
SetJobStatus(JobStatus && value)148     inline void SetJobStatus(JobStatus&& value) { m_jobStatusHasBeenSet = true; m_jobStatus = std::move(value); }
149 
150     /**
151      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
152      * IN_PROGRESS, COMPLETED, or FAILED.</p>
153      */
WithJobStatus(const JobStatus & value)154     inline ExportJobProperties& WithJobStatus(const JobStatus& value) { SetJobStatus(value); return *this;}
155 
156     /**
157      * <p>The status of a FHIR export job. Possible statuses are SUBMITTED,
158      * IN_PROGRESS, COMPLETED, or FAILED.</p>
159      */
WithJobStatus(JobStatus && value)160     inline ExportJobProperties& WithJobStatus(JobStatus&& value) { SetJobStatus(std::move(value)); return *this;}
161 
162 
163     /**
164      * <p>The time an export job was initiated.</p>
165      */
GetSubmitTime()166     inline const Aws::Utils::DateTime& GetSubmitTime() const{ return m_submitTime; }
167 
168     /**
169      * <p>The time an export job was initiated.</p>
170      */
SubmitTimeHasBeenSet()171     inline bool SubmitTimeHasBeenSet() const { return m_submitTimeHasBeenSet; }
172 
173     /**
174      * <p>The time an export job was initiated.</p>
175      */
SetSubmitTime(const Aws::Utils::DateTime & value)176     inline void SetSubmitTime(const Aws::Utils::DateTime& value) { m_submitTimeHasBeenSet = true; m_submitTime = value; }
177 
178     /**
179      * <p>The time an export job was initiated.</p>
180      */
SetSubmitTime(Aws::Utils::DateTime && value)181     inline void SetSubmitTime(Aws::Utils::DateTime&& value) { m_submitTimeHasBeenSet = true; m_submitTime = std::move(value); }
182 
183     /**
184      * <p>The time an export job was initiated.</p>
185      */
WithSubmitTime(const Aws::Utils::DateTime & value)186     inline ExportJobProperties& WithSubmitTime(const Aws::Utils::DateTime& value) { SetSubmitTime(value); return *this;}
187 
188     /**
189      * <p>The time an export job was initiated.</p>
190      */
WithSubmitTime(Aws::Utils::DateTime && value)191     inline ExportJobProperties& WithSubmitTime(Aws::Utils::DateTime&& value) { SetSubmitTime(std::move(value)); return *this;}
192 
193 
194     /**
195      * <p>The time an export job completed.</p>
196      */
GetEndTime()197     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
198 
199     /**
200      * <p>The time an export job completed.</p>
201      */
EndTimeHasBeenSet()202     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
203 
204     /**
205      * <p>The time an export job completed.</p>
206      */
SetEndTime(const Aws::Utils::DateTime & value)207     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
208 
209     /**
210      * <p>The time an export job completed.</p>
211      */
SetEndTime(Aws::Utils::DateTime && value)212     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
213 
214     /**
215      * <p>The time an export job completed.</p>
216      */
WithEndTime(const Aws::Utils::DateTime & value)217     inline ExportJobProperties& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
218 
219     /**
220      * <p>The time an export job completed.</p>
221      */
WithEndTime(Aws::Utils::DateTime && value)222     inline ExportJobProperties& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
223 
224 
225     /**
226      * <p>The AWS generated ID for the Data Store from which files are being exported
227      * for an export job.</p>
228      */
GetDatastoreId()229     inline const Aws::String& GetDatastoreId() const{ return m_datastoreId; }
230 
231     /**
232      * <p>The AWS generated ID for the Data Store from which files are being exported
233      * for an export job.</p>
234      */
DatastoreIdHasBeenSet()235     inline bool DatastoreIdHasBeenSet() const { return m_datastoreIdHasBeenSet; }
236 
237     /**
238      * <p>The AWS generated ID for the Data Store from which files are being exported
239      * for an export job.</p>
240      */
SetDatastoreId(const Aws::String & value)241     inline void SetDatastoreId(const Aws::String& value) { m_datastoreIdHasBeenSet = true; m_datastoreId = value; }
242 
243     /**
244      * <p>The AWS generated ID for the Data Store from which files are being exported
245      * for an export job.</p>
246      */
SetDatastoreId(Aws::String && value)247     inline void SetDatastoreId(Aws::String&& value) { m_datastoreIdHasBeenSet = true; m_datastoreId = std::move(value); }
248 
249     /**
250      * <p>The AWS generated ID for the Data Store from which files are being exported
251      * for an export job.</p>
252      */
SetDatastoreId(const char * value)253     inline void SetDatastoreId(const char* value) { m_datastoreIdHasBeenSet = true; m_datastoreId.assign(value); }
254 
255     /**
256      * <p>The AWS generated ID for the Data Store from which files are being exported
257      * for an export job.</p>
258      */
WithDatastoreId(const Aws::String & value)259     inline ExportJobProperties& WithDatastoreId(const Aws::String& value) { SetDatastoreId(value); return *this;}
260 
261     /**
262      * <p>The AWS generated ID for the Data Store from which files are being exported
263      * for an export job.</p>
264      */
WithDatastoreId(Aws::String && value)265     inline ExportJobProperties& WithDatastoreId(Aws::String&& value) { SetDatastoreId(std::move(value)); return *this;}
266 
267     /**
268      * <p>The AWS generated ID for the Data Store from which files are being exported
269      * for an export job.</p>
270      */
WithDatastoreId(const char * value)271     inline ExportJobProperties& WithDatastoreId(const char* value) { SetDatastoreId(value); return *this;}
272 
273 
274     /**
275      * <p>The output data configuration that was supplied when the export job was
276      * created.</p>
277      */
GetOutputDataConfig()278     inline const OutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; }
279 
280     /**
281      * <p>The output data configuration that was supplied when the export job was
282      * created.</p>
283      */
OutputDataConfigHasBeenSet()284     inline bool OutputDataConfigHasBeenSet() const { return m_outputDataConfigHasBeenSet; }
285 
286     /**
287      * <p>The output data configuration that was supplied when the export job was
288      * created.</p>
289      */
SetOutputDataConfig(const OutputDataConfig & value)290     inline void SetOutputDataConfig(const OutputDataConfig& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = value; }
291 
292     /**
293      * <p>The output data configuration that was supplied when the export job was
294      * created.</p>
295      */
SetOutputDataConfig(OutputDataConfig && value)296     inline void SetOutputDataConfig(OutputDataConfig&& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = std::move(value); }
297 
298     /**
299      * <p>The output data configuration that was supplied when the export job was
300      * created.</p>
301      */
WithOutputDataConfig(const OutputDataConfig & value)302     inline ExportJobProperties& WithOutputDataConfig(const OutputDataConfig& value) { SetOutputDataConfig(value); return *this;}
303 
304     /**
305      * <p>The output data configuration that was supplied when the export job was
306      * created.</p>
307      */
WithOutputDataConfig(OutputDataConfig && value)308     inline ExportJobProperties& WithOutputDataConfig(OutputDataConfig&& value) { SetOutputDataConfig(std::move(value)); return *this;}
309 
310 
311     /**
312      * <p>The Amazon Resource Name used during the initiation of the job.</p>
313      */
GetDataAccessRoleArn()314     inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; }
315 
316     /**
317      * <p>The Amazon Resource Name used during the initiation of the job.</p>
318      */
DataAccessRoleArnHasBeenSet()319     inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; }
320 
321     /**
322      * <p>The Amazon Resource Name used during the initiation of the job.</p>
323      */
SetDataAccessRoleArn(const Aws::String & value)324     inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; }
325 
326     /**
327      * <p>The Amazon Resource Name used during the initiation of the job.</p>
328      */
SetDataAccessRoleArn(Aws::String && value)329     inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); }
330 
331     /**
332      * <p>The Amazon Resource Name used during the initiation of the job.</p>
333      */
SetDataAccessRoleArn(const char * value)334     inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); }
335 
336     /**
337      * <p>The Amazon Resource Name used during the initiation of the job.</p>
338      */
WithDataAccessRoleArn(const Aws::String & value)339     inline ExportJobProperties& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;}
340 
341     /**
342      * <p>The Amazon Resource Name used during the initiation of the job.</p>
343      */
WithDataAccessRoleArn(Aws::String && value)344     inline ExportJobProperties& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;}
345 
346     /**
347      * <p>The Amazon Resource Name used during the initiation of the job.</p>
348      */
WithDataAccessRoleArn(const char * value)349     inline ExportJobProperties& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;}
350 
351 
352     /**
353      * <p>An explanation of any errors that may have occurred during the export
354      * job.</p>
355      */
GetMessage()356     inline const Aws::String& GetMessage() const{ return m_message; }
357 
358     /**
359      * <p>An explanation of any errors that may have occurred during the export
360      * job.</p>
361      */
MessageHasBeenSet()362     inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
363 
364     /**
365      * <p>An explanation of any errors that may have occurred during the export
366      * job.</p>
367      */
SetMessage(const Aws::String & value)368     inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
369 
370     /**
371      * <p>An explanation of any errors that may have occurred during the export
372      * job.</p>
373      */
SetMessage(Aws::String && value)374     inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
375 
376     /**
377      * <p>An explanation of any errors that may have occurred during the export
378      * job.</p>
379      */
SetMessage(const char * value)380     inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
381 
382     /**
383      * <p>An explanation of any errors that may have occurred during the export
384      * job.</p>
385      */
WithMessage(const Aws::String & value)386     inline ExportJobProperties& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
387 
388     /**
389      * <p>An explanation of any errors that may have occurred during the export
390      * job.</p>
391      */
WithMessage(Aws::String && value)392     inline ExportJobProperties& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
393 
394     /**
395      * <p>An explanation of any errors that may have occurred during the export
396      * job.</p>
397      */
WithMessage(const char * value)398     inline ExportJobProperties& WithMessage(const char* value) { SetMessage(value); return *this;}
399 
400   private:
401 
402     Aws::String m_jobId;
403     bool m_jobIdHasBeenSet;
404 
405     Aws::String m_jobName;
406     bool m_jobNameHasBeenSet;
407 
408     JobStatus m_jobStatus;
409     bool m_jobStatusHasBeenSet;
410 
411     Aws::Utils::DateTime m_submitTime;
412     bool m_submitTimeHasBeenSet;
413 
414     Aws::Utils::DateTime m_endTime;
415     bool m_endTimeHasBeenSet;
416 
417     Aws::String m_datastoreId;
418     bool m_datastoreIdHasBeenSet;
419 
420     OutputDataConfig m_outputDataConfig;
421     bool m_outputDataConfigHasBeenSet;
422 
423     Aws::String m_dataAccessRoleArn;
424     bool m_dataAccessRoleArnHasBeenSet;
425 
426     Aws::String m_message;
427     bool m_messageHasBeenSet;
428   };
429 
430 } // namespace Model
431 } // namespace HealthLake
432 } // namespace Aws
433