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/SchemaVersionStatus.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace Glue
26 {
27 namespace Model
28 {
29   class AWS_GLUE_API GetSchemaVersionResult
30   {
31   public:
32     GetSchemaVersionResult();
33     GetSchemaVersionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetSchemaVersionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
39      */
GetSchemaVersionId()40     inline const Aws::String& GetSchemaVersionId() const{ return m_schemaVersionId; }
41 
42     /**
43      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
44      */
SetSchemaVersionId(const Aws::String & value)45     inline void SetSchemaVersionId(const Aws::String& value) { m_schemaVersionId = value; }
46 
47     /**
48      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
49      */
SetSchemaVersionId(Aws::String && value)50     inline void SetSchemaVersionId(Aws::String&& value) { m_schemaVersionId = std::move(value); }
51 
52     /**
53      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
54      */
SetSchemaVersionId(const char * value)55     inline void SetSchemaVersionId(const char* value) { m_schemaVersionId.assign(value); }
56 
57     /**
58      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
59      */
WithSchemaVersionId(const Aws::String & value)60     inline GetSchemaVersionResult& WithSchemaVersionId(const Aws::String& value) { SetSchemaVersionId(value); return *this;}
61 
62     /**
63      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
64      */
WithSchemaVersionId(Aws::String && value)65     inline GetSchemaVersionResult& WithSchemaVersionId(Aws::String&& value) { SetSchemaVersionId(std::move(value)); return *this;}
66 
67     /**
68      * <p>The <code>SchemaVersionId</code> of the schema version.</p>
69      */
WithSchemaVersionId(const char * value)70     inline GetSchemaVersionResult& WithSchemaVersionId(const char* value) { SetSchemaVersionId(value); return *this;}
71 
72 
73     /**
74      * <p>The schema definition for the schema ID.</p>
75      */
GetSchemaDefinition()76     inline const Aws::String& GetSchemaDefinition() const{ return m_schemaDefinition; }
77 
78     /**
79      * <p>The schema definition for the schema ID.</p>
80      */
SetSchemaDefinition(const Aws::String & value)81     inline void SetSchemaDefinition(const Aws::String& value) { m_schemaDefinition = value; }
82 
83     /**
84      * <p>The schema definition for the schema ID.</p>
85      */
SetSchemaDefinition(Aws::String && value)86     inline void SetSchemaDefinition(Aws::String&& value) { m_schemaDefinition = std::move(value); }
87 
88     /**
89      * <p>The schema definition for the schema ID.</p>
90      */
SetSchemaDefinition(const char * value)91     inline void SetSchemaDefinition(const char* value) { m_schemaDefinition.assign(value); }
92 
93     /**
94      * <p>The schema definition for the schema ID.</p>
95      */
WithSchemaDefinition(const Aws::String & value)96     inline GetSchemaVersionResult& WithSchemaDefinition(const Aws::String& value) { SetSchemaDefinition(value); return *this;}
97 
98     /**
99      * <p>The schema definition for the schema ID.</p>
100      */
WithSchemaDefinition(Aws::String && value)101     inline GetSchemaVersionResult& WithSchemaDefinition(Aws::String&& value) { SetSchemaDefinition(std::move(value)); return *this;}
102 
103     /**
104      * <p>The schema definition for the schema ID.</p>
105      */
WithSchemaDefinition(const char * value)106     inline GetSchemaVersionResult& WithSchemaDefinition(const char* value) { SetSchemaDefinition(value); return *this;}
107 
108 
109     /**
110      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
111      * <code>JSON</code> are supported.</p>
112      */
GetDataFormat()113     inline const DataFormat& GetDataFormat() const{ return m_dataFormat; }
114 
115     /**
116      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
117      * <code>JSON</code> are supported.</p>
118      */
SetDataFormat(const DataFormat & value)119     inline void SetDataFormat(const DataFormat& value) { m_dataFormat = value; }
120 
121     /**
122      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
123      * <code>JSON</code> are supported.</p>
124      */
SetDataFormat(DataFormat && value)125     inline void SetDataFormat(DataFormat&& value) { m_dataFormat = std::move(value); }
126 
127     /**
128      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
129      * <code>JSON</code> are supported.</p>
130      */
WithDataFormat(const DataFormat & value)131     inline GetSchemaVersionResult& WithDataFormat(const DataFormat& value) { SetDataFormat(value); return *this;}
132 
133     /**
134      * <p>The data format of the schema definition. Currently <code>AVRO</code> and
135      * <code>JSON</code> are supported.</p>
136      */
WithDataFormat(DataFormat && value)137     inline GetSchemaVersionResult& WithDataFormat(DataFormat&& value) { SetDataFormat(std::move(value)); return *this;}
138 
139 
140     /**
141      * <p>The Amazon Resource Name (ARN) of the schema.</p>
142      */
GetSchemaArn()143     inline const Aws::String& GetSchemaArn() const{ return m_schemaArn; }
144 
145     /**
146      * <p>The Amazon Resource Name (ARN) of the schema.</p>
147      */
SetSchemaArn(const Aws::String & value)148     inline void SetSchemaArn(const Aws::String& value) { m_schemaArn = value; }
149 
150     /**
151      * <p>The Amazon Resource Name (ARN) of the schema.</p>
152      */
SetSchemaArn(Aws::String && value)153     inline void SetSchemaArn(Aws::String&& value) { m_schemaArn = std::move(value); }
154 
155     /**
156      * <p>The Amazon Resource Name (ARN) of the schema.</p>
157      */
SetSchemaArn(const char * value)158     inline void SetSchemaArn(const char* value) { m_schemaArn.assign(value); }
159 
160     /**
161      * <p>The Amazon Resource Name (ARN) of the schema.</p>
162      */
WithSchemaArn(const Aws::String & value)163     inline GetSchemaVersionResult& WithSchemaArn(const Aws::String& value) { SetSchemaArn(value); return *this;}
164 
165     /**
166      * <p>The Amazon Resource Name (ARN) of the schema.</p>
167      */
WithSchemaArn(Aws::String && value)168     inline GetSchemaVersionResult& WithSchemaArn(Aws::String&& value) { SetSchemaArn(std::move(value)); return *this;}
169 
170     /**
171      * <p>The Amazon Resource Name (ARN) of the schema.</p>
172      */
WithSchemaArn(const char * value)173     inline GetSchemaVersionResult& WithSchemaArn(const char* value) { SetSchemaArn(value); return *this;}
174 
175 
176     /**
177      * <p>The version number of the schema.</p>
178      */
GetVersionNumber()179     inline long long GetVersionNumber() const{ return m_versionNumber; }
180 
181     /**
182      * <p>The version number of the schema.</p>
183      */
SetVersionNumber(long long value)184     inline void SetVersionNumber(long long value) { m_versionNumber = value; }
185 
186     /**
187      * <p>The version number of the schema.</p>
188      */
WithVersionNumber(long long value)189     inline GetSchemaVersionResult& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;}
190 
191 
192     /**
193      * <p>The status of the schema version. </p>
194      */
GetStatus()195     inline const SchemaVersionStatus& GetStatus() const{ return m_status; }
196 
197     /**
198      * <p>The status of the schema version. </p>
199      */
SetStatus(const SchemaVersionStatus & value)200     inline void SetStatus(const SchemaVersionStatus& value) { m_status = value; }
201 
202     /**
203      * <p>The status of the schema version. </p>
204      */
SetStatus(SchemaVersionStatus && value)205     inline void SetStatus(SchemaVersionStatus&& value) { m_status = std::move(value); }
206 
207     /**
208      * <p>The status of the schema version. </p>
209      */
WithStatus(const SchemaVersionStatus & value)210     inline GetSchemaVersionResult& WithStatus(const SchemaVersionStatus& value) { SetStatus(value); return *this;}
211 
212     /**
213      * <p>The status of the schema version. </p>
214      */
WithStatus(SchemaVersionStatus && value)215     inline GetSchemaVersionResult& WithStatus(SchemaVersionStatus&& value) { SetStatus(std::move(value)); return *this;}
216 
217 
218     /**
219      * <p>The date and time the schema version was created.</p>
220      */
GetCreatedTime()221     inline const Aws::String& GetCreatedTime() const{ return m_createdTime; }
222 
223     /**
224      * <p>The date and time the schema version was created.</p>
225      */
SetCreatedTime(const Aws::String & value)226     inline void SetCreatedTime(const Aws::String& value) { m_createdTime = value; }
227 
228     /**
229      * <p>The date and time the schema version was created.</p>
230      */
SetCreatedTime(Aws::String && value)231     inline void SetCreatedTime(Aws::String&& value) { m_createdTime = std::move(value); }
232 
233     /**
234      * <p>The date and time the schema version was created.</p>
235      */
SetCreatedTime(const char * value)236     inline void SetCreatedTime(const char* value) { m_createdTime.assign(value); }
237 
238     /**
239      * <p>The date and time the schema version was created.</p>
240      */
WithCreatedTime(const Aws::String & value)241     inline GetSchemaVersionResult& WithCreatedTime(const Aws::String& value) { SetCreatedTime(value); return *this;}
242 
243     /**
244      * <p>The date and time the schema version was created.</p>
245      */
WithCreatedTime(Aws::String && value)246     inline GetSchemaVersionResult& WithCreatedTime(Aws::String&& value) { SetCreatedTime(std::move(value)); return *this;}
247 
248     /**
249      * <p>The date and time the schema version was created.</p>
250      */
WithCreatedTime(const char * value)251     inline GetSchemaVersionResult& WithCreatedTime(const char* value) { SetCreatedTime(value); return *this;}
252 
253   private:
254 
255     Aws::String m_schemaVersionId;
256 
257     Aws::String m_schemaDefinition;
258 
259     DataFormat m_dataFormat;
260 
261     Aws::String m_schemaArn;
262 
263     long long m_versionNumber;
264 
265     SchemaVersionStatus m_status;
266 
267     Aws::String m_createdTime;
268   };
269 
270 } // namespace Model
271 } // namespace Glue
272 } // namespace Aws
273