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/honeycode/Honeycode_EXPORTS.h>
8 #include <aws/honeycode/model/ImportJobSubmitter.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/honeycode/model/ImportOptions.h>
11 #include <aws/honeycode/model/ImportDataSource.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 Honeycode
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>The metadata associated with the table data import job that was
31    * submitted.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/honeycode-2020-03-01/TableDataImportJobMetadata">AWS
33    * API Reference</a></p>
34    */
35   class AWS_HONEYCODE_API TableDataImportJobMetadata
36   {
37   public:
38     TableDataImportJobMetadata();
39     TableDataImportJobMetadata(Aws::Utils::Json::JsonView jsonValue);
40     TableDataImportJobMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Details about the submitter of the import request.</p>
46      */
GetSubmitter()47     inline const ImportJobSubmitter& GetSubmitter() const{ return m_submitter; }
48 
49     /**
50      * <p>Details about the submitter of the import request.</p>
51      */
SubmitterHasBeenSet()52     inline bool SubmitterHasBeenSet() const { return m_submitterHasBeenSet; }
53 
54     /**
55      * <p>Details about the submitter of the import request.</p>
56      */
SetSubmitter(const ImportJobSubmitter & value)57     inline void SetSubmitter(const ImportJobSubmitter& value) { m_submitterHasBeenSet = true; m_submitter = value; }
58 
59     /**
60      * <p>Details about the submitter of the import request.</p>
61      */
SetSubmitter(ImportJobSubmitter && value)62     inline void SetSubmitter(ImportJobSubmitter&& value) { m_submitterHasBeenSet = true; m_submitter = std::move(value); }
63 
64     /**
65      * <p>Details about the submitter of the import request.</p>
66      */
WithSubmitter(const ImportJobSubmitter & value)67     inline TableDataImportJobMetadata& WithSubmitter(const ImportJobSubmitter& value) { SetSubmitter(value); return *this;}
68 
69     /**
70      * <p>Details about the submitter of the import request.</p>
71      */
WithSubmitter(ImportJobSubmitter && value)72     inline TableDataImportJobMetadata& WithSubmitter(ImportJobSubmitter&& value) { SetSubmitter(std::move(value)); return *this;}
73 
74 
75     /**
76      * <p>The timestamp when the job was submitted for import.</p>
77      */
GetSubmitTime()78     inline const Aws::Utils::DateTime& GetSubmitTime() const{ return m_submitTime; }
79 
80     /**
81      * <p>The timestamp when the job was submitted for import.</p>
82      */
SubmitTimeHasBeenSet()83     inline bool SubmitTimeHasBeenSet() const { return m_submitTimeHasBeenSet; }
84 
85     /**
86      * <p>The timestamp when the job was submitted for import.</p>
87      */
SetSubmitTime(const Aws::Utils::DateTime & value)88     inline void SetSubmitTime(const Aws::Utils::DateTime& value) { m_submitTimeHasBeenSet = true; m_submitTime = value; }
89 
90     /**
91      * <p>The timestamp when the job was submitted for import.</p>
92      */
SetSubmitTime(Aws::Utils::DateTime && value)93     inline void SetSubmitTime(Aws::Utils::DateTime&& value) { m_submitTimeHasBeenSet = true; m_submitTime = std::move(value); }
94 
95     /**
96      * <p>The timestamp when the job was submitted for import.</p>
97      */
WithSubmitTime(const Aws::Utils::DateTime & value)98     inline TableDataImportJobMetadata& WithSubmitTime(const Aws::Utils::DateTime& value) { SetSubmitTime(value); return *this;}
99 
100     /**
101      * <p>The timestamp when the job was submitted for import.</p>
102      */
WithSubmitTime(Aws::Utils::DateTime && value)103     inline TableDataImportJobMetadata& WithSubmitTime(Aws::Utils::DateTime&& value) { SetSubmitTime(std::move(value)); return *this;}
104 
105 
106     /**
107      * <p>The options that was specified at the time of submitting the import
108      * request.</p>
109      */
GetImportOptions()110     inline const ImportOptions& GetImportOptions() const{ return m_importOptions; }
111 
112     /**
113      * <p>The options that was specified at the time of submitting the import
114      * request.</p>
115      */
ImportOptionsHasBeenSet()116     inline bool ImportOptionsHasBeenSet() const { return m_importOptionsHasBeenSet; }
117 
118     /**
119      * <p>The options that was specified at the time of submitting the import
120      * request.</p>
121      */
SetImportOptions(const ImportOptions & value)122     inline void SetImportOptions(const ImportOptions& value) { m_importOptionsHasBeenSet = true; m_importOptions = value; }
123 
124     /**
125      * <p>The options that was specified at the time of submitting the import
126      * request.</p>
127      */
SetImportOptions(ImportOptions && value)128     inline void SetImportOptions(ImportOptions&& value) { m_importOptionsHasBeenSet = true; m_importOptions = std::move(value); }
129 
130     /**
131      * <p>The options that was specified at the time of submitting the import
132      * request.</p>
133      */
WithImportOptions(const ImportOptions & value)134     inline TableDataImportJobMetadata& WithImportOptions(const ImportOptions& value) { SetImportOptions(value); return *this;}
135 
136     /**
137      * <p>The options that was specified at the time of submitting the import
138      * request.</p>
139      */
WithImportOptions(ImportOptions && value)140     inline TableDataImportJobMetadata& WithImportOptions(ImportOptions&& value) { SetImportOptions(std::move(value)); return *this;}
141 
142 
143     /**
144      * <p>The source of the data that was submitted for import.</p>
145      */
GetDataSource()146     inline const ImportDataSource& GetDataSource() const{ return m_dataSource; }
147 
148     /**
149      * <p>The source of the data that was submitted for import.</p>
150      */
DataSourceHasBeenSet()151     inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; }
152 
153     /**
154      * <p>The source of the data that was submitted for import.</p>
155      */
SetDataSource(const ImportDataSource & value)156     inline void SetDataSource(const ImportDataSource& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; }
157 
158     /**
159      * <p>The source of the data that was submitted for import.</p>
160      */
SetDataSource(ImportDataSource && value)161     inline void SetDataSource(ImportDataSource&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); }
162 
163     /**
164      * <p>The source of the data that was submitted for import.</p>
165      */
WithDataSource(const ImportDataSource & value)166     inline TableDataImportJobMetadata& WithDataSource(const ImportDataSource& value) { SetDataSource(value); return *this;}
167 
168     /**
169      * <p>The source of the data that was submitted for import.</p>
170      */
WithDataSource(ImportDataSource && value)171     inline TableDataImportJobMetadata& WithDataSource(ImportDataSource&& value) { SetDataSource(std::move(value)); return *this;}
172 
173   private:
174 
175     ImportJobSubmitter m_submitter;
176     bool m_submitterHasBeenSet;
177 
178     Aws::Utils::DateTime m_submitTime;
179     bool m_submitTimeHasBeenSet;
180 
181     ImportOptions m_importOptions;
182     bool m_importOptionsHasBeenSet;
183 
184     ImportDataSource m_dataSource;
185     bool m_dataSourceHasBeenSet;
186   };
187 
188 } // namespace Model
189 } // namespace Honeycode
190 } // namespace Aws
191