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/AutoDataQuality.h>
12#include <aws/glue/model/DirectSchemaChangePolicy.h>
13#include <aws/glue/model/GlueSchema.h>
14#include <aws/glue/model/IcebergTargetCompressionType.h>
15#include <aws/glue/model/TargetFormat.h>
49 template <
typename NameT = Aws::String>
51 m_nameHasBeenSet =
true;
52 m_name = std::forward<NameT>(value);
54 template <
typename NameT = Aws::String>
56 SetName(std::forward<NameT>(value));
68 template <
typename InputsT = Aws::Vector<Aws::String>>
70 m_inputsHasBeenSet =
true;
71 m_inputs = std::forward<InputsT>(value);
73 template <
typename InputsT = Aws::Vector<Aws::String>>
78 template <
typename InputsT = Aws::String>
80 m_inputsHasBeenSet =
true;
81 m_inputs.emplace_back(std::forward<InputsT>(value));
92 template <
typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
94 m_partitionKeysHasBeenSet =
true;
95 m_partitionKeys = std::forward<PartitionKeysT>(value);
97 template <
typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
102 template <
typename PartitionKeysT = Aws::Vector<Aws::String>>
104 m_partitionKeysHasBeenSet =
true;
105 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
116 template <
typename PathT = Aws::String>
118 m_pathHasBeenSet =
true;
119 m_path = std::forward<PathT>(value);
121 template <
typename PathT = Aws::String>
123 SetPath(std::forward<PathT>(value));
136 m_formatHasBeenSet =
true;
152 template <
typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
154 m_additionalOptionsHasBeenSet =
true;
155 m_additionalOptions = std::forward<AdditionalOptionsT>(value);
157 template <
typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
162 template <
typename AdditionalOptionsKeyT = Aws::String,
typename AdditionalOptionsValueT = Aws::String>
164 m_additionalOptionsHasBeenSet =
true;
165 m_additionalOptions.emplace(std::forward<AdditionalOptionsKeyT>(key), std::forward<AdditionalOptionsValueT>(value));
177 template <
typename SchemaChangePolicyT = DirectSchemaChangePolicy>
179 m_schemaChangePolicyHasBeenSet =
true;
180 m_schemaChangePolicy = std::forward<SchemaChangePolicyT>(value);
182 template <
typename SchemaChangePolicyT = DirectSchemaChangePolicy>
193 template <
typename AutoDataQualityT = AutoDataQuality>
195 m_autoDataQualityHasBeenSet =
true;
196 m_autoDataQuality = std::forward<AutoDataQualityT>(value);
198 template <
typename AutoDataQualityT = AutoDataQuality>
212 m_compressionHasBeenSet =
true;
213 m_compression = value;
228 template <
typename NumberTargetPartitionsT = Aws::String>
230 m_numberTargetPartitionsHasBeenSet =
true;
231 m_numberTargetPartitions = std::forward<NumberTargetPartitionsT>(value);
233 template <
typename NumberTargetPartitionsT = Aws::String>
246 template <
typename OutputSchemasT = Aws::Vector<GlueSchema>>
248 m_outputSchemasHasBeenSet =
true;
249 m_outputSchemas = std::forward<OutputSchemasT>(value);
251 template <
typename OutputSchemasT = Aws::Vector<GlueSchema>>
256 template <
typename OutputSchemasT = GlueSchema>
258 m_outputSchemasHasBeenSet =
true;
259 m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value));
265 bool m_nameHasBeenSet =
false;
268 bool m_inputsHasBeenSet =
false;
271 bool m_partitionKeysHasBeenSet =
false;
274 bool m_pathHasBeenSet =
false;
277 bool m_formatHasBeenSet =
false;
280 bool m_additionalOptionsHasBeenSet =
false;
282 DirectSchemaChangePolicy m_schemaChangePolicy;
283 bool m_schemaChangePolicyHasBeenSet =
false;
285 AutoDataQuality m_autoDataQuality;
286 bool m_autoDataQualityHasBeenSet =
false;
289 bool m_compressionHasBeenSet =
false;
292 bool m_numberTargetPartitionsHasBeenSet =
false;
295 bool m_outputSchemasHasBeenSet =
false;
S3IcebergDirectTarget & AddOutputSchemas(OutputSchemasT &&value)
S3IcebergDirectTarget & AddAdditionalOptions(AdditionalOptionsKeyT &&key, AdditionalOptionsValueT &&value)
void SetNumberTargetPartitions(NumberTargetPartitionsT &&value)
const Aws::String & GetNumberTargetPartitions() const
void SetInputs(InputsT &&value)
S3IcebergDirectTarget & WithCompression(IcebergTargetCompressionType value)
S3IcebergDirectTarget & WithAdditionalOptions(AdditionalOptionsT &&value)
const Aws::Vector< Aws::Vector< Aws::String > > & GetPartitionKeys() const
bool PartitionKeysHasBeenSet() const
S3IcebergDirectTarget & AddInputs(InputsT &&value)
TargetFormat GetFormat() const
void SetSchemaChangePolicy(SchemaChangePolicyT &&value)
S3IcebergDirectTarget & WithInputs(InputsT &&value)
bool AutoDataQualityHasBeenSet() const
S3IcebergDirectTarget & WithSchemaChangePolicy(SchemaChangePolicyT &&value)
bool SchemaChangePolicyHasBeenSet() const
void SetPartitionKeys(PartitionKeysT &&value)
bool PathHasBeenSet() const
void SetFormat(TargetFormat value)
S3IcebergDirectTarget & WithNumberTargetPartitions(NumberTargetPartitionsT &&value)
bool OutputSchemasHasBeenSet() const
AWS_GLUE_API S3IcebergDirectTarget()=default
void SetOutputSchemas(OutputSchemasT &&value)
const AutoDataQuality & GetAutoDataQuality() const
S3IcebergDirectTarget & WithOutputSchemas(OutputSchemasT &&value)
const DirectSchemaChangePolicy & GetSchemaChangePolicy() const
S3IcebergDirectTarget & WithPartitionKeys(PartitionKeysT &&value)
const Aws::Vector< Aws::String > & GetInputs() const
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< GlueSchema > & GetOutputSchemas() const
S3IcebergDirectTarget & WithPath(PathT &&value)
AWS_GLUE_API S3IcebergDirectTarget(Aws::Utils::Json::JsonView jsonValue)
IcebergTargetCompressionType GetCompression() const
void SetPath(PathT &&value)
S3IcebergDirectTarget & AddPartitionKeys(PartitionKeysT &&value)
const Aws::String & GetPath() const
AWS_GLUE_API S3IcebergDirectTarget & operator=(Aws::Utils::Json::JsonView jsonValue)
S3IcebergDirectTarget & WithFormat(TargetFormat value)
bool CompressionHasBeenSet() const
void SetCompression(IcebergTargetCompressionType value)
bool NameHasBeenSet() const
void SetAdditionalOptions(AdditionalOptionsT &&value)
S3IcebergDirectTarget & WithAutoDataQuality(AutoDataQualityT &&value)
void SetAutoDataQuality(AutoDataQualityT &&value)
bool FormatHasBeenSet() const
S3IcebergDirectTarget & WithName(NameT &&value)
bool NumberTargetPartitionsHasBeenSet() const
bool InputsHasBeenSet() const
void SetName(NameT &&value)
bool AdditionalOptionsHasBeenSet() const
const Aws::String & GetName() const
const Aws::Map< Aws::String, Aws::String > & GetAdditionalOptions() const
IcebergTargetCompressionType
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