AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
S3JsonSource.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/glue/Glue_EXPORTS.h>
10#include <aws/glue/model/CompressionType.h>
11#include <aws/glue/model/GlueSchema.h>
12#include <aws/glue/model/S3DirectSourceAdditionalOptions.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Glue {
24namespace Model {
25
33 public:
34 AWS_GLUE_API S3JsonSource() = default;
38
40
43 inline const Aws::String& GetName() const { return m_name; }
44 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
45 template <typename NameT = Aws::String>
46 void SetName(NameT&& value) {
47 m_nameHasBeenSet = true;
48 m_name = std::forward<NameT>(value);
49 }
50 template <typename NameT = Aws::String>
51 S3JsonSource& WithName(NameT&& value) {
52 SetName(std::forward<NameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::Vector<Aws::String>& GetPaths() const { return m_paths; }
62 inline bool PathsHasBeenSet() const { return m_pathsHasBeenSet; }
63 template <typename PathsT = Aws::Vector<Aws::String>>
64 void SetPaths(PathsT&& value) {
65 m_pathsHasBeenSet = true;
66 m_paths = std::forward<PathsT>(value);
67 }
68 template <typename PathsT = Aws::Vector<Aws::String>>
69 S3JsonSource& WithPaths(PathsT&& value) {
70 SetPaths(std::forward<PathsT>(value));
71 return *this;
72 }
73 template <typename PathsT = Aws::String>
74 S3JsonSource& AddPaths(PathsT&& value) {
75 m_pathsHasBeenSet = true;
76 m_paths.emplace_back(std::forward<PathsT>(value));
77 return *this;
78 }
80
82
87 inline CompressionType GetCompressionType() const { return m_compressionType; }
88 inline bool CompressionTypeHasBeenSet() const { return m_compressionTypeHasBeenSet; }
90 m_compressionTypeHasBeenSet = true;
91 m_compressionType = value;
92 }
94 SetCompressionType(value);
95 return *this;
96 }
98
100
104 inline const Aws::Vector<Aws::String>& GetExclusions() const { return m_exclusions; }
105 inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; }
106 template <typename ExclusionsT = Aws::Vector<Aws::String>>
107 void SetExclusions(ExclusionsT&& value) {
108 m_exclusionsHasBeenSet = true;
109 m_exclusions = std::forward<ExclusionsT>(value);
110 }
111 template <typename ExclusionsT = Aws::Vector<Aws::String>>
112 S3JsonSource& WithExclusions(ExclusionsT&& value) {
113 SetExclusions(std::forward<ExclusionsT>(value));
114 return *this;
115 }
116 template <typename ExclusionsT = Aws::String>
117 S3JsonSource& AddExclusions(ExclusionsT&& value) {
118 m_exclusionsHasBeenSet = true;
119 m_exclusions.emplace_back(std::forward<ExclusionsT>(value));
120 return *this;
121 }
123
125
131 inline const Aws::String& GetGroupSize() const { return m_groupSize; }
132 inline bool GroupSizeHasBeenSet() const { return m_groupSizeHasBeenSet; }
133 template <typename GroupSizeT = Aws::String>
134 void SetGroupSize(GroupSizeT&& value) {
135 m_groupSizeHasBeenSet = true;
136 m_groupSize = std::forward<GroupSizeT>(value);
137 }
138 template <typename GroupSizeT = Aws::String>
139 S3JsonSource& WithGroupSize(GroupSizeT&& value) {
140 SetGroupSize(std::forward<GroupSizeT>(value));
141 return *this;
142 }
144
146
152 inline const Aws::String& GetGroupFiles() const { return m_groupFiles; }
153 inline bool GroupFilesHasBeenSet() const { return m_groupFilesHasBeenSet; }
154 template <typename GroupFilesT = Aws::String>
155 void SetGroupFiles(GroupFilesT&& value) {
156 m_groupFilesHasBeenSet = true;
157 m_groupFiles = std::forward<GroupFilesT>(value);
158 }
159 template <typename GroupFilesT = Aws::String>
160 S3JsonSource& WithGroupFiles(GroupFilesT&& value) {
161 SetGroupFiles(std::forward<GroupFilesT>(value));
162 return *this;
163 }
165
167
171 inline bool GetRecurse() const { return m_recurse; }
172 inline bool RecurseHasBeenSet() const { return m_recurseHasBeenSet; }
173 inline void SetRecurse(bool value) {
174 m_recurseHasBeenSet = true;
175 m_recurse = value;
176 }
177 inline S3JsonSource& WithRecurse(bool value) {
178 SetRecurse(value);
179 return *this;
180 }
182
184
191 inline int GetMaxBand() const { return m_maxBand; }
192 inline bool MaxBandHasBeenSet() const { return m_maxBandHasBeenSet; }
193 inline void SetMaxBand(int value) {
194 m_maxBandHasBeenSet = true;
195 m_maxBand = value;
196 }
197 inline S3JsonSource& WithMaxBand(int value) {
198 SetMaxBand(value);
199 return *this;
200 }
202
204
209 inline int GetMaxFilesInBand() const { return m_maxFilesInBand; }
210 inline bool MaxFilesInBandHasBeenSet() const { return m_maxFilesInBandHasBeenSet; }
211 inline void SetMaxFilesInBand(int value) {
212 m_maxFilesInBandHasBeenSet = true;
213 m_maxFilesInBand = value;
214 }
215 inline S3JsonSource& WithMaxFilesInBand(int value) {
216 SetMaxFilesInBand(value);
217 return *this;
218 }
220
222
225 inline const S3DirectSourceAdditionalOptions& GetAdditionalOptions() const { return m_additionalOptions; }
226 inline bool AdditionalOptionsHasBeenSet() const { return m_additionalOptionsHasBeenSet; }
227 template <typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
228 void SetAdditionalOptions(AdditionalOptionsT&& value) {
229 m_additionalOptionsHasBeenSet = true;
230 m_additionalOptions = std::forward<AdditionalOptionsT>(value);
231 }
232 template <typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
233 S3JsonSource& WithAdditionalOptions(AdditionalOptionsT&& value) {
234 SetAdditionalOptions(std::forward<AdditionalOptionsT>(value));
235 return *this;
236 }
238
240
243 inline const Aws::String& GetJsonPath() const { return m_jsonPath; }
244 inline bool JsonPathHasBeenSet() const { return m_jsonPathHasBeenSet; }
245 template <typename JsonPathT = Aws::String>
246 void SetJsonPath(JsonPathT&& value) {
247 m_jsonPathHasBeenSet = true;
248 m_jsonPath = std::forward<JsonPathT>(value);
249 }
250 template <typename JsonPathT = Aws::String>
251 S3JsonSource& WithJsonPath(JsonPathT&& value) {
252 SetJsonPath(std::forward<JsonPathT>(value));
253 return *this;
254 }
256
258
265 inline bool GetMultiline() const { return m_multiline; }
266 inline bool MultilineHasBeenSet() const { return m_multilineHasBeenSet; }
267 inline void SetMultiline(bool value) {
268 m_multilineHasBeenSet = true;
269 m_multiline = value;
270 }
271 inline S3JsonSource& WithMultiline(bool value) {
272 SetMultiline(value);
273 return *this;
274 }
276
278
281 inline const Aws::Vector<GlueSchema>& GetOutputSchemas() const { return m_outputSchemas; }
282 inline bool OutputSchemasHasBeenSet() const { return m_outputSchemasHasBeenSet; }
283 template <typename OutputSchemasT = Aws::Vector<GlueSchema>>
284 void SetOutputSchemas(OutputSchemasT&& value) {
285 m_outputSchemasHasBeenSet = true;
286 m_outputSchemas = std::forward<OutputSchemasT>(value);
287 }
288 template <typename OutputSchemasT = Aws::Vector<GlueSchema>>
289 S3JsonSource& WithOutputSchemas(OutputSchemasT&& value) {
290 SetOutputSchemas(std::forward<OutputSchemasT>(value));
291 return *this;
292 }
293 template <typename OutputSchemasT = GlueSchema>
294 S3JsonSource& AddOutputSchemas(OutputSchemasT&& value) {
295 m_outputSchemasHasBeenSet = true;
296 m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value));
297 return *this;
298 }
300 private:
301 Aws::String m_name;
302
304
305 CompressionType m_compressionType{CompressionType::NOT_SET};
306
307 Aws::Vector<Aws::String> m_exclusions;
308
309 Aws::String m_groupSize;
310
311 Aws::String m_groupFiles;
312
313 bool m_recurse{false};
314
315 int m_maxBand{0};
316
317 int m_maxFilesInBand{0};
318
319 S3DirectSourceAdditionalOptions m_additionalOptions;
320
321 Aws::String m_jsonPath;
322
323 bool m_multiline{false};
324
325 Aws::Vector<GlueSchema> m_outputSchemas;
326 bool m_nameHasBeenSet = false;
327 bool m_pathsHasBeenSet = false;
328 bool m_compressionTypeHasBeenSet = false;
329 bool m_exclusionsHasBeenSet = false;
330 bool m_groupSizeHasBeenSet = false;
331 bool m_groupFilesHasBeenSet = false;
332 bool m_recurseHasBeenSet = false;
333 bool m_maxBandHasBeenSet = false;
334 bool m_maxFilesInBandHasBeenSet = false;
335 bool m_additionalOptionsHasBeenSet = false;
336 bool m_jsonPathHasBeenSet = false;
337 bool m_multilineHasBeenSet = false;
338 bool m_outputSchemasHasBeenSet = false;
339};
340
341} // namespace Model
342} // namespace Glue
343} // namespace Aws
const S3DirectSourceAdditionalOptions & GetAdditionalOptions() const
void SetGroupSize(GroupSizeT &&value)
S3JsonSource & WithGroupFiles(GroupFilesT &&value)
const Aws::String & GetGroupSize() const
S3JsonSource & WithMaxFilesInBand(int value)
S3JsonSource & WithGroupSize(GroupSizeT &&value)
void SetGroupFiles(GroupFilesT &&value)
S3JsonSource & WithMultiline(bool value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetName() const
void SetAdditionalOptions(AdditionalOptionsT &&value)
const Aws::Vector< GlueSchema > & GetOutputSchemas() const
const Aws::Vector< Aws::String > & GetPaths() const
void SetJsonPath(JsonPathT &&value)
AWS_GLUE_API S3JsonSource(Aws::Utils::Json::JsonView jsonValue)
void SetOutputSchemas(OutputSchemasT &&value)
S3JsonSource & WithOutputSchemas(OutputSchemasT &&value)
AWS_GLUE_API S3JsonSource & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPaths(PathsT &&value)
AWS_GLUE_API S3JsonSource()=default
S3JsonSource & AddOutputSchemas(OutputSchemasT &&value)
S3JsonSource & AddPaths(PathsT &&value)
void SetName(NameT &&value)
const Aws::Vector< Aws::String > & GetExclusions() const
CompressionType GetCompressionType() const
S3JsonSource & WithJsonPath(JsonPathT &&value)
const Aws::String & GetJsonPath() const
S3JsonSource & WithExclusions(ExclusionsT &&value)
S3JsonSource & WithPaths(PathsT &&value)
S3JsonSource & WithAdditionalOptions(AdditionalOptionsT &&value)
S3JsonSource & AddExclusions(ExclusionsT &&value)
void SetCompressionType(CompressionType value)
void SetExclusions(ExclusionsT &&value)
S3JsonSource & WithCompressionType(CompressionType value)
S3JsonSource & WithRecurse(bool value)
const Aws::String & GetGroupFiles() const
S3JsonSource & WithName(NameT &&value)
S3JsonSource & WithMaxBand(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue