AWS SDK for C++

AWS SDK for C++ Version 1.11.838

Loading...
Searching...
No Matches
IcebergTableMetadata.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glue/Glue_EXPORTS.h>
11#include <aws/glue/model/IcebergPartitionSpec.h>
12#include <aws/glue/model/IcebergSchema.h>
13#include <aws/glue/model/IcebergSortOrder.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Glue {
25namespace Model {
26
36 public:
37 AWS_GLUE_API IcebergTableMetadata() = default;
41
43
48 inline const Aws::String& GetFormatVersion() const { return m_formatVersion; }
49 inline bool FormatVersionHasBeenSet() const { return m_formatVersionHasBeenSet; }
50 template <typename FormatVersionT = Aws::String>
51 void SetFormatVersion(FormatVersionT&& value) {
52 m_formatVersionHasBeenSet = true;
53 m_formatVersion = std::forward<FormatVersionT>(value);
54 }
55 template <typename FormatVersionT = Aws::String>
56 IcebergTableMetadata& WithFormatVersion(FormatVersionT&& value) {
57 SetFormatVersion(std::forward<FormatVersionT>(value));
58 return *this;
59 }
61
63
67 inline const Aws::String& GetTableUuid() const { return m_tableUuid; }
68 inline bool TableUuidHasBeenSet() const { return m_tableUuidHasBeenSet; }
69 template <typename TableUuidT = Aws::String>
70 void SetTableUuid(TableUuidT&& value) {
71 m_tableUuidHasBeenSet = true;
72 m_tableUuid = std::forward<TableUuidT>(value);
73 }
74 template <typename TableUuidT = Aws::String>
75 IcebergTableMetadata& WithTableUuid(TableUuidT&& value) {
76 SetTableUuid(std::forward<TableUuidT>(value));
77 return *this;
78 }
80
82
86 inline const Aws::String& GetLocation() const { return m_location; }
87 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
88 template <typename LocationT = Aws::String>
89 void SetLocation(LocationT&& value) {
90 m_locationHasBeenSet = true;
91 m_location = std::forward<LocationT>(value);
92 }
93 template <typename LocationT = Aws::String>
94 IcebergTableMetadata& WithLocation(LocationT&& value) {
95 SetLocation(std::forward<LocationT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::Map<Aws::String, Aws::String>& GetProperties() const { return m_properties; }
106 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
107 template <typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
108 void SetProperties(PropertiesT&& value) {
109 m_propertiesHasBeenSet = true;
110 m_properties = std::forward<PropertiesT>(value);
111 }
112 template <typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
113 IcebergTableMetadata& WithProperties(PropertiesT&& value) {
114 SetProperties(std::forward<PropertiesT>(value));
115 return *this;
116 }
117 template <typename PropertiesKeyT = Aws::String, typename PropertiesValueT = Aws::String>
118 IcebergTableMetadata& AddProperties(PropertiesKeyT&& key, PropertiesValueT&& value) {
119 m_propertiesHasBeenSet = true;
120 m_properties.emplace(std::forward<PropertiesKeyT>(key), std::forward<PropertiesValueT>(value));
121 return *this;
122 }
124
126
130 inline const Aws::Vector<IcebergSchema>& GetSchemas() const { return m_schemas; }
131 inline bool SchemasHasBeenSet() const { return m_schemasHasBeenSet; }
132 template <typename SchemasT = Aws::Vector<IcebergSchema>>
133 void SetSchemas(SchemasT&& value) {
134 m_schemasHasBeenSet = true;
135 m_schemas = std::forward<SchemasT>(value);
136 }
137 template <typename SchemasT = Aws::Vector<IcebergSchema>>
139 SetSchemas(std::forward<SchemasT>(value));
140 return *this;
141 }
142 template <typename SchemasT = IcebergSchema>
143 IcebergTableMetadata& AddSchemas(SchemasT&& value) {
144 m_schemasHasBeenSet = true;
145 m_schemas.emplace_back(std::forward<SchemasT>(value));
146 return *this;
147 }
149
151
155 inline int GetCurrentSchemaId() const { return m_currentSchemaId; }
156 inline bool CurrentSchemaIdHasBeenSet() const { return m_currentSchemaIdHasBeenSet; }
157 inline void SetCurrentSchemaId(int value) {
158 m_currentSchemaIdHasBeenSet = true;
159 m_currentSchemaId = value;
160 }
162 SetCurrentSchemaId(value);
163 return *this;
164 }
166
168
172 inline int GetLastColumnId() const { return m_lastColumnId; }
173 inline bool LastColumnIdHasBeenSet() const { return m_lastColumnIdHasBeenSet; }
174 inline void SetLastColumnId(int value) {
175 m_lastColumnIdHasBeenSet = true;
176 m_lastColumnId = value;
177 }
179 SetLastColumnId(value);
180 return *this;
181 }
183
185
189 inline const Aws::Vector<IcebergPartitionSpec>& GetPartitionSpecs() const { return m_partitionSpecs; }
190 inline bool PartitionSpecsHasBeenSet() const { return m_partitionSpecsHasBeenSet; }
191 template <typename PartitionSpecsT = Aws::Vector<IcebergPartitionSpec>>
192 void SetPartitionSpecs(PartitionSpecsT&& value) {
193 m_partitionSpecsHasBeenSet = true;
194 m_partitionSpecs = std::forward<PartitionSpecsT>(value);
195 }
196 template <typename PartitionSpecsT = Aws::Vector<IcebergPartitionSpec>>
197 IcebergTableMetadata& WithPartitionSpecs(PartitionSpecsT&& value) {
198 SetPartitionSpecs(std::forward<PartitionSpecsT>(value));
199 return *this;
200 }
201 template <typename PartitionSpecsT = IcebergPartitionSpec>
202 IcebergTableMetadata& AddPartitionSpecs(PartitionSpecsT&& value) {
203 m_partitionSpecsHasBeenSet = true;
204 m_partitionSpecs.emplace_back(std::forward<PartitionSpecsT>(value));
205 return *this;
206 }
208
210
214 inline int GetDefaultSpecId() const { return m_defaultSpecId; }
215 inline bool DefaultSpecIdHasBeenSet() const { return m_defaultSpecIdHasBeenSet; }
216 inline void SetDefaultSpecId(int value) {
217 m_defaultSpecIdHasBeenSet = true;
218 m_defaultSpecId = value;
219 }
221 SetDefaultSpecId(value);
222 return *this;
223 }
225
227
231 inline int GetLastPartitionId() const { return m_lastPartitionId; }
232 inline bool LastPartitionIdHasBeenSet() const { return m_lastPartitionIdHasBeenSet; }
233 inline void SetLastPartitionId(int value) {
234 m_lastPartitionIdHasBeenSet = true;
235 m_lastPartitionId = value;
236 }
238 SetLastPartitionId(value);
239 return *this;
240 }
242
244
248 inline const Aws::Vector<IcebergSortOrder>& GetSortOrders() const { return m_sortOrders; }
249 inline bool SortOrdersHasBeenSet() const { return m_sortOrdersHasBeenSet; }
250 template <typename SortOrdersT = Aws::Vector<IcebergSortOrder>>
251 void SetSortOrders(SortOrdersT&& value) {
252 m_sortOrdersHasBeenSet = true;
253 m_sortOrders = std::forward<SortOrdersT>(value);
254 }
255 template <typename SortOrdersT = Aws::Vector<IcebergSortOrder>>
256 IcebergTableMetadata& WithSortOrders(SortOrdersT&& value) {
257 SetSortOrders(std::forward<SortOrdersT>(value));
258 return *this;
259 }
260 template <typename SortOrdersT = IcebergSortOrder>
261 IcebergTableMetadata& AddSortOrders(SortOrdersT&& value) {
262 m_sortOrdersHasBeenSet = true;
263 m_sortOrders.emplace_back(std::forward<SortOrdersT>(value));
264 return *this;
265 }
267
269
273 inline int GetDefaultSortOrderId() const { return m_defaultSortOrderId; }
274 inline bool DefaultSortOrderIdHasBeenSet() const { return m_defaultSortOrderIdHasBeenSet; }
275 inline void SetDefaultSortOrderId(int value) {
276 m_defaultSortOrderIdHasBeenSet = true;
277 m_defaultSortOrderId = value;
278 }
281 return *this;
282 }
284 private:
285 Aws::String m_formatVersion;
286
287 Aws::String m_tableUuid;
288
289 Aws::String m_location;
290
292
294
295 int m_currentSchemaId{0};
296
297 int m_lastColumnId{0};
298
299 Aws::Vector<IcebergPartitionSpec> m_partitionSpecs;
300
301 int m_defaultSpecId{0};
302
303 int m_lastPartitionId{0};
304
306
307 int m_defaultSortOrderId{0};
308 bool m_formatVersionHasBeenSet = false;
309 bool m_tableUuidHasBeenSet = false;
310 bool m_locationHasBeenSet = false;
311 bool m_propertiesHasBeenSet = false;
312 bool m_schemasHasBeenSet = false;
313 bool m_currentSchemaIdHasBeenSet = false;
314 bool m_lastColumnIdHasBeenSet = false;
315 bool m_partitionSpecsHasBeenSet = false;
316 bool m_defaultSpecIdHasBeenSet = false;
317 bool m_lastPartitionIdHasBeenSet = false;
318 bool m_sortOrdersHasBeenSet = false;
319 bool m_defaultSortOrderIdHasBeenSet = false;
320};
321
322} // namespace Model
323} // namespace Glue
324} // namespace Aws
IcebergTableMetadata & WithPartitionSpecs(PartitionSpecsT &&value)
IcebergTableMetadata & WithDefaultSortOrderId(int value)
IcebergTableMetadata & WithLocation(LocationT &&value)
const Aws::Vector< IcebergPartitionSpec > & GetPartitionSpecs() const
IcebergTableMetadata & WithSchemas(SchemasT &&value)
const Aws::String & GetFormatVersion() const
void SetPartitionSpecs(PartitionSpecsT &&value)
AWS_GLUE_API IcebergTableMetadata & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_GLUE_API IcebergTableMetadata(Aws::Utils::Json::JsonView jsonValue)
IcebergTableMetadata & WithLastPartitionId(int value)
AWS_GLUE_API IcebergTableMetadata()=default
IcebergTableMetadata & WithTableUuid(TableUuidT &&value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
IcebergTableMetadata & WithDefaultSpecId(int value)
IcebergTableMetadata & AddSchemas(SchemasT &&value)
IcebergTableMetadata & WithFormatVersion(FormatVersionT &&value)
const Aws::Vector< IcebergSchema > & GetSchemas() const
IcebergTableMetadata & WithCurrentSchemaId(int value)
IcebergTableMetadata & WithSortOrders(SortOrdersT &&value)
IcebergTableMetadata & AddPartitionSpecs(PartitionSpecsT &&value)
const Aws::Vector< IcebergSortOrder > & GetSortOrders() const
const Aws::Map< Aws::String, Aws::String > & GetProperties() const
void SetFormatVersion(FormatVersionT &&value)
IcebergTableMetadata & AddProperties(PropertiesKeyT &&key, PropertiesValueT &&value)
IcebergTableMetadata & AddSortOrders(SortOrdersT &&value)
IcebergTableMetadata & WithProperties(PropertiesT &&value)
IcebergTableMetadata & WithLastColumnId(int value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue