AWS SDK for C++

AWS SDK for C++ Version 1.11.637

Loading...
Searching...
No Matches
S3IcebergDirectTarget.h
1
6#pragma once
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>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace Glue
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_GLUE_API S3IcebergDirectTarget() = default;
46
47
49
53 inline const Aws::String& GetName() const { return m_name; }
54 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
58 S3IcebergDirectTarget& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
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) { m_inputsHasBeenSet = true; m_inputs = std::forward<InputsT>(value); }
70 template<typename InputsT = Aws::Vector<Aws::String>>
71 S3IcebergDirectTarget& WithInputs(InputsT&& value) { SetInputs(std::forward<InputsT>(value)); return *this;}
72 template<typename InputsT = Aws::String>
73 S3IcebergDirectTarget& AddInputs(InputsT&& value) { m_inputsHasBeenSet = true; m_inputs.emplace_back(std::forward<InputsT>(value)); return *this; }
75
77
80 inline const Aws::Vector<Aws::Vector<Aws::String>>& GetPartitionKeys() const { return m_partitionKeys; }
81 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
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>>>
85 S3IcebergDirectTarget& WithPartitionKeys(PartitionKeysT&& value) { SetPartitionKeys(std::forward<PartitionKeysT>(value)); return *this;}
86 template<typename PartitionKeysT = Aws::Vector<Aws::String>>
87 S3IcebergDirectTarget& AddPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value)); return *this; }
89
91
94 inline const Aws::String& GetPath() const { return m_path; }
95 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
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>
99 S3IcebergDirectTarget& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
101
103
107 inline TargetFormat GetFormat() const { return m_format; }
108 inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
109 inline void SetFormat(TargetFormat value) { m_formatHasBeenSet = true; m_format = value; }
110 inline S3IcebergDirectTarget& WithFormat(TargetFormat value) { SetFormat(value); return *this;}
112
114
118 inline const Aws::Map<Aws::String, Aws::String>& GetAdditionalOptions() const { return m_additionalOptions; }
119 inline bool AdditionalOptionsHasBeenSet() const { return m_additionalOptionsHasBeenSet; }
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>>
123 S3IcebergDirectTarget& WithAdditionalOptions(AdditionalOptionsT&& value) { SetAdditionalOptions(std::forward<AdditionalOptionsT>(value)); return *this;}
124 template<typename AdditionalOptionsKeyT = Aws::String, typename AdditionalOptionsValueT = Aws::String>
125 S3IcebergDirectTarget& AddAdditionalOptions(AdditionalOptionsKeyT&& key, AdditionalOptionsValueT&& value) {
126 m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::forward<AdditionalOptionsKeyT>(key), std::forward<AdditionalOptionsValueT>(value)); return *this;
127 }
129
131
135 inline const DirectSchemaChangePolicy& GetSchemaChangePolicy() const { return m_schemaChangePolicy; }
136 inline bool SchemaChangePolicyHasBeenSet() const { return m_schemaChangePolicyHasBeenSet; }
137 template<typename SchemaChangePolicyT = DirectSchemaChangePolicy>
138 void SetSchemaChangePolicy(SchemaChangePolicyT&& value) { m_schemaChangePolicyHasBeenSet = true; m_schemaChangePolicy = std::forward<SchemaChangePolicyT>(value); }
139 template<typename SchemaChangePolicyT = DirectSchemaChangePolicy>
140 S3IcebergDirectTarget& WithSchemaChangePolicy(SchemaChangePolicyT&& value) { SetSchemaChangePolicy(std::forward<SchemaChangePolicyT>(value)); return *this;}
142
144
145 inline const AutoDataQuality& GetAutoDataQuality() const { return m_autoDataQuality; }
146 inline bool AutoDataQualityHasBeenSet() const { return m_autoDataQualityHasBeenSet; }
147 template<typename AutoDataQualityT = AutoDataQuality>
148 void SetAutoDataQuality(AutoDataQualityT&& value) { m_autoDataQualityHasBeenSet = true; m_autoDataQuality = std::forward<AutoDataQualityT>(value); }
149 template<typename AutoDataQualityT = AutoDataQuality>
150 S3IcebergDirectTarget& WithAutoDataQuality(AutoDataQualityT&& value) { SetAutoDataQuality(std::forward<AutoDataQualityT>(value)); return *this;}
152
154
157 inline IcebergTargetCompressionType GetCompression() const { return m_compression; }
158 inline bool CompressionHasBeenSet() const { return m_compressionHasBeenSet; }
159 inline void SetCompression(IcebergTargetCompressionType value) { m_compressionHasBeenSet = true; m_compression = value; }
162
164
168 inline const Aws::String& GetNumberTargetPartitions() const { return m_numberTargetPartitions; }
169 inline bool NumberTargetPartitionsHasBeenSet() const { return m_numberTargetPartitionsHasBeenSet; }
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>
173 S3IcebergDirectTarget& WithNumberTargetPartitions(NumberTargetPartitionsT&& value) { SetNumberTargetPartitions(std::forward<NumberTargetPartitionsT>(value)); return *this;}
175
177
180 inline const Aws::Vector<GlueSchema>& GetOutputSchemas() const { return m_outputSchemas; }
181 inline bool OutputSchemasHasBeenSet() const { return m_outputSchemasHasBeenSet; }
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>>
185 S3IcebergDirectTarget& WithOutputSchemas(OutputSchemasT&& value) { SetOutputSchemas(std::forward<OutputSchemasT>(value)); return *this;}
186 template<typename OutputSchemasT = GlueSchema>
187 S3IcebergDirectTarget& AddOutputSchemas(OutputSchemasT&& value) { m_outputSchemasHasBeenSet = true; m_outputSchemas.emplace_back(std::forward<OutputSchemasT>(value)); return *this; }
189 private:
190
191 Aws::String m_name;
192 bool m_nameHasBeenSet = false;
193
195 bool m_inputsHasBeenSet = false;
196
198 bool m_partitionKeysHasBeenSet = false;
199
200 Aws::String m_path;
201 bool m_pathHasBeenSet = false;
202
204 bool m_formatHasBeenSet = false;
205
206 Aws::Map<Aws::String, Aws::String> m_additionalOptions;
207 bool m_additionalOptionsHasBeenSet = false;
208
209 DirectSchemaChangePolicy m_schemaChangePolicy;
210 bool m_schemaChangePolicyHasBeenSet = false;
211
212 AutoDataQuality m_autoDataQuality;
213 bool m_autoDataQualityHasBeenSet = false;
214
216 bool m_compressionHasBeenSet = false;
217
218 Aws::String m_numberTargetPartitions;
219 bool m_numberTargetPartitionsHasBeenSet = false;
220
221 Aws::Vector<GlueSchema> m_outputSchemas;
222 bool m_outputSchemasHasBeenSet = false;
223 };
224
225} // namespace Model
226} // namespace Glue
227} // 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