AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Field.h
1
6#pragma once
7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/glue/model/FieldDataType.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/glue/model/FieldFilterOperator.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Glue
26{
27namespace Model
28{
29
36 class Field
37 {
38 public:
39 AWS_GLUE_API Field() = default;
40 AWS_GLUE_API Field(Aws::Utils::Json::JsonView jsonValue);
41 AWS_GLUE_API Field& operator=(Aws::Utils::Json::JsonView jsonValue);
43
44
46
49 inline const Aws::String& GetFieldName() const { return m_fieldName; }
50 inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; }
51 template<typename FieldNameT = Aws::String>
52 void SetFieldName(FieldNameT&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::forward<FieldNameT>(value); }
53 template<typename FieldNameT = Aws::String>
54 Field& WithFieldName(FieldNameT&& value) { SetFieldName(std::forward<FieldNameT>(value)); return *this;}
56
58
61 inline const Aws::String& GetLabel() const { return m_label; }
62 inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
63 template<typename LabelT = Aws::String>
64 void SetLabel(LabelT&& value) { m_labelHasBeenSet = true; m_label = std::forward<LabelT>(value); }
65 template<typename LabelT = Aws::String>
66 Field& WithLabel(LabelT&& value) { SetLabel(std::forward<LabelT>(value)); return *this;}
68
70
73 inline const Aws::String& GetDescription() const { return m_description; }
74 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
75 template<typename DescriptionT = Aws::String>
76 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
77 template<typename DescriptionT = Aws::String>
78 Field& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
80
82
85 inline FieldDataType GetFieldType() const { return m_fieldType; }
86 inline bool FieldTypeHasBeenSet() const { return m_fieldTypeHasBeenSet; }
87 inline void SetFieldType(FieldDataType value) { m_fieldTypeHasBeenSet = true; m_fieldType = value; }
88 inline Field& WithFieldType(FieldDataType value) { SetFieldType(value); return *this;}
90
92
96 inline bool GetIsPrimaryKey() const { return m_isPrimaryKey; }
97 inline bool IsPrimaryKeyHasBeenSet() const { return m_isPrimaryKeyHasBeenSet; }
98 inline void SetIsPrimaryKey(bool value) { m_isPrimaryKeyHasBeenSet = true; m_isPrimaryKey = value; }
99 inline Field& WithIsPrimaryKey(bool value) { SetIsPrimaryKey(value); return *this;}
101
103
106 inline bool GetIsNullable() const { return m_isNullable; }
107 inline bool IsNullableHasBeenSet() const { return m_isNullableHasBeenSet; }
108 inline void SetIsNullable(bool value) { m_isNullableHasBeenSet = true; m_isNullable = value; }
109 inline Field& WithIsNullable(bool value) { SetIsNullable(value); return *this;}
111
113
117 inline bool GetIsRetrievable() const { return m_isRetrievable; }
118 inline bool IsRetrievableHasBeenSet() const { return m_isRetrievableHasBeenSet; }
119 inline void SetIsRetrievable(bool value) { m_isRetrievableHasBeenSet = true; m_isRetrievable = value; }
120 inline Field& WithIsRetrievable(bool value) { SetIsRetrievable(value); return *this;}
122
124
128 inline bool GetIsFilterable() const { return m_isFilterable; }
129 inline bool IsFilterableHasBeenSet() const { return m_isFilterableHasBeenSet; }
130 inline void SetIsFilterable(bool value) { m_isFilterableHasBeenSet = true; m_isFilterable = value; }
131 inline Field& WithIsFilterable(bool value) { SetIsFilterable(value); return *this;}
133
135
139 inline bool GetIsPartitionable() const { return m_isPartitionable; }
140 inline bool IsPartitionableHasBeenSet() const { return m_isPartitionableHasBeenSet; }
141 inline void SetIsPartitionable(bool value) { m_isPartitionableHasBeenSet = true; m_isPartitionable = value; }
142 inline Field& WithIsPartitionable(bool value) { SetIsPartitionable(value); return *this;}
144
146
150 inline bool GetIsCreateable() const { return m_isCreateable; }
151 inline bool IsCreateableHasBeenSet() const { return m_isCreateableHasBeenSet; }
152 inline void SetIsCreateable(bool value) { m_isCreateableHasBeenSet = true; m_isCreateable = value; }
153 inline Field& WithIsCreateable(bool value) { SetIsCreateable(value); return *this;}
155
157
161 inline bool GetIsUpdateable() const { return m_isUpdateable; }
162 inline bool IsUpdateableHasBeenSet() const { return m_isUpdateableHasBeenSet; }
163 inline void SetIsUpdateable(bool value) { m_isUpdateableHasBeenSet = true; m_isUpdateable = value; }
164 inline Field& WithIsUpdateable(bool value) { SetIsUpdateable(value); return *this;}
166
168
172 inline bool GetIsUpsertable() const { return m_isUpsertable; }
173 inline bool IsUpsertableHasBeenSet() const { return m_isUpsertableHasBeenSet; }
174 inline void SetIsUpsertable(bool value) { m_isUpsertableHasBeenSet = true; m_isUpsertable = value; }
175 inline Field& WithIsUpsertable(bool value) { SetIsUpsertable(value); return *this;}
177
179
183 inline bool GetIsDefaultOnCreate() const { return m_isDefaultOnCreate; }
184 inline bool IsDefaultOnCreateHasBeenSet() const { return m_isDefaultOnCreateHasBeenSet; }
185 inline void SetIsDefaultOnCreate(bool value) { m_isDefaultOnCreateHasBeenSet = true; m_isDefaultOnCreate = value; }
186 inline Field& WithIsDefaultOnCreate(bool value) { SetIsDefaultOnCreate(value); return *this;}
188
190
193 inline const Aws::Vector<Aws::String>& GetSupportedValues() const { return m_supportedValues; }
194 inline bool SupportedValuesHasBeenSet() const { return m_supportedValuesHasBeenSet; }
195 template<typename SupportedValuesT = Aws::Vector<Aws::String>>
196 void SetSupportedValues(SupportedValuesT&& value) { m_supportedValuesHasBeenSet = true; m_supportedValues = std::forward<SupportedValuesT>(value); }
197 template<typename SupportedValuesT = Aws::Vector<Aws::String>>
198 Field& WithSupportedValues(SupportedValuesT&& value) { SetSupportedValues(std::forward<SupportedValuesT>(value)); return *this;}
199 template<typename SupportedValuesT = Aws::String>
200 Field& AddSupportedValues(SupportedValuesT&& value) { m_supportedValuesHasBeenSet = true; m_supportedValues.emplace_back(std::forward<SupportedValuesT>(value)); return *this; }
202
204
207 inline const Aws::Vector<FieldFilterOperator>& GetSupportedFilterOperators() const { return m_supportedFilterOperators; }
208 inline bool SupportedFilterOperatorsHasBeenSet() const { return m_supportedFilterOperatorsHasBeenSet; }
209 template<typename SupportedFilterOperatorsT = Aws::Vector<FieldFilterOperator>>
210 void SetSupportedFilterOperators(SupportedFilterOperatorsT&& value) { m_supportedFilterOperatorsHasBeenSet = true; m_supportedFilterOperators = std::forward<SupportedFilterOperatorsT>(value); }
211 template<typename SupportedFilterOperatorsT = Aws::Vector<FieldFilterOperator>>
212 Field& WithSupportedFilterOperators(SupportedFilterOperatorsT&& value) { SetSupportedFilterOperators(std::forward<SupportedFilterOperatorsT>(value)); return *this;}
213 inline Field& AddSupportedFilterOperators(FieldFilterOperator value) { m_supportedFilterOperatorsHasBeenSet = true; m_supportedFilterOperators.push_back(value); return *this; }
215
217
220 inline const Aws::String& GetParentField() const { return m_parentField; }
221 inline bool ParentFieldHasBeenSet() const { return m_parentFieldHasBeenSet; }
222 template<typename ParentFieldT = Aws::String>
223 void SetParentField(ParentFieldT&& value) { m_parentFieldHasBeenSet = true; m_parentField = std::forward<ParentFieldT>(value); }
224 template<typename ParentFieldT = Aws::String>
225 Field& WithParentField(ParentFieldT&& value) { SetParentField(std::forward<ParentFieldT>(value)); return *this;}
227
229
233 inline const Aws::String& GetNativeDataType() const { return m_nativeDataType; }
234 inline bool NativeDataTypeHasBeenSet() const { return m_nativeDataTypeHasBeenSet; }
235 template<typename NativeDataTypeT = Aws::String>
236 void SetNativeDataType(NativeDataTypeT&& value) { m_nativeDataTypeHasBeenSet = true; m_nativeDataType = std::forward<NativeDataTypeT>(value); }
237 template<typename NativeDataTypeT = Aws::String>
238 Field& WithNativeDataType(NativeDataTypeT&& value) { SetNativeDataType(std::forward<NativeDataTypeT>(value)); return *this;}
240
242
245 inline const Aws::Map<Aws::String, Aws::String>& GetCustomProperties() const { return m_customProperties; }
246 inline bool CustomPropertiesHasBeenSet() const { return m_customPropertiesHasBeenSet; }
247 template<typename CustomPropertiesT = Aws::Map<Aws::String, Aws::String>>
248 void SetCustomProperties(CustomPropertiesT&& value) { m_customPropertiesHasBeenSet = true; m_customProperties = std::forward<CustomPropertiesT>(value); }
249 template<typename CustomPropertiesT = Aws::Map<Aws::String, Aws::String>>
250 Field& WithCustomProperties(CustomPropertiesT&& value) { SetCustomProperties(std::forward<CustomPropertiesT>(value)); return *this;}
251 template<typename CustomPropertiesKeyT = Aws::String, typename CustomPropertiesValueT = Aws::String>
252 Field& AddCustomProperties(CustomPropertiesKeyT&& key, CustomPropertiesValueT&& value) {
253 m_customPropertiesHasBeenSet = true; m_customProperties.emplace(std::forward<CustomPropertiesKeyT>(key), std::forward<CustomPropertiesValueT>(value)); return *this;
254 }
256 private:
257
258 Aws::String m_fieldName;
259 bool m_fieldNameHasBeenSet = false;
260
261 Aws::String m_label;
262 bool m_labelHasBeenSet = false;
263
264 Aws::String m_description;
265 bool m_descriptionHasBeenSet = false;
266
268 bool m_fieldTypeHasBeenSet = false;
269
270 bool m_isPrimaryKey{false};
271 bool m_isPrimaryKeyHasBeenSet = false;
272
273 bool m_isNullable{false};
274 bool m_isNullableHasBeenSet = false;
275
276 bool m_isRetrievable{false};
277 bool m_isRetrievableHasBeenSet = false;
278
279 bool m_isFilterable{false};
280 bool m_isFilterableHasBeenSet = false;
281
282 bool m_isPartitionable{false};
283 bool m_isPartitionableHasBeenSet = false;
284
285 bool m_isCreateable{false};
286 bool m_isCreateableHasBeenSet = false;
287
288 bool m_isUpdateable{false};
289 bool m_isUpdateableHasBeenSet = false;
290
291 bool m_isUpsertable{false};
292 bool m_isUpsertableHasBeenSet = false;
293
294 bool m_isDefaultOnCreate{false};
295 bool m_isDefaultOnCreateHasBeenSet = false;
296
297 Aws::Vector<Aws::String> m_supportedValues;
298 bool m_supportedValuesHasBeenSet = false;
299
300 Aws::Vector<FieldFilterOperator> m_supportedFilterOperators;
301 bool m_supportedFilterOperatorsHasBeenSet = false;
302
303 Aws::String m_parentField;
304 bool m_parentFieldHasBeenSet = false;
305
306 Aws::String m_nativeDataType;
307 bool m_nativeDataTypeHasBeenSet = false;
308
309 Aws::Map<Aws::String, Aws::String> m_customProperties;
310 bool m_customPropertiesHasBeenSet = false;
311 };
312
313} // namespace Model
314} // namespace Glue
315} // namespace Aws
AWS_GLUE_API Field & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetDescription(DescriptionT &&value)
Definition Field.h:76
bool ParentFieldHasBeenSet() const
Definition Field.h:221
bool IsRetrievableHasBeenSet() const
Definition Field.h:118
void SetIsNullable(bool value)
Definition Field.h:108
const Aws::String & GetParentField() const
Definition Field.h:220
const Aws::String & GetFieldName() const
Definition Field.h:49
Field & WithIsNullable(bool value)
Definition Field.h:109
bool IsNullableHasBeenSet() const
Definition Field.h:107
void SetFieldType(FieldDataType value)
Definition Field.h:87
bool GetIsDefaultOnCreate() const
Definition Field.h:183
bool FieldNameHasBeenSet() const
Definition Field.h:50
AWS_GLUE_API Field(Aws::Utils::Json::JsonView jsonValue)
void SetIsCreateable(bool value)
Definition Field.h:152
Field & WithSupportedValues(SupportedValuesT &&value)
Definition Field.h:198
Field & WithIsUpdateable(bool value)
Definition Field.h:164
bool IsDefaultOnCreateHasBeenSet() const
Definition Field.h:184
void SetSupportedFilterOperators(SupportedFilterOperatorsT &&value)
Definition Field.h:210
bool IsUpdateableHasBeenSet() const
Definition Field.h:162
bool GetIsRetrievable() const
Definition Field.h:117
Field & WithIsPartitionable(bool value)
Definition Field.h:142
void SetIsDefaultOnCreate(bool value)
Definition Field.h:185
bool NativeDataTypeHasBeenSet() const
Definition Field.h:234
Field & WithFieldName(FieldNameT &&value)
Definition Field.h:54
bool IsUpsertableHasBeenSet() const
Definition Field.h:173
const Aws::String & GetNativeDataType() const
Definition Field.h:233
void SetNativeDataType(NativeDataTypeT &&value)
Definition Field.h:236
bool IsPartitionableHasBeenSet() const
Definition Field.h:140
Field & WithCustomProperties(CustomPropertiesT &&value)
Definition Field.h:250
Field & WithIsPrimaryKey(bool value)
Definition Field.h:99
bool IsFilterableHasBeenSet() const
Definition Field.h:129
bool IsCreateableHasBeenSet() const
Definition Field.h:151
void SetIsPartitionable(bool value)
Definition Field.h:141
Field & WithFieldType(FieldDataType value)
Definition Field.h:88
const Aws::Vector< FieldFilterOperator > & GetSupportedFilterOperators() const
Definition Field.h:207
AWS_GLUE_API Field()=default
Field & WithIsRetrievable(bool value)
Definition Field.h:120
Field & WithNativeDataType(NativeDataTypeT &&value)
Definition Field.h:238
bool IsPrimaryKeyHasBeenSet() const
Definition Field.h:97
Field & WithLabel(LabelT &&value)
Definition Field.h:66
void SetSupportedValues(SupportedValuesT &&value)
Definition Field.h:196
void SetIsUpdateable(bool value)
Definition Field.h:163
bool SupportedFilterOperatorsHasBeenSet() const
Definition Field.h:208
Field & WithIsDefaultOnCreate(bool value)
Definition Field.h:186
const Aws::Map< Aws::String, Aws::String > & GetCustomProperties() const
Definition Field.h:245
bool CustomPropertiesHasBeenSet() const
Definition Field.h:246
FieldDataType GetFieldType() const
Definition Field.h:85
bool GetIsPrimaryKey() const
Definition Field.h:96
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
bool GetIsNullable() const
Definition Field.h:106
void SetIsPrimaryKey(bool value)
Definition Field.h:98
void SetParentField(ParentFieldT &&value)
Definition Field.h:223
bool GetIsFilterable() const
Definition Field.h:128
void SetFieldName(FieldNameT &&value)
Definition Field.h:52
Field & WithIsCreateable(bool value)
Definition Field.h:153
Field & WithIsUpsertable(bool value)
Definition Field.h:175
bool GetIsUpsertable() const
Definition Field.h:172
bool SupportedValuesHasBeenSet() const
Definition Field.h:194
bool FieldTypeHasBeenSet() const
Definition Field.h:86
void SetIsUpsertable(bool value)
Definition Field.h:174
bool DescriptionHasBeenSet() const
Definition Field.h:74
const Aws::String & GetLabel() const
Definition Field.h:61
const Aws::String & GetDescription() const
Definition Field.h:73
bool LabelHasBeenSet() const
Definition Field.h:62
Field & WithSupportedFilterOperators(SupportedFilterOperatorsT &&value)
Definition Field.h:212
void SetIsRetrievable(bool value)
Definition Field.h:119
bool GetIsCreateable() const
Definition Field.h:150
bool GetIsPartitionable() const
Definition Field.h:139
Field & WithParentField(ParentFieldT &&value)
Definition Field.h:225
Field & AddCustomProperties(CustomPropertiesKeyT &&key, CustomPropertiesValueT &&value)
Definition Field.h:252
void SetIsFilterable(bool value)
Definition Field.h:130
Field & AddSupportedFilterOperators(FieldFilterOperator value)
Definition Field.h:213
Field & WithDescription(DescriptionT &&value)
Definition Field.h:78
bool GetIsUpdateable() const
Definition Field.h:161
void SetCustomProperties(CustomPropertiesT &&value)
Definition Field.h:248
Field & WithIsFilterable(bool value)
Definition Field.h:131
void SetLabel(LabelT &&value)
Definition Field.h:64
const Aws::Vector< Aws::String > & GetSupportedValues() const
Definition Field.h:193
Field & AddSupportedValues(SupportedValuesT &&value)
Definition Field.h:200
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