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/TargetFormat.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/glue/model/DirectSchemaChangePolicy.h>
13#include <aws/glue/model/AutoDataQuality.h>
14#include <aws/glue/model/IcebergTargetCompressionType.h>
15#include <aws/glue/model/GlueSchema.h>
55 template<
typename NameT = Aws::String>
56 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
57 template<
typename NameT = Aws::String>
68 template<
typename InputsT = Aws::Vector<Aws::String>>
69 void SetInputs(InputsT&& value) { m_inputsHasBeenSet =
true; m_inputs = std::forward<InputsT>(value); }
70 template<
typename InputsT = Aws::Vector<Aws::String>>
72 template<
typename InputsT = Aws::String>
82 template<
typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
83 void SetPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet =
true; m_partitionKeys = std::forward<PartitionKeysT>(value); }
84 template<
typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
86 template<
typename PartitionKeysT = Aws::Vector<Aws::String>>
96 template<
typename PathT = Aws::String>
97 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
98 template<
typename PathT = Aws::String>
120 template<
typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
121 void SetAdditionalOptions(AdditionalOptionsT&& value) { m_additionalOptionsHasBeenSet =
true; m_additionalOptions = std::forward<AdditionalOptionsT>(value); }
122 template<
typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
124 template<
typename AdditionalOptionsKeyT = Aws::String,
typename AdditionalOptionsValueT = Aws::String>
126 m_additionalOptionsHasBeenSet =
true; m_additionalOptions.emplace(std::forward<AdditionalOptionsKeyT>(key), std::forward<AdditionalOptionsValueT>(value));
return *
this;
137 template<
typename SchemaChangePolicyT = DirectSchemaChangePolicy>
138 void SetSchemaChangePolicy(SchemaChangePolicyT&& value) { m_schemaChangePolicyHasBeenSet =
true; m_schemaChangePolicy = std::forward<SchemaChangePolicyT>(value); }
139 template<
typename SchemaChangePolicyT = DirectSchemaChangePolicy>
147 template<
typename AutoDataQualityT = AutoDataQuality>
148 void SetAutoDataQuality(AutoDataQualityT&& value) { m_autoDataQualityHasBeenSet =
true; m_autoDataQuality = std::forward<AutoDataQualityT>(value); }
149 template<
typename AutoDataQualityT = AutoDataQuality>
170 template<
typename NumberTargetPartitionsT = Aws::String>
171 void SetNumberTargetPartitions(NumberTargetPartitionsT&& value) { m_numberTargetPartitionsHasBeenSet =
true; m_numberTargetPartitions = std::forward<NumberTargetPartitionsT>(value); }
172 template<
typename NumberTargetPartitionsT = Aws::String>
182 template<
typename OutputSchemasT = Aws::Vector<GlueSchema>>
183 void SetOutputSchemas(OutputSchemasT&& value) { m_outputSchemasHasBeenSet =
true; m_outputSchemas = std::forward<OutputSchemasT>(value); }
184 template<
typename OutputSchemasT = Aws::Vector<GlueSchema>>
186 template<
typename OutputSchemasT = GlueSchema>
192 bool m_nameHasBeenSet =
false;
195 bool m_inputsHasBeenSet =
false;
198 bool m_partitionKeysHasBeenSet =
false;
201 bool m_pathHasBeenSet =
false;
204 bool m_formatHasBeenSet =
false;
207 bool m_additionalOptionsHasBeenSet =
false;
209 DirectSchemaChangePolicy m_schemaChangePolicy;
210 bool m_schemaChangePolicyHasBeenSet =
false;
212 AutoDataQuality m_autoDataQuality;
213 bool m_autoDataQualityHasBeenSet =
false;
216 bool m_compressionHasBeenSet =
false;
219 bool m_numberTargetPartitionsHasBeenSet =
false;
222 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