AWS SDK for C++

AWS SDK for C++ Version 1.11.750

Loading...
Searching...
No Matches
SchemaDefinition.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/finspace-data/FinSpaceData_EXPORTS.h>
10#include <aws/finspace-data/model/ColumnDefinition.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace FinSpaceData {
22namespace Model {
23
30 public:
31 AWS_FINSPACEDATA_API SchemaDefinition() = default;
32 AWS_FINSPACEDATA_API SchemaDefinition(Aws::Utils::Json::JsonView jsonValue);
33 AWS_FINSPACEDATA_API SchemaDefinition& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_FINSPACEDATA_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::Vector<ColumnDefinition>& GetColumns() const { return m_columns; }
41 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
42 template <typename ColumnsT = Aws::Vector<ColumnDefinition>>
43 void SetColumns(ColumnsT&& value) {
44 m_columnsHasBeenSet = true;
45 m_columns = std::forward<ColumnsT>(value);
46 }
47 template <typename ColumnsT = Aws::Vector<ColumnDefinition>>
48 SchemaDefinition& WithColumns(ColumnsT&& value) {
49 SetColumns(std::forward<ColumnsT>(value));
50 return *this;
51 }
52 template <typename ColumnsT = ColumnDefinition>
53 SchemaDefinition& AddColumns(ColumnsT&& value) {
54 m_columnsHasBeenSet = true;
55 m_columns.emplace_back(std::forward<ColumnsT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::Vector<Aws::String>& GetPrimaryKeyColumns() const { return m_primaryKeyColumns; }
65 inline bool PrimaryKeyColumnsHasBeenSet() const { return m_primaryKeyColumnsHasBeenSet; }
66 template <typename PrimaryKeyColumnsT = Aws::Vector<Aws::String>>
67 void SetPrimaryKeyColumns(PrimaryKeyColumnsT&& value) {
68 m_primaryKeyColumnsHasBeenSet = true;
69 m_primaryKeyColumns = std::forward<PrimaryKeyColumnsT>(value);
70 }
71 template <typename PrimaryKeyColumnsT = Aws::Vector<Aws::String>>
72 SchemaDefinition& WithPrimaryKeyColumns(PrimaryKeyColumnsT&& value) {
73 SetPrimaryKeyColumns(std::forward<PrimaryKeyColumnsT>(value));
74 return *this;
75 }
76 template <typename PrimaryKeyColumnsT = Aws::String>
77 SchemaDefinition& AddPrimaryKeyColumns(PrimaryKeyColumnsT&& value) {
78 m_primaryKeyColumnsHasBeenSet = true;
79 m_primaryKeyColumns.emplace_back(std::forward<PrimaryKeyColumnsT>(value));
80 return *this;
81 }
83 private:
85
86 Aws::Vector<Aws::String> m_primaryKeyColumns;
87 bool m_columnsHasBeenSet = false;
88 bool m_primaryKeyColumnsHasBeenSet = false;
89};
90
91} // namespace Model
92} // namespace FinSpaceData
93} // namespace Aws
AWS_FINSPACEDATA_API SchemaDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPrimaryKeyColumns(PrimaryKeyColumnsT &&value)
SchemaDefinition & AddPrimaryKeyColumns(PrimaryKeyColumnsT &&value)
SchemaDefinition & AddColumns(ColumnsT &&value)
AWS_FINSPACEDATA_API SchemaDefinition(Aws::Utils::Json::JsonView jsonValue)
AWS_FINSPACEDATA_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< ColumnDefinition > & GetColumns() const
SchemaDefinition & WithPrimaryKeyColumns(PrimaryKeyColumnsT &&value)
const Aws::Vector< Aws::String > & GetPrimaryKeyColumns() const
AWS_FINSPACEDATA_API SchemaDefinition()=default
SchemaDefinition & WithColumns(ColumnsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue