AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
StorageDescriptor.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/Column.h>
12#include <aws/glue/model/Order.h>
13#include <aws/glue/model/SchemaReference.h>
14#include <aws/glue/model/SerDeInfo.h>
15#include <aws/glue/model/SkewedInfo.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Glue {
27namespace Model {
28
35 public:
36 AWS_GLUE_API StorageDescriptor() = default;
40
42
45 inline const Aws::Vector<Column>& GetColumns() const { return m_columns; }
46 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
47 template <typename ColumnsT = Aws::Vector<Column>>
48 void SetColumns(ColumnsT&& value) {
49 m_columnsHasBeenSet = true;
50 m_columns = std::forward<ColumnsT>(value);
51 }
52 template <typename ColumnsT = Aws::Vector<Column>>
53 StorageDescriptor& WithColumns(ColumnsT&& value) {
54 SetColumns(std::forward<ColumnsT>(value));
55 return *this;
56 }
57 template <typename ColumnsT = Column>
58 StorageDescriptor& AddColumns(ColumnsT&& value) {
59 m_columnsHasBeenSet = true;
60 m_columns.emplace_back(std::forward<ColumnsT>(value));
61 return *this;
62 }
64
66
71 inline const Aws::String& GetLocation() const { return m_location; }
72 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
73 template <typename LocationT = Aws::String>
74 void SetLocation(LocationT&& value) {
75 m_locationHasBeenSet = true;
76 m_location = std::forward<LocationT>(value);
77 }
78 template <typename LocationT = Aws::String>
79 StorageDescriptor& WithLocation(LocationT&& value) {
80 SetLocation(std::forward<LocationT>(value));
81 return *this;
82 }
84
86
90 inline const Aws::Vector<Aws::String>& GetAdditionalLocations() const { return m_additionalLocations; }
91 inline bool AdditionalLocationsHasBeenSet() const { return m_additionalLocationsHasBeenSet; }
92 template <typename AdditionalLocationsT = Aws::Vector<Aws::String>>
93 void SetAdditionalLocations(AdditionalLocationsT&& value) {
94 m_additionalLocationsHasBeenSet = true;
95 m_additionalLocations = std::forward<AdditionalLocationsT>(value);
96 }
97 template <typename AdditionalLocationsT = Aws::Vector<Aws::String>>
98 StorageDescriptor& WithAdditionalLocations(AdditionalLocationsT&& value) {
99 SetAdditionalLocations(std::forward<AdditionalLocationsT>(value));
100 return *this;
101 }
102 template <typename AdditionalLocationsT = Aws::String>
103 StorageDescriptor& AddAdditionalLocations(AdditionalLocationsT&& value) {
104 m_additionalLocationsHasBeenSet = true;
105 m_additionalLocations.emplace_back(std::forward<AdditionalLocationsT>(value));
106 return *this;
107 }
109
111
115 inline const Aws::String& GetInputFormat() const { return m_inputFormat; }
116 inline bool InputFormatHasBeenSet() const { return m_inputFormatHasBeenSet; }
117 template <typename InputFormatT = Aws::String>
118 void SetInputFormat(InputFormatT&& value) {
119 m_inputFormatHasBeenSet = true;
120 m_inputFormat = std::forward<InputFormatT>(value);
121 }
122 template <typename InputFormatT = Aws::String>
123 StorageDescriptor& WithInputFormat(InputFormatT&& value) {
124 SetInputFormat(std::forward<InputFormatT>(value));
125 return *this;
126 }
128
130
134 inline const Aws::String& GetOutputFormat() const { return m_outputFormat; }
135 inline bool OutputFormatHasBeenSet() const { return m_outputFormatHasBeenSet; }
136 template <typename OutputFormatT = Aws::String>
137 void SetOutputFormat(OutputFormatT&& value) {
138 m_outputFormatHasBeenSet = true;
139 m_outputFormat = std::forward<OutputFormatT>(value);
140 }
141 template <typename OutputFormatT = Aws::String>
142 StorageDescriptor& WithOutputFormat(OutputFormatT&& value) {
143 SetOutputFormat(std::forward<OutputFormatT>(value));
144 return *this;
145 }
147
149
153 inline bool GetCompressed() const { return m_compressed; }
154 inline bool CompressedHasBeenSet() const { return m_compressedHasBeenSet; }
155 inline void SetCompressed(bool value) {
156 m_compressedHasBeenSet = true;
157 m_compressed = value;
158 }
159 inline StorageDescriptor& WithCompressed(bool value) {
160 SetCompressed(value);
161 return *this;
162 }
164
166
169 inline int GetNumberOfBuckets() const { return m_numberOfBuckets; }
170 inline bool NumberOfBucketsHasBeenSet() const { return m_numberOfBucketsHasBeenSet; }
171 inline void SetNumberOfBuckets(int value) {
172 m_numberOfBucketsHasBeenSet = true;
173 m_numberOfBuckets = value;
174 }
176 SetNumberOfBuckets(value);
177 return *this;
178 }
180
182
185 inline const SerDeInfo& GetSerdeInfo() const { return m_serdeInfo; }
186 inline bool SerdeInfoHasBeenSet() const { return m_serdeInfoHasBeenSet; }
187 template <typename SerdeInfoT = SerDeInfo>
188 void SetSerdeInfo(SerdeInfoT&& value) {
189 m_serdeInfoHasBeenSet = true;
190 m_serdeInfo = std::forward<SerdeInfoT>(value);
191 }
192 template <typename SerdeInfoT = SerDeInfo>
193 StorageDescriptor& WithSerdeInfo(SerdeInfoT&& value) {
194 SetSerdeInfo(std::forward<SerdeInfoT>(value));
195 return *this;
196 }
198
200
204 inline const Aws::Vector<Aws::String>& GetBucketColumns() const { return m_bucketColumns; }
205 inline bool BucketColumnsHasBeenSet() const { return m_bucketColumnsHasBeenSet; }
206 template <typename BucketColumnsT = Aws::Vector<Aws::String>>
207 void SetBucketColumns(BucketColumnsT&& value) {
208 m_bucketColumnsHasBeenSet = true;
209 m_bucketColumns = std::forward<BucketColumnsT>(value);
210 }
211 template <typename BucketColumnsT = Aws::Vector<Aws::String>>
212 StorageDescriptor& WithBucketColumns(BucketColumnsT&& value) {
213 SetBucketColumns(std::forward<BucketColumnsT>(value));
214 return *this;
215 }
216 template <typename BucketColumnsT = Aws::String>
217 StorageDescriptor& AddBucketColumns(BucketColumnsT&& value) {
218 m_bucketColumnsHasBeenSet = true;
219 m_bucketColumns.emplace_back(std::forward<BucketColumnsT>(value));
220 return *this;
221 }
223
225
228 inline const Aws::Vector<Order>& GetSortColumns() const { return m_sortColumns; }
229 inline bool SortColumnsHasBeenSet() const { return m_sortColumnsHasBeenSet; }
230 template <typename SortColumnsT = Aws::Vector<Order>>
231 void SetSortColumns(SortColumnsT&& value) {
232 m_sortColumnsHasBeenSet = true;
233 m_sortColumns = std::forward<SortColumnsT>(value);
234 }
235 template <typename SortColumnsT = Aws::Vector<Order>>
236 StorageDescriptor& WithSortColumns(SortColumnsT&& value) {
237 SetSortColumns(std::forward<SortColumnsT>(value));
238 return *this;
239 }
240 template <typename SortColumnsT = Order>
241 StorageDescriptor& AddSortColumns(SortColumnsT&& value) {
242 m_sortColumnsHasBeenSet = true;
243 m_sortColumns.emplace_back(std::forward<SortColumnsT>(value));
244 return *this;
245 }
247
249
252 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
253 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
254 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
255 void SetParameters(ParametersT&& value) {
256 m_parametersHasBeenSet = true;
257 m_parameters = std::forward<ParametersT>(value);
258 }
259 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
260 StorageDescriptor& WithParameters(ParametersT&& value) {
261 SetParameters(std::forward<ParametersT>(value));
262 return *this;
263 }
264 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
265 StorageDescriptor& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
266 m_parametersHasBeenSet = true;
267 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
268 return *this;
269 }
271
273
277 inline const SkewedInfo& GetSkewedInfo() const { return m_skewedInfo; }
278 inline bool SkewedInfoHasBeenSet() const { return m_skewedInfoHasBeenSet; }
279 template <typename SkewedInfoT = SkewedInfo>
280 void SetSkewedInfo(SkewedInfoT&& value) {
281 m_skewedInfoHasBeenSet = true;
282 m_skewedInfo = std::forward<SkewedInfoT>(value);
283 }
284 template <typename SkewedInfoT = SkewedInfo>
285 StorageDescriptor& WithSkewedInfo(SkewedInfoT&& value) {
286 SetSkewedInfo(std::forward<SkewedInfoT>(value));
287 return *this;
288 }
290
292
296 inline bool GetStoredAsSubDirectories() const { return m_storedAsSubDirectories; }
297 inline bool StoredAsSubDirectoriesHasBeenSet() const { return m_storedAsSubDirectoriesHasBeenSet; }
298 inline void SetStoredAsSubDirectories(bool value) {
299 m_storedAsSubDirectoriesHasBeenSet = true;
300 m_storedAsSubDirectories = value;
301 }
304 return *this;
305 }
307
309
314 inline const SchemaReference& GetSchemaReference() const { return m_schemaReference; }
315 inline bool SchemaReferenceHasBeenSet() const { return m_schemaReferenceHasBeenSet; }
316 template <typename SchemaReferenceT = SchemaReference>
317 void SetSchemaReference(SchemaReferenceT&& value) {
318 m_schemaReferenceHasBeenSet = true;
319 m_schemaReference = std::forward<SchemaReferenceT>(value);
320 }
321 template <typename SchemaReferenceT = SchemaReference>
322 StorageDescriptor& WithSchemaReference(SchemaReferenceT&& value) {
323 SetSchemaReference(std::forward<SchemaReferenceT>(value));
324 return *this;
325 }
327 private:
328 Aws::Vector<Column> m_columns;
329
330 Aws::String m_location;
331
332 Aws::Vector<Aws::String> m_additionalLocations;
333
334 Aws::String m_inputFormat;
335
336 Aws::String m_outputFormat;
337
338 bool m_compressed{false};
339
340 int m_numberOfBuckets{0};
341
342 SerDeInfo m_serdeInfo;
343
344 Aws::Vector<Aws::String> m_bucketColumns;
345
346 Aws::Vector<Order> m_sortColumns;
347
349
350 SkewedInfo m_skewedInfo;
351
352 bool m_storedAsSubDirectories{false};
353
354 SchemaReference m_schemaReference;
355 bool m_columnsHasBeenSet = false;
356 bool m_locationHasBeenSet = false;
357 bool m_additionalLocationsHasBeenSet = false;
358 bool m_inputFormatHasBeenSet = false;
359 bool m_outputFormatHasBeenSet = false;
360 bool m_compressedHasBeenSet = false;
361 bool m_numberOfBucketsHasBeenSet = false;
362 bool m_serdeInfoHasBeenSet = false;
363 bool m_bucketColumnsHasBeenSet = false;
364 bool m_sortColumnsHasBeenSet = false;
365 bool m_parametersHasBeenSet = false;
366 bool m_skewedInfoHasBeenSet = false;
367 bool m_storedAsSubDirectoriesHasBeenSet = false;
368 bool m_schemaReferenceHasBeenSet = false;
369};
370
371} // namespace Model
372} // namespace Glue
373} // namespace Aws
StorageDescriptor & WithSortColumns(SortColumnsT &&value)
const Aws::String & GetInputFormat() const
const Aws::Vector< Aws::String > & GetAdditionalLocations() const
StorageDescriptor & WithSchemaReference(SchemaReferenceT &&value)
void SetSerdeInfo(SerdeInfoT &&value)
AWS_GLUE_API StorageDescriptor(Aws::Utils::Json::JsonView jsonValue)
StorageDescriptor & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
const Aws::String & GetLocation() const
StorageDescriptor & WithNumberOfBuckets(int value)
StorageDescriptor & WithSkewedInfo(SkewedInfoT &&value)
void SetInputFormat(InputFormatT &&value)
void SetParameters(ParametersT &&value)
StorageDescriptor & WithInputFormat(InputFormatT &&value)
StorageDescriptor & WithStoredAsSubDirectories(bool value)
StorageDescriptor & WithBucketColumns(BucketColumnsT &&value)
const Aws::Vector< Order > & GetSortColumns() const
StorageDescriptor & WithLocation(LocationT &&value)
const Aws::Vector< Aws::String > & GetBucketColumns() const
StorageDescriptor & AddBucketColumns(BucketColumnsT &&value)
StorageDescriptor & AddAdditionalLocations(AdditionalLocationsT &&value)
AWS_GLUE_API StorageDescriptor & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
StorageDescriptor & WithAdditionalLocations(AdditionalLocationsT &&value)
void SetSortColumns(SortColumnsT &&value)
void SetSchemaReference(SchemaReferenceT &&value)
const SkewedInfo & GetSkewedInfo() const
const SerDeInfo & GetSerdeInfo() const
StorageDescriptor & AddSortColumns(SortColumnsT &&value)
const SchemaReference & GetSchemaReference() const
StorageDescriptor & WithParameters(ParametersT &&value)
StorageDescriptor & WithColumns(ColumnsT &&value)
const Aws::Vector< Column > & GetColumns() const
void SetSkewedInfo(SkewedInfoT &&value)
AWS_GLUE_API StorageDescriptor()=default
void SetOutputFormat(OutputFormatT &&value)
const Aws::String & GetOutputFormat() const
StorageDescriptor & WithCompressed(bool value)
StorageDescriptor & WithOutputFormat(OutputFormatT &&value)
StorageDescriptor & WithSerdeInfo(SerdeInfoT &&value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetBucketColumns(BucketColumnsT &&value)
void SetAdditionalLocations(AdditionalLocationsT &&value)
StorageDescriptor & AddColumns(ColumnsT &&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