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 GetSchemaByDefinitionResult
30   {
31   public:
32     GetSchemaByDefinitionResult();
33     GetSchemaByDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetSchemaByDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The schema ID of the schema version.</p>
39      */
GetSchemaVersionId()40     inline const Aws::String& GetSchemaVersionId() const{ return m_schemaVersionId; }
41 
42     /**
43      * <p>The schema ID 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 schema ID 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 schema ID 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 schema ID of the schema version.</p>
59      */
WithSchemaVersionId(const Aws::String & value)60     inline GetSchemaByDefinitionResult& WithSchemaVersionId(const Aws::String& value) { SetSchemaVersionId(value); return *this;}
61 
62     /**
63      * <p>The schema ID of the schema version.</p>
64      */
WithSchemaVersionId(Aws::String && value)65     inline GetSchemaByDefinitionResult& WithSchemaVersionId(Aws::String&& value) { SetSchemaVersionId(std::move(value)); return *this;}
66 
67     /**
68      * <p>The schema ID of the schema version.</p>
69      */
WithSchemaVersionId(const char * value)70     inline GetSchemaByDefinitionResult& WithSchemaVersionId(const char* value) { SetSchemaVersionId(value); return *this;}
71 
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) of the schema.</p>
75      */
GetSchemaArn()76     inline const Aws::String& GetSchemaArn() const{ return m_schemaArn; }
77 
78     /**
79      * <p>The Amazon Resource Name (ARN) of the schema.</p>
80      */
SetSchemaArn(const Aws::String & value)81     inline void SetSchemaArn(const Aws::String& value) { m_schemaArn = value; }
82 
83     /**
84      * <p>The Amazon Resource Name (ARN) of the schema.</p>
85      */
SetSchemaArn(Aws::String && value)86     inline void SetSchemaArn(Aws::String&& value) { m_schemaArn = std::move(value); }
87 
88     /**
89      * <p>The Amazon Resource Name (ARN) of the schema.</p>
90      */
SetSchemaArn(const char * value)91     inline void SetSchemaArn(const char* value) { m_schemaArn.assign(value); }
92 
93     /**
94      * <p>The Amazon Resource Name (ARN) of the schema.</p>
95      */
WithSchemaArn(const Aws::String & value)96     inline GetSchemaByDefinitionResult& WithSchemaArn(const Aws::String& value) { SetSchemaArn(value); return *this;}
97 
98     /**
99      * <p>The Amazon Resource Name (ARN) of the schema.</p>
100      */
WithSchemaArn(Aws::String && value)101     inline GetSchemaByDefinitionResult& WithSchemaArn(Aws::String&& value) { SetSchemaArn(std::move(value)); return *this;}
102 
103     /**
104      * <p>The Amazon Resource Name (ARN) of the schema.</p>
105      */
WithSchemaArn(const char * value)106     inline GetSchemaByDefinitionResult& WithSchemaArn(const char* value) { SetSchemaArn(value); return *this;}
107 
108 
109     /**
110      * <p>The data format of the schema definition. Currently only <code>AVRO</code>
111      * and <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 only <code>AVRO</code>
117      * and <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 only <code>AVRO</code>
123      * and <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 only <code>AVRO</code>
129      * and <code>JSON</code> are supported.</p>
130      */
WithDataFormat(const DataFormat & value)131     inline GetSchemaByDefinitionResult& WithDataFormat(const DataFormat& value) { SetDataFormat(value); return *this;}
132 
133     /**
134      * <p>The data format of the schema definition. Currently only <code>AVRO</code>
135      * and <code>JSON</code> are supported.</p>
136      */
WithDataFormat(DataFormat && value)137     inline GetSchemaByDefinitionResult& WithDataFormat(DataFormat&& value) { SetDataFormat(std::move(value)); return *this;}
138 
139 
140     /**
141      * <p>The status of the schema version.</p>
142      */
GetStatus()143     inline const SchemaVersionStatus& GetStatus() const{ return m_status; }
144 
145     /**
146      * <p>The status of the schema version.</p>
147      */
SetStatus(const SchemaVersionStatus & value)148     inline void SetStatus(const SchemaVersionStatus& value) { m_status = value; }
149 
150     /**
151      * <p>The status of the schema version.</p>
152      */
SetStatus(SchemaVersionStatus && value)153     inline void SetStatus(SchemaVersionStatus&& value) { m_status = std::move(value); }
154 
155     /**
156      * <p>The status of the schema version.</p>
157      */
WithStatus(const SchemaVersionStatus & value)158     inline GetSchemaByDefinitionResult& WithStatus(const SchemaVersionStatus& value) { SetStatus(value); return *this;}
159 
160     /**
161      * <p>The status of the schema version.</p>
162      */
WithStatus(SchemaVersionStatus && value)163     inline GetSchemaByDefinitionResult& WithStatus(SchemaVersionStatus&& value) { SetStatus(std::move(value)); return *this;}
164 
165 
166     /**
167      * <p>The date and time the schema was created.</p>
168      */
GetCreatedTime()169     inline const Aws::String& GetCreatedTime() const{ return m_createdTime; }
170 
171     /**
172      * <p>The date and time the schema was created.</p>
173      */
SetCreatedTime(const Aws::String & value)174     inline void SetCreatedTime(const Aws::String& value) { m_createdTime = value; }
175 
176     /**
177      * <p>The date and time the schema was created.</p>
178      */
SetCreatedTime(Aws::String && value)179     inline void SetCreatedTime(Aws::String&& value) { m_createdTime = std::move(value); }
180 
181     /**
182      * <p>The date and time the schema was created.</p>
183      */
SetCreatedTime(const char * value)184     inline void SetCreatedTime(const char* value) { m_createdTime.assign(value); }
185 
186     /**
187      * <p>The date and time the schema was created.</p>
188      */
WithCreatedTime(const Aws::String & value)189     inline GetSchemaByDefinitionResult& WithCreatedTime(const Aws::String& value) { SetCreatedTime(value); return *this;}
190 
191     /**
192      * <p>The date and time the schema was created.</p>
193      */
WithCreatedTime(Aws::String && value)194     inline GetSchemaByDefinitionResult& WithCreatedTime(Aws::String&& value) { SetCreatedTime(std::move(value)); return *this;}
195 
196     /**
197      * <p>The date and time the schema was created.</p>
198      */
WithCreatedTime(const char * value)199     inline GetSchemaByDefinitionResult& WithCreatedTime(const char* value) { SetCreatedTime(value); return *this;}
200 
201   private:
202 
203     Aws::String m_schemaVersionId;
204 
205     Aws::String m_schemaArn;
206 
207     DataFormat m_dataFormat;
208 
209     SchemaVersionStatus m_status;
210 
211     Aws::String m_createdTime;
212   };
213 
214 } // namespace Model
215 } // namespace Glue
216 } // namespace Aws
217