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/glue/model/DataFormat.h>
10 #include <aws/glue/model/Compatibility.h>
11 #include <aws/glue/model/SchemaStatus.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <aws/glue/model/SchemaVersionStatus.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 template<typename RESULT_TYPE>
19 class AmazonWebServiceResult;
20 
21 namespace Utils
22 {
23 namespace Json
24 {
25   class JsonValue;
26 } // namespace Json
27 } // namespace Utils
28 namespace Glue
29 {
30 namespace Model
31 {
32   class AWS_GLUE_API CreateSchemaResult
33   {
34   public:
35     CreateSchemaResult();
36     CreateSchemaResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
37     CreateSchemaResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38 
39 
40     /**
41      * <p>The name of the registry.</p>
42      */
GetRegistryName()43     inline const Aws::String& GetRegistryName() const{ return m_registryName; }
44 
45     /**
46      * <p>The name of the registry.</p>
47      */
SetRegistryName(const Aws::String & value)48     inline void SetRegistryName(const Aws::String& value) { m_registryName = value; }
49 
50     /**
51      * <p>The name of the registry.</p>
52      */
SetRegistryName(Aws::String && value)53     inline void SetRegistryName(Aws::String&& value) { m_registryName = std::move(value); }
54 
55     /**
56      * <p>The name of the registry.</p>
57      */
SetRegistryName(const char * value)58     inline void SetRegistryName(const char* value) { m_registryName.assign(value); }
59 
60     /**
61      * <p>The name of the registry.</p>
62      */
WithRegistryName(const Aws::String & value)63     inline CreateSchemaResult& WithRegistryName(const Aws::String& value) { SetRegistryName(value); return *this;}
64 
65     /**
66      * <p>The name of the registry.</p>
67      */
WithRegistryName(Aws::String && value)68     inline CreateSchemaResult& WithRegistryName(Aws::String&& value) { SetRegistryName(std::move(value)); return *this;}
69 
70     /**
71      * <p>The name of the registry.</p>
72      */
WithRegistryName(const char * value)73     inline CreateSchemaResult& WithRegistryName(const char* value) { SetRegistryName(value); return *this;}
74 
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the registry.</p>
78      */
GetRegistryArn()79     inline const Aws::String& GetRegistryArn() const{ return m_registryArn; }
80 
81     /**
82      * <p>The Amazon Resource Name (ARN) of the registry.</p>
83      */
SetRegistryArn(const Aws::String & value)84     inline void SetRegistryArn(const Aws::String& value) { m_registryArn = value; }
85 
86     /**
87      * <p>The Amazon Resource Name (ARN) of the registry.</p>
88      */
SetRegistryArn(Aws::String && value)89     inline void SetRegistryArn(Aws::String&& value) { m_registryArn = std::move(value); }
90 
91     /**
92      * <p>The Amazon Resource Name (ARN) of the registry.</p>
93      */
SetRegistryArn(const char * value)94     inline void SetRegistryArn(const char* value) { m_registryArn.assign(value); }
95 
96     /**
97      * <p>The Amazon Resource Name (ARN) of the registry.</p>
98      */
WithRegistryArn(const Aws::String & value)99     inline CreateSchemaResult& WithRegistryArn(const Aws::String& value) { SetRegistryArn(value); return *this;}
100 
101     /**
102      * <p>The Amazon Resource Name (ARN) of the registry.</p>
103      */
WithRegistryArn(Aws::String && value)104     inline CreateSchemaResult& WithRegistryArn(Aws::String&& value) { SetRegistryArn(std::move(value)); return *this;}
105 
106     /**
107      * <p>The Amazon Resource Name (ARN) of the registry.</p>
108      */
WithRegistryArn(const char * value)109     inline CreateSchemaResult& WithRegistryArn(const char* value) { SetRegistryArn(value); return *this;}
110 
111 
112     /**
113      * <p>The name of the schema.</p>
114      */
GetSchemaName()115     inline const Aws::String& GetSchemaName() const{ return m_schemaName; }
116 
117     /**
118      * <p>The name of the schema.</p>
119      */
SetSchemaName(const Aws::String & value)120     inline void SetSchemaName(const Aws::String& value) { m_schemaName = value; }
121 
122     /**
123      * <p>The name of the schema.</p>
124      */
SetSchemaName(Aws::String && value)125     inline void SetSchemaName(Aws::String&& value) { m_schemaName = std::move(value); }
126 
127     /**
128      * <p>The name of the schema.</p>
129      */
SetSchemaName(const char * value)130     inline void SetSchemaName(const char* value) { m_schemaName.assign(value); }
131 
132     /**
133      * <p>The name of the schema.</p>
134      */
WithSchemaName(const Aws::String & value)135     inline CreateSchemaResult& WithSchemaName(const Aws::String& value) { SetSchemaName(value); return *this;}
136 
137     /**
138      * <p>The name of the schema.</p>
139      */
WithSchemaName(Aws::String && value)140     inline CreateSchemaResult& WithSchemaName(Aws::String&& value) { SetSchemaName(std::move(value)); return *this;}
141 
142     /**
143      * <p>The name of the schema.</p>
144      */
WithSchemaName(const char * value)145     inline CreateSchemaResult& WithSchemaName(const char* value) { SetSchemaName(value); return *this;}
146 
147 
148     /**
149      * <p>The Amazon Resource Name (ARN) of the schema.</p>
150      */
GetSchemaArn()151     inline const Aws::String& GetSchemaArn() const{ return m_schemaArn; }
152 
153     /**
154      * <p>The Amazon Resource Name (ARN) of the schema.</p>
155      */
SetSchemaArn(const Aws::String & value)156     inline void SetSchemaArn(const Aws::String& value) { m_schemaArn = value; }
157 
158     /**
159      * <p>The Amazon Resource Name (ARN) of the schema.</p>
160      */
SetSchemaArn(Aws::String && value)161     inline void SetSchemaArn(Aws::String&& value) { m_schemaArn = std::move(value); }
162 
163     /**
164      * <p>The Amazon Resource Name (ARN) of the schema.</p>
165      */
SetSchemaArn(const char * value)166     inline void SetSchemaArn(const char* value) { m_schemaArn.assign(value); }
167 
168     /**
169      * <p>The Amazon Resource Name (ARN) of the schema.</p>
170      */
WithSchemaArn(const Aws::String & value)171     inline CreateSchemaResult& WithSchemaArn(const Aws::String& value) { SetSchemaArn(value); return *this;}
172 
173     /**
174      * <p>The Amazon Resource Name (ARN) of the schema.</p>
175      */
WithSchemaArn(Aws::String && value)176     inline CreateSchemaResult& WithSchemaArn(Aws::String&& value) { SetSchemaArn(std::move(value)); return *this;}
177 
178     /**
179      * <p>The Amazon Resource Name (ARN) of the schema.</p>
180      */
WithSchemaArn(const char * value)181     inline CreateSchemaResult& WithSchemaArn(const char* value) { SetSchemaArn(value); return *this;}
182 
183 
184     /**
185      * <p>A description of the schema if specified when created.</p>
186      */
GetDescription()187     inline const Aws::String& GetDescription() const{ return m_description; }
188 
189     /**
190      * <p>A description of the schema if specified when created.</p>
191      */
SetDescription(const Aws::String & value)192     inline void SetDescription(const Aws::String& value) { m_description = value; }
193 
194     /**
195      * <p>A description of the schema if specified when created.</p>
196      */
SetDescription(Aws::String && value)197     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
198 
199     /**
200      * <p>A description of the schema if specified when created.</p>
201      */
SetDescription(const char * value)202     inline void SetDescription(const char* value) { m_description.assign(value); }
203 
204     /**
205      * <p>A description of the schema if specified when created.</p>
206      */
WithDescription(const Aws::String & value)207     inline CreateSchemaResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
208 
209     /**
210      * <p>A description of the schema if specified when created.</p>
211      */
WithDescription(Aws::String && value)212     inline CreateSchemaResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
213 
214     /**
215      * <p>A description of the schema if specified when created.</p>
216      */
WithDescription(const char * value)217     inline CreateSchemaResult& WithDescription(const char* value) { SetDescription(value); return *this;}
218 
219 
220     /**
221      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
222      * <code>JSON</code> are supported.</p>
223      */
GetDataFormat()224     inline const DataFormat& GetDataFormat() const{ return m_dataFormat; }
225 
226     /**
227      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
228      * <code>JSON</code> are supported.</p>
229      */
SetDataFormat(const DataFormat & value)230     inline void SetDataFormat(const DataFormat& value) { m_dataFormat = value; }
231 
232     /**
233      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
234      * <code>JSON</code> are supported.</p>
235      */
SetDataFormat(DataFormat && value)236     inline void SetDataFormat(DataFormat&& value) { m_dataFormat = std::move(value); }
237 
238     /**
239      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
240      * <code>JSON</code> are supported.</p>
241      */
WithDataFormat(const DataFormat & value)242     inline CreateSchemaResult& WithDataFormat(const DataFormat& value) { SetDataFormat(value); return *this;}
243 
244     /**
245      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
246      * <code>JSON</code> are supported.</p>
247      */
WithDataFormat(DataFormat && value)248     inline CreateSchemaResult& WithDataFormat(DataFormat&& value) { SetDataFormat(std::move(value)); return *this;}
249 
250 
251     /**
252      * <p>The schema compatibility mode.</p>
253      */
GetCompatibility()254     inline const Compatibility& GetCompatibility() const{ return m_compatibility; }
255 
256     /**
257      * <p>The schema compatibility mode.</p>
258      */
SetCompatibility(const Compatibility & value)259     inline void SetCompatibility(const Compatibility& value) { m_compatibility = value; }
260 
261     /**
262      * <p>The schema compatibility mode.</p>
263      */
SetCompatibility(Compatibility && value)264     inline void SetCompatibility(Compatibility&& value) { m_compatibility = std::move(value); }
265 
266     /**
267      * <p>The schema compatibility mode.</p>
268      */
WithCompatibility(const Compatibility & value)269     inline CreateSchemaResult& WithCompatibility(const Compatibility& value) { SetCompatibility(value); return *this;}
270 
271     /**
272      * <p>The schema compatibility mode.</p>
273      */
WithCompatibility(Compatibility && value)274     inline CreateSchemaResult& WithCompatibility(Compatibility&& value) { SetCompatibility(std::move(value)); return *this;}
275 
276 
277     /**
278      * <p>The version number of the checkpoint (the last time the compatibility mode
279      * was changed).</p>
280      */
GetSchemaCheckpoint()281     inline long long GetSchemaCheckpoint() const{ return m_schemaCheckpoint; }
282 
283     /**
284      * <p>The version number of the checkpoint (the last time the compatibility mode
285      * was changed).</p>
286      */
SetSchemaCheckpoint(long long value)287     inline void SetSchemaCheckpoint(long long value) { m_schemaCheckpoint = value; }
288 
289     /**
290      * <p>The version number of the checkpoint (the last time the compatibility mode
291      * was changed).</p>
292      */
WithSchemaCheckpoint(long long value)293     inline CreateSchemaResult& WithSchemaCheckpoint(long long value) { SetSchemaCheckpoint(value); return *this;}
294 
295 
296     /**
297      * <p>The latest version of the schema associated with the returned schema
298      * definition.</p>
299      */
GetLatestSchemaVersion()300     inline long long GetLatestSchemaVersion() const{ return m_latestSchemaVersion; }
301 
302     /**
303      * <p>The latest version of the schema associated with the returned schema
304      * definition.</p>
305      */
SetLatestSchemaVersion(long long value)306     inline void SetLatestSchemaVersion(long long value) { m_latestSchemaVersion = value; }
307 
308     /**
309      * <p>The latest version of the schema associated with the returned schema
310      * definition.</p>
311      */
WithLatestSchemaVersion(long long value)312     inline CreateSchemaResult& WithLatestSchemaVersion(long long value) { SetLatestSchemaVersion(value); return *this;}
313 
314 
315     /**
316      * <p>The next version of the schema associated with the returned schema
317      * definition.</p>
318      */
GetNextSchemaVersion()319     inline long long GetNextSchemaVersion() const{ return m_nextSchemaVersion; }
320 
321     /**
322      * <p>The next version of the schema associated with the returned schema
323      * definition.</p>
324      */
SetNextSchemaVersion(long long value)325     inline void SetNextSchemaVersion(long long value) { m_nextSchemaVersion = value; }
326 
327     /**
328      * <p>The next version of the schema associated with the returned schema
329      * definition.</p>
330      */
WithNextSchemaVersion(long long value)331     inline CreateSchemaResult& WithNextSchemaVersion(long long value) { SetNextSchemaVersion(value); return *this;}
332 
333 
334     /**
335      * <p>The status of the schema. </p>
336      */
GetSchemaStatus()337     inline const SchemaStatus& GetSchemaStatus() const{ return m_schemaStatus; }
338 
339     /**
340      * <p>The status of the schema. </p>
341      */
SetSchemaStatus(const SchemaStatus & value)342     inline void SetSchemaStatus(const SchemaStatus& value) { m_schemaStatus = value; }
343 
344     /**
345      * <p>The status of the schema. </p>
346      */
SetSchemaStatus(SchemaStatus && value)347     inline void SetSchemaStatus(SchemaStatus&& value) { m_schemaStatus = std::move(value); }
348 
349     /**
350      * <p>The status of the schema. </p>
351      */
WithSchemaStatus(const SchemaStatus & value)352     inline CreateSchemaResult& WithSchemaStatus(const SchemaStatus& value) { SetSchemaStatus(value); return *this;}
353 
354     /**
355      * <p>The status of the schema. </p>
356      */
WithSchemaStatus(SchemaStatus && value)357     inline CreateSchemaResult& WithSchemaStatus(SchemaStatus&& value) { SetSchemaStatus(std::move(value)); return *this;}
358 
359 
360     /**
361      * <p>The tags for the schema.</p>
362      */
GetTags()363     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
364 
365     /**
366      * <p>The tags for the schema.</p>
367      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)368     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
369 
370     /**
371      * <p>The tags for the schema.</p>
372      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)373     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
374 
375     /**
376      * <p>The tags for the schema.</p>
377      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)378     inline CreateSchemaResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
379 
380     /**
381      * <p>The tags for the schema.</p>
382      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)383     inline CreateSchemaResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
384 
385     /**
386      * <p>The tags for the schema.</p>
387      */
AddTags(const Aws::String & key,const Aws::String & value)388     inline CreateSchemaResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
389 
390     /**
391      * <p>The tags for the schema.</p>
392      */
AddTags(Aws::String && key,const Aws::String & value)393     inline CreateSchemaResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
394 
395     /**
396      * <p>The tags for the schema.</p>
397      */
AddTags(const Aws::String & key,Aws::String && value)398     inline CreateSchemaResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
399 
400     /**
401      * <p>The tags for the schema.</p>
402      */
AddTags(Aws::String && key,Aws::String && value)403     inline CreateSchemaResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
404 
405     /**
406      * <p>The tags for the schema.</p>
407      */
AddTags(const char * key,Aws::String && value)408     inline CreateSchemaResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
409 
410     /**
411      * <p>The tags for the schema.</p>
412      */
AddTags(Aws::String && key,const char * value)413     inline CreateSchemaResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
414 
415     /**
416      * <p>The tags for the schema.</p>
417      */
AddTags(const char * key,const char * value)418     inline CreateSchemaResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
419 
420 
421     /**
422      * <p>The unique identifier of the first schema version.</p>
423      */
GetSchemaVersionId()424     inline const Aws::String& GetSchemaVersionId() const{ return m_schemaVersionId; }
425 
426     /**
427      * <p>The unique identifier of the first schema version.</p>
428      */
SetSchemaVersionId(const Aws::String & value)429     inline void SetSchemaVersionId(const Aws::String& value) { m_schemaVersionId = value; }
430 
431     /**
432      * <p>The unique identifier of the first schema version.</p>
433      */
SetSchemaVersionId(Aws::String && value)434     inline void SetSchemaVersionId(Aws::String&& value) { m_schemaVersionId = std::move(value); }
435 
436     /**
437      * <p>The unique identifier of the first schema version.</p>
438      */
SetSchemaVersionId(const char * value)439     inline void SetSchemaVersionId(const char* value) { m_schemaVersionId.assign(value); }
440 
441     /**
442      * <p>The unique identifier of the first schema version.</p>
443      */
WithSchemaVersionId(const Aws::String & value)444     inline CreateSchemaResult& WithSchemaVersionId(const Aws::String& value) { SetSchemaVersionId(value); return *this;}
445 
446     /**
447      * <p>The unique identifier of the first schema version.</p>
448      */
WithSchemaVersionId(Aws::String && value)449     inline CreateSchemaResult& WithSchemaVersionId(Aws::String&& value) { SetSchemaVersionId(std::move(value)); return *this;}
450 
451     /**
452      * <p>The unique identifier of the first schema version.</p>
453      */
WithSchemaVersionId(const char * value)454     inline CreateSchemaResult& WithSchemaVersionId(const char* value) { SetSchemaVersionId(value); return *this;}
455 
456 
457     /**
458      * <p>The status of the first schema version created.</p>
459      */
GetSchemaVersionStatus()460     inline const SchemaVersionStatus& GetSchemaVersionStatus() const{ return m_schemaVersionStatus; }
461 
462     /**
463      * <p>The status of the first schema version created.</p>
464      */
SetSchemaVersionStatus(const SchemaVersionStatus & value)465     inline void SetSchemaVersionStatus(const SchemaVersionStatus& value) { m_schemaVersionStatus = value; }
466 
467     /**
468      * <p>The status of the first schema version created.</p>
469      */
SetSchemaVersionStatus(SchemaVersionStatus && value)470     inline void SetSchemaVersionStatus(SchemaVersionStatus&& value) { m_schemaVersionStatus = std::move(value); }
471 
472     /**
473      * <p>The status of the first schema version created.</p>
474      */
WithSchemaVersionStatus(const SchemaVersionStatus & value)475     inline CreateSchemaResult& WithSchemaVersionStatus(const SchemaVersionStatus& value) { SetSchemaVersionStatus(value); return *this;}
476 
477     /**
478      * <p>The status of the first schema version created.</p>
479      */
WithSchemaVersionStatus(SchemaVersionStatus && value)480     inline CreateSchemaResult& WithSchemaVersionStatus(SchemaVersionStatus&& value) { SetSchemaVersionStatus(std::move(value)); return *this;}
481 
482   private:
483 
484     Aws::String m_registryName;
485 
486     Aws::String m_registryArn;
487 
488     Aws::String m_schemaName;
489 
490     Aws::String m_schemaArn;
491 
492     Aws::String m_description;
493 
494     DataFormat m_dataFormat;
495 
496     Compatibility m_compatibility;
497 
498     long long m_schemaCheckpoint;
499 
500     long long m_latestSchemaVersion;
501 
502     long long m_nextSchemaVersion;
503 
504     SchemaStatus m_schemaStatus;
505 
506     Aws::Map<Aws::String, Aws::String> m_tags;
507 
508     Aws::String m_schemaVersionId;
509 
510     SchemaVersionStatus m_schemaVersionStatus;
511   };
512 
513 } // namespace Model
514 } // namespace Glue
515 } // namespace Aws
516