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/HoneycodeRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/honeycode/model/ImportDataSource.h>
11 #include <aws/honeycode/model/ImportSourceDataFormat.h>
12 #include <aws/honeycode/model/ImportOptions.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Honeycode
18 {
19 namespace Model
20 {
21 
22   /**
23    */
24   class AWS_HONEYCODE_API StartTableDataImportJobRequest : public HoneycodeRequest
25   {
26   public:
27     StartTableDataImportJobRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "StartTableDataImportJob"; }
34 
35     Aws::String SerializePayload() const override;
36 
37 
38     /**
39      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
40      * workbook with the specified id could not be found, this API throws
41      * ResourceNotFoundException. </p>
42      */
GetWorkbookId()43     inline const Aws::String& GetWorkbookId() const{ return m_workbookId; }
44 
45     /**
46      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
47      * workbook with the specified id could not be found, this API throws
48      * ResourceNotFoundException. </p>
49      */
WorkbookIdHasBeenSet()50     inline bool WorkbookIdHasBeenSet() const { return m_workbookIdHasBeenSet; }
51 
52     /**
53      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
54      * workbook with the specified id could not be found, this API throws
55      * ResourceNotFoundException. </p>
56      */
SetWorkbookId(const Aws::String & value)57     inline void SetWorkbookId(const Aws::String& value) { m_workbookIdHasBeenSet = true; m_workbookId = value; }
58 
59     /**
60      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
61      * workbook with the specified id could not be found, this API throws
62      * ResourceNotFoundException. </p>
63      */
SetWorkbookId(Aws::String && value)64     inline void SetWorkbookId(Aws::String&& value) { m_workbookIdHasBeenSet = true; m_workbookId = std::move(value); }
65 
66     /**
67      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
68      * workbook with the specified id could not be found, this API throws
69      * ResourceNotFoundException. </p>
70      */
SetWorkbookId(const char * value)71     inline void SetWorkbookId(const char* value) { m_workbookIdHasBeenSet = true; m_workbookId.assign(value); }
72 
73     /**
74      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
75      * workbook with the specified id could not be found, this API throws
76      * ResourceNotFoundException. </p>
77      */
WithWorkbookId(const Aws::String & value)78     inline StartTableDataImportJobRequest& WithWorkbookId(const Aws::String& value) { SetWorkbookId(value); return *this;}
79 
80     /**
81      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
82      * workbook with the specified id could not be found, this API throws
83      * ResourceNotFoundException. </p>
84      */
WithWorkbookId(Aws::String && value)85     inline StartTableDataImportJobRequest& WithWorkbookId(Aws::String&& value) { SetWorkbookId(std::move(value)); return *this;}
86 
87     /**
88      * <p>The ID of the workbook where the rows are being imported.</p> <p> If a
89      * workbook with the specified id could not be found, this API throws
90      * ResourceNotFoundException. </p>
91      */
WithWorkbookId(const char * value)92     inline StartTableDataImportJobRequest& WithWorkbookId(const char* value) { SetWorkbookId(value); return *this;}
93 
94 
95     /**
96      * <p> The source of the data that is being imported. The size of source must be no
97      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
98      * 1,000 rows. </p>
99      */
GetDataSource()100     inline const ImportDataSource& GetDataSource() const{ return m_dataSource; }
101 
102     /**
103      * <p> The source of the data that is being imported. The size of source must be no
104      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
105      * 1,000 rows. </p>
106      */
DataSourceHasBeenSet()107     inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; }
108 
109     /**
110      * <p> The source of the data that is being imported. The size of source must be no
111      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
112      * 1,000 rows. </p>
113      */
SetDataSource(const ImportDataSource & value)114     inline void SetDataSource(const ImportDataSource& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; }
115 
116     /**
117      * <p> The source of the data that is being imported. The size of source must be no
118      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
119      * 1,000 rows. </p>
120      */
SetDataSource(ImportDataSource && value)121     inline void SetDataSource(ImportDataSource&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); }
122 
123     /**
124      * <p> The source of the data that is being imported. The size of source must be no
125      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
126      * 1,000 rows. </p>
127      */
WithDataSource(const ImportDataSource & value)128     inline StartTableDataImportJobRequest& WithDataSource(const ImportDataSource& value) { SetDataSource(value); return *this;}
129 
130     /**
131      * <p> The source of the data that is being imported. The size of source must be no
132      * larger than 100 MB. Source must have no more than 100,000 cells and no more than
133      * 1,000 rows. </p>
134      */
WithDataSource(ImportDataSource && value)135     inline StartTableDataImportJobRequest& WithDataSource(ImportDataSource&& value) { SetDataSource(std::move(value)); return *this;}
136 
137 
138     /**
139      * <p> The format of the data that is being imported. Currently the only option
140      * supported is "DELIMITED_TEXT". </p>
141      */
GetDataFormat()142     inline const ImportSourceDataFormat& GetDataFormat() const{ return m_dataFormat; }
143 
144     /**
145      * <p> The format of the data that is being imported. Currently the only option
146      * supported is "DELIMITED_TEXT". </p>
147      */
DataFormatHasBeenSet()148     inline bool DataFormatHasBeenSet() const { return m_dataFormatHasBeenSet; }
149 
150     /**
151      * <p> The format of the data that is being imported. Currently the only option
152      * supported is "DELIMITED_TEXT". </p>
153      */
SetDataFormat(const ImportSourceDataFormat & value)154     inline void SetDataFormat(const ImportSourceDataFormat& value) { m_dataFormatHasBeenSet = true; m_dataFormat = value; }
155 
156     /**
157      * <p> The format of the data that is being imported. Currently the only option
158      * supported is "DELIMITED_TEXT". </p>
159      */
SetDataFormat(ImportSourceDataFormat && value)160     inline void SetDataFormat(ImportSourceDataFormat&& value) { m_dataFormatHasBeenSet = true; m_dataFormat = std::move(value); }
161 
162     /**
163      * <p> The format of the data that is being imported. Currently the only option
164      * supported is "DELIMITED_TEXT". </p>
165      */
WithDataFormat(const ImportSourceDataFormat & value)166     inline StartTableDataImportJobRequest& WithDataFormat(const ImportSourceDataFormat& value) { SetDataFormat(value); return *this;}
167 
168     /**
169      * <p> The format of the data that is being imported. Currently the only option
170      * supported is "DELIMITED_TEXT". </p>
171      */
WithDataFormat(ImportSourceDataFormat && value)172     inline StartTableDataImportJobRequest& WithDataFormat(ImportSourceDataFormat&& value) { SetDataFormat(std::move(value)); return *this;}
173 
174 
175     /**
176      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
177      * with the specified id could not be found, this API throws
178      * ResourceNotFoundException. </p>
179      */
GetDestinationTableId()180     inline const Aws::String& GetDestinationTableId() const{ return m_destinationTableId; }
181 
182     /**
183      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
184      * with the specified id could not be found, this API throws
185      * ResourceNotFoundException. </p>
186      */
DestinationTableIdHasBeenSet()187     inline bool DestinationTableIdHasBeenSet() const { return m_destinationTableIdHasBeenSet; }
188 
189     /**
190      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
191      * with the specified id could not be found, this API throws
192      * ResourceNotFoundException. </p>
193      */
SetDestinationTableId(const Aws::String & value)194     inline void SetDestinationTableId(const Aws::String& value) { m_destinationTableIdHasBeenSet = true; m_destinationTableId = value; }
195 
196     /**
197      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
198      * with the specified id could not be found, this API throws
199      * ResourceNotFoundException. </p>
200      */
SetDestinationTableId(Aws::String && value)201     inline void SetDestinationTableId(Aws::String&& value) { m_destinationTableIdHasBeenSet = true; m_destinationTableId = std::move(value); }
202 
203     /**
204      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
205      * with the specified id could not be found, this API throws
206      * ResourceNotFoundException. </p>
207      */
SetDestinationTableId(const char * value)208     inline void SetDestinationTableId(const char* value) { m_destinationTableIdHasBeenSet = true; m_destinationTableId.assign(value); }
209 
210     /**
211      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
212      * with the specified id could not be found, this API throws
213      * ResourceNotFoundException. </p>
214      */
WithDestinationTableId(const Aws::String & value)215     inline StartTableDataImportJobRequest& WithDestinationTableId(const Aws::String& value) { SetDestinationTableId(value); return *this;}
216 
217     /**
218      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
219      * with the specified id could not be found, this API throws
220      * ResourceNotFoundException. </p>
221      */
WithDestinationTableId(Aws::String && value)222     inline StartTableDataImportJobRequest& WithDestinationTableId(Aws::String&& value) { SetDestinationTableId(std::move(value)); return *this;}
223 
224     /**
225      * <p>The ID of the table where the rows are being imported.</p> <p> If a table
226      * with the specified id could not be found, this API throws
227      * ResourceNotFoundException. </p>
228      */
WithDestinationTableId(const char * value)229     inline StartTableDataImportJobRequest& WithDestinationTableId(const char* value) { SetDestinationTableId(value); return *this;}
230 
231 
232     /**
233      * <p> The options for customizing this import request. </p>
234      */
GetImportOptions()235     inline const ImportOptions& GetImportOptions() const{ return m_importOptions; }
236 
237     /**
238      * <p> The options for customizing this import request. </p>
239      */
ImportOptionsHasBeenSet()240     inline bool ImportOptionsHasBeenSet() const { return m_importOptionsHasBeenSet; }
241 
242     /**
243      * <p> The options for customizing this import request. </p>
244      */
SetImportOptions(const ImportOptions & value)245     inline void SetImportOptions(const ImportOptions& value) { m_importOptionsHasBeenSet = true; m_importOptions = value; }
246 
247     /**
248      * <p> The options for customizing this import request. </p>
249      */
SetImportOptions(ImportOptions && value)250     inline void SetImportOptions(ImportOptions&& value) { m_importOptionsHasBeenSet = true; m_importOptions = std::move(value); }
251 
252     /**
253      * <p> The options for customizing this import request. </p>
254      */
WithImportOptions(const ImportOptions & value)255     inline StartTableDataImportJobRequest& WithImportOptions(const ImportOptions& value) { SetImportOptions(value); return *this;}
256 
257     /**
258      * <p> The options for customizing this import request. </p>
259      */
WithImportOptions(ImportOptions && value)260     inline StartTableDataImportJobRequest& WithImportOptions(ImportOptions&& value) { SetImportOptions(std::move(value)); return *this;}
261 
262 
263     /**
264      * <p> The request token for performing the update action. Request tokens help to
265      * identify duplicate requests. If a call times out or fails due to a transient
266      * error like a failed network connection, you can retry the call with the same
267      * request token. The service ensures that if the first call using that request
268      * token is successfully performed, the second call will not perform the action
269      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
270      * cannot use request tokens to dedupe requests spanning hours or days. </p>
271      */
GetClientRequestToken()272     inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
273 
274     /**
275      * <p> The request token for performing the update action. Request tokens help to
276      * identify duplicate requests. If a call times out or fails due to a transient
277      * error like a failed network connection, you can retry the call with the same
278      * request token. The service ensures that if the first call using that request
279      * token is successfully performed, the second call will not perform the action
280      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
281      * cannot use request tokens to dedupe requests spanning hours or days. </p>
282      */
ClientRequestTokenHasBeenSet()283     inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
284 
285     /**
286      * <p> The request token for performing the update action. Request tokens help to
287      * identify duplicate requests. If a call times out or fails due to a transient
288      * error like a failed network connection, you can retry the call with the same
289      * request token. The service ensures that if the first call using that request
290      * token is successfully performed, the second call will not perform the action
291      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
292      * cannot use request tokens to dedupe requests spanning hours or days. </p>
293      */
SetClientRequestToken(const Aws::String & value)294     inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
295 
296     /**
297      * <p> The request token for performing the update action. Request tokens help to
298      * identify duplicate requests. If a call times out or fails due to a transient
299      * error like a failed network connection, you can retry the call with the same
300      * request token. The service ensures that if the first call using that request
301      * token is successfully performed, the second call will not perform the action
302      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
303      * cannot use request tokens to dedupe requests spanning hours or days. </p>
304      */
SetClientRequestToken(Aws::String && value)305     inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
306 
307     /**
308      * <p> The request token for performing the update action. Request tokens help to
309      * identify duplicate requests. If a call times out or fails due to a transient
310      * error like a failed network connection, you can retry the call with the same
311      * request token. The service ensures that if the first call using that request
312      * token is successfully performed, the second call will not perform the action
313      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
314      * cannot use request tokens to dedupe requests spanning hours or days. </p>
315      */
SetClientRequestToken(const char * value)316     inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
317 
318     /**
319      * <p> The request token for performing the update action. Request tokens help to
320      * identify duplicate requests. If a call times out or fails due to a transient
321      * error like a failed network connection, you can retry the call with the same
322      * request token. The service ensures that if the first call using that request
323      * token is successfully performed, the second call will not perform the action
324      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
325      * cannot use request tokens to dedupe requests spanning hours or days. </p>
326      */
WithClientRequestToken(const Aws::String & value)327     inline StartTableDataImportJobRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
328 
329     /**
330      * <p> The request token for performing the update action. Request tokens help to
331      * identify duplicate requests. If a call times out or fails due to a transient
332      * error like a failed network connection, you can retry the call with the same
333      * request token. The service ensures that if the first call using that request
334      * token is successfully performed, the second call will not perform the action
335      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
336      * cannot use request tokens to dedupe requests spanning hours or days. </p>
337      */
WithClientRequestToken(Aws::String && value)338     inline StartTableDataImportJobRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
339 
340     /**
341      * <p> The request token for performing the update action. Request tokens help to
342      * identify duplicate requests. If a call times out or fails due to a transient
343      * error like a failed network connection, you can retry the call with the same
344      * request token. The service ensures that if the first call using that request
345      * token is successfully performed, the second call will not perform the action
346      * again. </p> <p> Note that request tokens are valid only for a few minutes. You
347      * cannot use request tokens to dedupe requests spanning hours or days. </p>
348      */
WithClientRequestToken(const char * value)349     inline StartTableDataImportJobRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
350 
351   private:
352 
353     Aws::String m_workbookId;
354     bool m_workbookIdHasBeenSet;
355 
356     ImportDataSource m_dataSource;
357     bool m_dataSourceHasBeenSet;
358 
359     ImportSourceDataFormat m_dataFormat;
360     bool m_dataFormatHasBeenSet;
361 
362     Aws::String m_destinationTableId;
363     bool m_destinationTableIdHasBeenSet;
364 
365     ImportOptions m_importOptions;
366     bool m_importOptionsHasBeenSet;
367 
368     Aws::String m_clientRequestToken;
369     bool m_clientRequestTokenHasBeenSet;
370   };
371 
372 } // namespace Model
373 } // namespace Honeycode
374 } // namespace Aws
375