AWS SDK for C++

AWS SDK for C++ Version 1.11.870

Loading...
Searching...
No Matches
TableCreationParameters.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/dynamodb/DynamoDB_EXPORTS.h>
10#include <aws/dynamodb/model/AttributeDefinition.h>
11#include <aws/dynamodb/model/BillingMode.h>
12#include <aws/dynamodb/model/GlobalSecondaryIndex.h>
13#include <aws/dynamodb/model/KeySchemaElement.h>
14#include <aws/dynamodb/model/OnDemandThroughput.h>
15#include <aws/dynamodb/model/ProvisionedThroughput.h>
16#include <aws/dynamodb/model/SSESpecification.h>
17#include <aws/dynamodb/model/VectorIndex.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace DynamoDB {
29namespace Model {
30
38 public:
39 AWS_DYNAMODB_API TableCreationParameters() = default;
42 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
48 inline const Aws::String& GetTableName() const { return m_tableName; }
49 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
50 template <typename TableNameT = Aws::String>
51 void SetTableName(TableNameT&& value) {
52 m_tableNameHasBeenSet = true;
53 m_tableName = std::forward<TableNameT>(value);
54 }
55 template <typename TableNameT = Aws::String>
57 SetTableName(std::forward<TableNameT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::Vector<AttributeDefinition>& GetAttributeDefinitions() const { return m_attributeDefinitions; }
67 inline bool AttributeDefinitionsHasBeenSet() const { return m_attributeDefinitionsHasBeenSet; }
68 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
69 void SetAttributeDefinitions(AttributeDefinitionsT&& value) {
70 m_attributeDefinitionsHasBeenSet = true;
71 m_attributeDefinitions = std::forward<AttributeDefinitionsT>(value);
72 }
73 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
74 TableCreationParameters& WithAttributeDefinitions(AttributeDefinitionsT&& value) {
75 SetAttributeDefinitions(std::forward<AttributeDefinitionsT>(value));
76 return *this;
77 }
78 template <typename AttributeDefinitionsT = AttributeDefinition>
79 TableCreationParameters& AddAttributeDefinitions(AttributeDefinitionsT&& value) {
80 m_attributeDefinitionsHasBeenSet = true;
81 m_attributeDefinitions.emplace_back(std::forward<AttributeDefinitionsT>(value));
82 return *this;
83 }
85
87
91 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
92 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
93 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
94 void SetKeySchema(KeySchemaT&& value) {
95 m_keySchemaHasBeenSet = true;
96 m_keySchema = std::forward<KeySchemaT>(value);
97 }
98 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
100 SetKeySchema(std::forward<KeySchemaT>(value));
101 return *this;
102 }
103 template <typename KeySchemaT = KeySchemaElement>
105 m_keySchemaHasBeenSet = true;
106 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
107 return *this;
108 }
110
112
116 inline BillingMode GetBillingMode() const { return m_billingMode; }
117 inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; }
118 inline void SetBillingMode(BillingMode value) {
119 m_billingModeHasBeenSet = true;
120 m_billingMode = value;
121 }
123 SetBillingMode(value);
124 return *this;
125 }
127
129
130 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
131 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
132 template <typename ProvisionedThroughputT = ProvisionedThroughput>
133 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
134 m_provisionedThroughputHasBeenSet = true;
135 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
136 }
137 template <typename ProvisionedThroughputT = ProvisionedThroughput>
138 TableCreationParameters& WithProvisionedThroughput(ProvisionedThroughputT&& value) {
139 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
140 return *this;
141 }
143
145
146 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
147 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
148 template <typename OnDemandThroughputT = OnDemandThroughput>
149 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
150 m_onDemandThroughputHasBeenSet = true;
151 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
152 }
153 template <typename OnDemandThroughputT = OnDemandThroughput>
154 TableCreationParameters& WithOnDemandThroughput(OnDemandThroughputT&& value) {
155 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
156 return *this;
157 }
159
161
162 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
163 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
164 template <typename SSESpecificationT = SSESpecification>
165 void SetSSESpecification(SSESpecificationT&& value) {
166 m_sSESpecificationHasBeenSet = true;
167 m_sSESpecification = std::forward<SSESpecificationT>(value);
168 }
169 template <typename SSESpecificationT = SSESpecification>
170 TableCreationParameters& WithSSESpecification(SSESpecificationT&& value) {
171 SetSSESpecification(std::forward<SSESpecificationT>(value));
172 return *this;
173 }
175
177
181 inline const Aws::Vector<GlobalSecondaryIndex>& GetGlobalSecondaryIndexes() const { return m_globalSecondaryIndexes; }
182 inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; }
183 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndex>>
184 void SetGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
185 m_globalSecondaryIndexesHasBeenSet = true;
186 m_globalSecondaryIndexes = std::forward<GlobalSecondaryIndexesT>(value);
187 }
188 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndex>>
189 TableCreationParameters& WithGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
190 SetGlobalSecondaryIndexes(std::forward<GlobalSecondaryIndexesT>(value));
191 return *this;
192 }
193 template <typename GlobalSecondaryIndexesT = GlobalSecondaryIndex>
194 TableCreationParameters& AddGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
195 m_globalSecondaryIndexesHasBeenSet = true;
196 m_globalSecondaryIndexes.emplace_back(std::forward<GlobalSecondaryIndexesT>(value));
197 return *this;
198 }
200
202
206 inline const Aws::Vector<VectorIndex>& GetVectorIndexes() const { return m_vectorIndexes; }
207 inline bool VectorIndexesHasBeenSet() const { return m_vectorIndexesHasBeenSet; }
208 template <typename VectorIndexesT = Aws::Vector<VectorIndex>>
209 void SetVectorIndexes(VectorIndexesT&& value) {
210 m_vectorIndexesHasBeenSet = true;
211 m_vectorIndexes = std::forward<VectorIndexesT>(value);
212 }
213 template <typename VectorIndexesT = Aws::Vector<VectorIndex>>
215 SetVectorIndexes(std::forward<VectorIndexesT>(value));
216 return *this;
217 }
218 template <typename VectorIndexesT = VectorIndex>
219 TableCreationParameters& AddVectorIndexes(VectorIndexesT&& value) {
220 m_vectorIndexesHasBeenSet = true;
221 m_vectorIndexes.emplace_back(std::forward<VectorIndexesT>(value));
222 return *this;
223 }
225 private:
226 Aws::String m_tableName;
227
228 Aws::Vector<AttributeDefinition> m_attributeDefinitions;
229
231
232 BillingMode m_billingMode{BillingMode::NOT_SET};
233
234 ProvisionedThroughput m_provisionedThroughput;
235
236 OnDemandThroughput m_onDemandThroughput;
237
238 SSESpecification m_sSESpecification;
239
240 Aws::Vector<GlobalSecondaryIndex> m_globalSecondaryIndexes;
241
242 Aws::Vector<VectorIndex> m_vectorIndexes;
243 bool m_tableNameHasBeenSet = false;
244 bool m_attributeDefinitionsHasBeenSet = false;
245 bool m_keySchemaHasBeenSet = false;
246 bool m_billingModeHasBeenSet = false;
247 bool m_provisionedThroughputHasBeenSet = false;
248 bool m_onDemandThroughputHasBeenSet = false;
249 bool m_sSESpecificationHasBeenSet = false;
250 bool m_globalSecondaryIndexesHasBeenSet = false;
251 bool m_vectorIndexesHasBeenSet = false;
252};
253
254} // namespace Model
255} // namespace DynamoDB
256} // namespace Aws
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DYNAMODB_API TableCreationParameters(Aws::Utils::Json::JsonView jsonValue)
TableCreationParameters & AddAttributeDefinitions(AttributeDefinitionsT &&value)
AWS_DYNAMODB_API TableCreationParameters()=default
TableCreationParameters & AddVectorIndexes(VectorIndexesT &&value)
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
TableCreationParameters & WithAttributeDefinitions(AttributeDefinitionsT &&value)
TableCreationParameters & WithSSESpecification(SSESpecificationT &&value)
void SetAttributeDefinitions(AttributeDefinitionsT &&value)
const ProvisionedThroughput & GetProvisionedThroughput() const
TableCreationParameters & WithVectorIndexes(VectorIndexesT &&value)
const Aws::Vector< GlobalSecondaryIndex > & GetGlobalSecondaryIndexes() const
void SetGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
TableCreationParameters & WithOnDemandThroughput(OnDemandThroughputT &&value)
TableCreationParameters & AddKeySchema(KeySchemaT &&value)
const Aws::Vector< VectorIndex > & GetVectorIndexes() const
TableCreationParameters & AddGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
TableCreationParameters & WithGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
AWS_DYNAMODB_API TableCreationParameters & operator=(Aws::Utils::Json::JsonView jsonValue)
TableCreationParameters & WithBillingMode(BillingMode value)
TableCreationParameters & WithProvisionedThroughput(ProvisionedThroughputT &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
void SetOnDemandThroughput(OnDemandThroughputT &&value)
const Aws::Vector< AttributeDefinition > & GetAttributeDefinitions() const
TableCreationParameters & WithKeySchema(KeySchemaT &&value)
TableCreationParameters & WithTableName(TableNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue