7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glue/model/CompressionType.h>
11#include <aws/glue/model/S3DirectSourceAdditionalOptions.h>
12#include <aws/glue/model/GlueSchema.h>
51 template<
typename NameT = Aws::String>
52 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
53 template<
typename NameT = Aws::String>
63 template<
typename PathsT = Aws::Vector<Aws::String>>
64 void SetPaths(PathsT&& value) { m_pathsHasBeenSet =
true; m_paths = std::forward<PathsT>(value); }
65 template<
typename PathsT = Aws::Vector<Aws::String>>
67 template<
typename PathsT = Aws::String>
68 S3JsonSource&
AddPaths(PathsT&& value) { m_pathsHasBeenSet =
true; m_paths.emplace_back(std::forward<PathsT>(value));
return *
this; }
90 template<
typename ExclusionsT = Aws::Vector<Aws::String>>
91 void SetExclusions(ExclusionsT&& value) { m_exclusionsHasBeenSet =
true; m_exclusions = std::forward<ExclusionsT>(value); }
92 template<
typename ExclusionsT = Aws::Vector<Aws::String>>
94 template<
typename ExclusionsT = Aws::String>
95 S3JsonSource&
AddExclusions(ExclusionsT&& value) { m_exclusionsHasBeenSet =
true; m_exclusions.emplace_back(std::forward<ExclusionsT>(value));
return *
this; }
107 template<
typename GroupSizeT = Aws::String>
108 void SetGroupSize(GroupSizeT&& value) { m_groupSizeHasBeenSet =
true; m_groupSize = std::forward<GroupSizeT>(value); }
109 template<
typename GroupSizeT = Aws::String>
122 template<
typename GroupFilesT = Aws::String>
123 void SetGroupFiles(GroupFilesT&& value) { m_groupFilesHasBeenSet =
true; m_groupFiles = std::forward<GroupFilesT>(value); }
124 template<
typename GroupFilesT = Aws::String>
135 inline void SetRecurse(
bool value) { m_recurseHasBeenSet =
true; m_recurse = value; }
149 inline void SetMaxBand(
int value) { m_maxBandHasBeenSet =
true; m_maxBand = value; }
161 inline void SetMaxFilesInBand(
int value) { m_maxFilesInBandHasBeenSet =
true; m_maxFilesInBand = value; }
171 template<
typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
172 void SetAdditionalOptions(AdditionalOptionsT&& value) { m_additionalOptionsHasBeenSet =
true; m_additionalOptions = std::forward<AdditionalOptionsT>(value); }
173 template<
typename AdditionalOptionsT = S3DirectSourceAdditionalOptions>
183 template<
typename JsonPathT = Aws::String>
184 void SetJsonPath(JsonPathT&& value) { m_jsonPathHasBeenSet =
true; m_jsonPath = std::forward<JsonPathT>(value); }
185 template<
typename JsonPathT = Aws::String>
199 inline void SetMultiline(
bool value) { m_multilineHasBeenSet =
true; m_multiline = value; }
209 template<
typename OutputSchemasT = Aws::Vector<GlueSchema>>
210 void SetOutputSchemas(OutputSchemasT&& value) { m_outputSchemasHasBeenSet =
true; m_outputSchemas = std::forward<OutputSchemasT>(value); }
211 template<
typename OutputSchemasT = Aws::Vector<GlueSchema>>
213 template<
typename OutputSchemasT = GlueSchema>
214 S3JsonSource&
AddOutputSchemas(OutputSchemasT&& value) { m_outputSchemasHasBeenSet =
true; m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value));
return *
this; }
219 bool m_nameHasBeenSet =
false;
222 bool m_pathsHasBeenSet =
false;
225 bool m_compressionTypeHasBeenSet =
false;
228 bool m_exclusionsHasBeenSet =
false;
231 bool m_groupSizeHasBeenSet =
false;
234 bool m_groupFilesHasBeenSet =
false;
236 bool m_recurse{
false};
237 bool m_recurseHasBeenSet =
false;
240 bool m_maxBandHasBeenSet =
false;
242 int m_maxFilesInBand{0};
243 bool m_maxFilesInBandHasBeenSet =
false;
245 S3DirectSourceAdditionalOptions m_additionalOptions;
246 bool m_additionalOptionsHasBeenSet =
false;
249 bool m_jsonPathHasBeenSet =
false;
251 bool m_multiline{
false};
252 bool m_multilineHasBeenSet =
false;
255 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