AWS SDK for C++

AWS SDK for C++ Version 1.11.683

Loading...
Searching...
No Matches
S3IcebergDirectTarget.h
1
6#pragma once
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>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Glue {
27namespace Model {
28
36 public:
37 AWS_GLUE_API S3IcebergDirectTarget() = default;
41
43
47 inline const Aws::String& GetName() const { return m_name; }
48 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
49 template <typename NameT = Aws::String>
50 void SetName(NameT&& value) {
51 m_nameHasBeenSet = true;
52 m_name = std::forward<NameT>(value);
53 }
54 template <typename NameT = Aws::String>
56 SetName(std::forward<NameT>(value));
57 return *this;
58 }
60
62
66 inline const Aws::Vector<Aws::String>& GetInputs() const { return m_inputs; }
67 inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; }
68 template <typename InputsT = Aws::Vector<Aws::String>>
69 void SetInputs(InputsT&& value) {
70 m_inputsHasBeenSet = true;
71 m_inputs = std::forward<InputsT>(value);
72 }
73 template <typename InputsT = Aws::Vector<Aws::String>>
75 SetInputs(std::forward<InputsT>(value));
76 return *this;
77 }
78 template <typename InputsT = Aws::String>
79 S3IcebergDirectTarget& AddInputs(InputsT&& value) {
80 m_inputsHasBeenSet = true;
81 m_inputs.emplace_back(std::forward<InputsT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::Vector<Aws::Vector<Aws::String>>& GetPartitionKeys() const { return m_partitionKeys; }
91 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
92 template <typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
93 void SetPartitionKeys(PartitionKeysT&& value) {
94 m_partitionKeysHasBeenSet = true;
95 m_partitionKeys = std::forward<PartitionKeysT>(value);
96 }
97 template <typename PartitionKeysT = Aws::Vector<Aws::Vector<Aws::String>>>
98 S3IcebergDirectTarget& WithPartitionKeys(PartitionKeysT&& value) {
99 SetPartitionKeys(std::forward<PartitionKeysT>(value));
100 return *this;
101 }
102 template <typename PartitionKeysT = Aws::Vector<Aws::String>>
103 S3IcebergDirectTarget& AddPartitionKeys(PartitionKeysT&& value) {
104 m_partitionKeysHasBeenSet = true;
105 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::String& GetPath() const { return m_path; }
115 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
116 template <typename PathT = Aws::String>
117 void SetPath(PathT&& value) {
118 m_pathHasBeenSet = true;
119 m_path = std::forward<PathT>(value);
120 }
121 template <typename PathT = Aws::String>
123 SetPath(std::forward<PathT>(value));
124 return *this;
125 }
127
129
133 inline TargetFormat GetFormat() const { return m_format; }
134 inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
135 inline void SetFormat(TargetFormat value) {
136 m_formatHasBeenSet = true;
137 m_format = value;
138 }
140 SetFormat(value);
141 return *this;
142 }
144
146
150 inline const Aws::Map<Aws::String, Aws::String>& GetAdditionalOptions() const { return m_additionalOptions; }
151 inline bool AdditionalOptionsHasBeenSet() const { return m_additionalOptionsHasBeenSet; }
152 template <typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
153 void SetAdditionalOptions(AdditionalOptionsT&& value) {
154 m_additionalOptionsHasBeenSet = true;
155 m_additionalOptions = std::forward<AdditionalOptionsT>(value);
156 }
157 template <typename AdditionalOptionsT = Aws::Map<Aws::String, Aws::String>>
158 S3IcebergDirectTarget& WithAdditionalOptions(AdditionalOptionsT&& value) {
159 SetAdditionalOptions(std::forward<AdditionalOptionsT>(value));
160 return *this;
161 }
162 template <typename AdditionalOptionsKeyT = Aws::String, typename AdditionalOptionsValueT = Aws::String>
163 S3IcebergDirectTarget& AddAdditionalOptions(AdditionalOptionsKeyT&& key, AdditionalOptionsValueT&& value) {
164 m_additionalOptionsHasBeenSet = true;
165 m_additionalOptions.emplace(std::forward<AdditionalOptionsKeyT>(key), std::forward<AdditionalOptionsValueT>(value));
166 return *this;
167 }
169
171
175 inline const DirectSchemaChangePolicy& GetSchemaChangePolicy() const { return m_schemaChangePolicy; }
176 inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; }
177 template <typename SchemaChangePolicyT = DirectSchemaChangePolicy>
178 void SetSchemaChangePolicy(SchemaChangePolicyT&& value) {
179 m_schemaChangePolicyHasBeenSet = true;
180 m_schemaChangePolicy = std::forward<SchemaChangePolicyT>(value);
181 }
182 template <typename SchemaChangePolicyT = DirectSchemaChangePolicy>
183 S3IcebergDirectTarget& WithSchemaChangePolicy(SchemaChangePolicyT&& value) {
184 SetSchemaChangePolicy(std::forward<SchemaChangePolicyT>(value));
185 return *this;
186 }
188
190
191 inline const AutoDataQuality& GetAutoDataQuality() const { return m_autoDataQuality; }
192 inline bool AutoDataQualityHasBeenSet() const { return m_autoDataQualityHasBeenSet; }
193 template <typename AutoDataQualityT = AutoDataQuality>
194 void SetAutoDataQuality(AutoDataQualityT&& value) {
195 m_autoDataQualityHasBeenSet = true;
196 m_autoDataQuality = std::forward<AutoDataQualityT>(value);
197 }
198 template <typename AutoDataQualityT = AutoDataQuality>
199 S3IcebergDirectTarget& WithAutoDataQuality(AutoDataQualityT&& value) {
200 SetAutoDataQuality(std::forward<AutoDataQualityT>(value));
201 return *this;
202 }
204
206
209 inline IcebergTargetCompressionType GetCompression() const { return m_compression; }
210 inline bool CompressionHasBeenSet() const { return m_compressionHasBeenSet; }
212 m_compressionHasBeenSet = true;
213 m_compression = value;
214 }
216 SetCompression(value);
217 return *this;
218 }
220
222
226 inline const Aws::String& GetNumberTargetPartitions() const { return m_numberTargetPartitions; }
227 inline bool NumberTargetPartitionsHasBeenSet() const { return m_numberTargetPartitionsHasBeenSet; }
228 template <typename NumberTargetPartitionsT = Aws::String>
229 void SetNumberTargetPartitions(NumberTargetPartitionsT&& value) {
230 m_numberTargetPartitionsHasBeenSet = true;
231 m_numberTargetPartitions = std::forward<NumberTargetPartitionsT>(value);
232 }
233 template <typename NumberTargetPartitionsT = Aws::String>
234 S3IcebergDirectTarget& WithNumberTargetPartitions(NumberTargetPartitionsT&& value) {
235 SetNumberTargetPartitions(std::forward<NumberTargetPartitionsT>(value));
236 return *this;
237 }
239
241
244 inline const Aws::Vector<GlueSchema>& GetOutputSchemas() const { return m_outputSchemas; }
245 inline bool OutputSchemasHasBeenSet() const { return m_outputSchemasHasBeenSet; }
246 template <typename OutputSchemasT = Aws::Vector<GlueSchema>>
247 void SetOutputSchemas(OutputSchemasT&& value) {
248 m_outputSchemasHasBeenSet = true;
249 m_outputSchemas = std::forward<OutputSchemasT>(value);
250 }
251 template <typename OutputSchemasT = Aws::Vector<GlueSchema>>
252 S3IcebergDirectTarget& WithOutputSchemas(OutputSchemasT&& value) {
253 SetOutputSchemas(std::forward<OutputSchemasT>(value));
254 return *this;
255 }
256 template <typename OutputSchemasT = GlueSchema>
257 S3IcebergDirectTarget& AddOutputSchemas(OutputSchemasT&& value) {
258 m_outputSchemasHasBeenSet = true;
259 m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value));
260 return *this;
261 }
263 private:
264 Aws::String m_name;
265 bool m_nameHasBeenSet = false;
266
268 bool m_inputsHasBeenSet = false;
269
271 bool m_partitionKeysHasBeenSet = false;
272
273 Aws::String m_path;
274 bool m_pathHasBeenSet = false;
275
277 bool m_formatHasBeenSet = false;
278
279 Aws::Map<Aws::String, Aws::String> m_additionalOptions;
280 bool m_additionalOptionsHasBeenSet = false;
281
282 DirectSchemaChangePolicy m_schemaChangePolicy;
283 bool m_schemaChangePolicyHasBeenSet = false;
284
285 AutoDataQuality m_autoDataQuality;
286 bool m_autoDataQualityHasBeenSet = false;
287
289 bool m_compressionHasBeenSet = false;
290
291 Aws::String m_numberTargetPartitions;
292 bool m_numberTargetPartitionsHasBeenSet = false;
293
294 Aws::Vector<GlueSchema> m_outputSchemas;
295 bool m_outputSchemasHasBeenSet = false;
296};
297
298} // namespace Model
299} // namespace Glue
300} // namespace Aws
S3IcebergDirectTarget & AddOutputSchemas(OutputSchemasT &&value)
S3IcebergDirectTarget & AddAdditionalOptions(AdditionalOptionsKeyT &&key, AdditionalOptionsValueT &&value)
void SetNumberTargetPartitions(NumberTargetPartitionsT &&value)
const Aws::String & GetNumberTargetPartitions() const
S3IcebergDirectTarget & WithCompression(IcebergTargetCompressionType value)
S3IcebergDirectTarget & WithAdditionalOptions(AdditionalOptionsT &&value)
const Aws::Vector< Aws::Vector< Aws::String > > & GetPartitionKeys() const
S3IcebergDirectTarget & AddInputs(InputsT &&value)
void SetSchemaChangePolicy(SchemaChangePolicyT &&value)
S3IcebergDirectTarget & WithInputs(InputsT &&value)
S3IcebergDirectTarget & WithSchemaChangePolicy(SchemaChangePolicyT &&value)
void SetPartitionKeys(PartitionKeysT &&value)
S3IcebergDirectTarget & WithNumberTargetPartitions(NumberTargetPartitionsT &&value)
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
S3IcebergDirectTarget & AddPartitionKeys(PartitionKeysT &&value)
AWS_GLUE_API S3IcebergDirectTarget & operator=(Aws::Utils::Json::JsonView jsonValue)
S3IcebergDirectTarget & WithFormat(TargetFormat value)
void SetCompression(IcebergTargetCompressionType value)
void SetAdditionalOptions(AdditionalOptionsT &&value)
S3IcebergDirectTarget & WithAutoDataQuality(AutoDataQualityT &&value)
void SetAutoDataQuality(AutoDataQualityT &&value)
S3IcebergDirectTarget & WithName(NameT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAdditionalOptions() const
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