1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/dynamodb/DynamoDB_EXPORTS.h>
8 #include <aws/dynamodb/DynamoDBRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/dynamodb/model/BillingMode.h>
12 #include <aws/core/utils/memory/stl/AWSVector.h>
13 #include <aws/dynamodb/model/ProvisionedThroughput.h>
14 #include <aws/dynamodb/model/SSESpecification.h>
15 #include <aws/dynamodb/model/GlobalSecondaryIndex.h>
16 #include <aws/dynamodb/model/LocalSecondaryIndex.h>
17 #include <utility>
18 
19 namespace Aws
20 {
21 namespace DynamoDB
22 {
23 namespace Model
24 {
25 
26   /**
27    */
28   class AWS_DYNAMODB_API RestoreTableToPointInTimeRequest : public DynamoDBRequest
29   {
30   public:
31     RestoreTableToPointInTimeRequest();
32 
33     // Service request name is the Operation name which will send this request out,
34     // each operation should has unique request name, so that we can get operation's name from this request.
35     // Note: this is not true for response, multiple operations may have the same response name,
36     // so we can not get operation's name from response.
GetServiceRequestName()37     inline virtual const char* GetServiceRequestName() const override { return "RestoreTableToPointInTime"; }
38 
39     Aws::String SerializePayload() const override;
40 
41     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
42 
43 
44     /**
45      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
46      * Name (ARN).</p>
47      */
GetSourceTableArn()48     inline const Aws::String& GetSourceTableArn() const{ return m_sourceTableArn; }
49 
50     /**
51      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
52      * Name (ARN).</p>
53      */
SourceTableArnHasBeenSet()54     inline bool SourceTableArnHasBeenSet() const { return m_sourceTableArnHasBeenSet; }
55 
56     /**
57      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
58      * Name (ARN).</p>
59      */
SetSourceTableArn(const Aws::String & value)60     inline void SetSourceTableArn(const Aws::String& value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn = value; }
61 
62     /**
63      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
64      * Name (ARN).</p>
65      */
SetSourceTableArn(Aws::String && value)66     inline void SetSourceTableArn(Aws::String&& value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn = std::move(value); }
67 
68     /**
69      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
70      * Name (ARN).</p>
71      */
SetSourceTableArn(const char * value)72     inline void SetSourceTableArn(const char* value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn.assign(value); }
73 
74     /**
75      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
76      * Name (ARN).</p>
77      */
WithSourceTableArn(const Aws::String & value)78     inline RestoreTableToPointInTimeRequest& WithSourceTableArn(const Aws::String& value) { SetSourceTableArn(value); return *this;}
79 
80     /**
81      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
82      * Name (ARN).</p>
83      */
WithSourceTableArn(Aws::String && value)84     inline RestoreTableToPointInTimeRequest& WithSourceTableArn(Aws::String&& value) { SetSourceTableArn(std::move(value)); return *this;}
85 
86     /**
87      * <p>The DynamoDB table that will be restored. This value is an Amazon Resource
88      * Name (ARN).</p>
89      */
WithSourceTableArn(const char * value)90     inline RestoreTableToPointInTimeRequest& WithSourceTableArn(const char* value) { SetSourceTableArn(value); return *this;}
91 
92 
93     /**
94      * <p>Name of the source table that is being restored.</p>
95      */
GetSourceTableName()96     inline const Aws::String& GetSourceTableName() const{ return m_sourceTableName; }
97 
98     /**
99      * <p>Name of the source table that is being restored.</p>
100      */
SourceTableNameHasBeenSet()101     inline bool SourceTableNameHasBeenSet() const { return m_sourceTableNameHasBeenSet; }
102 
103     /**
104      * <p>Name of the source table that is being restored.</p>
105      */
SetSourceTableName(const Aws::String & value)106     inline void SetSourceTableName(const Aws::String& value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName = value; }
107 
108     /**
109      * <p>Name of the source table that is being restored.</p>
110      */
SetSourceTableName(Aws::String && value)111     inline void SetSourceTableName(Aws::String&& value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName = std::move(value); }
112 
113     /**
114      * <p>Name of the source table that is being restored.</p>
115      */
SetSourceTableName(const char * value)116     inline void SetSourceTableName(const char* value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName.assign(value); }
117 
118     /**
119      * <p>Name of the source table that is being restored.</p>
120      */
WithSourceTableName(const Aws::String & value)121     inline RestoreTableToPointInTimeRequest& WithSourceTableName(const Aws::String& value) { SetSourceTableName(value); return *this;}
122 
123     /**
124      * <p>Name of the source table that is being restored.</p>
125      */
WithSourceTableName(Aws::String && value)126     inline RestoreTableToPointInTimeRequest& WithSourceTableName(Aws::String&& value) { SetSourceTableName(std::move(value)); return *this;}
127 
128     /**
129      * <p>Name of the source table that is being restored.</p>
130      */
WithSourceTableName(const char * value)131     inline RestoreTableToPointInTimeRequest& WithSourceTableName(const char* value) { SetSourceTableName(value); return *this;}
132 
133 
134     /**
135      * <p>The name of the new table to which it must be restored to.</p>
136      */
GetTargetTableName()137     inline const Aws::String& GetTargetTableName() const{ return m_targetTableName; }
138 
139     /**
140      * <p>The name of the new table to which it must be restored to.</p>
141      */
TargetTableNameHasBeenSet()142     inline bool TargetTableNameHasBeenSet() const { return m_targetTableNameHasBeenSet; }
143 
144     /**
145      * <p>The name of the new table to which it must be restored to.</p>
146      */
SetTargetTableName(const Aws::String & value)147     inline void SetTargetTableName(const Aws::String& value) { m_targetTableNameHasBeenSet = true; m_targetTableName = value; }
148 
149     /**
150      * <p>The name of the new table to which it must be restored to.</p>
151      */
SetTargetTableName(Aws::String && value)152     inline void SetTargetTableName(Aws::String&& value) { m_targetTableNameHasBeenSet = true; m_targetTableName = std::move(value); }
153 
154     /**
155      * <p>The name of the new table to which it must be restored to.</p>
156      */
SetTargetTableName(const char * value)157     inline void SetTargetTableName(const char* value) { m_targetTableNameHasBeenSet = true; m_targetTableName.assign(value); }
158 
159     /**
160      * <p>The name of the new table to which it must be restored to.</p>
161      */
WithTargetTableName(const Aws::String & value)162     inline RestoreTableToPointInTimeRequest& WithTargetTableName(const Aws::String& value) { SetTargetTableName(value); return *this;}
163 
164     /**
165      * <p>The name of the new table to which it must be restored to.</p>
166      */
WithTargetTableName(Aws::String && value)167     inline RestoreTableToPointInTimeRequest& WithTargetTableName(Aws::String&& value) { SetTargetTableName(std::move(value)); return *this;}
168 
169     /**
170      * <p>The name of the new table to which it must be restored to.</p>
171      */
WithTargetTableName(const char * value)172     inline RestoreTableToPointInTimeRequest& WithTargetTableName(const char* value) { SetTargetTableName(value); return *this;}
173 
174 
175     /**
176      * <p>Restore the table to the latest possible time.
177      * <code>LatestRestorableDateTime</code> is typically 5 minutes before the current
178      * time. </p>
179      */
GetUseLatestRestorableTime()180     inline bool GetUseLatestRestorableTime() const{ return m_useLatestRestorableTime; }
181 
182     /**
183      * <p>Restore the table to the latest possible time.
184      * <code>LatestRestorableDateTime</code> is typically 5 minutes before the current
185      * time. </p>
186      */
UseLatestRestorableTimeHasBeenSet()187     inline bool UseLatestRestorableTimeHasBeenSet() const { return m_useLatestRestorableTimeHasBeenSet; }
188 
189     /**
190      * <p>Restore the table to the latest possible time.
191      * <code>LatestRestorableDateTime</code> is typically 5 minutes before the current
192      * time. </p>
193      */
SetUseLatestRestorableTime(bool value)194     inline void SetUseLatestRestorableTime(bool value) { m_useLatestRestorableTimeHasBeenSet = true; m_useLatestRestorableTime = value; }
195 
196     /**
197      * <p>Restore the table to the latest possible time.
198      * <code>LatestRestorableDateTime</code> is typically 5 minutes before the current
199      * time. </p>
200      */
WithUseLatestRestorableTime(bool value)201     inline RestoreTableToPointInTimeRequest& WithUseLatestRestorableTime(bool value) { SetUseLatestRestorableTime(value); return *this;}
202 
203 
204     /**
205      * <p>Time in the past to restore the table to.</p>
206      */
GetRestoreDateTime()207     inline const Aws::Utils::DateTime& GetRestoreDateTime() const{ return m_restoreDateTime; }
208 
209     /**
210      * <p>Time in the past to restore the table to.</p>
211      */
RestoreDateTimeHasBeenSet()212     inline bool RestoreDateTimeHasBeenSet() const { return m_restoreDateTimeHasBeenSet; }
213 
214     /**
215      * <p>Time in the past to restore the table to.</p>
216      */
SetRestoreDateTime(const Aws::Utils::DateTime & value)217     inline void SetRestoreDateTime(const Aws::Utils::DateTime& value) { m_restoreDateTimeHasBeenSet = true; m_restoreDateTime = value; }
218 
219     /**
220      * <p>Time in the past to restore the table to.</p>
221      */
SetRestoreDateTime(Aws::Utils::DateTime && value)222     inline void SetRestoreDateTime(Aws::Utils::DateTime&& value) { m_restoreDateTimeHasBeenSet = true; m_restoreDateTime = std::move(value); }
223 
224     /**
225      * <p>Time in the past to restore the table to.</p>
226      */
WithRestoreDateTime(const Aws::Utils::DateTime & value)227     inline RestoreTableToPointInTimeRequest& WithRestoreDateTime(const Aws::Utils::DateTime& value) { SetRestoreDateTime(value); return *this;}
228 
229     /**
230      * <p>Time in the past to restore the table to.</p>
231      */
WithRestoreDateTime(Aws::Utils::DateTime && value)232     inline RestoreTableToPointInTimeRequest& WithRestoreDateTime(Aws::Utils::DateTime&& value) { SetRestoreDateTime(std::move(value)); return *this;}
233 
234 
235     /**
236      * <p>The billing mode of the restored table.</p>
237      */
GetBillingModeOverride()238     inline const BillingMode& GetBillingModeOverride() const{ return m_billingModeOverride; }
239 
240     /**
241      * <p>The billing mode of the restored table.</p>
242      */
BillingModeOverrideHasBeenSet()243     inline bool BillingModeOverrideHasBeenSet() const { return m_billingModeOverrideHasBeenSet; }
244 
245     /**
246      * <p>The billing mode of the restored table.</p>
247      */
SetBillingModeOverride(const BillingMode & value)248     inline void SetBillingModeOverride(const BillingMode& value) { m_billingModeOverrideHasBeenSet = true; m_billingModeOverride = value; }
249 
250     /**
251      * <p>The billing mode of the restored table.</p>
252      */
SetBillingModeOverride(BillingMode && value)253     inline void SetBillingModeOverride(BillingMode&& value) { m_billingModeOverrideHasBeenSet = true; m_billingModeOverride = std::move(value); }
254 
255     /**
256      * <p>The billing mode of the restored table.</p>
257      */
WithBillingModeOverride(const BillingMode & value)258     inline RestoreTableToPointInTimeRequest& WithBillingModeOverride(const BillingMode& value) { SetBillingModeOverride(value); return *this;}
259 
260     /**
261      * <p>The billing mode of the restored table.</p>
262      */
WithBillingModeOverride(BillingMode && value)263     inline RestoreTableToPointInTimeRequest& WithBillingModeOverride(BillingMode&& value) { SetBillingModeOverride(std::move(value)); return *this;}
264 
265 
266     /**
267      * <p>List of global secondary indexes for the restored table. The indexes provided
268      * should match existing secondary indexes. You can choose to exclude some or all
269      * of the indexes at the time of restore.</p>
270      */
GetGlobalSecondaryIndexOverride()271     inline const Aws::Vector<GlobalSecondaryIndex>& GetGlobalSecondaryIndexOverride() const{ return m_globalSecondaryIndexOverride; }
272 
273     /**
274      * <p>List of global secondary indexes for the restored table. The indexes provided
275      * should match existing secondary indexes. You can choose to exclude some or all
276      * of the indexes at the time of restore.</p>
277      */
GlobalSecondaryIndexOverrideHasBeenSet()278     inline bool GlobalSecondaryIndexOverrideHasBeenSet() const { return m_globalSecondaryIndexOverrideHasBeenSet; }
279 
280     /**
281      * <p>List of global secondary indexes for the restored table. The indexes provided
282      * should match existing secondary indexes. You can choose to exclude some or all
283      * of the indexes at the time of restore.</p>
284      */
SetGlobalSecondaryIndexOverride(const Aws::Vector<GlobalSecondaryIndex> & value)285     inline void SetGlobalSecondaryIndexOverride(const Aws::Vector<GlobalSecondaryIndex>& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride = value; }
286 
287     /**
288      * <p>List of global secondary indexes for the restored table. The indexes provided
289      * should match existing secondary indexes. You can choose to exclude some or all
290      * of the indexes at the time of restore.</p>
291      */
SetGlobalSecondaryIndexOverride(Aws::Vector<GlobalSecondaryIndex> && value)292     inline void SetGlobalSecondaryIndexOverride(Aws::Vector<GlobalSecondaryIndex>&& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride = std::move(value); }
293 
294     /**
295      * <p>List of global secondary indexes for the restored table. The indexes provided
296      * should match existing secondary indexes. You can choose to exclude some or all
297      * of the indexes at the time of restore.</p>
298      */
WithGlobalSecondaryIndexOverride(const Aws::Vector<GlobalSecondaryIndex> & value)299     inline RestoreTableToPointInTimeRequest& WithGlobalSecondaryIndexOverride(const Aws::Vector<GlobalSecondaryIndex>& value) { SetGlobalSecondaryIndexOverride(value); return *this;}
300 
301     /**
302      * <p>List of global secondary indexes for the restored table. The indexes provided
303      * should match existing secondary indexes. You can choose to exclude some or all
304      * of the indexes at the time of restore.</p>
305      */
WithGlobalSecondaryIndexOverride(Aws::Vector<GlobalSecondaryIndex> && value)306     inline RestoreTableToPointInTimeRequest& WithGlobalSecondaryIndexOverride(Aws::Vector<GlobalSecondaryIndex>&& value) { SetGlobalSecondaryIndexOverride(std::move(value)); return *this;}
307 
308     /**
309      * <p>List of global secondary indexes for the restored table. The indexes provided
310      * should match existing secondary indexes. You can choose to exclude some or all
311      * of the indexes at the time of restore.</p>
312      */
AddGlobalSecondaryIndexOverride(const GlobalSecondaryIndex & value)313     inline RestoreTableToPointInTimeRequest& AddGlobalSecondaryIndexOverride(const GlobalSecondaryIndex& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride.push_back(value); return *this; }
314 
315     /**
316      * <p>List of global secondary indexes for the restored table. The indexes provided
317      * should match existing secondary indexes. You can choose to exclude some or all
318      * of the indexes at the time of restore.</p>
319      */
AddGlobalSecondaryIndexOverride(GlobalSecondaryIndex && value)320     inline RestoreTableToPointInTimeRequest& AddGlobalSecondaryIndexOverride(GlobalSecondaryIndex&& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride.push_back(std::move(value)); return *this; }
321 
322 
323     /**
324      * <p>List of local secondary indexes for the restored table. The indexes provided
325      * should match existing secondary indexes. You can choose to exclude some or all
326      * of the indexes at the time of restore.</p>
327      */
GetLocalSecondaryIndexOverride()328     inline const Aws::Vector<LocalSecondaryIndex>& GetLocalSecondaryIndexOverride() const{ return m_localSecondaryIndexOverride; }
329 
330     /**
331      * <p>List of local secondary indexes for the restored table. The indexes provided
332      * should match existing secondary indexes. You can choose to exclude some or all
333      * of the indexes at the time of restore.</p>
334      */
LocalSecondaryIndexOverrideHasBeenSet()335     inline bool LocalSecondaryIndexOverrideHasBeenSet() const { return m_localSecondaryIndexOverrideHasBeenSet; }
336 
337     /**
338      * <p>List of local secondary indexes for the restored table. The indexes provided
339      * should match existing secondary indexes. You can choose to exclude some or all
340      * of the indexes at the time of restore.</p>
341      */
SetLocalSecondaryIndexOverride(const Aws::Vector<LocalSecondaryIndex> & value)342     inline void SetLocalSecondaryIndexOverride(const Aws::Vector<LocalSecondaryIndex>& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride = value; }
343 
344     /**
345      * <p>List of local secondary indexes for the restored table. The indexes provided
346      * should match existing secondary indexes. You can choose to exclude some or all
347      * of the indexes at the time of restore.</p>
348      */
SetLocalSecondaryIndexOverride(Aws::Vector<LocalSecondaryIndex> && value)349     inline void SetLocalSecondaryIndexOverride(Aws::Vector<LocalSecondaryIndex>&& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride = std::move(value); }
350 
351     /**
352      * <p>List of local secondary indexes for the restored table. The indexes provided
353      * should match existing secondary indexes. You can choose to exclude some or all
354      * of the indexes at the time of restore.</p>
355      */
WithLocalSecondaryIndexOverride(const Aws::Vector<LocalSecondaryIndex> & value)356     inline RestoreTableToPointInTimeRequest& WithLocalSecondaryIndexOverride(const Aws::Vector<LocalSecondaryIndex>& value) { SetLocalSecondaryIndexOverride(value); return *this;}
357 
358     /**
359      * <p>List of local secondary indexes for the restored table. The indexes provided
360      * should match existing secondary indexes. You can choose to exclude some or all
361      * of the indexes at the time of restore.</p>
362      */
WithLocalSecondaryIndexOverride(Aws::Vector<LocalSecondaryIndex> && value)363     inline RestoreTableToPointInTimeRequest& WithLocalSecondaryIndexOverride(Aws::Vector<LocalSecondaryIndex>&& value) { SetLocalSecondaryIndexOverride(std::move(value)); return *this;}
364 
365     /**
366      * <p>List of local secondary indexes for the restored table. The indexes provided
367      * should match existing secondary indexes. You can choose to exclude some or all
368      * of the indexes at the time of restore.</p>
369      */
AddLocalSecondaryIndexOverride(const LocalSecondaryIndex & value)370     inline RestoreTableToPointInTimeRequest& AddLocalSecondaryIndexOverride(const LocalSecondaryIndex& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride.push_back(value); return *this; }
371 
372     /**
373      * <p>List of local secondary indexes for the restored table. The indexes provided
374      * should match existing secondary indexes. You can choose to exclude some or all
375      * of the indexes at the time of restore.</p>
376      */
AddLocalSecondaryIndexOverride(LocalSecondaryIndex && value)377     inline RestoreTableToPointInTimeRequest& AddLocalSecondaryIndexOverride(LocalSecondaryIndex&& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride.push_back(std::move(value)); return *this; }
378 
379 
380     /**
381      * <p>Provisioned throughput settings for the restored table.</p>
382      */
GetProvisionedThroughputOverride()383     inline const ProvisionedThroughput& GetProvisionedThroughputOverride() const{ return m_provisionedThroughputOverride; }
384 
385     /**
386      * <p>Provisioned throughput settings for the restored table.</p>
387      */
ProvisionedThroughputOverrideHasBeenSet()388     inline bool ProvisionedThroughputOverrideHasBeenSet() const { return m_provisionedThroughputOverrideHasBeenSet; }
389 
390     /**
391      * <p>Provisioned throughput settings for the restored table.</p>
392      */
SetProvisionedThroughputOverride(const ProvisionedThroughput & value)393     inline void SetProvisionedThroughputOverride(const ProvisionedThroughput& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = value; }
394 
395     /**
396      * <p>Provisioned throughput settings for the restored table.</p>
397      */
SetProvisionedThroughputOverride(ProvisionedThroughput && value)398     inline void SetProvisionedThroughputOverride(ProvisionedThroughput&& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = std::move(value); }
399 
400     /**
401      * <p>Provisioned throughput settings for the restored table.</p>
402      */
WithProvisionedThroughputOverride(const ProvisionedThroughput & value)403     inline RestoreTableToPointInTimeRequest& WithProvisionedThroughputOverride(const ProvisionedThroughput& value) { SetProvisionedThroughputOverride(value); return *this;}
404 
405     /**
406      * <p>Provisioned throughput settings for the restored table.</p>
407      */
WithProvisionedThroughputOverride(ProvisionedThroughput && value)408     inline RestoreTableToPointInTimeRequest& WithProvisionedThroughputOverride(ProvisionedThroughput&& value) { SetProvisionedThroughputOverride(std::move(value)); return *this;}
409 
410 
411     /**
412      * <p>The new server-side encryption settings for the restored table.</p>
413      */
GetSSESpecificationOverride()414     inline const SSESpecification& GetSSESpecificationOverride() const{ return m_sSESpecificationOverride; }
415 
416     /**
417      * <p>The new server-side encryption settings for the restored table.</p>
418      */
SSESpecificationOverrideHasBeenSet()419     inline bool SSESpecificationOverrideHasBeenSet() const { return m_sSESpecificationOverrideHasBeenSet; }
420 
421     /**
422      * <p>The new server-side encryption settings for the restored table.</p>
423      */
SetSSESpecificationOverride(const SSESpecification & value)424     inline void SetSSESpecificationOverride(const SSESpecification& value) { m_sSESpecificationOverrideHasBeenSet = true; m_sSESpecificationOverride = value; }
425 
426     /**
427      * <p>The new server-side encryption settings for the restored table.</p>
428      */
SetSSESpecificationOverride(SSESpecification && value)429     inline void SetSSESpecificationOverride(SSESpecification&& value) { m_sSESpecificationOverrideHasBeenSet = true; m_sSESpecificationOverride = std::move(value); }
430 
431     /**
432      * <p>The new server-side encryption settings for the restored table.</p>
433      */
WithSSESpecificationOverride(const SSESpecification & value)434     inline RestoreTableToPointInTimeRequest& WithSSESpecificationOverride(const SSESpecification& value) { SetSSESpecificationOverride(value); return *this;}
435 
436     /**
437      * <p>The new server-side encryption settings for the restored table.</p>
438      */
WithSSESpecificationOverride(SSESpecification && value)439     inline RestoreTableToPointInTimeRequest& WithSSESpecificationOverride(SSESpecification&& value) { SetSSESpecificationOverride(std::move(value)); return *this;}
440 
441   private:
442 
443     Aws::String m_sourceTableArn;
444     bool m_sourceTableArnHasBeenSet;
445 
446     Aws::String m_sourceTableName;
447     bool m_sourceTableNameHasBeenSet;
448 
449     Aws::String m_targetTableName;
450     bool m_targetTableNameHasBeenSet;
451 
452     bool m_useLatestRestorableTime;
453     bool m_useLatestRestorableTimeHasBeenSet;
454 
455     Aws::Utils::DateTime m_restoreDateTime;
456     bool m_restoreDateTimeHasBeenSet;
457 
458     BillingMode m_billingModeOverride;
459     bool m_billingModeOverrideHasBeenSet;
460 
461     Aws::Vector<GlobalSecondaryIndex> m_globalSecondaryIndexOverride;
462     bool m_globalSecondaryIndexOverrideHasBeenSet;
463 
464     Aws::Vector<LocalSecondaryIndex> m_localSecondaryIndexOverride;
465     bool m_localSecondaryIndexOverrideHasBeenSet;
466 
467     ProvisionedThroughput m_provisionedThroughputOverride;
468     bool m_provisionedThroughputOverrideHasBeenSet;
469 
470     SSESpecification m_sSESpecificationOverride;
471     bool m_sSESpecificationOverrideHasBeenSet;
472   };
473 
474 } // namespace Model
475 } // namespace DynamoDB
476 } // namespace Aws
477