AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
UpdateTableRequest.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/DynamoDBRequest.h>
10#include <aws/dynamodb/DynamoDB_EXPORTS.h>
11#include <aws/dynamodb/model/AttributeDefinition.h>
12#include <aws/dynamodb/model/BillingMode.h>
13#include <aws/dynamodb/model/GlobalSecondaryIndexUpdate.h>
14#include <aws/dynamodb/model/GlobalTableWitnessGroupUpdate.h>
15#include <aws/dynamodb/model/MultiRegionConsistency.h>
16#include <aws/dynamodb/model/OnDemandThroughput.h>
17#include <aws/dynamodb/model/ProvisionedThroughput.h>
18#include <aws/dynamodb/model/ReplicationGroupUpdate.h>
19#include <aws/dynamodb/model/SSESpecification.h>
20#include <aws/dynamodb/model/StreamSpecification.h>
21#include <aws/dynamodb/model/TableClass.h>
22#include <aws/dynamodb/model/WarmThroughput.h>
23
24#include <utility>
25
26namespace Aws {
27namespace DynamoDB {
28namespace Model {
29
37 public:
38 AWS_DYNAMODB_API UpdateTableRequest() = default;
39
40 // Service request name is the Operation name which will send this request out,
41 // each operation should has unique request name, so that we can get operation's name from this request.
42 // Note: this is not true for response, multiple operations may have the same response name,
43 // so we can not get operation's name from response.
44 inline virtual const char* GetServiceRequestName() const override { return "UpdateTable"; }
45
46 AWS_DYNAMODB_API Aws::String SerializePayload() const override;
47
49
53 AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override;
54
56
62 inline const Aws::Vector<AttributeDefinition>& GetAttributeDefinitions() const { return m_attributeDefinitions; }
63 inline bool AttributeDefinitionsHasBeenSet() const { return m_attributeDefinitionsHasBeenSet; }
64 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
65 void SetAttributeDefinitions(AttributeDefinitionsT&& value) {
66 m_attributeDefinitionsHasBeenSet = true;
67 m_attributeDefinitions = std::forward<AttributeDefinitionsT>(value);
68 }
69 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
70 UpdateTableRequest& WithAttributeDefinitions(AttributeDefinitionsT&& value) {
71 SetAttributeDefinitions(std::forward<AttributeDefinitionsT>(value));
72 return *this;
73 }
74 template <typename AttributeDefinitionsT = AttributeDefinition>
75 UpdateTableRequest& AddAttributeDefinitions(AttributeDefinitionsT&& value) {
76 m_attributeDefinitionsHasBeenSet = true;
77 m_attributeDefinitions.emplace_back(std::forward<AttributeDefinitionsT>(value));
78 return *this;
79 }
81
83
87 inline const Aws::String& GetTableName() const { return m_tableName; }
88 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
89 template <typename TableNameT = Aws::String>
90 void SetTableName(TableNameT&& value) {
91 m_tableNameHasBeenSet = true;
92 m_tableName = std::forward<TableNameT>(value);
93 }
94 template <typename TableNameT = Aws::String>
95 UpdateTableRequest& WithTableName(TableNameT&& value) {
96 SetTableName(std::forward<TableNameT>(value));
97 return *this;
98 }
100
102
119 inline BillingMode GetBillingMode() const { return m_billingMode; }
120 inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; }
121 inline void SetBillingMode(BillingMode value) {
122 m_billingModeHasBeenSet = true;
123 m_billingMode = value;
124 }
126 SetBillingMode(value);
127 return *this;
128 }
130
132
135 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
136 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
137 template <typename ProvisionedThroughputT = ProvisionedThroughput>
138 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
139 m_provisionedThroughputHasBeenSet = true;
140 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
141 }
142 template <typename ProvisionedThroughputT = ProvisionedThroughput>
143 UpdateTableRequest& WithProvisionedThroughput(ProvisionedThroughputT&& value) {
144 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
145 return *this;
146 }
148
150
162 inline const Aws::Vector<GlobalSecondaryIndexUpdate>& GetGlobalSecondaryIndexUpdates() const { return m_globalSecondaryIndexUpdates; }
163 inline bool GlobalSecondaryIndexUpdatesHasBeenSet() const { return m_globalSecondaryIndexUpdatesHasBeenSet; }
164 template <typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
165 void SetGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
166 m_globalSecondaryIndexUpdatesHasBeenSet = true;
167 m_globalSecondaryIndexUpdates = std::forward<GlobalSecondaryIndexUpdatesT>(value);
168 }
169 template <typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
170 UpdateTableRequest& WithGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
171 SetGlobalSecondaryIndexUpdates(std::forward<GlobalSecondaryIndexUpdatesT>(value));
172 return *this;
173 }
174 template <typename GlobalSecondaryIndexUpdatesT = GlobalSecondaryIndexUpdate>
175 UpdateTableRequest& AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
176 m_globalSecondaryIndexUpdatesHasBeenSet = true;
177 m_globalSecondaryIndexUpdates.emplace_back(std::forward<GlobalSecondaryIndexUpdatesT>(value));
178 return *this;
179 }
181
183
189 inline const StreamSpecification& GetStreamSpecification() const { return m_streamSpecification; }
190 inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; }
191 template <typename StreamSpecificationT = StreamSpecification>
192 void SetStreamSpecification(StreamSpecificationT&& value) {
193 m_streamSpecificationHasBeenSet = true;
194 m_streamSpecification = std::forward<StreamSpecificationT>(value);
195 }
196 template <typename StreamSpecificationT = StreamSpecification>
197 UpdateTableRequest& WithStreamSpecification(StreamSpecificationT&& value) {
198 SetStreamSpecification(std::forward<StreamSpecificationT>(value));
199 return *this;
200 }
202
204
207 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
208 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
209 template <typename SSESpecificationT = SSESpecification>
210 void SetSSESpecification(SSESpecificationT&& value) {
211 m_sSESpecificationHasBeenSet = true;
212 m_sSESpecification = std::forward<SSESpecificationT>(value);
213 }
214 template <typename SSESpecificationT = SSESpecification>
215 UpdateTableRequest& WithSSESpecification(SSESpecificationT&& value) {
216 SetSSESpecification(std::forward<SSESpecificationT>(value));
217 return *this;
218 }
220
222
226 inline const Aws::Vector<ReplicationGroupUpdate>& GetReplicaUpdates() const { return m_replicaUpdates; }
227 inline bool ReplicaUpdatesHasBeenSet() const { return m_replicaUpdatesHasBeenSet; }
228 template <typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
229 void SetReplicaUpdates(ReplicaUpdatesT&& value) {
230 m_replicaUpdatesHasBeenSet = true;
231 m_replicaUpdates = std::forward<ReplicaUpdatesT>(value);
232 }
233 template <typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
234 UpdateTableRequest& WithReplicaUpdates(ReplicaUpdatesT&& value) {
235 SetReplicaUpdates(std::forward<ReplicaUpdatesT>(value));
236 return *this;
237 }
238 template <typename ReplicaUpdatesT = ReplicationGroupUpdate>
239 UpdateTableRequest& AddReplicaUpdates(ReplicaUpdatesT&& value) {
240 m_replicaUpdatesHasBeenSet = true;
241 m_replicaUpdates.emplace_back(std::forward<ReplicaUpdatesT>(value));
242 return *this;
243 }
245
247
251 inline TableClass GetTableClass() const { return m_tableClass; }
252 inline bool TableClassHasBeenSet() const { return m_tableClassHasBeenSet; }
253 inline void SetTableClass(TableClass value) {
254 m_tableClassHasBeenSet = true;
255 m_tableClass = value;
256 }
258 SetTableClass(value);
259 return *this;
260 }
262
264
268 inline bool GetDeletionProtectionEnabled() const { return m_deletionProtectionEnabled; }
269 inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; }
270 inline void SetDeletionProtectionEnabled(bool value) {
271 m_deletionProtectionEnabledHasBeenSet = true;
272 m_deletionProtectionEnabled = value;
273 }
276 return *this;
277 }
279
281
298 inline MultiRegionConsistency GetMultiRegionConsistency() const { return m_multiRegionConsistency; }
299 inline bool MultiRegionConsistencyHasBeenSet() const { return m_multiRegionConsistencyHasBeenSet; }
301 m_multiRegionConsistencyHasBeenSet = true;
302 m_multiRegionConsistency = value;
303 }
306 return *this;
307 }
309
311
323 inline const Aws::Vector<GlobalTableWitnessGroupUpdate>& GetGlobalTableWitnessUpdates() const { return m_globalTableWitnessUpdates; }
324 inline bool GlobalTableWitnessUpdatesHasBeenSet() const { return m_globalTableWitnessUpdatesHasBeenSet; }
325 template <typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
326 void SetGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
327 m_globalTableWitnessUpdatesHasBeenSet = true;
328 m_globalTableWitnessUpdates = std::forward<GlobalTableWitnessUpdatesT>(value);
329 }
330 template <typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
331 UpdateTableRequest& WithGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
332 SetGlobalTableWitnessUpdates(std::forward<GlobalTableWitnessUpdatesT>(value));
333 return *this;
334 }
335 template <typename GlobalTableWitnessUpdatesT = GlobalTableWitnessGroupUpdate>
336 UpdateTableRequest& AddGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
337 m_globalTableWitnessUpdatesHasBeenSet = true;
338 m_globalTableWitnessUpdates.emplace_back(std::forward<GlobalTableWitnessUpdatesT>(value));
339 return *this;
340 }
342
344
350 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
351 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
352 template <typename OnDemandThroughputT = OnDemandThroughput>
353 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
354 m_onDemandThroughputHasBeenSet = true;
355 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
356 }
357 template <typename OnDemandThroughputT = OnDemandThroughput>
358 UpdateTableRequest& WithOnDemandThroughput(OnDemandThroughputT&& value) {
359 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
360 return *this;
361 }
363
365
369 inline const WarmThroughput& GetWarmThroughput() const { return m_warmThroughput; }
370 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
371 template <typename WarmThroughputT = WarmThroughput>
372 void SetWarmThroughput(WarmThroughputT&& value) {
373 m_warmThroughputHasBeenSet = true;
374 m_warmThroughput = std::forward<WarmThroughputT>(value);
375 }
376 template <typename WarmThroughputT = WarmThroughput>
377 UpdateTableRequest& WithWarmThroughput(WarmThroughputT&& value) {
378 SetWarmThroughput(std::forward<WarmThroughputT>(value));
379 return *this;
380 }
382 private:
383 Aws::Vector<AttributeDefinition> m_attributeDefinitions;
384
385 Aws::String m_tableName;
386
387 BillingMode m_billingMode{BillingMode::NOT_SET};
388
389 ProvisionedThroughput m_provisionedThroughput;
390
391 Aws::Vector<GlobalSecondaryIndexUpdate> m_globalSecondaryIndexUpdates;
392
393 StreamSpecification m_streamSpecification;
394
395 SSESpecification m_sSESpecification;
396
398
399 TableClass m_tableClass{TableClass::NOT_SET};
400
401 bool m_deletionProtectionEnabled{false};
402
404
405 Aws::Vector<GlobalTableWitnessGroupUpdate> m_globalTableWitnessUpdates;
406
407 OnDemandThroughput m_onDemandThroughput;
408
409 WarmThroughput m_warmThroughput;
410 bool m_attributeDefinitionsHasBeenSet = false;
411 bool m_tableNameHasBeenSet = false;
412 bool m_billingModeHasBeenSet = false;
413 bool m_provisionedThroughputHasBeenSet = false;
414 bool m_globalSecondaryIndexUpdatesHasBeenSet = false;
415 bool m_streamSpecificationHasBeenSet = false;
416 bool m_sSESpecificationHasBeenSet = false;
417 bool m_replicaUpdatesHasBeenSet = false;
418 bool m_tableClassHasBeenSet = false;
419 bool m_deletionProtectionEnabledHasBeenSet = false;
420 bool m_multiRegionConsistencyHasBeenSet = false;
421 bool m_globalTableWitnessUpdatesHasBeenSet = false;
422 bool m_onDemandThroughputHasBeenSet = false;
423 bool m_warmThroughputHasBeenSet = false;
424};
425
426} // namespace Model
427} // namespace DynamoDB
428} // namespace Aws
Aws::Endpoint::EndpointParameters EndpointParameters
UpdateTableRequest & WithOnDemandThroughput(OnDemandThroughputT &&value)
UpdateTableRequest & WithAttributeDefinitions(AttributeDefinitionsT &&value)
UpdateTableRequest & WithWarmThroughput(WarmThroughputT &&value)
AWS_DYNAMODB_API Aws::String SerializePayload() const override
UpdateTableRequest & AddAttributeDefinitions(AttributeDefinitionsT &&value)
const Aws::Vector< AttributeDefinition > & GetAttributeDefinitions() const
UpdateTableRequest & WithDeletionProtectionEnabled(bool value)
const SSESpecification & GetSSESpecification() const
UpdateTableRequest & AddReplicaUpdates(ReplicaUpdatesT &&value)
void SetWarmThroughput(WarmThroughputT &&value)
const ProvisionedThroughput & GetProvisionedThroughput() const
UpdateTableRequest & WithTableName(TableNameT &&value)
const Aws::Vector< GlobalTableWitnessGroupUpdate > & GetGlobalTableWitnessUpdates() const
UpdateTableRequest & WithMultiRegionConsistency(MultiRegionConsistency value)
void SetGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT &&value)
UpdateTableRequest & WithGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT &&value)
MultiRegionConsistency GetMultiRegionConsistency() const
AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
UpdateTableRequest & WithBillingMode(BillingMode value)
void SetGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT &&value)
UpdateTableRequest & WithStreamSpecification(StreamSpecificationT &&value)
UpdateTableRequest & WithGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT &&value)
UpdateTableRequest & WithTableClass(TableClass value)
AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override
const Aws::Vector< GlobalSecondaryIndexUpdate > & GetGlobalSecondaryIndexUpdates() const
void SetMultiRegionConsistency(MultiRegionConsistency value)
UpdateTableRequest & WithReplicaUpdates(ReplicaUpdatesT &&value)
void SetSSESpecification(SSESpecificationT &&value)
void SetReplicaUpdates(ReplicaUpdatesT &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
UpdateTableRequest & WithSSESpecification(SSESpecificationT &&value)
UpdateTableRequest & AddGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT &&value)
const StreamSpecification & GetStreamSpecification() const
const WarmThroughput & GetWarmThroughput() const
UpdateTableRequest & AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT &&value)
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
virtual const char * GetServiceRequestName() const override
AWS_DYNAMODB_API UpdateTableRequest()=default
void SetStreamSpecification(StreamSpecificationT &&value)
UpdateTableRequest & WithProvisionedThroughput(ProvisionedThroughputT &&value)
void SetAttributeDefinitions(AttributeDefinitionsT &&value)
void SetOnDemandThroughput(OnDemandThroughputT &&value)
const Aws::Vector< ReplicationGroupUpdate > & GetReplicaUpdates() const
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector