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>
45 template <
typename NameT = Aws::String>
47 m_nameHasBeenSet =
true;
48 m_name = std::forward<NameT>(value);
50 template <
typename NameT = Aws::String>
52 SetName(std::forward<NameT>(value));
63 template <
typename PathsT = Aws::Vector<Aws::String>>
65 m_pathsHasBeenSet =
true;
66 m_paths = std::forward<PathsT>(value);
68 template <
typename PathsT = Aws::Vector<Aws::String>>
70 SetPaths(std::forward<PathsT>(value));
73 template <
typename PathsT = Aws::String>
75 m_pathsHasBeenSet =
true;
76 m_paths.emplace_back(std::forward<PathsT>(value));
90 m_compressionTypeHasBeenSet =
true;
91 m_compressionType = value;
106 template <
typename ExclusionsT = Aws::Vector<Aws::String>>
108 m_exclusionsHasBeenSet =
true;
109 m_exclusions = std::forward<ExclusionsT>(value);
111 template <
typename ExclusionsT = Aws::Vector<Aws::String>>
116 template <
typename ExclusionsT = Aws::String>
118 m_exclusionsHasBeenSet =
true;
119 m_exclusions.emplace_back(std::forward<ExclusionsT>(value));
133 template <
typename GroupSizeT = Aws::String>
135 m_groupSizeHasBeenSet =
true;
136 m_groupSize = std::forward<GroupSizeT>(value);
138 template <
typename GroupSizeT = Aws::String>
154 template <
typename GroupFilesT = Aws::String>
156 m_groupFilesHasBeenSet =
true;
157 m_groupFiles = std::forward<GroupFilesT>(value);
159 template <
typename GroupFilesT = Aws::String>
174 m_recurseHasBeenSet =
true;
194 m_maxBandHasBeenSet =
true;
212 m_maxFilesInBandHasBeenSet =
true;
213 m_maxFilesInBand = value;
227 template <
typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
229 m_additionalOptionsHasBeenSet =
true;
230 m_additionalOptions = std::forward<AdditionalOptionsT>(value);
232 template <
typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
245 template <
typename JsonPathT = Aws::String>
247 m_jsonPathHasBeenSet =
true;
248 m_jsonPath = std::forward<JsonPathT>(value);
250 template <
typename JsonPathT = Aws::String>
268 m_multilineHasBeenSet =
true;
283 template <
typename OutputSchemasT = Aws::Vector<GlueSchema>>
285 m_outputSchemasHasBeenSet =
true;
286 m_outputSchemas = std::forward<OutputSchemasT>(value);
288 template <
typename OutputSchemasT = Aws::Vector<GlueSchema>>
293 template <
typename OutputSchemasT = GlueSchema>
295 m_outputSchemasHasBeenSet =
true;
296 m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value));
313 bool m_recurse{
false};
317 int m_maxFilesInBand{0};
319 S3DirectSourceAdditionalOptions m_additionalOptions;
323 bool m_multiline{
false};
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;
bool PathsHasBeenSet() const
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
bool NameHasBeenSet() const
bool JsonPathHasBeenSet() const
const Aws::String & GetName() const
bool CompressionTypeHasBeenSet() const
void SetAdditionalOptions(AdditionalOptionsT &&value)
const Aws::Vector< GlueSchema > & GetOutputSchemas() const
const Aws::Vector< Aws::String > & GetPaths() const
void SetJsonPath(JsonPathT &&value)
bool GroupSizeHasBeenSet() const
AWS_GLUE_API S3JsonSource(Aws::Utils::Json::JsonView jsonValue)
bool ExclusionsHasBeenSet() const
void SetOutputSchemas(OutputSchemasT &&value)
S3JsonSource & WithOutputSchemas(OutputSchemasT &&value)
AWS_GLUE_API S3JsonSource & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPaths(PathsT &&value)
bool AdditionalOptionsHasBeenSet() const
AWS_GLUE_API S3JsonSource()=default
S3JsonSource & AddOutputSchemas(OutputSchemasT &&value)
S3JsonSource & AddPaths(PathsT &&value)
void SetName(NameT &&value)
bool GroupFilesHasBeenSet() const
const Aws::Vector< Aws::String > & GetExclusions() const
void SetRecurse(bool value)
CompressionType GetCompressionType() const
S3JsonSource & WithJsonPath(JsonPathT &&value)
bool MultilineHasBeenSet() const
int GetMaxFilesInBand() const
bool OutputSchemasHasBeenSet() const
const Aws::String & GetJsonPath() const
void SetMaxFilesInBand(int value)
S3JsonSource & WithExclusions(ExclusionsT &&value)
S3JsonSource & WithPaths(PathsT &&value)
S3JsonSource & WithAdditionalOptions(AdditionalOptionsT &&value)
S3JsonSource & AddExclusions(ExclusionsT &&value)
void SetCompressionType(CompressionType value)
bool MaxFilesInBandHasBeenSet() const
void SetExclusions(ExclusionsT &&value)
bool GetMultiline() const
S3JsonSource & WithCompressionType(CompressionType value)
S3JsonSource & WithRecurse(bool value)
void SetMaxBand(int value)
const Aws::String & GetGroupFiles() const
S3JsonSource & WithName(NameT &&value)
bool MaxBandHasBeenSet() const
void SetMultiline(bool value)
bool RecurseHasBeenSet() const
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