AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
UpdateTableRequest.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/dynamodb/DynamoDBRequest.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/dynamodb/model/BillingMode.h>
12#include <aws/dynamodb/model/ProvisionedThroughput.h>
13#include <aws/dynamodb/model/StreamSpecification.h>
14#include <aws/dynamodb/model/SSESpecification.h>
15#include <aws/dynamodb/model/TableClass.h>
16#include <aws/dynamodb/model/MultiRegionConsistency.h>
17#include <aws/dynamodb/model/OnDemandThroughput.h>
18#include <aws/dynamodb/model/WarmThroughput.h>
19#include <aws/dynamodb/model/AttributeDefinition.h>
20#include <aws/dynamodb/model/GlobalSecondaryIndexUpdate.h>
21#include <aws/dynamodb/model/ReplicationGroupUpdate.h>
22#include <aws/dynamodb/model/GlobalTableWitnessGroupUpdate.h>
23#include <utility>
24
25namespace Aws
26{
27namespace DynamoDB
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_DYNAMODB_API UpdateTableRequest() = default;
42
43 // Service request name is the Operation name which will send this request out,
44 // each operation should has unique request name, so that we can get operation's name from this request.
45 // Note: this is not true for response, multiple operations may have the same response name,
46 // so we can not get operation's name from response.
47 inline virtual const char* GetServiceRequestName() const override { return "UpdateTable"; }
48
49 AWS_DYNAMODB_API Aws::String SerializePayload() const override;
50
52
56 AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override;
57
59
65 inline const Aws::Vector<AttributeDefinition>& GetAttributeDefinitions() const { return m_attributeDefinitions; }
66 inline bool AttributeDefinitionsHasBeenSet() const { return m_attributeDefinitionsHasBeenSet; }
67 template<typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
68 void SetAttributeDefinitions(AttributeDefinitionsT&& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions = std::forward<AttributeDefinitionsT>(value); }
69 template<typename AttributeDefinitionsT = Aws::Vector<AttributeDefinition>>
70 UpdateTableRequest& WithAttributeDefinitions(AttributeDefinitionsT&& value) { SetAttributeDefinitions(std::forward<AttributeDefinitionsT>(value)); return *this;}
71 template<typename AttributeDefinitionsT = AttributeDefinition>
72 UpdateTableRequest& AddAttributeDefinitions(AttributeDefinitionsT&& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions.emplace_back(std::forward<AttributeDefinitionsT>(value)); return *this; }
74
76
80 inline const Aws::String& GetTableName() const { return m_tableName; }
81 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
82 template<typename TableNameT = Aws::String>
83 void SetTableName(TableNameT&& value) { m_tableNameHasBeenSet = true; m_tableName = std::forward<TableNameT>(value); }
84 template<typename TableNameT = Aws::String>
85 UpdateTableRequest& WithTableName(TableNameT&& value) { SetTableName(std::forward<TableNameT>(value)); return *this;}
87
89
106 inline BillingMode GetBillingMode() const { return m_billingMode; }
107 inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; }
108 inline void SetBillingMode(BillingMode value) { m_billingModeHasBeenSet = true; m_billingMode = value; }
109 inline UpdateTableRequest& WithBillingMode(BillingMode value) { SetBillingMode(value); return *this;}
111
113
116 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
117 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
118 template<typename ProvisionedThroughputT = ProvisionedThroughput>
119 void SetProvisionedThroughput(ProvisionedThroughputT&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value); }
120 template<typename ProvisionedThroughputT = ProvisionedThroughput>
121 UpdateTableRequest& WithProvisionedThroughput(ProvisionedThroughputT&& value) { SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value)); return *this;}
123
125
137 inline const Aws::Vector<GlobalSecondaryIndexUpdate>& GetGlobalSecondaryIndexUpdates() const { return m_globalSecondaryIndexUpdates; }
138 inline bool GlobalSecondaryIndexUpdatesHasBeenSet() const { return m_globalSecondaryIndexUpdatesHasBeenSet; }
139 template<typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
140 void SetGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates = std::forward<GlobalSecondaryIndexUpdatesT>(value); }
141 template<typename GlobalSecondaryIndexUpdatesT = Aws::Vector<GlobalSecondaryIndexUpdate>>
142 UpdateTableRequest& WithGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) { SetGlobalSecondaryIndexUpdates(std::forward<GlobalSecondaryIndexUpdatesT>(value)); return *this;}
143 template<typename GlobalSecondaryIndexUpdatesT = GlobalSecondaryIndexUpdate>
144 UpdateTableRequest& AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdatesT&& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates.emplace_back(std::forward<GlobalSecondaryIndexUpdatesT>(value)); return *this; }
146
148
154 inline const StreamSpecification& GetStreamSpecification() const { return m_streamSpecification; }
155 inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; }
156 template<typename StreamSpecificationT = StreamSpecification>
157 void SetStreamSpecification(StreamSpecificationT&& value) { m_streamSpecificationHasBeenSet = true; m_streamSpecification = std::forward<StreamSpecificationT>(value); }
158 template<typename StreamSpecificationT = StreamSpecification>
159 UpdateTableRequest& WithStreamSpecification(StreamSpecificationT&& value) { SetStreamSpecification(std::forward<StreamSpecificationT>(value)); return *this;}
161
163
166 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
167 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
168 template<typename SSESpecificationT = SSESpecification>
169 void SetSSESpecification(SSESpecificationT&& value) { m_sSESpecificationHasBeenSet = true; m_sSESpecification = std::forward<SSESpecificationT>(value); }
170 template<typename SSESpecificationT = SSESpecification>
171 UpdateTableRequest& WithSSESpecification(SSESpecificationT&& value) { SetSSESpecification(std::forward<SSESpecificationT>(value)); return *this;}
173
175
179 inline const Aws::Vector<ReplicationGroupUpdate>& GetReplicaUpdates() const { return m_replicaUpdates; }
180 inline bool ReplicaUpdatesHasBeenSet() const { return m_replicaUpdatesHasBeenSet; }
181 template<typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
182 void SetReplicaUpdates(ReplicaUpdatesT&& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates = std::forward<ReplicaUpdatesT>(value); }
183 template<typename ReplicaUpdatesT = Aws::Vector<ReplicationGroupUpdate>>
184 UpdateTableRequest& WithReplicaUpdates(ReplicaUpdatesT&& value) { SetReplicaUpdates(std::forward<ReplicaUpdatesT>(value)); return *this;}
185 template<typename ReplicaUpdatesT = ReplicationGroupUpdate>
186 UpdateTableRequest& AddReplicaUpdates(ReplicaUpdatesT&& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates.emplace_back(std::forward<ReplicaUpdatesT>(value)); return *this; }
188
190
194 inline TableClass GetTableClass() const { return m_tableClass; }
195 inline bool TableClassHasBeenSet() const { return m_tableClassHasBeenSet; }
196 inline void SetTableClass(TableClass value) { m_tableClassHasBeenSet = true; m_tableClass = value; }
197 inline UpdateTableRequest& WithTableClass(TableClass value) { SetTableClass(value); return *this;}
199
201
205 inline bool GetDeletionProtectionEnabled() const { return m_deletionProtectionEnabled; }
206 inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; }
207 inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabledHasBeenSet = true; m_deletionProtectionEnabled = value; }
210
212
229 inline MultiRegionConsistency GetMultiRegionConsistency() const { return m_multiRegionConsistency; }
230 inline bool MultiRegionConsistencyHasBeenSet() const { return m_multiRegionConsistencyHasBeenSet; }
231 inline void SetMultiRegionConsistency(MultiRegionConsistency value) { m_multiRegionConsistencyHasBeenSet = true; m_multiRegionConsistency = value; }
234
236
248 inline const Aws::Vector<GlobalTableWitnessGroupUpdate>& GetGlobalTableWitnessUpdates() const { return m_globalTableWitnessUpdates; }
249 inline bool GlobalTableWitnessUpdatesHasBeenSet() const { return m_globalTableWitnessUpdatesHasBeenSet; }
250 template<typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
251 void SetGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) { m_globalTableWitnessUpdatesHasBeenSet = true; m_globalTableWitnessUpdates = std::forward<GlobalTableWitnessUpdatesT>(value); }
252 template<typename GlobalTableWitnessUpdatesT = Aws::Vector<GlobalTableWitnessGroupUpdate>>
253 UpdateTableRequest& WithGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) { SetGlobalTableWitnessUpdates(std::forward<GlobalTableWitnessUpdatesT>(value)); return *this;}
254 template<typename GlobalTableWitnessUpdatesT = GlobalTableWitnessGroupUpdate>
255 UpdateTableRequest& AddGlobalTableWitnessUpdates(GlobalTableWitnessUpdatesT&& value) { m_globalTableWitnessUpdatesHasBeenSet = true; m_globalTableWitnessUpdates.emplace_back(std::forward<GlobalTableWitnessUpdatesT>(value)); return *this; }
257
259
265 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
266 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
267 template<typename OnDemandThroughputT = OnDemandThroughput>
268 void SetOnDemandThroughput(OnDemandThroughputT&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::forward<OnDemandThroughputT>(value); }
269 template<typename OnDemandThroughputT = OnDemandThroughput>
270 UpdateTableRequest& WithOnDemandThroughput(OnDemandThroughputT&& value) { SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value)); return *this;}
272
274
278 inline const WarmThroughput& GetWarmThroughput() const { return m_warmThroughput; }
279 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
280 template<typename WarmThroughputT = WarmThroughput>
281 void SetWarmThroughput(WarmThroughputT&& value) { m_warmThroughputHasBeenSet = true; m_warmThroughput = std::forward<WarmThroughputT>(value); }
282 template<typename WarmThroughputT = WarmThroughput>
283 UpdateTableRequest& WithWarmThroughput(WarmThroughputT&& value) { SetWarmThroughput(std::forward<WarmThroughputT>(value)); return *this;}
285 private:
286
287 Aws::Vector<AttributeDefinition> m_attributeDefinitions;
288 bool m_attributeDefinitionsHasBeenSet = false;
289
290 Aws::String m_tableName;
291 bool m_tableNameHasBeenSet = false;
292
293 BillingMode m_billingMode{BillingMode::NOT_SET};
294 bool m_billingModeHasBeenSet = false;
295
296 ProvisionedThroughput m_provisionedThroughput;
297 bool m_provisionedThroughputHasBeenSet = false;
298
299 Aws::Vector<GlobalSecondaryIndexUpdate> m_globalSecondaryIndexUpdates;
300 bool m_globalSecondaryIndexUpdatesHasBeenSet = false;
301
302 StreamSpecification m_streamSpecification;
303 bool m_streamSpecificationHasBeenSet = false;
304
305 SSESpecification m_sSESpecification;
306 bool m_sSESpecificationHasBeenSet = false;
307
309 bool m_replicaUpdatesHasBeenSet = false;
310
311 TableClass m_tableClass{TableClass::NOT_SET};
312 bool m_tableClassHasBeenSet = false;
313
314 bool m_deletionProtectionEnabled{false};
315 bool m_deletionProtectionEnabledHasBeenSet = false;
316
318 bool m_multiRegionConsistencyHasBeenSet = false;
319
320 Aws::Vector<GlobalTableWitnessGroupUpdate> m_globalTableWitnessUpdates;
321 bool m_globalTableWitnessUpdatesHasBeenSet = false;
322
323 OnDemandThroughput m_onDemandThroughput;
324 bool m_onDemandThroughputHasBeenSet = false;
325
326 WarmThroughput m_warmThroughput;
327 bool m_warmThroughputHasBeenSet = false;
328 };
329
330} // namespace Model
331} // namespace DynamoDB
332} // 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