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/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/dynamodb/model/ProvisionedThroughput.h> 12 #include <aws/dynamodb/model/BillingMode.h> 13 #include <aws/dynamodb/model/KeySchemaElement.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace DynamoDB 27 { 28 namespace Model 29 { 30 31 /** 32 * <p>Contains the details of the table when the backup was created. </p><p><h3>See 33 * Also:</h3> <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SourceTableDetails">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_DYNAMODB_API SourceTableDetails 38 { 39 public: 40 SourceTableDetails(); 41 SourceTableDetails(Aws::Utils::Json::JsonView jsonValue); 42 SourceTableDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 43 Aws::Utils::Json::JsonValue Jsonize() const; 44 45 46 /** 47 * <p>The name of the table for which the backup was created. </p> 48 */ GetTableName()49 inline const Aws::String& GetTableName() const{ return m_tableName; } 50 51 /** 52 * <p>The name of the table for which the backup was created. </p> 53 */ TableNameHasBeenSet()54 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } 55 56 /** 57 * <p>The name of the table for which the backup was created. </p> 58 */ SetTableName(const Aws::String & value)59 inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } 60 61 /** 62 * <p>The name of the table for which the backup was created. </p> 63 */ SetTableName(Aws::String && value)64 inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } 65 66 /** 67 * <p>The name of the table for which the backup was created. </p> 68 */ SetTableName(const char * value)69 inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } 70 71 /** 72 * <p>The name of the table for which the backup was created. </p> 73 */ WithTableName(const Aws::String & value)74 inline SourceTableDetails& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} 75 76 /** 77 * <p>The name of the table for which the backup was created. </p> 78 */ WithTableName(Aws::String && value)79 inline SourceTableDetails& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} 80 81 /** 82 * <p>The name of the table for which the backup was created. </p> 83 */ WithTableName(const char * value)84 inline SourceTableDetails& WithTableName(const char* value) { SetTableName(value); return *this;} 85 86 87 /** 88 * <p>Unique identifier for the table for which the backup was created. </p> 89 */ GetTableId()90 inline const Aws::String& GetTableId() const{ return m_tableId; } 91 92 /** 93 * <p>Unique identifier for the table for which the backup was created. </p> 94 */ TableIdHasBeenSet()95 inline bool TableIdHasBeenSet() const { return m_tableIdHasBeenSet; } 96 97 /** 98 * <p>Unique identifier for the table for which the backup was created. </p> 99 */ SetTableId(const Aws::String & value)100 inline void SetTableId(const Aws::String& value) { m_tableIdHasBeenSet = true; m_tableId = value; } 101 102 /** 103 * <p>Unique identifier for the table for which the backup was created. </p> 104 */ SetTableId(Aws::String && value)105 inline void SetTableId(Aws::String&& value) { m_tableIdHasBeenSet = true; m_tableId = std::move(value); } 106 107 /** 108 * <p>Unique identifier for the table for which the backup was created. </p> 109 */ SetTableId(const char * value)110 inline void SetTableId(const char* value) { m_tableIdHasBeenSet = true; m_tableId.assign(value); } 111 112 /** 113 * <p>Unique identifier for the table for which the backup was created. </p> 114 */ WithTableId(const Aws::String & value)115 inline SourceTableDetails& WithTableId(const Aws::String& value) { SetTableId(value); return *this;} 116 117 /** 118 * <p>Unique identifier for the table for which the backup was created. </p> 119 */ WithTableId(Aws::String && value)120 inline SourceTableDetails& WithTableId(Aws::String&& value) { SetTableId(std::move(value)); return *this;} 121 122 /** 123 * <p>Unique identifier for the table for which the backup was created. </p> 124 */ WithTableId(const char * value)125 inline SourceTableDetails& WithTableId(const char* value) { SetTableId(value); return *this;} 126 127 128 /** 129 * <p>ARN of the table for which backup was created. </p> 130 */ GetTableArn()131 inline const Aws::String& GetTableArn() const{ return m_tableArn; } 132 133 /** 134 * <p>ARN of the table for which backup was created. </p> 135 */ TableArnHasBeenSet()136 inline bool TableArnHasBeenSet() const { return m_tableArnHasBeenSet; } 137 138 /** 139 * <p>ARN of the table for which backup was created. </p> 140 */ SetTableArn(const Aws::String & value)141 inline void SetTableArn(const Aws::String& value) { m_tableArnHasBeenSet = true; m_tableArn = value; } 142 143 /** 144 * <p>ARN of the table for which backup was created. </p> 145 */ SetTableArn(Aws::String && value)146 inline void SetTableArn(Aws::String&& value) { m_tableArnHasBeenSet = true; m_tableArn = std::move(value); } 147 148 /** 149 * <p>ARN of the table for which backup was created. </p> 150 */ SetTableArn(const char * value)151 inline void SetTableArn(const char* value) { m_tableArnHasBeenSet = true; m_tableArn.assign(value); } 152 153 /** 154 * <p>ARN of the table for which backup was created. </p> 155 */ WithTableArn(const Aws::String & value)156 inline SourceTableDetails& WithTableArn(const Aws::String& value) { SetTableArn(value); return *this;} 157 158 /** 159 * <p>ARN of the table for which backup was created. </p> 160 */ WithTableArn(Aws::String && value)161 inline SourceTableDetails& WithTableArn(Aws::String&& value) { SetTableArn(std::move(value)); return *this;} 162 163 /** 164 * <p>ARN of the table for which backup was created. </p> 165 */ WithTableArn(const char * value)166 inline SourceTableDetails& WithTableArn(const char* value) { SetTableArn(value); return *this;} 167 168 169 /** 170 * <p>Size of the table in bytes. Note that this is an approximate value.</p> 171 */ GetTableSizeBytes()172 inline long long GetTableSizeBytes() const{ return m_tableSizeBytes; } 173 174 /** 175 * <p>Size of the table in bytes. Note that this is an approximate value.</p> 176 */ TableSizeBytesHasBeenSet()177 inline bool TableSizeBytesHasBeenSet() const { return m_tableSizeBytesHasBeenSet; } 178 179 /** 180 * <p>Size of the table in bytes. Note that this is an approximate value.</p> 181 */ SetTableSizeBytes(long long value)182 inline void SetTableSizeBytes(long long value) { m_tableSizeBytesHasBeenSet = true; m_tableSizeBytes = value; } 183 184 /** 185 * <p>Size of the table in bytes. Note that this is an approximate value.</p> 186 */ WithTableSizeBytes(long long value)187 inline SourceTableDetails& WithTableSizeBytes(long long value) { SetTableSizeBytes(value); return *this;} 188 189 190 /** 191 * <p>Schema of the table. </p> 192 */ GetKeySchema()193 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const{ return m_keySchema; } 194 195 /** 196 * <p>Schema of the table. </p> 197 */ KeySchemaHasBeenSet()198 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; } 199 200 /** 201 * <p>Schema of the table. </p> 202 */ SetKeySchema(const Aws::Vector<KeySchemaElement> & value)203 inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; } 204 205 /** 206 * <p>Schema of the table. </p> 207 */ SetKeySchema(Aws::Vector<KeySchemaElement> && value)208 inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::move(value); } 209 210 /** 211 * <p>Schema of the table. </p> 212 */ WithKeySchema(const Aws::Vector<KeySchemaElement> & value)213 inline SourceTableDetails& WithKeySchema(const Aws::Vector<KeySchemaElement>& value) { SetKeySchema(value); return *this;} 214 215 /** 216 * <p>Schema of the table. </p> 217 */ WithKeySchema(Aws::Vector<KeySchemaElement> && value)218 inline SourceTableDetails& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(std::move(value)); return *this;} 219 220 /** 221 * <p>Schema of the table. </p> 222 */ AddKeySchema(const KeySchemaElement & value)223 inline SourceTableDetails& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; } 224 225 /** 226 * <p>Schema of the table. </p> 227 */ AddKeySchema(KeySchemaElement && value)228 inline SourceTableDetails& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(std::move(value)); return *this; } 229 230 231 /** 232 * <p>Time when the source table was created. </p> 233 */ GetTableCreationDateTime()234 inline const Aws::Utils::DateTime& GetTableCreationDateTime() const{ return m_tableCreationDateTime; } 235 236 /** 237 * <p>Time when the source table was created. </p> 238 */ TableCreationDateTimeHasBeenSet()239 inline bool TableCreationDateTimeHasBeenSet() const { return m_tableCreationDateTimeHasBeenSet; } 240 241 /** 242 * <p>Time when the source table was created. </p> 243 */ SetTableCreationDateTime(const Aws::Utils::DateTime & value)244 inline void SetTableCreationDateTime(const Aws::Utils::DateTime& value) { m_tableCreationDateTimeHasBeenSet = true; m_tableCreationDateTime = value; } 245 246 /** 247 * <p>Time when the source table was created. </p> 248 */ SetTableCreationDateTime(Aws::Utils::DateTime && value)249 inline void SetTableCreationDateTime(Aws::Utils::DateTime&& value) { m_tableCreationDateTimeHasBeenSet = true; m_tableCreationDateTime = std::move(value); } 250 251 /** 252 * <p>Time when the source table was created. </p> 253 */ WithTableCreationDateTime(const Aws::Utils::DateTime & value)254 inline SourceTableDetails& WithTableCreationDateTime(const Aws::Utils::DateTime& value) { SetTableCreationDateTime(value); return *this;} 255 256 /** 257 * <p>Time when the source table was created. </p> 258 */ WithTableCreationDateTime(Aws::Utils::DateTime && value)259 inline SourceTableDetails& WithTableCreationDateTime(Aws::Utils::DateTime&& value) { SetTableCreationDateTime(std::move(value)); return *this;} 260 261 262 /** 263 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 264 */ GetProvisionedThroughput()265 inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; } 266 267 /** 268 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 269 */ ProvisionedThroughputHasBeenSet()270 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; } 271 272 /** 273 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 274 */ SetProvisionedThroughput(const ProvisionedThroughput & value)275 inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; } 276 277 /** 278 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 279 */ SetProvisionedThroughput(ProvisionedThroughput && value)280 inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); } 281 282 /** 283 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 284 */ WithProvisionedThroughput(const ProvisionedThroughput & value)285 inline SourceTableDetails& WithProvisionedThroughput(const ProvisionedThroughput& value) { SetProvisionedThroughput(value); return *this;} 286 287 /** 288 * <p>Read IOPs and Write IOPS on the table when the backup was created.</p> 289 */ WithProvisionedThroughput(ProvisionedThroughput && value)290 inline SourceTableDetails& WithProvisionedThroughput(ProvisionedThroughput&& value) { SetProvisionedThroughput(std::move(value)); return *this;} 291 292 293 /** 294 * <p>Number of items in the table. Note that this is an approximate value. </p> 295 */ GetItemCount()296 inline long long GetItemCount() const{ return m_itemCount; } 297 298 /** 299 * <p>Number of items in the table. Note that this is an approximate value. </p> 300 */ ItemCountHasBeenSet()301 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; } 302 303 /** 304 * <p>Number of items in the table. Note that this is an approximate value. </p> 305 */ SetItemCount(long long value)306 inline void SetItemCount(long long value) { m_itemCountHasBeenSet = true; m_itemCount = value; } 307 308 /** 309 * <p>Number of items in the table. Note that this is an approximate value. </p> 310 */ WithItemCount(long long value)311 inline SourceTableDetails& WithItemCount(long long value) { SetItemCount(value); return *this;} 312 313 314 /** 315 * <p>Controls how you are charged for read and write throughput and how you manage 316 * capacity. This setting can be changed later.</p> <ul> <li> <p> 317 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 318 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 319 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 320 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 321 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 322 */ GetBillingMode()323 inline const BillingMode& GetBillingMode() const{ return m_billingMode; } 324 325 /** 326 * <p>Controls how you are charged for read and write throughput and how you manage 327 * capacity. This setting can be changed later.</p> <ul> <li> <p> 328 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 329 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 330 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 331 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 332 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 333 */ BillingModeHasBeenSet()334 inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; } 335 336 /** 337 * <p>Controls how you are charged for read and write throughput and how you manage 338 * capacity. This setting can be changed later.</p> <ul> <li> <p> 339 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 340 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 341 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 342 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 343 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 344 */ SetBillingMode(const BillingMode & value)345 inline void SetBillingMode(const BillingMode& value) { m_billingModeHasBeenSet = true; m_billingMode = value; } 346 347 /** 348 * <p>Controls how you are charged for read and write throughput and how you manage 349 * capacity. This setting can be changed later.</p> <ul> <li> <p> 350 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 351 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 352 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 353 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 354 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 355 */ SetBillingMode(BillingMode && value)356 inline void SetBillingMode(BillingMode&& value) { m_billingModeHasBeenSet = true; m_billingMode = std::move(value); } 357 358 /** 359 * <p>Controls how you are charged for read and write throughput and how you manage 360 * capacity. This setting can be changed later.</p> <ul> <li> <p> 361 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 362 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 363 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 364 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 365 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 366 */ WithBillingMode(const BillingMode & value)367 inline SourceTableDetails& WithBillingMode(const BillingMode& value) { SetBillingMode(value); return *this;} 368 369 /** 370 * <p>Controls how you are charged for read and write throughput and how you manage 371 * capacity. This setting can be changed later.</p> <ul> <li> <p> 372 * <code>PROVISIONED</code> - Sets the read/write capacity mode to 373 * <code>PROVISIONED</code>. We recommend using <code>PROVISIONED</code> for 374 * predictable workloads.</p> </li> <li> <p> <code>PAY_PER_REQUEST</code> - Sets 375 * the read/write capacity mode to <code>PAY_PER_REQUEST</code>. We recommend using 376 * <code>PAY_PER_REQUEST</code> for unpredictable workloads. </p> </li> </ul> 377 */ WithBillingMode(BillingMode && value)378 inline SourceTableDetails& WithBillingMode(BillingMode&& value) { SetBillingMode(std::move(value)); return *this;} 379 380 private: 381 382 Aws::String m_tableName; 383 bool m_tableNameHasBeenSet; 384 385 Aws::String m_tableId; 386 bool m_tableIdHasBeenSet; 387 388 Aws::String m_tableArn; 389 bool m_tableArnHasBeenSet; 390 391 long long m_tableSizeBytes; 392 bool m_tableSizeBytesHasBeenSet; 393 394 Aws::Vector<KeySchemaElement> m_keySchema; 395 bool m_keySchemaHasBeenSet; 396 397 Aws::Utils::DateTime m_tableCreationDateTime; 398 bool m_tableCreationDateTimeHasBeenSet; 399 400 ProvisionedThroughput m_provisionedThroughput; 401 bool m_provisionedThroughputHasBeenSet; 402 403 long long m_itemCount; 404 bool m_itemCountHasBeenSet; 405 406 BillingMode m_billingMode; 407 bool m_billingModeHasBeenSet; 408 }; 409 410 } // namespace Model 411 } // namespace DynamoDB 412 } // namespace Aws 413