AWS SDK for C++

AWS SDK for C++ Version 1.11.773

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/GlobalTableSettingsReplicationMode.h>
15#include <aws/dynamodb/model/GlobalTableWitnessGroupUpdate.h>
16#include <aws/dynamodb/model/MultiRegionConsistency.h>
17#include <aws/dynamodb/model/OnDemandThroughput.h>
18#include <aws/dynamodb/model/ProvisionedThroughput.h>
19#include <aws/dynamodb/model/ReplicationGroupUpdate.h>
20#include <aws/dynamodb/model/SSESpecification.h>
21#include <aws/dynamodb/model/StreamSpecification.h>
22#include <aws/dynamodb/model/TableClass.h>
23#include <aws/dynamodb/model/WarmThroughput.h>
24
25#include <utility>
26
27namespace Aws {
28namespace DynamoDB {
29namespace Model {
30
38 public:
39 AWS_DYNAMODB_API UpdateTableRequest() = default;
40
41 // Service request name is the Operation name which will send this request out,
42 // each operation should has unique request name, so that we can get operation's name from this request.
43 // Note: this is not true for response, multiple operations may have the same response name,
44 // so we can not get operation's name from response.
45 inline virtual const char* GetServiceRequestName() const override { return "UpdateTable"; }
46
47 AWS_DYNAMODB_API Aws::String SerializePayload() const override;
48
50
54 AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override;
55
57
63 inline const Aws::Vector<AttributeDefinition>& GetAttributeDefinitions() const { return m_attributeDefinitions; }
64 inline bool AttributeDefinitionsHasBeenSet() const { return m_attributeDefinitionsHasBeenSet; }
65 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
66 void SetAttributeDefinitions(AttributeDefinitionsT&& value) {
67 m_attributeDefinitionsHasBeenSet = true;
68 m_attributeDefinitions = std::forward<AttributeDefinitionsT>(value);
69 }
70 template <typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
71 UpdateTableRequest& WithAttributeDefinitions(AttributeDefinitionsT&& value) {
72 SetAttributeDefinitions(std::forward<AttributeDefinitionsT>(value));
73 return *this;
74 }
75 template <typename AttributeDefinitionsT = AttributeDefinition>
76 UpdateTableRequest& AddAttributeDefinitions(AttributeDefinitionsT&& value) {
77 m_attributeDefinitionsHasBeenSet = true;
78 m_attributeDefinitions.emplace_back(std::forward<AttributeDefinitionsT>(value));
79 return *this;
80 }
82
84
88 inline const Aws::String& GetTableName() const { return m_tableName; }
89 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
90 template <typename TableNameT = Aws::String>
91 void SetTableName(TableNameT&& value) {
92 m_tableNameHasBeenSet = true;
93 m_tableName = std::forward<TableNameT>(value);
94 }
95 template <typename TableNameT = Aws::String>
96 UpdateTableRequest& WithTableName(TableNameT&& value) {
97 SetTableName(std::forward<TableNameT>(value));
98 return *this;
99 }
101
103
120 inline BillingMode GetBillingMode() const { return m_billingMode; }
121 inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; }
122 inline void SetBillingMode(BillingMode value) {
123 m_billingModeHasBeenSet = true;
124 m_billingMode = value;
125 }
127 SetBillingMode(value);
128 return *this;
129 }
131
133
136 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
137 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
138 template <typename ProvisionedThroughputT = ProvisionedThroughput>
139 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
140 m_provisionedThroughputHasBeenSet = true;
141 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
142 }
143 template <typename ProvisionedThroughputT = ProvisionedThroughput>
144 UpdateTableRequest& WithProvisionedThroughput(ProvisionedThroughputT&& value) {
145 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
146 return *this;
147 }
149
151
163 inline const Aws::Vector<GlobalSecondaryIndexUpdate>& GetGlobalSecondaryIndexUpdates() const { return m_globalSecondaryIndexUpdates; }
164 inline bool GlobalSecondaryIndexUpdatesHasBeenSet() const { return m_globalSecondaryIndexUpdatesHasBeenSet; }
165 template <typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
166 void SetGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
167 m_globalSecondaryIndexUpdatesHasBeenSet = true;
168 m_globalSecondaryIndexUpdates = std::forward<GlobalSecondaryIndexUpdatesT>(value);
169 }
170 template <typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
171 UpdateTableRequest& WithGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
172 SetGlobalSecondaryIndexUpdates(std::forward<GlobalSecondaryIndexUpdatesT>(value));
173 return *this;
174 }
175 template <typename GlobalSecondaryIndexUpdatesT = GlobalSecondaryIndexUpdate>
176 UpdateTableRequest& AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) {
177 m_globalSecondaryIndexUpdatesHasBeenSet = true;
178 m_globalSecondaryIndexUpdates.emplace_back(std::forward<GlobalSecondaryIndexUpdatesT>(value));
179 return *this;
180 }
182
184
190 inline const StreamSpecification& GetStreamSpecification() const { return m_streamSpecification; }
191 inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; }
192 template <typename StreamSpecificationT = StreamSpecification>
193 void SetStreamSpecification(StreamSpecificationT&& value) {
194 m_streamSpecificationHasBeenSet = true;
195 m_streamSpecification = std::forward<StreamSpecificationT>(value);
196 }
197 template <typename StreamSpecificationT = StreamSpecification>
198 UpdateTableRequest& WithStreamSpecification(StreamSpecificationT&& value) {
199 SetStreamSpecification(std::forward<StreamSpecificationT>(value));
200 return *this;
201 }
203
205
208 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
209 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
210 template <typename SSESpecificationT = SSESpecification>
211 void SetSSESpecification(SSESpecificationT&& value) {
212 m_sSESpecificationHasBeenSet = true;
213 m_sSESpecification = std::forward<SSESpecificationT>(value);
214 }
215 template <typename SSESpecificationT = SSESpecification>
216 UpdateTableRequest& WithSSESpecification(SSESpecificationT&& value) {
217 SetSSESpecification(std::forward<SSESpecificationT>(value));
218 return *this;
219 }
221
223
227 inline const Aws::Vector<ReplicationGroupUpdate>& GetReplicaUpdates() const { return m_replicaUpdates; }
228 inline bool ReplicaUpdatesHasBeenSet() const { return m_replicaUpdatesHasBeenSet; }
229 template <typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
230 void SetReplicaUpdates(ReplicaUpdatesT&& value) {
231 m_replicaUpdatesHasBeenSet = true;
232 m_replicaUpdates = std::forward<ReplicaUpdatesT>(value);
233 }
234 template <typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
235 UpdateTableRequest& WithReplicaUpdates(ReplicaUpdatesT&& value) {
236 SetReplicaUpdates(std::forward<ReplicaUpdatesT>(value));
237 return *this;
238 }
239 template <typename ReplicaUpdatesT = ReplicationGroupUpdate>
240 UpdateTableRequest& AddReplicaUpdates(ReplicaUpdatesT&& value) {
241 m_replicaUpdatesHasBeenSet = true;
242 m_replicaUpdates.emplace_back(std::forward<ReplicaUpdatesT>(value));
243 return *this;
244 }
246
248
252 inline TableClass GetTableClass() const { return m_tableClass; }
253 inline bool TableClassHasBeenSet() const { return m_tableClassHasBeenSet; }
254 inline void SetTableClass(TableClass value) {
255 m_tableClassHasBeenSet = true;
256 m_tableClass = value;
257 }
259 SetTableClass(value);
260 return *this;
261 }
263
265
269 inline bool GetDeletionProtectionEnabled() const { return m_deletionProtectionEnabled; }
270 inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; }
271 inline void SetDeletionProtectionEnabled(bool value) {
272 m_deletionProtectionEnabledHasBeenSet = true;
273 m_deletionProtectionEnabled = value;
274 }
277 return *this;
278 }
280
282
299 inline MultiRegionConsistency GetMultiRegionConsistency() const { return m_multiRegionConsistency; }
300 inline bool MultiRegionConsistencyHasBeenSet() const { return m_multiRegionConsistencyHasBeenSet; }
302 m_multiRegionConsistencyHasBeenSet = true;
303 m_multiRegionConsistency = value;
304 }
307 return *this;
308 }
310
312
324 inline const Aws::Vector<GlobalTableWitnessGroupUpdate>& GetGlobalTableWitnessUpdates() const { return m_globalTableWitnessUpdates; }
325 inline bool GlobalTableWitnessUpdatesHasBeenSet() const { return m_globalTableWitnessUpdatesHasBeenSet; }
326 template <typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
327 void SetGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
328 m_globalTableWitnessUpdatesHasBeenSet = true;
329 m_globalTableWitnessUpdates = std::forward<GlobalTableWitnessUpdatesT>(value);
330 }
331 template <typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
332 UpdateTableRequest& WithGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
333 SetGlobalTableWitnessUpdates(std::forward<GlobalTableWitnessUpdatesT>(value));
334 return *this;
335 }
336 template <typename GlobalTableWitnessUpdatesT = GlobalTableWitnessGroupUpdate>
337 UpdateTableRequest& AddGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) {
338 m_globalTableWitnessUpdatesHasBeenSet = true;
339 m_globalTableWitnessUpdates.emplace_back(std::forward<GlobalTableWitnessUpdatesT>(value));
340 return *this;
341 }
343
345
351 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
352 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
353 template <typename OnDemandThroughputT = OnDemandThroughput>
354 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
355 m_onDemandThroughputHasBeenSet = true;
356 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
357 }
358 template <typename OnDemandThroughputT = OnDemandThroughput>
359 UpdateTableRequest& WithOnDemandThroughput(OnDemandThroughputT&& value) {
360 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
361 return *this;
362 }
364
366
370 inline const WarmThroughput& GetWarmThroughput() const { return m_warmThroughput; }
371 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
372 template <typename WarmThroughputT = WarmThroughput>
373 void SetWarmThroughput(WarmThroughputT&& value) {
374 m_warmThroughputHasBeenSet = true;
375 m_warmThroughput = std::forward<WarmThroughputT>(value);
376 }
377 template <typename WarmThroughputT = WarmThroughput>
378 UpdateTableRequest& WithWarmThroughput(WarmThroughputT&& value) {
379 SetWarmThroughput(std::forward<WarmThroughputT>(value));
380 return *this;
381 }
383
385
395 inline GlobalTableSettingsReplicationMode GetGlobalTableSettingsReplicationMode() const { return m_globalTableSettingsReplicationMode; }
396 inline bool GlobalTableSettingsReplicationModeHasBeenSet() const { return m_globalTableSettingsReplicationModeHasBeenSet; }
398 m_globalTableSettingsReplicationModeHasBeenSet = true;
399 m_globalTableSettingsReplicationMode = value;
400 }
403 return *this;
404 }
406 private:
407 Aws::Vector<AttributeDefinition> m_attributeDefinitions;
408
409 Aws::String m_tableName;
410
411 BillingMode m_billingMode{BillingMode::NOT_SET};
412
413 ProvisionedThroughput m_provisionedThroughput;
414
415 Aws::Vector<GlobalSecondaryIndexUpdate> m_globalSecondaryIndexUpdates;
416
417 StreamSpecification m_streamSpecification;
418
419 SSESpecification m_sSESpecification;
420
422
423 TableClass m_tableClass{TableClass::NOT_SET};
424
425 bool m_deletionProtectionEnabled{false};
426
428
429 Aws::Vector<GlobalTableWitnessGroupUpdate> m_globalTableWitnessUpdates;
430
431 OnDemandThroughput m_onDemandThroughput;
432
433 WarmThroughput m_warmThroughput;
434
436 bool m_attributeDefinitionsHasBeenSet = false;
437 bool m_tableNameHasBeenSet = false;
438 bool m_billingModeHasBeenSet = false;
439 bool m_provisionedThroughputHasBeenSet = false;
440 bool m_globalSecondaryIndexUpdatesHasBeenSet = false;
441 bool m_streamSpecificationHasBeenSet = false;
442 bool m_sSESpecificationHasBeenSet = false;
443 bool m_replicaUpdatesHasBeenSet = false;
444 bool m_tableClassHasBeenSet = false;
445 bool m_deletionProtectionEnabledHasBeenSet = false;
446 bool m_multiRegionConsistencyHasBeenSet = false;
447 bool m_globalTableWitnessUpdatesHasBeenSet = false;
448 bool m_onDemandThroughputHasBeenSet = false;
449 bool m_warmThroughputHasBeenSet = false;
450 bool m_globalTableSettingsReplicationModeHasBeenSet = false;
451};
452
453} // namespace Model
454} // namespace DynamoDB
455} // 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 & WithGlobalTableSettingsReplicationMode(GlobalTableSettingsReplicationMode value)
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)
GlobalTableSettingsReplicationMode GetGlobalTableSettingsReplicationMode() const
const StreamSpecification & GetStreamSpecification() const
const WarmThroughput & GetWarmThroughput() const
UpdateTableRequest & AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT &&value)
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
virtual const char * GetServiceRequestName() const override
void SetGlobalTableSettingsReplicationMode(GlobalTableSettingsReplicationMode value)
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