AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
IcebergSchema.h
1
6#pragma once
7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/glue/model/IcebergStructTypeEnum.h>
10#include <aws/glue/model/IcebergStructField.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Glue
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_GLUE_API IcebergSchema() = default;
41
42
44
48 inline int GetSchemaId() const { return m_schemaId; }
49 inline bool SchemaIdHasBeenSet() const { return m_schemaIdHasBeenSet; }
50 inline void SetSchemaId(int value) { m_schemaIdHasBeenSet = true; m_schemaId = value; }
51 inline IcebergSchema& WithSchemaId(int value) { SetSchemaId(value); return *this;}
53
55
59 inline const Aws::Vector<int>& GetIdentifierFieldIds() const { return m_identifierFieldIds; }
60 inline bool IdentifierFieldIdsHasBeenSet() const { return m_identifierFieldIdsHasBeenSet; }
61 template<typename IdentifierFieldIdsT = Aws::Vector<int>>
62 void SetIdentifierFieldIds(IdentifierFieldIdsT&& value) { m_identifierFieldIdsHasBeenSet = true; m_identifierFieldIds = std::forward<IdentifierFieldIdsT>(value); }
63 template<typename IdentifierFieldIdsT = Aws::Vector<int>>
64 IcebergSchema& WithIdentifierFieldIds(IdentifierFieldIdsT&& value) { SetIdentifierFieldIds(std::forward<IdentifierFieldIdsT>(value)); return *this;}
65 inline IcebergSchema& AddIdentifierFieldIds(int value) { m_identifierFieldIdsHasBeenSet = true; m_identifierFieldIds.push_back(value); return *this; }
67
69
73 inline IcebergStructTypeEnum GetType() const { return m_type; }
74 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
75 inline void SetType(IcebergStructTypeEnum value) { m_typeHasBeenSet = true; m_type = value; }
76 inline IcebergSchema& WithType(IcebergStructTypeEnum value) { SetType(value); return *this;}
78
80
84 inline const Aws::Vector<IcebergStructField>& GetFields() const { return m_fields; }
85 inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; }
86 template<typename FieldsT = Aws::Vector<IcebergStructField>>
87 void SetFields(FieldsT&& value) { m_fieldsHasBeenSet = true; m_fields = std::forward<FieldsT>(value); }
88 template<typename FieldsT = Aws::Vector<IcebergStructField>>
89 IcebergSchema& WithFields(FieldsT&& value) { SetFields(std::forward<FieldsT>(value)); return *this;}
90 template<typename FieldsT = IcebergStructField>
91 IcebergSchema& AddFields(FieldsT&& value) { m_fieldsHasBeenSet = true; m_fields.emplace_back(std::forward<FieldsT>(value)); return *this; }
93 private:
94
95 int m_schemaId{0};
96 bool m_schemaIdHasBeenSet = false;
97
98 Aws::Vector<int> m_identifierFieldIds;
99 bool m_identifierFieldIdsHasBeenSet = false;
100
102 bool m_typeHasBeenSet = false;
103
105 bool m_fieldsHasBeenSet = false;
106 };
107
108} // namespace Model
109} // namespace Glue
110} // namespace Aws
AWS_GLUE_API IcebergSchema(Aws::Utils::Json::JsonView jsonValue)
IcebergStructTypeEnum GetType() const
void SetType(IcebergStructTypeEnum value)
AWS_GLUE_API IcebergSchema()=default
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
IcebergSchema & WithIdentifierFieldIds(IdentifierFieldIdsT &&value)
IcebergSchema & WithType(IcebergStructTypeEnum value)
IcebergSchema & WithSchemaId(int value)
IcebergSchema & AddIdentifierFieldIds(int value)
const Aws::Vector< IcebergStructField > & GetFields() const
const Aws::Vector< int > & GetIdentifierFieldIds() const
IcebergSchema & AddFields(FieldsT &&value)
void SetIdentifierFieldIds(IdentifierFieldIdsT &&value)
AWS_GLUE_API IcebergSchema & operator=(Aws::Utils::Json::JsonView jsonValue)
IcebergSchema & WithFields(FieldsT &&value)
void SetFields(FieldsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue