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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Glue
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Defines a mapping.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/MappingEntry">AWS
29    * API Reference</a></p>
30    */
31   class AWS_GLUE_API MappingEntry
32   {
33   public:
34     MappingEntry();
35     MappingEntry(Aws::Utils::Json::JsonView jsonValue);
36     MappingEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The name of the source table.</p>
42      */
GetSourceTable()43     inline const Aws::String& GetSourceTable() const{ return m_sourceTable; }
44 
45     /**
46      * <p>The name of the source table.</p>
47      */
SourceTableHasBeenSet()48     inline bool SourceTableHasBeenSet() const { return m_sourceTableHasBeenSet; }
49 
50     /**
51      * <p>The name of the source table.</p>
52      */
SetSourceTable(const Aws::String & value)53     inline void SetSourceTable(const Aws::String& value) { m_sourceTableHasBeenSet = true; m_sourceTable = value; }
54 
55     /**
56      * <p>The name of the source table.</p>
57      */
SetSourceTable(Aws::String && value)58     inline void SetSourceTable(Aws::String&& value) { m_sourceTableHasBeenSet = true; m_sourceTable = std::move(value); }
59 
60     /**
61      * <p>The name of the source table.</p>
62      */
SetSourceTable(const char * value)63     inline void SetSourceTable(const char* value) { m_sourceTableHasBeenSet = true; m_sourceTable.assign(value); }
64 
65     /**
66      * <p>The name of the source table.</p>
67      */
WithSourceTable(const Aws::String & value)68     inline MappingEntry& WithSourceTable(const Aws::String& value) { SetSourceTable(value); return *this;}
69 
70     /**
71      * <p>The name of the source table.</p>
72      */
WithSourceTable(Aws::String && value)73     inline MappingEntry& WithSourceTable(Aws::String&& value) { SetSourceTable(std::move(value)); return *this;}
74 
75     /**
76      * <p>The name of the source table.</p>
77      */
WithSourceTable(const char * value)78     inline MappingEntry& WithSourceTable(const char* value) { SetSourceTable(value); return *this;}
79 
80 
81     /**
82      * <p>The source path.</p>
83      */
GetSourcePath()84     inline const Aws::String& GetSourcePath() const{ return m_sourcePath; }
85 
86     /**
87      * <p>The source path.</p>
88      */
SourcePathHasBeenSet()89     inline bool SourcePathHasBeenSet() const { return m_sourcePathHasBeenSet; }
90 
91     /**
92      * <p>The source path.</p>
93      */
SetSourcePath(const Aws::String & value)94     inline void SetSourcePath(const Aws::String& value) { m_sourcePathHasBeenSet = true; m_sourcePath = value; }
95 
96     /**
97      * <p>The source path.</p>
98      */
SetSourcePath(Aws::String && value)99     inline void SetSourcePath(Aws::String&& value) { m_sourcePathHasBeenSet = true; m_sourcePath = std::move(value); }
100 
101     /**
102      * <p>The source path.</p>
103      */
SetSourcePath(const char * value)104     inline void SetSourcePath(const char* value) { m_sourcePathHasBeenSet = true; m_sourcePath.assign(value); }
105 
106     /**
107      * <p>The source path.</p>
108      */
WithSourcePath(const Aws::String & value)109     inline MappingEntry& WithSourcePath(const Aws::String& value) { SetSourcePath(value); return *this;}
110 
111     /**
112      * <p>The source path.</p>
113      */
WithSourcePath(Aws::String && value)114     inline MappingEntry& WithSourcePath(Aws::String&& value) { SetSourcePath(std::move(value)); return *this;}
115 
116     /**
117      * <p>The source path.</p>
118      */
WithSourcePath(const char * value)119     inline MappingEntry& WithSourcePath(const char* value) { SetSourcePath(value); return *this;}
120 
121 
122     /**
123      * <p>The source type.</p>
124      */
GetSourceType()125     inline const Aws::String& GetSourceType() const{ return m_sourceType; }
126 
127     /**
128      * <p>The source type.</p>
129      */
SourceTypeHasBeenSet()130     inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
131 
132     /**
133      * <p>The source type.</p>
134      */
SetSourceType(const Aws::String & value)135     inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; }
136 
137     /**
138      * <p>The source type.</p>
139      */
SetSourceType(Aws::String && value)140     inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); }
141 
142     /**
143      * <p>The source type.</p>
144      */
SetSourceType(const char * value)145     inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); }
146 
147     /**
148      * <p>The source type.</p>
149      */
WithSourceType(const Aws::String & value)150     inline MappingEntry& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;}
151 
152     /**
153      * <p>The source type.</p>
154      */
WithSourceType(Aws::String && value)155     inline MappingEntry& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;}
156 
157     /**
158      * <p>The source type.</p>
159      */
WithSourceType(const char * value)160     inline MappingEntry& WithSourceType(const char* value) { SetSourceType(value); return *this;}
161 
162 
163     /**
164      * <p>The target table.</p>
165      */
GetTargetTable()166     inline const Aws::String& GetTargetTable() const{ return m_targetTable; }
167 
168     /**
169      * <p>The target table.</p>
170      */
TargetTableHasBeenSet()171     inline bool TargetTableHasBeenSet() const { return m_targetTableHasBeenSet; }
172 
173     /**
174      * <p>The target table.</p>
175      */
SetTargetTable(const Aws::String & value)176     inline void SetTargetTable(const Aws::String& value) { m_targetTableHasBeenSet = true; m_targetTable = value; }
177 
178     /**
179      * <p>The target table.</p>
180      */
SetTargetTable(Aws::String && value)181     inline void SetTargetTable(Aws::String&& value) { m_targetTableHasBeenSet = true; m_targetTable = std::move(value); }
182 
183     /**
184      * <p>The target table.</p>
185      */
SetTargetTable(const char * value)186     inline void SetTargetTable(const char* value) { m_targetTableHasBeenSet = true; m_targetTable.assign(value); }
187 
188     /**
189      * <p>The target table.</p>
190      */
WithTargetTable(const Aws::String & value)191     inline MappingEntry& WithTargetTable(const Aws::String& value) { SetTargetTable(value); return *this;}
192 
193     /**
194      * <p>The target table.</p>
195      */
WithTargetTable(Aws::String && value)196     inline MappingEntry& WithTargetTable(Aws::String&& value) { SetTargetTable(std::move(value)); return *this;}
197 
198     /**
199      * <p>The target table.</p>
200      */
WithTargetTable(const char * value)201     inline MappingEntry& WithTargetTable(const char* value) { SetTargetTable(value); return *this;}
202 
203 
204     /**
205      * <p>The target path.</p>
206      */
GetTargetPath()207     inline const Aws::String& GetTargetPath() const{ return m_targetPath; }
208 
209     /**
210      * <p>The target path.</p>
211      */
TargetPathHasBeenSet()212     inline bool TargetPathHasBeenSet() const { return m_targetPathHasBeenSet; }
213 
214     /**
215      * <p>The target path.</p>
216      */
SetTargetPath(const Aws::String & value)217     inline void SetTargetPath(const Aws::String& value) { m_targetPathHasBeenSet = true; m_targetPath = value; }
218 
219     /**
220      * <p>The target path.</p>
221      */
SetTargetPath(Aws::String && value)222     inline void SetTargetPath(Aws::String&& value) { m_targetPathHasBeenSet = true; m_targetPath = std::move(value); }
223 
224     /**
225      * <p>The target path.</p>
226      */
SetTargetPath(const char * value)227     inline void SetTargetPath(const char* value) { m_targetPathHasBeenSet = true; m_targetPath.assign(value); }
228 
229     /**
230      * <p>The target path.</p>
231      */
WithTargetPath(const Aws::String & value)232     inline MappingEntry& WithTargetPath(const Aws::String& value) { SetTargetPath(value); return *this;}
233 
234     /**
235      * <p>The target path.</p>
236      */
WithTargetPath(Aws::String && value)237     inline MappingEntry& WithTargetPath(Aws::String&& value) { SetTargetPath(std::move(value)); return *this;}
238 
239     /**
240      * <p>The target path.</p>
241      */
WithTargetPath(const char * value)242     inline MappingEntry& WithTargetPath(const char* value) { SetTargetPath(value); return *this;}
243 
244 
245     /**
246      * <p>The target type.</p>
247      */
GetTargetType()248     inline const Aws::String& GetTargetType() const{ return m_targetType; }
249 
250     /**
251      * <p>The target type.</p>
252      */
TargetTypeHasBeenSet()253     inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; }
254 
255     /**
256      * <p>The target type.</p>
257      */
SetTargetType(const Aws::String & value)258     inline void SetTargetType(const Aws::String& value) { m_targetTypeHasBeenSet = true; m_targetType = value; }
259 
260     /**
261      * <p>The target type.</p>
262      */
SetTargetType(Aws::String && value)263     inline void SetTargetType(Aws::String&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); }
264 
265     /**
266      * <p>The target type.</p>
267      */
SetTargetType(const char * value)268     inline void SetTargetType(const char* value) { m_targetTypeHasBeenSet = true; m_targetType.assign(value); }
269 
270     /**
271      * <p>The target type.</p>
272      */
WithTargetType(const Aws::String & value)273     inline MappingEntry& WithTargetType(const Aws::String& value) { SetTargetType(value); return *this;}
274 
275     /**
276      * <p>The target type.</p>
277      */
WithTargetType(Aws::String && value)278     inline MappingEntry& WithTargetType(Aws::String&& value) { SetTargetType(std::move(value)); return *this;}
279 
280     /**
281      * <p>The target type.</p>
282      */
WithTargetType(const char * value)283     inline MappingEntry& WithTargetType(const char* value) { SetTargetType(value); return *this;}
284 
285   private:
286 
287     Aws::String m_sourceTable;
288     bool m_sourceTableHasBeenSet;
289 
290     Aws::String m_sourcePath;
291     bool m_sourcePathHasBeenSet;
292 
293     Aws::String m_sourceType;
294     bool m_sourceTypeHasBeenSet;
295 
296     Aws::String m_targetTable;
297     bool m_targetTableHasBeenSet;
298 
299     Aws::String m_targetPath;
300     bool m_targetPathHasBeenSet;
301 
302     Aws::String m_targetType;
303     bool m_targetTypeHasBeenSet;
304   };
305 
306 } // namespace Model
307 } // namespace Glue
308 } // namespace Aws
309