AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
SchemaDefinition.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/keyspaces/Keyspaces_EXPORTS.h>
9#include <aws/keyspaces/model/ClusteringKey.h>
10#include <aws/keyspaces/model/ColumnDefinition.h>
11#include <aws/keyspaces/model/PartitionKey.h>
12#include <aws/keyspaces/model/StaticColumn.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Keyspaces {
24namespace Model {
25
32 public:
33 AWS_KEYSPACES_API SchemaDefinition() = default;
34 AWS_KEYSPACES_API SchemaDefinition(Aws::Utils::Json::JsonView jsonValue);
36 AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::Vector<ColumnDefinition>& GetAllColumns() const { return m_allColumns; }
43 inline bool AllColumnsHasBeenSet() const { return m_allColumnsHasBeenSet; }
44 template <typename AllColumnsT = Aws::Vector<ColumnDefinition>>
45 void SetAllColumns(AllColumnsT&& value) {
46 m_allColumnsHasBeenSet = true;
47 m_allColumns = std::forward<AllColumnsT>(value);
48 }
49 template <typename AllColumnsT = Aws::Vector<ColumnDefinition>>
50 SchemaDefinition& WithAllColumns(AllColumnsT&& value) {
51 SetAllColumns(std::forward<AllColumnsT>(value));
52 return *this;
53 }
54 template <typename AllColumnsT = ColumnDefinition>
55 SchemaDefinition& AddAllColumns(AllColumnsT&& value) {
56 m_allColumnsHasBeenSet = true;
57 m_allColumns.emplace_back(std::forward<AllColumnsT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::Vector<PartitionKey>& GetPartitionKeys() const { return m_partitionKeys; }
67 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
68 template <typename PartitionKeysT = Aws::Vector<PartitionKey>>
69 void SetPartitionKeys(PartitionKeysT&& value) {
70 m_partitionKeysHasBeenSet = true;
71 m_partitionKeys = std::forward<PartitionKeysT>(value);
72 }
73 template <typename PartitionKeysT = Aws::Vector<PartitionKey>>
74 SchemaDefinition& WithPartitionKeys(PartitionKeysT&& value) {
75 SetPartitionKeys(std::forward<PartitionKeysT>(value));
76 return *this;
77 }
78 template <typename PartitionKeysT = PartitionKey>
79 SchemaDefinition& AddPartitionKeys(PartitionKeysT&& value) {
80 m_partitionKeysHasBeenSet = true;
81 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::Vector<ClusteringKey>& GetClusteringKeys() const { return m_clusteringKeys; }
91 inline bool ClusteringKeysHasBeenSet() const { return m_clusteringKeysHasBeenSet; }
92 template <typename ClusteringKeysT = Aws::Vector<ClusteringKey>>
93 void SetClusteringKeys(ClusteringKeysT&& value) {
94 m_clusteringKeysHasBeenSet = true;
95 m_clusteringKeys = std::forward<ClusteringKeysT>(value);
96 }
97 template <typename ClusteringKeysT = Aws::Vector<ClusteringKey>>
98 SchemaDefinition& WithClusteringKeys(ClusteringKeysT&& value) {
99 SetClusteringKeys(std::forward<ClusteringKeysT>(value));
100 return *this;
101 }
102 template <typename ClusteringKeysT = ClusteringKey>
103 SchemaDefinition& AddClusteringKeys(ClusteringKeysT&& value) {
104 m_clusteringKeysHasBeenSet = true;
105 m_clusteringKeys.emplace_back(std::forward<ClusteringKeysT>(value));
106 return *this;
107 }
109
111
115 inline const Aws::Vector<StaticColumn>& GetStaticColumns() const { return m_staticColumns; }
116 inline bool StaticColumnsHasBeenSet() const { return m_staticColumnsHasBeenSet; }
117 template <typename StaticColumnsT = Aws::Vector<StaticColumn>>
118 void SetStaticColumns(StaticColumnsT&& value) {
119 m_staticColumnsHasBeenSet = true;
120 m_staticColumns = std::forward<StaticColumnsT>(value);
121 }
122 template <typename StaticColumnsT = Aws::Vector<StaticColumn>>
123 SchemaDefinition& WithStaticColumns(StaticColumnsT&& value) {
124 SetStaticColumns(std::forward<StaticColumnsT>(value));
125 return *this;
126 }
127 template <typename StaticColumnsT = StaticColumn>
128 SchemaDefinition& AddStaticColumns(StaticColumnsT&& value) {
129 m_staticColumnsHasBeenSet = true;
130 m_staticColumns.emplace_back(std::forward<StaticColumnsT>(value));
131 return *this;
132 }
134 private:
136
137 Aws::Vector<PartitionKey> m_partitionKeys;
138
139 Aws::Vector<ClusteringKey> m_clusteringKeys;
140
141 Aws::Vector<StaticColumn> m_staticColumns;
142 bool m_allColumnsHasBeenSet = false;
143 bool m_partitionKeysHasBeenSet = false;
144 bool m_clusteringKeysHasBeenSet = false;
145 bool m_staticColumnsHasBeenSet = false;
146};
147
148} // namespace Model
149} // namespace Keyspaces
150} // namespace Aws
void SetStaticColumns(StaticColumnsT &&value)
const Aws::Vector< StaticColumn > & GetStaticColumns() const
SchemaDefinition & AddClusteringKeys(ClusteringKeysT &&value)
void SetPartitionKeys(PartitionKeysT &&value)
SchemaDefinition & AddPartitionKeys(PartitionKeysT &&value)
AWS_KEYSPACES_API SchemaDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
SchemaDefinition & WithPartitionKeys(PartitionKeysT &&value)
const Aws::Vector< ColumnDefinition > & GetAllColumns() const
AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAllColumns(AllColumnsT &&value)
SchemaDefinition & WithAllColumns(AllColumnsT &&value)
const Aws::Vector< PartitionKey > & GetPartitionKeys() const
SchemaDefinition & AddStaticColumns(StaticColumnsT &&value)
AWS_KEYSPACES_API SchemaDefinition(Aws::Utils::Json::JsonView jsonValue)
void SetClusteringKeys(ClusteringKeysT &&value)
SchemaDefinition & WithClusteringKeys(ClusteringKeysT &&value)
SchemaDefinition & AddAllColumns(AllColumnsT &&value)
SchemaDefinition & WithStaticColumns(StaticColumnsT &&value)
const Aws::Vector< ClusteringKey > & GetClusteringKeys() const
AWS_KEYSPACES_API SchemaDefinition()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue