AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
IcebergTableUpdate.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/glue/Glue_EXPORTS.h>
10#include <aws/glue/model/IcebergEncryptedKey.h>
11#include <aws/glue/model/IcebergPartitionSpec.h>
12#include <aws/glue/model/IcebergSchema.h>
13#include <aws/glue/model/IcebergSortOrder.h>
14#include <aws/glue/model/IcebergUpdateAction.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Glue {
26namespace Model {
27
36 public:
37 AWS_GLUE_API IcebergTableUpdate() = default;
41
43
47 inline const IcebergSchema& GetSchema() const { return m_schema; }
48 inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; }
49 template <typename SchemaT = IcebergSchema>
50 void SetSchema(SchemaT&& value) {
51 m_schemaHasBeenSet = true;
52 m_schema = std::forward<SchemaT>(value);
53 }
54 template <typename SchemaT = IcebergSchema>
55 IcebergTableUpdate& WithSchema(SchemaT&& value) {
56 SetSchema(std::forward<SchemaT>(value));
57 return *this;
58 }
60
62
66 inline const IcebergPartitionSpec& GetPartitionSpec() const { return m_partitionSpec; }
67 inline bool PartitionSpecHasBeenSet() const { return m_partitionSpecHasBeenSet; }
68 template <typename PartitionSpecT = IcebergPartitionSpec>
69 void SetPartitionSpec(PartitionSpecT&& value) {
70 m_partitionSpecHasBeenSet = true;
71 m_partitionSpec = std::forward<PartitionSpecT>(value);
72 }
73 template <typename PartitionSpecT = IcebergPartitionSpec>
74 IcebergTableUpdate& WithPartitionSpec(PartitionSpecT&& value) {
75 SetPartitionSpec(std::forward<PartitionSpecT>(value));
76 return *this;
77 }
79
81
85 inline const IcebergSortOrder& GetSortOrder() const { return m_sortOrder; }
86 inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; }
87 template <typename SortOrderT = IcebergSortOrder>
88 void SetSortOrder(SortOrderT&& value) {
89 m_sortOrderHasBeenSet = true;
90 m_sortOrder = std::forward<SortOrderT>(value);
91 }
92 template <typename SortOrderT = IcebergSortOrder>
93 IcebergTableUpdate& WithSortOrder(SortOrderT&& value) {
94 SetSortOrder(std::forward<SortOrderT>(value));
95 return *this;
96 }
98
100
103 inline const Aws::String& GetLocation() const { return m_location; }
104 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
105 template <typename LocationT = Aws::String>
106 void SetLocation(LocationT&& value) {
107 m_locationHasBeenSet = true;
108 m_location = std::forward<LocationT>(value);
109 }
110 template <typename LocationT = Aws::String>
111 IcebergTableUpdate& WithLocation(LocationT&& value) {
112 SetLocation(std::forward<LocationT>(value));
113 return *this;
114 }
116
118
122 inline const Aws::Map<Aws::String, Aws::String>& GetProperties() const { return m_properties; }
123 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
124 template <typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
125 void SetProperties(PropertiesT&& value) {
126 m_propertiesHasBeenSet = true;
127 m_properties = std::forward<PropertiesT>(value);
128 }
129 template <typename PropertiesT = Aws::Map<Aws::String, Aws::String>>
130 IcebergTableUpdate& WithProperties(PropertiesT&& value) {
131 SetProperties(std::forward<PropertiesT>(value));
132 return *this;
133 }
134 template <typename PropertiesKeyT = Aws::String, typename PropertiesValueT = Aws::String>
135 IcebergTableUpdate& AddProperties(PropertiesKeyT&& key, PropertiesValueT&& value) {
136 m_propertiesHasBeenSet = true;
137 m_properties.emplace(std::forward<PropertiesKeyT>(key), std::forward<PropertiesValueT>(value));
138 return *this;
139 }
141
143
148 inline IcebergUpdateAction GetAction() const { return m_action; }
149 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
150 inline void SetAction(IcebergUpdateAction value) {
151 m_actionHasBeenSet = true;
152 m_action = value;
153 }
155 SetAction(value);
156 return *this;
157 }
159
161
166 inline const IcebergEncryptedKey& GetEncryptionKey() const { return m_encryptionKey; }
167 inline bool EncryptionKeyHasBeenSet() const { return m_encryptionKeyHasBeenSet; }
168 template <typename EncryptionKeyT = IcebergEncryptedKey>
169 void SetEncryptionKey(EncryptionKeyT&& value) {
170 m_encryptionKeyHasBeenSet = true;
171 m_encryptionKey = std::forward<EncryptionKeyT>(value);
172 }
173 template <typename EncryptionKeyT = IcebergEncryptedKey>
174 IcebergTableUpdate& WithEncryptionKey(EncryptionKeyT&& value) {
175 SetEncryptionKey(std::forward<EncryptionKeyT>(value));
176 return *this;
177 }
179
181
186 inline const Aws::String& GetKeyId() const { return m_keyId; }
187 inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
188 template <typename KeyIdT = Aws::String>
189 void SetKeyId(KeyIdT&& value) {
190 m_keyIdHasBeenSet = true;
191 m_keyId = std::forward<KeyIdT>(value);
192 }
193 template <typename KeyIdT = Aws::String>
194 IcebergTableUpdate& WithKeyId(KeyIdT&& value) {
195 SetKeyId(std::forward<KeyIdT>(value));
196 return *this;
197 }
199 private:
200 IcebergSchema m_schema;
201
202 IcebergPartitionSpec m_partitionSpec;
203
204 IcebergSortOrder m_sortOrder;
205
206 Aws::String m_location;
207
209
211
212 IcebergEncryptedKey m_encryptionKey;
213
214 Aws::String m_keyId;
215 bool m_schemaHasBeenSet = false;
216 bool m_partitionSpecHasBeenSet = false;
217 bool m_sortOrderHasBeenSet = false;
218 bool m_locationHasBeenSet = false;
219 bool m_propertiesHasBeenSet = false;
220 bool m_actionHasBeenSet = false;
221 bool m_encryptionKeyHasBeenSet = false;
222 bool m_keyIdHasBeenSet = false;
223};
224
225} // namespace Model
226} // namespace Glue
227} // namespace Aws
AWS_GLUE_API IcebergTableUpdate()=default
IcebergTableUpdate & WithAction(IcebergUpdateAction value)
IcebergTableUpdate & WithProperties(PropertiesT &&value)
IcebergTableUpdate & WithSchema(SchemaT &&value)
IcebergTableUpdate & WithKeyId(KeyIdT &&value)
const IcebergSortOrder & GetSortOrder() const
void SetPartitionSpec(PartitionSpecT &&value)
const Aws::String & GetLocation() const
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetEncryptionKey(EncryptionKeyT &&value)
IcebergTableUpdate & WithSortOrder(SortOrderT &&value)
AWS_GLUE_API IcebergTableUpdate(Aws::Utils::Json::JsonView jsonValue)
IcebergTableUpdate & WithPartitionSpec(PartitionSpecT &&value)
const IcebergSchema & GetSchema() const
void SetAction(IcebergUpdateAction value)
const IcebergPartitionSpec & GetPartitionSpec() const
IcebergTableUpdate & WithLocation(LocationT &&value)
IcebergUpdateAction GetAction() const
void SetProperties(PropertiesT &&value)
IcebergTableUpdate & WithEncryptionKey(EncryptionKeyT &&value)
const Aws::Map< Aws::String, Aws::String > & GetProperties() const
const Aws::String & GetKeyId() const
AWS_GLUE_API IcebergTableUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
const IcebergEncryptedKey & GetEncryptionKey() const
IcebergTableUpdate & AddProperties(PropertiesKeyT &&key, PropertiesValueT &&value)
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
Aws::Utils::Json::JsonValue JsonValue