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/glue/Glue_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/glue/model/StorageDescriptor.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <aws/glue/model/TableIdentifier.h>
14 #include <aws/glue/model/Column.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace Glue
28 {
29 namespace Model
30 {
31 
32   /**
33    * <p>A structure used to define a table.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableInput">AWS API
35    * Reference</a></p>
36    */
37   class AWS_GLUE_API TableInput
38   {
39   public:
40     TableInput();
41     TableInput(Aws::Utils::Json::JsonView jsonValue);
42     TableInput& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
48      * is stored.</p>
49      */
GetName()50     inline const Aws::String& GetName() const{ return m_name; }
51 
52     /**
53      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
54      * is stored.</p>
55      */
NameHasBeenSet()56     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
57 
58     /**
59      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
60      * is stored.</p>
61      */
SetName(const Aws::String & value)62     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
63 
64     /**
65      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
66      * is stored.</p>
67      */
SetName(Aws::String && value)68     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
69 
70     /**
71      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
72      * is stored.</p>
73      */
SetName(const char * value)74     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
75 
76     /**
77      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
78      * is stored.</p>
79      */
WithName(const Aws::String & value)80     inline TableInput& WithName(const Aws::String& value) { SetName(value); return *this;}
81 
82     /**
83      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
84      * is stored.</p>
85      */
WithName(Aws::String && value)86     inline TableInput& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
87 
88     /**
89      * <p>The table name. For Hive compatibility, this is folded to lowercase when it
90      * is stored.</p>
91      */
WithName(const char * value)92     inline TableInput& WithName(const char* value) { SetName(value); return *this;}
93 
94 
95     /**
96      * <p>A description of the table.</p>
97      */
GetDescription()98     inline const Aws::String& GetDescription() const{ return m_description; }
99 
100     /**
101      * <p>A description of the table.</p>
102      */
DescriptionHasBeenSet()103     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
104 
105     /**
106      * <p>A description of the table.</p>
107      */
SetDescription(const Aws::String & value)108     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
109 
110     /**
111      * <p>A description of the table.</p>
112      */
SetDescription(Aws::String && value)113     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
114 
115     /**
116      * <p>A description of the table.</p>
117      */
SetDescription(const char * value)118     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
119 
120     /**
121      * <p>A description of the table.</p>
122      */
WithDescription(const Aws::String & value)123     inline TableInput& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
124 
125     /**
126      * <p>A description of the table.</p>
127      */
WithDescription(Aws::String && value)128     inline TableInput& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
129 
130     /**
131      * <p>A description of the table.</p>
132      */
WithDescription(const char * value)133     inline TableInput& WithDescription(const char* value) { SetDescription(value); return *this;}
134 
135 
136     /**
137      * <p>The table owner.</p>
138      */
GetOwner()139     inline const Aws::String& GetOwner() const{ return m_owner; }
140 
141     /**
142      * <p>The table owner.</p>
143      */
OwnerHasBeenSet()144     inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
145 
146     /**
147      * <p>The table owner.</p>
148      */
SetOwner(const Aws::String & value)149     inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; }
150 
151     /**
152      * <p>The table owner.</p>
153      */
SetOwner(Aws::String && value)154     inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
155 
156     /**
157      * <p>The table owner.</p>
158      */
SetOwner(const char * value)159     inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); }
160 
161     /**
162      * <p>The table owner.</p>
163      */
WithOwner(const Aws::String & value)164     inline TableInput& WithOwner(const Aws::String& value) { SetOwner(value); return *this;}
165 
166     /**
167      * <p>The table owner.</p>
168      */
WithOwner(Aws::String && value)169     inline TableInput& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;}
170 
171     /**
172      * <p>The table owner.</p>
173      */
WithOwner(const char * value)174     inline TableInput& WithOwner(const char* value) { SetOwner(value); return *this;}
175 
176 
177     /**
178      * <p>The last time that the table was accessed.</p>
179      */
GetLastAccessTime()180     inline const Aws::Utils::DateTime& GetLastAccessTime() const{ return m_lastAccessTime; }
181 
182     /**
183      * <p>The last time that the table was accessed.</p>
184      */
LastAccessTimeHasBeenSet()185     inline bool LastAccessTimeHasBeenSet() const { return m_lastAccessTimeHasBeenSet; }
186 
187     /**
188      * <p>The last time that the table was accessed.</p>
189      */
SetLastAccessTime(const Aws::Utils::DateTime & value)190     inline void SetLastAccessTime(const Aws::Utils::DateTime& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = value; }
191 
192     /**
193      * <p>The last time that the table was accessed.</p>
194      */
SetLastAccessTime(Aws::Utils::DateTime && value)195     inline void SetLastAccessTime(Aws::Utils::DateTime&& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = std::move(value); }
196 
197     /**
198      * <p>The last time that the table was accessed.</p>
199      */
WithLastAccessTime(const Aws::Utils::DateTime & value)200     inline TableInput& WithLastAccessTime(const Aws::Utils::DateTime& value) { SetLastAccessTime(value); return *this;}
201 
202     /**
203      * <p>The last time that the table was accessed.</p>
204      */
WithLastAccessTime(Aws::Utils::DateTime && value)205     inline TableInput& WithLastAccessTime(Aws::Utils::DateTime&& value) { SetLastAccessTime(std::move(value)); return *this;}
206 
207 
208     /**
209      * <p>The last time that column statistics were computed for this table.</p>
210      */
GetLastAnalyzedTime()211     inline const Aws::Utils::DateTime& GetLastAnalyzedTime() const{ return m_lastAnalyzedTime; }
212 
213     /**
214      * <p>The last time that column statistics were computed for this table.</p>
215      */
LastAnalyzedTimeHasBeenSet()216     inline bool LastAnalyzedTimeHasBeenSet() const { return m_lastAnalyzedTimeHasBeenSet; }
217 
218     /**
219      * <p>The last time that column statistics were computed for this table.</p>
220      */
SetLastAnalyzedTime(const Aws::Utils::DateTime & value)221     inline void SetLastAnalyzedTime(const Aws::Utils::DateTime& value) { m_lastAnalyzedTimeHasBeenSet = true; m_lastAnalyzedTime = value; }
222 
223     /**
224      * <p>The last time that column statistics were computed for this table.</p>
225      */
SetLastAnalyzedTime(Aws::Utils::DateTime && value)226     inline void SetLastAnalyzedTime(Aws::Utils::DateTime&& value) { m_lastAnalyzedTimeHasBeenSet = true; m_lastAnalyzedTime = std::move(value); }
227 
228     /**
229      * <p>The last time that column statistics were computed for this table.</p>
230      */
WithLastAnalyzedTime(const Aws::Utils::DateTime & value)231     inline TableInput& WithLastAnalyzedTime(const Aws::Utils::DateTime& value) { SetLastAnalyzedTime(value); return *this;}
232 
233     /**
234      * <p>The last time that column statistics were computed for this table.</p>
235      */
WithLastAnalyzedTime(Aws::Utils::DateTime && value)236     inline TableInput& WithLastAnalyzedTime(Aws::Utils::DateTime&& value) { SetLastAnalyzedTime(std::move(value)); return *this;}
237 
238 
239     /**
240      * <p>The retention time for this table.</p>
241      */
GetRetention()242     inline int GetRetention() const{ return m_retention; }
243 
244     /**
245      * <p>The retention time for this table.</p>
246      */
RetentionHasBeenSet()247     inline bool RetentionHasBeenSet() const { return m_retentionHasBeenSet; }
248 
249     /**
250      * <p>The retention time for this table.</p>
251      */
SetRetention(int value)252     inline void SetRetention(int value) { m_retentionHasBeenSet = true; m_retention = value; }
253 
254     /**
255      * <p>The retention time for this table.</p>
256      */
WithRetention(int value)257     inline TableInput& WithRetention(int value) { SetRetention(value); return *this;}
258 
259 
260     /**
261      * <p>A storage descriptor containing information about the physical storage of
262      * this table.</p>
263      */
GetStorageDescriptor()264     inline const StorageDescriptor& GetStorageDescriptor() const{ return m_storageDescriptor; }
265 
266     /**
267      * <p>A storage descriptor containing information about the physical storage of
268      * this table.</p>
269      */
StorageDescriptorHasBeenSet()270     inline bool StorageDescriptorHasBeenSet() const { return m_storageDescriptorHasBeenSet; }
271 
272     /**
273      * <p>A storage descriptor containing information about the physical storage of
274      * this table.</p>
275      */
SetStorageDescriptor(const StorageDescriptor & value)276     inline void SetStorageDescriptor(const StorageDescriptor& value) { m_storageDescriptorHasBeenSet = true; m_storageDescriptor = value; }
277 
278     /**
279      * <p>A storage descriptor containing information about the physical storage of
280      * this table.</p>
281      */
SetStorageDescriptor(StorageDescriptor && value)282     inline void SetStorageDescriptor(StorageDescriptor&& value) { m_storageDescriptorHasBeenSet = true; m_storageDescriptor = std::move(value); }
283 
284     /**
285      * <p>A storage descriptor containing information about the physical storage of
286      * this table.</p>
287      */
WithStorageDescriptor(const StorageDescriptor & value)288     inline TableInput& WithStorageDescriptor(const StorageDescriptor& value) { SetStorageDescriptor(value); return *this;}
289 
290     /**
291      * <p>A storage descriptor containing information about the physical storage of
292      * this table.</p>
293      */
WithStorageDescriptor(StorageDescriptor && value)294     inline TableInput& WithStorageDescriptor(StorageDescriptor&& value) { SetStorageDescriptor(std::move(value)); return *this;}
295 
296 
297     /**
298      * <p>A list of columns by which the table is partitioned. Only primitive types are
299      * supported as partition keys.</p> <p>When you create a table used by Amazon
300      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
301      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
302      * <p> <code>"PartitionKeys": []</code> </p>
303      */
GetPartitionKeys()304     inline const Aws::Vector<Column>& GetPartitionKeys() const{ return m_partitionKeys; }
305 
306     /**
307      * <p>A list of columns by which the table is partitioned. Only primitive types are
308      * supported as partition keys.</p> <p>When you create a table used by Amazon
309      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
310      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
311      * <p> <code>"PartitionKeys": []</code> </p>
312      */
PartitionKeysHasBeenSet()313     inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
314 
315     /**
316      * <p>A list of columns by which the table is partitioned. Only primitive types are
317      * supported as partition keys.</p> <p>When you create a table used by Amazon
318      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
319      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
320      * <p> <code>"PartitionKeys": []</code> </p>
321      */
SetPartitionKeys(const Aws::Vector<Column> & value)322     inline void SetPartitionKeys(const Aws::Vector<Column>& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = value; }
323 
324     /**
325      * <p>A list of columns by which the table is partitioned. Only primitive types are
326      * supported as partition keys.</p> <p>When you create a table used by Amazon
327      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
328      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
329      * <p> <code>"PartitionKeys": []</code> </p>
330      */
SetPartitionKeys(Aws::Vector<Column> && value)331     inline void SetPartitionKeys(Aws::Vector<Column>&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = std::move(value); }
332 
333     /**
334      * <p>A list of columns by which the table is partitioned. Only primitive types are
335      * supported as partition keys.</p> <p>When you create a table used by Amazon
336      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
337      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
338      * <p> <code>"PartitionKeys": []</code> </p>
339      */
WithPartitionKeys(const Aws::Vector<Column> & value)340     inline TableInput& WithPartitionKeys(const Aws::Vector<Column>& value) { SetPartitionKeys(value); return *this;}
341 
342     /**
343      * <p>A list of columns by which the table is partitioned. Only primitive types are
344      * supported as partition keys.</p> <p>When you create a table used by Amazon
345      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
346      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
347      * <p> <code>"PartitionKeys": []</code> </p>
348      */
WithPartitionKeys(Aws::Vector<Column> && value)349     inline TableInput& WithPartitionKeys(Aws::Vector<Column>&& value) { SetPartitionKeys(std::move(value)); return *this;}
350 
351     /**
352      * <p>A list of columns by which the table is partitioned. Only primitive types are
353      * supported as partition keys.</p> <p>When you create a table used by Amazon
354      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
355      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
356      * <p> <code>"PartitionKeys": []</code> </p>
357      */
AddPartitionKeys(const Column & value)358     inline TableInput& AddPartitionKeys(const Column& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(value); return *this; }
359 
360     /**
361      * <p>A list of columns by which the table is partitioned. Only primitive types are
362      * supported as partition keys.</p> <p>When you create a table used by Amazon
363      * Athena, and you do not specify any <code>partitionKeys</code>, you must at least
364      * set the value of <code>partitionKeys</code> to an empty list. For example:</p>
365      * <p> <code>"PartitionKeys": []</code> </p>
366      */
AddPartitionKeys(Column && value)367     inline TableInput& AddPartitionKeys(Column&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(std::move(value)); return *this; }
368 
369 
370     /**
371      * <p>If the table is a view, the original text of the view; otherwise
372      * <code>null</code>.</p>
373      */
GetViewOriginalText()374     inline const Aws::String& GetViewOriginalText() const{ return m_viewOriginalText; }
375 
376     /**
377      * <p>If the table is a view, the original text of the view; otherwise
378      * <code>null</code>.</p>
379      */
ViewOriginalTextHasBeenSet()380     inline bool ViewOriginalTextHasBeenSet() const { return m_viewOriginalTextHasBeenSet; }
381 
382     /**
383      * <p>If the table is a view, the original text of the view; otherwise
384      * <code>null</code>.</p>
385      */
SetViewOriginalText(const Aws::String & value)386     inline void SetViewOriginalText(const Aws::String& value) { m_viewOriginalTextHasBeenSet = true; m_viewOriginalText = value; }
387 
388     /**
389      * <p>If the table is a view, the original text of the view; otherwise
390      * <code>null</code>.</p>
391      */
SetViewOriginalText(Aws::String && value)392     inline void SetViewOriginalText(Aws::String&& value) { m_viewOriginalTextHasBeenSet = true; m_viewOriginalText = std::move(value); }
393 
394     /**
395      * <p>If the table is a view, the original text of the view; otherwise
396      * <code>null</code>.</p>
397      */
SetViewOriginalText(const char * value)398     inline void SetViewOriginalText(const char* value) { m_viewOriginalTextHasBeenSet = true; m_viewOriginalText.assign(value); }
399 
400     /**
401      * <p>If the table is a view, the original text of the view; otherwise
402      * <code>null</code>.</p>
403      */
WithViewOriginalText(const Aws::String & value)404     inline TableInput& WithViewOriginalText(const Aws::String& value) { SetViewOriginalText(value); return *this;}
405 
406     /**
407      * <p>If the table is a view, the original text of the view; otherwise
408      * <code>null</code>.</p>
409      */
WithViewOriginalText(Aws::String && value)410     inline TableInput& WithViewOriginalText(Aws::String&& value) { SetViewOriginalText(std::move(value)); return *this;}
411 
412     /**
413      * <p>If the table is a view, the original text of the view; otherwise
414      * <code>null</code>.</p>
415      */
WithViewOriginalText(const char * value)416     inline TableInput& WithViewOriginalText(const char* value) { SetViewOriginalText(value); return *this;}
417 
418 
419     /**
420      * <p>If the table is a view, the expanded text of the view; otherwise
421      * <code>null</code>.</p>
422      */
GetViewExpandedText()423     inline const Aws::String& GetViewExpandedText() const{ return m_viewExpandedText; }
424 
425     /**
426      * <p>If the table is a view, the expanded text of the view; otherwise
427      * <code>null</code>.</p>
428      */
ViewExpandedTextHasBeenSet()429     inline bool ViewExpandedTextHasBeenSet() const { return m_viewExpandedTextHasBeenSet; }
430 
431     /**
432      * <p>If the table is a view, the expanded text of the view; otherwise
433      * <code>null</code>.</p>
434      */
SetViewExpandedText(const Aws::String & value)435     inline void SetViewExpandedText(const Aws::String& value) { m_viewExpandedTextHasBeenSet = true; m_viewExpandedText = value; }
436 
437     /**
438      * <p>If the table is a view, the expanded text of the view; otherwise
439      * <code>null</code>.</p>
440      */
SetViewExpandedText(Aws::String && value)441     inline void SetViewExpandedText(Aws::String&& value) { m_viewExpandedTextHasBeenSet = true; m_viewExpandedText = std::move(value); }
442 
443     /**
444      * <p>If the table is a view, the expanded text of the view; otherwise
445      * <code>null</code>.</p>
446      */
SetViewExpandedText(const char * value)447     inline void SetViewExpandedText(const char* value) { m_viewExpandedTextHasBeenSet = true; m_viewExpandedText.assign(value); }
448 
449     /**
450      * <p>If the table is a view, the expanded text of the view; otherwise
451      * <code>null</code>.</p>
452      */
WithViewExpandedText(const Aws::String & value)453     inline TableInput& WithViewExpandedText(const Aws::String& value) { SetViewExpandedText(value); return *this;}
454 
455     /**
456      * <p>If the table is a view, the expanded text of the view; otherwise
457      * <code>null</code>.</p>
458      */
WithViewExpandedText(Aws::String && value)459     inline TableInput& WithViewExpandedText(Aws::String&& value) { SetViewExpandedText(std::move(value)); return *this;}
460 
461     /**
462      * <p>If the table is a view, the expanded text of the view; otherwise
463      * <code>null</code>.</p>
464      */
WithViewExpandedText(const char * value)465     inline TableInput& WithViewExpandedText(const char* value) { SetViewExpandedText(value); return *this;}
466 
467 
468     /**
469      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
470      * <code>VIRTUAL_VIEW</code>, etc.).</p>
471      */
GetTableType()472     inline const Aws::String& GetTableType() const{ return m_tableType; }
473 
474     /**
475      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
476      * <code>VIRTUAL_VIEW</code>, etc.).</p>
477      */
TableTypeHasBeenSet()478     inline bool TableTypeHasBeenSet() const { return m_tableTypeHasBeenSet; }
479 
480     /**
481      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
482      * <code>VIRTUAL_VIEW</code>, etc.).</p>
483      */
SetTableType(const Aws::String & value)484     inline void SetTableType(const Aws::String& value) { m_tableTypeHasBeenSet = true; m_tableType = value; }
485 
486     /**
487      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
488      * <code>VIRTUAL_VIEW</code>, etc.).</p>
489      */
SetTableType(Aws::String && value)490     inline void SetTableType(Aws::String&& value) { m_tableTypeHasBeenSet = true; m_tableType = std::move(value); }
491 
492     /**
493      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
494      * <code>VIRTUAL_VIEW</code>, etc.).</p>
495      */
SetTableType(const char * value)496     inline void SetTableType(const char* value) { m_tableTypeHasBeenSet = true; m_tableType.assign(value); }
497 
498     /**
499      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
500      * <code>VIRTUAL_VIEW</code>, etc.).</p>
501      */
WithTableType(const Aws::String & value)502     inline TableInput& WithTableType(const Aws::String& value) { SetTableType(value); return *this;}
503 
504     /**
505      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
506      * <code>VIRTUAL_VIEW</code>, etc.).</p>
507      */
WithTableType(Aws::String && value)508     inline TableInput& WithTableType(Aws::String&& value) { SetTableType(std::move(value)); return *this;}
509 
510     /**
511      * <p>The type of this table (<code>EXTERNAL_TABLE</code>,
512      * <code>VIRTUAL_VIEW</code>, etc.).</p>
513      */
WithTableType(const char * value)514     inline TableInput& WithTableType(const char* value) { SetTableType(value); return *this;}
515 
516 
517     /**
518      * <p>These key-value pairs define properties associated with the table.</p>
519      */
GetParameters()520     inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
521 
522     /**
523      * <p>These key-value pairs define properties associated with the table.</p>
524      */
ParametersHasBeenSet()525     inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
526 
527     /**
528      * <p>These key-value pairs define properties associated with the table.</p>
529      */
SetParameters(const Aws::Map<Aws::String,Aws::String> & value)530     inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
531 
532     /**
533      * <p>These key-value pairs define properties associated with the table.</p>
534      */
SetParameters(Aws::Map<Aws::String,Aws::String> && value)535     inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
536 
537     /**
538      * <p>These key-value pairs define properties associated with the table.</p>
539      */
WithParameters(const Aws::Map<Aws::String,Aws::String> & value)540     inline TableInput& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
541 
542     /**
543      * <p>These key-value pairs define properties associated with the table.</p>
544      */
WithParameters(Aws::Map<Aws::String,Aws::String> && value)545     inline TableInput& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
546 
547     /**
548      * <p>These key-value pairs define properties associated with the table.</p>
549      */
AddParameters(const Aws::String & key,const Aws::String & value)550     inline TableInput& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
551 
552     /**
553      * <p>These key-value pairs define properties associated with the table.</p>
554      */
AddParameters(Aws::String && key,const Aws::String & value)555     inline TableInput& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
556 
557     /**
558      * <p>These key-value pairs define properties associated with the table.</p>
559      */
AddParameters(const Aws::String & key,Aws::String && value)560     inline TableInput& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
561 
562     /**
563      * <p>These key-value pairs define properties associated with the table.</p>
564      */
AddParameters(Aws::String && key,Aws::String && value)565     inline TableInput& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
566 
567     /**
568      * <p>These key-value pairs define properties associated with the table.</p>
569      */
AddParameters(const char * key,Aws::String && value)570     inline TableInput& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
571 
572     /**
573      * <p>These key-value pairs define properties associated with the table.</p>
574      */
AddParameters(Aws::String && key,const char * value)575     inline TableInput& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
576 
577     /**
578      * <p>These key-value pairs define properties associated with the table.</p>
579      */
AddParameters(const char * key,const char * value)580     inline TableInput& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
581 
582 
583     /**
584      * <p>A <code>TableIdentifier</code> structure that describes a target table for
585      * resource linking.</p>
586      */
GetTargetTable()587     inline const TableIdentifier& GetTargetTable() const{ return m_targetTable; }
588 
589     /**
590      * <p>A <code>TableIdentifier</code> structure that describes a target table for
591      * resource linking.</p>
592      */
TargetTableHasBeenSet()593     inline bool TargetTableHasBeenSet() const { return m_targetTableHasBeenSet; }
594 
595     /**
596      * <p>A <code>TableIdentifier</code> structure that describes a target table for
597      * resource linking.</p>
598      */
SetTargetTable(const TableIdentifier & value)599     inline void SetTargetTable(const TableIdentifier& value) { m_targetTableHasBeenSet = true; m_targetTable = value; }
600 
601     /**
602      * <p>A <code>TableIdentifier</code> structure that describes a target table for
603      * resource linking.</p>
604      */
SetTargetTable(TableIdentifier && value)605     inline void SetTargetTable(TableIdentifier&& value) { m_targetTableHasBeenSet = true; m_targetTable = std::move(value); }
606 
607     /**
608      * <p>A <code>TableIdentifier</code> structure that describes a target table for
609      * resource linking.</p>
610      */
WithTargetTable(const TableIdentifier & value)611     inline TableInput& WithTargetTable(const TableIdentifier& value) { SetTargetTable(value); return *this;}
612 
613     /**
614      * <p>A <code>TableIdentifier</code> structure that describes a target table for
615      * resource linking.</p>
616      */
WithTargetTable(TableIdentifier && value)617     inline TableInput& WithTargetTable(TableIdentifier&& value) { SetTargetTable(std::move(value)); return *this;}
618 
619   private:
620 
621     Aws::String m_name;
622     bool m_nameHasBeenSet;
623 
624     Aws::String m_description;
625     bool m_descriptionHasBeenSet;
626 
627     Aws::String m_owner;
628     bool m_ownerHasBeenSet;
629 
630     Aws::Utils::DateTime m_lastAccessTime;
631     bool m_lastAccessTimeHasBeenSet;
632 
633     Aws::Utils::DateTime m_lastAnalyzedTime;
634     bool m_lastAnalyzedTimeHasBeenSet;
635 
636     int m_retention;
637     bool m_retentionHasBeenSet;
638 
639     StorageDescriptor m_storageDescriptor;
640     bool m_storageDescriptorHasBeenSet;
641 
642     Aws::Vector<Column> m_partitionKeys;
643     bool m_partitionKeysHasBeenSet;
644 
645     Aws::String m_viewOriginalText;
646     bool m_viewOriginalTextHasBeenSet;
647 
648     Aws::String m_viewExpandedText;
649     bool m_viewExpandedTextHasBeenSet;
650 
651     Aws::String m_tableType;
652     bool m_tableTypeHasBeenSet;
653 
654     Aws::Map<Aws::String, Aws::String> m_parameters;
655     bool m_parametersHasBeenSet;
656 
657     TableIdentifier m_targetTable;
658     bool m_targetTableHasBeenSet;
659   };
660 
661 } // namespace Model
662 } // namespace Glue
663 } // namespace Aws
664