1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Contains details of a table archival operation. 10type ArchivalSummary struct { 11 12 // The Amazon Resource Name (ARN) of the backup the table was archived to, when 13 // applicable in the archival reason. If you wish to restore this backup to the 14 // same table name, you will need to delete the original table. 15 ArchivalBackupArn *string 16 17 // The date and time when table archival was initiated by DynamoDB, in UNIX epoch 18 // time format. 19 ArchivalDateTime *time.Time 20 21 // The reason DynamoDB archived the table. Currently, the only possible value 22 // is: 23 // 24 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to the 25 // table's AWS KMS key being inaccessible for more than seven days. An On-Demand 26 // backup was created at the archival time. 27 ArchivalReason *string 28} 29 30// Represents an attribute for describing the key schema for the table and indexes. 31type AttributeDefinition struct { 32 33 // A name for the attribute. 34 // 35 // This member is required. 36 AttributeName *string 37 38 // The data type for the attribute, where: 39 // 40 // * S - the attribute is of type 41 // String 42 // 43 // * N - the attribute is of type Number 44 // 45 // * B - the attribute is of type 46 // Binary 47 // 48 // This member is required. 49 AttributeType ScalarAttributeType 50} 51 52// Represents the data for an attribute. Each attribute value is described as a 53// name-value pair. The name is the data type, and the value is the data itself. 54// For more information, see Data Types 55// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 56// in the Amazon DynamoDB Developer Guide. 57// 58// The following types satisfy this interface: 59// AttributeValueMemberS 60// AttributeValueMemberN 61// AttributeValueMemberB 62// AttributeValueMemberSS 63// AttributeValueMemberNS 64// AttributeValueMemberBS 65// AttributeValueMemberM 66// AttributeValueMemberL 67// AttributeValueMemberNULL 68// AttributeValueMemberBOOL 69type AttributeValue interface { 70 isAttributeValue() 71} 72 73// An attribute of type String. For example: "S": "Hello" 74type AttributeValueMemberS struct { 75 Value string 76} 77 78func (*AttributeValueMemberS) isAttributeValue() {} 79 80// An attribute of type Number. For example: "N": "123.45" Numbers are sent across 81// the network to DynamoDB as strings, to maximize compatibility across languages 82// and libraries. However, DynamoDB treats them as number type attributes for 83// mathematical operations. 84type AttributeValueMemberN struct { 85 Value string 86} 87 88func (*AttributeValueMemberN) isAttributeValue() {} 89 90// An attribute of type Binary. For example: "B": 91// "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" 92type AttributeValueMemberB struct { 93 Value []byte 94} 95 96func (*AttributeValueMemberB) isAttributeValue() {} 97 98// An attribute of type String Set. For example: "SS": ["Giraffe", "Hippo" 99// ,"Zebra"] 100type AttributeValueMemberSS struct { 101 Value []string 102} 103 104func (*AttributeValueMemberSS) isAttributeValue() {} 105 106// An attribute of type Number Set. For example: "NS": ["42.2", "-19", "7.5", 107// "3.14"] Numbers are sent across the network to DynamoDB as strings, to maximize 108// compatibility across languages and libraries. However, DynamoDB treats them as 109// number type attributes for mathematical operations. 110type AttributeValueMemberNS struct { 111 Value []string 112} 113 114func (*AttributeValueMemberNS) isAttributeValue() {} 115 116// An attribute of type Binary Set. For example: "BS": ["U3Vubnk=", "UmFpbnk=", 117// "U25vd3k="] 118type AttributeValueMemberBS struct { 119 Value [][]byte 120} 121 122func (*AttributeValueMemberBS) isAttributeValue() {} 123 124// An attribute of type Map. For example: "M": {"Name": {"S": "Joe"}, "Age": {"N": 125// "35"}} 126type AttributeValueMemberM struct { 127 Value map[string]AttributeValue 128} 129 130func (*AttributeValueMemberM) isAttributeValue() {} 131 132// An attribute of type List. For example: "L": [ {"S": "Cookies"} , {"S": 133// "Coffee"}, {"N", "3.14159"}] 134type AttributeValueMemberL struct { 135 Value []AttributeValue 136} 137 138func (*AttributeValueMemberL) isAttributeValue() {} 139 140// An attribute of type Null. For example: "NULL": true 141type AttributeValueMemberNULL struct { 142 Value bool 143} 144 145func (*AttributeValueMemberNULL) isAttributeValue() {} 146 147// An attribute of type Boolean. For example: "BOOL": true 148type AttributeValueMemberBOOL struct { 149 Value bool 150} 151 152func (*AttributeValueMemberBOOL) isAttributeValue() {} 153 154// For the UpdateItem operation, represents the attributes to be modified, the 155// action to perform on each, and the new value for each. You cannot use UpdateItem 156// to update any primary key attributes. Instead, you will need to delete the item, 157// and then use PutItem to create a new item with new attributes. Attribute values 158// cannot be null; string and binary type attributes must have lengths greater than 159// zero; and set type attributes must not be empty. Requests with empty values will 160// be rejected with a ValidationException exception. 161type AttributeValueUpdate struct { 162 163 // Specifies how to perform the update. Valid values are PUT (default), DELETE, and 164 // ADD. The behavior depends on whether the specified primary key already exists in 165 // the table. If an item with the specified Key is found in the table: 166 // 167 // * PUT - 168 // Adds the specified attribute to the item. If the attribute already exists, it is 169 // replaced by the new value. 170 // 171 // * DELETE - If no value is specified, the attribute 172 // and its value are removed from the item. The data type of the specified value 173 // must match the existing value's data type. If a set of values is specified, then 174 // those values are subtracted from the old set. For example, if the attribute 175 // value was the set [a,b,c] and the DELETE action specified [a,c], then the final 176 // attribute value would be [b]. Specifying an empty set is an error. 177 // 178 // * ADD - If 179 // the attribute does not already exist, then the attribute and its values are 180 // added to the item. If the attribute does exist, then the behavior of ADD depends 181 // on the data type of the attribute: 182 // 183 // * If the existing attribute is a number, and 184 // if Value is also a number, then the Value is mathematically added to the 185 // existing attribute. If Value is a negative number, then it is subtracted from 186 // the existing attribute. If you use ADD to increment or decrement a number value 187 // for an item that doesn't exist before the update, DynamoDB uses 0 as the initial 188 // value. In addition, if you use ADD to update an existing item, and intend to 189 // increment or decrement an attribute value which does not yet exist, DynamoDB 190 // uses 0 as the initial value. For example, suppose that the item you want to 191 // update does not yet have an attribute named itemcount, but you decide to ADD the 192 // number 3 to this attribute anyway, even though it currently does not exist. 193 // DynamoDB will create the itemcount attribute, set its initial value to 0, and 194 // finally add 3 to it. The result will be a new itemcount attribute in the item, 195 // with a value of 3. 196 // 197 // * If the existing data type is a set, and if the Value is 198 // also a set, then the Value is added to the existing set. (This is a set 199 // operation, not mathematical addition.) For example, if the attribute value was 200 // the set [1,2], and the ADD action specified [3], then the final attribute value 201 // would be [1,2,3]. An error occurs if an Add action is specified for a set 202 // attribute and the attribute type specified does not match the existing set type. 203 // Both sets must have the same primitive data type. For example, if the existing 204 // data type is a set of strings, the Value must also be a set of strings. The same 205 // holds true for number sets and binary sets. 206 // 207 // This action is only valid for an 208 // existing attribute whose data type is number or is a set. Do not use ADD for any 209 // other data types. 210 // 211 // If no item with the specified Key is found: 212 // 213 // * PUT - DynamoDB 214 // creates a new item with the specified primary key, and then adds the 215 // attribute. 216 // 217 // * DELETE - Nothing happens; there is no attribute to delete. 218 // 219 // * ADD 220 // - DynamoDB creates an item with the supplied primary key and number (or set of 221 // numbers) for the attribute value. The only data types allowed are number and 222 // number set; no other data types can be specified. 223 Action AttributeAction 224 225 // Represents the data for an attribute. Each attribute value is described as a 226 // name-value pair. The name is the data type, and the value is the data itself. 227 // For more information, see Data Types 228 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 229 // in the Amazon DynamoDB Developer Guide. 230 Value AttributeValue 231} 232 233// Represents the properties of the scaling policy. 234type AutoScalingPolicyDescription struct { 235 236 // The name of the scaling policy. 237 PolicyName *string 238 239 // Represents a target tracking scaling policy configuration. 240 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationDescription 241} 242 243// Represents the auto scaling policy to be modified. 244type AutoScalingPolicyUpdate struct { 245 246 // Represents a target tracking scaling policy configuration. 247 // 248 // This member is required. 249 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate 250 251 // The name of the scaling policy. 252 PolicyName *string 253} 254 255// Represents the auto scaling settings for a global table or global secondary 256// index. 257type AutoScalingSettingsDescription struct { 258 259 // Disabled auto scaling for this global table or global secondary index. 260 AutoScalingDisabled *bool 261 262 // Role ARN used for configuring the auto scaling policy. 263 AutoScalingRoleArn *string 264 265 // The maximum capacity units that a global table or global secondary index should 266 // be scaled up to. 267 MaximumUnits *int64 268 269 // The minimum capacity units that a global table or global secondary index should 270 // be scaled down to. 271 MinimumUnits *int64 272 273 // Information about the scaling policies. 274 ScalingPolicies []AutoScalingPolicyDescription 275} 276 277// Represents the auto scaling settings to be modified for a global table or global 278// secondary index. 279type AutoScalingSettingsUpdate struct { 280 281 // Disabled auto scaling for this global table or global secondary index. 282 AutoScalingDisabled *bool 283 284 // Role ARN used for configuring auto scaling policy. 285 AutoScalingRoleArn *string 286 287 // The maximum capacity units that a global table or global secondary index should 288 // be scaled up to. 289 MaximumUnits *int64 290 291 // The minimum capacity units that a global table or global secondary index should 292 // be scaled down to. 293 MinimumUnits *int64 294 295 // The scaling policy to apply for scaling target global table or global secondary 296 // index capacity units. 297 ScalingPolicyUpdate *AutoScalingPolicyUpdate 298} 299 300// Represents the properties of a target tracking scaling policy. 301type AutoScalingTargetTrackingScalingPolicyConfigurationDescription struct { 302 303 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 304 // (Base 10) or 2e-360 to 2e360 (Base 2). 305 // 306 // This member is required. 307 TargetValue *float64 308 309 // Indicates whether scale in by the target tracking policy is disabled. If the 310 // value is true, scale in is disabled and the target tracking policy won't remove 311 // capacity from the scalable resource. Otherwise, scale in is enabled and the 312 // target tracking policy can remove capacity from the scalable resource. The 313 // default value is false. 314 DisableScaleIn *bool 315 316 // The amount of time, in seconds, after a scale in activity completes before 317 // another scale in activity can start. The cooldown period is used to block 318 // subsequent scale in requests until it has expired. You should scale in 319 // conservatively to protect your application's availability. However, if another 320 // alarm triggers a scale out policy during the cooldown period after a scale-in, 321 // application auto scaling scales out your scalable target immediately. 322 ScaleInCooldown *int32 323 324 // The amount of time, in seconds, after a scale out activity completes before 325 // another scale out activity can start. While the cooldown period is in effect, 326 // the capacity that has been added by the previous scale out event that initiated 327 // the cooldown is calculated as part of the desired capacity for the next scale 328 // out. You should continuously (but not excessively) scale out. 329 ScaleOutCooldown *int32 330} 331 332// Represents the settings of a target tracking scaling policy that will be 333// modified. 334type AutoScalingTargetTrackingScalingPolicyConfigurationUpdate struct { 335 336 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 337 // (Base 10) or 2e-360 to 2e360 (Base 2). 338 // 339 // This member is required. 340 TargetValue *float64 341 342 // Indicates whether scale in by the target tracking policy is disabled. If the 343 // value is true, scale in is disabled and the target tracking policy won't remove 344 // capacity from the scalable resource. Otherwise, scale in is enabled and the 345 // target tracking policy can remove capacity from the scalable resource. The 346 // default value is false. 347 DisableScaleIn *bool 348 349 // The amount of time, in seconds, after a scale in activity completes before 350 // another scale in activity can start. The cooldown period is used to block 351 // subsequent scale in requests until it has expired. You should scale in 352 // conservatively to protect your application's availability. However, if another 353 // alarm triggers a scale out policy during the cooldown period after a scale-in, 354 // application auto scaling scales out your scalable target immediately. 355 ScaleInCooldown *int32 356 357 // The amount of time, in seconds, after a scale out activity completes before 358 // another scale out activity can start. While the cooldown period is in effect, 359 // the capacity that has been added by the previous scale out event that initiated 360 // the cooldown is calculated as part of the desired capacity for the next scale 361 // out. You should continuously (but not excessively) scale out. 362 ScaleOutCooldown *int32 363} 364 365// Contains the description of the backup created for the table. 366type BackupDescription struct { 367 368 // Contains the details of the backup created for the table. 369 BackupDetails *BackupDetails 370 371 // Contains the details of the table when the backup was created. 372 SourceTableDetails *SourceTableDetails 373 374 // Contains the details of the features enabled on the table when the backup was 375 // created. For example, LSIs, GSIs, streams, TTL. 376 SourceTableFeatureDetails *SourceTableFeatureDetails 377} 378 379// Contains the details of the backup created for the table. 380type BackupDetails struct { 381 382 // ARN associated with the backup. 383 // 384 // This member is required. 385 BackupArn *string 386 387 // Time at which the backup was created. This is the request time of the backup. 388 // 389 // This member is required. 390 BackupCreationDateTime *time.Time 391 392 // Name of the requested backup. 393 // 394 // This member is required. 395 BackupName *string 396 397 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 398 // 399 // This member is required. 400 BackupStatus BackupStatus 401 402 // BackupType: 403 // 404 // * USER - You create and manage these using the on-demand backup 405 // feature. 406 // 407 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 408 // a SYSTEM backup is automatically created and is retained for 35 days (at no 409 // additional cost). System backups allow you to restore the deleted table to the 410 // state it was in just before the point of deletion. 411 // 412 // * AWS_BACKUP - On-demand 413 // backup created by you from AWS Backup service. 414 // 415 // This member is required. 416 BackupType BackupType 417 418 // Time at which the automatic on-demand backup created by DynamoDB will expire. 419 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 420 BackupExpiryDateTime *time.Time 421 422 // Size of the backup in bytes. 423 BackupSizeBytes *int64 424} 425 426// Contains details for the backup. 427type BackupSummary struct { 428 429 // ARN associated with the backup. 430 BackupArn *string 431 432 // Time at which the backup was created. 433 BackupCreationDateTime *time.Time 434 435 // Time at which the automatic on-demand backup created by DynamoDB will expire. 436 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 437 BackupExpiryDateTime *time.Time 438 439 // Name of the specified backup. 440 BackupName *string 441 442 // Size of the backup in bytes. 443 BackupSizeBytes *int64 444 445 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 446 BackupStatus BackupStatus 447 448 // BackupType: 449 // 450 // * USER - You create and manage these using the on-demand backup 451 // feature. 452 // 453 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 454 // a SYSTEM backup is automatically created and is retained for 35 days (at no 455 // additional cost). System backups allow you to restore the deleted table to the 456 // state it was in just before the point of deletion. 457 // 458 // * AWS_BACKUP - On-demand 459 // backup created by you from AWS Backup service. 460 BackupType BackupType 461 462 // ARN associated with the table. 463 TableArn *string 464 465 // Unique identifier for the table. 466 TableId *string 467 468 // Name of the table. 469 TableName *string 470} 471 472// An error associated with a statement in a PartiQL batch that was run. 473type BatchStatementError struct { 474 475 // The error code associated with the failed PartiQL batch statement. 476 Code BatchStatementErrorCodeEnum 477 478 // The error message associated with the PartiQL batch resposne. 479 Message *string 480} 481 482// A PartiQL batch statement request. 483type BatchStatementRequest struct { 484 485 // A valid PartiQL statement. 486 // 487 // This member is required. 488 Statement *string 489 490 // The read consistency of the PartiQL batch request. 491 ConsistentRead *bool 492 493 // The parameters associated with a PartiQL statement in the batch request. 494 Parameters []AttributeValue 495} 496 497// A PartiQL batch statement response.. 498type BatchStatementResponse struct { 499 500 // The error associated with a failed PartiQL batch statement. 501 Error *BatchStatementError 502 503 // A DynamoDB item associated with a BatchStatementResponse 504 Item map[string]AttributeValue 505 506 // The table name associated with a failed PartiQL batch statement. 507 TableName *string 508} 509 510// Contains the details for the read/write capacity mode. 511type BillingModeSummary struct { 512 513 // Controls how you are charged for read and write throughput and how you manage 514 // capacity. This setting can be changed later. 515 // 516 // * PROVISIONED - Sets the 517 // read/write capacity mode to PROVISIONED. We recommend using PROVISIONED for 518 // predictable workloads. 519 // 520 // * PAY_PER_REQUEST - Sets the read/write capacity mode to 521 // PAY_PER_REQUEST. We recommend using PAY_PER_REQUEST for unpredictable workloads. 522 BillingMode BillingMode 523 524 // Represents the time when PAY_PER_REQUEST was last set as the read/write capacity 525 // mode. 526 LastUpdateToPayPerRequestDateTime *time.Time 527} 528 529// An ordered list of errors for each item in the request which caused the 530// transaction to get cancelled. The values of the list are ordered according to 531// the ordering of the TransactWriteItems request parameter. If no error occurred 532// for the associated item an error with a Null code and Null message will be 533// present. 534type CancellationReason struct { 535 536 // Status code for the result of the cancelled transaction. 537 Code *string 538 539 // Item in the request which caused the transaction to get cancelled. 540 Item map[string]AttributeValue 541 542 // Cancellation reason message description. 543 Message *string 544} 545 546// Represents the amount of provisioned throughput capacity consumed on a table or 547// an index. 548type Capacity struct { 549 550 // The total number of capacity units consumed on a table or an index. 551 CapacityUnits *float64 552 553 // The total number of read capacity units consumed on a table or an index. 554 ReadCapacityUnits *float64 555 556 // The total number of write capacity units consumed on a table or an index. 557 WriteCapacityUnits *float64 558} 559 560// Represents the selection criteria for a Query or Scan operation: 561// 562// * For a Query 563// operation, Condition is used for specifying the KeyConditions to use when 564// querying a table or an index. For KeyConditions, only the following comparison 565// operators are supported: EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEENCondition 566// is also used in a QueryFilter, which evaluates the query results and returns 567// only the desired values. 568// 569// * For a Scan operation, Condition is used in a 570// ScanFilter, which evaluates the scan results and returns only the desired 571// values. 572type Condition struct { 573 574 // A comparator for evaluating attributes. For example, equals, greater than, less 575 // than, etc. The following comparison operators are available: EQ | NE | LE | LT | 576 // GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN 577 // The following are descriptions of each comparison operator. 578 // 579 // * EQ : Equal. EQ is 580 // supported for all data types, including lists and maps. AttributeValueList can 581 // contain only one AttributeValue element of type String, Number, Binary, String 582 // Set, Number Set, or Binary Set. If an item contains an AttributeValue element of 583 // a different type than the one provided in the request, the value does not match. 584 // For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not equal 585 // {"NS":["6", "2", "1"]}. 586 // 587 // * NE : Not equal. NE is supported for all data types, 588 // including lists and maps. AttributeValueList can contain only one AttributeValue 589 // of type String, Number, Binary, String Set, Number Set, or Binary Set. If an 590 // item contains an AttributeValue of a different type than the one provided in the 591 // request, the value does not match. For example, {"S":"6"} does not equal 592 // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 593 // 594 // * LE : Less 595 // than or equal. AttributeValueList can contain only one AttributeValue element of 596 // type String, Number, or Binary (not a set type). If an item contains an 597 // AttributeValue element of a different type than the one provided in the request, 598 // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, 599 // {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. 600 // 601 // * LT : Less than. 602 // AttributeValueList can contain only one AttributeValue of type String, Number, 603 // or Binary (not a set type). If an item contains an AttributeValue element of a 604 // different type than the one provided in the request, the value does not match. 605 // For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not 606 // compare to {"NS":["6", "2", "1"]}. 607 // 608 // * GE : Greater than or equal. 609 // AttributeValueList can contain only one AttributeValue element of type String, 610 // Number, or Binary (not a set type). If an item contains an AttributeValue 611 // element of a different type than the one provided in the request, the value does 612 // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does 613 // not compare to {"NS":["6", "2", "1"]}. 614 // 615 // * GT : Greater than. AttributeValueList 616 // can contain only one AttributeValue element of type String, Number, or Binary 617 // (not a set type). If an item contains an AttributeValue element of a different 618 // type than the one provided in the request, the value does not match. For 619 // example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 620 // {"NS":["6", "2", "1"]}. 621 // 622 // * NOT_NULL : The attribute exists. NOT_NULL is 623 // supported for all data types, including lists and maps. This operator tests for 624 // the existence of an attribute, not its data type. If the data type of attribute 625 // "a" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 626 // This result is because the attribute "a" exists; its data type is not relevant 627 // to the NOT_NULL comparison operator. 628 // 629 // * NULL : The attribute does not exist. 630 // NULL is supported for all data types, including lists and maps. This operator 631 // tests for the nonexistence of an attribute, not its data type. If the data type 632 // of attribute "a" is null, and you evaluate it using NULL, the result is a 633 // Boolean false. This is because the attribute "a" exists; its data type is not 634 // relevant to the NULL comparison operator. 635 // 636 // * CONTAINS : Checks for a 637 // subsequence, or value in a set. AttributeValueList can contain only one 638 // AttributeValue element of type String, Number, or Binary (not a set type). If 639 // the target attribute of the comparison is of type String, then the operator 640 // checks for a substring match. If the target attribute of the comparison is of 641 // type Binary, then the operator looks for a subsequence of the target that 642 // matches the input. If the target attribute of the comparison is a set ("SS", 643 // "NS", or "BS"), then the operator evaluates to true if it finds an exact match 644 // with any member of the set. CONTAINS is supported for lists: When evaluating "a 645 // CONTAINS b", "a" can be a list; however, "b" cannot be a set, a map, or a 646 // list. 647 // 648 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 649 // value in a set. AttributeValueList can contain only one AttributeValue element 650 // of type String, Number, or Binary (not a set type). If the target attribute of 651 // the comparison is a String, then the operator checks for the absence of a 652 // substring match. If the target attribute of the comparison is Binary, then the 653 // operator checks for the absence of a subsequence of the target that matches the 654 // input. If the target attribute of the comparison is a set ("SS", "NS", or "BS"), 655 // then the operator evaluates to true if it does not find an exact match with any 656 // member of the set. NOT_CONTAINS is supported for lists: When evaluating "a NOT 657 // CONTAINS b", "a" can be a list; however, "b" cannot be a set, a map, or a 658 // list. 659 // 660 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 661 // one AttributeValue of type String or Binary (not a Number or a set type). The 662 // target attribute of the comparison must be of type String or Binary (not a 663 // Number or a set type). 664 // 665 // * IN : Checks for matching elements in a list. 666 // AttributeValueList can contain one or more AttributeValue elements of type 667 // String, Number, or Binary. These attributes are compared against an existing 668 // attribute of an item. If any elements of the input are equal to the item 669 // attribute, the expression evaluates to true. 670 // 671 // * BETWEEN : Greater than or equal 672 // to the first value, and less than or equal to the second value. 673 // AttributeValueList must contain two AttributeValue elements of the same type, 674 // either String, Number, or Binary (not a set type). A target attribute matches if 675 // the target value is greater than, or equal to, the first element and less than, 676 // or equal to, the second element. If an item contains an AttributeValue element 677 // of a different type than the one provided in the request, the value does not 678 // match. For example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} 679 // does not compare to {"NS":["6", "2", "1"]} 680 // 681 // For usage examples of 682 // AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters 683 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 684 // in the Amazon DynamoDB Developer Guide. 685 // 686 // This member is required. 687 ComparisonOperator ComparisonOperator 688 689 // One or more values to evaluate against the supplied attribute. The number of 690 // values in the list depends on the ComparisonOperator being used. For type 691 // Number, value comparisons are numeric. String value comparisons for greater 692 // than, equals, or less than are based on ASCII character code values. For 693 // example, a is greater than A, and a is greater than B. For a list of code 694 // values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 695 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). For Binary, 696 // DynamoDB treats each byte of the binary data as unsigned when it compares binary 697 // values. 698 AttributeValueList []AttributeValue 699} 700 701// Represents a request to perform a check that an item exists or to check the 702// condition of specific attributes of the item. 703type ConditionCheck struct { 704 705 // A condition that must be satisfied in order for a conditional update to succeed. 706 // 707 // This member is required. 708 ConditionExpression *string 709 710 // The primary key of the item to be checked. Each element consists of an attribute 711 // name and a value for that attribute. 712 // 713 // This member is required. 714 Key map[string]AttributeValue 715 716 // Name of the table for the check item request. 717 // 718 // This member is required. 719 TableName *string 720 721 // One or more substitution tokens for attribute names in an expression. 722 ExpressionAttributeNames map[string]string 723 724 // One or more values that can be substituted in an expression. 725 ExpressionAttributeValues map[string]AttributeValue 726 727 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 728 // ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure, the 729 // valid values are: NONE and ALL_OLD. 730 ReturnValuesOnConditionCheckFailure ReturnValuesOnConditionCheckFailure 731} 732 733// The capacity units consumed by an operation. The data returned includes the 734// total provisioned throughput consumed, along with statistics for the table and 735// any indexes involved in the operation. ConsumedCapacity is only returned if the 736// request asked for it. For more information, see Provisioned Throughput 737// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 738// in the Amazon DynamoDB Developer Guide. 739type ConsumedCapacity struct { 740 741 // The total number of capacity units consumed by the operation. 742 CapacityUnits *float64 743 744 // The amount of throughput consumed on each global index affected by the 745 // operation. 746 GlobalSecondaryIndexes map[string]Capacity 747 748 // The amount of throughput consumed on each local index affected by the operation. 749 LocalSecondaryIndexes map[string]Capacity 750 751 // The total number of read capacity units consumed by the operation. 752 ReadCapacityUnits *float64 753 754 // The amount of throughput consumed on the table affected by the operation. 755 Table *Capacity 756 757 // The name of the table that was affected by the operation. 758 TableName *string 759 760 // The total number of write capacity units consumed by the operation. 761 WriteCapacityUnits *float64 762} 763 764// Represents the continuous backups and point in time recovery settings on the 765// table. 766type ContinuousBackupsDescription struct { 767 768 // ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED 769 // 770 // This member is required. 771 ContinuousBackupsStatus ContinuousBackupsStatus 772 773 // The description of the point in time recovery settings applied to the table. 774 PointInTimeRecoveryDescription *PointInTimeRecoveryDescription 775} 776 777// Represents a Contributor Insights summary entry. 778type ContributorInsightsSummary struct { 779 780 // Describes the current status for contributor insights for the given table and 781 // index, if applicable. 782 ContributorInsightsStatus ContributorInsightsStatus 783 784 // Name of the index associated with the summary, if any. 785 IndexName *string 786 787 // Name of the table associated with the summary. 788 TableName *string 789} 790 791// Represents a new global secondary index to be added to an existing table. 792type CreateGlobalSecondaryIndexAction struct { 793 794 // The name of the global secondary index to be created. 795 // 796 // This member is required. 797 IndexName *string 798 799 // The key schema for the global secondary index. 800 // 801 // This member is required. 802 KeySchema []KeySchemaElement 803 804 // Represents attributes that are copied (projected) from the table into an index. 805 // These are in addition to the primary key attributes and index key attributes, 806 // which are automatically projected. 807 // 808 // This member is required. 809 Projection *Projection 810 811 // Represents the provisioned throughput settings for the specified global 812 // secondary index. For current minimum and maximum provisioned throughput values, 813 // see Service, Account, and Table Quotas 814 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 815 // in the Amazon DynamoDB Developer Guide. 816 ProvisionedThroughput *ProvisionedThroughput 817} 818 819// Represents a replica to be added. 820type CreateReplicaAction struct { 821 822 // The Region of the replica to be added. 823 // 824 // This member is required. 825 RegionName *string 826} 827 828// Represents a replica to be created. 829type CreateReplicationGroupMemberAction struct { 830 831 // The Region where the new replica will be created. 832 // 833 // This member is required. 834 RegionName *string 835 836 // Replica-specific global secondary index settings. 837 GlobalSecondaryIndexes []ReplicaGlobalSecondaryIndex 838 839 // The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption 840 // in the new replica. To specify a CMK, use its key ID, Amazon Resource Name 841 // (ARN), alias name, or alias ARN. Note that you should only provide this 842 // parameter if the key is different from the default DynamoDB KMS master key 843 // alias/aws/dynamodb. 844 KMSMasterKeyId *string 845 846 // Replica-specific provisioned throughput. If not specified, uses the source 847 // table's provisioned throughput settings. 848 ProvisionedThroughputOverride *ProvisionedThroughputOverride 849} 850 851// Represents a request to perform a DeleteItem operation. 852type Delete struct { 853 854 // The primary key of the item to be deleted. Each element consists of an attribute 855 // name and a value for that attribute. 856 // 857 // This member is required. 858 Key map[string]AttributeValue 859 860 // Name of the table in which the item to be deleted resides. 861 // 862 // This member is required. 863 TableName *string 864 865 // A condition that must be satisfied in order for a conditional delete to succeed. 866 ConditionExpression *string 867 868 // One or more substitution tokens for attribute names in an expression. 869 ExpressionAttributeNames map[string]string 870 871 // One or more values that can be substituted in an expression. 872 ExpressionAttributeValues map[string]AttributeValue 873 874 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Delete 875 // condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: 876 // NONE and ALL_OLD. 877 ReturnValuesOnConditionCheckFailure ReturnValuesOnConditionCheckFailure 878} 879 880// Represents a global secondary index to be deleted from an existing table. 881type DeleteGlobalSecondaryIndexAction struct { 882 883 // The name of the global secondary index to be deleted. 884 // 885 // This member is required. 886 IndexName *string 887} 888 889// Represents a replica to be removed. 890type DeleteReplicaAction struct { 891 892 // The Region of the replica to be removed. 893 // 894 // This member is required. 895 RegionName *string 896} 897 898// Represents a replica to be deleted. 899type DeleteReplicationGroupMemberAction struct { 900 901 // The Region where the replica exists. 902 // 903 // This member is required. 904 RegionName *string 905} 906 907// Represents a request to perform a DeleteItem operation on an item. 908type DeleteRequest struct { 909 910 // A map of attribute name to attribute values, representing the primary key of the 911 // item to delete. All of the table's primary key attributes must be specified, and 912 // their data types must match those of the table's key schema. 913 // 914 // This member is required. 915 Key map[string]AttributeValue 916} 917 918// An endpoint information details. 919type Endpoint struct { 920 921 // IP address of the endpoint. 922 // 923 // This member is required. 924 Address *string 925 926 // Endpoint cache time to live (TTL) value. 927 // 928 // This member is required. 929 CachePeriodInMinutes int64 930} 931 932// Represents a condition to be compared with an attribute value. This condition 933// can be used with DeleteItem, PutItem, or UpdateItem operations; if the 934// comparison evaluates to true, the operation succeeds; if not, the operation 935// fails. You can use ExpectedAttributeValue in one of two different ways: 936// 937// * Use 938// AttributeValueList to specify one or more values to compare against an 939// attribute. Use ComparisonOperator to specify how you want to perform the 940// comparison. If the comparison evaluates to true, then the conditional operation 941// succeeds. 942// 943// * Use Value to specify a value that DynamoDB will compare against an 944// attribute. If the values match, then ExpectedAttributeValue evaluates to true 945// and the conditional operation succeeds. Optionally, you can also set Exists to 946// false, indicating that you do not expect to find the attribute value in the 947// table. In this case, the conditional operation succeeds only if the comparison 948// evaluates to false. 949// 950// Value and Exists are incompatible with AttributeValueList 951// and ComparisonOperator. Note that if you use both sets of parameters at once, 952// DynamoDB will return a ValidationException exception. 953type ExpectedAttributeValue struct { 954 955 // One or more values to evaluate against the supplied attribute. The number of 956 // values in the list depends on the ComparisonOperator being used. For type 957 // Number, value comparisons are numeric. String value comparisons for greater 958 // than, equals, or less than are based on ASCII character code values. For 959 // example, a is greater than A, and a is greater than B. For a list of code 960 // values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 961 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). For Binary, 962 // DynamoDB treats each byte of the binary data as unsigned when it compares binary 963 // values. For information on specifying data types in JSON, see JSON Data Format 964 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) 965 // in the Amazon DynamoDB Developer Guide. 966 AttributeValueList []AttributeValue 967 968 // A comparator for evaluating attributes in the AttributeValueList. For example, 969 // equals, greater than, less than, etc. The following comparison operators are 970 // available: EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | 971 // NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN The following are descriptions of each 972 // comparison operator. 973 // 974 // * EQ : Equal. EQ is supported for all data types, 975 // including lists and maps. AttributeValueList can contain only one AttributeValue 976 // element of type String, Number, Binary, String Set, Number Set, or Binary Set. 977 // If an item contains an AttributeValue element of a different type than the one 978 // provided in the request, the value does not match. For example, {"S":"6"} does 979 // not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 980 // 981 // * 982 // NE : Not equal. NE is supported for all data types, including lists and maps. 983 // AttributeValueList can contain only one AttributeValue of type String, Number, 984 // Binary, String Set, Number Set, or Binary Set. If an item contains an 985 // AttributeValue of a different type than the one provided in the request, the 986 // value does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, 987 // {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 988 // 989 // * LE : Less than or equal. 990 // AttributeValueList can contain only one AttributeValue element of type String, 991 // Number, or Binary (not a set type). If an item contains an AttributeValue 992 // element of a different type than the one provided in the request, the value does 993 // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does 994 // not compare to {"NS":["6", "2", "1"]}. 995 // 996 // * LT : Less than. AttributeValueList can 997 // contain only one AttributeValue of type String, Number, or Binary (not a set 998 // type). If an item contains an AttributeValue element of a different type than 999 // the one provided in the request, the value does not match. For example, 1000 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 1001 // {"NS":["6", "2", "1"]}. 1002 // 1003 // * GE : Greater than or equal. AttributeValueList can 1004 // contain only one AttributeValue element of type String, Number, or Binary (not a 1005 // set type). If an item contains an AttributeValue element of a different type 1006 // than the one provided in the request, the value does not match. For example, 1007 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 1008 // {"NS":["6", "2", "1"]}. 1009 // 1010 // * GT : Greater than. AttributeValueList can contain 1011 // only one AttributeValue element of type String, Number, or Binary (not a set 1012 // type). If an item contains an AttributeValue element of a different type than 1013 // the one provided in the request, the value does not match. For example, 1014 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 1015 // {"NS":["6", "2", "1"]}. 1016 // 1017 // * NOT_NULL : The attribute exists. NOT_NULL is 1018 // supported for all data types, including lists and maps. This operator tests for 1019 // the existence of an attribute, not its data type. If the data type of attribute 1020 // "a" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 1021 // This result is because the attribute "a" exists; its data type is not relevant 1022 // to the NOT_NULL comparison operator. 1023 // 1024 // * NULL : The attribute does not exist. 1025 // NULL is supported for all data types, including lists and maps. This operator 1026 // tests for the nonexistence of an attribute, not its data type. If the data type 1027 // of attribute "a" is null, and you evaluate it using NULL, the result is a 1028 // Boolean false. This is because the attribute "a" exists; its data type is not 1029 // relevant to the NULL comparison operator. 1030 // 1031 // * CONTAINS : Checks for a 1032 // subsequence, or value in a set. AttributeValueList can contain only one 1033 // AttributeValue element of type String, Number, or Binary (not a set type). If 1034 // the target attribute of the comparison is of type String, then the operator 1035 // checks for a substring match. If the target attribute of the comparison is of 1036 // type Binary, then the operator looks for a subsequence of the target that 1037 // matches the input. If the target attribute of the comparison is a set ("SS", 1038 // "NS", or "BS"), then the operator evaluates to true if it finds an exact match 1039 // with any member of the set. CONTAINS is supported for lists: When evaluating "a 1040 // CONTAINS b", "a" can be a list; however, "b" cannot be a set, a map, or a 1041 // list. 1042 // 1043 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 1044 // value in a set. AttributeValueList can contain only one AttributeValue element 1045 // of type String, Number, or Binary (not a set type). If the target attribute of 1046 // the comparison is a String, then the operator checks for the absence of a 1047 // substring match. If the target attribute of the comparison is Binary, then the 1048 // operator checks for the absence of a subsequence of the target that matches the 1049 // input. If the target attribute of the comparison is a set ("SS", "NS", or "BS"), 1050 // then the operator evaluates to true if it does not find an exact match with any 1051 // member of the set. NOT_CONTAINS is supported for lists: When evaluating "a NOT 1052 // CONTAINS b", "a" can be a list; however, "b" cannot be a set, a map, or a 1053 // list. 1054 // 1055 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 1056 // one AttributeValue of type String or Binary (not a Number or a set type). The 1057 // target attribute of the comparison must be of type String or Binary (not a 1058 // Number or a set type). 1059 // 1060 // * IN : Checks for matching elements in a list. 1061 // AttributeValueList can contain one or more AttributeValue elements of type 1062 // String, Number, or Binary. These attributes are compared against an existing 1063 // attribute of an item. If any elements of the input are equal to the item 1064 // attribute, the expression evaluates to true. 1065 // 1066 // * BETWEEN : Greater than or equal 1067 // to the first value, and less than or equal to the second value. 1068 // AttributeValueList must contain two AttributeValue elements of the same type, 1069 // either String, Number, or Binary (not a set type). A target attribute matches if 1070 // the target value is greater than, or equal to, the first element and less than, 1071 // or equal to, the second element. If an item contains an AttributeValue element 1072 // of a different type than the one provided in the request, the value does not 1073 // match. For example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} 1074 // does not compare to {"NS":["6", "2", "1"]} 1075 ComparisonOperator ComparisonOperator 1076 1077 // Causes DynamoDB to evaluate the value before attempting a conditional 1078 // operation: 1079 // 1080 // * If Exists is true, DynamoDB will check to see if that attribute 1081 // value already exists in the table. If it is found, then the operation succeeds. 1082 // If it is not found, the operation fails with a ConditionCheckFailedException. 1083 // 1084 // * 1085 // If Exists is false, DynamoDB assumes that the attribute value does not exist in 1086 // the table. If in fact the value does not exist, then the assumption is valid and 1087 // the operation succeeds. If the value is found, despite the assumption that it 1088 // does not exist, the operation fails with a ConditionCheckFailedException. 1089 // 1090 // The 1091 // default setting for Exists is true. If you supply a Value all by itself, 1092 // DynamoDB assumes the attribute exists: You don't have to set Exists to true, 1093 // because it is implied. DynamoDB returns a ValidationException if: 1094 // 1095 // * Exists is 1096 // true but there is no Value to check. (You expect a value to exist, but don't 1097 // specify what that value is.) 1098 // 1099 // * Exists is false but you also provide a Value. 1100 // (You cannot expect an attribute to have a value, while also expecting it not to 1101 // exist.) 1102 Exists *bool 1103 1104 // Represents the data for the expected attribute. Each attribute value is 1105 // described as a name-value pair. The name is the data type, and the value is the 1106 // data itself. For more information, see Data Types 1107 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 1108 // in the Amazon DynamoDB Developer Guide. 1109 Value AttributeValue 1110} 1111 1112// Represents the properties of the exported table. 1113type ExportDescription struct { 1114 1115 // The billable size of the table export. 1116 BilledSizeBytes *int64 1117 1118 // The client token that was provided for the export task. A client token makes 1119 // calls to ExportTableToPointInTimeInput idempotent, meaning that multiple 1120 // identical calls have the same effect as one single call. 1121 ClientToken *string 1122 1123 // The time at which the export task completed. 1124 EndTime *time.Time 1125 1126 // The Amazon Resource Name (ARN) of the table export. 1127 ExportArn *string 1128 1129 // The format of the exported data. Valid values for ExportFormat are DYNAMODB_JSON 1130 // or ION. 1131 ExportFormat ExportFormat 1132 1133 // The name of the manifest file for the export task. 1134 ExportManifest *string 1135 1136 // Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED. 1137 ExportStatus ExportStatus 1138 1139 // Point in time from which table data was exported. 1140 ExportTime *time.Time 1141 1142 // Status code for the result of the failed export. 1143 FailureCode *string 1144 1145 // Export failure reason description. 1146 FailureMessage *string 1147 1148 // The number of items exported. 1149 ItemCount *int64 1150 1151 // The name of the Amazon S3 bucket containing the export. 1152 S3Bucket *string 1153 1154 // The ID of the AWS account that owns the bucket containing the export. 1155 S3BucketOwner *string 1156 1157 // The Amazon S3 bucket prefix used as the file name and path of the exported 1158 // snapshot. 1159 S3Prefix *string 1160 1161 // Type of encryption used on the bucket where export data is stored. Valid values 1162 // for S3SseAlgorithm are: 1163 // 1164 // * AES256 - server-side encryption with Amazon S3 1165 // managed keys 1166 // 1167 // * KMS - server-side encryption with AWS KMS managed keys 1168 S3SseAlgorithm S3SseAlgorithm 1169 1170 // The ID of the AWS KMS managed key used to encrypt the S3 bucket where export 1171 // data is stored (if applicable). 1172 S3SseKmsKeyId *string 1173 1174 // The time at which the export task began. 1175 StartTime *time.Time 1176 1177 // The Amazon Resource Name (ARN) of the table that was exported. 1178 TableArn *string 1179 1180 // Unique ID of the table that was exported. 1181 TableId *string 1182} 1183 1184// Summary information about an export task. 1185type ExportSummary struct { 1186 1187 // The Amazon Resource Name (ARN) of the export. 1188 ExportArn *string 1189 1190 // Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED. 1191 ExportStatus ExportStatus 1192} 1193 1194// Represents a failure a contributor insights operation. 1195type FailureException struct { 1196 1197 // Description of the failure. 1198 ExceptionDescription *string 1199 1200 // Exception name. 1201 ExceptionName *string 1202} 1203 1204// Specifies an item and related attribute values to retrieve in a TransactGetItem 1205// object. 1206type Get struct { 1207 1208 // A map of attribute names to AttributeValue objects that specifies the primary 1209 // key of the item to retrieve. 1210 // 1211 // This member is required. 1212 Key map[string]AttributeValue 1213 1214 // The name of the table from which to retrieve the specified item. 1215 // 1216 // This member is required. 1217 TableName *string 1218 1219 // One or more substitution tokens for attribute names in the ProjectionExpression 1220 // parameter. 1221 ExpressionAttributeNames map[string]string 1222 1223 // A string that identifies one or more attributes of the specified item to 1224 // retrieve from the table. The attributes in the expression must be separated by 1225 // commas. If no attribute names are specified, then all attributes of the 1226 // specified item are returned. If any of the requested attributes are not found, 1227 // they do not appear in the result. 1228 ProjectionExpression *string 1229} 1230 1231// Represents the properties of a global secondary index. 1232type GlobalSecondaryIndex struct { 1233 1234 // The name of the global secondary index. The name must be unique among all other 1235 // indexes on this table. 1236 // 1237 // This member is required. 1238 IndexName *string 1239 1240 // The complete key schema for a global secondary index, which consists of one or 1241 // more pairs of attribute names and key types: 1242 // 1243 // * HASH - partition key 1244 // 1245 // * RANGE - 1246 // sort key 1247 // 1248 // The partition key of an item is also known as its hash attribute. The 1249 // term "hash attribute" derives from DynamoDB's usage of an internal hash function 1250 // to evenly distribute data items across partitions, based on their partition key 1251 // values. The sort key of an item is also known as its range attribute. The term 1252 // "range attribute" derives from the way DynamoDB stores items with the same 1253 // partition key physically close together, in sorted order by the sort key value. 1254 // 1255 // This member is required. 1256 KeySchema []KeySchemaElement 1257 1258 // Represents attributes that are copied (projected) from the table into the global 1259 // secondary index. These are in addition to the primary key attributes and index 1260 // key attributes, which are automatically projected. 1261 // 1262 // This member is required. 1263 Projection *Projection 1264 1265 // Represents the provisioned throughput settings for the specified global 1266 // secondary index. For current minimum and maximum provisioned throughput values, 1267 // see Service, Account, and Table Quotas 1268 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 1269 // in the Amazon DynamoDB Developer Guide. 1270 ProvisionedThroughput *ProvisionedThroughput 1271} 1272 1273// Represents the auto scaling settings of a global secondary index for a global 1274// table that will be modified. 1275type GlobalSecondaryIndexAutoScalingUpdate struct { 1276 1277 // The name of the global secondary index. 1278 IndexName *string 1279 1280 // Represents the auto scaling settings to be modified for a global table or global 1281 // secondary index. 1282 ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate 1283} 1284 1285// Represents the properties of a global secondary index. 1286type GlobalSecondaryIndexDescription struct { 1287 1288 // Indicates whether the index is currently backfilling. Backfilling is the process 1289 // of reading items from the table and determining whether they can be added to the 1290 // index. (Not all items will qualify: For example, a partition key cannot have any 1291 // duplicate values.) If an item can be added to the index, DynamoDB will do so. 1292 // After all items have been processed, the backfilling operation is complete and 1293 // Backfilling is false. You can delete an index that is being created during the 1294 // Backfilling phase when IndexStatus is set to CREATING and Backfilling is true. 1295 // You can't delete the index that is being created when IndexStatus is set to 1296 // CREATING and Backfilling is false. For indexes that were created during a 1297 // CreateTable operation, the Backfilling attribute does not appear in the 1298 // DescribeTable output. 1299 Backfilling *bool 1300 1301 // The Amazon Resource Name (ARN) that uniquely identifies the index. 1302 IndexArn *string 1303 1304 // The name of the global secondary index. 1305 IndexName *string 1306 1307 // The total size of the specified index, in bytes. DynamoDB updates this value 1308 // approximately every six hours. Recent changes might not be reflected in this 1309 // value. 1310 IndexSizeBytes int64 1311 1312 // The current state of the global secondary index: 1313 // 1314 // * CREATING - The index is 1315 // being created. 1316 // 1317 // * UPDATING - The index is being updated. 1318 // 1319 // * DELETING - The index 1320 // is being deleted. 1321 // 1322 // * ACTIVE - The index is ready for use. 1323 IndexStatus IndexStatus 1324 1325 // The number of items in the specified index. DynamoDB updates this value 1326 // approximately every six hours. Recent changes might not be reflected in this 1327 // value. 1328 ItemCount int64 1329 1330 // The complete key schema for a global secondary index, which consists of one or 1331 // more pairs of attribute names and key types: 1332 // 1333 // * HASH - partition key 1334 // 1335 // * RANGE - 1336 // sort key 1337 // 1338 // The partition key of an item is also known as its hash attribute. The 1339 // term "hash attribute" derives from DynamoDB's usage of an internal hash function 1340 // to evenly distribute data items across partitions, based on their partition key 1341 // values. The sort key of an item is also known as its range attribute. The term 1342 // "range attribute" derives from the way DynamoDB stores items with the same 1343 // partition key physically close together, in sorted order by the sort key value. 1344 KeySchema []KeySchemaElement 1345 1346 // Represents attributes that are copied (projected) from the table into the global 1347 // secondary index. These are in addition to the primary key attributes and index 1348 // key attributes, which are automatically projected. 1349 Projection *Projection 1350 1351 // Represents the provisioned throughput settings for the specified global 1352 // secondary index. For current minimum and maximum provisioned throughput values, 1353 // see Service, Account, and Table Quotas 1354 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 1355 // in the Amazon DynamoDB Developer Guide. 1356 ProvisionedThroughput *ProvisionedThroughputDescription 1357} 1358 1359// Represents the properties of a global secondary index for the table when the 1360// backup was created. 1361type GlobalSecondaryIndexInfo struct { 1362 1363 // The name of the global secondary index. 1364 IndexName *string 1365 1366 // The complete key schema for a global secondary index, which consists of one or 1367 // more pairs of attribute names and key types: 1368 // 1369 // * HASH - partition key 1370 // 1371 // * RANGE - 1372 // sort key 1373 // 1374 // The partition key of an item is also known as its hash attribute. The 1375 // term "hash attribute" derives from DynamoDB's usage of an internal hash function 1376 // to evenly distribute data items across partitions, based on their partition key 1377 // values. The sort key of an item is also known as its range attribute. The term 1378 // "range attribute" derives from the way DynamoDB stores items with the same 1379 // partition key physically close together, in sorted order by the sort key value. 1380 KeySchema []KeySchemaElement 1381 1382 // Represents attributes that are copied (projected) from the table into the global 1383 // secondary index. These are in addition to the primary key attributes and index 1384 // key attributes, which are automatically projected. 1385 Projection *Projection 1386 1387 // Represents the provisioned throughput settings for the specified global 1388 // secondary index. 1389 ProvisionedThroughput *ProvisionedThroughput 1390} 1391 1392// Represents one of the following: 1393// 1394// * A new global secondary index to be added to 1395// an existing table. 1396// 1397// * New provisioned throughput parameters for an existing 1398// global secondary index. 1399// 1400// * An existing global secondary index to be removed from 1401// an existing table. 1402type GlobalSecondaryIndexUpdate struct { 1403 1404 // The parameters required for creating a global secondary index on an existing 1405 // table: 1406 // 1407 // * IndexName 1408 // 1409 // * KeySchema 1410 // 1411 // * AttributeDefinitions 1412 // 1413 // * Projection 1414 // 1415 // * 1416 // ProvisionedThroughput 1417 Create *CreateGlobalSecondaryIndexAction 1418 1419 // The name of an existing global secondary index to be removed. 1420 Delete *DeleteGlobalSecondaryIndexAction 1421 1422 // The name of an existing global secondary index, along with new provisioned 1423 // throughput settings to be applied to that index. 1424 Update *UpdateGlobalSecondaryIndexAction 1425} 1426 1427// Represents the properties of a global table. 1428type GlobalTable struct { 1429 1430 // The global table name. 1431 GlobalTableName *string 1432 1433 // The Regions where the global table has replicas. 1434 ReplicationGroup []Replica 1435} 1436 1437// Contains details about the global table. 1438type GlobalTableDescription struct { 1439 1440 // The creation time of the global table. 1441 CreationDateTime *time.Time 1442 1443 // The unique identifier of the global table. 1444 GlobalTableArn *string 1445 1446 // The global table name. 1447 GlobalTableName *string 1448 1449 // The current state of the global table: 1450 // 1451 // * CREATING - The global table is being 1452 // created. 1453 // 1454 // * UPDATING - The global table is being updated. 1455 // 1456 // * DELETING - The 1457 // global table is being deleted. 1458 // 1459 // * ACTIVE - The global table is ready for use. 1460 GlobalTableStatus GlobalTableStatus 1461 1462 // The Regions where the global table has replicas. 1463 ReplicationGroup []ReplicaDescription 1464} 1465 1466// Represents the settings of a global secondary index for a global table that will 1467// be modified. 1468type GlobalTableGlobalSecondaryIndexSettingsUpdate struct { 1469 1470 // The name of the global secondary index. The name must be unique among all other 1471 // indexes on this table. 1472 // 1473 // This member is required. 1474 IndexName *string 1475 1476 // Auto scaling settings for managing a global secondary index's write capacity 1477 // units. 1478 ProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate 1479 1480 // The maximum number of writes consumed per second before DynamoDB returns a 1481 // ThrottlingException. 1482 ProvisionedWriteCapacityUnits *int64 1483} 1484 1485// Information about item collections, if any, that were affected by the operation. 1486// ItemCollectionMetrics is only returned if the request asked for it. If the table 1487// does not have any local secondary indexes, this information is not returned in 1488// the response. 1489type ItemCollectionMetrics struct { 1490 1491 // The partition key value of the item collection. This value is the same as the 1492 // partition key value of the item. 1493 ItemCollectionKey map[string]AttributeValue 1494 1495 // An estimate of item collection size, in gigabytes. This value is a two-element 1496 // array containing a lower bound and an upper bound for the estimate. The estimate 1497 // includes the size of all the items in the table, plus the size of all attributes 1498 // projected into all of the local secondary indexes on that table. Use this 1499 // estimate to measure whether a local secondary index is approaching its size 1500 // limit. The estimate is subject to change over time; therefore, do not rely on 1501 // the precision or accuracy of the estimate. 1502 SizeEstimateRangeGB []float64 1503} 1504 1505// Details for the requested item. 1506type ItemResponse struct { 1507 1508 // Map of attribute data consisting of the data type and attribute value. 1509 Item map[string]AttributeValue 1510} 1511 1512// Represents a set of primary keys and, for each key, the attributes to retrieve 1513// from the table. For each primary key, you must provide all of the key 1514// attributes. For example, with a simple primary key, you only need to provide the 1515// partition key. For a composite primary key, you must provide both the partition 1516// key and the sort key. 1517type KeysAndAttributes struct { 1518 1519 // The primary key attribute values that define the items and the attributes 1520 // associated with the items. 1521 // 1522 // This member is required. 1523 Keys []map[string]AttributeValue 1524 1525 // This is a legacy parameter. Use ProjectionExpression instead. For more 1526 // information, see Legacy Conditional Parameters 1527 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 1528 // in the Amazon DynamoDB Developer Guide. 1529 AttributesToGet []string 1530 1531 // The consistency of a read operation. If set to true, then a strongly consistent 1532 // read is used; otherwise, an eventually consistent read is used. 1533 ConsistentRead *bool 1534 1535 // One or more substitution tokens for attribute names in an expression. The 1536 // following are some use cases for using ExpressionAttributeNames: 1537 // 1538 // * To access an 1539 // attribute whose name conflicts with a DynamoDB reserved word. 1540 // 1541 // * To create a 1542 // placeholder for repeating occurrences of an attribute name in an expression. 1543 // 1544 // * 1545 // To prevent special characters in an attribute name from being misinterpreted in 1546 // an expression. 1547 // 1548 // Use the # character in an expression to dereference an attribute 1549 // name. For example, consider the following attribute name: 1550 // 1551 // * Percentile 1552 // 1553 // The 1554 // name of this attribute conflicts with a reserved word, so it cannot be used 1555 // directly in an expression. (For the complete list of reserved words, see 1556 // Reserved Words 1557 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 1558 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 1559 // the following for ExpressionAttributeNames: 1560 // 1561 // * {"#P":"Percentile"} 1562 // 1563 // You could 1564 // then use this substitution in an expression, as in this example: 1565 // 1566 // * #P = 1567 // :val 1568 // 1569 // Tokens that begin with the : character are expression attribute values, 1570 // which are placeholders for the actual value at runtime. For more information on 1571 // expression attribute names, see Accessing Item Attributes 1572 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 1573 // in the Amazon DynamoDB Developer Guide. 1574 ExpressionAttributeNames map[string]string 1575 1576 // A string that identifies one or more attributes to retrieve from the table. 1577 // These attributes can include scalars, sets, or elements of a JSON document. The 1578 // attributes in the ProjectionExpression must be separated by commas. If no 1579 // attribute names are specified, then all attributes will be returned. If any of 1580 // the requested attributes are not found, they will not appear in the result. For 1581 // more information, see Accessing Item Attributes 1582 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 1583 // in the Amazon DynamoDB Developer Guide. 1584 ProjectionExpression *string 1585} 1586 1587// Represents a single element of a key schema. A key schema specifies the 1588// attributes that make up the primary key of a table, or the key attributes of an 1589// index. A KeySchemaElement represents exactly one attribute of the primary key. 1590// For example, a simple primary key would be represented by one KeySchemaElement 1591// (for the partition key). A composite primary key would require one 1592// KeySchemaElement for the partition key, and another KeySchemaElement for the 1593// sort key. A KeySchemaElement must be a scalar, top-level attribute (not a nested 1594// attribute). The data type must be one of String, Number, or Binary. The 1595// attribute cannot be nested within a List or a Map. 1596type KeySchemaElement struct { 1597 1598 // The name of a key attribute. 1599 // 1600 // This member is required. 1601 AttributeName *string 1602 1603 // The role that this key attribute will assume: 1604 // 1605 // * HASH - partition key 1606 // 1607 // * RANGE - 1608 // sort key 1609 // 1610 // The partition key of an item is also known as its hash attribute. The 1611 // term "hash attribute" derives from DynamoDB's usage of an internal hash function 1612 // to evenly distribute data items across partitions, based on their partition key 1613 // values. The sort key of an item is also known as its range attribute. The term 1614 // "range attribute" derives from the way DynamoDB stores items with the same 1615 // partition key physically close together, in sorted order by the sort key value. 1616 // 1617 // This member is required. 1618 KeyType KeyType 1619} 1620 1621// Describes a Kinesis data stream destination. 1622type KinesisDataStreamDestination struct { 1623 1624 // The current status of replication. 1625 DestinationStatus DestinationStatus 1626 1627 // The human-readable string that corresponds to the replica status. 1628 DestinationStatusDescription *string 1629 1630 // The ARN for a specific Kinesis data stream. 1631 StreamArn *string 1632} 1633 1634// Represents the properties of a local secondary index. 1635type LocalSecondaryIndex struct { 1636 1637 // The name of the local secondary index. The name must be unique among all other 1638 // indexes on this table. 1639 // 1640 // This member is required. 1641 IndexName *string 1642 1643 // The complete key schema for the local secondary index, consisting of one or more 1644 // pairs of attribute names and key types: 1645 // 1646 // * HASH - partition key 1647 // 1648 // * RANGE - sort 1649 // key 1650 // 1651 // The partition key of an item is also known as its hash attribute. The term 1652 // "hash attribute" derives from DynamoDB's usage of an internal hash function to 1653 // evenly distribute data items across partitions, based on their partition key 1654 // values. The sort key of an item is also known as its range attribute. The term 1655 // "range attribute" derives from the way DynamoDB stores items with the same 1656 // partition key physically close together, in sorted order by the sort key value. 1657 // 1658 // This member is required. 1659 KeySchema []KeySchemaElement 1660 1661 // Represents attributes that are copied (projected) from the table into the local 1662 // secondary index. These are in addition to the primary key attributes and index 1663 // key attributes, which are automatically projected. 1664 // 1665 // This member is required. 1666 Projection *Projection 1667} 1668 1669// Represents the properties of a local secondary index. 1670type LocalSecondaryIndexDescription struct { 1671 1672 // The Amazon Resource Name (ARN) that uniquely identifies the index. 1673 IndexArn *string 1674 1675 // Represents the name of the local secondary index. 1676 IndexName *string 1677 1678 // The total size of the specified index, in bytes. DynamoDB updates this value 1679 // approximately every six hours. Recent changes might not be reflected in this 1680 // value. 1681 IndexSizeBytes int64 1682 1683 // The number of items in the specified index. DynamoDB updates this value 1684 // approximately every six hours. Recent changes might not be reflected in this 1685 // value. 1686 ItemCount int64 1687 1688 // The complete key schema for the local secondary index, consisting of one or more 1689 // pairs of attribute names and key types: 1690 // 1691 // * HASH - partition key 1692 // 1693 // * RANGE - sort 1694 // key 1695 // 1696 // The partition key of an item is also known as its hash attribute. The term 1697 // "hash attribute" derives from DynamoDB's usage of an internal hash function to 1698 // evenly distribute data items across partitions, based on their partition key 1699 // values. The sort key of an item is also known as its range attribute. The term 1700 // "range attribute" derives from the way DynamoDB stores items with the same 1701 // partition key physically close together, in sorted order by the sort key value. 1702 KeySchema []KeySchemaElement 1703 1704 // Represents attributes that are copied (projected) from the table into the global 1705 // secondary index. These are in addition to the primary key attributes and index 1706 // key attributes, which are automatically projected. 1707 Projection *Projection 1708} 1709 1710// Represents the properties of a local secondary index for the table when the 1711// backup was created. 1712type LocalSecondaryIndexInfo struct { 1713 1714 // Represents the name of the local secondary index. 1715 IndexName *string 1716 1717 // The complete key schema for a local secondary index, which consists of one or 1718 // more pairs of attribute names and key types: 1719 // 1720 // * HASH - partition key 1721 // 1722 // * RANGE - 1723 // sort key 1724 // 1725 // The partition key of an item is also known as its hash attribute. The 1726 // term "hash attribute" derives from DynamoDB's usage of an internal hash function 1727 // to evenly distribute data items across partitions, based on their partition key 1728 // values. The sort key of an item is also known as its range attribute. The term 1729 // "range attribute" derives from the way DynamoDB stores items with the same 1730 // partition key physically close together, in sorted order by the sort key value. 1731 KeySchema []KeySchemaElement 1732 1733 // Represents attributes that are copied (projected) from the table into the global 1734 // secondary index. These are in addition to the primary key attributes and index 1735 // key attributes, which are automatically projected. 1736 Projection *Projection 1737} 1738 1739// Represents a PartiQL statment that uses parameters. 1740type ParameterizedStatement struct { 1741 1742 // A PartiQL statment that uses parameters. 1743 // 1744 // This member is required. 1745 Statement *string 1746 1747 // The parameter values. 1748 Parameters []AttributeValue 1749} 1750 1751// The description of the point in time settings applied to the table. 1752type PointInTimeRecoveryDescription struct { 1753 1754 // Specifies the earliest point in time you can restore your table to. You can 1755 // restore your table to any point in time during the last 35 days. 1756 EarliestRestorableDateTime *time.Time 1757 1758 // LatestRestorableDateTime is typically 5 minutes before the current time. 1759 LatestRestorableDateTime *time.Time 1760 1761 // The current state of point in time recovery: 1762 // 1763 // * ENABLING - Point in time 1764 // recovery is being enabled. 1765 // 1766 // * ENABLED - Point in time recovery is enabled. 1767 // 1768 // * 1769 // DISABLED - Point in time recovery is disabled. 1770 PointInTimeRecoveryStatus PointInTimeRecoveryStatus 1771} 1772 1773// Represents the settings used to enable point in time recovery. 1774type PointInTimeRecoverySpecification struct { 1775 1776 // Indicates whether point in time recovery is enabled (true) or disabled (false) 1777 // on the table. 1778 // 1779 // This member is required. 1780 PointInTimeRecoveryEnabled *bool 1781} 1782 1783// Represents attributes that are copied (projected) from the table into an index. 1784// These are in addition to the primary key attributes and index key attributes, 1785// which are automatically projected. 1786type Projection struct { 1787 1788 // Represents the non-key attribute names which will be projected into the index. 1789 // For local secondary indexes, the total count of NonKeyAttributes summed across 1790 // all of the local secondary indexes, must not exceed 20. If you project the same 1791 // attribute into two different indexes, this counts as two distinct attributes 1792 // when determining the total. 1793 NonKeyAttributes []string 1794 1795 // The set of attributes that are projected into the index: 1796 // 1797 // * KEYS_ONLY - Only the 1798 // index and primary keys are projected into the index. 1799 // 1800 // * INCLUDE - In addition to 1801 // the attributes described in KEYS_ONLY, the secondary index will include other 1802 // non-key attributes that you specify. 1803 // 1804 // * ALL - All of the table attributes are 1805 // projected into the index. 1806 ProjectionType ProjectionType 1807} 1808 1809// Represents the provisioned throughput settings for a specified table or index. 1810// The settings can be modified using the UpdateTable operation. For current 1811// minimum and maximum provisioned throughput values, see Service, Account, and 1812// Table Quotas 1813// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 1814// in the Amazon DynamoDB Developer Guide. 1815type ProvisionedThroughput struct { 1816 1817 // The maximum number of strongly consistent reads consumed per second before 1818 // DynamoDB returns a ThrottlingException. For more information, see Specifying 1819 // Read and Write Requirements 1820 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 1821 // in the Amazon DynamoDB Developer Guide. If read/write capacity mode is 1822 // PAY_PER_REQUEST the value is set to 0. 1823 // 1824 // This member is required. 1825 ReadCapacityUnits *int64 1826 1827 // The maximum number of writes consumed per second before DynamoDB returns a 1828 // ThrottlingException. For more information, see Specifying Read and Write 1829 // Requirements 1830 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 1831 // in the Amazon DynamoDB Developer Guide. If read/write capacity mode is 1832 // PAY_PER_REQUEST the value is set to 0. 1833 // 1834 // This member is required. 1835 WriteCapacityUnits *int64 1836} 1837 1838// Represents the provisioned throughput settings for the table, consisting of read 1839// and write capacity units, along with data about increases and decreases. 1840type ProvisionedThroughputDescription struct { 1841 1842 // The date and time of the last provisioned throughput decrease for this table. 1843 LastDecreaseDateTime *time.Time 1844 1845 // The date and time of the last provisioned throughput increase for this table. 1846 LastIncreaseDateTime *time.Time 1847 1848 // The number of provisioned throughput decreases for this table during this UTC 1849 // calendar day. For current maximums on provisioned throughput decreases, see 1850 // Service, Account, and Table Quotas 1851 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 1852 // in the Amazon DynamoDB Developer Guide. 1853 NumberOfDecreasesToday *int64 1854 1855 // The maximum number of strongly consistent reads consumed per second before 1856 // DynamoDB returns a ThrottlingException. Eventually consistent reads require less 1857 // effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits per 1858 // second provides 100 eventually consistent ReadCapacityUnits per second. 1859 ReadCapacityUnits *int64 1860 1861 // The maximum number of writes consumed per second before DynamoDB returns a 1862 // ThrottlingException. 1863 WriteCapacityUnits *int64 1864} 1865 1866// Replica-specific provisioned throughput settings. If not specified, uses the 1867// source table's provisioned throughput settings. 1868type ProvisionedThroughputOverride struct { 1869 1870 // Replica-specific read capacity units. If not specified, uses the source table's 1871 // read capacity settings. 1872 ReadCapacityUnits *int64 1873} 1874 1875// Represents a request to perform a PutItem operation. 1876type Put struct { 1877 1878 // A map of attribute name to attribute values, representing the primary key of the 1879 // item to be written by PutItem. All of the table's primary key attributes must be 1880 // specified, and their data types must match those of the table's key schema. If 1881 // any attributes are present in the item that are part of an index key schema for 1882 // the table, their types must match the index key schema. 1883 // 1884 // This member is required. 1885 Item map[string]AttributeValue 1886 1887 // Name of the table in which to write the item. 1888 // 1889 // This member is required. 1890 TableName *string 1891 1892 // A condition that must be satisfied in order for a conditional update to succeed. 1893 ConditionExpression *string 1894 1895 // One or more substitution tokens for attribute names in an expression. 1896 ExpressionAttributeNames map[string]string 1897 1898 // One or more values that can be substituted in an expression. 1899 ExpressionAttributeValues map[string]AttributeValue 1900 1901 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Put 1902 // condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: 1903 // NONE and ALL_OLD. 1904 ReturnValuesOnConditionCheckFailure ReturnValuesOnConditionCheckFailure 1905} 1906 1907// Represents a request to perform a PutItem operation on an item. 1908type PutRequest struct { 1909 1910 // A map of attribute name to attribute values, representing the primary key of an 1911 // item to be processed by PutItem. All of the table's primary key attributes must 1912 // be specified, and their data types must match those of the table's key schema. 1913 // If any attributes are present in the item that are part of an index key schema 1914 // for the table, their types must match the index key schema. 1915 // 1916 // This member is required. 1917 Item map[string]AttributeValue 1918} 1919 1920// Represents the properties of a replica. 1921type Replica struct { 1922 1923 // The Region where the replica needs to be created. 1924 RegionName *string 1925} 1926 1927// Represents the auto scaling settings of the replica. 1928type ReplicaAutoScalingDescription struct { 1929 1930 // Replica-specific global secondary index auto scaling settings. 1931 GlobalSecondaryIndexes []ReplicaGlobalSecondaryIndexAutoScalingDescription 1932 1933 // The Region where the replica exists. 1934 RegionName *string 1935 1936 // Represents the auto scaling settings for a global table or global secondary 1937 // index. 1938 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription 1939 1940 // Represents the auto scaling settings for a global table or global secondary 1941 // index. 1942 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription 1943 1944 // The current state of the replica: 1945 // 1946 // * CREATING - The replica is being created. 1947 // 1948 // * 1949 // UPDATING - The replica is being updated. 1950 // 1951 // * DELETING - The replica is being 1952 // deleted. 1953 // 1954 // * ACTIVE - The replica is ready for use. 1955 ReplicaStatus ReplicaStatus 1956} 1957 1958// Represents the auto scaling settings of a replica that will be modified. 1959type ReplicaAutoScalingUpdate struct { 1960 1961 // The Region where the replica exists. 1962 // 1963 // This member is required. 1964 RegionName *string 1965 1966 // Represents the auto scaling settings of global secondary indexes that will be 1967 // modified. 1968 ReplicaGlobalSecondaryIndexUpdates []ReplicaGlobalSecondaryIndexAutoScalingUpdate 1969 1970 // Represents the auto scaling settings to be modified for a global table or global 1971 // secondary index. 1972 ReplicaProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate 1973} 1974 1975// Contains the details of the replica. 1976type ReplicaDescription struct { 1977 1978 // Replica-specific global secondary index settings. 1979 GlobalSecondaryIndexes []ReplicaGlobalSecondaryIndexDescription 1980 1981 // The AWS KMS customer master key (CMK) of the replica that will be used for AWS 1982 // KMS encryption. 1983 KMSMasterKeyId *string 1984 1985 // Replica-specific provisioned throughput. If not described, uses the source 1986 // table's provisioned throughput settings. 1987 ProvisionedThroughputOverride *ProvisionedThroughputOverride 1988 1989 // The name of the Region. 1990 RegionName *string 1991 1992 // The time at which the replica was first detected as inaccessible. To determine 1993 // cause of inaccessibility check the ReplicaStatus property. 1994 ReplicaInaccessibleDateTime *time.Time 1995 1996 // The current state of the replica: 1997 // 1998 // * CREATING - The replica is being created. 1999 // 2000 // * 2001 // UPDATING - The replica is being updated. 2002 // 2003 // * DELETING - The replica is being 2004 // deleted. 2005 // 2006 // * ACTIVE - The replica is ready for use. 2007 // 2008 // * REGION_DISABLED - The 2009 // replica is inaccessible because the AWS Region has been disabled. If the AWS 2010 // Region remains inaccessible for more than 20 hours, DynamoDB will remove this 2011 // replica from the replication group. The replica will not be deleted and 2012 // replication will stop from and to this region. 2013 // 2014 // * 2015 // INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt the table 2016 // is inaccessible. If the AWS KMS key remains inaccessible for more than 20 hours, 2017 // DynamoDB will remove this replica from the replication group. The replica will 2018 // not be deleted and replication will stop from and to this region. 2019 ReplicaStatus ReplicaStatus 2020 2021 // Detailed information about the replica status. 2022 ReplicaStatusDescription *string 2023 2024 // Specifies the progress of a Create, Update, or Delete action on the replica as a 2025 // percentage. 2026 ReplicaStatusPercentProgress *string 2027} 2028 2029// Represents the properties of a replica global secondary index. 2030type ReplicaGlobalSecondaryIndex struct { 2031 2032 // The name of the global secondary index. 2033 // 2034 // This member is required. 2035 IndexName *string 2036 2037 // Replica table GSI-specific provisioned throughput. If not specified, uses the 2038 // source table GSI's read capacity settings. 2039 ProvisionedThroughputOverride *ProvisionedThroughputOverride 2040} 2041 2042// Represents the auto scaling configuration for a replica global secondary index. 2043type ReplicaGlobalSecondaryIndexAutoScalingDescription struct { 2044 2045 // The name of the global secondary index. 2046 IndexName *string 2047 2048 // The current state of the replica global secondary index: 2049 // 2050 // * CREATING - The index 2051 // is being created. 2052 // 2053 // * UPDATING - The index is being updated. 2054 // 2055 // * DELETING - The 2056 // index is being deleted. 2057 // 2058 // * ACTIVE - The index is ready for use. 2059 IndexStatus IndexStatus 2060 2061 // Represents the auto scaling settings for a global table or global secondary 2062 // index. 2063 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription 2064 2065 // Represents the auto scaling settings for a global table or global secondary 2066 // index. 2067 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription 2068} 2069 2070// Represents the auto scaling settings of a global secondary index for a replica 2071// that will be modified. 2072type ReplicaGlobalSecondaryIndexAutoScalingUpdate struct { 2073 2074 // The name of the global secondary index. 2075 IndexName *string 2076 2077 // Represents the auto scaling settings to be modified for a global table or global 2078 // secondary index. 2079 ProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate 2080} 2081 2082// Represents the properties of a replica global secondary index. 2083type ReplicaGlobalSecondaryIndexDescription struct { 2084 2085 // The name of the global secondary index. 2086 IndexName *string 2087 2088 // If not described, uses the source table GSI's read capacity settings. 2089 ProvisionedThroughputOverride *ProvisionedThroughputOverride 2090} 2091 2092// Represents the properties of a global secondary index. 2093type ReplicaGlobalSecondaryIndexSettingsDescription struct { 2094 2095 // The name of the global secondary index. The name must be unique among all other 2096 // indexes on this table. 2097 // 2098 // This member is required. 2099 IndexName *string 2100 2101 // The current status of the global secondary index: 2102 // 2103 // * CREATING - The global 2104 // secondary index is being created. 2105 // 2106 // * UPDATING - The global secondary index is 2107 // being updated. 2108 // 2109 // * DELETING - The global secondary index is being deleted. 2110 // 2111 // * 2112 // ACTIVE - The global secondary index is ready for use. 2113 IndexStatus IndexStatus 2114 2115 // Auto scaling settings for a global secondary index replica's read capacity 2116 // units. 2117 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription 2118 2119 // The maximum number of strongly consistent reads consumed per second before 2120 // DynamoDB returns a ThrottlingException. 2121 ProvisionedReadCapacityUnits *int64 2122 2123 // Auto scaling settings for a global secondary index replica's write capacity 2124 // units. 2125 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription 2126 2127 // The maximum number of writes consumed per second before DynamoDB returns a 2128 // ThrottlingException. 2129 ProvisionedWriteCapacityUnits *int64 2130} 2131 2132// Represents the settings of a global secondary index for a global table that will 2133// be modified. 2134type ReplicaGlobalSecondaryIndexSettingsUpdate struct { 2135 2136 // The name of the global secondary index. The name must be unique among all other 2137 // indexes on this table. 2138 // 2139 // This member is required. 2140 IndexName *string 2141 2142 // Auto scaling settings for managing a global secondary index replica's read 2143 // capacity units. 2144 ProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate 2145 2146 // The maximum number of strongly consistent reads consumed per second before 2147 // DynamoDB returns a ThrottlingException. 2148 ProvisionedReadCapacityUnits *int64 2149} 2150 2151// Represents the properties of a replica. 2152type ReplicaSettingsDescription struct { 2153 2154 // The Region name of the replica. 2155 // 2156 // This member is required. 2157 RegionName *string 2158 2159 // The read/write capacity mode of the replica. 2160 ReplicaBillingModeSummary *BillingModeSummary 2161 2162 // Replica global secondary index settings for the global table. 2163 ReplicaGlobalSecondaryIndexSettings []ReplicaGlobalSecondaryIndexSettingsDescription 2164 2165 // Auto scaling settings for a global table replica's read capacity units. 2166 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription 2167 2168 // The maximum number of strongly consistent reads consumed per second before 2169 // DynamoDB returns a ThrottlingException. For more information, see Specifying 2170 // Read and Write Requirements 2171 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 2172 // in the Amazon DynamoDB Developer Guide. 2173 ReplicaProvisionedReadCapacityUnits *int64 2174 2175 // Auto scaling settings for a global table replica's write capacity units. 2176 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription 2177 2178 // The maximum number of writes consumed per second before DynamoDB returns a 2179 // ThrottlingException. For more information, see Specifying Read and Write 2180 // Requirements 2181 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 2182 // in the Amazon DynamoDB Developer Guide. 2183 ReplicaProvisionedWriteCapacityUnits *int64 2184 2185 // The current state of the Region: 2186 // 2187 // * CREATING - The Region is being created. 2188 // 2189 // * 2190 // UPDATING - The Region is being updated. 2191 // 2192 // * DELETING - The Region is being 2193 // deleted. 2194 // 2195 // * ACTIVE - The Region is ready for use. 2196 ReplicaStatus ReplicaStatus 2197} 2198 2199// Represents the settings for a global table in a Region that will be modified. 2200type ReplicaSettingsUpdate struct { 2201 2202 // The Region of the replica to be added. 2203 // 2204 // This member is required. 2205 RegionName *string 2206 2207 // Represents the settings of a global secondary index for a global table that will 2208 // be modified. 2209 ReplicaGlobalSecondaryIndexSettingsUpdate []ReplicaGlobalSecondaryIndexSettingsUpdate 2210 2211 // Auto scaling settings for managing a global table replica's read capacity units. 2212 ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate 2213 2214 // The maximum number of strongly consistent reads consumed per second before 2215 // DynamoDB returns a ThrottlingException. For more information, see Specifying 2216 // Read and Write Requirements 2217 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 2218 // in the Amazon DynamoDB Developer Guide. 2219 ReplicaProvisionedReadCapacityUnits *int64 2220} 2221 2222// Represents one of the following: 2223// 2224// * A new replica to be added to an existing 2225// regional table or global table. This request invokes the CreateTableReplica 2226// action in the destination Region. 2227// 2228// * New parameters for an existing replica. 2229// This request invokes the UpdateTable action in the destination Region. 2230// 2231// * An 2232// existing replica to be deleted. The request invokes the DeleteTableReplica 2233// action in the destination Region, deleting the replica and all if its items in 2234// the destination Region. 2235type ReplicationGroupUpdate struct { 2236 2237 // The parameters required for creating a replica for the table. 2238 Create *CreateReplicationGroupMemberAction 2239 2240 // The parameters required for deleting a replica for the table. 2241 Delete *DeleteReplicationGroupMemberAction 2242 2243 // The parameters required for updating a replica for the table. 2244 Update *UpdateReplicationGroupMemberAction 2245} 2246 2247// Represents one of the following: 2248// 2249// * A new replica to be added to an existing 2250// global table. 2251// 2252// * New parameters for an existing replica. 2253// 2254// * An existing replica 2255// to be removed from an existing global table. 2256type ReplicaUpdate struct { 2257 2258 // The parameters required for creating a replica on an existing global table. 2259 Create *CreateReplicaAction 2260 2261 // The name of the existing replica to be removed. 2262 Delete *DeleteReplicaAction 2263} 2264 2265// Contains details for the restore. 2266type RestoreSummary struct { 2267 2268 // Point in time or source backup time. 2269 // 2270 // This member is required. 2271 RestoreDateTime *time.Time 2272 2273 // Indicates if a restore is in progress or not. 2274 // 2275 // This member is required. 2276 RestoreInProgress *bool 2277 2278 // The Amazon Resource Name (ARN) of the backup from which the table was restored. 2279 SourceBackupArn *string 2280 2281 // The ARN of the source table of the backup that is being restored. 2282 SourceTableArn *string 2283} 2284 2285// Contains the details of the table when the backup was created. 2286type SourceTableDetails struct { 2287 2288 // Schema of the table. 2289 // 2290 // This member is required. 2291 KeySchema []KeySchemaElement 2292 2293 // Read IOPs and Write IOPS on the table when the backup was created. 2294 // 2295 // This member is required. 2296 ProvisionedThroughput *ProvisionedThroughput 2297 2298 // Time when the source table was created. 2299 // 2300 // This member is required. 2301 TableCreationDateTime *time.Time 2302 2303 // Unique identifier for the table for which the backup was created. 2304 // 2305 // This member is required. 2306 TableId *string 2307 2308 // The name of the table for which the backup was created. 2309 // 2310 // This member is required. 2311 TableName *string 2312 2313 // Controls how you are charged for read and write throughput and how you manage 2314 // capacity. This setting can be changed later. 2315 // 2316 // * PROVISIONED - Sets the 2317 // read/write capacity mode to PROVISIONED. We recommend using PROVISIONED for 2318 // predictable workloads. 2319 // 2320 // * PAY_PER_REQUEST - Sets the read/write capacity mode to 2321 // PAY_PER_REQUEST. We recommend using PAY_PER_REQUEST for unpredictable workloads. 2322 BillingMode BillingMode 2323 2324 // Number of items in the table. Note that this is an approximate value. 2325 ItemCount *int64 2326 2327 // ARN of the table for which backup was created. 2328 TableArn *string 2329 2330 // Size of the table in bytes. Note that this is an approximate value. 2331 TableSizeBytes int64 2332} 2333 2334// Contains the details of the features enabled on the table when the backup was 2335// created. For example, LSIs, GSIs, streams, TTL. 2336type SourceTableFeatureDetails struct { 2337 2338 // Represents the GSI properties for the table when the backup was created. It 2339 // includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the 2340 // GSIs on the table at the time of backup. 2341 GlobalSecondaryIndexes []GlobalSecondaryIndexInfo 2342 2343 // Represents the LSI properties for the table when the backup was created. It 2344 // includes the IndexName, KeySchema and Projection for the LSIs on the table at 2345 // the time of backup. 2346 LocalSecondaryIndexes []LocalSecondaryIndexInfo 2347 2348 // The description of the server-side encryption status on the table when the 2349 // backup was created. 2350 SSEDescription *SSEDescription 2351 2352 // Stream settings on the table when the backup was created. 2353 StreamDescription *StreamSpecification 2354 2355 // Time to Live settings on the table when the backup was created. 2356 TimeToLiveDescription *TimeToLiveDescription 2357} 2358 2359// The description of the server-side encryption status on the specified table. 2360type SSEDescription struct { 2361 2362 // Indicates the time, in UNIX epoch date format, when DynamoDB detected that the 2363 // table's AWS KMS key was inaccessible. This attribute will automatically be 2364 // cleared when DynamoDB detects that the table's AWS KMS key is accessible again. 2365 // DynamoDB will initiate the table archival process when table's AWS KMS key 2366 // remains inaccessible for more than seven days from this date. 2367 InaccessibleEncryptionDateTime *time.Time 2368 2369 // The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption. 2370 KMSMasterKeyArn *string 2371 2372 // Server-side encryption type. The only supported value is: 2373 // 2374 // * KMS - Server-side 2375 // encryption that uses AWS Key Management Service. The key is stored in your 2376 // account and is managed by AWS KMS (AWS KMS charges apply). 2377 SSEType SSEType 2378 2379 // Represents the current state of server-side encryption. The only supported 2380 // values are: 2381 // 2382 // * ENABLED - Server-side encryption is enabled. 2383 // 2384 // * UPDATING - 2385 // Server-side encryption is being updated. 2386 Status SSEStatus 2387} 2388 2389// Represents the settings used to enable server-side encryption. 2390type SSESpecification struct { 2391 2392 // Indicates whether server-side encryption is done using an AWS managed CMK or an 2393 // AWS owned CMK. If enabled (true), server-side encryption type is set to KMS and 2394 // an AWS managed CMK is used (AWS KMS charges apply). If disabled (false) or not 2395 // specified, server-side encryption is set to AWS owned CMK. 2396 Enabled *bool 2397 2398 // The AWS KMS customer master key (CMK) that should be used for the AWS KMS 2399 // encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias 2400 // name, or alias ARN. Note that you should only provide this parameter if the key 2401 // is different from the default DynamoDB customer master key alias/aws/dynamodb. 2402 KMSMasterKeyId *string 2403 2404 // Server-side encryption type. The only supported value is: 2405 // 2406 // * KMS - Server-side 2407 // encryption that uses AWS Key Management Service. The key is stored in your 2408 // account and is managed by AWS KMS (AWS KMS charges apply). 2409 SSEType SSEType 2410} 2411 2412// Represents the DynamoDB Streams configuration for a table in DynamoDB. 2413type StreamSpecification struct { 2414 2415 // Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the 2416 // table. 2417 // 2418 // This member is required. 2419 StreamEnabled *bool 2420 2421 // When an item in the table is modified, StreamViewType determines what 2422 // information is written to the stream for this table. Valid values for 2423 // StreamViewType are: 2424 // 2425 // * KEYS_ONLY - Only the key attributes of the modified item 2426 // are written to the stream. 2427 // 2428 // * NEW_IMAGE - The entire item, as it appears after 2429 // it was modified, is written to the stream. 2430 // 2431 // * OLD_IMAGE - The entire item, as it 2432 // appeared before it was modified, is written to the stream. 2433 // 2434 // * NEW_AND_OLD_IMAGES 2435 // - Both the new and the old item images of the item are written to the stream. 2436 StreamViewType StreamViewType 2437} 2438 2439// Represents the auto scaling configuration for a global table. 2440type TableAutoScalingDescription struct { 2441 2442 // Represents replicas of the global table. 2443 Replicas []ReplicaAutoScalingDescription 2444 2445 // The name of the table. 2446 TableName *string 2447 2448 // The current state of the table: 2449 // 2450 // * CREATING - The table is being created. 2451 // 2452 // * 2453 // UPDATING - The table is being updated. 2454 // 2455 // * DELETING - The table is being 2456 // deleted. 2457 // 2458 // * ACTIVE - The table is ready for use. 2459 TableStatus TableStatus 2460} 2461 2462// Represents the properties of a table. 2463type TableDescription struct { 2464 2465 // Contains information about the table archive. 2466 ArchivalSummary *ArchivalSummary 2467 2468 // An array of AttributeDefinition objects. Each of these objects describes one 2469 // attribute in the table and index key schema. Each AttributeDefinition object in 2470 // this array is composed of: 2471 // 2472 // * AttributeName - The name of the attribute. 2473 // 2474 // * 2475 // AttributeType - The data type for the attribute. 2476 AttributeDefinitions []AttributeDefinition 2477 2478 // Contains the details for the read/write capacity mode. 2479 BillingModeSummary *BillingModeSummary 2480 2481 // The date and time when the table was created, in UNIX epoch time 2482 // (http://www.epochconverter.com/) format. 2483 CreationDateTime *time.Time 2484 2485 // The global secondary indexes, if any, on the table. Each index is scoped to a 2486 // given partition key value. Each element is composed of: 2487 // 2488 // * Backfilling - If 2489 // true, then the index is currently in the backfilling phase. Backfilling occurs 2490 // only when a new global secondary index is added to the table. It is the process 2491 // by which DynamoDB populates the new index with data from the table. (This 2492 // attribute does not appear for indexes that were created during a CreateTable 2493 // operation.) You can delete an index that is being created during the Backfilling 2494 // phase when IndexStatus is set to CREATING and Backfilling is true. You can't 2495 // delete the index that is being created when IndexStatus is set to CREATING and 2496 // Backfilling is false. (This attribute does not appear for indexes that were 2497 // created during a CreateTable operation.) 2498 // 2499 // * IndexName - The name of the global 2500 // secondary index. 2501 // 2502 // * IndexSizeBytes - The total size of the global secondary 2503 // index, in bytes. DynamoDB updates this value approximately every six hours. 2504 // Recent changes might not be reflected in this value. 2505 // 2506 // * IndexStatus - The 2507 // current status of the global secondary index: 2508 // 2509 // * CREATING - The index is being 2510 // created. 2511 // 2512 // * UPDATING - The index is being updated. 2513 // 2514 // * DELETING - The index is 2515 // being deleted. 2516 // 2517 // * ACTIVE - The index is ready for use. 2518 // 2519 // * ItemCount - The number 2520 // of items in the global secondary index. DynamoDB updates this value 2521 // approximately every six hours. Recent changes might not be reflected in this 2522 // value. 2523 // 2524 // * KeySchema - Specifies the complete index key schema. The attribute 2525 // names in the key schema must be between 1 and 255 characters (inclusive). The 2526 // key schema must begin with the same partition key as the table. 2527 // 2528 // * Projection - 2529 // Specifies attributes that are copied (projected) from the table into the index. 2530 // These are in addition to the primary key attributes and index key attributes, 2531 // which are automatically projected. Each attribute specification is composed 2532 // of: 2533 // 2534 // * ProjectionType - One of the following: 2535 // 2536 // * KEYS_ONLY - Only the index and 2537 // primary keys are projected into the index. 2538 // 2539 // * INCLUDE - In addition to the 2540 // attributes described in KEYS_ONLY, the secondary index will include other 2541 // non-key attributes that you specify. 2542 // 2543 // * ALL - All of the table attributes are 2544 // projected into the index. 2545 // 2546 // * NonKeyAttributes - A list of one or more non-key 2547 // attribute names that are projected into the secondary index. The total count of 2548 // attributes provided in NonKeyAttributes, summed across all of the secondary 2549 // indexes, must not exceed 20. If you project the same attribute into two 2550 // different indexes, this counts as two distinct attributes when determining the 2551 // total. 2552 // 2553 // * ProvisionedThroughput - The provisioned throughput settings for the 2554 // global secondary index, consisting of read and write capacity units, along with 2555 // data about increases and decreases. 2556 // 2557 // If the table is in the DELETING state, no 2558 // information about indexes will be returned. 2559 GlobalSecondaryIndexes []GlobalSecondaryIndexDescription 2560 2561 // Represents the version of global tables 2562 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html) 2563 // in use, if the table is replicated across AWS Regions. 2564 GlobalTableVersion *string 2565 2566 // The number of items in the specified table. DynamoDB updates this value 2567 // approximately every six hours. Recent changes might not be reflected in this 2568 // value. 2569 ItemCount int64 2570 2571 // The primary key structure for the table. Each KeySchemaElement consists of: 2572 // 2573 // * 2574 // AttributeName - The name of the attribute. 2575 // 2576 // * KeyType - The role of the 2577 // attribute: 2578 // 2579 // * HASH - partition key 2580 // 2581 // * RANGE - sort key 2582 // 2583 // The partition key of an 2584 // item is also known as its hash attribute. The term "hash attribute" derives from 2585 // DynamoDB's usage of an internal hash function to evenly distribute data items 2586 // across partitions, based on their partition key values. The sort key of an item 2587 // is also known as its range attribute. The term "range attribute" derives from 2588 // the way DynamoDB stores items with the same partition key physically close 2589 // together, in sorted order by the sort key value. 2590 // 2591 // For more information about 2592 // primary keys, see Primary Key 2593 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) 2594 // in the Amazon DynamoDB Developer Guide. 2595 KeySchema []KeySchemaElement 2596 2597 // The Amazon Resource Name (ARN) that uniquely identifies the latest stream for 2598 // this table. 2599 LatestStreamArn *string 2600 2601 // A timestamp, in ISO 8601 format, for this stream. Note that LatestStreamLabel is 2602 // not a unique identifier for the stream, because it is possible that a stream 2603 // from another table might have the same timestamp. However, the combination of 2604 // the following three elements is guaranteed to be unique: 2605 // 2606 // * AWS customer ID 2607 // 2608 // * 2609 // Table name 2610 // 2611 // * StreamLabel 2612 LatestStreamLabel *string 2613 2614 // Represents one or more local secondary indexes on the table. Each index is 2615 // scoped to a given partition key value. Tables with one or more local secondary 2616 // indexes are subject to an item collection size limit, where the amount of data 2617 // within a given item collection cannot exceed 10 GB. Each element is composed 2618 // of: 2619 // 2620 // * IndexName - The name of the local secondary index. 2621 // 2622 // * KeySchema - 2623 // Specifies the complete index key schema. The attribute names in the key schema 2624 // must be between 1 and 255 characters (inclusive). The key schema must begin with 2625 // the same partition key as the table. 2626 // 2627 // * Projection - Specifies attributes that 2628 // are copied (projected) from the table into the index. These are in addition to 2629 // the primary key attributes and index key attributes, which are automatically 2630 // projected. Each attribute specification is composed of: 2631 // 2632 // * ProjectionType - One 2633 // of the following: 2634 // 2635 // * KEYS_ONLY - Only the index and primary keys are projected 2636 // into the index. 2637 // 2638 // * INCLUDE - Only the specified table attributes are projected 2639 // into the index. The list of projected attributes is in NonKeyAttributes. 2640 // 2641 // * ALL 2642 // - All of the table attributes are projected into the index. 2643 // 2644 // * NonKeyAttributes 2645 // - A list of one or more non-key attribute names that are projected into the 2646 // secondary index. The total count of attributes provided in NonKeyAttributes, 2647 // summed across all of the secondary indexes, must not exceed 20. If you project 2648 // the same attribute into two different indexes, this counts as two distinct 2649 // attributes when determining the total. 2650 // 2651 // * IndexSizeBytes - Represents the total 2652 // size of the index, in bytes. DynamoDB updates this value approximately every six 2653 // hours. Recent changes might not be reflected in this value. 2654 // 2655 // * ItemCount - 2656 // Represents the number of items in the index. DynamoDB updates this value 2657 // approximately every six hours. Recent changes might not be reflected in this 2658 // value. 2659 // 2660 // If the table is in the DELETING state, no information about indexes will 2661 // be returned. 2662 LocalSecondaryIndexes []LocalSecondaryIndexDescription 2663 2664 // The provisioned throughput settings for the table, consisting of read and write 2665 // capacity units, along with data about increases and decreases. 2666 ProvisionedThroughput *ProvisionedThroughputDescription 2667 2668 // Represents replicas of the table. 2669 Replicas []ReplicaDescription 2670 2671 // Contains details for the restore. 2672 RestoreSummary *RestoreSummary 2673 2674 // The description of the server-side encryption status on the specified table. 2675 SSEDescription *SSEDescription 2676 2677 // The current DynamoDB Streams configuration for the table. 2678 StreamSpecification *StreamSpecification 2679 2680 // The Amazon Resource Name (ARN) that uniquely identifies the table. 2681 TableArn *string 2682 2683 // Unique identifier for the table for which the backup was created. 2684 TableId *string 2685 2686 // The name of the table. 2687 TableName *string 2688 2689 // The total size of the specified table, in bytes. DynamoDB updates this value 2690 // approximately every six hours. Recent changes might not be reflected in this 2691 // value. 2692 TableSizeBytes int64 2693 2694 // The current state of the table: 2695 // 2696 // * CREATING - The table is being created. 2697 // 2698 // * 2699 // UPDATING - The table is being updated. 2700 // 2701 // * DELETING - The table is being 2702 // deleted. 2703 // 2704 // * ACTIVE - The table is ready for use. 2705 // 2706 // * 2707 // INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt the table 2708 // in inaccessible. Table operations may fail due to failure to use the AWS KMS 2709 // key. DynamoDB will initiate the table archival process when a table's AWS KMS 2710 // key remains inaccessible for more than seven days. 2711 // 2712 // * ARCHIVING - The table is 2713 // being archived. Operations are not allowed until archival is complete. 2714 // 2715 // * 2716 // ARCHIVED - The table has been archived. See the ArchivalReason for more 2717 // information. 2718 TableStatus TableStatus 2719} 2720 2721// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a 2722// single DynamoDB table. AWS-assigned tag names and values are automatically 2723// assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names 2724// do not count towards the tag limit of 50. User-assigned tag names have the 2725// prefix user: in the Cost Allocation Report. You cannot backdate the application 2726// of a tag. For an overview on tagging DynamoDB resources, see Tagging for 2727// DynamoDB 2728// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 2729// in the Amazon DynamoDB Developer Guide. 2730type Tag struct { 2731 2732 // The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only 2733 // have up to one tag with the same key. If you try to add an existing tag (same 2734 // key), the existing tag value will be updated to the new value. 2735 // 2736 // This member is required. 2737 Key *string 2738 2739 // The value of the tag. Tag values are case-sensitive and can be null. 2740 // 2741 // This member is required. 2742 Value *string 2743} 2744 2745// The description of the Time to Live (TTL) status on the specified table. 2746type TimeToLiveDescription struct { 2747 2748 // The name of the TTL attribute for items in the table. 2749 AttributeName *string 2750 2751 // The TTL status for the table. 2752 TimeToLiveStatus TimeToLiveStatus 2753} 2754 2755// Represents the settings used to enable or disable Time to Live (TTL) for the 2756// specified table. 2757type TimeToLiveSpecification struct { 2758 2759 // The name of the TTL attribute used to store the expiration time for items in the 2760 // table. 2761 // 2762 // This member is required. 2763 AttributeName *string 2764 2765 // Indicates whether TTL is to be enabled (true) or disabled (false) on the table. 2766 // 2767 // This member is required. 2768 Enabled *bool 2769} 2770 2771// Specifies an item to be retrieved as part of the transaction. 2772type TransactGetItem struct { 2773 2774 // Contains the primary key that identifies the item to get, together with the name 2775 // of the table that contains the item, and optionally the specific attributes of 2776 // the item to retrieve. 2777 // 2778 // This member is required. 2779 Get *Get 2780} 2781 2782// A list of requests that can perform update, put, delete, or check operations on 2783// multiple items in one or more tables atomically. 2784type TransactWriteItem struct { 2785 2786 // A request to perform a check item operation. 2787 ConditionCheck *ConditionCheck 2788 2789 // A request to perform a DeleteItem operation. 2790 Delete *Delete 2791 2792 // A request to perform a PutItem operation. 2793 Put *Put 2794 2795 // A request to perform an UpdateItem operation. 2796 Update *Update 2797} 2798 2799// Represents a request to perform an UpdateItem operation. 2800type Update struct { 2801 2802 // The primary key of the item to be updated. Each element consists of an attribute 2803 // name and a value for that attribute. 2804 // 2805 // This member is required. 2806 Key map[string]AttributeValue 2807 2808 // Name of the table for the UpdateItem request. 2809 // 2810 // This member is required. 2811 TableName *string 2812 2813 // An expression that defines one or more attributes to be updated, the action to 2814 // be performed on them, and new value(s) for them. 2815 // 2816 // This member is required. 2817 UpdateExpression *string 2818 2819 // A condition that must be satisfied in order for a conditional update to succeed. 2820 ConditionExpression *string 2821 2822 // One or more substitution tokens for attribute names in an expression. 2823 ExpressionAttributeNames map[string]string 2824 2825 // One or more values that can be substituted in an expression. 2826 ExpressionAttributeValues map[string]AttributeValue 2827 2828 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Update 2829 // condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: 2830 // NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW. 2831 ReturnValuesOnConditionCheckFailure ReturnValuesOnConditionCheckFailure 2832} 2833 2834// Represents the new provisioned throughput settings to be applied to a global 2835// secondary index. 2836type UpdateGlobalSecondaryIndexAction struct { 2837 2838 // The name of the global secondary index to be updated. 2839 // 2840 // This member is required. 2841 IndexName *string 2842 2843 // Represents the provisioned throughput settings for the specified global 2844 // secondary index. For current minimum and maximum provisioned throughput values, 2845 // see Service, Account, and Table Quotas 2846 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 2847 // in the Amazon DynamoDB Developer Guide. 2848 // 2849 // This member is required. 2850 ProvisionedThroughput *ProvisionedThroughput 2851} 2852 2853// Represents a replica to be modified. 2854type UpdateReplicationGroupMemberAction struct { 2855 2856 // The Region where the replica exists. 2857 // 2858 // This member is required. 2859 RegionName *string 2860 2861 // Replica-specific global secondary index settings. 2862 GlobalSecondaryIndexes []ReplicaGlobalSecondaryIndex 2863 2864 // The AWS KMS customer master key (CMK) of the replica that should be used for AWS 2865 // KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), 2866 // alias name, or alias ARN. Note that you should only provide this parameter if 2867 // the key is different from the default DynamoDB KMS master key 2868 // alias/aws/dynamodb. 2869 KMSMasterKeyId *string 2870 2871 // Replica-specific provisioned throughput. If not specified, uses the source 2872 // table's provisioned throughput settings. 2873 ProvisionedThroughputOverride *ProvisionedThroughputOverride 2874} 2875 2876// Represents an operation to perform - either DeleteItem or PutItem. You can only 2877// request one of these operations, not both, in a single WriteRequest. If you do 2878// need to perform both of these operations, you need to provide two separate 2879// WriteRequest objects. 2880type WriteRequest struct { 2881 2882 // A request to perform a DeleteItem operation. 2883 DeleteRequest *DeleteRequest 2884 2885 // A request to perform a PutItem operation. 2886 PutRequest *PutRequest 2887} 2888 2889// UnknownUnionMember is returned when a union member is returned over the wire, 2890// but has an unknown tag. 2891type UnknownUnionMember struct { 2892 Tag string 2893 Value []byte 2894} 2895 2896func (*UnknownUnionMember) isAttributeValue() {} 2897