AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
SchemaDefinition.h
1
6#pragma once
7#include <aws/keyspaces/Keyspaces_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/keyspaces/model/ColumnDefinition.h>
10#include <aws/keyspaces/model/PartitionKey.h>
11#include <aws/keyspaces/model/ClusteringKey.h>
12#include <aws/keyspaces/model/StaticColumn.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 Keyspaces
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_KEYSPACES_API SchemaDefinition() = default;
39 AWS_KEYSPACES_API SchemaDefinition(Aws::Utils::Json::JsonView jsonValue);
41 AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::Vector<ColumnDefinition>& GetAllColumns() const { return m_allColumns; }
49 inline bool AllColumnsHasBeenSet() const { return m_allColumnsHasBeenSet; }
50 template<typename AllColumnsT = Aws::Vector<ColumnDefinition>>
51 void SetAllColumns(AllColumnsT&& value) { m_allColumnsHasBeenSet = true; m_allColumns = std::forward<AllColumnsT>(value); }
52 template<typename AllColumnsT = Aws::Vector<ColumnDefinition>>
53 SchemaDefinition& WithAllColumns(AllColumnsT&& value) { SetAllColumns(std::forward<AllColumnsT>(value)); return *this;}
54 template<typename AllColumnsT = ColumnDefinition>
55 SchemaDefinition& AddAllColumns(AllColumnsT&& value) { m_allColumnsHasBeenSet = true; m_allColumns.emplace_back(std::forward<AllColumnsT>(value)); return *this; }
57
59
62 inline const Aws::Vector<PartitionKey>& GetPartitionKeys() const { return m_partitionKeys; }
63 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
64 template<typename PartitionKeysT = Aws::Vector<PartitionKey>>
65 void SetPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = std::forward<PartitionKeysT>(value); }
66 template<typename PartitionKeysT = Aws::Vector<PartitionKey>>
67 SchemaDefinition& WithPartitionKeys(PartitionKeysT&& value) { SetPartitionKeys(std::forward<PartitionKeysT>(value)); return *this;}
68 template<typename PartitionKeysT = PartitionKey>
69 SchemaDefinition& AddPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value)); return *this; }
71
73
76 inline const Aws::Vector<ClusteringKey>& GetClusteringKeys() const { return m_clusteringKeys; }
77 inline bool ClusteringKeysHasBeenSet() const { return m_clusteringKeysHasBeenSet; }
78 template<typename ClusteringKeysT = Aws::Vector<ClusteringKey>>
79 void SetClusteringKeys(ClusteringKeysT&& value) { m_clusteringKeysHasBeenSet = true; m_clusteringKeys = std::forward<ClusteringKeysT>(value); }
80 template<typename ClusteringKeysT = Aws::Vector<ClusteringKey>>
81 SchemaDefinition& WithClusteringKeys(ClusteringKeysT&& value) { SetClusteringKeys(std::forward<ClusteringKeysT>(value)); return *this;}
82 template<typename ClusteringKeysT = ClusteringKey>
83 SchemaDefinition& AddClusteringKeys(ClusteringKeysT&& value) { m_clusteringKeysHasBeenSet = true; m_clusteringKeys.emplace_back(std::forward<ClusteringKeysT>(value)); return *this; }
85
87
91 inline const Aws::Vector<StaticColumn>& GetStaticColumns() const { return m_staticColumns; }
92 inline bool StaticColumnsHasBeenSet() const { return m_staticColumnsHasBeenSet; }
93 template<typename StaticColumnsT = Aws::Vector<StaticColumn>>
94 void SetStaticColumns(StaticColumnsT&& value) { m_staticColumnsHasBeenSet = true; m_staticColumns = std::forward<StaticColumnsT>(value); }
95 template<typename StaticColumnsT = Aws::Vector<StaticColumn>>
96 SchemaDefinition& WithStaticColumns(StaticColumnsT&& value) { SetStaticColumns(std::forward<StaticColumnsT>(value)); return *this;}
97 template<typename StaticColumnsT = StaticColumn>
98 SchemaDefinition& AddStaticColumns(StaticColumnsT&& value) { m_staticColumnsHasBeenSet = true; m_staticColumns.emplace_back(std::forward<StaticColumnsT>(value)); return *this; }
100 private:
101
103 bool m_allColumnsHasBeenSet = false;
104
105 Aws::Vector<PartitionKey> m_partitionKeys;
106 bool m_partitionKeysHasBeenSet = false;
107
108 Aws::Vector<ClusteringKey> m_clusteringKeys;
109 bool m_clusteringKeysHasBeenSet = false;
110
111 Aws::Vector<StaticColumn> m_staticColumns;
112 bool m_staticColumnsHasBeenSet = false;
113 };
114
115} // namespace Model
116} // namespace Keyspaces
117} // 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