AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
IcebergSchema.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/s3tables/S3Tables_EXPORTS.h>
9#include <aws/s3tables/model/SchemaField.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace S3Tables {
21namespace Model {
22
30 public:
31 AWS_S3TABLES_API IcebergSchema() = default;
32 AWS_S3TABLES_API IcebergSchema(Aws::Utils::Json::JsonView jsonValue);
34 AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::Vector<SchemaField>& GetFields() const { return m_fields; }
41 inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; }
42 template <typename FieldsT = Aws::Vector<SchemaField>>
43 void SetFields(FieldsT&& value) {
44 m_fieldsHasBeenSet = true;
45 m_fields = std::forward<FieldsT>(value);
46 }
47 template <typename FieldsT = Aws::Vector<SchemaField>>
48 IcebergSchema& WithFields(FieldsT&& value) {
49 SetFields(std::forward<FieldsT>(value));
50 return *this;
51 }
52 template <typename FieldsT = SchemaField>
53 IcebergSchema& AddFields(FieldsT&& value) {
54 m_fieldsHasBeenSet = true;
55 m_fields.emplace_back(std::forward<FieldsT>(value));
56 return *this;
57 }
59 private:
61 bool m_fieldsHasBeenSet = false;
62};
63
64} // namespace Model
65} // namespace S3Tables
66} // namespace Aws
IcebergSchema & AddFields(FieldsT &&value)
AWS_S3TABLES_API IcebergSchema(Aws::Utils::Json::JsonView jsonValue)
IcebergSchema & WithFields(FieldsT &&value)
AWS_S3TABLES_API IcebergSchema()=default
const Aws::Vector< SchemaField > & GetFields() const
AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_S3TABLES_API IcebergSchema & operator=(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue