github.com/aavshr/aws-sdk-go@v1.41.3/service/dynamodb/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package dynamodb 4 5 import ( 6 "fmt" 7 "net/url" 8 "strings" 9 "time" 10 11 "github.com/aavshr/aws-sdk-go/aws" 12 "github.com/aavshr/aws-sdk-go/aws/awsutil" 13 "github.com/aavshr/aws-sdk-go/aws/crr" 14 "github.com/aavshr/aws-sdk-go/aws/request" 15 "github.com/aavshr/aws-sdk-go/private/protocol" 16 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 17 ) 18 19 const opBatchExecuteStatement = "BatchExecuteStatement" 20 21 // BatchExecuteStatementRequest generates a "aws/request.Request" representing the 22 // client's request for the BatchExecuteStatement operation. The "output" return 23 // value will be populated with the request's response once the request completes 24 // successfully. 25 // 26 // Use "Send" method on the returned Request to send the API call to the service. 27 // the "output" return value is not valid until after Send returns without error. 28 // 29 // See BatchExecuteStatement for more information on using the BatchExecuteStatement 30 // API call, and error handling. 31 // 32 // This method is useful when you want to inject custom logic or configuration 33 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 34 // 35 // 36 // // Example sending a request using the BatchExecuteStatementRequest method. 37 // req, resp := client.BatchExecuteStatementRequest(params) 38 // 39 // err := req.Send() 40 // if err == nil { // resp is now filled 41 // fmt.Println(resp) 42 // } 43 // 44 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchExecuteStatement 45 func (c *DynamoDB) BatchExecuteStatementRequest(input *BatchExecuteStatementInput) (req *request.Request, output *BatchExecuteStatementOutput) { 46 op := &request.Operation{ 47 Name: opBatchExecuteStatement, 48 HTTPMethod: "POST", 49 HTTPPath: "/", 50 } 51 52 if input == nil { 53 input = &BatchExecuteStatementInput{} 54 } 55 56 output = &BatchExecuteStatementOutput{} 57 req = c.newRequest(op, input, output) 58 return 59 } 60 61 // BatchExecuteStatement API operation for Amazon DynamoDB. 62 // 63 // This operation allows you to perform batch reads and writes on data stored 64 // in DynamoDB, using PartiQL. 65 // 66 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 67 // with awserr.Error's Code and Message methods to get detailed information about 68 // the error. 69 // 70 // See the AWS API reference guide for Amazon DynamoDB's 71 // API operation BatchExecuteStatement for usage and error information. 72 // 73 // Returned Error Types: 74 // * RequestLimitExceeded 75 // Throughput exceeds the current throughput quota for your account. Please 76 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 77 // a quota increase. 78 // 79 // * InternalServerError 80 // An error occurred on the server side. 81 // 82 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchExecuteStatement 83 func (c *DynamoDB) BatchExecuteStatement(input *BatchExecuteStatementInput) (*BatchExecuteStatementOutput, error) { 84 req, out := c.BatchExecuteStatementRequest(input) 85 return out, req.Send() 86 } 87 88 // BatchExecuteStatementWithContext is the same as BatchExecuteStatement with the addition of 89 // the ability to pass a context and additional request options. 90 // 91 // See BatchExecuteStatement for details on how to use this API operation. 92 // 93 // The context must be non-nil and will be used for request cancellation. If 94 // the context is nil a panic will occur. In the future the SDK may create 95 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 96 // for more information on using Contexts. 97 func (c *DynamoDB) BatchExecuteStatementWithContext(ctx aws.Context, input *BatchExecuteStatementInput, opts ...request.Option) (*BatchExecuteStatementOutput, error) { 98 req, out := c.BatchExecuteStatementRequest(input) 99 req.SetContext(ctx) 100 req.ApplyOptions(opts...) 101 return out, req.Send() 102 } 103 104 const opBatchGetItem = "BatchGetItem" 105 106 // BatchGetItemRequest generates a "aws/request.Request" representing the 107 // client's request for the BatchGetItem operation. The "output" return 108 // value will be populated with the request's response once the request completes 109 // successfully. 110 // 111 // Use "Send" method on the returned Request to send the API call to the service. 112 // the "output" return value is not valid until after Send returns without error. 113 // 114 // See BatchGetItem for more information on using the BatchGetItem 115 // API call, and error handling. 116 // 117 // This method is useful when you want to inject custom logic or configuration 118 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 119 // 120 // 121 // // Example sending a request using the BatchGetItemRequest method. 122 // req, resp := client.BatchGetItemRequest(params) 123 // 124 // err := req.Send() 125 // if err == nil { // resp is now filled 126 // fmt.Println(resp) 127 // } 128 // 129 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem 130 func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.Request, output *BatchGetItemOutput) { 131 op := &request.Operation{ 132 Name: opBatchGetItem, 133 HTTPMethod: "POST", 134 HTTPPath: "/", 135 Paginator: &request.Paginator{ 136 InputTokens: []string{"RequestItems"}, 137 OutputTokens: []string{"UnprocessedKeys"}, 138 LimitToken: "", 139 TruncationToken: "", 140 }, 141 } 142 143 if input == nil { 144 input = &BatchGetItemInput{} 145 } 146 147 output = &BatchGetItemOutput{} 148 req = c.newRequest(op, input, output) 149 // if custom endpoint for the request is set to a non empty string, 150 // we skip the endpoint discovery workflow. 151 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 152 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 153 de := discovererDescribeEndpoints{ 154 Required: false, 155 EndpointCache: c.endpointCache, 156 Params: map[string]*string{ 157 "op": aws.String(req.Operation.Name), 158 }, 159 Client: c, 160 } 161 162 for k, v := range de.Params { 163 if v == nil { 164 delete(de.Params, k) 165 } 166 } 167 168 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 169 Name: "crr.endpointdiscovery", 170 Fn: de.Handler, 171 }) 172 } 173 } 174 return 175 } 176 177 // BatchGetItem API operation for Amazon DynamoDB. 178 // 179 // The BatchGetItem operation returns the attributes of one or more items from 180 // one or more tables. You identify requested items by primary key. 181 // 182 // A single operation can retrieve up to 16 MB of data, which can contain as 183 // many as 100 items. BatchGetItem returns a partial result if the response 184 // size limit is exceeded, the table's provisioned throughput is exceeded, or 185 // an internal processing failure occurs. If a partial result is returned, the 186 // operation returns a value for UnprocessedKeys. You can use this value to 187 // retry the operation starting with the next item to get. 188 // 189 // If you request more than 100 items, BatchGetItem returns a ValidationException 190 // with the message "Too many items requested for the BatchGetItem call." 191 // 192 // For example, if you ask to retrieve 100 items, but each individual item is 193 // 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB 194 // limit). It also returns an appropriate UnprocessedKeys value so you can get 195 // the next page of results. If desired, your application can include its own 196 // logic to assemble the pages of results into one dataset. 197 // 198 // If none of the items can be processed due to insufficient provisioned throughput 199 // on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. 200 // If at least one of the items is successfully processed, then BatchGetItem 201 // completes successfully, while returning the keys of the unread items in UnprocessedKeys. 202 // 203 // If DynamoDB returns any unprocessed items, you should retry the batch operation 204 // on those items. However, we strongly recommend that you use an exponential 205 // backoff algorithm. If you retry the batch operation immediately, the underlying 206 // read or write requests can still fail due to throttling on the individual 207 // tables. If you delay the batch operation using exponential backoff, the individual 208 // requests in the batch are much more likely to succeed. 209 // 210 // For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations) 211 // in the Amazon DynamoDB Developer Guide. 212 // 213 // By default, BatchGetItem performs eventually consistent reads on every table 214 // in the request. If you want strongly consistent reads instead, you can set 215 // ConsistentRead to true for any or all tables. 216 // 217 // In order to minimize response latency, BatchGetItem retrieves items in parallel. 218 // 219 // When designing your application, keep in mind that DynamoDB does not return 220 // items in any particular order. To help parse the response by item, include 221 // the primary key values for the items in your request in the ProjectionExpression 222 // parameter. 223 // 224 // If a requested item does not exist, it is not returned in the result. Requests 225 // for nonexistent items consume the minimum read capacity units according to 226 // the type of read. For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations) 227 // in the Amazon DynamoDB Developer Guide. 228 // 229 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 230 // with awserr.Error's Code and Message methods to get detailed information about 231 // the error. 232 // 233 // See the AWS API reference guide for Amazon DynamoDB's 234 // API operation BatchGetItem for usage and error information. 235 // 236 // Returned Error Types: 237 // * ProvisionedThroughputExceededException 238 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 239 // requests that receive this exception. Your request is eventually successful, 240 // unless your retry queue is too large to finish. Reduce the frequency of requests 241 // and use exponential backoff. For more information, go to Error Retries and 242 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 243 // in the Amazon DynamoDB Developer Guide. 244 // 245 // * ResourceNotFoundException 246 // The operation tried to access a nonexistent table or index. The resource 247 // might not be specified correctly, or its status might not be ACTIVE. 248 // 249 // * RequestLimitExceeded 250 // Throughput exceeds the current throughput quota for your account. Please 251 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 252 // a quota increase. 253 // 254 // * InternalServerError 255 // An error occurred on the server side. 256 // 257 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem 258 func (c *DynamoDB) BatchGetItem(input *BatchGetItemInput) (*BatchGetItemOutput, error) { 259 req, out := c.BatchGetItemRequest(input) 260 return out, req.Send() 261 } 262 263 // BatchGetItemWithContext is the same as BatchGetItem with the addition of 264 // the ability to pass a context and additional request options. 265 // 266 // See BatchGetItem for details on how to use this API operation. 267 // 268 // The context must be non-nil and will be used for request cancellation. If 269 // the context is nil a panic will occur. In the future the SDK may create 270 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 271 // for more information on using Contexts. 272 func (c *DynamoDB) BatchGetItemWithContext(ctx aws.Context, input *BatchGetItemInput, opts ...request.Option) (*BatchGetItemOutput, error) { 273 req, out := c.BatchGetItemRequest(input) 274 req.SetContext(ctx) 275 req.ApplyOptions(opts...) 276 return out, req.Send() 277 } 278 279 // BatchGetItemPages iterates over the pages of a BatchGetItem operation, 280 // calling the "fn" function with the response data for each page. To stop 281 // iterating, return false from the fn function. 282 // 283 // See BatchGetItem method for more information on how to use this operation. 284 // 285 // Note: This operation can generate multiple requests to a service. 286 // 287 // // Example iterating over at most 3 pages of a BatchGetItem operation. 288 // pageNum := 0 289 // err := client.BatchGetItemPages(params, 290 // func(page *dynamodb.BatchGetItemOutput, lastPage bool) bool { 291 // pageNum++ 292 // fmt.Println(page) 293 // return pageNum <= 3 294 // }) 295 // 296 func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool) error { 297 return c.BatchGetItemPagesWithContext(aws.BackgroundContext(), input, fn) 298 } 299 300 // BatchGetItemPagesWithContext same as BatchGetItemPages except 301 // it takes a Context and allows setting request options on the pages. 302 // 303 // The context must be non-nil and will be used for request cancellation. If 304 // the context is nil a panic will occur. In the future the SDK may create 305 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 306 // for more information on using Contexts. 307 func (c *DynamoDB) BatchGetItemPagesWithContext(ctx aws.Context, input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool, opts ...request.Option) error { 308 p := request.Pagination{ 309 NewRequest: func() (*request.Request, error) { 310 var inCpy *BatchGetItemInput 311 if input != nil { 312 tmp := *input 313 inCpy = &tmp 314 } 315 req, _ := c.BatchGetItemRequest(inCpy) 316 req.SetContext(ctx) 317 req.ApplyOptions(opts...) 318 return req, nil 319 }, 320 } 321 322 for p.Next() { 323 if !fn(p.Page().(*BatchGetItemOutput), !p.HasNextPage()) { 324 break 325 } 326 } 327 328 return p.Err() 329 } 330 331 const opBatchWriteItem = "BatchWriteItem" 332 333 // BatchWriteItemRequest generates a "aws/request.Request" representing the 334 // client's request for the BatchWriteItem operation. The "output" return 335 // value will be populated with the request's response once the request completes 336 // successfully. 337 // 338 // Use "Send" method on the returned Request to send the API call to the service. 339 // the "output" return value is not valid until after Send returns without error. 340 // 341 // See BatchWriteItem for more information on using the BatchWriteItem 342 // API call, and error handling. 343 // 344 // This method is useful when you want to inject custom logic or configuration 345 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 346 // 347 // 348 // // Example sending a request using the BatchWriteItemRequest method. 349 // req, resp := client.BatchWriteItemRequest(params) 350 // 351 // err := req.Send() 352 // if err == nil { // resp is now filled 353 // fmt.Println(resp) 354 // } 355 // 356 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem 357 func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *request.Request, output *BatchWriteItemOutput) { 358 op := &request.Operation{ 359 Name: opBatchWriteItem, 360 HTTPMethod: "POST", 361 HTTPPath: "/", 362 } 363 364 if input == nil { 365 input = &BatchWriteItemInput{} 366 } 367 368 output = &BatchWriteItemOutput{} 369 req = c.newRequest(op, input, output) 370 // if custom endpoint for the request is set to a non empty string, 371 // we skip the endpoint discovery workflow. 372 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 373 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 374 de := discovererDescribeEndpoints{ 375 Required: false, 376 EndpointCache: c.endpointCache, 377 Params: map[string]*string{ 378 "op": aws.String(req.Operation.Name), 379 }, 380 Client: c, 381 } 382 383 for k, v := range de.Params { 384 if v == nil { 385 delete(de.Params, k) 386 } 387 } 388 389 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 390 Name: "crr.endpointdiscovery", 391 Fn: de.Handler, 392 }) 393 } 394 } 395 return 396 } 397 398 // BatchWriteItem API operation for Amazon DynamoDB. 399 // 400 // The BatchWriteItem operation puts or deletes multiple items in one or more 401 // tables. A single call to BatchWriteItem can write up to 16 MB of data, which 402 // can comprise as many as 25 put or delete requests. Individual items to be 403 // written can be as large as 400 KB. 404 // 405 // BatchWriteItem cannot update items. To update items, use the UpdateItem action. 406 // 407 // The individual PutItem and DeleteItem operations specified in BatchWriteItem 408 // are atomic; however BatchWriteItem as a whole is not. If any requested operations 409 // fail because the table's provisioned throughput is exceeded or an internal 410 // processing failure occurs, the failed operations are returned in the UnprocessedItems 411 // response parameter. You can investigate and optionally resend the requests. 412 // Typically, you would call BatchWriteItem in a loop. Each iteration would 413 // check for unprocessed items and submit a new BatchWriteItem request with 414 // those unprocessed items until all items have been processed. 415 // 416 // If none of the items can be processed due to insufficient provisioned throughput 417 // on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException. 418 // 419 // If DynamoDB returns any unprocessed items, you should retry the batch operation 420 // on those items. However, we strongly recommend that you use an exponential 421 // backoff algorithm. If you retry the batch operation immediately, the underlying 422 // read or write requests can still fail due to throttling on the individual 423 // tables. If you delay the batch operation using exponential backoff, the individual 424 // requests in the batch are much more likely to succeed. 425 // 426 // For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations) 427 // in the Amazon DynamoDB Developer Guide. 428 // 429 // With BatchWriteItem, you can efficiently write or delete large amounts of 430 // data, such as from Amazon EMR, or copy data from another database into DynamoDB. 431 // In order to improve performance with these large-scale operations, BatchWriteItem 432 // does not behave in the same way as individual PutItem and DeleteItem calls 433 // would. For example, you cannot specify conditions on individual put and delete 434 // requests, and BatchWriteItem does not return deleted items in the response. 435 // 436 // If you use a programming language that supports concurrency, you can use 437 // threads to write items in parallel. Your application must include the necessary 438 // logic to manage the threads. With languages that don't support threading, 439 // you must update or delete the specified items one at a time. In both situations, 440 // BatchWriteItem performs the specified put and delete operations in parallel, 441 // giving you the power of the thread pool approach without having to introduce 442 // complexity into your application. 443 // 444 // Parallel processing reduces latency, but each specified put and delete request 445 // consumes the same number of write capacity units whether it is processed 446 // in parallel or not. Delete operations on nonexistent items consume one write 447 // capacity unit. 448 // 449 // If one or more of the following is true, DynamoDB rejects the entire batch 450 // write operation: 451 // 452 // * One or more tables specified in the BatchWriteItem request does not 453 // exist. 454 // 455 // * Primary key attributes specified on an item in the request do not match 456 // those in the corresponding table's primary key schema. 457 // 458 // * You try to perform multiple operations on the same item in the same 459 // BatchWriteItem request. For example, you cannot put and delete the same 460 // item in the same BatchWriteItem request. 461 // 462 // * Your request contains at least two items with identical hash and range 463 // keys (which essentially is two put operations). 464 // 465 // * There are more than 25 requests in the batch. 466 // 467 // * Any individual item in a batch exceeds 400 KB. 468 // 469 // * The total request size exceeds 16 MB. 470 // 471 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 472 // with awserr.Error's Code and Message methods to get detailed information about 473 // the error. 474 // 475 // See the AWS API reference guide for Amazon DynamoDB's 476 // API operation BatchWriteItem for usage and error information. 477 // 478 // Returned Error Types: 479 // * ProvisionedThroughputExceededException 480 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 481 // requests that receive this exception. Your request is eventually successful, 482 // unless your retry queue is too large to finish. Reduce the frequency of requests 483 // and use exponential backoff. For more information, go to Error Retries and 484 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 485 // in the Amazon DynamoDB Developer Guide. 486 // 487 // * ResourceNotFoundException 488 // The operation tried to access a nonexistent table or index. The resource 489 // might not be specified correctly, or its status might not be ACTIVE. 490 // 491 // * ItemCollectionSizeLimitExceededException 492 // An item collection is too large. This exception is only returned for tables 493 // that have one or more local secondary indexes. 494 // 495 // * RequestLimitExceeded 496 // Throughput exceeds the current throughput quota for your account. Please 497 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 498 // a quota increase. 499 // 500 // * InternalServerError 501 // An error occurred on the server side. 502 // 503 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem 504 func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOutput, error) { 505 req, out := c.BatchWriteItemRequest(input) 506 return out, req.Send() 507 } 508 509 // BatchWriteItemWithContext is the same as BatchWriteItem with the addition of 510 // the ability to pass a context and additional request options. 511 // 512 // See BatchWriteItem for details on how to use this API operation. 513 // 514 // The context must be non-nil and will be used for request cancellation. If 515 // the context is nil a panic will occur. In the future the SDK may create 516 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 517 // for more information on using Contexts. 518 func (c *DynamoDB) BatchWriteItemWithContext(ctx aws.Context, input *BatchWriteItemInput, opts ...request.Option) (*BatchWriteItemOutput, error) { 519 req, out := c.BatchWriteItemRequest(input) 520 req.SetContext(ctx) 521 req.ApplyOptions(opts...) 522 return out, req.Send() 523 } 524 525 const opCreateBackup = "CreateBackup" 526 527 // CreateBackupRequest generates a "aws/request.Request" representing the 528 // client's request for the CreateBackup operation. The "output" return 529 // value will be populated with the request's response once the request completes 530 // successfully. 531 // 532 // Use "Send" method on the returned Request to send the API call to the service. 533 // the "output" return value is not valid until after Send returns without error. 534 // 535 // See CreateBackup for more information on using the CreateBackup 536 // API call, and error handling. 537 // 538 // This method is useful when you want to inject custom logic or configuration 539 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 540 // 541 // 542 // // Example sending a request using the CreateBackupRequest method. 543 // req, resp := client.CreateBackupRequest(params) 544 // 545 // err := req.Send() 546 // if err == nil { // resp is now filled 547 // fmt.Println(resp) 548 // } 549 // 550 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup 551 func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) { 552 op := &request.Operation{ 553 Name: opCreateBackup, 554 HTTPMethod: "POST", 555 HTTPPath: "/", 556 } 557 558 if input == nil { 559 input = &CreateBackupInput{} 560 } 561 562 output = &CreateBackupOutput{} 563 req = c.newRequest(op, input, output) 564 // if custom endpoint for the request is set to a non empty string, 565 // we skip the endpoint discovery workflow. 566 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 567 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 568 de := discovererDescribeEndpoints{ 569 Required: false, 570 EndpointCache: c.endpointCache, 571 Params: map[string]*string{ 572 "op": aws.String(req.Operation.Name), 573 }, 574 Client: c, 575 } 576 577 for k, v := range de.Params { 578 if v == nil { 579 delete(de.Params, k) 580 } 581 } 582 583 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 584 Name: "crr.endpointdiscovery", 585 Fn: de.Handler, 586 }) 587 } 588 } 589 return 590 } 591 592 // CreateBackup API operation for Amazon DynamoDB. 593 // 594 // Creates a backup for an existing table. 595 // 596 // Each time you create an on-demand backup, the entire table data is backed 597 // up. There is no limit to the number of on-demand backups that can be taken. 598 // 599 // When you create an on-demand backup, a time marker of the request is cataloged, 600 // and the backup is created asynchronously, by applying all changes until the 601 // time of the request to the last full table snapshot. Backup requests are 602 // processed instantaneously and become available for restore within minutes. 603 // 604 // You can call CreateBackup at a maximum rate of 50 times per second. 605 // 606 // All backups in DynamoDB work without consuming any provisioned throughput 607 // on the table. 608 // 609 // If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed 610 // to contain all data committed to the table up to 14:24:00, and data committed 611 // after 14:26:00 will not be. The backup might contain data modifications made 612 // between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency. 613 // 614 // Along with data, the following are also included on the backups: 615 // 616 // * Global secondary indexes (GSIs) 617 // 618 // * Local secondary indexes (LSIs) 619 // 620 // * Streams 621 // 622 // * Provisioned read and write capacity 623 // 624 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 625 // with awserr.Error's Code and Message methods to get detailed information about 626 // the error. 627 // 628 // See the AWS API reference guide for Amazon DynamoDB's 629 // API operation CreateBackup for usage and error information. 630 // 631 // Returned Error Types: 632 // * TableNotFoundException 633 // A source table with the name TableName does not currently exist within the 634 // subscriber's account. 635 // 636 // * TableInUseException 637 // A target table with the specified name is either being created or deleted. 638 // 639 // * ContinuousBackupsUnavailableException 640 // Backups have not yet been enabled for this table. 641 // 642 // * BackupInUseException 643 // There is another ongoing conflicting backup control plane operation on the 644 // table. The backup is either being created, deleted or restored to a table. 645 // 646 // * LimitExceededException 647 // There is no limit to the number of daily on-demand backups that can be taken. 648 // 649 // Up to 50 simultaneous table operations are allowed per account. These operations 650 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 651 // and RestoreTableToPointInTime. 652 // 653 // The only exception is when you are creating a table with one or more secondary 654 // indexes. You can have up to 25 such requests running at a time; however, 655 // if the table or index specifications are complex, DynamoDB might temporarily 656 // reduce the number of concurrent operations. 657 // 658 // There is a soft account quota of 256 tables. 659 // 660 // * InternalServerError 661 // An error occurred on the server side. 662 // 663 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup 664 func (c *DynamoDB) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) { 665 req, out := c.CreateBackupRequest(input) 666 return out, req.Send() 667 } 668 669 // CreateBackupWithContext is the same as CreateBackup with the addition of 670 // the ability to pass a context and additional request options. 671 // 672 // See CreateBackup for details on how to use this API operation. 673 // 674 // The context must be non-nil and will be used for request cancellation. If 675 // the context is nil a panic will occur. In the future the SDK may create 676 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 677 // for more information on using Contexts. 678 func (c *DynamoDB) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) { 679 req, out := c.CreateBackupRequest(input) 680 req.SetContext(ctx) 681 req.ApplyOptions(opts...) 682 return out, req.Send() 683 } 684 685 const opCreateGlobalTable = "CreateGlobalTable" 686 687 // CreateGlobalTableRequest generates a "aws/request.Request" representing the 688 // client's request for the CreateGlobalTable operation. The "output" return 689 // value will be populated with the request's response once the request completes 690 // successfully. 691 // 692 // Use "Send" method on the returned Request to send the API call to the service. 693 // the "output" return value is not valid until after Send returns without error. 694 // 695 // See CreateGlobalTable for more information on using the CreateGlobalTable 696 // API call, and error handling. 697 // 698 // This method is useful when you want to inject custom logic or configuration 699 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 700 // 701 // 702 // // Example sending a request using the CreateGlobalTableRequest method. 703 // req, resp := client.CreateGlobalTableRequest(params) 704 // 705 // err := req.Send() 706 // if err == nil { // resp is now filled 707 // fmt.Println(resp) 708 // } 709 // 710 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable 711 func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req *request.Request, output *CreateGlobalTableOutput) { 712 op := &request.Operation{ 713 Name: opCreateGlobalTable, 714 HTTPMethod: "POST", 715 HTTPPath: "/", 716 } 717 718 if input == nil { 719 input = &CreateGlobalTableInput{} 720 } 721 722 output = &CreateGlobalTableOutput{} 723 req = c.newRequest(op, input, output) 724 // if custom endpoint for the request is set to a non empty string, 725 // we skip the endpoint discovery workflow. 726 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 727 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 728 de := discovererDescribeEndpoints{ 729 Required: false, 730 EndpointCache: c.endpointCache, 731 Params: map[string]*string{ 732 "op": aws.String(req.Operation.Name), 733 }, 734 Client: c, 735 } 736 737 for k, v := range de.Params { 738 if v == nil { 739 delete(de.Params, k) 740 } 741 } 742 743 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 744 Name: "crr.endpointdiscovery", 745 Fn: de.Handler, 746 }) 747 } 748 } 749 return 750 } 751 752 // CreateGlobalTable API operation for Amazon DynamoDB. 753 // 754 // Creates a global table from an existing table. A global table creates a replication 755 // relationship between two or more DynamoDB tables with the same table name 756 // in the provided Regions. 757 // 758 // This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 759 // of global tables. 760 // 761 // If you want to add a new replica table to a global table, each of the following 762 // conditions must be true: 763 // 764 // * The table must have the same primary key as all of the other replicas. 765 // 766 // * The table must have the same name as all of the other replicas. 767 // 768 // * The table must have DynamoDB Streams enabled, with the stream containing 769 // both the new and the old images of the item. 770 // 771 // * None of the replica tables in the global table can contain any data. 772 // 773 // If global secondary indexes are specified, then the following conditions 774 // must also be met: 775 // 776 // * The global secondary indexes must have the same name. 777 // 778 // * The global secondary indexes must have the same hash key and sort key 779 // (if present). 780 // 781 // If local secondary indexes are specified, then the following conditions must 782 // also be met: 783 // 784 // * The local secondary indexes must have the same name. 785 // 786 // * The local secondary indexes must have the same hash key and sort key 787 // (if present). 788 // 789 // Write capacity settings should be set consistently across your replica tables 790 // and secondary indexes. DynamoDB strongly recommends enabling auto scaling 791 // to manage the write capacity settings for all of your global tables replicas 792 // and indexes. 793 // 794 // If you prefer to manage write capacity settings manually, you should provision 795 // equal replicated write capacity units to your replica tables. You should 796 // also provision equal replicated write capacity units to matching secondary 797 // indexes across your global table. 798 // 799 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 800 // with awserr.Error's Code and Message methods to get detailed information about 801 // the error. 802 // 803 // See the AWS API reference guide for Amazon DynamoDB's 804 // API operation CreateGlobalTable for usage and error information. 805 // 806 // Returned Error Types: 807 // * LimitExceededException 808 // There is no limit to the number of daily on-demand backups that can be taken. 809 // 810 // Up to 50 simultaneous table operations are allowed per account. These operations 811 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 812 // and RestoreTableToPointInTime. 813 // 814 // The only exception is when you are creating a table with one or more secondary 815 // indexes. You can have up to 25 such requests running at a time; however, 816 // if the table or index specifications are complex, DynamoDB might temporarily 817 // reduce the number of concurrent operations. 818 // 819 // There is a soft account quota of 256 tables. 820 // 821 // * InternalServerError 822 // An error occurred on the server side. 823 // 824 // * GlobalTableAlreadyExistsException 825 // The specified global table already exists. 826 // 827 // * TableNotFoundException 828 // A source table with the name TableName does not currently exist within the 829 // subscriber's account. 830 // 831 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable 832 func (c *DynamoDB) CreateGlobalTable(input *CreateGlobalTableInput) (*CreateGlobalTableOutput, error) { 833 req, out := c.CreateGlobalTableRequest(input) 834 return out, req.Send() 835 } 836 837 // CreateGlobalTableWithContext is the same as CreateGlobalTable with the addition of 838 // the ability to pass a context and additional request options. 839 // 840 // See CreateGlobalTable for details on how to use this API operation. 841 // 842 // The context must be non-nil and will be used for request cancellation. If 843 // the context is nil a panic will occur. In the future the SDK may create 844 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 845 // for more information on using Contexts. 846 func (c *DynamoDB) CreateGlobalTableWithContext(ctx aws.Context, input *CreateGlobalTableInput, opts ...request.Option) (*CreateGlobalTableOutput, error) { 847 req, out := c.CreateGlobalTableRequest(input) 848 req.SetContext(ctx) 849 req.ApplyOptions(opts...) 850 return out, req.Send() 851 } 852 853 const opCreateTable = "CreateTable" 854 855 // CreateTableRequest generates a "aws/request.Request" representing the 856 // client's request for the CreateTable operation. The "output" return 857 // value will be populated with the request's response once the request completes 858 // successfully. 859 // 860 // Use "Send" method on the returned Request to send the API call to the service. 861 // the "output" return value is not valid until after Send returns without error. 862 // 863 // See CreateTable for more information on using the CreateTable 864 // API call, and error handling. 865 // 866 // This method is useful when you want to inject custom logic or configuration 867 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 868 // 869 // 870 // // Example sending a request using the CreateTableRequest method. 871 // req, resp := client.CreateTableRequest(params) 872 // 873 // err := req.Send() 874 // if err == nil { // resp is now filled 875 // fmt.Println(resp) 876 // } 877 // 878 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable 879 func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) { 880 op := &request.Operation{ 881 Name: opCreateTable, 882 HTTPMethod: "POST", 883 HTTPPath: "/", 884 } 885 886 if input == nil { 887 input = &CreateTableInput{} 888 } 889 890 output = &CreateTableOutput{} 891 req = c.newRequest(op, input, output) 892 // if custom endpoint for the request is set to a non empty string, 893 // we skip the endpoint discovery workflow. 894 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 895 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 896 de := discovererDescribeEndpoints{ 897 Required: false, 898 EndpointCache: c.endpointCache, 899 Params: map[string]*string{ 900 "op": aws.String(req.Operation.Name), 901 }, 902 Client: c, 903 } 904 905 for k, v := range de.Params { 906 if v == nil { 907 delete(de.Params, k) 908 } 909 } 910 911 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 912 Name: "crr.endpointdiscovery", 913 Fn: de.Handler, 914 }) 915 } 916 } 917 return 918 } 919 920 // CreateTable API operation for Amazon DynamoDB. 921 // 922 // The CreateTable operation adds a new table to your account. In an AWS account, 923 // table names must be unique within each Region. That is, you can have two 924 // tables with same name if you create the tables in different Regions. 925 // 926 // CreateTable is an asynchronous operation. Upon receiving a CreateTable request, 927 // DynamoDB immediately returns a response with a TableStatus of CREATING. After 928 // the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform 929 // read and write operations only on an ACTIVE table. 930 // 931 // You can optionally define secondary indexes on the new table, as part of 932 // the CreateTable operation. If you want to create multiple tables with secondary 933 // indexes on them, you must create the tables sequentially. Only one table 934 // with secondary indexes can be in the CREATING state at any given time. 935 // 936 // You can use the DescribeTable action to check the table status. 937 // 938 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 939 // with awserr.Error's Code and Message methods to get detailed information about 940 // the error. 941 // 942 // See the AWS API reference guide for Amazon DynamoDB's 943 // API operation CreateTable for usage and error information. 944 // 945 // Returned Error Types: 946 // * ResourceInUseException 947 // The operation conflicts with the resource's availability. For example, you 948 // attempted to recreate an existing table, or tried to delete a table currently 949 // in the CREATING state. 950 // 951 // * LimitExceededException 952 // There is no limit to the number of daily on-demand backups that can be taken. 953 // 954 // Up to 50 simultaneous table operations are allowed per account. These operations 955 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 956 // and RestoreTableToPointInTime. 957 // 958 // The only exception is when you are creating a table with one or more secondary 959 // indexes. You can have up to 25 such requests running at a time; however, 960 // if the table or index specifications are complex, DynamoDB might temporarily 961 // reduce the number of concurrent operations. 962 // 963 // There is a soft account quota of 256 tables. 964 // 965 // * InternalServerError 966 // An error occurred on the server side. 967 // 968 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable 969 func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { 970 req, out := c.CreateTableRequest(input) 971 return out, req.Send() 972 } 973 974 // CreateTableWithContext is the same as CreateTable with the addition of 975 // the ability to pass a context and additional request options. 976 // 977 // See CreateTable for details on how to use this API operation. 978 // 979 // The context must be non-nil and will be used for request cancellation. If 980 // the context is nil a panic will occur. In the future the SDK may create 981 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 982 // for more information on using Contexts. 983 func (c *DynamoDB) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) { 984 req, out := c.CreateTableRequest(input) 985 req.SetContext(ctx) 986 req.ApplyOptions(opts...) 987 return out, req.Send() 988 } 989 990 const opDeleteBackup = "DeleteBackup" 991 992 // DeleteBackupRequest generates a "aws/request.Request" representing the 993 // client's request for the DeleteBackup operation. The "output" return 994 // value will be populated with the request's response once the request completes 995 // successfully. 996 // 997 // Use "Send" method on the returned Request to send the API call to the service. 998 // the "output" return value is not valid until after Send returns without error. 999 // 1000 // See DeleteBackup for more information on using the DeleteBackup 1001 // API call, and error handling. 1002 // 1003 // This method is useful when you want to inject custom logic or configuration 1004 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1005 // 1006 // 1007 // // Example sending a request using the DeleteBackupRequest method. 1008 // req, resp := client.DeleteBackupRequest(params) 1009 // 1010 // err := req.Send() 1011 // if err == nil { // resp is now filled 1012 // fmt.Println(resp) 1013 // } 1014 // 1015 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup 1016 func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) { 1017 op := &request.Operation{ 1018 Name: opDeleteBackup, 1019 HTTPMethod: "POST", 1020 HTTPPath: "/", 1021 } 1022 1023 if input == nil { 1024 input = &DeleteBackupInput{} 1025 } 1026 1027 output = &DeleteBackupOutput{} 1028 req = c.newRequest(op, input, output) 1029 // if custom endpoint for the request is set to a non empty string, 1030 // we skip the endpoint discovery workflow. 1031 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1032 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1033 de := discovererDescribeEndpoints{ 1034 Required: false, 1035 EndpointCache: c.endpointCache, 1036 Params: map[string]*string{ 1037 "op": aws.String(req.Operation.Name), 1038 }, 1039 Client: c, 1040 } 1041 1042 for k, v := range de.Params { 1043 if v == nil { 1044 delete(de.Params, k) 1045 } 1046 } 1047 1048 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1049 Name: "crr.endpointdiscovery", 1050 Fn: de.Handler, 1051 }) 1052 } 1053 } 1054 return 1055 } 1056 1057 // DeleteBackup API operation for Amazon DynamoDB. 1058 // 1059 // Deletes an existing backup of a table. 1060 // 1061 // You can call DeleteBackup at a maximum rate of 10 times per second. 1062 // 1063 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1064 // with awserr.Error's Code and Message methods to get detailed information about 1065 // the error. 1066 // 1067 // See the AWS API reference guide for Amazon DynamoDB's 1068 // API operation DeleteBackup for usage and error information. 1069 // 1070 // Returned Error Types: 1071 // * BackupNotFoundException 1072 // Backup not found for the given BackupARN. 1073 // 1074 // * BackupInUseException 1075 // There is another ongoing conflicting backup control plane operation on the 1076 // table. The backup is either being created, deleted or restored to a table. 1077 // 1078 // * LimitExceededException 1079 // There is no limit to the number of daily on-demand backups that can be taken. 1080 // 1081 // Up to 50 simultaneous table operations are allowed per account. These operations 1082 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 1083 // and RestoreTableToPointInTime. 1084 // 1085 // The only exception is when you are creating a table with one or more secondary 1086 // indexes. You can have up to 25 such requests running at a time; however, 1087 // if the table or index specifications are complex, DynamoDB might temporarily 1088 // reduce the number of concurrent operations. 1089 // 1090 // There is a soft account quota of 256 tables. 1091 // 1092 // * InternalServerError 1093 // An error occurred on the server side. 1094 // 1095 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup 1096 func (c *DynamoDB) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) { 1097 req, out := c.DeleteBackupRequest(input) 1098 return out, req.Send() 1099 } 1100 1101 // DeleteBackupWithContext is the same as DeleteBackup with the addition of 1102 // the ability to pass a context and additional request options. 1103 // 1104 // See DeleteBackup for details on how to use this API operation. 1105 // 1106 // The context must be non-nil and will be used for request cancellation. If 1107 // the context is nil a panic will occur. In the future the SDK may create 1108 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1109 // for more information on using Contexts. 1110 func (c *DynamoDB) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) { 1111 req, out := c.DeleteBackupRequest(input) 1112 req.SetContext(ctx) 1113 req.ApplyOptions(opts...) 1114 return out, req.Send() 1115 } 1116 1117 const opDeleteItem = "DeleteItem" 1118 1119 // DeleteItemRequest generates a "aws/request.Request" representing the 1120 // client's request for the DeleteItem operation. The "output" return 1121 // value will be populated with the request's response once the request completes 1122 // successfully. 1123 // 1124 // Use "Send" method on the returned Request to send the API call to the service. 1125 // the "output" return value is not valid until after Send returns without error. 1126 // 1127 // See DeleteItem for more information on using the DeleteItem 1128 // API call, and error handling. 1129 // 1130 // This method is useful when you want to inject custom logic or configuration 1131 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1132 // 1133 // 1134 // // Example sending a request using the DeleteItemRequest method. 1135 // req, resp := client.DeleteItemRequest(params) 1136 // 1137 // err := req.Send() 1138 // if err == nil { // resp is now filled 1139 // fmt.Println(resp) 1140 // } 1141 // 1142 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem 1143 func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Request, output *DeleteItemOutput) { 1144 op := &request.Operation{ 1145 Name: opDeleteItem, 1146 HTTPMethod: "POST", 1147 HTTPPath: "/", 1148 } 1149 1150 if input == nil { 1151 input = &DeleteItemInput{} 1152 } 1153 1154 output = &DeleteItemOutput{} 1155 req = c.newRequest(op, input, output) 1156 // if custom endpoint for the request is set to a non empty string, 1157 // we skip the endpoint discovery workflow. 1158 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1159 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1160 de := discovererDescribeEndpoints{ 1161 Required: false, 1162 EndpointCache: c.endpointCache, 1163 Params: map[string]*string{ 1164 "op": aws.String(req.Operation.Name), 1165 }, 1166 Client: c, 1167 } 1168 1169 for k, v := range de.Params { 1170 if v == nil { 1171 delete(de.Params, k) 1172 } 1173 } 1174 1175 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1176 Name: "crr.endpointdiscovery", 1177 Fn: de.Handler, 1178 }) 1179 } 1180 } 1181 return 1182 } 1183 1184 // DeleteItem API operation for Amazon DynamoDB. 1185 // 1186 // Deletes a single item in a table by primary key. You can perform a conditional 1187 // delete operation that deletes the item if it exists, or if it has an expected 1188 // attribute value. 1189 // 1190 // In addition to deleting an item, you can also return the item's attribute 1191 // values in the same operation, using the ReturnValues parameter. 1192 // 1193 // Unless you specify conditions, the DeleteItem is an idempotent operation; 1194 // running it multiple times on the same item or attribute does not result in 1195 // an error response. 1196 // 1197 // Conditional deletes are useful for deleting items only if specific conditions 1198 // are met. If those conditions are met, DynamoDB performs the delete. Otherwise, 1199 // the item is not deleted. 1200 // 1201 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1202 // with awserr.Error's Code and Message methods to get detailed information about 1203 // the error. 1204 // 1205 // See the AWS API reference guide for Amazon DynamoDB's 1206 // API operation DeleteItem for usage and error information. 1207 // 1208 // Returned Error Types: 1209 // * ConditionalCheckFailedException 1210 // A condition specified in the operation could not be evaluated. 1211 // 1212 // * ProvisionedThroughputExceededException 1213 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 1214 // requests that receive this exception. Your request is eventually successful, 1215 // unless your retry queue is too large to finish. Reduce the frequency of requests 1216 // and use exponential backoff. For more information, go to Error Retries and 1217 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 1218 // in the Amazon DynamoDB Developer Guide. 1219 // 1220 // * ResourceNotFoundException 1221 // The operation tried to access a nonexistent table or index. The resource 1222 // might not be specified correctly, or its status might not be ACTIVE. 1223 // 1224 // * ItemCollectionSizeLimitExceededException 1225 // An item collection is too large. This exception is only returned for tables 1226 // that have one or more local secondary indexes. 1227 // 1228 // * TransactionConflictException 1229 // Operation was rejected because there is an ongoing transaction for the item. 1230 // 1231 // * RequestLimitExceeded 1232 // Throughput exceeds the current throughput quota for your account. Please 1233 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 1234 // a quota increase. 1235 // 1236 // * InternalServerError 1237 // An error occurred on the server side. 1238 // 1239 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem 1240 func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) { 1241 req, out := c.DeleteItemRequest(input) 1242 return out, req.Send() 1243 } 1244 1245 // DeleteItemWithContext is the same as DeleteItem with the addition of 1246 // the ability to pass a context and additional request options. 1247 // 1248 // See DeleteItem for details on how to use this API operation. 1249 // 1250 // The context must be non-nil and will be used for request cancellation. If 1251 // the context is nil a panic will occur. In the future the SDK may create 1252 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1253 // for more information on using Contexts. 1254 func (c *DynamoDB) DeleteItemWithContext(ctx aws.Context, input *DeleteItemInput, opts ...request.Option) (*DeleteItemOutput, error) { 1255 req, out := c.DeleteItemRequest(input) 1256 req.SetContext(ctx) 1257 req.ApplyOptions(opts...) 1258 return out, req.Send() 1259 } 1260 1261 const opDeleteTable = "DeleteTable" 1262 1263 // DeleteTableRequest generates a "aws/request.Request" representing the 1264 // client's request for the DeleteTable operation. The "output" return 1265 // value will be populated with the request's response once the request completes 1266 // successfully. 1267 // 1268 // Use "Send" method on the returned Request to send the API call to the service. 1269 // the "output" return value is not valid until after Send returns without error. 1270 // 1271 // See DeleteTable for more information on using the DeleteTable 1272 // API call, and error handling. 1273 // 1274 // This method is useful when you want to inject custom logic or configuration 1275 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1276 // 1277 // 1278 // // Example sending a request using the DeleteTableRequest method. 1279 // req, resp := client.DeleteTableRequest(params) 1280 // 1281 // err := req.Send() 1282 // if err == nil { // resp is now filled 1283 // fmt.Println(resp) 1284 // } 1285 // 1286 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable 1287 func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) { 1288 op := &request.Operation{ 1289 Name: opDeleteTable, 1290 HTTPMethod: "POST", 1291 HTTPPath: "/", 1292 } 1293 1294 if input == nil { 1295 input = &DeleteTableInput{} 1296 } 1297 1298 output = &DeleteTableOutput{} 1299 req = c.newRequest(op, input, output) 1300 // if custom endpoint for the request is set to a non empty string, 1301 // we skip the endpoint discovery workflow. 1302 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1303 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1304 de := discovererDescribeEndpoints{ 1305 Required: false, 1306 EndpointCache: c.endpointCache, 1307 Params: map[string]*string{ 1308 "op": aws.String(req.Operation.Name), 1309 }, 1310 Client: c, 1311 } 1312 1313 for k, v := range de.Params { 1314 if v == nil { 1315 delete(de.Params, k) 1316 } 1317 } 1318 1319 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1320 Name: "crr.endpointdiscovery", 1321 Fn: de.Handler, 1322 }) 1323 } 1324 } 1325 return 1326 } 1327 1328 // DeleteTable API operation for Amazon DynamoDB. 1329 // 1330 // The DeleteTable operation deletes a table and all of its items. After a DeleteTable 1331 // request, the specified table is in the DELETING state until DynamoDB completes 1332 // the deletion. If the table is in the ACTIVE state, you can delete it. If 1333 // a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. 1334 // If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. 1335 // If table is already in the DELETING state, no error is returned. 1336 // 1337 // DynamoDB might continue to accept data read and write operations, such as 1338 // GetItem and PutItem, on a table in the DELETING state until the table deletion 1339 // is complete. 1340 // 1341 // When you delete a table, any indexes on that table are also deleted. 1342 // 1343 // If you have DynamoDB Streams enabled on the table, then the corresponding 1344 // stream on that table goes into the DISABLED state, and the stream is automatically 1345 // deleted after 24 hours. 1346 // 1347 // Use the DescribeTable action to check the status of the table. 1348 // 1349 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1350 // with awserr.Error's Code and Message methods to get detailed information about 1351 // the error. 1352 // 1353 // See the AWS API reference guide for Amazon DynamoDB's 1354 // API operation DeleteTable for usage and error information. 1355 // 1356 // Returned Error Types: 1357 // * ResourceInUseException 1358 // The operation conflicts with the resource's availability. For example, you 1359 // attempted to recreate an existing table, or tried to delete a table currently 1360 // in the CREATING state. 1361 // 1362 // * ResourceNotFoundException 1363 // The operation tried to access a nonexistent table or index. The resource 1364 // might not be specified correctly, or its status might not be ACTIVE. 1365 // 1366 // * LimitExceededException 1367 // There is no limit to the number of daily on-demand backups that can be taken. 1368 // 1369 // Up to 50 simultaneous table operations are allowed per account. These operations 1370 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 1371 // and RestoreTableToPointInTime. 1372 // 1373 // The only exception is when you are creating a table with one or more secondary 1374 // indexes. You can have up to 25 such requests running at a time; however, 1375 // if the table or index specifications are complex, DynamoDB might temporarily 1376 // reduce the number of concurrent operations. 1377 // 1378 // There is a soft account quota of 256 tables. 1379 // 1380 // * InternalServerError 1381 // An error occurred on the server side. 1382 // 1383 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable 1384 func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { 1385 req, out := c.DeleteTableRequest(input) 1386 return out, req.Send() 1387 } 1388 1389 // DeleteTableWithContext is the same as DeleteTable with the addition of 1390 // the ability to pass a context and additional request options. 1391 // 1392 // See DeleteTable for details on how to use this API operation. 1393 // 1394 // The context must be non-nil and will be used for request cancellation. If 1395 // the context is nil a panic will occur. In the future the SDK may create 1396 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1397 // for more information on using Contexts. 1398 func (c *DynamoDB) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) { 1399 req, out := c.DeleteTableRequest(input) 1400 req.SetContext(ctx) 1401 req.ApplyOptions(opts...) 1402 return out, req.Send() 1403 } 1404 1405 const opDescribeBackup = "DescribeBackup" 1406 1407 // DescribeBackupRequest generates a "aws/request.Request" representing the 1408 // client's request for the DescribeBackup operation. The "output" return 1409 // value will be populated with the request's response once the request completes 1410 // successfully. 1411 // 1412 // Use "Send" method on the returned Request to send the API call to the service. 1413 // the "output" return value is not valid until after Send returns without error. 1414 // 1415 // See DescribeBackup for more information on using the DescribeBackup 1416 // API call, and error handling. 1417 // 1418 // This method is useful when you want to inject custom logic or configuration 1419 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1420 // 1421 // 1422 // // Example sending a request using the DescribeBackupRequest method. 1423 // req, resp := client.DescribeBackupRequest(params) 1424 // 1425 // err := req.Send() 1426 // if err == nil { // resp is now filled 1427 // fmt.Println(resp) 1428 // } 1429 // 1430 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup 1431 func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *request.Request, output *DescribeBackupOutput) { 1432 op := &request.Operation{ 1433 Name: opDescribeBackup, 1434 HTTPMethod: "POST", 1435 HTTPPath: "/", 1436 } 1437 1438 if input == nil { 1439 input = &DescribeBackupInput{} 1440 } 1441 1442 output = &DescribeBackupOutput{} 1443 req = c.newRequest(op, input, output) 1444 // if custom endpoint for the request is set to a non empty string, 1445 // we skip the endpoint discovery workflow. 1446 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1447 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1448 de := discovererDescribeEndpoints{ 1449 Required: false, 1450 EndpointCache: c.endpointCache, 1451 Params: map[string]*string{ 1452 "op": aws.String(req.Operation.Name), 1453 }, 1454 Client: c, 1455 } 1456 1457 for k, v := range de.Params { 1458 if v == nil { 1459 delete(de.Params, k) 1460 } 1461 } 1462 1463 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1464 Name: "crr.endpointdiscovery", 1465 Fn: de.Handler, 1466 }) 1467 } 1468 } 1469 return 1470 } 1471 1472 // DescribeBackup API operation for Amazon DynamoDB. 1473 // 1474 // Describes an existing backup of a table. 1475 // 1476 // You can call DescribeBackup at a maximum rate of 10 times per second. 1477 // 1478 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1479 // with awserr.Error's Code and Message methods to get detailed information about 1480 // the error. 1481 // 1482 // See the AWS API reference guide for Amazon DynamoDB's 1483 // API operation DescribeBackup for usage and error information. 1484 // 1485 // Returned Error Types: 1486 // * BackupNotFoundException 1487 // Backup not found for the given BackupARN. 1488 // 1489 // * InternalServerError 1490 // An error occurred on the server side. 1491 // 1492 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup 1493 func (c *DynamoDB) DescribeBackup(input *DescribeBackupInput) (*DescribeBackupOutput, error) { 1494 req, out := c.DescribeBackupRequest(input) 1495 return out, req.Send() 1496 } 1497 1498 // DescribeBackupWithContext is the same as DescribeBackup with the addition of 1499 // the ability to pass a context and additional request options. 1500 // 1501 // See DescribeBackup for details on how to use this API operation. 1502 // 1503 // The context must be non-nil and will be used for request cancellation. If 1504 // the context is nil a panic will occur. In the future the SDK may create 1505 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1506 // for more information on using Contexts. 1507 func (c *DynamoDB) DescribeBackupWithContext(ctx aws.Context, input *DescribeBackupInput, opts ...request.Option) (*DescribeBackupOutput, error) { 1508 req, out := c.DescribeBackupRequest(input) 1509 req.SetContext(ctx) 1510 req.ApplyOptions(opts...) 1511 return out, req.Send() 1512 } 1513 1514 const opDescribeContinuousBackups = "DescribeContinuousBackups" 1515 1516 // DescribeContinuousBackupsRequest generates a "aws/request.Request" representing the 1517 // client's request for the DescribeContinuousBackups operation. The "output" return 1518 // value will be populated with the request's response once the request completes 1519 // successfully. 1520 // 1521 // Use "Send" method on the returned Request to send the API call to the service. 1522 // the "output" return value is not valid until after Send returns without error. 1523 // 1524 // See DescribeContinuousBackups for more information on using the DescribeContinuousBackups 1525 // API call, and error handling. 1526 // 1527 // This method is useful when you want to inject custom logic or configuration 1528 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1529 // 1530 // 1531 // // Example sending a request using the DescribeContinuousBackupsRequest method. 1532 // req, resp := client.DescribeContinuousBackupsRequest(params) 1533 // 1534 // err := req.Send() 1535 // if err == nil { // resp is now filled 1536 // fmt.Println(resp) 1537 // } 1538 // 1539 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups 1540 func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBackupsInput) (req *request.Request, output *DescribeContinuousBackupsOutput) { 1541 op := &request.Operation{ 1542 Name: opDescribeContinuousBackups, 1543 HTTPMethod: "POST", 1544 HTTPPath: "/", 1545 } 1546 1547 if input == nil { 1548 input = &DescribeContinuousBackupsInput{} 1549 } 1550 1551 output = &DescribeContinuousBackupsOutput{} 1552 req = c.newRequest(op, input, output) 1553 // if custom endpoint for the request is set to a non empty string, 1554 // we skip the endpoint discovery workflow. 1555 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1556 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1557 de := discovererDescribeEndpoints{ 1558 Required: false, 1559 EndpointCache: c.endpointCache, 1560 Params: map[string]*string{ 1561 "op": aws.String(req.Operation.Name), 1562 }, 1563 Client: c, 1564 } 1565 1566 for k, v := range de.Params { 1567 if v == nil { 1568 delete(de.Params, k) 1569 } 1570 } 1571 1572 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1573 Name: "crr.endpointdiscovery", 1574 Fn: de.Handler, 1575 }) 1576 } 1577 } 1578 return 1579 } 1580 1581 // DescribeContinuousBackups API operation for Amazon DynamoDB. 1582 // 1583 // Checks the status of continuous backups and point in time recovery on the 1584 // specified table. Continuous backups are ENABLED on all tables at table creation. 1585 // If point in time recovery is enabled, PointInTimeRecoveryStatus will be set 1586 // to ENABLED. 1587 // 1588 // After continuous backups and point in time recovery are enabled, you can 1589 // restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. 1590 // 1591 // LatestRestorableDateTime is typically 5 minutes before the current time. 1592 // You can restore your table to any point in time during the last 35 days. 1593 // 1594 // You can call DescribeContinuousBackups at a maximum rate of 10 times per 1595 // second. 1596 // 1597 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1598 // with awserr.Error's Code and Message methods to get detailed information about 1599 // the error. 1600 // 1601 // See the AWS API reference guide for Amazon DynamoDB's 1602 // API operation DescribeContinuousBackups for usage and error information. 1603 // 1604 // Returned Error Types: 1605 // * TableNotFoundException 1606 // A source table with the name TableName does not currently exist within the 1607 // subscriber's account. 1608 // 1609 // * InternalServerError 1610 // An error occurred on the server side. 1611 // 1612 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups 1613 func (c *DynamoDB) DescribeContinuousBackups(input *DescribeContinuousBackupsInput) (*DescribeContinuousBackupsOutput, error) { 1614 req, out := c.DescribeContinuousBackupsRequest(input) 1615 return out, req.Send() 1616 } 1617 1618 // DescribeContinuousBackupsWithContext is the same as DescribeContinuousBackups with the addition of 1619 // the ability to pass a context and additional request options. 1620 // 1621 // See DescribeContinuousBackups for details on how to use this API operation. 1622 // 1623 // The context must be non-nil and will be used for request cancellation. If 1624 // the context is nil a panic will occur. In the future the SDK may create 1625 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1626 // for more information on using Contexts. 1627 func (c *DynamoDB) DescribeContinuousBackupsWithContext(ctx aws.Context, input *DescribeContinuousBackupsInput, opts ...request.Option) (*DescribeContinuousBackupsOutput, error) { 1628 req, out := c.DescribeContinuousBackupsRequest(input) 1629 req.SetContext(ctx) 1630 req.ApplyOptions(opts...) 1631 return out, req.Send() 1632 } 1633 1634 const opDescribeContributorInsights = "DescribeContributorInsights" 1635 1636 // DescribeContributorInsightsRequest generates a "aws/request.Request" representing the 1637 // client's request for the DescribeContributorInsights operation. The "output" return 1638 // value will be populated with the request's response once the request completes 1639 // successfully. 1640 // 1641 // Use "Send" method on the returned Request to send the API call to the service. 1642 // the "output" return value is not valid until after Send returns without error. 1643 // 1644 // See DescribeContributorInsights for more information on using the DescribeContributorInsights 1645 // API call, and error handling. 1646 // 1647 // This method is useful when you want to inject custom logic or configuration 1648 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1649 // 1650 // 1651 // // Example sending a request using the DescribeContributorInsightsRequest method. 1652 // req, resp := client.DescribeContributorInsightsRequest(params) 1653 // 1654 // err := req.Send() 1655 // if err == nil { // resp is now filled 1656 // fmt.Println(resp) 1657 // } 1658 // 1659 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContributorInsights 1660 func (c *DynamoDB) DescribeContributorInsightsRequest(input *DescribeContributorInsightsInput) (req *request.Request, output *DescribeContributorInsightsOutput) { 1661 op := &request.Operation{ 1662 Name: opDescribeContributorInsights, 1663 HTTPMethod: "POST", 1664 HTTPPath: "/", 1665 } 1666 1667 if input == nil { 1668 input = &DescribeContributorInsightsInput{} 1669 } 1670 1671 output = &DescribeContributorInsightsOutput{} 1672 req = c.newRequest(op, input, output) 1673 return 1674 } 1675 1676 // DescribeContributorInsights API operation for Amazon DynamoDB. 1677 // 1678 // Returns information about contributor insights, for a given table or global 1679 // secondary index. 1680 // 1681 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1682 // with awserr.Error's Code and Message methods to get detailed information about 1683 // the error. 1684 // 1685 // See the AWS API reference guide for Amazon DynamoDB's 1686 // API operation DescribeContributorInsights for usage and error information. 1687 // 1688 // Returned Error Types: 1689 // * ResourceNotFoundException 1690 // The operation tried to access a nonexistent table or index. The resource 1691 // might not be specified correctly, or its status might not be ACTIVE. 1692 // 1693 // * InternalServerError 1694 // An error occurred on the server side. 1695 // 1696 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContributorInsights 1697 func (c *DynamoDB) DescribeContributorInsights(input *DescribeContributorInsightsInput) (*DescribeContributorInsightsOutput, error) { 1698 req, out := c.DescribeContributorInsightsRequest(input) 1699 return out, req.Send() 1700 } 1701 1702 // DescribeContributorInsightsWithContext is the same as DescribeContributorInsights with the addition of 1703 // the ability to pass a context and additional request options. 1704 // 1705 // See DescribeContributorInsights for details on how to use this API operation. 1706 // 1707 // The context must be non-nil and will be used for request cancellation. If 1708 // the context is nil a panic will occur. In the future the SDK may create 1709 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1710 // for more information on using Contexts. 1711 func (c *DynamoDB) DescribeContributorInsightsWithContext(ctx aws.Context, input *DescribeContributorInsightsInput, opts ...request.Option) (*DescribeContributorInsightsOutput, error) { 1712 req, out := c.DescribeContributorInsightsRequest(input) 1713 req.SetContext(ctx) 1714 req.ApplyOptions(opts...) 1715 return out, req.Send() 1716 } 1717 1718 const opDescribeEndpoints = "DescribeEndpoints" 1719 1720 // DescribeEndpointsRequest generates a "aws/request.Request" representing the 1721 // client's request for the DescribeEndpoints operation. The "output" return 1722 // value will be populated with the request's response once the request completes 1723 // successfully. 1724 // 1725 // Use "Send" method on the returned Request to send the API call to the service. 1726 // the "output" return value is not valid until after Send returns without error. 1727 // 1728 // See DescribeEndpoints for more information on using the DescribeEndpoints 1729 // API call, and error handling. 1730 // 1731 // This method is useful when you want to inject custom logic or configuration 1732 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1733 // 1734 // 1735 // // Example sending a request using the DescribeEndpointsRequest method. 1736 // req, resp := client.DescribeEndpointsRequest(params) 1737 // 1738 // err := req.Send() 1739 // if err == nil { // resp is now filled 1740 // fmt.Println(resp) 1741 // } 1742 // 1743 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints 1744 func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) { 1745 op := &request.Operation{ 1746 Name: opDescribeEndpoints, 1747 HTTPMethod: "POST", 1748 HTTPPath: "/", 1749 } 1750 1751 if input == nil { 1752 input = &DescribeEndpointsInput{} 1753 } 1754 1755 output = &DescribeEndpointsOutput{} 1756 req = c.newRequest(op, input, output) 1757 return 1758 } 1759 1760 // DescribeEndpoints API operation for Amazon DynamoDB. 1761 // 1762 // Returns the regional endpoint information. 1763 // 1764 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1765 // with awserr.Error's Code and Message methods to get detailed information about 1766 // the error. 1767 // 1768 // See the AWS API reference guide for Amazon DynamoDB's 1769 // API operation DescribeEndpoints for usage and error information. 1770 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints 1771 func (c *DynamoDB) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) { 1772 req, out := c.DescribeEndpointsRequest(input) 1773 return out, req.Send() 1774 } 1775 1776 // DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of 1777 // the ability to pass a context and additional request options. 1778 // 1779 // See DescribeEndpoints for details on how to use this API operation. 1780 // 1781 // The context must be non-nil and will be used for request cancellation. If 1782 // the context is nil a panic will occur. In the future the SDK may create 1783 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1784 // for more information on using Contexts. 1785 func (c *DynamoDB) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) { 1786 req, out := c.DescribeEndpointsRequest(input) 1787 req.SetContext(ctx) 1788 req.ApplyOptions(opts...) 1789 return out, req.Send() 1790 } 1791 1792 type discovererDescribeEndpoints struct { 1793 Client *DynamoDB 1794 Required bool 1795 EndpointCache *crr.EndpointCache 1796 Params map[string]*string 1797 Key string 1798 req *request.Request 1799 } 1800 1801 func (d *discovererDescribeEndpoints) Discover() (crr.Endpoint, error) { 1802 input := &DescribeEndpointsInput{} 1803 1804 resp, err := d.Client.DescribeEndpoints(input) 1805 if err != nil { 1806 return crr.Endpoint{}, err 1807 } 1808 1809 endpoint := crr.Endpoint{ 1810 Key: d.Key, 1811 } 1812 1813 for _, e := range resp.Endpoints { 1814 if e.Address == nil { 1815 continue 1816 } 1817 1818 address := *e.Address 1819 1820 var scheme string 1821 if idx := strings.Index(address, "://"); idx != -1 { 1822 scheme = address[:idx] 1823 } 1824 1825 if len(scheme) == 0 { 1826 address = fmt.Sprintf("%s://%s", d.req.HTTPRequest.URL.Scheme, address) 1827 } 1828 1829 cachedInMinutes := aws.Int64Value(e.CachePeriodInMinutes) 1830 u, err := url.Parse(address) 1831 if err != nil { 1832 continue 1833 } 1834 1835 addr := crr.WeightedAddress{ 1836 URL: u, 1837 Expired: time.Now().Add(time.Duration(cachedInMinutes) * time.Minute), 1838 } 1839 1840 endpoint.Add(addr) 1841 } 1842 1843 d.EndpointCache.Add(endpoint) 1844 1845 return endpoint, nil 1846 } 1847 1848 func (d *discovererDescribeEndpoints) Handler(r *request.Request) { 1849 endpointKey := crr.BuildEndpointKey(d.Params) 1850 d.Key = endpointKey 1851 d.req = r 1852 1853 endpoint, err := d.EndpointCache.Get(d, endpointKey, d.Required) 1854 if err != nil { 1855 r.Error = err 1856 return 1857 } 1858 1859 if endpoint.URL != nil && len(endpoint.URL.String()) > 0 { 1860 r.HTTPRequest.URL = endpoint.URL 1861 } 1862 } 1863 1864 const opDescribeExport = "DescribeExport" 1865 1866 // DescribeExportRequest generates a "aws/request.Request" representing the 1867 // client's request for the DescribeExport operation. The "output" return 1868 // value will be populated with the request's response once the request completes 1869 // successfully. 1870 // 1871 // Use "Send" method on the returned Request to send the API call to the service. 1872 // the "output" return value is not valid until after Send returns without error. 1873 // 1874 // See DescribeExport for more information on using the DescribeExport 1875 // API call, and error handling. 1876 // 1877 // This method is useful when you want to inject custom logic or configuration 1878 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1879 // 1880 // 1881 // // Example sending a request using the DescribeExportRequest method. 1882 // req, resp := client.DescribeExportRequest(params) 1883 // 1884 // err := req.Send() 1885 // if err == nil { // resp is now filled 1886 // fmt.Println(resp) 1887 // } 1888 // 1889 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeExport 1890 func (c *DynamoDB) DescribeExportRequest(input *DescribeExportInput) (req *request.Request, output *DescribeExportOutput) { 1891 op := &request.Operation{ 1892 Name: opDescribeExport, 1893 HTTPMethod: "POST", 1894 HTTPPath: "/", 1895 } 1896 1897 if input == nil { 1898 input = &DescribeExportInput{} 1899 } 1900 1901 output = &DescribeExportOutput{} 1902 req = c.newRequest(op, input, output) 1903 return 1904 } 1905 1906 // DescribeExport API operation for Amazon DynamoDB. 1907 // 1908 // Describes an existing table export. 1909 // 1910 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1911 // with awserr.Error's Code and Message methods to get detailed information about 1912 // the error. 1913 // 1914 // See the AWS API reference guide for Amazon DynamoDB's 1915 // API operation DescribeExport for usage and error information. 1916 // 1917 // Returned Error Types: 1918 // * ExportNotFoundException 1919 // The specified export was not found. 1920 // 1921 // * LimitExceededException 1922 // There is no limit to the number of daily on-demand backups that can be taken. 1923 // 1924 // Up to 50 simultaneous table operations are allowed per account. These operations 1925 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 1926 // and RestoreTableToPointInTime. 1927 // 1928 // The only exception is when you are creating a table with one or more secondary 1929 // indexes. You can have up to 25 such requests running at a time; however, 1930 // if the table or index specifications are complex, DynamoDB might temporarily 1931 // reduce the number of concurrent operations. 1932 // 1933 // There is a soft account quota of 256 tables. 1934 // 1935 // * InternalServerError 1936 // An error occurred on the server side. 1937 // 1938 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeExport 1939 func (c *DynamoDB) DescribeExport(input *DescribeExportInput) (*DescribeExportOutput, error) { 1940 req, out := c.DescribeExportRequest(input) 1941 return out, req.Send() 1942 } 1943 1944 // DescribeExportWithContext is the same as DescribeExport with the addition of 1945 // the ability to pass a context and additional request options. 1946 // 1947 // See DescribeExport for details on how to use this API operation. 1948 // 1949 // The context must be non-nil and will be used for request cancellation. If 1950 // the context is nil a panic will occur. In the future the SDK may create 1951 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1952 // for more information on using Contexts. 1953 func (c *DynamoDB) DescribeExportWithContext(ctx aws.Context, input *DescribeExportInput, opts ...request.Option) (*DescribeExportOutput, error) { 1954 req, out := c.DescribeExportRequest(input) 1955 req.SetContext(ctx) 1956 req.ApplyOptions(opts...) 1957 return out, req.Send() 1958 } 1959 1960 const opDescribeGlobalTable = "DescribeGlobalTable" 1961 1962 // DescribeGlobalTableRequest generates a "aws/request.Request" representing the 1963 // client's request for the DescribeGlobalTable operation. The "output" return 1964 // value will be populated with the request's response once the request completes 1965 // successfully. 1966 // 1967 // Use "Send" method on the returned Request to send the API call to the service. 1968 // the "output" return value is not valid until after Send returns without error. 1969 // 1970 // See DescribeGlobalTable for more information on using the DescribeGlobalTable 1971 // API call, and error handling. 1972 // 1973 // This method is useful when you want to inject custom logic or configuration 1974 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1975 // 1976 // 1977 // // Example sending a request using the DescribeGlobalTableRequest method. 1978 // req, resp := client.DescribeGlobalTableRequest(params) 1979 // 1980 // err := req.Send() 1981 // if err == nil { // resp is now filled 1982 // fmt.Println(resp) 1983 // } 1984 // 1985 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable 1986 func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) (req *request.Request, output *DescribeGlobalTableOutput) { 1987 op := &request.Operation{ 1988 Name: opDescribeGlobalTable, 1989 HTTPMethod: "POST", 1990 HTTPPath: "/", 1991 } 1992 1993 if input == nil { 1994 input = &DescribeGlobalTableInput{} 1995 } 1996 1997 output = &DescribeGlobalTableOutput{} 1998 req = c.newRequest(op, input, output) 1999 // if custom endpoint for the request is set to a non empty string, 2000 // we skip the endpoint discovery workflow. 2001 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2002 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2003 de := discovererDescribeEndpoints{ 2004 Required: false, 2005 EndpointCache: c.endpointCache, 2006 Params: map[string]*string{ 2007 "op": aws.String(req.Operation.Name), 2008 }, 2009 Client: c, 2010 } 2011 2012 for k, v := range de.Params { 2013 if v == nil { 2014 delete(de.Params, k) 2015 } 2016 } 2017 2018 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2019 Name: "crr.endpointdiscovery", 2020 Fn: de.Handler, 2021 }) 2022 } 2023 } 2024 return 2025 } 2026 2027 // DescribeGlobalTable API operation for Amazon DynamoDB. 2028 // 2029 // Returns information about the specified global table. 2030 // 2031 // This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 2032 // of global tables. If you are using global tables Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 2033 // you can use DescribeTable (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html) 2034 // instead. 2035 // 2036 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2037 // with awserr.Error's Code and Message methods to get detailed information about 2038 // the error. 2039 // 2040 // See the AWS API reference guide for Amazon DynamoDB's 2041 // API operation DescribeGlobalTable for usage and error information. 2042 // 2043 // Returned Error Types: 2044 // * InternalServerError 2045 // An error occurred on the server side. 2046 // 2047 // * GlobalTableNotFoundException 2048 // The specified global table does not exist. 2049 // 2050 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable 2051 func (c *DynamoDB) DescribeGlobalTable(input *DescribeGlobalTableInput) (*DescribeGlobalTableOutput, error) { 2052 req, out := c.DescribeGlobalTableRequest(input) 2053 return out, req.Send() 2054 } 2055 2056 // DescribeGlobalTableWithContext is the same as DescribeGlobalTable with the addition of 2057 // the ability to pass a context and additional request options. 2058 // 2059 // See DescribeGlobalTable for details on how to use this API operation. 2060 // 2061 // The context must be non-nil and will be used for request cancellation. If 2062 // the context is nil a panic will occur. In the future the SDK may create 2063 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2064 // for more information on using Contexts. 2065 func (c *DynamoDB) DescribeGlobalTableWithContext(ctx aws.Context, input *DescribeGlobalTableInput, opts ...request.Option) (*DescribeGlobalTableOutput, error) { 2066 req, out := c.DescribeGlobalTableRequest(input) 2067 req.SetContext(ctx) 2068 req.ApplyOptions(opts...) 2069 return out, req.Send() 2070 } 2071 2072 const opDescribeGlobalTableSettings = "DescribeGlobalTableSettings" 2073 2074 // DescribeGlobalTableSettingsRequest generates a "aws/request.Request" representing the 2075 // client's request for the DescribeGlobalTableSettings operation. The "output" return 2076 // value will be populated with the request's response once the request completes 2077 // successfully. 2078 // 2079 // Use "Send" method on the returned Request to send the API call to the service. 2080 // the "output" return value is not valid until after Send returns without error. 2081 // 2082 // See DescribeGlobalTableSettings for more information on using the DescribeGlobalTableSettings 2083 // API call, and error handling. 2084 // 2085 // This method is useful when you want to inject custom logic or configuration 2086 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2087 // 2088 // 2089 // // Example sending a request using the DescribeGlobalTableSettingsRequest method. 2090 // req, resp := client.DescribeGlobalTableSettingsRequest(params) 2091 // 2092 // err := req.Send() 2093 // if err == nil { // resp is now filled 2094 // fmt.Println(resp) 2095 // } 2096 // 2097 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings 2098 func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTableSettingsInput) (req *request.Request, output *DescribeGlobalTableSettingsOutput) { 2099 op := &request.Operation{ 2100 Name: opDescribeGlobalTableSettings, 2101 HTTPMethod: "POST", 2102 HTTPPath: "/", 2103 } 2104 2105 if input == nil { 2106 input = &DescribeGlobalTableSettingsInput{} 2107 } 2108 2109 output = &DescribeGlobalTableSettingsOutput{} 2110 req = c.newRequest(op, input, output) 2111 // if custom endpoint for the request is set to a non empty string, 2112 // we skip the endpoint discovery workflow. 2113 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2114 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2115 de := discovererDescribeEndpoints{ 2116 Required: false, 2117 EndpointCache: c.endpointCache, 2118 Params: map[string]*string{ 2119 "op": aws.String(req.Operation.Name), 2120 }, 2121 Client: c, 2122 } 2123 2124 for k, v := range de.Params { 2125 if v == nil { 2126 delete(de.Params, k) 2127 } 2128 } 2129 2130 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2131 Name: "crr.endpointdiscovery", 2132 Fn: de.Handler, 2133 }) 2134 } 2135 } 2136 return 2137 } 2138 2139 // DescribeGlobalTableSettings API operation for Amazon DynamoDB. 2140 // 2141 // Describes Region-specific settings for a global table. 2142 // 2143 // This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 2144 // of global tables. 2145 // 2146 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2147 // with awserr.Error's Code and Message methods to get detailed information about 2148 // the error. 2149 // 2150 // See the AWS API reference guide for Amazon DynamoDB's 2151 // API operation DescribeGlobalTableSettings for usage and error information. 2152 // 2153 // Returned Error Types: 2154 // * GlobalTableNotFoundException 2155 // The specified global table does not exist. 2156 // 2157 // * InternalServerError 2158 // An error occurred on the server side. 2159 // 2160 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings 2161 func (c *DynamoDB) DescribeGlobalTableSettings(input *DescribeGlobalTableSettingsInput) (*DescribeGlobalTableSettingsOutput, error) { 2162 req, out := c.DescribeGlobalTableSettingsRequest(input) 2163 return out, req.Send() 2164 } 2165 2166 // DescribeGlobalTableSettingsWithContext is the same as DescribeGlobalTableSettings with the addition of 2167 // the ability to pass a context and additional request options. 2168 // 2169 // See DescribeGlobalTableSettings for details on how to use this API operation. 2170 // 2171 // The context must be non-nil and will be used for request cancellation. If 2172 // the context is nil a panic will occur. In the future the SDK may create 2173 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2174 // for more information on using Contexts. 2175 func (c *DynamoDB) DescribeGlobalTableSettingsWithContext(ctx aws.Context, input *DescribeGlobalTableSettingsInput, opts ...request.Option) (*DescribeGlobalTableSettingsOutput, error) { 2176 req, out := c.DescribeGlobalTableSettingsRequest(input) 2177 req.SetContext(ctx) 2178 req.ApplyOptions(opts...) 2179 return out, req.Send() 2180 } 2181 2182 const opDescribeKinesisStreamingDestination = "DescribeKinesisStreamingDestination" 2183 2184 // DescribeKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the 2185 // client's request for the DescribeKinesisStreamingDestination operation. The "output" return 2186 // value will be populated with the request's response once the request completes 2187 // successfully. 2188 // 2189 // Use "Send" method on the returned Request to send the API call to the service. 2190 // the "output" return value is not valid until after Send returns without error. 2191 // 2192 // See DescribeKinesisStreamingDestination for more information on using the DescribeKinesisStreamingDestination 2193 // API call, and error handling. 2194 // 2195 // This method is useful when you want to inject custom logic or configuration 2196 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2197 // 2198 // 2199 // // Example sending a request using the DescribeKinesisStreamingDestinationRequest method. 2200 // req, resp := client.DescribeKinesisStreamingDestinationRequest(params) 2201 // 2202 // err := req.Send() 2203 // if err == nil { // resp is now filled 2204 // fmt.Println(resp) 2205 // } 2206 // 2207 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination 2208 func (c *DynamoDB) DescribeKinesisStreamingDestinationRequest(input *DescribeKinesisStreamingDestinationInput) (req *request.Request, output *DescribeKinesisStreamingDestinationOutput) { 2209 op := &request.Operation{ 2210 Name: opDescribeKinesisStreamingDestination, 2211 HTTPMethod: "POST", 2212 HTTPPath: "/", 2213 } 2214 2215 if input == nil { 2216 input = &DescribeKinesisStreamingDestinationInput{} 2217 } 2218 2219 output = &DescribeKinesisStreamingDestinationOutput{} 2220 req = c.newRequest(op, input, output) 2221 // if custom endpoint for the request is set to a non empty string, 2222 // we skip the endpoint discovery workflow. 2223 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2224 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2225 de := discovererDescribeEndpoints{ 2226 Required: false, 2227 EndpointCache: c.endpointCache, 2228 Params: map[string]*string{ 2229 "op": aws.String(req.Operation.Name), 2230 }, 2231 Client: c, 2232 } 2233 2234 for k, v := range de.Params { 2235 if v == nil { 2236 delete(de.Params, k) 2237 } 2238 } 2239 2240 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2241 Name: "crr.endpointdiscovery", 2242 Fn: de.Handler, 2243 }) 2244 } 2245 } 2246 return 2247 } 2248 2249 // DescribeKinesisStreamingDestination API operation for Amazon DynamoDB. 2250 // 2251 // Returns information about the status of Kinesis streaming. 2252 // 2253 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2254 // with awserr.Error's Code and Message methods to get detailed information about 2255 // the error. 2256 // 2257 // See the AWS API reference guide for Amazon DynamoDB's 2258 // API operation DescribeKinesisStreamingDestination for usage and error information. 2259 // 2260 // Returned Error Types: 2261 // * ResourceNotFoundException 2262 // The operation tried to access a nonexistent table or index. The resource 2263 // might not be specified correctly, or its status might not be ACTIVE. 2264 // 2265 // * InternalServerError 2266 // An error occurred on the server side. 2267 // 2268 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination 2269 func (c *DynamoDB) DescribeKinesisStreamingDestination(input *DescribeKinesisStreamingDestinationInput) (*DescribeKinesisStreamingDestinationOutput, error) { 2270 req, out := c.DescribeKinesisStreamingDestinationRequest(input) 2271 return out, req.Send() 2272 } 2273 2274 // DescribeKinesisStreamingDestinationWithContext is the same as DescribeKinesisStreamingDestination with the addition of 2275 // the ability to pass a context and additional request options. 2276 // 2277 // See DescribeKinesisStreamingDestination for details on how to use this API operation. 2278 // 2279 // The context must be non-nil and will be used for request cancellation. If 2280 // the context is nil a panic will occur. In the future the SDK may create 2281 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2282 // for more information on using Contexts. 2283 func (c *DynamoDB) DescribeKinesisStreamingDestinationWithContext(ctx aws.Context, input *DescribeKinesisStreamingDestinationInput, opts ...request.Option) (*DescribeKinesisStreamingDestinationOutput, error) { 2284 req, out := c.DescribeKinesisStreamingDestinationRequest(input) 2285 req.SetContext(ctx) 2286 req.ApplyOptions(opts...) 2287 return out, req.Send() 2288 } 2289 2290 const opDescribeLimits = "DescribeLimits" 2291 2292 // DescribeLimitsRequest generates a "aws/request.Request" representing the 2293 // client's request for the DescribeLimits operation. The "output" return 2294 // value will be populated with the request's response once the request completes 2295 // successfully. 2296 // 2297 // Use "Send" method on the returned Request to send the API call to the service. 2298 // the "output" return value is not valid until after Send returns without error. 2299 // 2300 // See DescribeLimits for more information on using the DescribeLimits 2301 // API call, and error handling. 2302 // 2303 // This method is useful when you want to inject custom logic or configuration 2304 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2305 // 2306 // 2307 // // Example sending a request using the DescribeLimitsRequest method. 2308 // req, resp := client.DescribeLimitsRequest(params) 2309 // 2310 // err := req.Send() 2311 // if err == nil { // resp is now filled 2312 // fmt.Println(resp) 2313 // } 2314 // 2315 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits 2316 func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *request.Request, output *DescribeLimitsOutput) { 2317 op := &request.Operation{ 2318 Name: opDescribeLimits, 2319 HTTPMethod: "POST", 2320 HTTPPath: "/", 2321 } 2322 2323 if input == nil { 2324 input = &DescribeLimitsInput{} 2325 } 2326 2327 output = &DescribeLimitsOutput{} 2328 req = c.newRequest(op, input, output) 2329 // if custom endpoint for the request is set to a non empty string, 2330 // we skip the endpoint discovery workflow. 2331 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2332 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2333 de := discovererDescribeEndpoints{ 2334 Required: false, 2335 EndpointCache: c.endpointCache, 2336 Params: map[string]*string{ 2337 "op": aws.String(req.Operation.Name), 2338 }, 2339 Client: c, 2340 } 2341 2342 for k, v := range de.Params { 2343 if v == nil { 2344 delete(de.Params, k) 2345 } 2346 } 2347 2348 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2349 Name: "crr.endpointdiscovery", 2350 Fn: de.Handler, 2351 }) 2352 } 2353 } 2354 return 2355 } 2356 2357 // DescribeLimits API operation for Amazon DynamoDB. 2358 // 2359 // Returns the current provisioned-capacity quotas for your AWS account in a 2360 // Region, both for the Region as a whole and for any one DynamoDB table that 2361 // you create there. 2362 // 2363 // When you establish an AWS account, the account has initial quotas on the 2364 // maximum read capacity units and write capacity units that you can provision 2365 // across all of your DynamoDB tables in a given Region. Also, there are per-table 2366 // quotas that apply when you create a table there. For more information, see 2367 // Service, Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 2368 // page in the Amazon DynamoDB Developer Guide. 2369 // 2370 // Although you can increase these quotas by filing a case at AWS Support Center 2371 // (https://console.aws.amazon.com/support/home#/), obtaining the increase is 2372 // not instantaneous. The DescribeLimits action lets you write code to compare 2373 // the capacity you are currently using to those quotas imposed by your account 2374 // so that you have enough time to apply for an increase before you hit a quota. 2375 // 2376 // For example, you could use one of the AWS SDKs to do the following: 2377 // 2378 // Call DescribeLimits for a particular Region to obtain your current account 2379 // quotas on provisioned capacity there. 2380 // 2381 // Create a variable to hold the aggregate read capacity units provisioned for 2382 // all your tables in that Region, and one to hold the aggregate write capacity 2383 // units. Zero them both. 2384 // 2385 // Call ListTables to obtain a list of all your DynamoDB tables. 2386 // 2387 // For each table name listed by ListTables, do the following: 2388 // 2389 // * Call DescribeTable with the table name. 2390 // 2391 // * Use the data returned by DescribeTable to add the read capacity units 2392 // and write capacity units provisioned for the table itself to your variables. 2393 // 2394 // * If the table has one or more global secondary indexes (GSIs), loop over 2395 // these GSIs and add their provisioned capacity values to your variables 2396 // as well. 2397 // 2398 // Report the account quotas for that Region returned by DescribeLimits, along 2399 // with the total current provisioned capacity levels you have calculated. 2400 // 2401 // This will let you see whether you are getting close to your account-level 2402 // quotas. 2403 // 2404 // The per-table quotas apply only when you are creating a new table. They restrict 2405 // the sum of the provisioned capacity of the new table itself and all its global 2406 // secondary indexes. 2407 // 2408 // For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned 2409 // capacity extremely rapidly, but the only quota that applies is that the aggregate 2410 // provisioned capacity over all your tables and GSIs cannot exceed either of 2411 // the per-account quotas. 2412 // 2413 // DescribeLimits should only be called periodically. You can expect throttling 2414 // errors if you call it more than once in a minute. 2415 // 2416 // The DescribeLimits Request element has no content. 2417 // 2418 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2419 // with awserr.Error's Code and Message methods to get detailed information about 2420 // the error. 2421 // 2422 // See the AWS API reference guide for Amazon DynamoDB's 2423 // API operation DescribeLimits for usage and error information. 2424 // 2425 // Returned Error Types: 2426 // * InternalServerError 2427 // An error occurred on the server side. 2428 // 2429 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits 2430 func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOutput, error) { 2431 req, out := c.DescribeLimitsRequest(input) 2432 return out, req.Send() 2433 } 2434 2435 // DescribeLimitsWithContext is the same as DescribeLimits with the addition of 2436 // the ability to pass a context and additional request options. 2437 // 2438 // See DescribeLimits for details on how to use this API operation. 2439 // 2440 // The context must be non-nil and will be used for request cancellation. If 2441 // the context is nil a panic will occur. In the future the SDK may create 2442 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2443 // for more information on using Contexts. 2444 func (c *DynamoDB) DescribeLimitsWithContext(ctx aws.Context, input *DescribeLimitsInput, opts ...request.Option) (*DescribeLimitsOutput, error) { 2445 req, out := c.DescribeLimitsRequest(input) 2446 req.SetContext(ctx) 2447 req.ApplyOptions(opts...) 2448 return out, req.Send() 2449 } 2450 2451 const opDescribeTable = "DescribeTable" 2452 2453 // DescribeTableRequest generates a "aws/request.Request" representing the 2454 // client's request for the DescribeTable operation. The "output" return 2455 // value will be populated with the request's response once the request completes 2456 // successfully. 2457 // 2458 // Use "Send" method on the returned Request to send the API call to the service. 2459 // the "output" return value is not valid until after Send returns without error. 2460 // 2461 // See DescribeTable for more information on using the DescribeTable 2462 // API call, and error handling. 2463 // 2464 // This method is useful when you want to inject custom logic or configuration 2465 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2466 // 2467 // 2468 // // Example sending a request using the DescribeTableRequest method. 2469 // req, resp := client.DescribeTableRequest(params) 2470 // 2471 // err := req.Send() 2472 // if err == nil { // resp is now filled 2473 // fmt.Println(resp) 2474 // } 2475 // 2476 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable 2477 func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request.Request, output *DescribeTableOutput) { 2478 op := &request.Operation{ 2479 Name: opDescribeTable, 2480 HTTPMethod: "POST", 2481 HTTPPath: "/", 2482 } 2483 2484 if input == nil { 2485 input = &DescribeTableInput{} 2486 } 2487 2488 output = &DescribeTableOutput{} 2489 req = c.newRequest(op, input, output) 2490 // if custom endpoint for the request is set to a non empty string, 2491 // we skip the endpoint discovery workflow. 2492 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2493 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2494 de := discovererDescribeEndpoints{ 2495 Required: false, 2496 EndpointCache: c.endpointCache, 2497 Params: map[string]*string{ 2498 "op": aws.String(req.Operation.Name), 2499 }, 2500 Client: c, 2501 } 2502 2503 for k, v := range de.Params { 2504 if v == nil { 2505 delete(de.Params, k) 2506 } 2507 } 2508 2509 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2510 Name: "crr.endpointdiscovery", 2511 Fn: de.Handler, 2512 }) 2513 } 2514 } 2515 return 2516 } 2517 2518 // DescribeTable API operation for Amazon DynamoDB. 2519 // 2520 // Returns information about the table, including the current status of the 2521 // table, when it was created, the primary key schema, and any indexes on the 2522 // table. 2523 // 2524 // If you issue a DescribeTable request immediately after a CreateTable request, 2525 // DynamoDB might return a ResourceNotFoundException. This is because DescribeTable 2526 // uses an eventually consistent query, and the metadata for your table might 2527 // not be available at that moment. Wait for a few seconds, and then try the 2528 // DescribeTable request again. 2529 // 2530 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2531 // with awserr.Error's Code and Message methods to get detailed information about 2532 // the error. 2533 // 2534 // See the AWS API reference guide for Amazon DynamoDB's 2535 // API operation DescribeTable for usage and error information. 2536 // 2537 // Returned Error Types: 2538 // * ResourceNotFoundException 2539 // The operation tried to access a nonexistent table or index. The resource 2540 // might not be specified correctly, or its status might not be ACTIVE. 2541 // 2542 // * InternalServerError 2543 // An error occurred on the server side. 2544 // 2545 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable 2546 func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { 2547 req, out := c.DescribeTableRequest(input) 2548 return out, req.Send() 2549 } 2550 2551 // DescribeTableWithContext is the same as DescribeTable with the addition of 2552 // the ability to pass a context and additional request options. 2553 // 2554 // See DescribeTable for details on how to use this API operation. 2555 // 2556 // The context must be non-nil and will be used for request cancellation. If 2557 // the context is nil a panic will occur. In the future the SDK may create 2558 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2559 // for more information on using Contexts. 2560 func (c *DynamoDB) DescribeTableWithContext(ctx aws.Context, input *DescribeTableInput, opts ...request.Option) (*DescribeTableOutput, error) { 2561 req, out := c.DescribeTableRequest(input) 2562 req.SetContext(ctx) 2563 req.ApplyOptions(opts...) 2564 return out, req.Send() 2565 } 2566 2567 const opDescribeTableReplicaAutoScaling = "DescribeTableReplicaAutoScaling" 2568 2569 // DescribeTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the 2570 // client's request for the DescribeTableReplicaAutoScaling operation. The "output" return 2571 // value will be populated with the request's response once the request completes 2572 // successfully. 2573 // 2574 // Use "Send" method on the returned Request to send the API call to the service. 2575 // the "output" return value is not valid until after Send returns without error. 2576 // 2577 // See DescribeTableReplicaAutoScaling for more information on using the DescribeTableReplicaAutoScaling 2578 // API call, and error handling. 2579 // 2580 // This method is useful when you want to inject custom logic or configuration 2581 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2582 // 2583 // 2584 // // Example sending a request using the DescribeTableReplicaAutoScalingRequest method. 2585 // req, resp := client.DescribeTableReplicaAutoScalingRequest(params) 2586 // 2587 // err := req.Send() 2588 // if err == nil { // resp is now filled 2589 // fmt.Println(resp) 2590 // } 2591 // 2592 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling 2593 func (c *DynamoDB) DescribeTableReplicaAutoScalingRequest(input *DescribeTableReplicaAutoScalingInput) (req *request.Request, output *DescribeTableReplicaAutoScalingOutput) { 2594 op := &request.Operation{ 2595 Name: opDescribeTableReplicaAutoScaling, 2596 HTTPMethod: "POST", 2597 HTTPPath: "/", 2598 } 2599 2600 if input == nil { 2601 input = &DescribeTableReplicaAutoScalingInput{} 2602 } 2603 2604 output = &DescribeTableReplicaAutoScalingOutput{} 2605 req = c.newRequest(op, input, output) 2606 return 2607 } 2608 2609 // DescribeTableReplicaAutoScaling API operation for Amazon DynamoDB. 2610 // 2611 // Describes auto scaling settings across replicas of the global table at once. 2612 // 2613 // This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 2614 // of global tables. 2615 // 2616 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2617 // with awserr.Error's Code and Message methods to get detailed information about 2618 // the error. 2619 // 2620 // See the AWS API reference guide for Amazon DynamoDB's 2621 // API operation DescribeTableReplicaAutoScaling for usage and error information. 2622 // 2623 // Returned Error Types: 2624 // * ResourceNotFoundException 2625 // The operation tried to access a nonexistent table or index. The resource 2626 // might not be specified correctly, or its status might not be ACTIVE. 2627 // 2628 // * InternalServerError 2629 // An error occurred on the server side. 2630 // 2631 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling 2632 func (c *DynamoDB) DescribeTableReplicaAutoScaling(input *DescribeTableReplicaAutoScalingInput) (*DescribeTableReplicaAutoScalingOutput, error) { 2633 req, out := c.DescribeTableReplicaAutoScalingRequest(input) 2634 return out, req.Send() 2635 } 2636 2637 // DescribeTableReplicaAutoScalingWithContext is the same as DescribeTableReplicaAutoScaling with the addition of 2638 // the ability to pass a context and additional request options. 2639 // 2640 // See DescribeTableReplicaAutoScaling for details on how to use this API operation. 2641 // 2642 // The context must be non-nil and will be used for request cancellation. If 2643 // the context is nil a panic will occur. In the future the SDK may create 2644 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2645 // for more information on using Contexts. 2646 func (c *DynamoDB) DescribeTableReplicaAutoScalingWithContext(ctx aws.Context, input *DescribeTableReplicaAutoScalingInput, opts ...request.Option) (*DescribeTableReplicaAutoScalingOutput, error) { 2647 req, out := c.DescribeTableReplicaAutoScalingRequest(input) 2648 req.SetContext(ctx) 2649 req.ApplyOptions(opts...) 2650 return out, req.Send() 2651 } 2652 2653 const opDescribeTimeToLive = "DescribeTimeToLive" 2654 2655 // DescribeTimeToLiveRequest generates a "aws/request.Request" representing the 2656 // client's request for the DescribeTimeToLive operation. The "output" return 2657 // value will be populated with the request's response once the request completes 2658 // successfully. 2659 // 2660 // Use "Send" method on the returned Request to send the API call to the service. 2661 // the "output" return value is not valid until after Send returns without error. 2662 // 2663 // See DescribeTimeToLive for more information on using the DescribeTimeToLive 2664 // API call, and error handling. 2665 // 2666 // This method is useful when you want to inject custom logic or configuration 2667 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2668 // 2669 // 2670 // // Example sending a request using the DescribeTimeToLiveRequest method. 2671 // req, resp := client.DescribeTimeToLiveRequest(params) 2672 // 2673 // err := req.Send() 2674 // if err == nil { // resp is now filled 2675 // fmt.Println(resp) 2676 // } 2677 // 2678 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive 2679 func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (req *request.Request, output *DescribeTimeToLiveOutput) { 2680 op := &request.Operation{ 2681 Name: opDescribeTimeToLive, 2682 HTTPMethod: "POST", 2683 HTTPPath: "/", 2684 } 2685 2686 if input == nil { 2687 input = &DescribeTimeToLiveInput{} 2688 } 2689 2690 output = &DescribeTimeToLiveOutput{} 2691 req = c.newRequest(op, input, output) 2692 // if custom endpoint for the request is set to a non empty string, 2693 // we skip the endpoint discovery workflow. 2694 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2695 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2696 de := discovererDescribeEndpoints{ 2697 Required: false, 2698 EndpointCache: c.endpointCache, 2699 Params: map[string]*string{ 2700 "op": aws.String(req.Operation.Name), 2701 }, 2702 Client: c, 2703 } 2704 2705 for k, v := range de.Params { 2706 if v == nil { 2707 delete(de.Params, k) 2708 } 2709 } 2710 2711 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2712 Name: "crr.endpointdiscovery", 2713 Fn: de.Handler, 2714 }) 2715 } 2716 } 2717 return 2718 } 2719 2720 // DescribeTimeToLive API operation for Amazon DynamoDB. 2721 // 2722 // Gives a description of the Time to Live (TTL) status on the specified table. 2723 // 2724 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2725 // with awserr.Error's Code and Message methods to get detailed information about 2726 // the error. 2727 // 2728 // See the AWS API reference guide for Amazon DynamoDB's 2729 // API operation DescribeTimeToLive for usage and error information. 2730 // 2731 // Returned Error Types: 2732 // * ResourceNotFoundException 2733 // The operation tried to access a nonexistent table or index. The resource 2734 // might not be specified correctly, or its status might not be ACTIVE. 2735 // 2736 // * InternalServerError 2737 // An error occurred on the server side. 2738 // 2739 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive 2740 func (c *DynamoDB) DescribeTimeToLive(input *DescribeTimeToLiveInput) (*DescribeTimeToLiveOutput, error) { 2741 req, out := c.DescribeTimeToLiveRequest(input) 2742 return out, req.Send() 2743 } 2744 2745 // DescribeTimeToLiveWithContext is the same as DescribeTimeToLive with the addition of 2746 // the ability to pass a context and additional request options. 2747 // 2748 // See DescribeTimeToLive for details on how to use this API operation. 2749 // 2750 // The context must be non-nil and will be used for request cancellation. If 2751 // the context is nil a panic will occur. In the future the SDK may create 2752 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2753 // for more information on using Contexts. 2754 func (c *DynamoDB) DescribeTimeToLiveWithContext(ctx aws.Context, input *DescribeTimeToLiveInput, opts ...request.Option) (*DescribeTimeToLiveOutput, error) { 2755 req, out := c.DescribeTimeToLiveRequest(input) 2756 req.SetContext(ctx) 2757 req.ApplyOptions(opts...) 2758 return out, req.Send() 2759 } 2760 2761 const opDisableKinesisStreamingDestination = "DisableKinesisStreamingDestination" 2762 2763 // DisableKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the 2764 // client's request for the DisableKinesisStreamingDestination operation. The "output" return 2765 // value will be populated with the request's response once the request completes 2766 // successfully. 2767 // 2768 // Use "Send" method on the returned Request to send the API call to the service. 2769 // the "output" return value is not valid until after Send returns without error. 2770 // 2771 // See DisableKinesisStreamingDestination for more information on using the DisableKinesisStreamingDestination 2772 // API call, and error handling. 2773 // 2774 // This method is useful when you want to inject custom logic or configuration 2775 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2776 // 2777 // 2778 // // Example sending a request using the DisableKinesisStreamingDestinationRequest method. 2779 // req, resp := client.DisableKinesisStreamingDestinationRequest(params) 2780 // 2781 // err := req.Send() 2782 // if err == nil { // resp is now filled 2783 // fmt.Println(resp) 2784 // } 2785 // 2786 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination 2787 func (c *DynamoDB) DisableKinesisStreamingDestinationRequest(input *DisableKinesisStreamingDestinationInput) (req *request.Request, output *DisableKinesisStreamingDestinationOutput) { 2788 op := &request.Operation{ 2789 Name: opDisableKinesisStreamingDestination, 2790 HTTPMethod: "POST", 2791 HTTPPath: "/", 2792 } 2793 2794 if input == nil { 2795 input = &DisableKinesisStreamingDestinationInput{} 2796 } 2797 2798 output = &DisableKinesisStreamingDestinationOutput{} 2799 req = c.newRequest(op, input, output) 2800 // if custom endpoint for the request is set to a non empty string, 2801 // we skip the endpoint discovery workflow. 2802 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2803 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2804 de := discovererDescribeEndpoints{ 2805 Required: false, 2806 EndpointCache: c.endpointCache, 2807 Params: map[string]*string{ 2808 "op": aws.String(req.Operation.Name), 2809 }, 2810 Client: c, 2811 } 2812 2813 for k, v := range de.Params { 2814 if v == nil { 2815 delete(de.Params, k) 2816 } 2817 } 2818 2819 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2820 Name: "crr.endpointdiscovery", 2821 Fn: de.Handler, 2822 }) 2823 } 2824 } 2825 return 2826 } 2827 2828 // DisableKinesisStreamingDestination API operation for Amazon DynamoDB. 2829 // 2830 // Stops replication from the DynamoDB table to the Kinesis data stream. This 2831 // is done without deleting either of the resources. 2832 // 2833 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2834 // with awserr.Error's Code and Message methods to get detailed information about 2835 // the error. 2836 // 2837 // See the AWS API reference guide for Amazon DynamoDB's 2838 // API operation DisableKinesisStreamingDestination for usage and error information. 2839 // 2840 // Returned Error Types: 2841 // * InternalServerError 2842 // An error occurred on the server side. 2843 // 2844 // * LimitExceededException 2845 // There is no limit to the number of daily on-demand backups that can be taken. 2846 // 2847 // Up to 50 simultaneous table operations are allowed per account. These operations 2848 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 2849 // and RestoreTableToPointInTime. 2850 // 2851 // The only exception is when you are creating a table with one or more secondary 2852 // indexes. You can have up to 25 such requests running at a time; however, 2853 // if the table or index specifications are complex, DynamoDB might temporarily 2854 // reduce the number of concurrent operations. 2855 // 2856 // There is a soft account quota of 256 tables. 2857 // 2858 // * ResourceInUseException 2859 // The operation conflicts with the resource's availability. For example, you 2860 // attempted to recreate an existing table, or tried to delete a table currently 2861 // in the CREATING state. 2862 // 2863 // * ResourceNotFoundException 2864 // The operation tried to access a nonexistent table or index. The resource 2865 // might not be specified correctly, or its status might not be ACTIVE. 2866 // 2867 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination 2868 func (c *DynamoDB) DisableKinesisStreamingDestination(input *DisableKinesisStreamingDestinationInput) (*DisableKinesisStreamingDestinationOutput, error) { 2869 req, out := c.DisableKinesisStreamingDestinationRequest(input) 2870 return out, req.Send() 2871 } 2872 2873 // DisableKinesisStreamingDestinationWithContext is the same as DisableKinesisStreamingDestination with the addition of 2874 // the ability to pass a context and additional request options. 2875 // 2876 // See DisableKinesisStreamingDestination for details on how to use this API operation. 2877 // 2878 // The context must be non-nil and will be used for request cancellation. If 2879 // the context is nil a panic will occur. In the future the SDK may create 2880 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2881 // for more information on using Contexts. 2882 func (c *DynamoDB) DisableKinesisStreamingDestinationWithContext(ctx aws.Context, input *DisableKinesisStreamingDestinationInput, opts ...request.Option) (*DisableKinesisStreamingDestinationOutput, error) { 2883 req, out := c.DisableKinesisStreamingDestinationRequest(input) 2884 req.SetContext(ctx) 2885 req.ApplyOptions(opts...) 2886 return out, req.Send() 2887 } 2888 2889 const opEnableKinesisStreamingDestination = "EnableKinesisStreamingDestination" 2890 2891 // EnableKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the 2892 // client's request for the EnableKinesisStreamingDestination operation. The "output" return 2893 // value will be populated with the request's response once the request completes 2894 // successfully. 2895 // 2896 // Use "Send" method on the returned Request to send the API call to the service. 2897 // the "output" return value is not valid until after Send returns without error. 2898 // 2899 // See EnableKinesisStreamingDestination for more information on using the EnableKinesisStreamingDestination 2900 // API call, and error handling. 2901 // 2902 // This method is useful when you want to inject custom logic or configuration 2903 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2904 // 2905 // 2906 // // Example sending a request using the EnableKinesisStreamingDestinationRequest method. 2907 // req, resp := client.EnableKinesisStreamingDestinationRequest(params) 2908 // 2909 // err := req.Send() 2910 // if err == nil { // resp is now filled 2911 // fmt.Println(resp) 2912 // } 2913 // 2914 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination 2915 func (c *DynamoDB) EnableKinesisStreamingDestinationRequest(input *EnableKinesisStreamingDestinationInput) (req *request.Request, output *EnableKinesisStreamingDestinationOutput) { 2916 op := &request.Operation{ 2917 Name: opEnableKinesisStreamingDestination, 2918 HTTPMethod: "POST", 2919 HTTPPath: "/", 2920 } 2921 2922 if input == nil { 2923 input = &EnableKinesisStreamingDestinationInput{} 2924 } 2925 2926 output = &EnableKinesisStreamingDestinationOutput{} 2927 req = c.newRequest(op, input, output) 2928 // if custom endpoint for the request is set to a non empty string, 2929 // we skip the endpoint discovery workflow. 2930 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2931 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2932 de := discovererDescribeEndpoints{ 2933 Required: false, 2934 EndpointCache: c.endpointCache, 2935 Params: map[string]*string{ 2936 "op": aws.String(req.Operation.Name), 2937 }, 2938 Client: c, 2939 } 2940 2941 for k, v := range de.Params { 2942 if v == nil { 2943 delete(de.Params, k) 2944 } 2945 } 2946 2947 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2948 Name: "crr.endpointdiscovery", 2949 Fn: de.Handler, 2950 }) 2951 } 2952 } 2953 return 2954 } 2955 2956 // EnableKinesisStreamingDestination API operation for Amazon DynamoDB. 2957 // 2958 // Starts table data replication to the specified Kinesis data stream at a timestamp 2959 // chosen during the enable workflow. If this operation doesn't return results 2960 // immediately, use DescribeKinesisStreamingDestination to check if streaming 2961 // to the Kinesis data stream is ACTIVE. 2962 // 2963 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2964 // with awserr.Error's Code and Message methods to get detailed information about 2965 // the error. 2966 // 2967 // See the AWS API reference guide for Amazon DynamoDB's 2968 // API operation EnableKinesisStreamingDestination for usage and error information. 2969 // 2970 // Returned Error Types: 2971 // * InternalServerError 2972 // An error occurred on the server side. 2973 // 2974 // * LimitExceededException 2975 // There is no limit to the number of daily on-demand backups that can be taken. 2976 // 2977 // Up to 50 simultaneous table operations are allowed per account. These operations 2978 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 2979 // and RestoreTableToPointInTime. 2980 // 2981 // The only exception is when you are creating a table with one or more secondary 2982 // indexes. You can have up to 25 such requests running at a time; however, 2983 // if the table or index specifications are complex, DynamoDB might temporarily 2984 // reduce the number of concurrent operations. 2985 // 2986 // There is a soft account quota of 256 tables. 2987 // 2988 // * ResourceInUseException 2989 // The operation conflicts with the resource's availability. For example, you 2990 // attempted to recreate an existing table, or tried to delete a table currently 2991 // in the CREATING state. 2992 // 2993 // * ResourceNotFoundException 2994 // The operation tried to access a nonexistent table or index. The resource 2995 // might not be specified correctly, or its status might not be ACTIVE. 2996 // 2997 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination 2998 func (c *DynamoDB) EnableKinesisStreamingDestination(input *EnableKinesisStreamingDestinationInput) (*EnableKinesisStreamingDestinationOutput, error) { 2999 req, out := c.EnableKinesisStreamingDestinationRequest(input) 3000 return out, req.Send() 3001 } 3002 3003 // EnableKinesisStreamingDestinationWithContext is the same as EnableKinesisStreamingDestination with the addition of 3004 // the ability to pass a context and additional request options. 3005 // 3006 // See EnableKinesisStreamingDestination for details on how to use this API operation. 3007 // 3008 // The context must be non-nil and will be used for request cancellation. If 3009 // the context is nil a panic will occur. In the future the SDK may create 3010 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3011 // for more information on using Contexts. 3012 func (c *DynamoDB) EnableKinesisStreamingDestinationWithContext(ctx aws.Context, input *EnableKinesisStreamingDestinationInput, opts ...request.Option) (*EnableKinesisStreamingDestinationOutput, error) { 3013 req, out := c.EnableKinesisStreamingDestinationRequest(input) 3014 req.SetContext(ctx) 3015 req.ApplyOptions(opts...) 3016 return out, req.Send() 3017 } 3018 3019 const opExecuteStatement = "ExecuteStatement" 3020 3021 // ExecuteStatementRequest generates a "aws/request.Request" representing the 3022 // client's request for the ExecuteStatement operation. The "output" return 3023 // value will be populated with the request's response once the request completes 3024 // successfully. 3025 // 3026 // Use "Send" method on the returned Request to send the API call to the service. 3027 // the "output" return value is not valid until after Send returns without error. 3028 // 3029 // See ExecuteStatement for more information on using the ExecuteStatement 3030 // API call, and error handling. 3031 // 3032 // This method is useful when you want to inject custom logic or configuration 3033 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3034 // 3035 // 3036 // // Example sending a request using the ExecuteStatementRequest method. 3037 // req, resp := client.ExecuteStatementRequest(params) 3038 // 3039 // err := req.Send() 3040 // if err == nil { // resp is now filled 3041 // fmt.Println(resp) 3042 // } 3043 // 3044 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteStatement 3045 func (c *DynamoDB) ExecuteStatementRequest(input *ExecuteStatementInput) (req *request.Request, output *ExecuteStatementOutput) { 3046 op := &request.Operation{ 3047 Name: opExecuteStatement, 3048 HTTPMethod: "POST", 3049 HTTPPath: "/", 3050 } 3051 3052 if input == nil { 3053 input = &ExecuteStatementInput{} 3054 } 3055 3056 output = &ExecuteStatementOutput{} 3057 req = c.newRequest(op, input, output) 3058 return 3059 } 3060 3061 // ExecuteStatement API operation for Amazon DynamoDB. 3062 // 3063 // This operation allows you to perform reads and singleton writes on data stored 3064 // in DynamoDB, using PartiQL. 3065 // 3066 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3067 // with awserr.Error's Code and Message methods to get detailed information about 3068 // the error. 3069 // 3070 // See the AWS API reference guide for Amazon DynamoDB's 3071 // API operation ExecuteStatement for usage and error information. 3072 // 3073 // Returned Error Types: 3074 // * ConditionalCheckFailedException 3075 // A condition specified in the operation could not be evaluated. 3076 // 3077 // * ProvisionedThroughputExceededException 3078 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 3079 // requests that receive this exception. Your request is eventually successful, 3080 // unless your retry queue is too large to finish. Reduce the frequency of requests 3081 // and use exponential backoff. For more information, go to Error Retries and 3082 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 3083 // in the Amazon DynamoDB Developer Guide. 3084 // 3085 // * ResourceNotFoundException 3086 // The operation tried to access a nonexistent table or index. The resource 3087 // might not be specified correctly, or its status might not be ACTIVE. 3088 // 3089 // * ItemCollectionSizeLimitExceededException 3090 // An item collection is too large. This exception is only returned for tables 3091 // that have one or more local secondary indexes. 3092 // 3093 // * TransactionConflictException 3094 // Operation was rejected because there is an ongoing transaction for the item. 3095 // 3096 // * RequestLimitExceeded 3097 // Throughput exceeds the current throughput quota for your account. Please 3098 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 3099 // a quota increase. 3100 // 3101 // * InternalServerError 3102 // An error occurred on the server side. 3103 // 3104 // * DuplicateItemException 3105 // There was an attempt to insert an item with the same primary key as an item 3106 // that already exists in the DynamoDB table. 3107 // 3108 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteStatement 3109 func (c *DynamoDB) ExecuteStatement(input *ExecuteStatementInput) (*ExecuteStatementOutput, error) { 3110 req, out := c.ExecuteStatementRequest(input) 3111 return out, req.Send() 3112 } 3113 3114 // ExecuteStatementWithContext is the same as ExecuteStatement with the addition of 3115 // the ability to pass a context and additional request options. 3116 // 3117 // See ExecuteStatement for details on how to use this API operation. 3118 // 3119 // The context must be non-nil and will be used for request cancellation. If 3120 // the context is nil a panic will occur. In the future the SDK may create 3121 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3122 // for more information on using Contexts. 3123 func (c *DynamoDB) ExecuteStatementWithContext(ctx aws.Context, input *ExecuteStatementInput, opts ...request.Option) (*ExecuteStatementOutput, error) { 3124 req, out := c.ExecuteStatementRequest(input) 3125 req.SetContext(ctx) 3126 req.ApplyOptions(opts...) 3127 return out, req.Send() 3128 } 3129 3130 const opExecuteTransaction = "ExecuteTransaction" 3131 3132 // ExecuteTransactionRequest generates a "aws/request.Request" representing the 3133 // client's request for the ExecuteTransaction operation. The "output" return 3134 // value will be populated with the request's response once the request completes 3135 // successfully. 3136 // 3137 // Use "Send" method on the returned Request to send the API call to the service. 3138 // the "output" return value is not valid until after Send returns without error. 3139 // 3140 // See ExecuteTransaction for more information on using the ExecuteTransaction 3141 // API call, and error handling. 3142 // 3143 // This method is useful when you want to inject custom logic or configuration 3144 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3145 // 3146 // 3147 // // Example sending a request using the ExecuteTransactionRequest method. 3148 // req, resp := client.ExecuteTransactionRequest(params) 3149 // 3150 // err := req.Send() 3151 // if err == nil { // resp is now filled 3152 // fmt.Println(resp) 3153 // } 3154 // 3155 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteTransaction 3156 func (c *DynamoDB) ExecuteTransactionRequest(input *ExecuteTransactionInput) (req *request.Request, output *ExecuteTransactionOutput) { 3157 op := &request.Operation{ 3158 Name: opExecuteTransaction, 3159 HTTPMethod: "POST", 3160 HTTPPath: "/", 3161 } 3162 3163 if input == nil { 3164 input = &ExecuteTransactionInput{} 3165 } 3166 3167 output = &ExecuteTransactionOutput{} 3168 req = c.newRequest(op, input, output) 3169 return 3170 } 3171 3172 // ExecuteTransaction API operation for Amazon DynamoDB. 3173 // 3174 // This operation allows you to perform transactional reads or writes on data 3175 // stored in DynamoDB, using PartiQL. 3176 // 3177 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3178 // with awserr.Error's Code and Message methods to get detailed information about 3179 // the error. 3180 // 3181 // See the AWS API reference guide for Amazon DynamoDB's 3182 // API operation ExecuteTransaction for usage and error information. 3183 // 3184 // Returned Error Types: 3185 // * ResourceNotFoundException 3186 // The operation tried to access a nonexistent table or index. The resource 3187 // might not be specified correctly, or its status might not be ACTIVE. 3188 // 3189 // * TransactionCanceledException 3190 // The entire transaction request was canceled. 3191 // 3192 // DynamoDB cancels a TransactWriteItems request under the following circumstances: 3193 // 3194 // * A condition in one of the condition expressions is not met. 3195 // 3196 // * A table in the TransactWriteItems request is in a different account 3197 // or region. 3198 // 3199 // * More than one action in the TransactWriteItems operation targets the 3200 // same item. 3201 // 3202 // * There is insufficient provisioned capacity for the transaction to be 3203 // completed. 3204 // 3205 // * An item size becomes too large (larger than 400 KB), or a local secondary 3206 // index (LSI) becomes too large, or a similar validation error occurs because 3207 // of changes made by the transaction. 3208 // 3209 // * There is a user error, such as an invalid data format. 3210 // 3211 // DynamoDB cancels a TransactGetItems request under the following circumstances: 3212 // 3213 // * There is an ongoing TransactGetItems operation that conflicts with a 3214 // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 3215 // In this case the TransactGetItems operation fails with a TransactionCanceledException. 3216 // 3217 // * A table in the TransactGetItems request is in a different account or 3218 // region. 3219 // 3220 // * There is insufficient provisioned capacity for the transaction to be 3221 // completed. 3222 // 3223 // * There is a user error, such as an invalid data format. 3224 // 3225 // If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 3226 // property. This property is not set for other languages. Transaction cancellation 3227 // reasons are ordered in the order of requested items, if an item has no error 3228 // it will have NONE code and Null message. 3229 // 3230 // Cancellation reason codes and possible error messages: 3231 // 3232 // * No Errors: Code: NONE Message: null 3233 // 3234 // * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 3235 // conditional request failed. 3236 // 3237 // * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 3238 // Message: Collection size exceeded. 3239 // 3240 // * Transaction Conflict: Code: TransactionConflict Message: Transaction 3241 // is ongoing for the item. 3242 // 3243 // * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 3244 // Messages: The level of configured provisioned throughput for the table 3245 // was exceeded. Consider increasing your provisioning level with the UpdateTable 3246 // API. This Message is received when provisioned throughput is exceeded 3247 // is on a provisioned DynamoDB table. The level of configured provisioned 3248 // throughput for one or more global secondary indexes of the table was exceeded. 3249 // Consider increasing your provisioning level for the under-provisioned 3250 // global secondary indexes with the UpdateTable API. This message is returned 3251 // when provisioned throughput is exceeded is on a provisioned GSI. 3252 // 3253 // * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 3254 // the current capacity of your table or index. DynamoDB is automatically 3255 // scaling your table or index so please try again shortly. If exceptions 3256 // persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 3257 // This message is returned when writes get throttled on an On-Demand table 3258 // as DynamoDB is automatically scaling the table. Throughput exceeds the 3259 // current capacity for one or more global secondary indexes. DynamoDB is 3260 // automatically scaling your index so please try again shortly. This message 3261 // is returned when when writes get throttled on an On-Demand GSI as DynamoDB 3262 // is automatically scaling the GSI. 3263 // 3264 // * Validation Error: Code: ValidationError Messages: One or more parameter 3265 // values were invalid. The update expression attempted to update the secondary 3266 // index key beyond allowed size limits. The update expression attempted 3267 // to update the secondary index key to unsupported type. An operand in the 3268 // update expression has an incorrect data type. Item size to update has 3269 // exceeded the maximum allowed size. Number overflow. Attempting to store 3270 // a number with magnitude larger than supported range. Type mismatch for 3271 // attribute to update. Nesting Levels have exceeded supported limits. The 3272 // document path provided in the update expression is invalid for update. 3273 // The provided expression refers to an attribute that does not exist in 3274 // the item. 3275 // 3276 // * TransactionInProgressException 3277 // The transaction with the given request token is already in progress. 3278 // 3279 // * IdempotentParameterMismatchException 3280 // DynamoDB rejected the request because you retried a request with a different 3281 // payload but with an idempotent token that was already used. 3282 // 3283 // * ProvisionedThroughputExceededException 3284 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 3285 // requests that receive this exception. Your request is eventually successful, 3286 // unless your retry queue is too large to finish. Reduce the frequency of requests 3287 // and use exponential backoff. For more information, go to Error Retries and 3288 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 3289 // in the Amazon DynamoDB Developer Guide. 3290 // 3291 // * RequestLimitExceeded 3292 // Throughput exceeds the current throughput quota for your account. Please 3293 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 3294 // a quota increase. 3295 // 3296 // * InternalServerError 3297 // An error occurred on the server side. 3298 // 3299 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteTransaction 3300 func (c *DynamoDB) ExecuteTransaction(input *ExecuteTransactionInput) (*ExecuteTransactionOutput, error) { 3301 req, out := c.ExecuteTransactionRequest(input) 3302 return out, req.Send() 3303 } 3304 3305 // ExecuteTransactionWithContext is the same as ExecuteTransaction with the addition of 3306 // the ability to pass a context and additional request options. 3307 // 3308 // See ExecuteTransaction for details on how to use this API operation. 3309 // 3310 // The context must be non-nil and will be used for request cancellation. If 3311 // the context is nil a panic will occur. In the future the SDK may create 3312 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3313 // for more information on using Contexts. 3314 func (c *DynamoDB) ExecuteTransactionWithContext(ctx aws.Context, input *ExecuteTransactionInput, opts ...request.Option) (*ExecuteTransactionOutput, error) { 3315 req, out := c.ExecuteTransactionRequest(input) 3316 req.SetContext(ctx) 3317 req.ApplyOptions(opts...) 3318 return out, req.Send() 3319 } 3320 3321 const opExportTableToPointInTime = "ExportTableToPointInTime" 3322 3323 // ExportTableToPointInTimeRequest generates a "aws/request.Request" representing the 3324 // client's request for the ExportTableToPointInTime operation. The "output" return 3325 // value will be populated with the request's response once the request completes 3326 // successfully. 3327 // 3328 // Use "Send" method on the returned Request to send the API call to the service. 3329 // the "output" return value is not valid until after Send returns without error. 3330 // 3331 // See ExportTableToPointInTime for more information on using the ExportTableToPointInTime 3332 // API call, and error handling. 3333 // 3334 // This method is useful when you want to inject custom logic or configuration 3335 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3336 // 3337 // 3338 // // Example sending a request using the ExportTableToPointInTimeRequest method. 3339 // req, resp := client.ExportTableToPointInTimeRequest(params) 3340 // 3341 // err := req.Send() 3342 // if err == nil { // resp is now filled 3343 // fmt.Println(resp) 3344 // } 3345 // 3346 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime 3347 func (c *DynamoDB) ExportTableToPointInTimeRequest(input *ExportTableToPointInTimeInput) (req *request.Request, output *ExportTableToPointInTimeOutput) { 3348 op := &request.Operation{ 3349 Name: opExportTableToPointInTime, 3350 HTTPMethod: "POST", 3351 HTTPPath: "/", 3352 } 3353 3354 if input == nil { 3355 input = &ExportTableToPointInTimeInput{} 3356 } 3357 3358 output = &ExportTableToPointInTimeOutput{} 3359 req = c.newRequest(op, input, output) 3360 return 3361 } 3362 3363 // ExportTableToPointInTime API operation for Amazon DynamoDB. 3364 // 3365 // Exports table data to an S3 bucket. The table must have point in time recovery 3366 // enabled, and you can export data from any time within the point in time recovery 3367 // window. 3368 // 3369 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3370 // with awserr.Error's Code and Message methods to get detailed information about 3371 // the error. 3372 // 3373 // See the AWS API reference guide for Amazon DynamoDB's 3374 // API operation ExportTableToPointInTime for usage and error information. 3375 // 3376 // Returned Error Types: 3377 // * TableNotFoundException 3378 // A source table with the name TableName does not currently exist within the 3379 // subscriber's account. 3380 // 3381 // * PointInTimeRecoveryUnavailableException 3382 // Point in time recovery has not yet been enabled for this source table. 3383 // 3384 // * LimitExceededException 3385 // There is no limit to the number of daily on-demand backups that can be taken. 3386 // 3387 // Up to 50 simultaneous table operations are allowed per account. These operations 3388 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 3389 // and RestoreTableToPointInTime. 3390 // 3391 // The only exception is when you are creating a table with one or more secondary 3392 // indexes. You can have up to 25 such requests running at a time; however, 3393 // if the table or index specifications are complex, DynamoDB might temporarily 3394 // reduce the number of concurrent operations. 3395 // 3396 // There is a soft account quota of 256 tables. 3397 // 3398 // * InvalidExportTimeException 3399 // The specified ExportTime is outside of the point in time recovery window. 3400 // 3401 // * ExportConflictException 3402 // There was a conflict when writing to the specified S3 bucket. 3403 // 3404 // * InternalServerError 3405 // An error occurred on the server side. 3406 // 3407 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime 3408 func (c *DynamoDB) ExportTableToPointInTime(input *ExportTableToPointInTimeInput) (*ExportTableToPointInTimeOutput, error) { 3409 req, out := c.ExportTableToPointInTimeRequest(input) 3410 return out, req.Send() 3411 } 3412 3413 // ExportTableToPointInTimeWithContext is the same as ExportTableToPointInTime with the addition of 3414 // the ability to pass a context and additional request options. 3415 // 3416 // See ExportTableToPointInTime for details on how to use this API operation. 3417 // 3418 // The context must be non-nil and will be used for request cancellation. If 3419 // the context is nil a panic will occur. In the future the SDK may create 3420 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3421 // for more information on using Contexts. 3422 func (c *DynamoDB) ExportTableToPointInTimeWithContext(ctx aws.Context, input *ExportTableToPointInTimeInput, opts ...request.Option) (*ExportTableToPointInTimeOutput, error) { 3423 req, out := c.ExportTableToPointInTimeRequest(input) 3424 req.SetContext(ctx) 3425 req.ApplyOptions(opts...) 3426 return out, req.Send() 3427 } 3428 3429 const opGetItem = "GetItem" 3430 3431 // GetItemRequest generates a "aws/request.Request" representing the 3432 // client's request for the GetItem operation. The "output" return 3433 // value will be populated with the request's response once the request completes 3434 // successfully. 3435 // 3436 // Use "Send" method on the returned Request to send the API call to the service. 3437 // the "output" return value is not valid until after Send returns without error. 3438 // 3439 // See GetItem for more information on using the GetItem 3440 // API call, and error handling. 3441 // 3442 // This method is useful when you want to inject custom logic or configuration 3443 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3444 // 3445 // 3446 // // Example sending a request using the GetItemRequest method. 3447 // req, resp := client.GetItemRequest(params) 3448 // 3449 // err := req.Send() 3450 // if err == nil { // resp is now filled 3451 // fmt.Println(resp) 3452 // } 3453 // 3454 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem 3455 func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) { 3456 op := &request.Operation{ 3457 Name: opGetItem, 3458 HTTPMethod: "POST", 3459 HTTPPath: "/", 3460 } 3461 3462 if input == nil { 3463 input = &GetItemInput{} 3464 } 3465 3466 output = &GetItemOutput{} 3467 req = c.newRequest(op, input, output) 3468 // if custom endpoint for the request is set to a non empty string, 3469 // we skip the endpoint discovery workflow. 3470 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3471 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3472 de := discovererDescribeEndpoints{ 3473 Required: false, 3474 EndpointCache: c.endpointCache, 3475 Params: map[string]*string{ 3476 "op": aws.String(req.Operation.Name), 3477 }, 3478 Client: c, 3479 } 3480 3481 for k, v := range de.Params { 3482 if v == nil { 3483 delete(de.Params, k) 3484 } 3485 } 3486 3487 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3488 Name: "crr.endpointdiscovery", 3489 Fn: de.Handler, 3490 }) 3491 } 3492 } 3493 return 3494 } 3495 3496 // GetItem API operation for Amazon DynamoDB. 3497 // 3498 // The GetItem operation returns a set of attributes for the item with the given 3499 // primary key. If there is no matching item, GetItem does not return any data 3500 // and there will be no Item element in the response. 3501 // 3502 // GetItem provides an eventually consistent read by default. If your application 3503 // requires a strongly consistent read, set ConsistentRead to true. Although 3504 // a strongly consistent read might take more time than an eventually consistent 3505 // read, it always returns the last updated value. 3506 // 3507 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3508 // with awserr.Error's Code and Message methods to get detailed information about 3509 // the error. 3510 // 3511 // See the AWS API reference guide for Amazon DynamoDB's 3512 // API operation GetItem for usage and error information. 3513 // 3514 // Returned Error Types: 3515 // * ProvisionedThroughputExceededException 3516 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 3517 // requests that receive this exception. Your request is eventually successful, 3518 // unless your retry queue is too large to finish. Reduce the frequency of requests 3519 // and use exponential backoff. For more information, go to Error Retries and 3520 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 3521 // in the Amazon DynamoDB Developer Guide. 3522 // 3523 // * ResourceNotFoundException 3524 // The operation tried to access a nonexistent table or index. The resource 3525 // might not be specified correctly, or its status might not be ACTIVE. 3526 // 3527 // * RequestLimitExceeded 3528 // Throughput exceeds the current throughput quota for your account. Please 3529 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 3530 // a quota increase. 3531 // 3532 // * InternalServerError 3533 // An error occurred on the server side. 3534 // 3535 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem 3536 func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { 3537 req, out := c.GetItemRequest(input) 3538 return out, req.Send() 3539 } 3540 3541 // GetItemWithContext is the same as GetItem with the addition of 3542 // the ability to pass a context and additional request options. 3543 // 3544 // See GetItem for details on how to use this API operation. 3545 // 3546 // The context must be non-nil and will be used for request cancellation. If 3547 // the context is nil a panic will occur. In the future the SDK may create 3548 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3549 // for more information on using Contexts. 3550 func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) { 3551 req, out := c.GetItemRequest(input) 3552 req.SetContext(ctx) 3553 req.ApplyOptions(opts...) 3554 return out, req.Send() 3555 } 3556 3557 const opListBackups = "ListBackups" 3558 3559 // ListBackupsRequest generates a "aws/request.Request" representing the 3560 // client's request for the ListBackups operation. The "output" return 3561 // value will be populated with the request's response once the request completes 3562 // successfully. 3563 // 3564 // Use "Send" method on the returned Request to send the API call to the service. 3565 // the "output" return value is not valid until after Send returns without error. 3566 // 3567 // See ListBackups for more information on using the ListBackups 3568 // API call, and error handling. 3569 // 3570 // This method is useful when you want to inject custom logic or configuration 3571 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3572 // 3573 // 3574 // // Example sending a request using the ListBackupsRequest method. 3575 // req, resp := client.ListBackupsRequest(params) 3576 // 3577 // err := req.Send() 3578 // if err == nil { // resp is now filled 3579 // fmt.Println(resp) 3580 // } 3581 // 3582 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups 3583 func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) { 3584 op := &request.Operation{ 3585 Name: opListBackups, 3586 HTTPMethod: "POST", 3587 HTTPPath: "/", 3588 } 3589 3590 if input == nil { 3591 input = &ListBackupsInput{} 3592 } 3593 3594 output = &ListBackupsOutput{} 3595 req = c.newRequest(op, input, output) 3596 // if custom endpoint for the request is set to a non empty string, 3597 // we skip the endpoint discovery workflow. 3598 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3599 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3600 de := discovererDescribeEndpoints{ 3601 Required: false, 3602 EndpointCache: c.endpointCache, 3603 Params: map[string]*string{ 3604 "op": aws.String(req.Operation.Name), 3605 }, 3606 Client: c, 3607 } 3608 3609 for k, v := range de.Params { 3610 if v == nil { 3611 delete(de.Params, k) 3612 } 3613 } 3614 3615 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3616 Name: "crr.endpointdiscovery", 3617 Fn: de.Handler, 3618 }) 3619 } 3620 } 3621 return 3622 } 3623 3624 // ListBackups API operation for Amazon DynamoDB. 3625 // 3626 // List backups associated with an AWS account. To list backups for a given 3627 // table, specify TableName. ListBackups returns a paginated list of results 3628 // with at most 1 MB worth of items in a page. You can also specify a maximum 3629 // number of entries to be returned in a page. 3630 // 3631 // In the request, start time is inclusive, but end time is exclusive. Note 3632 // that these boundaries are for the time at which the original backup was requested. 3633 // 3634 // You can call ListBackups a maximum of five times per second. 3635 // 3636 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3637 // with awserr.Error's Code and Message methods to get detailed information about 3638 // the error. 3639 // 3640 // See the AWS API reference guide for Amazon DynamoDB's 3641 // API operation ListBackups for usage and error information. 3642 // 3643 // Returned Error Types: 3644 // * InternalServerError 3645 // An error occurred on the server side. 3646 // 3647 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups 3648 func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) { 3649 req, out := c.ListBackupsRequest(input) 3650 return out, req.Send() 3651 } 3652 3653 // ListBackupsWithContext is the same as ListBackups with the addition of 3654 // the ability to pass a context and additional request options. 3655 // 3656 // See ListBackups for details on how to use this API operation. 3657 // 3658 // The context must be non-nil and will be used for request cancellation. If 3659 // the context is nil a panic will occur. In the future the SDK may create 3660 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3661 // for more information on using Contexts. 3662 func (c *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) { 3663 req, out := c.ListBackupsRequest(input) 3664 req.SetContext(ctx) 3665 req.ApplyOptions(opts...) 3666 return out, req.Send() 3667 } 3668 3669 const opListContributorInsights = "ListContributorInsights" 3670 3671 // ListContributorInsightsRequest generates a "aws/request.Request" representing the 3672 // client's request for the ListContributorInsights operation. The "output" return 3673 // value will be populated with the request's response once the request completes 3674 // successfully. 3675 // 3676 // Use "Send" method on the returned Request to send the API call to the service. 3677 // the "output" return value is not valid until after Send returns without error. 3678 // 3679 // See ListContributorInsights for more information on using the ListContributorInsights 3680 // API call, and error handling. 3681 // 3682 // This method is useful when you want to inject custom logic or configuration 3683 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3684 // 3685 // 3686 // // Example sending a request using the ListContributorInsightsRequest method. 3687 // req, resp := client.ListContributorInsightsRequest(params) 3688 // 3689 // err := req.Send() 3690 // if err == nil { // resp is now filled 3691 // fmt.Println(resp) 3692 // } 3693 // 3694 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights 3695 func (c *DynamoDB) ListContributorInsightsRequest(input *ListContributorInsightsInput) (req *request.Request, output *ListContributorInsightsOutput) { 3696 op := &request.Operation{ 3697 Name: opListContributorInsights, 3698 HTTPMethod: "POST", 3699 HTTPPath: "/", 3700 Paginator: &request.Paginator{ 3701 InputTokens: []string{"NextToken"}, 3702 OutputTokens: []string{"NextToken"}, 3703 LimitToken: "MaxResults", 3704 TruncationToken: "", 3705 }, 3706 } 3707 3708 if input == nil { 3709 input = &ListContributorInsightsInput{} 3710 } 3711 3712 output = &ListContributorInsightsOutput{} 3713 req = c.newRequest(op, input, output) 3714 return 3715 } 3716 3717 // ListContributorInsights API operation for Amazon DynamoDB. 3718 // 3719 // Returns a list of ContributorInsightsSummary for a table and all its global 3720 // secondary indexes. 3721 // 3722 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3723 // with awserr.Error's Code and Message methods to get detailed information about 3724 // the error. 3725 // 3726 // See the AWS API reference guide for Amazon DynamoDB's 3727 // API operation ListContributorInsights for usage and error information. 3728 // 3729 // Returned Error Types: 3730 // * ResourceNotFoundException 3731 // The operation tried to access a nonexistent table or index. The resource 3732 // might not be specified correctly, or its status might not be ACTIVE. 3733 // 3734 // * InternalServerError 3735 // An error occurred on the server side. 3736 // 3737 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights 3738 func (c *DynamoDB) ListContributorInsights(input *ListContributorInsightsInput) (*ListContributorInsightsOutput, error) { 3739 req, out := c.ListContributorInsightsRequest(input) 3740 return out, req.Send() 3741 } 3742 3743 // ListContributorInsightsWithContext is the same as ListContributorInsights with the addition of 3744 // the ability to pass a context and additional request options. 3745 // 3746 // See ListContributorInsights for details on how to use this API operation. 3747 // 3748 // The context must be non-nil and will be used for request cancellation. If 3749 // the context is nil a panic will occur. In the future the SDK may create 3750 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3751 // for more information on using Contexts. 3752 func (c *DynamoDB) ListContributorInsightsWithContext(ctx aws.Context, input *ListContributorInsightsInput, opts ...request.Option) (*ListContributorInsightsOutput, error) { 3753 req, out := c.ListContributorInsightsRequest(input) 3754 req.SetContext(ctx) 3755 req.ApplyOptions(opts...) 3756 return out, req.Send() 3757 } 3758 3759 // ListContributorInsightsPages iterates over the pages of a ListContributorInsights operation, 3760 // calling the "fn" function with the response data for each page. To stop 3761 // iterating, return false from the fn function. 3762 // 3763 // See ListContributorInsights method for more information on how to use this operation. 3764 // 3765 // Note: This operation can generate multiple requests to a service. 3766 // 3767 // // Example iterating over at most 3 pages of a ListContributorInsights operation. 3768 // pageNum := 0 3769 // err := client.ListContributorInsightsPages(params, 3770 // func(page *dynamodb.ListContributorInsightsOutput, lastPage bool) bool { 3771 // pageNum++ 3772 // fmt.Println(page) 3773 // return pageNum <= 3 3774 // }) 3775 // 3776 func (c *DynamoDB) ListContributorInsightsPages(input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool) error { 3777 return c.ListContributorInsightsPagesWithContext(aws.BackgroundContext(), input, fn) 3778 } 3779 3780 // ListContributorInsightsPagesWithContext same as ListContributorInsightsPages except 3781 // it takes a Context and allows setting request options on the pages. 3782 // 3783 // The context must be non-nil and will be used for request cancellation. If 3784 // the context is nil a panic will occur. In the future the SDK may create 3785 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3786 // for more information on using Contexts. 3787 func (c *DynamoDB) ListContributorInsightsPagesWithContext(ctx aws.Context, input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool, opts ...request.Option) error { 3788 p := request.Pagination{ 3789 NewRequest: func() (*request.Request, error) { 3790 var inCpy *ListContributorInsightsInput 3791 if input != nil { 3792 tmp := *input 3793 inCpy = &tmp 3794 } 3795 req, _ := c.ListContributorInsightsRequest(inCpy) 3796 req.SetContext(ctx) 3797 req.ApplyOptions(opts...) 3798 return req, nil 3799 }, 3800 } 3801 3802 for p.Next() { 3803 if !fn(p.Page().(*ListContributorInsightsOutput), !p.HasNextPage()) { 3804 break 3805 } 3806 } 3807 3808 return p.Err() 3809 } 3810 3811 const opListExports = "ListExports" 3812 3813 // ListExportsRequest generates a "aws/request.Request" representing the 3814 // client's request for the ListExports operation. The "output" return 3815 // value will be populated with the request's response once the request completes 3816 // successfully. 3817 // 3818 // Use "Send" method on the returned Request to send the API call to the service. 3819 // the "output" return value is not valid until after Send returns without error. 3820 // 3821 // See ListExports for more information on using the ListExports 3822 // API call, and error handling. 3823 // 3824 // This method is useful when you want to inject custom logic or configuration 3825 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3826 // 3827 // 3828 // // Example sending a request using the ListExportsRequest method. 3829 // req, resp := client.ListExportsRequest(params) 3830 // 3831 // err := req.Send() 3832 // if err == nil { // resp is now filled 3833 // fmt.Println(resp) 3834 // } 3835 // 3836 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports 3837 func (c *DynamoDB) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) { 3838 op := &request.Operation{ 3839 Name: opListExports, 3840 HTTPMethod: "POST", 3841 HTTPPath: "/", 3842 Paginator: &request.Paginator{ 3843 InputTokens: []string{"NextToken"}, 3844 OutputTokens: []string{"NextToken"}, 3845 LimitToken: "MaxResults", 3846 TruncationToken: "", 3847 }, 3848 } 3849 3850 if input == nil { 3851 input = &ListExportsInput{} 3852 } 3853 3854 output = &ListExportsOutput{} 3855 req = c.newRequest(op, input, output) 3856 return 3857 } 3858 3859 // ListExports API operation for Amazon DynamoDB. 3860 // 3861 // Lists completed exports within the past 90 days. 3862 // 3863 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3864 // with awserr.Error's Code and Message methods to get detailed information about 3865 // the error. 3866 // 3867 // See the AWS API reference guide for Amazon DynamoDB's 3868 // API operation ListExports for usage and error information. 3869 // 3870 // Returned Error Types: 3871 // * LimitExceededException 3872 // There is no limit to the number of daily on-demand backups that can be taken. 3873 // 3874 // Up to 50 simultaneous table operations are allowed per account. These operations 3875 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 3876 // and RestoreTableToPointInTime. 3877 // 3878 // The only exception is when you are creating a table with one or more secondary 3879 // indexes. You can have up to 25 such requests running at a time; however, 3880 // if the table or index specifications are complex, DynamoDB might temporarily 3881 // reduce the number of concurrent operations. 3882 // 3883 // There is a soft account quota of 256 tables. 3884 // 3885 // * InternalServerError 3886 // An error occurred on the server side. 3887 // 3888 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports 3889 func (c *DynamoDB) ListExports(input *ListExportsInput) (*ListExportsOutput, error) { 3890 req, out := c.ListExportsRequest(input) 3891 return out, req.Send() 3892 } 3893 3894 // ListExportsWithContext is the same as ListExports with the addition of 3895 // the ability to pass a context and additional request options. 3896 // 3897 // See ListExports for details on how to use this API operation. 3898 // 3899 // The context must be non-nil and will be used for request cancellation. If 3900 // the context is nil a panic will occur. In the future the SDK may create 3901 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3902 // for more information on using Contexts. 3903 func (c *DynamoDB) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) { 3904 req, out := c.ListExportsRequest(input) 3905 req.SetContext(ctx) 3906 req.ApplyOptions(opts...) 3907 return out, req.Send() 3908 } 3909 3910 // ListExportsPages iterates over the pages of a ListExports operation, 3911 // calling the "fn" function with the response data for each page. To stop 3912 // iterating, return false from the fn function. 3913 // 3914 // See ListExports method for more information on how to use this operation. 3915 // 3916 // Note: This operation can generate multiple requests to a service. 3917 // 3918 // // Example iterating over at most 3 pages of a ListExports operation. 3919 // pageNum := 0 3920 // err := client.ListExportsPages(params, 3921 // func(page *dynamodb.ListExportsOutput, lastPage bool) bool { 3922 // pageNum++ 3923 // fmt.Println(page) 3924 // return pageNum <= 3 3925 // }) 3926 // 3927 func (c *DynamoDB) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error { 3928 return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn) 3929 } 3930 3931 // ListExportsPagesWithContext same as ListExportsPages except 3932 // it takes a Context and allows setting request options on the pages. 3933 // 3934 // The context must be non-nil and will be used for request cancellation. If 3935 // the context is nil a panic will occur. In the future the SDK may create 3936 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3937 // for more information on using Contexts. 3938 func (c *DynamoDB) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error { 3939 p := request.Pagination{ 3940 NewRequest: func() (*request.Request, error) { 3941 var inCpy *ListExportsInput 3942 if input != nil { 3943 tmp := *input 3944 inCpy = &tmp 3945 } 3946 req, _ := c.ListExportsRequest(inCpy) 3947 req.SetContext(ctx) 3948 req.ApplyOptions(opts...) 3949 return req, nil 3950 }, 3951 } 3952 3953 for p.Next() { 3954 if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) { 3955 break 3956 } 3957 } 3958 3959 return p.Err() 3960 } 3961 3962 const opListGlobalTables = "ListGlobalTables" 3963 3964 // ListGlobalTablesRequest generates a "aws/request.Request" representing the 3965 // client's request for the ListGlobalTables operation. The "output" return 3966 // value will be populated with the request's response once the request completes 3967 // successfully. 3968 // 3969 // Use "Send" method on the returned Request to send the API call to the service. 3970 // the "output" return value is not valid until after Send returns without error. 3971 // 3972 // See ListGlobalTables for more information on using the ListGlobalTables 3973 // API call, and error handling. 3974 // 3975 // This method is useful when you want to inject custom logic or configuration 3976 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3977 // 3978 // 3979 // // Example sending a request using the ListGlobalTablesRequest method. 3980 // req, resp := client.ListGlobalTablesRequest(params) 3981 // 3982 // err := req.Send() 3983 // if err == nil { // resp is now filled 3984 // fmt.Println(resp) 3985 // } 3986 // 3987 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables 3988 func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) { 3989 op := &request.Operation{ 3990 Name: opListGlobalTables, 3991 HTTPMethod: "POST", 3992 HTTPPath: "/", 3993 } 3994 3995 if input == nil { 3996 input = &ListGlobalTablesInput{} 3997 } 3998 3999 output = &ListGlobalTablesOutput{} 4000 req = c.newRequest(op, input, output) 4001 // if custom endpoint for the request is set to a non empty string, 4002 // we skip the endpoint discovery workflow. 4003 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4004 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4005 de := discovererDescribeEndpoints{ 4006 Required: false, 4007 EndpointCache: c.endpointCache, 4008 Params: map[string]*string{ 4009 "op": aws.String(req.Operation.Name), 4010 }, 4011 Client: c, 4012 } 4013 4014 for k, v := range de.Params { 4015 if v == nil { 4016 delete(de.Params, k) 4017 } 4018 } 4019 4020 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4021 Name: "crr.endpointdiscovery", 4022 Fn: de.Handler, 4023 }) 4024 } 4025 } 4026 return 4027 } 4028 4029 // ListGlobalTables API operation for Amazon DynamoDB. 4030 // 4031 // Lists all global tables that have a replica in the specified Region. 4032 // 4033 // This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 4034 // of global tables. 4035 // 4036 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4037 // with awserr.Error's Code and Message methods to get detailed information about 4038 // the error. 4039 // 4040 // See the AWS API reference guide for Amazon DynamoDB's 4041 // API operation ListGlobalTables for usage and error information. 4042 // 4043 // Returned Error Types: 4044 // * InternalServerError 4045 // An error occurred on the server side. 4046 // 4047 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables 4048 func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) { 4049 req, out := c.ListGlobalTablesRequest(input) 4050 return out, req.Send() 4051 } 4052 4053 // ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of 4054 // the ability to pass a context and additional request options. 4055 // 4056 // See ListGlobalTables for details on how to use this API operation. 4057 // 4058 // The context must be non-nil and will be used for request cancellation. If 4059 // the context is nil a panic will occur. In the future the SDK may create 4060 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4061 // for more information on using Contexts. 4062 func (c *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) { 4063 req, out := c.ListGlobalTablesRequest(input) 4064 req.SetContext(ctx) 4065 req.ApplyOptions(opts...) 4066 return out, req.Send() 4067 } 4068 4069 const opListTables = "ListTables" 4070 4071 // ListTablesRequest generates a "aws/request.Request" representing the 4072 // client's request for the ListTables operation. The "output" return 4073 // value will be populated with the request's response once the request completes 4074 // successfully. 4075 // 4076 // Use "Send" method on the returned Request to send the API call to the service. 4077 // the "output" return value is not valid until after Send returns without error. 4078 // 4079 // See ListTables for more information on using the ListTables 4080 // API call, and error handling. 4081 // 4082 // This method is useful when you want to inject custom logic or configuration 4083 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4084 // 4085 // 4086 // // Example sending a request using the ListTablesRequest method. 4087 // req, resp := client.ListTablesRequest(params) 4088 // 4089 // err := req.Send() 4090 // if err == nil { // resp is now filled 4091 // fmt.Println(resp) 4092 // } 4093 // 4094 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables 4095 func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { 4096 op := &request.Operation{ 4097 Name: opListTables, 4098 HTTPMethod: "POST", 4099 HTTPPath: "/", 4100 Paginator: &request.Paginator{ 4101 InputTokens: []string{"ExclusiveStartTableName"}, 4102 OutputTokens: []string{"LastEvaluatedTableName"}, 4103 LimitToken: "Limit", 4104 TruncationToken: "", 4105 }, 4106 } 4107 4108 if input == nil { 4109 input = &ListTablesInput{} 4110 } 4111 4112 output = &ListTablesOutput{} 4113 req = c.newRequest(op, input, output) 4114 // if custom endpoint for the request is set to a non empty string, 4115 // we skip the endpoint discovery workflow. 4116 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4117 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4118 de := discovererDescribeEndpoints{ 4119 Required: false, 4120 EndpointCache: c.endpointCache, 4121 Params: map[string]*string{ 4122 "op": aws.String(req.Operation.Name), 4123 }, 4124 Client: c, 4125 } 4126 4127 for k, v := range de.Params { 4128 if v == nil { 4129 delete(de.Params, k) 4130 } 4131 } 4132 4133 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4134 Name: "crr.endpointdiscovery", 4135 Fn: de.Handler, 4136 }) 4137 } 4138 } 4139 return 4140 } 4141 4142 // ListTables API operation for Amazon DynamoDB. 4143 // 4144 // Returns an array of table names associated with the current account and endpoint. 4145 // The output from ListTables is paginated, with each page returning a maximum 4146 // of 100 table names. 4147 // 4148 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4149 // with awserr.Error's Code and Message methods to get detailed information about 4150 // the error. 4151 // 4152 // See the AWS API reference guide for Amazon DynamoDB's 4153 // API operation ListTables for usage and error information. 4154 // 4155 // Returned Error Types: 4156 // * InternalServerError 4157 // An error occurred on the server side. 4158 // 4159 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables 4160 func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { 4161 req, out := c.ListTablesRequest(input) 4162 return out, req.Send() 4163 } 4164 4165 // ListTablesWithContext is the same as ListTables with the addition of 4166 // the ability to pass a context and additional request options. 4167 // 4168 // See ListTables for details on how to use this API operation. 4169 // 4170 // The context must be non-nil and will be used for request cancellation. If 4171 // the context is nil a panic will occur. In the future the SDK may create 4172 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4173 // for more information on using Contexts. 4174 func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) { 4175 req, out := c.ListTablesRequest(input) 4176 req.SetContext(ctx) 4177 req.ApplyOptions(opts...) 4178 return out, req.Send() 4179 } 4180 4181 // ListTablesPages iterates over the pages of a ListTables operation, 4182 // calling the "fn" function with the response data for each page. To stop 4183 // iterating, return false from the fn function. 4184 // 4185 // See ListTables method for more information on how to use this operation. 4186 // 4187 // Note: This operation can generate multiple requests to a service. 4188 // 4189 // // Example iterating over at most 3 pages of a ListTables operation. 4190 // pageNum := 0 4191 // err := client.ListTablesPages(params, 4192 // func(page *dynamodb.ListTablesOutput, lastPage bool) bool { 4193 // pageNum++ 4194 // fmt.Println(page) 4195 // return pageNum <= 3 4196 // }) 4197 // 4198 func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error { 4199 return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn) 4200 } 4201 4202 // ListTablesPagesWithContext same as ListTablesPages except 4203 // it takes a Context and allows setting request options on the pages. 4204 // 4205 // The context must be non-nil and will be used for request cancellation. If 4206 // the context is nil a panic will occur. In the future the SDK may create 4207 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4208 // for more information on using Contexts. 4209 func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error { 4210 p := request.Pagination{ 4211 NewRequest: func() (*request.Request, error) { 4212 var inCpy *ListTablesInput 4213 if input != nil { 4214 tmp := *input 4215 inCpy = &tmp 4216 } 4217 req, _ := c.ListTablesRequest(inCpy) 4218 req.SetContext(ctx) 4219 req.ApplyOptions(opts...) 4220 return req, nil 4221 }, 4222 } 4223 4224 for p.Next() { 4225 if !fn(p.Page().(*ListTablesOutput), !p.HasNextPage()) { 4226 break 4227 } 4228 } 4229 4230 return p.Err() 4231 } 4232 4233 const opListTagsOfResource = "ListTagsOfResource" 4234 4235 // ListTagsOfResourceRequest generates a "aws/request.Request" representing the 4236 // client's request for the ListTagsOfResource operation. The "output" return 4237 // value will be populated with the request's response once the request completes 4238 // successfully. 4239 // 4240 // Use "Send" method on the returned Request to send the API call to the service. 4241 // the "output" return value is not valid until after Send returns without error. 4242 // 4243 // See ListTagsOfResource for more information on using the ListTagsOfResource 4244 // API call, and error handling. 4245 // 4246 // This method is useful when you want to inject custom logic or configuration 4247 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4248 // 4249 // 4250 // // Example sending a request using the ListTagsOfResourceRequest method. 4251 // req, resp := client.ListTagsOfResourceRequest(params) 4252 // 4253 // err := req.Send() 4254 // if err == nil { // resp is now filled 4255 // fmt.Println(resp) 4256 // } 4257 // 4258 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource 4259 func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) { 4260 op := &request.Operation{ 4261 Name: opListTagsOfResource, 4262 HTTPMethod: "POST", 4263 HTTPPath: "/", 4264 } 4265 4266 if input == nil { 4267 input = &ListTagsOfResourceInput{} 4268 } 4269 4270 output = &ListTagsOfResourceOutput{} 4271 req = c.newRequest(op, input, output) 4272 // if custom endpoint for the request is set to a non empty string, 4273 // we skip the endpoint discovery workflow. 4274 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4275 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4276 de := discovererDescribeEndpoints{ 4277 Required: false, 4278 EndpointCache: c.endpointCache, 4279 Params: map[string]*string{ 4280 "op": aws.String(req.Operation.Name), 4281 }, 4282 Client: c, 4283 } 4284 4285 for k, v := range de.Params { 4286 if v == nil { 4287 delete(de.Params, k) 4288 } 4289 } 4290 4291 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4292 Name: "crr.endpointdiscovery", 4293 Fn: de.Handler, 4294 }) 4295 } 4296 } 4297 return 4298 } 4299 4300 // ListTagsOfResource API operation for Amazon DynamoDB. 4301 // 4302 // List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource 4303 // up to 10 times per second, per account. 4304 // 4305 // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 4306 // in the Amazon DynamoDB Developer Guide. 4307 // 4308 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4309 // with awserr.Error's Code and Message methods to get detailed information about 4310 // the error. 4311 // 4312 // See the AWS API reference guide for Amazon DynamoDB's 4313 // API operation ListTagsOfResource for usage and error information. 4314 // 4315 // Returned Error Types: 4316 // * ResourceNotFoundException 4317 // The operation tried to access a nonexistent table or index. The resource 4318 // might not be specified correctly, or its status might not be ACTIVE. 4319 // 4320 // * InternalServerError 4321 // An error occurred on the server side. 4322 // 4323 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource 4324 func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) { 4325 req, out := c.ListTagsOfResourceRequest(input) 4326 return out, req.Send() 4327 } 4328 4329 // ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of 4330 // the ability to pass a context and additional request options. 4331 // 4332 // See ListTagsOfResource for details on how to use this API operation. 4333 // 4334 // The context must be non-nil and will be used for request cancellation. If 4335 // the context is nil a panic will occur. In the future the SDK may create 4336 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4337 // for more information on using Contexts. 4338 func (c *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) { 4339 req, out := c.ListTagsOfResourceRequest(input) 4340 req.SetContext(ctx) 4341 req.ApplyOptions(opts...) 4342 return out, req.Send() 4343 } 4344 4345 const opPutItem = "PutItem" 4346 4347 // PutItemRequest generates a "aws/request.Request" representing the 4348 // client's request for the PutItem operation. The "output" return 4349 // value will be populated with the request's response once the request completes 4350 // successfully. 4351 // 4352 // Use "Send" method on the returned Request to send the API call to the service. 4353 // the "output" return value is not valid until after Send returns without error. 4354 // 4355 // See PutItem for more information on using the PutItem 4356 // API call, and error handling. 4357 // 4358 // This method is useful when you want to inject custom logic or configuration 4359 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4360 // 4361 // 4362 // // Example sending a request using the PutItemRequest method. 4363 // req, resp := client.PutItemRequest(params) 4364 // 4365 // err := req.Send() 4366 // if err == nil { // resp is now filled 4367 // fmt.Println(resp) 4368 // } 4369 // 4370 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem 4371 func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) { 4372 op := &request.Operation{ 4373 Name: opPutItem, 4374 HTTPMethod: "POST", 4375 HTTPPath: "/", 4376 } 4377 4378 if input == nil { 4379 input = &PutItemInput{} 4380 } 4381 4382 output = &PutItemOutput{} 4383 req = c.newRequest(op, input, output) 4384 // if custom endpoint for the request is set to a non empty string, 4385 // we skip the endpoint discovery workflow. 4386 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4387 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4388 de := discovererDescribeEndpoints{ 4389 Required: false, 4390 EndpointCache: c.endpointCache, 4391 Params: map[string]*string{ 4392 "op": aws.String(req.Operation.Name), 4393 }, 4394 Client: c, 4395 } 4396 4397 for k, v := range de.Params { 4398 if v == nil { 4399 delete(de.Params, k) 4400 } 4401 } 4402 4403 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4404 Name: "crr.endpointdiscovery", 4405 Fn: de.Handler, 4406 }) 4407 } 4408 } 4409 return 4410 } 4411 4412 // PutItem API operation for Amazon DynamoDB. 4413 // 4414 // Creates a new item, or replaces an old item with a new item. If an item that 4415 // has the same primary key as the new item already exists in the specified 4416 // table, the new item completely replaces the existing item. You can perform 4417 // a conditional put operation (add a new item if one with the specified primary 4418 // key doesn't exist), or replace an existing item if it has certain attribute 4419 // values. You can return the item's attribute values in the same operation, 4420 // using the ReturnValues parameter. 4421 // 4422 // This topic provides general information about the PutItem API. 4423 // 4424 // For information on how to call the PutItem API using the AWS SDK in specific 4425 // languages, see the following: 4426 // 4427 // * PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) 4428 // 4429 // * PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) 4430 // 4431 // * PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) 4432 // 4433 // * PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) 4434 // 4435 // * PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) 4436 // 4437 // * PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) 4438 // 4439 // * PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) 4440 // 4441 // * PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) 4442 // 4443 // * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) 4444 // 4445 // When you add an item, the primary key attributes are the only required attributes. 4446 // Attribute values cannot be null. 4447 // 4448 // Empty String and Binary attribute values are allowed. Attribute values of 4449 // type String and Binary must have a length greater than zero if the attribute 4450 // is used as a key attribute for a table or index. Set type attributes cannot 4451 // be empty. 4452 // 4453 // Invalid Requests with empty values will be rejected with a ValidationException 4454 // exception. 4455 // 4456 // To prevent a new item from replacing an existing item, use a conditional 4457 // expression that contains the attribute_not_exists function with the name 4458 // of the attribute being used as the partition key for the table. Since every 4459 // record must contain that attribute, the attribute_not_exists function will 4460 // only succeed if no matching item exists. 4461 // 4462 // For more information about PutItem, see Working with Items (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) 4463 // in the Amazon DynamoDB Developer Guide. 4464 // 4465 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4466 // with awserr.Error's Code and Message methods to get detailed information about 4467 // the error. 4468 // 4469 // See the AWS API reference guide for Amazon DynamoDB's 4470 // API operation PutItem for usage and error information. 4471 // 4472 // Returned Error Types: 4473 // * ConditionalCheckFailedException 4474 // A condition specified in the operation could not be evaluated. 4475 // 4476 // * ProvisionedThroughputExceededException 4477 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 4478 // requests that receive this exception. Your request is eventually successful, 4479 // unless your retry queue is too large to finish. Reduce the frequency of requests 4480 // and use exponential backoff. For more information, go to Error Retries and 4481 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 4482 // in the Amazon DynamoDB Developer Guide. 4483 // 4484 // * ResourceNotFoundException 4485 // The operation tried to access a nonexistent table or index. The resource 4486 // might not be specified correctly, or its status might not be ACTIVE. 4487 // 4488 // * ItemCollectionSizeLimitExceededException 4489 // An item collection is too large. This exception is only returned for tables 4490 // that have one or more local secondary indexes. 4491 // 4492 // * TransactionConflictException 4493 // Operation was rejected because there is an ongoing transaction for the item. 4494 // 4495 // * RequestLimitExceeded 4496 // Throughput exceeds the current throughput quota for your account. Please 4497 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 4498 // a quota increase. 4499 // 4500 // * InternalServerError 4501 // An error occurred on the server side. 4502 // 4503 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem 4504 func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { 4505 req, out := c.PutItemRequest(input) 4506 return out, req.Send() 4507 } 4508 4509 // PutItemWithContext is the same as PutItem with the addition of 4510 // the ability to pass a context and additional request options. 4511 // 4512 // See PutItem for details on how to use this API operation. 4513 // 4514 // The context must be non-nil and will be used for request cancellation. If 4515 // the context is nil a panic will occur. In the future the SDK may create 4516 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4517 // for more information on using Contexts. 4518 func (c *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { 4519 req, out := c.PutItemRequest(input) 4520 req.SetContext(ctx) 4521 req.ApplyOptions(opts...) 4522 return out, req.Send() 4523 } 4524 4525 const opQuery = "Query" 4526 4527 // QueryRequest generates a "aws/request.Request" representing the 4528 // client's request for the Query operation. The "output" return 4529 // value will be populated with the request's response once the request completes 4530 // successfully. 4531 // 4532 // Use "Send" method on the returned Request to send the API call to the service. 4533 // the "output" return value is not valid until after Send returns without error. 4534 // 4535 // See Query for more information on using the Query 4536 // API call, and error handling. 4537 // 4538 // This method is useful when you want to inject custom logic or configuration 4539 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4540 // 4541 // 4542 // // Example sending a request using the QueryRequest method. 4543 // req, resp := client.QueryRequest(params) 4544 // 4545 // err := req.Send() 4546 // if err == nil { // resp is now filled 4547 // fmt.Println(resp) 4548 // } 4549 // 4550 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query 4551 func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) { 4552 op := &request.Operation{ 4553 Name: opQuery, 4554 HTTPMethod: "POST", 4555 HTTPPath: "/", 4556 Paginator: &request.Paginator{ 4557 InputTokens: []string{"ExclusiveStartKey"}, 4558 OutputTokens: []string{"LastEvaluatedKey"}, 4559 LimitToken: "Limit", 4560 TruncationToken: "", 4561 }, 4562 } 4563 4564 if input == nil { 4565 input = &QueryInput{} 4566 } 4567 4568 output = &QueryOutput{} 4569 req = c.newRequest(op, input, output) 4570 // if custom endpoint for the request is set to a non empty string, 4571 // we skip the endpoint discovery workflow. 4572 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4573 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4574 de := discovererDescribeEndpoints{ 4575 Required: false, 4576 EndpointCache: c.endpointCache, 4577 Params: map[string]*string{ 4578 "op": aws.String(req.Operation.Name), 4579 }, 4580 Client: c, 4581 } 4582 4583 for k, v := range de.Params { 4584 if v == nil { 4585 delete(de.Params, k) 4586 } 4587 } 4588 4589 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4590 Name: "crr.endpointdiscovery", 4591 Fn: de.Handler, 4592 }) 4593 } 4594 } 4595 return 4596 } 4597 4598 // Query API operation for Amazon DynamoDB. 4599 // 4600 // The Query operation finds items based on primary key values. You can query 4601 // any table or secondary index that has a composite primary key (a partition 4602 // key and a sort key). 4603 // 4604 // Use the KeyConditionExpression parameter to provide a specific value for 4605 // the partition key. The Query operation will return all of the items from 4606 // the table or index with that partition key value. You can optionally narrow 4607 // the scope of the Query operation by specifying a sort key value and a comparison 4608 // operator in KeyConditionExpression. To further refine the Query results, 4609 // you can optionally provide a FilterExpression. A FilterExpression determines 4610 // which items within the results should be returned to you. All of the other 4611 // results are discarded. 4612 // 4613 // A Query operation always returns a result set. If no matching items are found, 4614 // the result set will be empty. Queries that do not return results consume 4615 // the minimum number of read capacity units for that type of read operation. 4616 // 4617 // DynamoDB calculates the number of read capacity units consumed based on item 4618 // size, not on the amount of data that is returned to an application. The number 4619 // of capacity units consumed will be the same whether you request all of the 4620 // attributes (the default behavior) or just some of them (using a projection 4621 // expression). The number will also be the same whether or not you use a FilterExpression. 4622 // 4623 // Query results are always sorted by the sort key value. If the data type of 4624 // the sort key is Number, the results are returned in numeric order; otherwise, 4625 // the results are returned in order of UTF-8 bytes. By default, the sort order 4626 // is ascending. To reverse the order, set the ScanIndexForward parameter to 4627 // false. 4628 // 4629 // A single Query operation will read up to the maximum number of items set 4630 // (if using the Limit parameter) or a maximum of 1 MB of data and then apply 4631 // any filtering to the results using FilterExpression. If LastEvaluatedKey 4632 // is present in the response, you will need to paginate the result set. For 4633 // more information, see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) 4634 // in the Amazon DynamoDB Developer Guide. 4635 // 4636 // FilterExpression is applied after a Query finishes, but before the results 4637 // are returned. A FilterExpression cannot contain partition key or sort key 4638 // attributes. You need to specify those attributes in the KeyConditionExpression. 4639 // 4640 // A Query operation can return an empty result set and a LastEvaluatedKey if 4641 // all the items read for the page of results are filtered out. 4642 // 4643 // You can query a table, a local secondary index, or a global secondary index. 4644 // For a query on a table or on a local secondary index, you can set the ConsistentRead 4645 // parameter to true and obtain a strongly consistent result. Global secondary 4646 // indexes support eventually consistent reads only, so do not specify ConsistentRead 4647 // when querying a global secondary index. 4648 // 4649 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4650 // with awserr.Error's Code and Message methods to get detailed information about 4651 // the error. 4652 // 4653 // See the AWS API reference guide for Amazon DynamoDB's 4654 // API operation Query for usage and error information. 4655 // 4656 // Returned Error Types: 4657 // * ProvisionedThroughputExceededException 4658 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 4659 // requests that receive this exception. Your request is eventually successful, 4660 // unless your retry queue is too large to finish. Reduce the frequency of requests 4661 // and use exponential backoff. For more information, go to Error Retries and 4662 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 4663 // in the Amazon DynamoDB Developer Guide. 4664 // 4665 // * ResourceNotFoundException 4666 // The operation tried to access a nonexistent table or index. The resource 4667 // might not be specified correctly, or its status might not be ACTIVE. 4668 // 4669 // * RequestLimitExceeded 4670 // Throughput exceeds the current throughput quota for your account. Please 4671 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 4672 // a quota increase. 4673 // 4674 // * InternalServerError 4675 // An error occurred on the server side. 4676 // 4677 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query 4678 func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) { 4679 req, out := c.QueryRequest(input) 4680 return out, req.Send() 4681 } 4682 4683 // QueryWithContext is the same as Query with the addition of 4684 // the ability to pass a context and additional request options. 4685 // 4686 // See Query for details on how to use this API operation. 4687 // 4688 // The context must be non-nil and will be used for request cancellation. If 4689 // the context is nil a panic will occur. In the future the SDK may create 4690 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4691 // for more information on using Contexts. 4692 func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) { 4693 req, out := c.QueryRequest(input) 4694 req.SetContext(ctx) 4695 req.ApplyOptions(opts...) 4696 return out, req.Send() 4697 } 4698 4699 // QueryPages iterates over the pages of a Query operation, 4700 // calling the "fn" function with the response data for each page. To stop 4701 // iterating, return false from the fn function. 4702 // 4703 // See Query method for more information on how to use this operation. 4704 // 4705 // Note: This operation can generate multiple requests to a service. 4706 // 4707 // // Example iterating over at most 3 pages of a Query operation. 4708 // pageNum := 0 4709 // err := client.QueryPages(params, 4710 // func(page *dynamodb.QueryOutput, lastPage bool) bool { 4711 // pageNum++ 4712 // fmt.Println(page) 4713 // return pageNum <= 3 4714 // }) 4715 // 4716 func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error { 4717 return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn) 4718 } 4719 4720 // QueryPagesWithContext same as QueryPages except 4721 // it takes a Context and allows setting request options on the pages. 4722 // 4723 // The context must be non-nil and will be used for request cancellation. If 4724 // the context is nil a panic will occur. In the future the SDK may create 4725 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4726 // for more information on using Contexts. 4727 func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error { 4728 p := request.Pagination{ 4729 NewRequest: func() (*request.Request, error) { 4730 var inCpy *QueryInput 4731 if input != nil { 4732 tmp := *input 4733 inCpy = &tmp 4734 } 4735 req, _ := c.QueryRequest(inCpy) 4736 req.SetContext(ctx) 4737 req.ApplyOptions(opts...) 4738 return req, nil 4739 }, 4740 } 4741 4742 for p.Next() { 4743 if !fn(p.Page().(*QueryOutput), !p.HasNextPage()) { 4744 break 4745 } 4746 } 4747 4748 return p.Err() 4749 } 4750 4751 const opRestoreTableFromBackup = "RestoreTableFromBackup" 4752 4753 // RestoreTableFromBackupRequest generates a "aws/request.Request" representing the 4754 // client's request for the RestoreTableFromBackup operation. The "output" return 4755 // value will be populated with the request's response once the request completes 4756 // successfully. 4757 // 4758 // Use "Send" method on the returned Request to send the API call to the service. 4759 // the "output" return value is not valid until after Send returns without error. 4760 // 4761 // See RestoreTableFromBackup for more information on using the RestoreTableFromBackup 4762 // API call, and error handling. 4763 // 4764 // This method is useful when you want to inject custom logic or configuration 4765 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4766 // 4767 // 4768 // // Example sending a request using the RestoreTableFromBackupRequest method. 4769 // req, resp := client.RestoreTableFromBackupRequest(params) 4770 // 4771 // err := req.Send() 4772 // if err == nil { // resp is now filled 4773 // fmt.Println(resp) 4774 // } 4775 // 4776 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup 4777 func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) { 4778 op := &request.Operation{ 4779 Name: opRestoreTableFromBackup, 4780 HTTPMethod: "POST", 4781 HTTPPath: "/", 4782 } 4783 4784 if input == nil { 4785 input = &RestoreTableFromBackupInput{} 4786 } 4787 4788 output = &RestoreTableFromBackupOutput{} 4789 req = c.newRequest(op, input, output) 4790 // if custom endpoint for the request is set to a non empty string, 4791 // we skip the endpoint discovery workflow. 4792 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4793 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4794 de := discovererDescribeEndpoints{ 4795 Required: false, 4796 EndpointCache: c.endpointCache, 4797 Params: map[string]*string{ 4798 "op": aws.String(req.Operation.Name), 4799 }, 4800 Client: c, 4801 } 4802 4803 for k, v := range de.Params { 4804 if v == nil { 4805 delete(de.Params, k) 4806 } 4807 } 4808 4809 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4810 Name: "crr.endpointdiscovery", 4811 Fn: de.Handler, 4812 }) 4813 } 4814 } 4815 return 4816 } 4817 4818 // RestoreTableFromBackup API operation for Amazon DynamoDB. 4819 // 4820 // Creates a new table from an existing backup. Any number of users can execute 4821 // up to 4 concurrent restores (any type of restore) in a given account. 4822 // 4823 // You can call RestoreTableFromBackup at a maximum rate of 10 times per second. 4824 // 4825 // You must manually set up the following on the restored table: 4826 // 4827 // * Auto scaling policies 4828 // 4829 // * IAM policies 4830 // 4831 // * Amazon CloudWatch metrics and alarms 4832 // 4833 // * Tags 4834 // 4835 // * Stream settings 4836 // 4837 // * Time to Live (TTL) settings 4838 // 4839 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4840 // with awserr.Error's Code and Message methods to get detailed information about 4841 // the error. 4842 // 4843 // See the AWS API reference guide for Amazon DynamoDB's 4844 // API operation RestoreTableFromBackup for usage and error information. 4845 // 4846 // Returned Error Types: 4847 // * TableAlreadyExistsException 4848 // A target table with the specified name already exists. 4849 // 4850 // * TableInUseException 4851 // A target table with the specified name is either being created or deleted. 4852 // 4853 // * BackupNotFoundException 4854 // Backup not found for the given BackupARN. 4855 // 4856 // * BackupInUseException 4857 // There is another ongoing conflicting backup control plane operation on the 4858 // table. The backup is either being created, deleted or restored to a table. 4859 // 4860 // * LimitExceededException 4861 // There is no limit to the number of daily on-demand backups that can be taken. 4862 // 4863 // Up to 50 simultaneous table operations are allowed per account. These operations 4864 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 4865 // and RestoreTableToPointInTime. 4866 // 4867 // The only exception is when you are creating a table with one or more secondary 4868 // indexes. You can have up to 25 such requests running at a time; however, 4869 // if the table or index specifications are complex, DynamoDB might temporarily 4870 // reduce the number of concurrent operations. 4871 // 4872 // There is a soft account quota of 256 tables. 4873 // 4874 // * InternalServerError 4875 // An error occurred on the server side. 4876 // 4877 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup 4878 func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) { 4879 req, out := c.RestoreTableFromBackupRequest(input) 4880 return out, req.Send() 4881 } 4882 4883 // RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup with the addition of 4884 // the ability to pass a context and additional request options. 4885 // 4886 // See RestoreTableFromBackup for details on how to use this API operation. 4887 // 4888 // The context must be non-nil and will be used for request cancellation. If 4889 // the context is nil a panic will occur. In the future the SDK may create 4890 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4891 // for more information on using Contexts. 4892 func (c *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) { 4893 req, out := c.RestoreTableFromBackupRequest(input) 4894 req.SetContext(ctx) 4895 req.ApplyOptions(opts...) 4896 return out, req.Send() 4897 } 4898 4899 const opRestoreTableToPointInTime = "RestoreTableToPointInTime" 4900 4901 // RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the 4902 // client's request for the RestoreTableToPointInTime operation. The "output" return 4903 // value will be populated with the request's response once the request completes 4904 // successfully. 4905 // 4906 // Use "Send" method on the returned Request to send the API call to the service. 4907 // the "output" return value is not valid until after Send returns without error. 4908 // 4909 // See RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime 4910 // API call, and error handling. 4911 // 4912 // This method is useful when you want to inject custom logic or configuration 4913 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4914 // 4915 // 4916 // // Example sending a request using the RestoreTableToPointInTimeRequest method. 4917 // req, resp := client.RestoreTableToPointInTimeRequest(params) 4918 // 4919 // err := req.Send() 4920 // if err == nil { // resp is now filled 4921 // fmt.Println(resp) 4922 // } 4923 // 4924 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime 4925 func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) { 4926 op := &request.Operation{ 4927 Name: opRestoreTableToPointInTime, 4928 HTTPMethod: "POST", 4929 HTTPPath: "/", 4930 } 4931 4932 if input == nil { 4933 input = &RestoreTableToPointInTimeInput{} 4934 } 4935 4936 output = &RestoreTableToPointInTimeOutput{} 4937 req = c.newRequest(op, input, output) 4938 // if custom endpoint for the request is set to a non empty string, 4939 // we skip the endpoint discovery workflow. 4940 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4941 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4942 de := discovererDescribeEndpoints{ 4943 Required: false, 4944 EndpointCache: c.endpointCache, 4945 Params: map[string]*string{ 4946 "op": aws.String(req.Operation.Name), 4947 }, 4948 Client: c, 4949 } 4950 4951 for k, v := range de.Params { 4952 if v == nil { 4953 delete(de.Params, k) 4954 } 4955 } 4956 4957 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4958 Name: "crr.endpointdiscovery", 4959 Fn: de.Handler, 4960 }) 4961 } 4962 } 4963 return 4964 } 4965 4966 // RestoreTableToPointInTime API operation for Amazon DynamoDB. 4967 // 4968 // Restores the specified table to the specified point in time within EarliestRestorableDateTime 4969 // and LatestRestorableDateTime. You can restore your table to any point in 4970 // time during the last 35 days. Any number of users can execute up to 4 concurrent 4971 // restores (any type of restore) in a given account. 4972 // 4973 // When you restore using point in time recovery, DynamoDB restores your table 4974 // data to the state based on the selected date and time (day:hour:minute:second) 4975 // to a new table. 4976 // 4977 // Along with data, the following are also included on the new restored table 4978 // using point in time recovery: 4979 // 4980 // * Global secondary indexes (GSIs) 4981 // 4982 // * Local secondary indexes (LSIs) 4983 // 4984 // * Provisioned read and write capacity 4985 // 4986 // * Encryption settings All these settings come from the current settings 4987 // of the source table at the time of restore. 4988 // 4989 // You must manually set up the following on the restored table: 4990 // 4991 // * Auto scaling policies 4992 // 4993 // * IAM policies 4994 // 4995 // * Amazon CloudWatch metrics and alarms 4996 // 4997 // * Tags 4998 // 4999 // * Stream settings 5000 // 5001 // * Time to Live (TTL) settings 5002 // 5003 // * Point in time recovery settings 5004 // 5005 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5006 // with awserr.Error's Code and Message methods to get detailed information about 5007 // the error. 5008 // 5009 // See the AWS API reference guide for Amazon DynamoDB's 5010 // API operation RestoreTableToPointInTime for usage and error information. 5011 // 5012 // Returned Error Types: 5013 // * TableAlreadyExistsException 5014 // A target table with the specified name already exists. 5015 // 5016 // * TableNotFoundException 5017 // A source table with the name TableName does not currently exist within the 5018 // subscriber's account. 5019 // 5020 // * TableInUseException 5021 // A target table with the specified name is either being created or deleted. 5022 // 5023 // * LimitExceededException 5024 // There is no limit to the number of daily on-demand backups that can be taken. 5025 // 5026 // Up to 50 simultaneous table operations are allowed per account. These operations 5027 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5028 // and RestoreTableToPointInTime. 5029 // 5030 // The only exception is when you are creating a table with one or more secondary 5031 // indexes. You can have up to 25 such requests running at a time; however, 5032 // if the table or index specifications are complex, DynamoDB might temporarily 5033 // reduce the number of concurrent operations. 5034 // 5035 // There is a soft account quota of 256 tables. 5036 // 5037 // * InvalidRestoreTimeException 5038 // An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime 5039 // and LatestRestorableDateTime. 5040 // 5041 // * PointInTimeRecoveryUnavailableException 5042 // Point in time recovery has not yet been enabled for this source table. 5043 // 5044 // * InternalServerError 5045 // An error occurred on the server side. 5046 // 5047 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime 5048 func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) { 5049 req, out := c.RestoreTableToPointInTimeRequest(input) 5050 return out, req.Send() 5051 } 5052 5053 // RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of 5054 // the ability to pass a context and additional request options. 5055 // 5056 // See RestoreTableToPointInTime for details on how to use this API operation. 5057 // 5058 // The context must be non-nil and will be used for request cancellation. If 5059 // the context is nil a panic will occur. In the future the SDK may create 5060 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5061 // for more information on using Contexts. 5062 func (c *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) { 5063 req, out := c.RestoreTableToPointInTimeRequest(input) 5064 req.SetContext(ctx) 5065 req.ApplyOptions(opts...) 5066 return out, req.Send() 5067 } 5068 5069 const opScan = "Scan" 5070 5071 // ScanRequest generates a "aws/request.Request" representing the 5072 // client's request for the Scan operation. The "output" return 5073 // value will be populated with the request's response once the request completes 5074 // successfully. 5075 // 5076 // Use "Send" method on the returned Request to send the API call to the service. 5077 // the "output" return value is not valid until after Send returns without error. 5078 // 5079 // See Scan for more information on using the Scan 5080 // API call, and error handling. 5081 // 5082 // This method is useful when you want to inject custom logic or configuration 5083 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5084 // 5085 // 5086 // // Example sending a request using the ScanRequest method. 5087 // req, resp := client.ScanRequest(params) 5088 // 5089 // err := req.Send() 5090 // if err == nil { // resp is now filled 5091 // fmt.Println(resp) 5092 // } 5093 // 5094 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan 5095 func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) { 5096 op := &request.Operation{ 5097 Name: opScan, 5098 HTTPMethod: "POST", 5099 HTTPPath: "/", 5100 Paginator: &request.Paginator{ 5101 InputTokens: []string{"ExclusiveStartKey"}, 5102 OutputTokens: []string{"LastEvaluatedKey"}, 5103 LimitToken: "Limit", 5104 TruncationToken: "", 5105 }, 5106 } 5107 5108 if input == nil { 5109 input = &ScanInput{} 5110 } 5111 5112 output = &ScanOutput{} 5113 req = c.newRequest(op, input, output) 5114 // if custom endpoint for the request is set to a non empty string, 5115 // we skip the endpoint discovery workflow. 5116 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5117 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5118 de := discovererDescribeEndpoints{ 5119 Required: false, 5120 EndpointCache: c.endpointCache, 5121 Params: map[string]*string{ 5122 "op": aws.String(req.Operation.Name), 5123 }, 5124 Client: c, 5125 } 5126 5127 for k, v := range de.Params { 5128 if v == nil { 5129 delete(de.Params, k) 5130 } 5131 } 5132 5133 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5134 Name: "crr.endpointdiscovery", 5135 Fn: de.Handler, 5136 }) 5137 } 5138 } 5139 return 5140 } 5141 5142 // Scan API operation for Amazon DynamoDB. 5143 // 5144 // The Scan operation returns one or more items and item attributes by accessing 5145 // every item in a table or a secondary index. To have DynamoDB return fewer 5146 // items, you can provide a FilterExpression operation. 5147 // 5148 // If the total number of scanned items exceeds the maximum dataset size limit 5149 // of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey 5150 // value to continue the scan in a subsequent operation. The results also include 5151 // the number of items exceeding the limit. A scan can result in no table data 5152 // meeting the filter criteria. 5153 // 5154 // A single Scan operation reads up to the maximum number of items set (if using 5155 // the Limit parameter) or a maximum of 1 MB of data and then apply any filtering 5156 // to the results using FilterExpression. If LastEvaluatedKey is present in 5157 // the response, you need to paginate the result set. For more information, 5158 // see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) 5159 // in the Amazon DynamoDB Developer Guide. 5160 // 5161 // Scan operations proceed sequentially; however, for faster performance on 5162 // a large table or secondary index, applications can request a parallel Scan 5163 // operation by providing the Segment and TotalSegments parameters. For more 5164 // information, see Parallel Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) 5165 // in the Amazon DynamoDB Developer Guide. 5166 // 5167 // Scan uses eventually consistent reads when accessing the data in a table; 5168 // therefore, the result set might not include the changes to data in the table 5169 // immediately before the operation began. If you need a consistent copy of 5170 // the data, as of the time that the Scan begins, you can set the ConsistentRead 5171 // parameter to true. 5172 // 5173 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5174 // with awserr.Error's Code and Message methods to get detailed information about 5175 // the error. 5176 // 5177 // See the AWS API reference guide for Amazon DynamoDB's 5178 // API operation Scan for usage and error information. 5179 // 5180 // Returned Error Types: 5181 // * ProvisionedThroughputExceededException 5182 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 5183 // requests that receive this exception. Your request is eventually successful, 5184 // unless your retry queue is too large to finish. Reduce the frequency of requests 5185 // and use exponential backoff. For more information, go to Error Retries and 5186 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 5187 // in the Amazon DynamoDB Developer Guide. 5188 // 5189 // * ResourceNotFoundException 5190 // The operation tried to access a nonexistent table or index. The resource 5191 // might not be specified correctly, or its status might not be ACTIVE. 5192 // 5193 // * RequestLimitExceeded 5194 // Throughput exceeds the current throughput quota for your account. Please 5195 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 5196 // a quota increase. 5197 // 5198 // * InternalServerError 5199 // An error occurred on the server side. 5200 // 5201 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan 5202 func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) { 5203 req, out := c.ScanRequest(input) 5204 return out, req.Send() 5205 } 5206 5207 // ScanWithContext is the same as Scan with the addition of 5208 // the ability to pass a context and additional request options. 5209 // 5210 // See Scan for details on how to use this API operation. 5211 // 5212 // The context must be non-nil and will be used for request cancellation. If 5213 // the context is nil a panic will occur. In the future the SDK may create 5214 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5215 // for more information on using Contexts. 5216 func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) { 5217 req, out := c.ScanRequest(input) 5218 req.SetContext(ctx) 5219 req.ApplyOptions(opts...) 5220 return out, req.Send() 5221 } 5222 5223 // ScanPages iterates over the pages of a Scan operation, 5224 // calling the "fn" function with the response data for each page. To stop 5225 // iterating, return false from the fn function. 5226 // 5227 // See Scan method for more information on how to use this operation. 5228 // 5229 // Note: This operation can generate multiple requests to a service. 5230 // 5231 // // Example iterating over at most 3 pages of a Scan operation. 5232 // pageNum := 0 5233 // err := client.ScanPages(params, 5234 // func(page *dynamodb.ScanOutput, lastPage bool) bool { 5235 // pageNum++ 5236 // fmt.Println(page) 5237 // return pageNum <= 3 5238 // }) 5239 // 5240 func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error { 5241 return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn) 5242 } 5243 5244 // ScanPagesWithContext same as ScanPages except 5245 // it takes a Context and allows setting request options on the pages. 5246 // 5247 // The context must be non-nil and will be used for request cancellation. If 5248 // the context is nil a panic will occur. In the future the SDK may create 5249 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5250 // for more information on using Contexts. 5251 func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error { 5252 p := request.Pagination{ 5253 NewRequest: func() (*request.Request, error) { 5254 var inCpy *ScanInput 5255 if input != nil { 5256 tmp := *input 5257 inCpy = &tmp 5258 } 5259 req, _ := c.ScanRequest(inCpy) 5260 req.SetContext(ctx) 5261 req.ApplyOptions(opts...) 5262 return req, nil 5263 }, 5264 } 5265 5266 for p.Next() { 5267 if !fn(p.Page().(*ScanOutput), !p.HasNextPage()) { 5268 break 5269 } 5270 } 5271 5272 return p.Err() 5273 } 5274 5275 const opTagResource = "TagResource" 5276 5277 // TagResourceRequest generates a "aws/request.Request" representing the 5278 // client's request for the TagResource operation. The "output" return 5279 // value will be populated with the request's response once the request completes 5280 // successfully. 5281 // 5282 // Use "Send" method on the returned Request to send the API call to the service. 5283 // the "output" return value is not valid until after Send returns without error. 5284 // 5285 // See TagResource for more information on using the TagResource 5286 // API call, and error handling. 5287 // 5288 // This method is useful when you want to inject custom logic or configuration 5289 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5290 // 5291 // 5292 // // Example sending a request using the TagResourceRequest method. 5293 // req, resp := client.TagResourceRequest(params) 5294 // 5295 // err := req.Send() 5296 // if err == nil { // resp is now filled 5297 // fmt.Println(resp) 5298 // } 5299 // 5300 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource 5301 func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 5302 op := &request.Operation{ 5303 Name: opTagResource, 5304 HTTPMethod: "POST", 5305 HTTPPath: "/", 5306 } 5307 5308 if input == nil { 5309 input = &TagResourceInput{} 5310 } 5311 5312 output = &TagResourceOutput{} 5313 req = c.newRequest(op, input, output) 5314 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5315 // if custom endpoint for the request is set to a non empty string, 5316 // we skip the endpoint discovery workflow. 5317 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5318 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5319 de := discovererDescribeEndpoints{ 5320 Required: false, 5321 EndpointCache: c.endpointCache, 5322 Params: map[string]*string{ 5323 "op": aws.String(req.Operation.Name), 5324 }, 5325 Client: c, 5326 } 5327 5328 for k, v := range de.Params { 5329 if v == nil { 5330 delete(de.Params, k) 5331 } 5332 } 5333 5334 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5335 Name: "crr.endpointdiscovery", 5336 Fn: de.Handler, 5337 }) 5338 } 5339 } 5340 return 5341 } 5342 5343 // TagResource API operation for Amazon DynamoDB. 5344 // 5345 // Associate a set of tags with an Amazon DynamoDB resource. You can then activate 5346 // these user-defined tags so that they appear on the Billing and Cost Management 5347 // console for cost allocation tracking. You can call TagResource up to five 5348 // times per second, per account. 5349 // 5350 // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 5351 // in the Amazon DynamoDB Developer Guide. 5352 // 5353 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5354 // with awserr.Error's Code and Message methods to get detailed information about 5355 // the error. 5356 // 5357 // See the AWS API reference guide for Amazon DynamoDB's 5358 // API operation TagResource for usage and error information. 5359 // 5360 // Returned Error Types: 5361 // * LimitExceededException 5362 // There is no limit to the number of daily on-demand backups that can be taken. 5363 // 5364 // Up to 50 simultaneous table operations are allowed per account. These operations 5365 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5366 // and RestoreTableToPointInTime. 5367 // 5368 // The only exception is when you are creating a table with one or more secondary 5369 // indexes. You can have up to 25 such requests running at a time; however, 5370 // if the table or index specifications are complex, DynamoDB might temporarily 5371 // reduce the number of concurrent operations. 5372 // 5373 // There is a soft account quota of 256 tables. 5374 // 5375 // * ResourceNotFoundException 5376 // The operation tried to access a nonexistent table or index. The resource 5377 // might not be specified correctly, or its status might not be ACTIVE. 5378 // 5379 // * InternalServerError 5380 // An error occurred on the server side. 5381 // 5382 // * ResourceInUseException 5383 // The operation conflicts with the resource's availability. For example, you 5384 // attempted to recreate an existing table, or tried to delete a table currently 5385 // in the CREATING state. 5386 // 5387 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource 5388 func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 5389 req, out := c.TagResourceRequest(input) 5390 return out, req.Send() 5391 } 5392 5393 // TagResourceWithContext is the same as TagResource with the addition of 5394 // the ability to pass a context and additional request options. 5395 // 5396 // See TagResource for details on how to use this API operation. 5397 // 5398 // The context must be non-nil and will be used for request cancellation. If 5399 // the context is nil a panic will occur. In the future the SDK may create 5400 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5401 // for more information on using Contexts. 5402 func (c *DynamoDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 5403 req, out := c.TagResourceRequest(input) 5404 req.SetContext(ctx) 5405 req.ApplyOptions(opts...) 5406 return out, req.Send() 5407 } 5408 5409 const opTransactGetItems = "TransactGetItems" 5410 5411 // TransactGetItemsRequest generates a "aws/request.Request" representing the 5412 // client's request for the TransactGetItems operation. The "output" return 5413 // value will be populated with the request's response once the request completes 5414 // successfully. 5415 // 5416 // Use "Send" method on the returned Request to send the API call to the service. 5417 // the "output" return value is not valid until after Send returns without error. 5418 // 5419 // See TransactGetItems for more information on using the TransactGetItems 5420 // API call, and error handling. 5421 // 5422 // This method is useful when you want to inject custom logic or configuration 5423 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5424 // 5425 // 5426 // // Example sending a request using the TransactGetItemsRequest method. 5427 // req, resp := client.TransactGetItemsRequest(params) 5428 // 5429 // err := req.Send() 5430 // if err == nil { // resp is now filled 5431 // fmt.Println(resp) 5432 // } 5433 // 5434 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems 5435 func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) { 5436 op := &request.Operation{ 5437 Name: opTransactGetItems, 5438 HTTPMethod: "POST", 5439 HTTPPath: "/", 5440 } 5441 5442 if input == nil { 5443 input = &TransactGetItemsInput{} 5444 } 5445 5446 output = &TransactGetItemsOutput{} 5447 req = c.newRequest(op, input, output) 5448 // if custom endpoint for the request is set to a non empty string, 5449 // we skip the endpoint discovery workflow. 5450 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5451 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5452 de := discovererDescribeEndpoints{ 5453 Required: false, 5454 EndpointCache: c.endpointCache, 5455 Params: map[string]*string{ 5456 "op": aws.String(req.Operation.Name), 5457 }, 5458 Client: c, 5459 } 5460 5461 for k, v := range de.Params { 5462 if v == nil { 5463 delete(de.Params, k) 5464 } 5465 } 5466 5467 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5468 Name: "crr.endpointdiscovery", 5469 Fn: de.Handler, 5470 }) 5471 } 5472 } 5473 return 5474 } 5475 5476 // TransactGetItems API operation for Amazon DynamoDB. 5477 // 5478 // TransactGetItems is a synchronous operation that atomically retrieves multiple 5479 // items from one or more tables (but not from indexes) in a single account 5480 // and Region. A TransactGetItems call can contain up to 25 TransactGetItem 5481 // objects, each of which contains a Get structure that specifies an item to 5482 // retrieve from a table in the account and Region. A call to TransactGetItems 5483 // cannot retrieve items from tables in more than one AWS account or Region. 5484 // The aggregate size of the items in the transaction cannot exceed 4 MB. 5485 // 5486 // DynamoDB rejects the entire TransactGetItems request if any of the following 5487 // is true: 5488 // 5489 // * A conflicting operation is in the process of updating an item to be 5490 // read. 5491 // 5492 // * There is insufficient provisioned capacity for the transaction to be 5493 // completed. 5494 // 5495 // * There is a user error, such as an invalid data format. 5496 // 5497 // * The aggregate size of the items in the transaction cannot exceed 4 MB. 5498 // 5499 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5500 // with awserr.Error's Code and Message methods to get detailed information about 5501 // the error. 5502 // 5503 // See the AWS API reference guide for Amazon DynamoDB's 5504 // API operation TransactGetItems for usage and error information. 5505 // 5506 // Returned Error Types: 5507 // * ResourceNotFoundException 5508 // The operation tried to access a nonexistent table or index. The resource 5509 // might not be specified correctly, or its status might not be ACTIVE. 5510 // 5511 // * TransactionCanceledException 5512 // The entire transaction request was canceled. 5513 // 5514 // DynamoDB cancels a TransactWriteItems request under the following circumstances: 5515 // 5516 // * A condition in one of the condition expressions is not met. 5517 // 5518 // * A table in the TransactWriteItems request is in a different account 5519 // or region. 5520 // 5521 // * More than one action in the TransactWriteItems operation targets the 5522 // same item. 5523 // 5524 // * There is insufficient provisioned capacity for the transaction to be 5525 // completed. 5526 // 5527 // * An item size becomes too large (larger than 400 KB), or a local secondary 5528 // index (LSI) becomes too large, or a similar validation error occurs because 5529 // of changes made by the transaction. 5530 // 5531 // * There is a user error, such as an invalid data format. 5532 // 5533 // DynamoDB cancels a TransactGetItems request under the following circumstances: 5534 // 5535 // * There is an ongoing TransactGetItems operation that conflicts with a 5536 // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 5537 // In this case the TransactGetItems operation fails with a TransactionCanceledException. 5538 // 5539 // * A table in the TransactGetItems request is in a different account or 5540 // region. 5541 // 5542 // * There is insufficient provisioned capacity for the transaction to be 5543 // completed. 5544 // 5545 // * There is a user error, such as an invalid data format. 5546 // 5547 // If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 5548 // property. This property is not set for other languages. Transaction cancellation 5549 // reasons are ordered in the order of requested items, if an item has no error 5550 // it will have NONE code and Null message. 5551 // 5552 // Cancellation reason codes and possible error messages: 5553 // 5554 // * No Errors: Code: NONE Message: null 5555 // 5556 // * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 5557 // conditional request failed. 5558 // 5559 // * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 5560 // Message: Collection size exceeded. 5561 // 5562 // * Transaction Conflict: Code: TransactionConflict Message: Transaction 5563 // is ongoing for the item. 5564 // 5565 // * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 5566 // Messages: The level of configured provisioned throughput for the table 5567 // was exceeded. Consider increasing your provisioning level with the UpdateTable 5568 // API. This Message is received when provisioned throughput is exceeded 5569 // is on a provisioned DynamoDB table. The level of configured provisioned 5570 // throughput for one or more global secondary indexes of the table was exceeded. 5571 // Consider increasing your provisioning level for the under-provisioned 5572 // global secondary indexes with the UpdateTable API. This message is returned 5573 // when provisioned throughput is exceeded is on a provisioned GSI. 5574 // 5575 // * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 5576 // the current capacity of your table or index. DynamoDB is automatically 5577 // scaling your table or index so please try again shortly. If exceptions 5578 // persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 5579 // This message is returned when writes get throttled on an On-Demand table 5580 // as DynamoDB is automatically scaling the table. Throughput exceeds the 5581 // current capacity for one or more global secondary indexes. DynamoDB is 5582 // automatically scaling your index so please try again shortly. This message 5583 // is returned when when writes get throttled on an On-Demand GSI as DynamoDB 5584 // is automatically scaling the GSI. 5585 // 5586 // * Validation Error: Code: ValidationError Messages: One or more parameter 5587 // values were invalid. The update expression attempted to update the secondary 5588 // index key beyond allowed size limits. The update expression attempted 5589 // to update the secondary index key to unsupported type. An operand in the 5590 // update expression has an incorrect data type. Item size to update has 5591 // exceeded the maximum allowed size. Number overflow. Attempting to store 5592 // a number with magnitude larger than supported range. Type mismatch for 5593 // attribute to update. Nesting Levels have exceeded supported limits. The 5594 // document path provided in the update expression is invalid for update. 5595 // The provided expression refers to an attribute that does not exist in 5596 // the item. 5597 // 5598 // * ProvisionedThroughputExceededException 5599 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 5600 // requests that receive this exception. Your request is eventually successful, 5601 // unless your retry queue is too large to finish. Reduce the frequency of requests 5602 // and use exponential backoff. For more information, go to Error Retries and 5603 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 5604 // in the Amazon DynamoDB Developer Guide. 5605 // 5606 // * RequestLimitExceeded 5607 // Throughput exceeds the current throughput quota for your account. Please 5608 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 5609 // a quota increase. 5610 // 5611 // * InternalServerError 5612 // An error occurred on the server side. 5613 // 5614 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems 5615 func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) { 5616 req, out := c.TransactGetItemsRequest(input) 5617 return out, req.Send() 5618 } 5619 5620 // TransactGetItemsWithContext is the same as TransactGetItems with the addition of 5621 // the ability to pass a context and additional request options. 5622 // 5623 // See TransactGetItems for details on how to use this API operation. 5624 // 5625 // The context must be non-nil and will be used for request cancellation. If 5626 // the context is nil a panic will occur. In the future the SDK may create 5627 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5628 // for more information on using Contexts. 5629 func (c *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) { 5630 req, out := c.TransactGetItemsRequest(input) 5631 req.SetContext(ctx) 5632 req.ApplyOptions(opts...) 5633 return out, req.Send() 5634 } 5635 5636 const opTransactWriteItems = "TransactWriteItems" 5637 5638 // TransactWriteItemsRequest generates a "aws/request.Request" representing the 5639 // client's request for the TransactWriteItems operation. The "output" return 5640 // value will be populated with the request's response once the request completes 5641 // successfully. 5642 // 5643 // Use "Send" method on the returned Request to send the API call to the service. 5644 // the "output" return value is not valid until after Send returns without error. 5645 // 5646 // See TransactWriteItems for more information on using the TransactWriteItems 5647 // API call, and error handling. 5648 // 5649 // This method is useful when you want to inject custom logic or configuration 5650 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5651 // 5652 // 5653 // // Example sending a request using the TransactWriteItemsRequest method. 5654 // req, resp := client.TransactWriteItemsRequest(params) 5655 // 5656 // err := req.Send() 5657 // if err == nil { // resp is now filled 5658 // fmt.Println(resp) 5659 // } 5660 // 5661 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems 5662 func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) { 5663 op := &request.Operation{ 5664 Name: opTransactWriteItems, 5665 HTTPMethod: "POST", 5666 HTTPPath: "/", 5667 } 5668 5669 if input == nil { 5670 input = &TransactWriteItemsInput{} 5671 } 5672 5673 output = &TransactWriteItemsOutput{} 5674 req = c.newRequest(op, input, output) 5675 // if custom endpoint for the request is set to a non empty string, 5676 // we skip the endpoint discovery workflow. 5677 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5678 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5679 de := discovererDescribeEndpoints{ 5680 Required: false, 5681 EndpointCache: c.endpointCache, 5682 Params: map[string]*string{ 5683 "op": aws.String(req.Operation.Name), 5684 }, 5685 Client: c, 5686 } 5687 5688 for k, v := range de.Params { 5689 if v == nil { 5690 delete(de.Params, k) 5691 } 5692 } 5693 5694 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5695 Name: "crr.endpointdiscovery", 5696 Fn: de.Handler, 5697 }) 5698 } 5699 } 5700 return 5701 } 5702 5703 // TransactWriteItems API operation for Amazon DynamoDB. 5704 // 5705 // TransactWriteItems is a synchronous write operation that groups up to 25 5706 // action requests. These actions can target items in different tables, but 5707 // not in different AWS accounts or Regions, and no two actions can target the 5708 // same item. For example, you cannot both ConditionCheck and Update the same 5709 // item. The aggregate size of the items in the transaction cannot exceed 4 5710 // MB. 5711 // 5712 // The actions are completed atomically so that either all of them succeed, 5713 // or all of them fail. They are defined by the following objects: 5714 // 5715 // * Put — Initiates a PutItem operation to write a new item. This structure 5716 // specifies the primary key of the item to be written, the name of the table 5717 // to write it in, an optional condition expression that must be satisfied 5718 // for the write to succeed, a list of the item's attributes, and a field 5719 // indicating whether to retrieve the item's attributes if the condition 5720 // is not met. 5721 // 5722 // * Update — Initiates an UpdateItem operation to update an existing item. 5723 // This structure specifies the primary key of the item to be updated, the 5724 // name of the table where it resides, an optional condition expression that 5725 // must be satisfied for the update to succeed, an expression that defines 5726 // one or more attributes to be updated, and a field indicating whether to 5727 // retrieve the item's attributes if the condition is not met. 5728 // 5729 // * Delete — Initiates a DeleteItem operation to delete an existing item. 5730 // This structure specifies the primary key of the item to be deleted, the 5731 // name of the table where it resides, an optional condition expression that 5732 // must be satisfied for the deletion to succeed, and a field indicating 5733 // whether to retrieve the item's attributes if the condition is not met. 5734 // 5735 // * ConditionCheck — Applies a condition to an item that is not being 5736 // modified by the transaction. This structure specifies the primary key 5737 // of the item to be checked, the name of the table where it resides, a condition 5738 // expression that must be satisfied for the transaction to succeed, and 5739 // a field indicating whether to retrieve the item's attributes if the condition 5740 // is not met. 5741 // 5742 // DynamoDB rejects the entire TransactWriteItems request if any of the following 5743 // is true: 5744 // 5745 // * A condition in one of the condition expressions is not met. 5746 // 5747 // * An ongoing operation is in the process of updating the same item. 5748 // 5749 // * There is insufficient provisioned capacity for the transaction to be 5750 // completed. 5751 // 5752 // * An item size becomes too large (bigger than 400 KB), a local secondary 5753 // index (LSI) becomes too large, or a similar validation error occurs because 5754 // of changes made by the transaction. 5755 // 5756 // * The aggregate size of the items in the transaction exceeds 4 MB. 5757 // 5758 // * There is a user error, such as an invalid data format. 5759 // 5760 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5761 // with awserr.Error's Code and Message methods to get detailed information about 5762 // the error. 5763 // 5764 // See the AWS API reference guide for Amazon DynamoDB's 5765 // API operation TransactWriteItems for usage and error information. 5766 // 5767 // Returned Error Types: 5768 // * ResourceNotFoundException 5769 // The operation tried to access a nonexistent table or index. The resource 5770 // might not be specified correctly, or its status might not be ACTIVE. 5771 // 5772 // * TransactionCanceledException 5773 // The entire transaction request was canceled. 5774 // 5775 // DynamoDB cancels a TransactWriteItems request under the following circumstances: 5776 // 5777 // * A condition in one of the condition expressions is not met. 5778 // 5779 // * A table in the TransactWriteItems request is in a different account 5780 // or region. 5781 // 5782 // * More than one action in the TransactWriteItems operation targets the 5783 // same item. 5784 // 5785 // * There is insufficient provisioned capacity for the transaction to be 5786 // completed. 5787 // 5788 // * An item size becomes too large (larger than 400 KB), or a local secondary 5789 // index (LSI) becomes too large, or a similar validation error occurs because 5790 // of changes made by the transaction. 5791 // 5792 // * There is a user error, such as an invalid data format. 5793 // 5794 // DynamoDB cancels a TransactGetItems request under the following circumstances: 5795 // 5796 // * There is an ongoing TransactGetItems operation that conflicts with a 5797 // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 5798 // In this case the TransactGetItems operation fails with a TransactionCanceledException. 5799 // 5800 // * A table in the TransactGetItems request is in a different account or 5801 // region. 5802 // 5803 // * There is insufficient provisioned capacity for the transaction to be 5804 // completed. 5805 // 5806 // * There is a user error, such as an invalid data format. 5807 // 5808 // If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 5809 // property. This property is not set for other languages. Transaction cancellation 5810 // reasons are ordered in the order of requested items, if an item has no error 5811 // it will have NONE code and Null message. 5812 // 5813 // Cancellation reason codes and possible error messages: 5814 // 5815 // * No Errors: Code: NONE Message: null 5816 // 5817 // * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 5818 // conditional request failed. 5819 // 5820 // * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 5821 // Message: Collection size exceeded. 5822 // 5823 // * Transaction Conflict: Code: TransactionConflict Message: Transaction 5824 // is ongoing for the item. 5825 // 5826 // * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 5827 // Messages: The level of configured provisioned throughput for the table 5828 // was exceeded. Consider increasing your provisioning level with the UpdateTable 5829 // API. This Message is received when provisioned throughput is exceeded 5830 // is on a provisioned DynamoDB table. The level of configured provisioned 5831 // throughput for one or more global secondary indexes of the table was exceeded. 5832 // Consider increasing your provisioning level for the under-provisioned 5833 // global secondary indexes with the UpdateTable API. This message is returned 5834 // when provisioned throughput is exceeded is on a provisioned GSI. 5835 // 5836 // * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 5837 // the current capacity of your table or index. DynamoDB is automatically 5838 // scaling your table or index so please try again shortly. If exceptions 5839 // persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 5840 // This message is returned when writes get throttled on an On-Demand table 5841 // as DynamoDB is automatically scaling the table. Throughput exceeds the 5842 // current capacity for one or more global secondary indexes. DynamoDB is 5843 // automatically scaling your index so please try again shortly. This message 5844 // is returned when when writes get throttled on an On-Demand GSI as DynamoDB 5845 // is automatically scaling the GSI. 5846 // 5847 // * Validation Error: Code: ValidationError Messages: One or more parameter 5848 // values were invalid. The update expression attempted to update the secondary 5849 // index key beyond allowed size limits. The update expression attempted 5850 // to update the secondary index key to unsupported type. An operand in the 5851 // update expression has an incorrect data type. Item size to update has 5852 // exceeded the maximum allowed size. Number overflow. Attempting to store 5853 // a number with magnitude larger than supported range. Type mismatch for 5854 // attribute to update. Nesting Levels have exceeded supported limits. The 5855 // document path provided in the update expression is invalid for update. 5856 // The provided expression refers to an attribute that does not exist in 5857 // the item. 5858 // 5859 // * TransactionInProgressException 5860 // The transaction with the given request token is already in progress. 5861 // 5862 // * IdempotentParameterMismatchException 5863 // DynamoDB rejected the request because you retried a request with a different 5864 // payload but with an idempotent token that was already used. 5865 // 5866 // * ProvisionedThroughputExceededException 5867 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 5868 // requests that receive this exception. Your request is eventually successful, 5869 // unless your retry queue is too large to finish. Reduce the frequency of requests 5870 // and use exponential backoff. For more information, go to Error Retries and 5871 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 5872 // in the Amazon DynamoDB Developer Guide. 5873 // 5874 // * RequestLimitExceeded 5875 // Throughput exceeds the current throughput quota for your account. Please 5876 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 5877 // a quota increase. 5878 // 5879 // * InternalServerError 5880 // An error occurred on the server side. 5881 // 5882 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems 5883 func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) { 5884 req, out := c.TransactWriteItemsRequest(input) 5885 return out, req.Send() 5886 } 5887 5888 // TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of 5889 // the ability to pass a context and additional request options. 5890 // 5891 // See TransactWriteItems for details on how to use this API operation. 5892 // 5893 // The context must be non-nil and will be used for request cancellation. If 5894 // the context is nil a panic will occur. In the future the SDK may create 5895 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5896 // for more information on using Contexts. 5897 func (c *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) { 5898 req, out := c.TransactWriteItemsRequest(input) 5899 req.SetContext(ctx) 5900 req.ApplyOptions(opts...) 5901 return out, req.Send() 5902 } 5903 5904 const opUntagResource = "UntagResource" 5905 5906 // UntagResourceRequest generates a "aws/request.Request" representing the 5907 // client's request for the UntagResource operation. The "output" return 5908 // value will be populated with the request's response once the request completes 5909 // successfully. 5910 // 5911 // Use "Send" method on the returned Request to send the API call to the service. 5912 // the "output" return value is not valid until after Send returns without error. 5913 // 5914 // See UntagResource for more information on using the UntagResource 5915 // API call, and error handling. 5916 // 5917 // This method is useful when you want to inject custom logic or configuration 5918 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5919 // 5920 // 5921 // // Example sending a request using the UntagResourceRequest method. 5922 // req, resp := client.UntagResourceRequest(params) 5923 // 5924 // err := req.Send() 5925 // if err == nil { // resp is now filled 5926 // fmt.Println(resp) 5927 // } 5928 // 5929 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource 5930 func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 5931 op := &request.Operation{ 5932 Name: opUntagResource, 5933 HTTPMethod: "POST", 5934 HTTPPath: "/", 5935 } 5936 5937 if input == nil { 5938 input = &UntagResourceInput{} 5939 } 5940 5941 output = &UntagResourceOutput{} 5942 req = c.newRequest(op, input, output) 5943 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5944 // if custom endpoint for the request is set to a non empty string, 5945 // we skip the endpoint discovery workflow. 5946 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5947 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5948 de := discovererDescribeEndpoints{ 5949 Required: false, 5950 EndpointCache: c.endpointCache, 5951 Params: map[string]*string{ 5952 "op": aws.String(req.Operation.Name), 5953 }, 5954 Client: c, 5955 } 5956 5957 for k, v := range de.Params { 5958 if v == nil { 5959 delete(de.Params, k) 5960 } 5961 } 5962 5963 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5964 Name: "crr.endpointdiscovery", 5965 Fn: de.Handler, 5966 }) 5967 } 5968 } 5969 return 5970 } 5971 5972 // UntagResource API operation for Amazon DynamoDB. 5973 // 5974 // Removes the association of tags from an Amazon DynamoDB resource. You can 5975 // call UntagResource up to five times per second, per account. 5976 // 5977 // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 5978 // in the Amazon DynamoDB Developer Guide. 5979 // 5980 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5981 // with awserr.Error's Code and Message methods to get detailed information about 5982 // the error. 5983 // 5984 // See the AWS API reference guide for Amazon DynamoDB's 5985 // API operation UntagResource for usage and error information. 5986 // 5987 // Returned Error Types: 5988 // * LimitExceededException 5989 // There is no limit to the number of daily on-demand backups that can be taken. 5990 // 5991 // Up to 50 simultaneous table operations are allowed per account. These operations 5992 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5993 // and RestoreTableToPointInTime. 5994 // 5995 // The only exception is when you are creating a table with one or more secondary 5996 // indexes. You can have up to 25 such requests running at a time; however, 5997 // if the table or index specifications are complex, DynamoDB might temporarily 5998 // reduce the number of concurrent operations. 5999 // 6000 // There is a soft account quota of 256 tables. 6001 // 6002 // * ResourceNotFoundException 6003 // The operation tried to access a nonexistent table or index. The resource 6004 // might not be specified correctly, or its status might not be ACTIVE. 6005 // 6006 // * InternalServerError 6007 // An error occurred on the server side. 6008 // 6009 // * ResourceInUseException 6010 // The operation conflicts with the resource's availability. For example, you 6011 // attempted to recreate an existing table, or tried to delete a table currently 6012 // in the CREATING state. 6013 // 6014 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource 6015 func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 6016 req, out := c.UntagResourceRequest(input) 6017 return out, req.Send() 6018 } 6019 6020 // UntagResourceWithContext is the same as UntagResource with the addition of 6021 // the ability to pass a context and additional request options. 6022 // 6023 // See UntagResource for details on how to use this API operation. 6024 // 6025 // The context must be non-nil and will be used for request cancellation. If 6026 // the context is nil a panic will occur. In the future the SDK may create 6027 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6028 // for more information on using Contexts. 6029 func (c *DynamoDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 6030 req, out := c.UntagResourceRequest(input) 6031 req.SetContext(ctx) 6032 req.ApplyOptions(opts...) 6033 return out, req.Send() 6034 } 6035 6036 const opUpdateContinuousBackups = "UpdateContinuousBackups" 6037 6038 // UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the 6039 // client's request for the UpdateContinuousBackups operation. The "output" return 6040 // value will be populated with the request's response once the request completes 6041 // successfully. 6042 // 6043 // Use "Send" method on the returned Request to send the API call to the service. 6044 // the "output" return value is not valid until after Send returns without error. 6045 // 6046 // See UpdateContinuousBackups for more information on using the UpdateContinuousBackups 6047 // API call, and error handling. 6048 // 6049 // This method is useful when you want to inject custom logic or configuration 6050 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6051 // 6052 // 6053 // // Example sending a request using the UpdateContinuousBackupsRequest method. 6054 // req, resp := client.UpdateContinuousBackupsRequest(params) 6055 // 6056 // err := req.Send() 6057 // if err == nil { // resp is now filled 6058 // fmt.Println(resp) 6059 // } 6060 // 6061 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups 6062 func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) { 6063 op := &request.Operation{ 6064 Name: opUpdateContinuousBackups, 6065 HTTPMethod: "POST", 6066 HTTPPath: "/", 6067 } 6068 6069 if input == nil { 6070 input = &UpdateContinuousBackupsInput{} 6071 } 6072 6073 output = &UpdateContinuousBackupsOutput{} 6074 req = c.newRequest(op, input, output) 6075 // if custom endpoint for the request is set to a non empty string, 6076 // we skip the endpoint discovery workflow. 6077 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6078 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6079 de := discovererDescribeEndpoints{ 6080 Required: false, 6081 EndpointCache: c.endpointCache, 6082 Params: map[string]*string{ 6083 "op": aws.String(req.Operation.Name), 6084 }, 6085 Client: c, 6086 } 6087 6088 for k, v := range de.Params { 6089 if v == nil { 6090 delete(de.Params, k) 6091 } 6092 } 6093 6094 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6095 Name: "crr.endpointdiscovery", 6096 Fn: de.Handler, 6097 }) 6098 } 6099 } 6100 return 6101 } 6102 6103 // UpdateContinuousBackups API operation for Amazon DynamoDB. 6104 // 6105 // UpdateContinuousBackups enables or disables point in time recovery for the 6106 // specified table. A successful UpdateContinuousBackups call returns the current 6107 // ContinuousBackupsDescription. Continuous backups are ENABLED on all tables 6108 // at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus 6109 // will be set to ENABLED. 6110 // 6111 // Once continuous backups and point in time recovery are enabled, you can restore 6112 // to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. 6113 // 6114 // LatestRestorableDateTime is typically 5 minutes before the current time. 6115 // You can restore your table to any point in time during the last 35 days. 6116 // 6117 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6118 // with awserr.Error's Code and Message methods to get detailed information about 6119 // the error. 6120 // 6121 // See the AWS API reference guide for Amazon DynamoDB's 6122 // API operation UpdateContinuousBackups for usage and error information. 6123 // 6124 // Returned Error Types: 6125 // * TableNotFoundException 6126 // A source table with the name TableName does not currently exist within the 6127 // subscriber's account. 6128 // 6129 // * ContinuousBackupsUnavailableException 6130 // Backups have not yet been enabled for this table. 6131 // 6132 // * InternalServerError 6133 // An error occurred on the server side. 6134 // 6135 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups 6136 func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) { 6137 req, out := c.UpdateContinuousBackupsRequest(input) 6138 return out, req.Send() 6139 } 6140 6141 // UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of 6142 // the ability to pass a context and additional request options. 6143 // 6144 // See UpdateContinuousBackups for details on how to use this API operation. 6145 // 6146 // The context must be non-nil and will be used for request cancellation. If 6147 // the context is nil a panic will occur. In the future the SDK may create 6148 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6149 // for more information on using Contexts. 6150 func (c *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) { 6151 req, out := c.UpdateContinuousBackupsRequest(input) 6152 req.SetContext(ctx) 6153 req.ApplyOptions(opts...) 6154 return out, req.Send() 6155 } 6156 6157 const opUpdateContributorInsights = "UpdateContributorInsights" 6158 6159 // UpdateContributorInsightsRequest generates a "aws/request.Request" representing the 6160 // client's request for the UpdateContributorInsights operation. The "output" return 6161 // value will be populated with the request's response once the request completes 6162 // successfully. 6163 // 6164 // Use "Send" method on the returned Request to send the API call to the service. 6165 // the "output" return value is not valid until after Send returns without error. 6166 // 6167 // See UpdateContributorInsights for more information on using the UpdateContributorInsights 6168 // API call, and error handling. 6169 // 6170 // This method is useful when you want to inject custom logic or configuration 6171 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6172 // 6173 // 6174 // // Example sending a request using the UpdateContributorInsightsRequest method. 6175 // req, resp := client.UpdateContributorInsightsRequest(params) 6176 // 6177 // err := req.Send() 6178 // if err == nil { // resp is now filled 6179 // fmt.Println(resp) 6180 // } 6181 // 6182 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights 6183 func (c *DynamoDB) UpdateContributorInsightsRequest(input *UpdateContributorInsightsInput) (req *request.Request, output *UpdateContributorInsightsOutput) { 6184 op := &request.Operation{ 6185 Name: opUpdateContributorInsights, 6186 HTTPMethod: "POST", 6187 HTTPPath: "/", 6188 } 6189 6190 if input == nil { 6191 input = &UpdateContributorInsightsInput{} 6192 } 6193 6194 output = &UpdateContributorInsightsOutput{} 6195 req = c.newRequest(op, input, output) 6196 return 6197 } 6198 6199 // UpdateContributorInsights API operation for Amazon DynamoDB. 6200 // 6201 // Updates the status for contributor insights for a specific table or index. 6202 // 6203 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6204 // with awserr.Error's Code and Message methods to get detailed information about 6205 // the error. 6206 // 6207 // See the AWS API reference guide for Amazon DynamoDB's 6208 // API operation UpdateContributorInsights for usage and error information. 6209 // 6210 // Returned Error Types: 6211 // * ResourceNotFoundException 6212 // The operation tried to access a nonexistent table or index. The resource 6213 // might not be specified correctly, or its status might not be ACTIVE. 6214 // 6215 // * InternalServerError 6216 // An error occurred on the server side. 6217 // 6218 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights 6219 func (c *DynamoDB) UpdateContributorInsights(input *UpdateContributorInsightsInput) (*UpdateContributorInsightsOutput, error) { 6220 req, out := c.UpdateContributorInsightsRequest(input) 6221 return out, req.Send() 6222 } 6223 6224 // UpdateContributorInsightsWithContext is the same as UpdateContributorInsights with the addition of 6225 // the ability to pass a context and additional request options. 6226 // 6227 // See UpdateContributorInsights for details on how to use this API operation. 6228 // 6229 // The context must be non-nil and will be used for request cancellation. If 6230 // the context is nil a panic will occur. In the future the SDK may create 6231 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6232 // for more information on using Contexts. 6233 func (c *DynamoDB) UpdateContributorInsightsWithContext(ctx aws.Context, input *UpdateContributorInsightsInput, opts ...request.Option) (*UpdateContributorInsightsOutput, error) { 6234 req, out := c.UpdateContributorInsightsRequest(input) 6235 req.SetContext(ctx) 6236 req.ApplyOptions(opts...) 6237 return out, req.Send() 6238 } 6239 6240 const opUpdateGlobalTable = "UpdateGlobalTable" 6241 6242 // UpdateGlobalTableRequest generates a "aws/request.Request" representing the 6243 // client's request for the UpdateGlobalTable operation. The "output" return 6244 // value will be populated with the request's response once the request completes 6245 // successfully. 6246 // 6247 // Use "Send" method on the returned Request to send the API call to the service. 6248 // the "output" return value is not valid until after Send returns without error. 6249 // 6250 // See UpdateGlobalTable for more information on using the UpdateGlobalTable 6251 // API call, and error handling. 6252 // 6253 // This method is useful when you want to inject custom logic or configuration 6254 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6255 // 6256 // 6257 // // Example sending a request using the UpdateGlobalTableRequest method. 6258 // req, resp := client.UpdateGlobalTableRequest(params) 6259 // 6260 // err := req.Send() 6261 // if err == nil { // resp is now filled 6262 // fmt.Println(resp) 6263 // } 6264 // 6265 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable 6266 func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) { 6267 op := &request.Operation{ 6268 Name: opUpdateGlobalTable, 6269 HTTPMethod: "POST", 6270 HTTPPath: "/", 6271 } 6272 6273 if input == nil { 6274 input = &UpdateGlobalTableInput{} 6275 } 6276 6277 output = &UpdateGlobalTableOutput{} 6278 req = c.newRequest(op, input, output) 6279 // if custom endpoint for the request is set to a non empty string, 6280 // we skip the endpoint discovery workflow. 6281 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6282 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6283 de := discovererDescribeEndpoints{ 6284 Required: false, 6285 EndpointCache: c.endpointCache, 6286 Params: map[string]*string{ 6287 "op": aws.String(req.Operation.Name), 6288 }, 6289 Client: c, 6290 } 6291 6292 for k, v := range de.Params { 6293 if v == nil { 6294 delete(de.Params, k) 6295 } 6296 } 6297 6298 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6299 Name: "crr.endpointdiscovery", 6300 Fn: de.Handler, 6301 }) 6302 } 6303 } 6304 return 6305 } 6306 6307 // UpdateGlobalTable API operation for Amazon DynamoDB. 6308 // 6309 // Adds or removes replicas in the specified global table. The global table 6310 // must already exist to be able to use this operation. Any replica to be added 6311 // must be empty, have the same name as the global table, have the same key 6312 // schema, have DynamoDB Streams enabled, and have the same provisioned and 6313 // maximum write capacity units. 6314 // 6315 // Although you can use UpdateGlobalTable to add replicas and remove replicas 6316 // in a single request, for simplicity we recommend that you issue separate 6317 // requests for adding or removing replicas. 6318 // 6319 // If global secondary indexes are specified, then the following conditions 6320 // must also be met: 6321 // 6322 // * The global secondary indexes must have the same name. 6323 // 6324 // * The global secondary indexes must have the same hash key and sort key 6325 // (if present). 6326 // 6327 // * The global secondary indexes must have the same provisioned and maximum 6328 // write capacity units. 6329 // 6330 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6331 // with awserr.Error's Code and Message methods to get detailed information about 6332 // the error. 6333 // 6334 // See the AWS API reference guide for Amazon DynamoDB's 6335 // API operation UpdateGlobalTable for usage and error information. 6336 // 6337 // Returned Error Types: 6338 // * InternalServerError 6339 // An error occurred on the server side. 6340 // 6341 // * GlobalTableNotFoundException 6342 // The specified global table does not exist. 6343 // 6344 // * ReplicaAlreadyExistsException 6345 // The specified replica is already part of the global table. 6346 // 6347 // * ReplicaNotFoundException 6348 // The specified replica is no longer part of the global table. 6349 // 6350 // * TableNotFoundException 6351 // A source table with the name TableName does not currently exist within the 6352 // subscriber's account. 6353 // 6354 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable 6355 func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) { 6356 req, out := c.UpdateGlobalTableRequest(input) 6357 return out, req.Send() 6358 } 6359 6360 // UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of 6361 // the ability to pass a context and additional request options. 6362 // 6363 // See UpdateGlobalTable for details on how to use this API operation. 6364 // 6365 // The context must be non-nil and will be used for request cancellation. If 6366 // the context is nil a panic will occur. In the future the SDK may create 6367 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6368 // for more information on using Contexts. 6369 func (c *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) { 6370 req, out := c.UpdateGlobalTableRequest(input) 6371 req.SetContext(ctx) 6372 req.ApplyOptions(opts...) 6373 return out, req.Send() 6374 } 6375 6376 const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings" 6377 6378 // UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the 6379 // client's request for the UpdateGlobalTableSettings operation. The "output" return 6380 // value will be populated with the request's response once the request completes 6381 // successfully. 6382 // 6383 // Use "Send" method on the returned Request to send the API call to the service. 6384 // the "output" return value is not valid until after Send returns without error. 6385 // 6386 // See UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings 6387 // API call, and error handling. 6388 // 6389 // This method is useful when you want to inject custom logic or configuration 6390 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6391 // 6392 // 6393 // // Example sending a request using the UpdateGlobalTableSettingsRequest method. 6394 // req, resp := client.UpdateGlobalTableSettingsRequest(params) 6395 // 6396 // err := req.Send() 6397 // if err == nil { // resp is now filled 6398 // fmt.Println(resp) 6399 // } 6400 // 6401 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings 6402 func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) { 6403 op := &request.Operation{ 6404 Name: opUpdateGlobalTableSettings, 6405 HTTPMethod: "POST", 6406 HTTPPath: "/", 6407 } 6408 6409 if input == nil { 6410 input = &UpdateGlobalTableSettingsInput{} 6411 } 6412 6413 output = &UpdateGlobalTableSettingsOutput{} 6414 req = c.newRequest(op, input, output) 6415 // if custom endpoint for the request is set to a non empty string, 6416 // we skip the endpoint discovery workflow. 6417 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6418 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6419 de := discovererDescribeEndpoints{ 6420 Required: false, 6421 EndpointCache: c.endpointCache, 6422 Params: map[string]*string{ 6423 "op": aws.String(req.Operation.Name), 6424 }, 6425 Client: c, 6426 } 6427 6428 for k, v := range de.Params { 6429 if v == nil { 6430 delete(de.Params, k) 6431 } 6432 } 6433 6434 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6435 Name: "crr.endpointdiscovery", 6436 Fn: de.Handler, 6437 }) 6438 } 6439 } 6440 return 6441 } 6442 6443 // UpdateGlobalTableSettings API operation for Amazon DynamoDB. 6444 // 6445 // Updates settings for a global table. 6446 // 6447 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6448 // with awserr.Error's Code and Message methods to get detailed information about 6449 // the error. 6450 // 6451 // See the AWS API reference guide for Amazon DynamoDB's 6452 // API operation UpdateGlobalTableSettings for usage and error information. 6453 // 6454 // Returned Error Types: 6455 // * GlobalTableNotFoundException 6456 // The specified global table does not exist. 6457 // 6458 // * ReplicaNotFoundException 6459 // The specified replica is no longer part of the global table. 6460 // 6461 // * IndexNotFoundException 6462 // The operation tried to access a nonexistent index. 6463 // 6464 // * LimitExceededException 6465 // There is no limit to the number of daily on-demand backups that can be taken. 6466 // 6467 // Up to 50 simultaneous table operations are allowed per account. These operations 6468 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 6469 // and RestoreTableToPointInTime. 6470 // 6471 // The only exception is when you are creating a table with one or more secondary 6472 // indexes. You can have up to 25 such requests running at a time; however, 6473 // if the table or index specifications are complex, DynamoDB might temporarily 6474 // reduce the number of concurrent operations. 6475 // 6476 // There is a soft account quota of 256 tables. 6477 // 6478 // * ResourceInUseException 6479 // The operation conflicts with the resource's availability. For example, you 6480 // attempted to recreate an existing table, or tried to delete a table currently 6481 // in the CREATING state. 6482 // 6483 // * InternalServerError 6484 // An error occurred on the server side. 6485 // 6486 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings 6487 func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) { 6488 req, out := c.UpdateGlobalTableSettingsRequest(input) 6489 return out, req.Send() 6490 } 6491 6492 // UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of 6493 // the ability to pass a context and additional request options. 6494 // 6495 // See UpdateGlobalTableSettings for details on how to use this API operation. 6496 // 6497 // The context must be non-nil and will be used for request cancellation. If 6498 // the context is nil a panic will occur. In the future the SDK may create 6499 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6500 // for more information on using Contexts. 6501 func (c *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) { 6502 req, out := c.UpdateGlobalTableSettingsRequest(input) 6503 req.SetContext(ctx) 6504 req.ApplyOptions(opts...) 6505 return out, req.Send() 6506 } 6507 6508 const opUpdateItem = "UpdateItem" 6509 6510 // UpdateItemRequest generates a "aws/request.Request" representing the 6511 // client's request for the UpdateItem operation. The "output" return 6512 // value will be populated with the request's response once the request completes 6513 // successfully. 6514 // 6515 // Use "Send" method on the returned Request to send the API call to the service. 6516 // the "output" return value is not valid until after Send returns without error. 6517 // 6518 // See UpdateItem for more information on using the UpdateItem 6519 // API call, and error handling. 6520 // 6521 // This method is useful when you want to inject custom logic or configuration 6522 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6523 // 6524 // 6525 // // Example sending a request using the UpdateItemRequest method. 6526 // req, resp := client.UpdateItemRequest(params) 6527 // 6528 // err := req.Send() 6529 // if err == nil { // resp is now filled 6530 // fmt.Println(resp) 6531 // } 6532 // 6533 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem 6534 func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) { 6535 op := &request.Operation{ 6536 Name: opUpdateItem, 6537 HTTPMethod: "POST", 6538 HTTPPath: "/", 6539 } 6540 6541 if input == nil { 6542 input = &UpdateItemInput{} 6543 } 6544 6545 output = &UpdateItemOutput{} 6546 req = c.newRequest(op, input, output) 6547 // if custom endpoint for the request is set to a non empty string, 6548 // we skip the endpoint discovery workflow. 6549 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6550 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6551 de := discovererDescribeEndpoints{ 6552 Required: false, 6553 EndpointCache: c.endpointCache, 6554 Params: map[string]*string{ 6555 "op": aws.String(req.Operation.Name), 6556 }, 6557 Client: c, 6558 } 6559 6560 for k, v := range de.Params { 6561 if v == nil { 6562 delete(de.Params, k) 6563 } 6564 } 6565 6566 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6567 Name: "crr.endpointdiscovery", 6568 Fn: de.Handler, 6569 }) 6570 } 6571 } 6572 return 6573 } 6574 6575 // UpdateItem API operation for Amazon DynamoDB. 6576 // 6577 // Edits an existing item's attributes, or adds a new item to the table if it 6578 // does not already exist. You can put, delete, or add attribute values. You 6579 // can also perform a conditional update on an existing item (insert a new attribute 6580 // name-value pair if it doesn't exist, or replace an existing name-value pair 6581 // if it has certain expected attribute values). 6582 // 6583 // You can also return the item's attribute values in the same UpdateItem operation 6584 // using the ReturnValues parameter. 6585 // 6586 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6587 // with awserr.Error's Code and Message methods to get detailed information about 6588 // the error. 6589 // 6590 // See the AWS API reference guide for Amazon DynamoDB's 6591 // API operation UpdateItem for usage and error information. 6592 // 6593 // Returned Error Types: 6594 // * ConditionalCheckFailedException 6595 // A condition specified in the operation could not be evaluated. 6596 // 6597 // * ProvisionedThroughputExceededException 6598 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 6599 // requests that receive this exception. Your request is eventually successful, 6600 // unless your retry queue is too large to finish. Reduce the frequency of requests 6601 // and use exponential backoff. For more information, go to Error Retries and 6602 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 6603 // in the Amazon DynamoDB Developer Guide. 6604 // 6605 // * ResourceNotFoundException 6606 // The operation tried to access a nonexistent table or index. The resource 6607 // might not be specified correctly, or its status might not be ACTIVE. 6608 // 6609 // * ItemCollectionSizeLimitExceededException 6610 // An item collection is too large. This exception is only returned for tables 6611 // that have one or more local secondary indexes. 6612 // 6613 // * TransactionConflictException 6614 // Operation was rejected because there is an ongoing transaction for the item. 6615 // 6616 // * RequestLimitExceeded 6617 // Throughput exceeds the current throughput quota for your account. Please 6618 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 6619 // a quota increase. 6620 // 6621 // * InternalServerError 6622 // An error occurred on the server side. 6623 // 6624 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem 6625 func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) { 6626 req, out := c.UpdateItemRequest(input) 6627 return out, req.Send() 6628 } 6629 6630 // UpdateItemWithContext is the same as UpdateItem with the addition of 6631 // the ability to pass a context and additional request options. 6632 // 6633 // See UpdateItem for details on how to use this API operation. 6634 // 6635 // The context must be non-nil and will be used for request cancellation. If 6636 // the context is nil a panic will occur. In the future the SDK may create 6637 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6638 // for more information on using Contexts. 6639 func (c *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) { 6640 req, out := c.UpdateItemRequest(input) 6641 req.SetContext(ctx) 6642 req.ApplyOptions(opts...) 6643 return out, req.Send() 6644 } 6645 6646 const opUpdateTable = "UpdateTable" 6647 6648 // UpdateTableRequest generates a "aws/request.Request" representing the 6649 // client's request for the UpdateTable operation. The "output" return 6650 // value will be populated with the request's response once the request completes 6651 // successfully. 6652 // 6653 // Use "Send" method on the returned Request to send the API call to the service. 6654 // the "output" return value is not valid until after Send returns without error. 6655 // 6656 // See UpdateTable for more information on using the UpdateTable 6657 // API call, and error handling. 6658 // 6659 // This method is useful when you want to inject custom logic or configuration 6660 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6661 // 6662 // 6663 // // Example sending a request using the UpdateTableRequest method. 6664 // req, resp := client.UpdateTableRequest(params) 6665 // 6666 // err := req.Send() 6667 // if err == nil { // resp is now filled 6668 // fmt.Println(resp) 6669 // } 6670 // 6671 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable 6672 func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { 6673 op := &request.Operation{ 6674 Name: opUpdateTable, 6675 HTTPMethod: "POST", 6676 HTTPPath: "/", 6677 } 6678 6679 if input == nil { 6680 input = &UpdateTableInput{} 6681 } 6682 6683 output = &UpdateTableOutput{} 6684 req = c.newRequest(op, input, output) 6685 // if custom endpoint for the request is set to a non empty string, 6686 // we skip the endpoint discovery workflow. 6687 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6688 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6689 de := discovererDescribeEndpoints{ 6690 Required: false, 6691 EndpointCache: c.endpointCache, 6692 Params: map[string]*string{ 6693 "op": aws.String(req.Operation.Name), 6694 }, 6695 Client: c, 6696 } 6697 6698 for k, v := range de.Params { 6699 if v == nil { 6700 delete(de.Params, k) 6701 } 6702 } 6703 6704 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6705 Name: "crr.endpointdiscovery", 6706 Fn: de.Handler, 6707 }) 6708 } 6709 } 6710 return 6711 } 6712 6713 // UpdateTable API operation for Amazon DynamoDB. 6714 // 6715 // Modifies the provisioned throughput settings, global secondary indexes, or 6716 // DynamoDB Streams settings for a given table. 6717 // 6718 // You can only perform one of the following operations at once: 6719 // 6720 // * Modify the provisioned throughput settings of the table. 6721 // 6722 // * Enable or disable DynamoDB Streams on the table. 6723 // 6724 // * Remove a global secondary index from the table. 6725 // 6726 // * Create a new global secondary index on the table. After the index begins 6727 // backfilling, you can use UpdateTable to perform other operations. 6728 // 6729 // UpdateTable is an asynchronous operation; while it is executing, the table 6730 // status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot 6731 // issue another UpdateTable request. When the table returns to the ACTIVE state, 6732 // the UpdateTable operation is complete. 6733 // 6734 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6735 // with awserr.Error's Code and Message methods to get detailed information about 6736 // the error. 6737 // 6738 // See the AWS API reference guide for Amazon DynamoDB's 6739 // API operation UpdateTable for usage and error information. 6740 // 6741 // Returned Error Types: 6742 // * ResourceInUseException 6743 // The operation conflicts with the resource's availability. For example, you 6744 // attempted to recreate an existing table, or tried to delete a table currently 6745 // in the CREATING state. 6746 // 6747 // * ResourceNotFoundException 6748 // The operation tried to access a nonexistent table or index. The resource 6749 // might not be specified correctly, or its status might not be ACTIVE. 6750 // 6751 // * LimitExceededException 6752 // There is no limit to the number of daily on-demand backups that can be taken. 6753 // 6754 // Up to 50 simultaneous table operations are allowed per account. These operations 6755 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 6756 // and RestoreTableToPointInTime. 6757 // 6758 // The only exception is when you are creating a table with one or more secondary 6759 // indexes. You can have up to 25 such requests running at a time; however, 6760 // if the table or index specifications are complex, DynamoDB might temporarily 6761 // reduce the number of concurrent operations. 6762 // 6763 // There is a soft account quota of 256 tables. 6764 // 6765 // * InternalServerError 6766 // An error occurred on the server side. 6767 // 6768 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable 6769 func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { 6770 req, out := c.UpdateTableRequest(input) 6771 return out, req.Send() 6772 } 6773 6774 // UpdateTableWithContext is the same as UpdateTable with the addition of 6775 // the ability to pass a context and additional request options. 6776 // 6777 // See UpdateTable for details on how to use this API operation. 6778 // 6779 // The context must be non-nil and will be used for request cancellation. If 6780 // the context is nil a panic will occur. In the future the SDK may create 6781 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6782 // for more information on using Contexts. 6783 func (c *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { 6784 req, out := c.UpdateTableRequest(input) 6785 req.SetContext(ctx) 6786 req.ApplyOptions(opts...) 6787 return out, req.Send() 6788 } 6789 6790 const opUpdateTableReplicaAutoScaling = "UpdateTableReplicaAutoScaling" 6791 6792 // UpdateTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the 6793 // client's request for the UpdateTableReplicaAutoScaling operation. The "output" return 6794 // value will be populated with the request's response once the request completes 6795 // successfully. 6796 // 6797 // Use "Send" method on the returned Request to send the API call to the service. 6798 // the "output" return value is not valid until after Send returns without error. 6799 // 6800 // See UpdateTableReplicaAutoScaling for more information on using the UpdateTableReplicaAutoScaling 6801 // API call, and error handling. 6802 // 6803 // This method is useful when you want to inject custom logic or configuration 6804 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6805 // 6806 // 6807 // // Example sending a request using the UpdateTableReplicaAutoScalingRequest method. 6808 // req, resp := client.UpdateTableReplicaAutoScalingRequest(params) 6809 // 6810 // err := req.Send() 6811 // if err == nil { // resp is now filled 6812 // fmt.Println(resp) 6813 // } 6814 // 6815 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling 6816 func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplicaAutoScalingInput) (req *request.Request, output *UpdateTableReplicaAutoScalingOutput) { 6817 op := &request.Operation{ 6818 Name: opUpdateTableReplicaAutoScaling, 6819 HTTPMethod: "POST", 6820 HTTPPath: "/", 6821 } 6822 6823 if input == nil { 6824 input = &UpdateTableReplicaAutoScalingInput{} 6825 } 6826 6827 output = &UpdateTableReplicaAutoScalingOutput{} 6828 req = c.newRequest(op, input, output) 6829 return 6830 } 6831 6832 // UpdateTableReplicaAutoScaling API operation for Amazon DynamoDB. 6833 // 6834 // Updates auto scaling settings on your global tables at once. 6835 // 6836 // This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 6837 // of global tables. 6838 // 6839 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6840 // with awserr.Error's Code and Message methods to get detailed information about 6841 // the error. 6842 // 6843 // See the AWS API reference guide for Amazon DynamoDB's 6844 // API operation UpdateTableReplicaAutoScaling for usage and error information. 6845 // 6846 // Returned Error Types: 6847 // * ResourceNotFoundException 6848 // The operation tried to access a nonexistent table or index. The resource 6849 // might not be specified correctly, or its status might not be ACTIVE. 6850 // 6851 // * ResourceInUseException 6852 // The operation conflicts with the resource's availability. For example, you 6853 // attempted to recreate an existing table, or tried to delete a table currently 6854 // in the CREATING state. 6855 // 6856 // * LimitExceededException 6857 // There is no limit to the number of daily on-demand backups that can be taken. 6858 // 6859 // Up to 50 simultaneous table operations are allowed per account. These operations 6860 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 6861 // and RestoreTableToPointInTime. 6862 // 6863 // The only exception is when you are creating a table with one or more secondary 6864 // indexes. You can have up to 25 such requests running at a time; however, 6865 // if the table or index specifications are complex, DynamoDB might temporarily 6866 // reduce the number of concurrent operations. 6867 // 6868 // There is a soft account quota of 256 tables. 6869 // 6870 // * InternalServerError 6871 // An error occurred on the server side. 6872 // 6873 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling 6874 func (c *DynamoDB) UpdateTableReplicaAutoScaling(input *UpdateTableReplicaAutoScalingInput) (*UpdateTableReplicaAutoScalingOutput, error) { 6875 req, out := c.UpdateTableReplicaAutoScalingRequest(input) 6876 return out, req.Send() 6877 } 6878 6879 // UpdateTableReplicaAutoScalingWithContext is the same as UpdateTableReplicaAutoScaling with the addition of 6880 // the ability to pass a context and additional request options. 6881 // 6882 // See UpdateTableReplicaAutoScaling for details on how to use this API operation. 6883 // 6884 // The context must be non-nil and will be used for request cancellation. If 6885 // the context is nil a panic will occur. In the future the SDK may create 6886 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6887 // for more information on using Contexts. 6888 func (c *DynamoDB) UpdateTableReplicaAutoScalingWithContext(ctx aws.Context, input *UpdateTableReplicaAutoScalingInput, opts ...request.Option) (*UpdateTableReplicaAutoScalingOutput, error) { 6889 req, out := c.UpdateTableReplicaAutoScalingRequest(input) 6890 req.SetContext(ctx) 6891 req.ApplyOptions(opts...) 6892 return out, req.Send() 6893 } 6894 6895 const opUpdateTimeToLive = "UpdateTimeToLive" 6896 6897 // UpdateTimeToLiveRequest generates a "aws/request.Request" representing the 6898 // client's request for the UpdateTimeToLive operation. The "output" return 6899 // value will be populated with the request's response once the request completes 6900 // successfully. 6901 // 6902 // Use "Send" method on the returned Request to send the API call to the service. 6903 // the "output" return value is not valid until after Send returns without error. 6904 // 6905 // See UpdateTimeToLive for more information on using the UpdateTimeToLive 6906 // API call, and error handling. 6907 // 6908 // This method is useful when you want to inject custom logic or configuration 6909 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6910 // 6911 // 6912 // // Example sending a request using the UpdateTimeToLiveRequest method. 6913 // req, resp := client.UpdateTimeToLiveRequest(params) 6914 // 6915 // err := req.Send() 6916 // if err == nil { // resp is now filled 6917 // fmt.Println(resp) 6918 // } 6919 // 6920 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive 6921 func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) { 6922 op := &request.Operation{ 6923 Name: opUpdateTimeToLive, 6924 HTTPMethod: "POST", 6925 HTTPPath: "/", 6926 } 6927 6928 if input == nil { 6929 input = &UpdateTimeToLiveInput{} 6930 } 6931 6932 output = &UpdateTimeToLiveOutput{} 6933 req = c.newRequest(op, input, output) 6934 // if custom endpoint for the request is set to a non empty string, 6935 // we skip the endpoint discovery workflow. 6936 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 6937 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 6938 de := discovererDescribeEndpoints{ 6939 Required: false, 6940 EndpointCache: c.endpointCache, 6941 Params: map[string]*string{ 6942 "op": aws.String(req.Operation.Name), 6943 }, 6944 Client: c, 6945 } 6946 6947 for k, v := range de.Params { 6948 if v == nil { 6949 delete(de.Params, k) 6950 } 6951 } 6952 6953 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 6954 Name: "crr.endpointdiscovery", 6955 Fn: de.Handler, 6956 }) 6957 } 6958 } 6959 return 6960 } 6961 6962 // UpdateTimeToLive API operation for Amazon DynamoDB. 6963 // 6964 // The UpdateTimeToLive method enables or disables Time to Live (TTL) for the 6965 // specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. 6966 // It can take up to one hour for the change to fully process. Any additional 6967 // UpdateTimeToLive calls for the same table during this one hour duration result 6968 // in a ValidationException. 6969 // 6970 // TTL compares the current time in epoch time format to the time stored in 6971 // the TTL attribute of an item. If the epoch time value stored in the attribute 6972 // is less than the current time, the item is marked as expired and subsequently 6973 // deleted. 6974 // 6975 // The epoch time format is the number of seconds elapsed since 12:00:00 AM 6976 // January 1, 1970 UTC. 6977 // 6978 // DynamoDB deletes expired items on a best-effort basis to ensure availability 6979 // of throughput for other data operations. 6980 // 6981 // DynamoDB typically deletes expired items within two days of expiration. The 6982 // exact duration within which an item gets deleted after expiration is specific 6983 // to the nature of the workload. Items that have expired and not been deleted 6984 // will still show up in reads, queries, and scans. 6985 // 6986 // As items are deleted, they are removed from any local secondary index and 6987 // global secondary index immediately in the same eventually consistent way 6988 // as a standard delete operation. 6989 // 6990 // For more information, see Time To Live (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) 6991 // in the Amazon DynamoDB Developer Guide. 6992 // 6993 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6994 // with awserr.Error's Code and Message methods to get detailed information about 6995 // the error. 6996 // 6997 // See the AWS API reference guide for Amazon DynamoDB's 6998 // API operation UpdateTimeToLive for usage and error information. 6999 // 7000 // Returned Error Types: 7001 // * ResourceInUseException 7002 // The operation conflicts with the resource's availability. For example, you 7003 // attempted to recreate an existing table, or tried to delete a table currently 7004 // in the CREATING state. 7005 // 7006 // * ResourceNotFoundException 7007 // The operation tried to access a nonexistent table or index. The resource 7008 // might not be specified correctly, or its status might not be ACTIVE. 7009 // 7010 // * LimitExceededException 7011 // There is no limit to the number of daily on-demand backups that can be taken. 7012 // 7013 // Up to 50 simultaneous table operations are allowed per account. These operations 7014 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 7015 // and RestoreTableToPointInTime. 7016 // 7017 // The only exception is when you are creating a table with one or more secondary 7018 // indexes. You can have up to 25 such requests running at a time; however, 7019 // if the table or index specifications are complex, DynamoDB might temporarily 7020 // reduce the number of concurrent operations. 7021 // 7022 // There is a soft account quota of 256 tables. 7023 // 7024 // * InternalServerError 7025 // An error occurred on the server side. 7026 // 7027 // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive 7028 func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) { 7029 req, out := c.UpdateTimeToLiveRequest(input) 7030 return out, req.Send() 7031 } 7032 7033 // UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of 7034 // the ability to pass a context and additional request options. 7035 // 7036 // See UpdateTimeToLive for details on how to use this API operation. 7037 // 7038 // The context must be non-nil and will be used for request cancellation. If 7039 // the context is nil a panic will occur. In the future the SDK may create 7040 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7041 // for more information on using Contexts. 7042 func (c *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) { 7043 req, out := c.UpdateTimeToLiveRequest(input) 7044 req.SetContext(ctx) 7045 req.ApplyOptions(opts...) 7046 return out, req.Send() 7047 } 7048 7049 // Contains details of a table archival operation. 7050 type ArchivalSummary struct { 7051 _ struct{} `type:"structure"` 7052 7053 // The Amazon Resource Name (ARN) of the backup the table was archived to, when 7054 // applicable in the archival reason. If you wish to restore this backup to 7055 // the same table name, you will need to delete the original table. 7056 ArchivalBackupArn *string `min:"37" type:"string"` 7057 7058 // The date and time when table archival was initiated by DynamoDB, in UNIX 7059 // epoch time format. 7060 ArchivalDateTime *time.Time `type:"timestamp"` 7061 7062 // The reason DynamoDB archived the table. Currently, the only possible value 7063 // is: 7064 // 7065 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to 7066 // the table's AWS KMS key being inaccessible for more than seven days. An 7067 // On-Demand backup was created at the archival time. 7068 ArchivalReason *string `type:"string"` 7069 } 7070 7071 // String returns the string representation. 7072 // 7073 // API parameter values that are decorated as "sensitive" in the API will not 7074 // be included in the string output. The member name will be present, but the 7075 // value will be replaced with "sensitive". 7076 func (s ArchivalSummary) String() string { 7077 return awsutil.Prettify(s) 7078 } 7079 7080 // GoString returns the string representation. 7081 // 7082 // API parameter values that are decorated as "sensitive" in the API will not 7083 // be included in the string output. The member name will be present, but the 7084 // value will be replaced with "sensitive". 7085 func (s ArchivalSummary) GoString() string { 7086 return s.String() 7087 } 7088 7089 // SetArchivalBackupArn sets the ArchivalBackupArn field's value. 7090 func (s *ArchivalSummary) SetArchivalBackupArn(v string) *ArchivalSummary { 7091 s.ArchivalBackupArn = &v 7092 return s 7093 } 7094 7095 // SetArchivalDateTime sets the ArchivalDateTime field's value. 7096 func (s *ArchivalSummary) SetArchivalDateTime(v time.Time) *ArchivalSummary { 7097 s.ArchivalDateTime = &v 7098 return s 7099 } 7100 7101 // SetArchivalReason sets the ArchivalReason field's value. 7102 func (s *ArchivalSummary) SetArchivalReason(v string) *ArchivalSummary { 7103 s.ArchivalReason = &v 7104 return s 7105 } 7106 7107 // Represents an attribute for describing the key schema for the table and indexes. 7108 type AttributeDefinition struct { 7109 _ struct{} `type:"structure"` 7110 7111 // A name for the attribute. 7112 // 7113 // AttributeName is a required field 7114 AttributeName *string `min:"1" type:"string" required:"true"` 7115 7116 // The data type for the attribute, where: 7117 // 7118 // * S - the attribute is of type String 7119 // 7120 // * N - the attribute is of type Number 7121 // 7122 // * B - the attribute is of type Binary 7123 // 7124 // AttributeType is a required field 7125 AttributeType *string `type:"string" required:"true" enum:"ScalarAttributeType"` 7126 } 7127 7128 // String returns the string representation. 7129 // 7130 // API parameter values that are decorated as "sensitive" in the API will not 7131 // be included in the string output. The member name will be present, but the 7132 // value will be replaced with "sensitive". 7133 func (s AttributeDefinition) String() string { 7134 return awsutil.Prettify(s) 7135 } 7136 7137 // GoString returns the string representation. 7138 // 7139 // API parameter values that are decorated as "sensitive" in the API will not 7140 // be included in the string output. The member name will be present, but the 7141 // value will be replaced with "sensitive". 7142 func (s AttributeDefinition) GoString() string { 7143 return s.String() 7144 } 7145 7146 // Validate inspects the fields of the type to determine if they are valid. 7147 func (s *AttributeDefinition) Validate() error { 7148 invalidParams := request.ErrInvalidParams{Context: "AttributeDefinition"} 7149 if s.AttributeName == nil { 7150 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 7151 } 7152 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 7153 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 7154 } 7155 if s.AttributeType == nil { 7156 invalidParams.Add(request.NewErrParamRequired("AttributeType")) 7157 } 7158 7159 if invalidParams.Len() > 0 { 7160 return invalidParams 7161 } 7162 return nil 7163 } 7164 7165 // SetAttributeName sets the AttributeName field's value. 7166 func (s *AttributeDefinition) SetAttributeName(v string) *AttributeDefinition { 7167 s.AttributeName = &v 7168 return s 7169 } 7170 7171 // SetAttributeType sets the AttributeType field's value. 7172 func (s *AttributeDefinition) SetAttributeType(v string) *AttributeDefinition { 7173 s.AttributeType = &v 7174 return s 7175 } 7176 7177 // Represents the data for an attribute. 7178 // 7179 // Each attribute value is described as a name-value pair. The name is the data 7180 // type, and the value is the data itself. 7181 // 7182 // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 7183 // in the Amazon DynamoDB Developer Guide. 7184 type AttributeValue struct { 7185 _ struct{} `type:"structure"` 7186 7187 // An attribute of type Binary. For example: 7188 // 7189 // "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" 7190 // B is automatically base64 encoded/decoded by the SDK. 7191 B []byte `type:"blob"` 7192 7193 // An attribute of type Boolean. For example: 7194 // 7195 // "BOOL": true 7196 BOOL *bool `type:"boolean"` 7197 7198 // An attribute of type Binary Set. For example: 7199 // 7200 // "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] 7201 BS [][]byte `type:"list"` 7202 7203 // An attribute of type List. For example: 7204 // 7205 // "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] 7206 L []*AttributeValue `type:"list"` 7207 7208 // An attribute of type Map. For example: 7209 // 7210 // "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}} 7211 M map[string]*AttributeValue `type:"map"` 7212 7213 // An attribute of type Number. For example: 7214 // 7215 // "N": "123.45" 7216 // 7217 // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility 7218 // across languages and libraries. However, DynamoDB treats them as number type 7219 // attributes for mathematical operations. 7220 N *string `type:"string"` 7221 7222 // An attribute of type Number Set. For example: 7223 // 7224 // "NS": ["42.2", "-19", "7.5", "3.14"] 7225 // 7226 // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility 7227 // across languages and libraries. However, DynamoDB treats them as number type 7228 // attributes for mathematical operations. 7229 NS []*string `type:"list"` 7230 7231 // An attribute of type Null. For example: 7232 // 7233 // "NULL": true 7234 NULL *bool `type:"boolean"` 7235 7236 // An attribute of type String. For example: 7237 // 7238 // "S": "Hello" 7239 S *string `type:"string"` 7240 7241 // An attribute of type String Set. For example: 7242 // 7243 // "SS": ["Giraffe", "Hippo" ,"Zebra"] 7244 SS []*string `type:"list"` 7245 } 7246 7247 // String returns the string representation. 7248 // 7249 // API parameter values that are decorated as "sensitive" in the API will not 7250 // be included in the string output. The member name will be present, but the 7251 // value will be replaced with "sensitive". 7252 func (s AttributeValue) String() string { 7253 return awsutil.Prettify(s) 7254 } 7255 7256 // GoString returns the string representation. 7257 // 7258 // API parameter values that are decorated as "sensitive" in the API will not 7259 // be included in the string output. The member name will be present, but the 7260 // value will be replaced with "sensitive". 7261 func (s AttributeValue) GoString() string { 7262 return s.String() 7263 } 7264 7265 // SetB sets the B field's value. 7266 func (s *AttributeValue) SetB(v []byte) *AttributeValue { 7267 s.B = v 7268 return s 7269 } 7270 7271 // SetBOOL sets the BOOL field's value. 7272 func (s *AttributeValue) SetBOOL(v bool) *AttributeValue { 7273 s.BOOL = &v 7274 return s 7275 } 7276 7277 // SetBS sets the BS field's value. 7278 func (s *AttributeValue) SetBS(v [][]byte) *AttributeValue { 7279 s.BS = v 7280 return s 7281 } 7282 7283 // SetL sets the L field's value. 7284 func (s *AttributeValue) SetL(v []*AttributeValue) *AttributeValue { 7285 s.L = v 7286 return s 7287 } 7288 7289 // SetM sets the M field's value. 7290 func (s *AttributeValue) SetM(v map[string]*AttributeValue) *AttributeValue { 7291 s.M = v 7292 return s 7293 } 7294 7295 // SetN sets the N field's value. 7296 func (s *AttributeValue) SetN(v string) *AttributeValue { 7297 s.N = &v 7298 return s 7299 } 7300 7301 // SetNS sets the NS field's value. 7302 func (s *AttributeValue) SetNS(v []*string) *AttributeValue { 7303 s.NS = v 7304 return s 7305 } 7306 7307 // SetNULL sets the NULL field's value. 7308 func (s *AttributeValue) SetNULL(v bool) *AttributeValue { 7309 s.NULL = &v 7310 return s 7311 } 7312 7313 // SetS sets the S field's value. 7314 func (s *AttributeValue) SetS(v string) *AttributeValue { 7315 s.S = &v 7316 return s 7317 } 7318 7319 // SetSS sets the SS field's value. 7320 func (s *AttributeValue) SetSS(v []*string) *AttributeValue { 7321 s.SS = v 7322 return s 7323 } 7324 7325 // For the UpdateItem operation, represents the attributes to be modified, the 7326 // action to perform on each, and the new value for each. 7327 // 7328 // You cannot use UpdateItem to update any primary key attributes. Instead, 7329 // you will need to delete the item, and then use PutItem to create a new item 7330 // with new attributes. 7331 // 7332 // Attribute values cannot be null; string and binary type attributes must have 7333 // lengths greater than zero; and set type attributes must not be empty. Requests 7334 // with empty values will be rejected with a ValidationException exception. 7335 type AttributeValueUpdate struct { 7336 _ struct{} `type:"structure"` 7337 7338 // Specifies how to perform the update. Valid values are PUT (default), DELETE, 7339 // and ADD. The behavior depends on whether the specified primary key already 7340 // exists in the table. 7341 // 7342 // If an item with the specified Key is found in the table: 7343 // 7344 // * PUT - Adds the specified attribute to the item. If the attribute already 7345 // exists, it is replaced by the new value. 7346 // 7347 // * DELETE - If no value is specified, the attribute and its value are removed 7348 // from the item. The data type of the specified value must match the existing 7349 // value's data type. If a set of values is specified, then those values 7350 // are subtracted from the old set. For example, if the attribute value was 7351 // the set [a,b,c] and the DELETE action specified [a,c], then the final 7352 // attribute value would be [b]. Specifying an empty set is an error. 7353 // 7354 // * ADD - If the attribute does not already exist, then the attribute and 7355 // its values are added to the item. If the attribute does exist, then the 7356 // behavior of ADD depends on the data type of the attribute: If the existing 7357 // attribute is a number, and if Value is also a number, then the Value is 7358 // mathematically added to the existing attribute. If Value is a negative 7359 // number, then it is subtracted from the existing attribute. If you use 7360 // ADD to increment or decrement a number value for an item that doesn't 7361 // exist before the update, DynamoDB uses 0 as the initial value. In addition, 7362 // if you use ADD to update an existing item, and intend to increment or 7363 // decrement an attribute value which does not yet exist, DynamoDB uses 0 7364 // as the initial value. For example, suppose that the item you want to update 7365 // does not yet have an attribute named itemcount, but you decide to ADD 7366 // the number 3 to this attribute anyway, even though it currently does not 7367 // exist. DynamoDB will create the itemcount attribute, set its initial value 7368 // to 0, and finally add 3 to it. The result will be a new itemcount attribute 7369 // in the item, with a value of 3. If the existing data type is a set, and 7370 // if the Value is also a set, then the Value is added to the existing set. 7371 // (This is a set operation, not mathematical addition.) For example, if 7372 // the attribute value was the set [1,2], and the ADD action specified [3], 7373 // then the final attribute value would be [1,2,3]. An error occurs if an 7374 // Add action is specified for a set attribute and the attribute type specified 7375 // does not match the existing set type. Both sets must have the same primitive 7376 // data type. For example, if the existing data type is a set of strings, 7377 // the Value must also be a set of strings. The same holds true for number 7378 // sets and binary sets. This action is only valid for an existing attribute 7379 // whose data type is number or is a set. Do not use ADD for any other data 7380 // types. 7381 // 7382 // If no item with the specified Key is found: 7383 // 7384 // * PUT - DynamoDB creates a new item with the specified primary key, and 7385 // then adds the attribute. 7386 // 7387 // * DELETE - Nothing happens; there is no attribute to delete. 7388 // 7389 // * ADD - DynamoDB creates an item with the supplied primary key and number 7390 // (or set of numbers) for the attribute value. The only data types allowed 7391 // are number and number set; no other data types can be specified. 7392 Action *string `type:"string" enum:"AttributeAction"` 7393 7394 // Represents the data for an attribute. 7395 // 7396 // Each attribute value is described as a name-value pair. The name is the data 7397 // type, and the value is the data itself. 7398 // 7399 // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 7400 // in the Amazon DynamoDB Developer Guide. 7401 Value *AttributeValue `type:"structure"` 7402 } 7403 7404 // String returns the string representation. 7405 // 7406 // API parameter values that are decorated as "sensitive" in the API will not 7407 // be included in the string output. The member name will be present, but the 7408 // value will be replaced with "sensitive". 7409 func (s AttributeValueUpdate) String() string { 7410 return awsutil.Prettify(s) 7411 } 7412 7413 // GoString returns the string representation. 7414 // 7415 // API parameter values that are decorated as "sensitive" in the API will not 7416 // be included in the string output. The member name will be present, but the 7417 // value will be replaced with "sensitive". 7418 func (s AttributeValueUpdate) GoString() string { 7419 return s.String() 7420 } 7421 7422 // SetAction sets the Action field's value. 7423 func (s *AttributeValueUpdate) SetAction(v string) *AttributeValueUpdate { 7424 s.Action = &v 7425 return s 7426 } 7427 7428 // SetValue sets the Value field's value. 7429 func (s *AttributeValueUpdate) SetValue(v *AttributeValue) *AttributeValueUpdate { 7430 s.Value = v 7431 return s 7432 } 7433 7434 // Represents the properties of the scaling policy. 7435 type AutoScalingPolicyDescription struct { 7436 _ struct{} `type:"structure"` 7437 7438 // The name of the scaling policy. 7439 PolicyName *string `min:"1" type:"string"` 7440 7441 // Represents a target tracking scaling policy configuration. 7442 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationDescription `type:"structure"` 7443 } 7444 7445 // String returns the string representation. 7446 // 7447 // API parameter values that are decorated as "sensitive" in the API will not 7448 // be included in the string output. The member name will be present, but the 7449 // value will be replaced with "sensitive". 7450 func (s AutoScalingPolicyDescription) String() string { 7451 return awsutil.Prettify(s) 7452 } 7453 7454 // GoString returns the string representation. 7455 // 7456 // API parameter values that are decorated as "sensitive" in the API will not 7457 // be included in the string output. The member name will be present, but the 7458 // value will be replaced with "sensitive". 7459 func (s AutoScalingPolicyDescription) GoString() string { 7460 return s.String() 7461 } 7462 7463 // SetPolicyName sets the PolicyName field's value. 7464 func (s *AutoScalingPolicyDescription) SetPolicyName(v string) *AutoScalingPolicyDescription { 7465 s.PolicyName = &v 7466 return s 7467 } 7468 7469 // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 7470 func (s *AutoScalingPolicyDescription) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) *AutoScalingPolicyDescription { 7471 s.TargetTrackingScalingPolicyConfiguration = v 7472 return s 7473 } 7474 7475 // Represents the auto scaling policy to be modified. 7476 type AutoScalingPolicyUpdate struct { 7477 _ struct{} `type:"structure"` 7478 7479 // The name of the scaling policy. 7480 PolicyName *string `min:"1" type:"string"` 7481 7482 // Represents a target tracking scaling policy configuration. 7483 // 7484 // TargetTrackingScalingPolicyConfiguration is a required field 7485 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate `type:"structure" required:"true"` 7486 } 7487 7488 // String returns the string representation. 7489 // 7490 // API parameter values that are decorated as "sensitive" in the API will not 7491 // be included in the string output. The member name will be present, but the 7492 // value will be replaced with "sensitive". 7493 func (s AutoScalingPolicyUpdate) String() string { 7494 return awsutil.Prettify(s) 7495 } 7496 7497 // GoString returns the string representation. 7498 // 7499 // API parameter values that are decorated as "sensitive" in the API will not 7500 // be included in the string output. The member name will be present, but the 7501 // value will be replaced with "sensitive". 7502 func (s AutoScalingPolicyUpdate) GoString() string { 7503 return s.String() 7504 } 7505 7506 // Validate inspects the fields of the type to determine if they are valid. 7507 func (s *AutoScalingPolicyUpdate) Validate() error { 7508 invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicyUpdate"} 7509 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 7510 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 7511 } 7512 if s.TargetTrackingScalingPolicyConfiguration == nil { 7513 invalidParams.Add(request.NewErrParamRequired("TargetTrackingScalingPolicyConfiguration")) 7514 } 7515 if s.TargetTrackingScalingPolicyConfiguration != nil { 7516 if err := s.TargetTrackingScalingPolicyConfiguration.Validate(); err != nil { 7517 invalidParams.AddNested("TargetTrackingScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 7518 } 7519 } 7520 7521 if invalidParams.Len() > 0 { 7522 return invalidParams 7523 } 7524 return nil 7525 } 7526 7527 // SetPolicyName sets the PolicyName field's value. 7528 func (s *AutoScalingPolicyUpdate) SetPolicyName(v string) *AutoScalingPolicyUpdate { 7529 s.PolicyName = &v 7530 return s 7531 } 7532 7533 // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 7534 func (s *AutoScalingPolicyUpdate) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) *AutoScalingPolicyUpdate { 7535 s.TargetTrackingScalingPolicyConfiguration = v 7536 return s 7537 } 7538 7539 // Represents the auto scaling settings for a global table or global secondary 7540 // index. 7541 type AutoScalingSettingsDescription struct { 7542 _ struct{} `type:"structure"` 7543 7544 // Disabled auto scaling for this global table or global secondary index. 7545 AutoScalingDisabled *bool `type:"boolean"` 7546 7547 // Role ARN used for configuring the auto scaling policy. 7548 AutoScalingRoleArn *string `type:"string"` 7549 7550 // The maximum capacity units that a global table or global secondary index 7551 // should be scaled up to. 7552 MaximumUnits *int64 `min:"1" type:"long"` 7553 7554 // The minimum capacity units that a global table or global secondary index 7555 // should be scaled down to. 7556 MinimumUnits *int64 `min:"1" type:"long"` 7557 7558 // Information about the scaling policies. 7559 ScalingPolicies []*AutoScalingPolicyDescription `type:"list"` 7560 } 7561 7562 // String returns the string representation. 7563 // 7564 // API parameter values that are decorated as "sensitive" in the API will not 7565 // be included in the string output. The member name will be present, but the 7566 // value will be replaced with "sensitive". 7567 func (s AutoScalingSettingsDescription) String() string { 7568 return awsutil.Prettify(s) 7569 } 7570 7571 // GoString returns the string representation. 7572 // 7573 // API parameter values that are decorated as "sensitive" in the API will not 7574 // be included in the string output. The member name will be present, but the 7575 // value will be replaced with "sensitive". 7576 func (s AutoScalingSettingsDescription) GoString() string { 7577 return s.String() 7578 } 7579 7580 // SetAutoScalingDisabled sets the AutoScalingDisabled field's value. 7581 func (s *AutoScalingSettingsDescription) SetAutoScalingDisabled(v bool) *AutoScalingSettingsDescription { 7582 s.AutoScalingDisabled = &v 7583 return s 7584 } 7585 7586 // SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value. 7587 func (s *AutoScalingSettingsDescription) SetAutoScalingRoleArn(v string) *AutoScalingSettingsDescription { 7588 s.AutoScalingRoleArn = &v 7589 return s 7590 } 7591 7592 // SetMaximumUnits sets the MaximumUnits field's value. 7593 func (s *AutoScalingSettingsDescription) SetMaximumUnits(v int64) *AutoScalingSettingsDescription { 7594 s.MaximumUnits = &v 7595 return s 7596 } 7597 7598 // SetMinimumUnits sets the MinimumUnits field's value. 7599 func (s *AutoScalingSettingsDescription) SetMinimumUnits(v int64) *AutoScalingSettingsDescription { 7600 s.MinimumUnits = &v 7601 return s 7602 } 7603 7604 // SetScalingPolicies sets the ScalingPolicies field's value. 7605 func (s *AutoScalingSettingsDescription) SetScalingPolicies(v []*AutoScalingPolicyDescription) *AutoScalingSettingsDescription { 7606 s.ScalingPolicies = v 7607 return s 7608 } 7609 7610 // Represents the auto scaling settings to be modified for a global table or 7611 // global secondary index. 7612 type AutoScalingSettingsUpdate struct { 7613 _ struct{} `type:"structure"` 7614 7615 // Disabled auto scaling for this global table or global secondary index. 7616 AutoScalingDisabled *bool `type:"boolean"` 7617 7618 // Role ARN used for configuring auto scaling policy. 7619 AutoScalingRoleArn *string `min:"1" type:"string"` 7620 7621 // The maximum capacity units that a global table or global secondary index 7622 // should be scaled up to. 7623 MaximumUnits *int64 `min:"1" type:"long"` 7624 7625 // The minimum capacity units that a global table or global secondary index 7626 // should be scaled down to. 7627 MinimumUnits *int64 `min:"1" type:"long"` 7628 7629 // The scaling policy to apply for scaling target global table or global secondary 7630 // index capacity units. 7631 ScalingPolicyUpdate *AutoScalingPolicyUpdate `type:"structure"` 7632 } 7633 7634 // String returns the string representation. 7635 // 7636 // API parameter values that are decorated as "sensitive" in the API will not 7637 // be included in the string output. The member name will be present, but the 7638 // value will be replaced with "sensitive". 7639 func (s AutoScalingSettingsUpdate) String() string { 7640 return awsutil.Prettify(s) 7641 } 7642 7643 // GoString returns the string representation. 7644 // 7645 // API parameter values that are decorated as "sensitive" in the API will not 7646 // be included in the string output. The member name will be present, but the 7647 // value will be replaced with "sensitive". 7648 func (s AutoScalingSettingsUpdate) GoString() string { 7649 return s.String() 7650 } 7651 7652 // Validate inspects the fields of the type to determine if they are valid. 7653 func (s *AutoScalingSettingsUpdate) Validate() error { 7654 invalidParams := request.ErrInvalidParams{Context: "AutoScalingSettingsUpdate"} 7655 if s.AutoScalingRoleArn != nil && len(*s.AutoScalingRoleArn) < 1 { 7656 invalidParams.Add(request.NewErrParamMinLen("AutoScalingRoleArn", 1)) 7657 } 7658 if s.MaximumUnits != nil && *s.MaximumUnits < 1 { 7659 invalidParams.Add(request.NewErrParamMinValue("MaximumUnits", 1)) 7660 } 7661 if s.MinimumUnits != nil && *s.MinimumUnits < 1 { 7662 invalidParams.Add(request.NewErrParamMinValue("MinimumUnits", 1)) 7663 } 7664 if s.ScalingPolicyUpdate != nil { 7665 if err := s.ScalingPolicyUpdate.Validate(); err != nil { 7666 invalidParams.AddNested("ScalingPolicyUpdate", err.(request.ErrInvalidParams)) 7667 } 7668 } 7669 7670 if invalidParams.Len() > 0 { 7671 return invalidParams 7672 } 7673 return nil 7674 } 7675 7676 // SetAutoScalingDisabled sets the AutoScalingDisabled field's value. 7677 func (s *AutoScalingSettingsUpdate) SetAutoScalingDisabled(v bool) *AutoScalingSettingsUpdate { 7678 s.AutoScalingDisabled = &v 7679 return s 7680 } 7681 7682 // SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value. 7683 func (s *AutoScalingSettingsUpdate) SetAutoScalingRoleArn(v string) *AutoScalingSettingsUpdate { 7684 s.AutoScalingRoleArn = &v 7685 return s 7686 } 7687 7688 // SetMaximumUnits sets the MaximumUnits field's value. 7689 func (s *AutoScalingSettingsUpdate) SetMaximumUnits(v int64) *AutoScalingSettingsUpdate { 7690 s.MaximumUnits = &v 7691 return s 7692 } 7693 7694 // SetMinimumUnits sets the MinimumUnits field's value. 7695 func (s *AutoScalingSettingsUpdate) SetMinimumUnits(v int64) *AutoScalingSettingsUpdate { 7696 s.MinimumUnits = &v 7697 return s 7698 } 7699 7700 // SetScalingPolicyUpdate sets the ScalingPolicyUpdate field's value. 7701 func (s *AutoScalingSettingsUpdate) SetScalingPolicyUpdate(v *AutoScalingPolicyUpdate) *AutoScalingSettingsUpdate { 7702 s.ScalingPolicyUpdate = v 7703 return s 7704 } 7705 7706 // Represents the properties of a target tracking scaling policy. 7707 type AutoScalingTargetTrackingScalingPolicyConfigurationDescription struct { 7708 _ struct{} `type:"structure"` 7709 7710 // Indicates whether scale in by the target tracking policy is disabled. If 7711 // the value is true, scale in is disabled and the target tracking policy won't 7712 // remove capacity from the scalable resource. Otherwise, scale in is enabled 7713 // and the target tracking policy can remove capacity from the scalable resource. 7714 // The default value is false. 7715 DisableScaleIn *bool `type:"boolean"` 7716 7717 // The amount of time, in seconds, after a scale in activity completes before 7718 // another scale in activity can start. The cooldown period is used to block 7719 // subsequent scale in requests until it has expired. You should scale in conservatively 7720 // to protect your application's availability. However, if another alarm triggers 7721 // a scale out policy during the cooldown period after a scale-in, application 7722 // auto scaling scales out your scalable target immediately. 7723 ScaleInCooldown *int64 `type:"integer"` 7724 7725 // The amount of time, in seconds, after a scale out activity completes before 7726 // another scale out activity can start. While the cooldown period is in effect, 7727 // the capacity that has been added by the previous scale out event that initiated 7728 // the cooldown is calculated as part of the desired capacity for the next scale 7729 // out. You should continuously (but not excessively) scale out. 7730 ScaleOutCooldown *int64 `type:"integer"` 7731 7732 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 7733 // (Base 10) or 2e-360 to 2e360 (Base 2). 7734 // 7735 // TargetValue is a required field 7736 TargetValue *float64 `type:"double" required:"true"` 7737 } 7738 7739 // String returns the string representation. 7740 // 7741 // API parameter values that are decorated as "sensitive" in the API will not 7742 // be included in the string output. The member name will be present, but the 7743 // value will be replaced with "sensitive". 7744 func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) String() string { 7745 return awsutil.Prettify(s) 7746 } 7747 7748 // GoString returns the string representation. 7749 // 7750 // API parameter values that are decorated as "sensitive" in the API will not 7751 // be included in the string output. The member name will be present, but the 7752 // value will be replaced with "sensitive". 7753 func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) GoString() string { 7754 return s.String() 7755 } 7756 7757 // SetDisableScaleIn sets the DisableScaleIn field's value. 7758 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 7759 s.DisableScaleIn = &v 7760 return s 7761 } 7762 7763 // SetScaleInCooldown sets the ScaleInCooldown field's value. 7764 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 7765 s.ScaleInCooldown = &v 7766 return s 7767 } 7768 7769 // SetScaleOutCooldown sets the ScaleOutCooldown field's value. 7770 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 7771 s.ScaleOutCooldown = &v 7772 return s 7773 } 7774 7775 // SetTargetValue sets the TargetValue field's value. 7776 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 7777 s.TargetValue = &v 7778 return s 7779 } 7780 7781 // Represents the settings of a target tracking scaling policy that will be 7782 // modified. 7783 type AutoScalingTargetTrackingScalingPolicyConfigurationUpdate struct { 7784 _ struct{} `type:"structure"` 7785 7786 // Indicates whether scale in by the target tracking policy is disabled. If 7787 // the value is true, scale in is disabled and the target tracking policy won't 7788 // remove capacity from the scalable resource. Otherwise, scale in is enabled 7789 // and the target tracking policy can remove capacity from the scalable resource. 7790 // The default value is false. 7791 DisableScaleIn *bool `type:"boolean"` 7792 7793 // The amount of time, in seconds, after a scale in activity completes before 7794 // another scale in activity can start. The cooldown period is used to block 7795 // subsequent scale in requests until it has expired. You should scale in conservatively 7796 // to protect your application's availability. However, if another alarm triggers 7797 // a scale out policy during the cooldown period after a scale-in, application 7798 // auto scaling scales out your scalable target immediately. 7799 ScaleInCooldown *int64 `type:"integer"` 7800 7801 // The amount of time, in seconds, after a scale out activity completes before 7802 // another scale out activity can start. While the cooldown period is in effect, 7803 // the capacity that has been added by the previous scale out event that initiated 7804 // the cooldown is calculated as part of the desired capacity for the next scale 7805 // out. You should continuously (but not excessively) scale out. 7806 ScaleOutCooldown *int64 `type:"integer"` 7807 7808 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 7809 // (Base 10) or 2e-360 to 2e360 (Base 2). 7810 // 7811 // TargetValue is a required field 7812 TargetValue *float64 `type:"double" required:"true"` 7813 } 7814 7815 // String returns the string representation. 7816 // 7817 // API parameter values that are decorated as "sensitive" in the API will not 7818 // be included in the string output. The member name will be present, but the 7819 // value will be replaced with "sensitive". 7820 func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) String() string { 7821 return awsutil.Prettify(s) 7822 } 7823 7824 // GoString returns the string representation. 7825 // 7826 // API parameter values that are decorated as "sensitive" in the API will not 7827 // be included in the string output. The member name will be present, but the 7828 // value will be replaced with "sensitive". 7829 func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) GoString() string { 7830 return s.String() 7831 } 7832 7833 // Validate inspects the fields of the type to determine if they are valid. 7834 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) Validate() error { 7835 invalidParams := request.ErrInvalidParams{Context: "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate"} 7836 if s.TargetValue == nil { 7837 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 7838 } 7839 7840 if invalidParams.Len() > 0 { 7841 return invalidParams 7842 } 7843 return nil 7844 } 7845 7846 // SetDisableScaleIn sets the DisableScaleIn field's value. 7847 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 7848 s.DisableScaleIn = &v 7849 return s 7850 } 7851 7852 // SetScaleInCooldown sets the ScaleInCooldown field's value. 7853 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 7854 s.ScaleInCooldown = &v 7855 return s 7856 } 7857 7858 // SetScaleOutCooldown sets the ScaleOutCooldown field's value. 7859 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 7860 s.ScaleOutCooldown = &v 7861 return s 7862 } 7863 7864 // SetTargetValue sets the TargetValue field's value. 7865 func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 7866 s.TargetValue = &v 7867 return s 7868 } 7869 7870 // Contains the description of the backup created for the table. 7871 type BackupDescription struct { 7872 _ struct{} `type:"structure"` 7873 7874 // Contains the details of the backup created for the table. 7875 BackupDetails *BackupDetails `type:"structure"` 7876 7877 // Contains the details of the table when the backup was created. 7878 SourceTableDetails *SourceTableDetails `type:"structure"` 7879 7880 // Contains the details of the features enabled on the table when the backup 7881 // was created. For example, LSIs, GSIs, streams, TTL. 7882 SourceTableFeatureDetails *SourceTableFeatureDetails `type:"structure"` 7883 } 7884 7885 // String returns the string representation. 7886 // 7887 // API parameter values that are decorated as "sensitive" in the API will not 7888 // be included in the string output. The member name will be present, but the 7889 // value will be replaced with "sensitive". 7890 func (s BackupDescription) String() string { 7891 return awsutil.Prettify(s) 7892 } 7893 7894 // GoString returns the string representation. 7895 // 7896 // API parameter values that are decorated as "sensitive" in the API will not 7897 // be included in the string output. The member name will be present, but the 7898 // value will be replaced with "sensitive". 7899 func (s BackupDescription) GoString() string { 7900 return s.String() 7901 } 7902 7903 // SetBackupDetails sets the BackupDetails field's value. 7904 func (s *BackupDescription) SetBackupDetails(v *BackupDetails) *BackupDescription { 7905 s.BackupDetails = v 7906 return s 7907 } 7908 7909 // SetSourceTableDetails sets the SourceTableDetails field's value. 7910 func (s *BackupDescription) SetSourceTableDetails(v *SourceTableDetails) *BackupDescription { 7911 s.SourceTableDetails = v 7912 return s 7913 } 7914 7915 // SetSourceTableFeatureDetails sets the SourceTableFeatureDetails field's value. 7916 func (s *BackupDescription) SetSourceTableFeatureDetails(v *SourceTableFeatureDetails) *BackupDescription { 7917 s.SourceTableFeatureDetails = v 7918 return s 7919 } 7920 7921 // Contains the details of the backup created for the table. 7922 type BackupDetails struct { 7923 _ struct{} `type:"structure"` 7924 7925 // ARN associated with the backup. 7926 // 7927 // BackupArn is a required field 7928 BackupArn *string `min:"37" type:"string" required:"true"` 7929 7930 // Time at which the backup was created. This is the request time of the backup. 7931 // 7932 // BackupCreationDateTime is a required field 7933 BackupCreationDateTime *time.Time `type:"timestamp" required:"true"` 7934 7935 // Time at which the automatic on-demand backup created by DynamoDB will expire. 7936 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 7937 BackupExpiryDateTime *time.Time `type:"timestamp"` 7938 7939 // Name of the requested backup. 7940 // 7941 // BackupName is a required field 7942 BackupName *string `min:"3" type:"string" required:"true"` 7943 7944 // Size of the backup in bytes. 7945 BackupSizeBytes *int64 `type:"long"` 7946 7947 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 7948 // 7949 // BackupStatus is a required field 7950 BackupStatus *string `type:"string" required:"true" enum:"BackupStatus"` 7951 7952 // BackupType: 7953 // 7954 // * USER - You create and manage these using the on-demand backup feature. 7955 // 7956 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 7957 // a SYSTEM backup is automatically created and is retained for 35 days (at 7958 // no additional cost). System backups allow you to restore the deleted table 7959 // to the state it was in just before the point of deletion. 7960 // 7961 // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. 7962 // 7963 // BackupType is a required field 7964 BackupType *string `type:"string" required:"true" enum:"BackupType"` 7965 } 7966 7967 // String returns the string representation. 7968 // 7969 // API parameter values that are decorated as "sensitive" in the API will not 7970 // be included in the string output. The member name will be present, but the 7971 // value will be replaced with "sensitive". 7972 func (s BackupDetails) String() string { 7973 return awsutil.Prettify(s) 7974 } 7975 7976 // GoString returns the string representation. 7977 // 7978 // API parameter values that are decorated as "sensitive" in the API will not 7979 // be included in the string output. The member name will be present, but the 7980 // value will be replaced with "sensitive". 7981 func (s BackupDetails) GoString() string { 7982 return s.String() 7983 } 7984 7985 // SetBackupArn sets the BackupArn field's value. 7986 func (s *BackupDetails) SetBackupArn(v string) *BackupDetails { 7987 s.BackupArn = &v 7988 return s 7989 } 7990 7991 // SetBackupCreationDateTime sets the BackupCreationDateTime field's value. 7992 func (s *BackupDetails) SetBackupCreationDateTime(v time.Time) *BackupDetails { 7993 s.BackupCreationDateTime = &v 7994 return s 7995 } 7996 7997 // SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value. 7998 func (s *BackupDetails) SetBackupExpiryDateTime(v time.Time) *BackupDetails { 7999 s.BackupExpiryDateTime = &v 8000 return s 8001 } 8002 8003 // SetBackupName sets the BackupName field's value. 8004 func (s *BackupDetails) SetBackupName(v string) *BackupDetails { 8005 s.BackupName = &v 8006 return s 8007 } 8008 8009 // SetBackupSizeBytes sets the BackupSizeBytes field's value. 8010 func (s *BackupDetails) SetBackupSizeBytes(v int64) *BackupDetails { 8011 s.BackupSizeBytes = &v 8012 return s 8013 } 8014 8015 // SetBackupStatus sets the BackupStatus field's value. 8016 func (s *BackupDetails) SetBackupStatus(v string) *BackupDetails { 8017 s.BackupStatus = &v 8018 return s 8019 } 8020 8021 // SetBackupType sets the BackupType field's value. 8022 func (s *BackupDetails) SetBackupType(v string) *BackupDetails { 8023 s.BackupType = &v 8024 return s 8025 } 8026 8027 // There is another ongoing conflicting backup control plane operation on the 8028 // table. The backup is either being created, deleted or restored to a table. 8029 type BackupInUseException struct { 8030 _ struct{} `type:"structure"` 8031 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8032 8033 Message_ *string `locationName:"message" type:"string"` 8034 } 8035 8036 // String returns the string representation. 8037 // 8038 // API parameter values that are decorated as "sensitive" in the API will not 8039 // be included in the string output. The member name will be present, but the 8040 // value will be replaced with "sensitive". 8041 func (s BackupInUseException) String() string { 8042 return awsutil.Prettify(s) 8043 } 8044 8045 // GoString returns the string representation. 8046 // 8047 // API parameter values that are decorated as "sensitive" in the API will not 8048 // be included in the string output. The member name will be present, but the 8049 // value will be replaced with "sensitive". 8050 func (s BackupInUseException) GoString() string { 8051 return s.String() 8052 } 8053 8054 func newErrorBackupInUseException(v protocol.ResponseMetadata) error { 8055 return &BackupInUseException{ 8056 RespMetadata: v, 8057 } 8058 } 8059 8060 // Code returns the exception type name. 8061 func (s *BackupInUseException) Code() string { 8062 return "BackupInUseException" 8063 } 8064 8065 // Message returns the exception's message. 8066 func (s *BackupInUseException) Message() string { 8067 if s.Message_ != nil { 8068 return *s.Message_ 8069 } 8070 return "" 8071 } 8072 8073 // OrigErr always returns nil, satisfies awserr.Error interface. 8074 func (s *BackupInUseException) OrigErr() error { 8075 return nil 8076 } 8077 8078 func (s *BackupInUseException) Error() string { 8079 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8080 } 8081 8082 // Status code returns the HTTP status code for the request's response error. 8083 func (s *BackupInUseException) StatusCode() int { 8084 return s.RespMetadata.StatusCode 8085 } 8086 8087 // RequestID returns the service's response RequestID for request. 8088 func (s *BackupInUseException) RequestID() string { 8089 return s.RespMetadata.RequestID 8090 } 8091 8092 // Backup not found for the given BackupARN. 8093 type BackupNotFoundException struct { 8094 _ struct{} `type:"structure"` 8095 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8096 8097 Message_ *string `locationName:"message" type:"string"` 8098 } 8099 8100 // String returns the string representation. 8101 // 8102 // API parameter values that are decorated as "sensitive" in the API will not 8103 // be included in the string output. The member name will be present, but the 8104 // value will be replaced with "sensitive". 8105 func (s BackupNotFoundException) String() string { 8106 return awsutil.Prettify(s) 8107 } 8108 8109 // GoString returns the string representation. 8110 // 8111 // API parameter values that are decorated as "sensitive" in the API will not 8112 // be included in the string output. The member name will be present, but the 8113 // value will be replaced with "sensitive". 8114 func (s BackupNotFoundException) GoString() string { 8115 return s.String() 8116 } 8117 8118 func newErrorBackupNotFoundException(v protocol.ResponseMetadata) error { 8119 return &BackupNotFoundException{ 8120 RespMetadata: v, 8121 } 8122 } 8123 8124 // Code returns the exception type name. 8125 func (s *BackupNotFoundException) Code() string { 8126 return "BackupNotFoundException" 8127 } 8128 8129 // Message returns the exception's message. 8130 func (s *BackupNotFoundException) Message() string { 8131 if s.Message_ != nil { 8132 return *s.Message_ 8133 } 8134 return "" 8135 } 8136 8137 // OrigErr always returns nil, satisfies awserr.Error interface. 8138 func (s *BackupNotFoundException) OrigErr() error { 8139 return nil 8140 } 8141 8142 func (s *BackupNotFoundException) Error() string { 8143 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8144 } 8145 8146 // Status code returns the HTTP status code for the request's response error. 8147 func (s *BackupNotFoundException) StatusCode() int { 8148 return s.RespMetadata.StatusCode 8149 } 8150 8151 // RequestID returns the service's response RequestID for request. 8152 func (s *BackupNotFoundException) RequestID() string { 8153 return s.RespMetadata.RequestID 8154 } 8155 8156 // Contains details for the backup. 8157 type BackupSummary struct { 8158 _ struct{} `type:"structure"` 8159 8160 // ARN associated with the backup. 8161 BackupArn *string `min:"37" type:"string"` 8162 8163 // Time at which the backup was created. 8164 BackupCreationDateTime *time.Time `type:"timestamp"` 8165 8166 // Time at which the automatic on-demand backup created by DynamoDB will expire. 8167 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 8168 BackupExpiryDateTime *time.Time `type:"timestamp"` 8169 8170 // Name of the specified backup. 8171 BackupName *string `min:"3" type:"string"` 8172 8173 // Size of the backup in bytes. 8174 BackupSizeBytes *int64 `type:"long"` 8175 8176 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 8177 BackupStatus *string `type:"string" enum:"BackupStatus"` 8178 8179 // BackupType: 8180 // 8181 // * USER - You create and manage these using the on-demand backup feature. 8182 // 8183 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 8184 // a SYSTEM backup is automatically created and is retained for 35 days (at 8185 // no additional cost). System backups allow you to restore the deleted table 8186 // to the state it was in just before the point of deletion. 8187 // 8188 // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. 8189 BackupType *string `type:"string" enum:"BackupType"` 8190 8191 // ARN associated with the table. 8192 TableArn *string `type:"string"` 8193 8194 // Unique identifier for the table. 8195 TableId *string `type:"string"` 8196 8197 // Name of the table. 8198 TableName *string `min:"3" type:"string"` 8199 } 8200 8201 // String returns the string representation. 8202 // 8203 // API parameter values that are decorated as "sensitive" in the API will not 8204 // be included in the string output. The member name will be present, but the 8205 // value will be replaced with "sensitive". 8206 func (s BackupSummary) String() string { 8207 return awsutil.Prettify(s) 8208 } 8209 8210 // GoString returns the string representation. 8211 // 8212 // API parameter values that are decorated as "sensitive" in the API will not 8213 // be included in the string output. The member name will be present, but the 8214 // value will be replaced with "sensitive". 8215 func (s BackupSummary) GoString() string { 8216 return s.String() 8217 } 8218 8219 // SetBackupArn sets the BackupArn field's value. 8220 func (s *BackupSummary) SetBackupArn(v string) *BackupSummary { 8221 s.BackupArn = &v 8222 return s 8223 } 8224 8225 // SetBackupCreationDateTime sets the BackupCreationDateTime field's value. 8226 func (s *BackupSummary) SetBackupCreationDateTime(v time.Time) *BackupSummary { 8227 s.BackupCreationDateTime = &v 8228 return s 8229 } 8230 8231 // SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value. 8232 func (s *BackupSummary) SetBackupExpiryDateTime(v time.Time) *BackupSummary { 8233 s.BackupExpiryDateTime = &v 8234 return s 8235 } 8236 8237 // SetBackupName sets the BackupName field's value. 8238 func (s *BackupSummary) SetBackupName(v string) *BackupSummary { 8239 s.BackupName = &v 8240 return s 8241 } 8242 8243 // SetBackupSizeBytes sets the BackupSizeBytes field's value. 8244 func (s *BackupSummary) SetBackupSizeBytes(v int64) *BackupSummary { 8245 s.BackupSizeBytes = &v 8246 return s 8247 } 8248 8249 // SetBackupStatus sets the BackupStatus field's value. 8250 func (s *BackupSummary) SetBackupStatus(v string) *BackupSummary { 8251 s.BackupStatus = &v 8252 return s 8253 } 8254 8255 // SetBackupType sets the BackupType field's value. 8256 func (s *BackupSummary) SetBackupType(v string) *BackupSummary { 8257 s.BackupType = &v 8258 return s 8259 } 8260 8261 // SetTableArn sets the TableArn field's value. 8262 func (s *BackupSummary) SetTableArn(v string) *BackupSummary { 8263 s.TableArn = &v 8264 return s 8265 } 8266 8267 // SetTableId sets the TableId field's value. 8268 func (s *BackupSummary) SetTableId(v string) *BackupSummary { 8269 s.TableId = &v 8270 return s 8271 } 8272 8273 // SetTableName sets the TableName field's value. 8274 func (s *BackupSummary) SetTableName(v string) *BackupSummary { 8275 s.TableName = &v 8276 return s 8277 } 8278 8279 type BatchExecuteStatementInput struct { 8280 _ struct{} `type:"structure"` 8281 8282 // The list of PartiQL statements representing the batch to run. 8283 // 8284 // Statements is a required field 8285 Statements []*BatchStatementRequest `min:"1" type:"list" required:"true"` 8286 } 8287 8288 // String returns the string representation. 8289 // 8290 // API parameter values that are decorated as "sensitive" in the API will not 8291 // be included in the string output. The member name will be present, but the 8292 // value will be replaced with "sensitive". 8293 func (s BatchExecuteStatementInput) String() string { 8294 return awsutil.Prettify(s) 8295 } 8296 8297 // GoString returns the string representation. 8298 // 8299 // API parameter values that are decorated as "sensitive" in the API will not 8300 // be included in the string output. The member name will be present, but the 8301 // value will be replaced with "sensitive". 8302 func (s BatchExecuteStatementInput) GoString() string { 8303 return s.String() 8304 } 8305 8306 // Validate inspects the fields of the type to determine if they are valid. 8307 func (s *BatchExecuteStatementInput) Validate() error { 8308 invalidParams := request.ErrInvalidParams{Context: "BatchExecuteStatementInput"} 8309 if s.Statements == nil { 8310 invalidParams.Add(request.NewErrParamRequired("Statements")) 8311 } 8312 if s.Statements != nil && len(s.Statements) < 1 { 8313 invalidParams.Add(request.NewErrParamMinLen("Statements", 1)) 8314 } 8315 if s.Statements != nil { 8316 for i, v := range s.Statements { 8317 if v == nil { 8318 continue 8319 } 8320 if err := v.Validate(); err != nil { 8321 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Statements", i), err.(request.ErrInvalidParams)) 8322 } 8323 } 8324 } 8325 8326 if invalidParams.Len() > 0 { 8327 return invalidParams 8328 } 8329 return nil 8330 } 8331 8332 // SetStatements sets the Statements field's value. 8333 func (s *BatchExecuteStatementInput) SetStatements(v []*BatchStatementRequest) *BatchExecuteStatementInput { 8334 s.Statements = v 8335 return s 8336 } 8337 8338 type BatchExecuteStatementOutput struct { 8339 _ struct{} `type:"structure"` 8340 8341 // The response to each PartiQL statement in the batch. 8342 Responses []*BatchStatementResponse `type:"list"` 8343 } 8344 8345 // String returns the string representation. 8346 // 8347 // API parameter values that are decorated as "sensitive" in the API will not 8348 // be included in the string output. The member name will be present, but the 8349 // value will be replaced with "sensitive". 8350 func (s BatchExecuteStatementOutput) String() string { 8351 return awsutil.Prettify(s) 8352 } 8353 8354 // GoString returns the string representation. 8355 // 8356 // API parameter values that are decorated as "sensitive" in the API will not 8357 // be included in the string output. The member name will be present, but the 8358 // value will be replaced with "sensitive". 8359 func (s BatchExecuteStatementOutput) GoString() string { 8360 return s.String() 8361 } 8362 8363 // SetResponses sets the Responses field's value. 8364 func (s *BatchExecuteStatementOutput) SetResponses(v []*BatchStatementResponse) *BatchExecuteStatementOutput { 8365 s.Responses = v 8366 return s 8367 } 8368 8369 // Represents the input of a BatchGetItem operation. 8370 type BatchGetItemInput struct { 8371 _ struct{} `type:"structure"` 8372 8373 // A map of one or more table names and, for each table, a map that describes 8374 // one or more items to retrieve from that table. Each table name can be used 8375 // only once per BatchGetItem request. 8376 // 8377 // Each element in the map of items to retrieve consists of the following: 8378 // 8379 // * ConsistentRead - If true, a strongly consistent read is used; if false 8380 // (the default), an eventually consistent read is used. 8381 // 8382 // * ExpressionAttributeNames - One or more substitution tokens for attribute 8383 // names in the ProjectionExpression parameter. The following are some use 8384 // cases for using ExpressionAttributeNames: To access an attribute whose 8385 // name conflicts with a DynamoDB reserved word. To create a placeholder 8386 // for repeating occurrences of an attribute name in an expression. To prevent 8387 // special characters in an attribute name from being misinterpreted in an 8388 // expression. Use the # character in an expression to dereference an attribute 8389 // name. For example, consider the following attribute name: Percentile The 8390 // name of this attribute conflicts with a reserved word, so it cannot be 8391 // used directly in an expression. (For the complete list of reserved words, 8392 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 8393 // in the Amazon DynamoDB Developer Guide). To work around this, you could 8394 // specify the following for ExpressionAttributeNames: {"#P":"Percentile"} 8395 // You could then use this substitution in an expression, as in this example: 8396 // #P = :val Tokens that begin with the : character are expression attribute 8397 // values, which are placeholders for the actual value at runtime. For more 8398 // information about expression attribute names, see Accessing Item Attributes 8399 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 8400 // in the Amazon DynamoDB Developer Guide. 8401 // 8402 // * Keys - An array of primary key attribute values that define specific 8403 // items in the table. For each primary key, you must provide all of the 8404 // key attributes. For example, with a simple primary key, you only need 8405 // to provide the partition key value. For a composite key, you must provide 8406 // both the partition key value and the sort key value. 8407 // 8408 // * ProjectionExpression - A string that identifies one or more attributes 8409 // to retrieve from the table. These attributes can include scalars, sets, 8410 // or elements of a JSON document. The attributes in the expression must 8411 // be separated by commas. If no attribute names are specified, then all 8412 // attributes are returned. If any of the requested attributes are not found, 8413 // they do not appear in the result. For more information, see Accessing 8414 // Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 8415 // in the Amazon DynamoDB Developer Guide. 8416 // 8417 // * AttributesToGet - This is a legacy parameter. Use ProjectionExpression 8418 // instead. For more information, see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 8419 // in the Amazon DynamoDB Developer Guide. 8420 // 8421 // RequestItems is a required field 8422 RequestItems map[string]*KeysAndAttributes `min:"1" type:"map" required:"true"` 8423 8424 // Determines the level of detail about provisioned throughput consumption that 8425 // is returned in the response: 8426 // 8427 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 8428 // operation, together with ConsumedCapacity for each table and secondary 8429 // index that was accessed. Note that some operations, such as GetItem and 8430 // BatchGetItem, do not access any indexes at all. In these cases, specifying 8431 // INDEXES will only return ConsumedCapacity information for table(s). 8432 // 8433 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 8434 // the operation. 8435 // 8436 // * NONE - No ConsumedCapacity details are included in the response. 8437 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 8438 } 8439 8440 // String returns the string representation. 8441 // 8442 // API parameter values that are decorated as "sensitive" in the API will not 8443 // be included in the string output. The member name will be present, but the 8444 // value will be replaced with "sensitive". 8445 func (s BatchGetItemInput) String() string { 8446 return awsutil.Prettify(s) 8447 } 8448 8449 // GoString returns the string representation. 8450 // 8451 // API parameter values that are decorated as "sensitive" in the API will not 8452 // be included in the string output. The member name will be present, but the 8453 // value will be replaced with "sensitive". 8454 func (s BatchGetItemInput) GoString() string { 8455 return s.String() 8456 } 8457 8458 // Validate inspects the fields of the type to determine if they are valid. 8459 func (s *BatchGetItemInput) Validate() error { 8460 invalidParams := request.ErrInvalidParams{Context: "BatchGetItemInput"} 8461 if s.RequestItems == nil { 8462 invalidParams.Add(request.NewErrParamRequired("RequestItems")) 8463 } 8464 if s.RequestItems != nil && len(s.RequestItems) < 1 { 8465 invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1)) 8466 } 8467 if s.RequestItems != nil { 8468 for i, v := range s.RequestItems { 8469 if v == nil { 8470 continue 8471 } 8472 if err := v.Validate(); err != nil { 8473 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequestItems", i), err.(request.ErrInvalidParams)) 8474 } 8475 } 8476 } 8477 8478 if invalidParams.Len() > 0 { 8479 return invalidParams 8480 } 8481 return nil 8482 } 8483 8484 // SetRequestItems sets the RequestItems field's value. 8485 func (s *BatchGetItemInput) SetRequestItems(v map[string]*KeysAndAttributes) *BatchGetItemInput { 8486 s.RequestItems = v 8487 return s 8488 } 8489 8490 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 8491 func (s *BatchGetItemInput) SetReturnConsumedCapacity(v string) *BatchGetItemInput { 8492 s.ReturnConsumedCapacity = &v 8493 return s 8494 } 8495 8496 // Represents the output of a BatchGetItem operation. 8497 type BatchGetItemOutput struct { 8498 _ struct{} `type:"structure"` 8499 8500 // The read capacity units consumed by the entire BatchGetItem operation. 8501 // 8502 // Each element consists of: 8503 // 8504 // * TableName - The table that consumed the provisioned throughput. 8505 // 8506 // * CapacityUnits - The total number of capacity units consumed. 8507 ConsumedCapacity []*ConsumedCapacity `type:"list"` 8508 8509 // A map of table name to a list of items. Each object in Responses consists 8510 // of a table name, along with a map of attribute data consisting of the data 8511 // type and attribute value. 8512 Responses map[string][]map[string]*AttributeValue `type:"map"` 8513 8514 // A map of tables and their respective keys that were not processed with the 8515 // current response. The UnprocessedKeys value is in the same form as RequestItems, 8516 // so the value can be provided directly to a subsequent BatchGetItem operation. 8517 // For more information, see RequestItems in the Request Parameters section. 8518 // 8519 // Each element consists of: 8520 // 8521 // * Keys - An array of primary key attribute values that define specific 8522 // items in the table. 8523 // 8524 // * ProjectionExpression - One or more attributes to be retrieved from the 8525 // table or index. By default, all attributes are returned. If a requested 8526 // attribute is not found, it does not appear in the result. 8527 // 8528 // * ConsistentRead - The consistency of a read operation. If set to true, 8529 // then a strongly consistent read is used; otherwise, an eventually consistent 8530 // read is used. 8531 // 8532 // If there are no unprocessed keys remaining, the response contains an empty 8533 // UnprocessedKeys map. 8534 UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"` 8535 } 8536 8537 // String returns the string representation. 8538 // 8539 // API parameter values that are decorated as "sensitive" in the API will not 8540 // be included in the string output. The member name will be present, but the 8541 // value will be replaced with "sensitive". 8542 func (s BatchGetItemOutput) String() string { 8543 return awsutil.Prettify(s) 8544 } 8545 8546 // GoString returns the string representation. 8547 // 8548 // API parameter values that are decorated as "sensitive" in the API will not 8549 // be included in the string output. The member name will be present, but the 8550 // value will be replaced with "sensitive". 8551 func (s BatchGetItemOutput) GoString() string { 8552 return s.String() 8553 } 8554 8555 // SetConsumedCapacity sets the ConsumedCapacity field's value. 8556 func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput { 8557 s.ConsumedCapacity = v 8558 return s 8559 } 8560 8561 // SetResponses sets the Responses field's value. 8562 func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput { 8563 s.Responses = v 8564 return s 8565 } 8566 8567 // SetUnprocessedKeys sets the UnprocessedKeys field's value. 8568 func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput { 8569 s.UnprocessedKeys = v 8570 return s 8571 } 8572 8573 // An error associated with a statement in a PartiQL batch that was run. 8574 type BatchStatementError struct { 8575 _ struct{} `type:"structure"` 8576 8577 // The error code associated with the failed PartiQL batch statement. 8578 Code *string `type:"string" enum:"BatchStatementErrorCodeEnum"` 8579 8580 // The error message associated with the PartiQL batch resposne. 8581 Message *string `type:"string"` 8582 } 8583 8584 // String returns the string representation. 8585 // 8586 // API parameter values that are decorated as "sensitive" in the API will not 8587 // be included in the string output. The member name will be present, but the 8588 // value will be replaced with "sensitive". 8589 func (s BatchStatementError) String() string { 8590 return awsutil.Prettify(s) 8591 } 8592 8593 // GoString returns the string representation. 8594 // 8595 // API parameter values that are decorated as "sensitive" in the API will not 8596 // be included in the string output. The member name will be present, but the 8597 // value will be replaced with "sensitive". 8598 func (s BatchStatementError) GoString() string { 8599 return s.String() 8600 } 8601 8602 // SetCode sets the Code field's value. 8603 func (s *BatchStatementError) SetCode(v string) *BatchStatementError { 8604 s.Code = &v 8605 return s 8606 } 8607 8608 // SetMessage sets the Message field's value. 8609 func (s *BatchStatementError) SetMessage(v string) *BatchStatementError { 8610 s.Message = &v 8611 return s 8612 } 8613 8614 // A PartiQL batch statement request. 8615 type BatchStatementRequest struct { 8616 _ struct{} `type:"structure"` 8617 8618 // The read consistency of the PartiQL batch request. 8619 ConsistentRead *bool `type:"boolean"` 8620 8621 // The parameters associated with a PartiQL statement in the batch request. 8622 Parameters []*AttributeValue `min:"1" type:"list"` 8623 8624 // A valid PartiQL statement. 8625 // 8626 // Statement is a required field 8627 Statement *string `min:"1" type:"string" required:"true"` 8628 } 8629 8630 // String returns the string representation. 8631 // 8632 // API parameter values that are decorated as "sensitive" in the API will not 8633 // be included in the string output. The member name will be present, but the 8634 // value will be replaced with "sensitive". 8635 func (s BatchStatementRequest) String() string { 8636 return awsutil.Prettify(s) 8637 } 8638 8639 // GoString returns the string representation. 8640 // 8641 // API parameter values that are decorated as "sensitive" in the API will not 8642 // be included in the string output. The member name will be present, but the 8643 // value will be replaced with "sensitive". 8644 func (s BatchStatementRequest) GoString() string { 8645 return s.String() 8646 } 8647 8648 // Validate inspects the fields of the type to determine if they are valid. 8649 func (s *BatchStatementRequest) Validate() error { 8650 invalidParams := request.ErrInvalidParams{Context: "BatchStatementRequest"} 8651 if s.Parameters != nil && len(s.Parameters) < 1 { 8652 invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) 8653 } 8654 if s.Statement == nil { 8655 invalidParams.Add(request.NewErrParamRequired("Statement")) 8656 } 8657 if s.Statement != nil && len(*s.Statement) < 1 { 8658 invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) 8659 } 8660 8661 if invalidParams.Len() > 0 { 8662 return invalidParams 8663 } 8664 return nil 8665 } 8666 8667 // SetConsistentRead sets the ConsistentRead field's value. 8668 func (s *BatchStatementRequest) SetConsistentRead(v bool) *BatchStatementRequest { 8669 s.ConsistentRead = &v 8670 return s 8671 } 8672 8673 // SetParameters sets the Parameters field's value. 8674 func (s *BatchStatementRequest) SetParameters(v []*AttributeValue) *BatchStatementRequest { 8675 s.Parameters = v 8676 return s 8677 } 8678 8679 // SetStatement sets the Statement field's value. 8680 func (s *BatchStatementRequest) SetStatement(v string) *BatchStatementRequest { 8681 s.Statement = &v 8682 return s 8683 } 8684 8685 // A PartiQL batch statement response.. 8686 type BatchStatementResponse struct { 8687 _ struct{} `type:"structure"` 8688 8689 // The error associated with a failed PartiQL batch statement. 8690 Error *BatchStatementError `type:"structure"` 8691 8692 // A DynamoDB item associated with a BatchStatementResponse 8693 Item map[string]*AttributeValue `type:"map"` 8694 8695 // The table name associated with a failed PartiQL batch statement. 8696 TableName *string `min:"3" type:"string"` 8697 } 8698 8699 // String returns the string representation. 8700 // 8701 // API parameter values that are decorated as "sensitive" in the API will not 8702 // be included in the string output. The member name will be present, but the 8703 // value will be replaced with "sensitive". 8704 func (s BatchStatementResponse) String() string { 8705 return awsutil.Prettify(s) 8706 } 8707 8708 // GoString returns the string representation. 8709 // 8710 // API parameter values that are decorated as "sensitive" in the API will not 8711 // be included in the string output. The member name will be present, but the 8712 // value will be replaced with "sensitive". 8713 func (s BatchStatementResponse) GoString() string { 8714 return s.String() 8715 } 8716 8717 // SetError sets the Error field's value. 8718 func (s *BatchStatementResponse) SetError(v *BatchStatementError) *BatchStatementResponse { 8719 s.Error = v 8720 return s 8721 } 8722 8723 // SetItem sets the Item field's value. 8724 func (s *BatchStatementResponse) SetItem(v map[string]*AttributeValue) *BatchStatementResponse { 8725 s.Item = v 8726 return s 8727 } 8728 8729 // SetTableName sets the TableName field's value. 8730 func (s *BatchStatementResponse) SetTableName(v string) *BatchStatementResponse { 8731 s.TableName = &v 8732 return s 8733 } 8734 8735 // Represents the input of a BatchWriteItem operation. 8736 type BatchWriteItemInput struct { 8737 _ struct{} `type:"structure"` 8738 8739 // A map of one or more table names and, for each table, a list of operations 8740 // to be performed (DeleteRequest or PutRequest). Each element in the map consists 8741 // of the following: 8742 // 8743 // * DeleteRequest - Perform a DeleteItem operation on the specified item. 8744 // The item to be deleted is identified by a Key subelement: Key - A map 8745 // of primary key attribute values that uniquely identify the item. Each 8746 // entry in this map consists of an attribute name and an attribute value. 8747 // For each primary key, you must provide all of the key attributes. For 8748 // example, with a simple primary key, you only need to provide a value for 8749 // the partition key. For a composite primary key, you must provide values 8750 // for both the partition key and the sort key. 8751 // 8752 // * PutRequest - Perform a PutItem operation on the specified item. The 8753 // item to be put is identified by an Item subelement: Item - A map of attributes 8754 // and their values. Each entry in this map consists of an attribute name 8755 // and an attribute value. Attribute values must not be null; string and 8756 // binary type attributes must have lengths greater than zero; and set type 8757 // attributes must not be empty. Requests that contain empty values are rejected 8758 // with a ValidationException exception. If you specify any attributes that 8759 // are part of an index key, then the data types for those attributes must 8760 // match those of the schema in the table's attribute definition. 8761 // 8762 // RequestItems is a required field 8763 RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"` 8764 8765 // Determines the level of detail about provisioned throughput consumption that 8766 // is returned in the response: 8767 // 8768 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 8769 // operation, together with ConsumedCapacity for each table and secondary 8770 // index that was accessed. Note that some operations, such as GetItem and 8771 // BatchGetItem, do not access any indexes at all. In these cases, specifying 8772 // INDEXES will only return ConsumedCapacity information for table(s). 8773 // 8774 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 8775 // the operation. 8776 // 8777 // * NONE - No ConsumedCapacity details are included in the response. 8778 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 8779 8780 // Determines whether item collection metrics are returned. If set to SIZE, 8781 // the response includes statistics about item collections, if any, that were 8782 // modified during the operation are returned in the response. If set to NONE 8783 // (the default), no statistics are returned. 8784 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 8785 } 8786 8787 // String returns the string representation. 8788 // 8789 // API parameter values that are decorated as "sensitive" in the API will not 8790 // be included in the string output. The member name will be present, but the 8791 // value will be replaced with "sensitive". 8792 func (s BatchWriteItemInput) String() string { 8793 return awsutil.Prettify(s) 8794 } 8795 8796 // GoString returns the string representation. 8797 // 8798 // API parameter values that are decorated as "sensitive" in the API will not 8799 // be included in the string output. The member name will be present, but the 8800 // value will be replaced with "sensitive". 8801 func (s BatchWriteItemInput) GoString() string { 8802 return s.String() 8803 } 8804 8805 // Validate inspects the fields of the type to determine if they are valid. 8806 func (s *BatchWriteItemInput) Validate() error { 8807 invalidParams := request.ErrInvalidParams{Context: "BatchWriteItemInput"} 8808 if s.RequestItems == nil { 8809 invalidParams.Add(request.NewErrParamRequired("RequestItems")) 8810 } 8811 if s.RequestItems != nil && len(s.RequestItems) < 1 { 8812 invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1)) 8813 } 8814 8815 if invalidParams.Len() > 0 { 8816 return invalidParams 8817 } 8818 return nil 8819 } 8820 8821 // SetRequestItems sets the RequestItems field's value. 8822 func (s *BatchWriteItemInput) SetRequestItems(v map[string][]*WriteRequest) *BatchWriteItemInput { 8823 s.RequestItems = v 8824 return s 8825 } 8826 8827 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 8828 func (s *BatchWriteItemInput) SetReturnConsumedCapacity(v string) *BatchWriteItemInput { 8829 s.ReturnConsumedCapacity = &v 8830 return s 8831 } 8832 8833 // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 8834 func (s *BatchWriteItemInput) SetReturnItemCollectionMetrics(v string) *BatchWriteItemInput { 8835 s.ReturnItemCollectionMetrics = &v 8836 return s 8837 } 8838 8839 // Represents the output of a BatchWriteItem operation. 8840 type BatchWriteItemOutput struct { 8841 _ struct{} `type:"structure"` 8842 8843 // The capacity units consumed by the entire BatchWriteItem operation. 8844 // 8845 // Each element consists of: 8846 // 8847 // * TableName - The table that consumed the provisioned throughput. 8848 // 8849 // * CapacityUnits - The total number of capacity units consumed. 8850 ConsumedCapacity []*ConsumedCapacity `type:"list"` 8851 8852 // A list of tables that were processed by BatchWriteItem and, for each table, 8853 // information about any item collections that were affected by individual DeleteItem 8854 // or PutItem operations. 8855 // 8856 // Each entry consists of the following subelements: 8857 // 8858 // * ItemCollectionKey - The partition key value of the item collection. 8859 // This is the same as the partition key value of the item. 8860 // 8861 // * SizeEstimateRangeGB - An estimate of item collection size, expressed 8862 // in GB. This is a two-element array containing a lower bound and an upper 8863 // bound for the estimate. The estimate includes the size of all the items 8864 // in the table, plus the size of all attributes projected into all of the 8865 // local secondary indexes on the table. Use this estimate to measure whether 8866 // a local secondary index is approaching its size limit. The estimate is 8867 // subject to change over time; therefore, do not rely on the precision or 8868 // accuracy of the estimate. 8869 ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` 8870 8871 // A map of tables and requests against those tables that were not processed. 8872 // The UnprocessedItems value is in the same form as RequestItems, so you can 8873 // provide this value directly to a subsequent BatchGetItem operation. For more 8874 // information, see RequestItems in the Request Parameters section. 8875 // 8876 // Each UnprocessedItems entry consists of a table name and, for that table, 8877 // a list of operations to perform (DeleteRequest or PutRequest). 8878 // 8879 // * DeleteRequest - Perform a DeleteItem operation on the specified item. 8880 // The item to be deleted is identified by a Key subelement: Key - A map 8881 // of primary key attribute values that uniquely identify the item. Each 8882 // entry in this map consists of an attribute name and an attribute value. 8883 // 8884 // * PutRequest - Perform a PutItem operation on the specified item. The 8885 // item to be put is identified by an Item subelement: Item - A map of attributes 8886 // and their values. Each entry in this map consists of an attribute name 8887 // and an attribute value. Attribute values must not be null; string and 8888 // binary type attributes must have lengths greater than zero; and set type 8889 // attributes must not be empty. Requests that contain empty values will 8890 // be rejected with a ValidationException exception. If you specify any attributes 8891 // that are part of an index key, then the data types for those attributes 8892 // must match those of the schema in the table's attribute definition. 8893 // 8894 // If there are no unprocessed items remaining, the response contains an empty 8895 // UnprocessedItems map. 8896 UnprocessedItems map[string][]*WriteRequest `min:"1" type:"map"` 8897 } 8898 8899 // String returns the string representation. 8900 // 8901 // API parameter values that are decorated as "sensitive" in the API will not 8902 // be included in the string output. The member name will be present, but the 8903 // value will be replaced with "sensitive". 8904 func (s BatchWriteItemOutput) String() string { 8905 return awsutil.Prettify(s) 8906 } 8907 8908 // GoString returns the string representation. 8909 // 8910 // API parameter values that are decorated as "sensitive" in the API will not 8911 // be included in the string output. The member name will be present, but the 8912 // value will be replaced with "sensitive". 8913 func (s BatchWriteItemOutput) GoString() string { 8914 return s.String() 8915 } 8916 8917 // SetConsumedCapacity sets the ConsumedCapacity field's value. 8918 func (s *BatchWriteItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchWriteItemOutput { 8919 s.ConsumedCapacity = v 8920 return s 8921 } 8922 8923 // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 8924 func (s *BatchWriteItemOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *BatchWriteItemOutput { 8925 s.ItemCollectionMetrics = v 8926 return s 8927 } 8928 8929 // SetUnprocessedItems sets the UnprocessedItems field's value. 8930 func (s *BatchWriteItemOutput) SetUnprocessedItems(v map[string][]*WriteRequest) *BatchWriteItemOutput { 8931 s.UnprocessedItems = v 8932 return s 8933 } 8934 8935 // Contains the details for the read/write capacity mode. 8936 type BillingModeSummary struct { 8937 _ struct{} `type:"structure"` 8938 8939 // Controls how you are charged for read and write throughput and how you manage 8940 // capacity. This setting can be changed later. 8941 // 8942 // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend 8943 // using PROVISIONED for predictable workloads. 8944 // 8945 // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. 8946 // We recommend using PAY_PER_REQUEST for unpredictable workloads. 8947 BillingMode *string `type:"string" enum:"BillingMode"` 8948 8949 // Represents the time when PAY_PER_REQUEST was last set as the read/write capacity 8950 // mode. 8951 LastUpdateToPayPerRequestDateTime *time.Time `type:"timestamp"` 8952 } 8953 8954 // String returns the string representation. 8955 // 8956 // API parameter values that are decorated as "sensitive" in the API will not 8957 // be included in the string output. The member name will be present, but the 8958 // value will be replaced with "sensitive". 8959 func (s BillingModeSummary) String() string { 8960 return awsutil.Prettify(s) 8961 } 8962 8963 // GoString returns the string representation. 8964 // 8965 // API parameter values that are decorated as "sensitive" in the API will not 8966 // be included in the string output. The member name will be present, but the 8967 // value will be replaced with "sensitive". 8968 func (s BillingModeSummary) GoString() string { 8969 return s.String() 8970 } 8971 8972 // SetBillingMode sets the BillingMode field's value. 8973 func (s *BillingModeSummary) SetBillingMode(v string) *BillingModeSummary { 8974 s.BillingMode = &v 8975 return s 8976 } 8977 8978 // SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value. 8979 func (s *BillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v time.Time) *BillingModeSummary { 8980 s.LastUpdateToPayPerRequestDateTime = &v 8981 return s 8982 } 8983 8984 // An ordered list of errors for each item in the request which caused the transaction 8985 // to get cancelled. The values of the list are ordered according to the ordering 8986 // of the TransactWriteItems request parameter. If no error occurred for the 8987 // associated item an error with a Null code and Null message will be present. 8988 type CancellationReason struct { 8989 _ struct{} `type:"structure"` 8990 8991 // Status code for the result of the cancelled transaction. 8992 Code *string `type:"string"` 8993 8994 // Item in the request which caused the transaction to get cancelled. 8995 Item map[string]*AttributeValue `type:"map"` 8996 8997 // Cancellation reason message description. 8998 Message *string `type:"string"` 8999 } 9000 9001 // String returns the string representation. 9002 // 9003 // API parameter values that are decorated as "sensitive" in the API will not 9004 // be included in the string output. The member name will be present, but the 9005 // value will be replaced with "sensitive". 9006 func (s CancellationReason) String() string { 9007 return awsutil.Prettify(s) 9008 } 9009 9010 // GoString returns the string representation. 9011 // 9012 // API parameter values that are decorated as "sensitive" in the API will not 9013 // be included in the string output. The member name will be present, but the 9014 // value will be replaced with "sensitive". 9015 func (s CancellationReason) GoString() string { 9016 return s.String() 9017 } 9018 9019 // SetCode sets the Code field's value. 9020 func (s *CancellationReason) SetCode(v string) *CancellationReason { 9021 s.Code = &v 9022 return s 9023 } 9024 9025 // SetItem sets the Item field's value. 9026 func (s *CancellationReason) SetItem(v map[string]*AttributeValue) *CancellationReason { 9027 s.Item = v 9028 return s 9029 } 9030 9031 // SetMessage sets the Message field's value. 9032 func (s *CancellationReason) SetMessage(v string) *CancellationReason { 9033 s.Message = &v 9034 return s 9035 } 9036 9037 // Represents the amount of provisioned throughput capacity consumed on a table 9038 // or an index. 9039 type Capacity struct { 9040 _ struct{} `type:"structure"` 9041 9042 // The total number of capacity units consumed on a table or an index. 9043 CapacityUnits *float64 `type:"double"` 9044 9045 // The total number of read capacity units consumed on a table or an index. 9046 ReadCapacityUnits *float64 `type:"double"` 9047 9048 // The total number of write capacity units consumed on a table or an index. 9049 WriteCapacityUnits *float64 `type:"double"` 9050 } 9051 9052 // String returns the string representation. 9053 // 9054 // API parameter values that are decorated as "sensitive" in the API will not 9055 // be included in the string output. The member name will be present, but the 9056 // value will be replaced with "sensitive". 9057 func (s Capacity) String() string { 9058 return awsutil.Prettify(s) 9059 } 9060 9061 // GoString returns the string representation. 9062 // 9063 // API parameter values that are decorated as "sensitive" in the API will not 9064 // be included in the string output. The member name will be present, but the 9065 // value will be replaced with "sensitive". 9066 func (s Capacity) GoString() string { 9067 return s.String() 9068 } 9069 9070 // SetCapacityUnits sets the CapacityUnits field's value. 9071 func (s *Capacity) SetCapacityUnits(v float64) *Capacity { 9072 s.CapacityUnits = &v 9073 return s 9074 } 9075 9076 // SetReadCapacityUnits sets the ReadCapacityUnits field's value. 9077 func (s *Capacity) SetReadCapacityUnits(v float64) *Capacity { 9078 s.ReadCapacityUnits = &v 9079 return s 9080 } 9081 9082 // SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 9083 func (s *Capacity) SetWriteCapacityUnits(v float64) *Capacity { 9084 s.WriteCapacityUnits = &v 9085 return s 9086 } 9087 9088 // Represents the selection criteria for a Query or Scan operation: 9089 // 9090 // * For a Query operation, Condition is used for specifying the KeyConditions 9091 // to use when querying a table or an index. For KeyConditions, only the 9092 // following comparison operators are supported: EQ | LE | LT | GE | GT | 9093 // BEGINS_WITH | BETWEEN Condition is also used in a QueryFilter, which evaluates 9094 // the query results and returns only the desired values. 9095 // 9096 // * For a Scan operation, Condition is used in a ScanFilter, which evaluates 9097 // the scan results and returns only the desired values. 9098 type Condition struct { 9099 _ struct{} `type:"structure"` 9100 9101 // One or more values to evaluate against the supplied attribute. The number 9102 // of values in the list depends on the ComparisonOperator being used. 9103 // 9104 // For type Number, value comparisons are numeric. 9105 // 9106 // String value comparisons for greater than, equals, or less than are based 9107 // on ASCII character code values. For example, a is greater than A, and a is 9108 // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 9109 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). 9110 // 9111 // For Binary, DynamoDB treats each byte of the binary data as unsigned when 9112 // it compares binary values. 9113 AttributeValueList []*AttributeValue `type:"list"` 9114 9115 // A comparator for evaluating attributes. For example, equals, greater than, 9116 // less than, etc. 9117 // 9118 // The following comparison operators are available: 9119 // 9120 // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | 9121 // BEGINS_WITH | IN | BETWEEN 9122 // 9123 // The following are descriptions of each comparison operator. 9124 // 9125 // * EQ : Equal. EQ is supported for all data types, including lists and 9126 // maps. AttributeValueList can contain only one AttributeValue element of 9127 // type String, Number, Binary, String Set, Number Set, or Binary Set. If 9128 // an item contains an AttributeValue element of a different type than the 9129 // one provided in the request, the value does not match. For example, {"S":"6"} 9130 // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", 9131 // "1"]}. 9132 // 9133 // * NE : Not equal. NE is supported for all data types, including lists 9134 // and maps. AttributeValueList can contain only one AttributeValue of type 9135 // String, Number, Binary, String Set, Number Set, or Binary Set. If an item 9136 // contains an AttributeValue of a different type than the one provided in 9137 // the request, the value does not match. For example, {"S":"6"} does not 9138 // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 9139 // 9140 // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue 9141 // element of type String, Number, or Binary (not a set type). If an item 9142 // contains an AttributeValue element of a different type than the one provided 9143 // in the request, the value does not match. For example, {"S":"6"} does 9144 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 9145 // "1"]}. 9146 // 9147 // * LT : Less than. AttributeValueList can contain only one AttributeValue 9148 // of type String, Number, or Binary (not a set type). If an item contains 9149 // an AttributeValue element of a different type than the one provided in 9150 // the request, the value does not match. For example, {"S":"6"} does not 9151 // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 9152 // "1"]}. 9153 // 9154 // * GE : Greater than or equal. AttributeValueList can contain only one 9155 // AttributeValue element of type String, Number, or Binary (not a set type). 9156 // If an item contains an AttributeValue element of a different type than 9157 // the one provided in the request, the value does not match. For example, 9158 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 9159 // {"NS":["6", "2", "1"]}. 9160 // 9161 // * GT : Greater than. AttributeValueList can contain only one AttributeValue 9162 // element of type String, Number, or Binary (not a set type). If an item 9163 // contains an AttributeValue element of a different type than the one provided 9164 // in the request, the value does not match. For example, {"S":"6"} does 9165 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 9166 // "1"]}. 9167 // 9168 // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data 9169 // types, including lists and maps. This operator tests for the existence 9170 // of an attribute, not its data type. If the data type of attribute "a" 9171 // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 9172 // This result is because the attribute "a" exists; its data type is not 9173 // relevant to the NOT_NULL comparison operator. 9174 // 9175 // * NULL : The attribute does not exist. NULL is supported for all data 9176 // types, including lists and maps. This operator tests for the nonexistence 9177 // of an attribute, not its data type. If the data type of attribute "a" 9178 // is null, and you evaluate it using NULL, the result is a Boolean false. 9179 // This is because the attribute "a" exists; its data type is not relevant 9180 // to the NULL comparison operator. 9181 // 9182 // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList 9183 // can contain only one AttributeValue element of type String, Number, or 9184 // Binary (not a set type). If the target attribute of the comparison is 9185 // of type String, then the operator checks for a substring match. If the 9186 // target attribute of the comparison is of type Binary, then the operator 9187 // looks for a subsequence of the target that matches the input. If the target 9188 // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator 9189 // evaluates to true if it finds an exact match with any member of the set. 9190 // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can 9191 // be a list; however, "b" cannot be a set, a map, or a list. 9192 // 9193 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 9194 // value in a set. AttributeValueList can contain only one AttributeValue 9195 // element of type String, Number, or Binary (not a set type). If the target 9196 // attribute of the comparison is a String, then the operator checks for 9197 // the absence of a substring match. If the target attribute of the comparison 9198 // is Binary, then the operator checks for the absence of a subsequence of 9199 // the target that matches the input. If the target attribute of the comparison 9200 // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if 9201 // it does not find an exact match with any member of the set. NOT_CONTAINS 9202 // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be 9203 // a list; however, "b" cannot be a set, a map, or a list. 9204 // 9205 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 9206 // one AttributeValue of type String or Binary (not a Number or a set type). 9207 // The target attribute of the comparison must be of type String or Binary 9208 // (not a Number or a set type). 9209 // 9210 // * IN : Checks for matching elements in a list. AttributeValueList can 9211 // contain one or more AttributeValue elements of type String, Number, or 9212 // Binary. These attributes are compared against an existing attribute of 9213 // an item. If any elements of the input are equal to the item attribute, 9214 // the expression evaluates to true. 9215 // 9216 // * BETWEEN : Greater than or equal to the first value, and less than or 9217 // equal to the second value. AttributeValueList must contain two AttributeValue 9218 // elements of the same type, either String, Number, or Binary (not a set 9219 // type). A target attribute matches if the target value is greater than, 9220 // or equal to, the first element and less than, or equal to, the second 9221 // element. If an item contains an AttributeValue element of a different 9222 // type than the one provided in the request, the value does not match. For 9223 // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does 9224 // not compare to {"NS":["6", "2", "1"]} 9225 // 9226 // For usage examples of AttributeValueList and ComparisonOperator, see Legacy 9227 // Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 9228 // in the Amazon DynamoDB Developer Guide. 9229 // 9230 // ComparisonOperator is a required field 9231 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 9232 } 9233 9234 // String returns the string representation. 9235 // 9236 // API parameter values that are decorated as "sensitive" in the API will not 9237 // be included in the string output. The member name will be present, but the 9238 // value will be replaced with "sensitive". 9239 func (s Condition) String() string { 9240 return awsutil.Prettify(s) 9241 } 9242 9243 // GoString returns the string representation. 9244 // 9245 // API parameter values that are decorated as "sensitive" in the API will not 9246 // be included in the string output. The member name will be present, but the 9247 // value will be replaced with "sensitive". 9248 func (s Condition) GoString() string { 9249 return s.String() 9250 } 9251 9252 // Validate inspects the fields of the type to determine if they are valid. 9253 func (s *Condition) Validate() error { 9254 invalidParams := request.ErrInvalidParams{Context: "Condition"} 9255 if s.ComparisonOperator == nil { 9256 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 9257 } 9258 9259 if invalidParams.Len() > 0 { 9260 return invalidParams 9261 } 9262 return nil 9263 } 9264 9265 // SetAttributeValueList sets the AttributeValueList field's value. 9266 func (s *Condition) SetAttributeValueList(v []*AttributeValue) *Condition { 9267 s.AttributeValueList = v 9268 return s 9269 } 9270 9271 // SetComparisonOperator sets the ComparisonOperator field's value. 9272 func (s *Condition) SetComparisonOperator(v string) *Condition { 9273 s.ComparisonOperator = &v 9274 return s 9275 } 9276 9277 // Represents a request to perform a check that an item exists or to check the 9278 // condition of specific attributes of the item. 9279 type ConditionCheck struct { 9280 _ struct{} `type:"structure"` 9281 9282 // A condition that must be satisfied in order for a conditional update to succeed. 9283 // 9284 // ConditionExpression is a required field 9285 ConditionExpression *string `type:"string" required:"true"` 9286 9287 // One or more substitution tokens for attribute names in an expression. 9288 ExpressionAttributeNames map[string]*string `type:"map"` 9289 9290 // One or more values that can be substituted in an expression. 9291 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 9292 9293 // The primary key of the item to be checked. Each element consists of an attribute 9294 // name and a value for that attribute. 9295 // 9296 // Key is a required field 9297 Key map[string]*AttributeValue `type:"map" required:"true"` 9298 9299 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 9300 // ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure, 9301 // the valid values are: NONE and ALL_OLD. 9302 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 9303 9304 // Name of the table for the check item request. 9305 // 9306 // TableName is a required field 9307 TableName *string `min:"3" type:"string" required:"true"` 9308 } 9309 9310 // String returns the string representation. 9311 // 9312 // API parameter values that are decorated as "sensitive" in the API will not 9313 // be included in the string output. The member name will be present, but the 9314 // value will be replaced with "sensitive". 9315 func (s ConditionCheck) String() string { 9316 return awsutil.Prettify(s) 9317 } 9318 9319 // GoString returns the string representation. 9320 // 9321 // API parameter values that are decorated as "sensitive" in the API will not 9322 // be included in the string output. The member name will be present, but the 9323 // value will be replaced with "sensitive". 9324 func (s ConditionCheck) GoString() string { 9325 return s.String() 9326 } 9327 9328 // Validate inspects the fields of the type to determine if they are valid. 9329 func (s *ConditionCheck) Validate() error { 9330 invalidParams := request.ErrInvalidParams{Context: "ConditionCheck"} 9331 if s.ConditionExpression == nil { 9332 invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) 9333 } 9334 if s.Key == nil { 9335 invalidParams.Add(request.NewErrParamRequired("Key")) 9336 } 9337 if s.TableName == nil { 9338 invalidParams.Add(request.NewErrParamRequired("TableName")) 9339 } 9340 if s.TableName != nil && len(*s.TableName) < 3 { 9341 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9342 } 9343 9344 if invalidParams.Len() > 0 { 9345 return invalidParams 9346 } 9347 return nil 9348 } 9349 9350 // SetConditionExpression sets the ConditionExpression field's value. 9351 func (s *ConditionCheck) SetConditionExpression(v string) *ConditionCheck { 9352 s.ConditionExpression = &v 9353 return s 9354 } 9355 9356 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 9357 func (s *ConditionCheck) SetExpressionAttributeNames(v map[string]*string) *ConditionCheck { 9358 s.ExpressionAttributeNames = v 9359 return s 9360 } 9361 9362 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 9363 func (s *ConditionCheck) SetExpressionAttributeValues(v map[string]*AttributeValue) *ConditionCheck { 9364 s.ExpressionAttributeValues = v 9365 return s 9366 } 9367 9368 // SetKey sets the Key field's value. 9369 func (s *ConditionCheck) SetKey(v map[string]*AttributeValue) *ConditionCheck { 9370 s.Key = v 9371 return s 9372 } 9373 9374 // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 9375 func (s *ConditionCheck) SetReturnValuesOnConditionCheckFailure(v string) *ConditionCheck { 9376 s.ReturnValuesOnConditionCheckFailure = &v 9377 return s 9378 } 9379 9380 // SetTableName sets the TableName field's value. 9381 func (s *ConditionCheck) SetTableName(v string) *ConditionCheck { 9382 s.TableName = &v 9383 return s 9384 } 9385 9386 // A condition specified in the operation could not be evaluated. 9387 type ConditionalCheckFailedException struct { 9388 _ struct{} `type:"structure"` 9389 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9390 9391 // The conditional request failed. 9392 Message_ *string `locationName:"message" type:"string"` 9393 } 9394 9395 // String returns the string representation. 9396 // 9397 // API parameter values that are decorated as "sensitive" in the API will not 9398 // be included in the string output. The member name will be present, but the 9399 // value will be replaced with "sensitive". 9400 func (s ConditionalCheckFailedException) String() string { 9401 return awsutil.Prettify(s) 9402 } 9403 9404 // GoString returns the string representation. 9405 // 9406 // API parameter values that are decorated as "sensitive" in the API will not 9407 // be included in the string output. The member name will be present, but the 9408 // value will be replaced with "sensitive". 9409 func (s ConditionalCheckFailedException) GoString() string { 9410 return s.String() 9411 } 9412 9413 func newErrorConditionalCheckFailedException(v protocol.ResponseMetadata) error { 9414 return &ConditionalCheckFailedException{ 9415 RespMetadata: v, 9416 } 9417 } 9418 9419 // Code returns the exception type name. 9420 func (s *ConditionalCheckFailedException) Code() string { 9421 return "ConditionalCheckFailedException" 9422 } 9423 9424 // Message returns the exception's message. 9425 func (s *ConditionalCheckFailedException) Message() string { 9426 if s.Message_ != nil { 9427 return *s.Message_ 9428 } 9429 return "" 9430 } 9431 9432 // OrigErr always returns nil, satisfies awserr.Error interface. 9433 func (s *ConditionalCheckFailedException) OrigErr() error { 9434 return nil 9435 } 9436 9437 func (s *ConditionalCheckFailedException) Error() string { 9438 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9439 } 9440 9441 // Status code returns the HTTP status code for the request's response error. 9442 func (s *ConditionalCheckFailedException) StatusCode() int { 9443 return s.RespMetadata.StatusCode 9444 } 9445 9446 // RequestID returns the service's response RequestID for request. 9447 func (s *ConditionalCheckFailedException) RequestID() string { 9448 return s.RespMetadata.RequestID 9449 } 9450 9451 // The capacity units consumed by an operation. The data returned includes the 9452 // total provisioned throughput consumed, along with statistics for the table 9453 // and any indexes involved in the operation. ConsumedCapacity is only returned 9454 // if the request asked for it. For more information, see Provisioned Throughput 9455 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 9456 // in the Amazon DynamoDB Developer Guide. 9457 type ConsumedCapacity struct { 9458 _ struct{} `type:"structure"` 9459 9460 // The total number of capacity units consumed by the operation. 9461 CapacityUnits *float64 `type:"double"` 9462 9463 // The amount of throughput consumed on each global index affected by the operation. 9464 GlobalSecondaryIndexes map[string]*Capacity `type:"map"` 9465 9466 // The amount of throughput consumed on each local index affected by the operation. 9467 LocalSecondaryIndexes map[string]*Capacity `type:"map"` 9468 9469 // The total number of read capacity units consumed by the operation. 9470 ReadCapacityUnits *float64 `type:"double"` 9471 9472 // The amount of throughput consumed on the table affected by the operation. 9473 Table *Capacity `type:"structure"` 9474 9475 // The name of the table that was affected by the operation. 9476 TableName *string `min:"3" type:"string"` 9477 9478 // The total number of write capacity units consumed by the operation. 9479 WriteCapacityUnits *float64 `type:"double"` 9480 } 9481 9482 // String returns the string representation. 9483 // 9484 // API parameter values that are decorated as "sensitive" in the API will not 9485 // be included in the string output. The member name will be present, but the 9486 // value will be replaced with "sensitive". 9487 func (s ConsumedCapacity) String() string { 9488 return awsutil.Prettify(s) 9489 } 9490 9491 // GoString returns the string representation. 9492 // 9493 // API parameter values that are decorated as "sensitive" in the API will not 9494 // be included in the string output. The member name will be present, but the 9495 // value will be replaced with "sensitive". 9496 func (s ConsumedCapacity) GoString() string { 9497 return s.String() 9498 } 9499 9500 // SetCapacityUnits sets the CapacityUnits field's value. 9501 func (s *ConsumedCapacity) SetCapacityUnits(v float64) *ConsumedCapacity { 9502 s.CapacityUnits = &v 9503 return s 9504 } 9505 9506 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 9507 func (s *ConsumedCapacity) SetGlobalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity { 9508 s.GlobalSecondaryIndexes = v 9509 return s 9510 } 9511 9512 // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 9513 func (s *ConsumedCapacity) SetLocalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity { 9514 s.LocalSecondaryIndexes = v 9515 return s 9516 } 9517 9518 // SetReadCapacityUnits sets the ReadCapacityUnits field's value. 9519 func (s *ConsumedCapacity) SetReadCapacityUnits(v float64) *ConsumedCapacity { 9520 s.ReadCapacityUnits = &v 9521 return s 9522 } 9523 9524 // SetTable sets the Table field's value. 9525 func (s *ConsumedCapacity) SetTable(v *Capacity) *ConsumedCapacity { 9526 s.Table = v 9527 return s 9528 } 9529 9530 // SetTableName sets the TableName field's value. 9531 func (s *ConsumedCapacity) SetTableName(v string) *ConsumedCapacity { 9532 s.TableName = &v 9533 return s 9534 } 9535 9536 // SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 9537 func (s *ConsumedCapacity) SetWriteCapacityUnits(v float64) *ConsumedCapacity { 9538 s.WriteCapacityUnits = &v 9539 return s 9540 } 9541 9542 // Represents the continuous backups and point in time recovery settings on 9543 // the table. 9544 type ContinuousBackupsDescription struct { 9545 _ struct{} `type:"structure"` 9546 9547 // ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED 9548 // 9549 // ContinuousBackupsStatus is a required field 9550 ContinuousBackupsStatus *string `type:"string" required:"true" enum:"ContinuousBackupsStatus"` 9551 9552 // The description of the point in time recovery settings applied to the table. 9553 PointInTimeRecoveryDescription *PointInTimeRecoveryDescription `type:"structure"` 9554 } 9555 9556 // String returns the string representation. 9557 // 9558 // API parameter values that are decorated as "sensitive" in the API will not 9559 // be included in the string output. The member name will be present, but the 9560 // value will be replaced with "sensitive". 9561 func (s ContinuousBackupsDescription) String() string { 9562 return awsutil.Prettify(s) 9563 } 9564 9565 // GoString returns the string representation. 9566 // 9567 // API parameter values that are decorated as "sensitive" in the API will not 9568 // be included in the string output. The member name will be present, but the 9569 // value will be replaced with "sensitive". 9570 func (s ContinuousBackupsDescription) GoString() string { 9571 return s.String() 9572 } 9573 9574 // SetContinuousBackupsStatus sets the ContinuousBackupsStatus field's value. 9575 func (s *ContinuousBackupsDescription) SetContinuousBackupsStatus(v string) *ContinuousBackupsDescription { 9576 s.ContinuousBackupsStatus = &v 9577 return s 9578 } 9579 9580 // SetPointInTimeRecoveryDescription sets the PointInTimeRecoveryDescription field's value. 9581 func (s *ContinuousBackupsDescription) SetPointInTimeRecoveryDescription(v *PointInTimeRecoveryDescription) *ContinuousBackupsDescription { 9582 s.PointInTimeRecoveryDescription = v 9583 return s 9584 } 9585 9586 // Backups have not yet been enabled for this table. 9587 type ContinuousBackupsUnavailableException struct { 9588 _ struct{} `type:"structure"` 9589 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9590 9591 Message_ *string `locationName:"message" type:"string"` 9592 } 9593 9594 // String returns the string representation. 9595 // 9596 // API parameter values that are decorated as "sensitive" in the API will not 9597 // be included in the string output. The member name will be present, but the 9598 // value will be replaced with "sensitive". 9599 func (s ContinuousBackupsUnavailableException) String() string { 9600 return awsutil.Prettify(s) 9601 } 9602 9603 // GoString returns the string representation. 9604 // 9605 // API parameter values that are decorated as "sensitive" in the API will not 9606 // be included in the string output. The member name will be present, but the 9607 // value will be replaced with "sensitive". 9608 func (s ContinuousBackupsUnavailableException) GoString() string { 9609 return s.String() 9610 } 9611 9612 func newErrorContinuousBackupsUnavailableException(v protocol.ResponseMetadata) error { 9613 return &ContinuousBackupsUnavailableException{ 9614 RespMetadata: v, 9615 } 9616 } 9617 9618 // Code returns the exception type name. 9619 func (s *ContinuousBackupsUnavailableException) Code() string { 9620 return "ContinuousBackupsUnavailableException" 9621 } 9622 9623 // Message returns the exception's message. 9624 func (s *ContinuousBackupsUnavailableException) Message() string { 9625 if s.Message_ != nil { 9626 return *s.Message_ 9627 } 9628 return "" 9629 } 9630 9631 // OrigErr always returns nil, satisfies awserr.Error interface. 9632 func (s *ContinuousBackupsUnavailableException) OrigErr() error { 9633 return nil 9634 } 9635 9636 func (s *ContinuousBackupsUnavailableException) Error() string { 9637 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9638 } 9639 9640 // Status code returns the HTTP status code for the request's response error. 9641 func (s *ContinuousBackupsUnavailableException) StatusCode() int { 9642 return s.RespMetadata.StatusCode 9643 } 9644 9645 // RequestID returns the service's response RequestID for request. 9646 func (s *ContinuousBackupsUnavailableException) RequestID() string { 9647 return s.RespMetadata.RequestID 9648 } 9649 9650 // Represents a Contributor Insights summary entry. 9651 type ContributorInsightsSummary struct { 9652 _ struct{} `type:"structure"` 9653 9654 // Describes the current status for contributor insights for the given table 9655 // and index, if applicable. 9656 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 9657 9658 // Name of the index associated with the summary, if any. 9659 IndexName *string `min:"3" type:"string"` 9660 9661 // Name of the table associated with the summary. 9662 TableName *string `min:"3" type:"string"` 9663 } 9664 9665 // String returns the string representation. 9666 // 9667 // API parameter values that are decorated as "sensitive" in the API will not 9668 // be included in the string output. The member name will be present, but the 9669 // value will be replaced with "sensitive". 9670 func (s ContributorInsightsSummary) String() string { 9671 return awsutil.Prettify(s) 9672 } 9673 9674 // GoString returns the string representation. 9675 // 9676 // API parameter values that are decorated as "sensitive" in the API will not 9677 // be included in the string output. The member name will be present, but the 9678 // value will be replaced with "sensitive". 9679 func (s ContributorInsightsSummary) GoString() string { 9680 return s.String() 9681 } 9682 9683 // SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 9684 func (s *ContributorInsightsSummary) SetContributorInsightsStatus(v string) *ContributorInsightsSummary { 9685 s.ContributorInsightsStatus = &v 9686 return s 9687 } 9688 9689 // SetIndexName sets the IndexName field's value. 9690 func (s *ContributorInsightsSummary) SetIndexName(v string) *ContributorInsightsSummary { 9691 s.IndexName = &v 9692 return s 9693 } 9694 9695 // SetTableName sets the TableName field's value. 9696 func (s *ContributorInsightsSummary) SetTableName(v string) *ContributorInsightsSummary { 9697 s.TableName = &v 9698 return s 9699 } 9700 9701 type CreateBackupInput struct { 9702 _ struct{} `type:"structure"` 9703 9704 // Specified name for the backup. 9705 // 9706 // BackupName is a required field 9707 BackupName *string `min:"3" type:"string" required:"true"` 9708 9709 // The name of the table. 9710 // 9711 // TableName is a required field 9712 TableName *string `min:"3" type:"string" required:"true"` 9713 } 9714 9715 // String returns the string representation. 9716 // 9717 // API parameter values that are decorated as "sensitive" in the API will not 9718 // be included in the string output. The member name will be present, but the 9719 // value will be replaced with "sensitive". 9720 func (s CreateBackupInput) String() string { 9721 return awsutil.Prettify(s) 9722 } 9723 9724 // GoString returns the string representation. 9725 // 9726 // API parameter values that are decorated as "sensitive" in the API will not 9727 // be included in the string output. The member name will be present, but the 9728 // value will be replaced with "sensitive". 9729 func (s CreateBackupInput) GoString() string { 9730 return s.String() 9731 } 9732 9733 // Validate inspects the fields of the type to determine if they are valid. 9734 func (s *CreateBackupInput) Validate() error { 9735 invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"} 9736 if s.BackupName == nil { 9737 invalidParams.Add(request.NewErrParamRequired("BackupName")) 9738 } 9739 if s.BackupName != nil && len(*s.BackupName) < 3 { 9740 invalidParams.Add(request.NewErrParamMinLen("BackupName", 3)) 9741 } 9742 if s.TableName == nil { 9743 invalidParams.Add(request.NewErrParamRequired("TableName")) 9744 } 9745 if s.TableName != nil && len(*s.TableName) < 3 { 9746 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9747 } 9748 9749 if invalidParams.Len() > 0 { 9750 return invalidParams 9751 } 9752 return nil 9753 } 9754 9755 // SetBackupName sets the BackupName field's value. 9756 func (s *CreateBackupInput) SetBackupName(v string) *CreateBackupInput { 9757 s.BackupName = &v 9758 return s 9759 } 9760 9761 // SetTableName sets the TableName field's value. 9762 func (s *CreateBackupInput) SetTableName(v string) *CreateBackupInput { 9763 s.TableName = &v 9764 return s 9765 } 9766 9767 type CreateBackupOutput struct { 9768 _ struct{} `type:"structure"` 9769 9770 // Contains the details of the backup created for the table. 9771 BackupDetails *BackupDetails `type:"structure"` 9772 } 9773 9774 // String returns the string representation. 9775 // 9776 // API parameter values that are decorated as "sensitive" in the API will not 9777 // be included in the string output. The member name will be present, but the 9778 // value will be replaced with "sensitive". 9779 func (s CreateBackupOutput) String() string { 9780 return awsutil.Prettify(s) 9781 } 9782 9783 // GoString returns the string representation. 9784 // 9785 // API parameter values that are decorated as "sensitive" in the API will not 9786 // be included in the string output. The member name will be present, but the 9787 // value will be replaced with "sensitive". 9788 func (s CreateBackupOutput) GoString() string { 9789 return s.String() 9790 } 9791 9792 // SetBackupDetails sets the BackupDetails field's value. 9793 func (s *CreateBackupOutput) SetBackupDetails(v *BackupDetails) *CreateBackupOutput { 9794 s.BackupDetails = v 9795 return s 9796 } 9797 9798 // Represents a new global secondary index to be added to an existing table. 9799 type CreateGlobalSecondaryIndexAction struct { 9800 _ struct{} `type:"structure"` 9801 9802 // The name of the global secondary index to be created. 9803 // 9804 // IndexName is a required field 9805 IndexName *string `min:"3" type:"string" required:"true"` 9806 9807 // The key schema for the global secondary index. 9808 // 9809 // KeySchema is a required field 9810 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 9811 9812 // Represents attributes that are copied (projected) from the table into an 9813 // index. These are in addition to the primary key attributes and index key 9814 // attributes, which are automatically projected. 9815 // 9816 // Projection is a required field 9817 Projection *Projection `type:"structure" required:"true"` 9818 9819 // Represents the provisioned throughput settings for the specified global secondary 9820 // index. 9821 // 9822 // For current minimum and maximum provisioned throughput values, see Service, 9823 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 9824 // in the Amazon DynamoDB Developer Guide. 9825 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 9826 } 9827 9828 // String returns the string representation. 9829 // 9830 // API parameter values that are decorated as "sensitive" in the API will not 9831 // be included in the string output. The member name will be present, but the 9832 // value will be replaced with "sensitive". 9833 func (s CreateGlobalSecondaryIndexAction) String() string { 9834 return awsutil.Prettify(s) 9835 } 9836 9837 // GoString returns the string representation. 9838 // 9839 // API parameter values that are decorated as "sensitive" in the API will not 9840 // be included in the string output. The member name will be present, but the 9841 // value will be replaced with "sensitive". 9842 func (s CreateGlobalSecondaryIndexAction) GoString() string { 9843 return s.String() 9844 } 9845 9846 // Validate inspects the fields of the type to determine if they are valid. 9847 func (s *CreateGlobalSecondaryIndexAction) Validate() error { 9848 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalSecondaryIndexAction"} 9849 if s.IndexName == nil { 9850 invalidParams.Add(request.NewErrParamRequired("IndexName")) 9851 } 9852 if s.IndexName != nil && len(*s.IndexName) < 3 { 9853 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 9854 } 9855 if s.KeySchema == nil { 9856 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 9857 } 9858 if s.KeySchema != nil && len(s.KeySchema) < 1 { 9859 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 9860 } 9861 if s.Projection == nil { 9862 invalidParams.Add(request.NewErrParamRequired("Projection")) 9863 } 9864 if s.KeySchema != nil { 9865 for i, v := range s.KeySchema { 9866 if v == nil { 9867 continue 9868 } 9869 if err := v.Validate(); err != nil { 9870 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 9871 } 9872 } 9873 } 9874 if s.Projection != nil { 9875 if err := s.Projection.Validate(); err != nil { 9876 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 9877 } 9878 } 9879 if s.ProvisionedThroughput != nil { 9880 if err := s.ProvisionedThroughput.Validate(); err != nil { 9881 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 9882 } 9883 } 9884 9885 if invalidParams.Len() > 0 { 9886 return invalidParams 9887 } 9888 return nil 9889 } 9890 9891 // SetIndexName sets the IndexName field's value. 9892 func (s *CreateGlobalSecondaryIndexAction) SetIndexName(v string) *CreateGlobalSecondaryIndexAction { 9893 s.IndexName = &v 9894 return s 9895 } 9896 9897 // SetKeySchema sets the KeySchema field's value. 9898 func (s *CreateGlobalSecondaryIndexAction) SetKeySchema(v []*KeySchemaElement) *CreateGlobalSecondaryIndexAction { 9899 s.KeySchema = v 9900 return s 9901 } 9902 9903 // SetProjection sets the Projection field's value. 9904 func (s *CreateGlobalSecondaryIndexAction) SetProjection(v *Projection) *CreateGlobalSecondaryIndexAction { 9905 s.Projection = v 9906 return s 9907 } 9908 9909 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 9910 func (s *CreateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateGlobalSecondaryIndexAction { 9911 s.ProvisionedThroughput = v 9912 return s 9913 } 9914 9915 type CreateGlobalTableInput struct { 9916 _ struct{} `type:"structure"` 9917 9918 // The global table name. 9919 // 9920 // GlobalTableName is a required field 9921 GlobalTableName *string `min:"3" type:"string" required:"true"` 9922 9923 // The Regions where the global table needs to be created. 9924 // 9925 // ReplicationGroup is a required field 9926 ReplicationGroup []*Replica `type:"list" required:"true"` 9927 } 9928 9929 // String returns the string representation. 9930 // 9931 // API parameter values that are decorated as "sensitive" in the API will not 9932 // be included in the string output. The member name will be present, but the 9933 // value will be replaced with "sensitive". 9934 func (s CreateGlobalTableInput) String() string { 9935 return awsutil.Prettify(s) 9936 } 9937 9938 // GoString returns the string representation. 9939 // 9940 // API parameter values that are decorated as "sensitive" in the API will not 9941 // be included in the string output. The member name will be present, but the 9942 // value will be replaced with "sensitive". 9943 func (s CreateGlobalTableInput) GoString() string { 9944 return s.String() 9945 } 9946 9947 // Validate inspects the fields of the type to determine if they are valid. 9948 func (s *CreateGlobalTableInput) Validate() error { 9949 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalTableInput"} 9950 if s.GlobalTableName == nil { 9951 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 9952 } 9953 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 9954 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 9955 } 9956 if s.ReplicationGroup == nil { 9957 invalidParams.Add(request.NewErrParamRequired("ReplicationGroup")) 9958 } 9959 9960 if invalidParams.Len() > 0 { 9961 return invalidParams 9962 } 9963 return nil 9964 } 9965 9966 // SetGlobalTableName sets the GlobalTableName field's value. 9967 func (s *CreateGlobalTableInput) SetGlobalTableName(v string) *CreateGlobalTableInput { 9968 s.GlobalTableName = &v 9969 return s 9970 } 9971 9972 // SetReplicationGroup sets the ReplicationGroup field's value. 9973 func (s *CreateGlobalTableInput) SetReplicationGroup(v []*Replica) *CreateGlobalTableInput { 9974 s.ReplicationGroup = v 9975 return s 9976 } 9977 9978 type CreateGlobalTableOutput struct { 9979 _ struct{} `type:"structure"` 9980 9981 // Contains the details of the global table. 9982 GlobalTableDescription *GlobalTableDescription `type:"structure"` 9983 } 9984 9985 // String returns the string representation. 9986 // 9987 // API parameter values that are decorated as "sensitive" in the API will not 9988 // be included in the string output. The member name will be present, but the 9989 // value will be replaced with "sensitive". 9990 func (s CreateGlobalTableOutput) String() string { 9991 return awsutil.Prettify(s) 9992 } 9993 9994 // GoString returns the string representation. 9995 // 9996 // API parameter values that are decorated as "sensitive" in the API will not 9997 // be included in the string output. The member name will be present, but the 9998 // value will be replaced with "sensitive". 9999 func (s CreateGlobalTableOutput) GoString() string { 10000 return s.String() 10001 } 10002 10003 // SetGlobalTableDescription sets the GlobalTableDescription field's value. 10004 func (s *CreateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *CreateGlobalTableOutput { 10005 s.GlobalTableDescription = v 10006 return s 10007 } 10008 10009 // Represents a replica to be added. 10010 type CreateReplicaAction struct { 10011 _ struct{} `type:"structure"` 10012 10013 // The Region of the replica to be added. 10014 // 10015 // RegionName is a required field 10016 RegionName *string `type:"string" required:"true"` 10017 } 10018 10019 // String returns the string representation. 10020 // 10021 // API parameter values that are decorated as "sensitive" in the API will not 10022 // be included in the string output. The member name will be present, but the 10023 // value will be replaced with "sensitive". 10024 func (s CreateReplicaAction) String() string { 10025 return awsutil.Prettify(s) 10026 } 10027 10028 // GoString returns the string representation. 10029 // 10030 // API parameter values that are decorated as "sensitive" in the API will not 10031 // be included in the string output. The member name will be present, but the 10032 // value will be replaced with "sensitive". 10033 func (s CreateReplicaAction) GoString() string { 10034 return s.String() 10035 } 10036 10037 // Validate inspects the fields of the type to determine if they are valid. 10038 func (s *CreateReplicaAction) Validate() error { 10039 invalidParams := request.ErrInvalidParams{Context: "CreateReplicaAction"} 10040 if s.RegionName == nil { 10041 invalidParams.Add(request.NewErrParamRequired("RegionName")) 10042 } 10043 10044 if invalidParams.Len() > 0 { 10045 return invalidParams 10046 } 10047 return nil 10048 } 10049 10050 // SetRegionName sets the RegionName field's value. 10051 func (s *CreateReplicaAction) SetRegionName(v string) *CreateReplicaAction { 10052 s.RegionName = &v 10053 return s 10054 } 10055 10056 // Represents a replica to be created. 10057 type CreateReplicationGroupMemberAction struct { 10058 _ struct{} `type:"structure"` 10059 10060 // Replica-specific global secondary index settings. 10061 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` 10062 10063 // The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption 10064 // in the new replica. To specify a CMK, use its key ID, Amazon Resource Name 10065 // (ARN), alias name, or alias ARN. Note that you should only provide this parameter 10066 // if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb. 10067 KMSMasterKeyId *string `type:"string"` 10068 10069 // Replica-specific provisioned throughput. If not specified, uses the source 10070 // table's provisioned throughput settings. 10071 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 10072 10073 // The Region where the new replica will be created. 10074 // 10075 // RegionName is a required field 10076 RegionName *string `type:"string" required:"true"` 10077 } 10078 10079 // String returns the string representation. 10080 // 10081 // API parameter values that are decorated as "sensitive" in the API will not 10082 // be included in the string output. The member name will be present, but the 10083 // value will be replaced with "sensitive". 10084 func (s CreateReplicationGroupMemberAction) String() string { 10085 return awsutil.Prettify(s) 10086 } 10087 10088 // GoString returns the string representation. 10089 // 10090 // API parameter values that are decorated as "sensitive" in the API will not 10091 // be included in the string output. The member name will be present, but the 10092 // value will be replaced with "sensitive". 10093 func (s CreateReplicationGroupMemberAction) GoString() string { 10094 return s.String() 10095 } 10096 10097 // Validate inspects the fields of the type to determine if they are valid. 10098 func (s *CreateReplicationGroupMemberAction) Validate() error { 10099 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupMemberAction"} 10100 if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { 10101 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) 10102 } 10103 if s.RegionName == nil { 10104 invalidParams.Add(request.NewErrParamRequired("RegionName")) 10105 } 10106 if s.GlobalSecondaryIndexes != nil { 10107 for i, v := range s.GlobalSecondaryIndexes { 10108 if v == nil { 10109 continue 10110 } 10111 if err := v.Validate(); err != nil { 10112 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 10113 } 10114 } 10115 } 10116 if s.ProvisionedThroughputOverride != nil { 10117 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 10118 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 10119 } 10120 } 10121 10122 if invalidParams.Len() > 0 { 10123 return invalidParams 10124 } 10125 return nil 10126 } 10127 10128 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 10129 func (s *CreateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *CreateReplicationGroupMemberAction { 10130 s.GlobalSecondaryIndexes = v 10131 return s 10132 } 10133 10134 // SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 10135 func (s *CreateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *CreateReplicationGroupMemberAction { 10136 s.KMSMasterKeyId = &v 10137 return s 10138 } 10139 10140 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 10141 func (s *CreateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *CreateReplicationGroupMemberAction { 10142 s.ProvisionedThroughputOverride = v 10143 return s 10144 } 10145 10146 // SetRegionName sets the RegionName field's value. 10147 func (s *CreateReplicationGroupMemberAction) SetRegionName(v string) *CreateReplicationGroupMemberAction { 10148 s.RegionName = &v 10149 return s 10150 } 10151 10152 // Represents the input of a CreateTable operation. 10153 type CreateTableInput struct { 10154 _ struct{} `type:"structure"` 10155 10156 // An array of attributes that describe the key schema for the table and indexes. 10157 // 10158 // AttributeDefinitions is a required field 10159 AttributeDefinitions []*AttributeDefinition `type:"list" required:"true"` 10160 10161 // Controls how you are charged for read and write throughput and how you manage 10162 // capacity. This setting can be changed later. 10163 // 10164 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 10165 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 10166 // 10167 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 10168 // workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). 10169 BillingMode *string `type:"string" enum:"BillingMode"` 10170 10171 // One or more global secondary indexes (the maximum is 20) to be created on 10172 // the table. Each global secondary index in the array includes the following: 10173 // 10174 // * IndexName - The name of the global secondary index. Must be unique only 10175 // for this table. 10176 // 10177 // * KeySchema - Specifies the key schema for the global secondary index. 10178 // 10179 // * Projection - Specifies attributes that are copied (projected) from the 10180 // table into the index. These are in addition to the primary key attributes 10181 // and index key attributes, which are automatically projected. Each attribute 10182 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 10183 // - Only the index and primary keys are projected into the index. INCLUDE 10184 // - Only the specified table attributes are projected into the index. The 10185 // list of projected attributes is in NonKeyAttributes. ALL - All of the 10186 // table attributes are projected into the index. NonKeyAttributes - A list 10187 // of one or more non-key attribute names that are projected into the secondary 10188 // index. The total count of attributes provided in NonKeyAttributes, summed 10189 // across all of the secondary indexes, must not exceed 100. If you project 10190 // the same attribute into two different indexes, this counts as two distinct 10191 // attributes when determining the total. 10192 // 10193 // * ProvisionedThroughput - The provisioned throughput settings for the 10194 // global secondary index, consisting of read and write capacity units. 10195 GlobalSecondaryIndexes []*GlobalSecondaryIndex `type:"list"` 10196 10197 // Specifies the attributes that make up the primary key for a table or an index. 10198 // The attributes in KeySchema must also be defined in the AttributeDefinitions 10199 // array. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) 10200 // in the Amazon DynamoDB Developer Guide. 10201 // 10202 // Each KeySchemaElement in the array is composed of: 10203 // 10204 // * AttributeName - The name of this key attribute. 10205 // 10206 // * KeyType - The role that the key attribute will assume: HASH - partition 10207 // key RANGE - sort key 10208 // 10209 // The partition key of an item is also known as its hash attribute. The term 10210 // "hash attribute" derives from the DynamoDB usage of an internal hash function 10211 // to evenly distribute data items across partitions, based on their partition 10212 // key values. 10213 // 10214 // The sort key of an item is also known as its range attribute. The term "range 10215 // attribute" derives from the way DynamoDB stores items with the same partition 10216 // key physically close together, in sorted order by the sort key value. 10217 // 10218 // For a simple primary key (partition key), you must provide exactly one element 10219 // with a KeyType of HASH. 10220 // 10221 // For a composite primary key (partition key and sort key), you must provide 10222 // exactly two elements, in this order: The first element must have a KeyType 10223 // of HASH, and the second element must have a KeyType of RANGE. 10224 // 10225 // For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) 10226 // in the Amazon DynamoDB Developer Guide. 10227 // 10228 // KeySchema is a required field 10229 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 10230 10231 // One or more local secondary indexes (the maximum is 5) to be created on the 10232 // table. Each index is scoped to a given partition key value. There is a 10 10233 // GB size limit per partition key value; otherwise, the size of a local secondary 10234 // index is unconstrained. 10235 // 10236 // Each local secondary index in the array includes the following: 10237 // 10238 // * IndexName - The name of the local secondary index. Must be unique only 10239 // for this table. 10240 // 10241 // * KeySchema - Specifies the key schema for the local secondary index. 10242 // The key schema must begin with the same partition key as the table. 10243 // 10244 // * Projection - Specifies attributes that are copied (projected) from the 10245 // table into the index. These are in addition to the primary key attributes 10246 // and index key attributes, which are automatically projected. Each attribute 10247 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 10248 // - Only the index and primary keys are projected into the index. INCLUDE 10249 // - Only the specified table attributes are projected into the index. The 10250 // list of projected attributes is in NonKeyAttributes. ALL - All of the 10251 // table attributes are projected into the index. NonKeyAttributes - A list 10252 // of one or more non-key attribute names that are projected into the secondary 10253 // index. The total count of attributes provided in NonKeyAttributes, summed 10254 // across all of the secondary indexes, must not exceed 100. If you project 10255 // the same attribute into two different indexes, this counts as two distinct 10256 // attributes when determining the total. 10257 LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"` 10258 10259 // Represents the provisioned throughput settings for a specified table or index. 10260 // The settings can be modified using the UpdateTable operation. 10261 // 10262 // If you set BillingMode as PROVISIONED, you must specify this property. If 10263 // you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. 10264 // 10265 // For current minimum and maximum provisioned throughput values, see Service, 10266 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 10267 // in the Amazon DynamoDB Developer Guide. 10268 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 10269 10270 // Represents the settings used to enable server-side encryption. 10271 SSESpecification *SSESpecification `type:"structure"` 10272 10273 // The settings for DynamoDB Streams on the table. These settings consist of: 10274 // 10275 // * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled 10276 // (true) or disabled (false). 10277 // 10278 // * StreamViewType - When an item in the table is modified, StreamViewType 10279 // determines what information is written to the table's stream. Valid values 10280 // for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified 10281 // item are written to the stream. NEW_IMAGE - The entire item, as it appears 10282 // after it was modified, is written to the stream. OLD_IMAGE - The entire 10283 // item, as it appeared before it was modified, is written to the stream. 10284 // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item 10285 // are written to the stream. 10286 StreamSpecification *StreamSpecification `type:"structure"` 10287 10288 // The name of the table to create. 10289 // 10290 // TableName is a required field 10291 TableName *string `min:"3" type:"string" required:"true"` 10292 10293 // A list of key-value pairs to label the table. For more information, see Tagging 10294 // for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html). 10295 Tags []*Tag `type:"list"` 10296 } 10297 10298 // String returns the string representation. 10299 // 10300 // API parameter values that are decorated as "sensitive" in the API will not 10301 // be included in the string output. The member name will be present, but the 10302 // value will be replaced with "sensitive". 10303 func (s CreateTableInput) String() string { 10304 return awsutil.Prettify(s) 10305 } 10306 10307 // GoString returns the string representation. 10308 // 10309 // API parameter values that are decorated as "sensitive" in the API will not 10310 // be included in the string output. The member name will be present, but the 10311 // value will be replaced with "sensitive". 10312 func (s CreateTableInput) GoString() string { 10313 return s.String() 10314 } 10315 10316 // Validate inspects the fields of the type to determine if they are valid. 10317 func (s *CreateTableInput) Validate() error { 10318 invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} 10319 if s.AttributeDefinitions == nil { 10320 invalidParams.Add(request.NewErrParamRequired("AttributeDefinitions")) 10321 } 10322 if s.KeySchema == nil { 10323 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 10324 } 10325 if s.KeySchema != nil && len(s.KeySchema) < 1 { 10326 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 10327 } 10328 if s.TableName == nil { 10329 invalidParams.Add(request.NewErrParamRequired("TableName")) 10330 } 10331 if s.TableName != nil && len(*s.TableName) < 3 { 10332 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10333 } 10334 if s.AttributeDefinitions != nil { 10335 for i, v := range s.AttributeDefinitions { 10336 if v == nil { 10337 continue 10338 } 10339 if err := v.Validate(); err != nil { 10340 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams)) 10341 } 10342 } 10343 } 10344 if s.GlobalSecondaryIndexes != nil { 10345 for i, v := range s.GlobalSecondaryIndexes { 10346 if v == nil { 10347 continue 10348 } 10349 if err := v.Validate(); err != nil { 10350 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 10351 } 10352 } 10353 } 10354 if s.KeySchema != nil { 10355 for i, v := range s.KeySchema { 10356 if v == nil { 10357 continue 10358 } 10359 if err := v.Validate(); err != nil { 10360 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 10361 } 10362 } 10363 } 10364 if s.LocalSecondaryIndexes != nil { 10365 for i, v := range s.LocalSecondaryIndexes { 10366 if v == nil { 10367 continue 10368 } 10369 if err := v.Validate(); err != nil { 10370 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 10371 } 10372 } 10373 } 10374 if s.ProvisionedThroughput != nil { 10375 if err := s.ProvisionedThroughput.Validate(); err != nil { 10376 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 10377 } 10378 } 10379 if s.StreamSpecification != nil { 10380 if err := s.StreamSpecification.Validate(); err != nil { 10381 invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) 10382 } 10383 } 10384 if s.Tags != nil { 10385 for i, v := range s.Tags { 10386 if v == nil { 10387 continue 10388 } 10389 if err := v.Validate(); err != nil { 10390 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10391 } 10392 } 10393 } 10394 10395 if invalidParams.Len() > 0 { 10396 return invalidParams 10397 } 10398 return nil 10399 } 10400 10401 // SetAttributeDefinitions sets the AttributeDefinitions field's value. 10402 func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput { 10403 s.AttributeDefinitions = v 10404 return s 10405 } 10406 10407 // SetBillingMode sets the BillingMode field's value. 10408 func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput { 10409 s.BillingMode = &v 10410 return s 10411 } 10412 10413 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 10414 func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput { 10415 s.GlobalSecondaryIndexes = v 10416 return s 10417 } 10418 10419 // SetKeySchema sets the KeySchema field's value. 10420 func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput { 10421 s.KeySchema = v 10422 return s 10423 } 10424 10425 // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 10426 func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput { 10427 s.LocalSecondaryIndexes = v 10428 return s 10429 } 10430 10431 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 10432 func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput { 10433 s.ProvisionedThroughput = v 10434 return s 10435 } 10436 10437 // SetSSESpecification sets the SSESpecification field's value. 10438 func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput { 10439 s.SSESpecification = v 10440 return s 10441 } 10442 10443 // SetStreamSpecification sets the StreamSpecification field's value. 10444 func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput { 10445 s.StreamSpecification = v 10446 return s 10447 } 10448 10449 // SetTableName sets the TableName field's value. 10450 func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { 10451 s.TableName = &v 10452 return s 10453 } 10454 10455 // SetTags sets the Tags field's value. 10456 func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { 10457 s.Tags = v 10458 return s 10459 } 10460 10461 // Represents the output of a CreateTable operation. 10462 type CreateTableOutput struct { 10463 _ struct{} `type:"structure"` 10464 10465 // Represents the properties of the table. 10466 TableDescription *TableDescription `type:"structure"` 10467 } 10468 10469 // String returns the string representation. 10470 // 10471 // API parameter values that are decorated as "sensitive" in the API will not 10472 // be included in the string output. The member name will be present, but the 10473 // value will be replaced with "sensitive". 10474 func (s CreateTableOutput) String() string { 10475 return awsutil.Prettify(s) 10476 } 10477 10478 // GoString returns the string representation. 10479 // 10480 // API parameter values that are decorated as "sensitive" in the API will not 10481 // be included in the string output. The member name will be present, but the 10482 // value will be replaced with "sensitive". 10483 func (s CreateTableOutput) GoString() string { 10484 return s.String() 10485 } 10486 10487 // SetTableDescription sets the TableDescription field's value. 10488 func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput { 10489 s.TableDescription = v 10490 return s 10491 } 10492 10493 // Represents a request to perform a DeleteItem operation. 10494 type Delete struct { 10495 _ struct{} `type:"structure"` 10496 10497 // A condition that must be satisfied in order for a conditional delete to succeed. 10498 ConditionExpression *string `type:"string"` 10499 10500 // One or more substitution tokens for attribute names in an expression. 10501 ExpressionAttributeNames map[string]*string `type:"map"` 10502 10503 // One or more values that can be substituted in an expression. 10504 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 10505 10506 // The primary key of the item to be deleted. Each element consists of an attribute 10507 // name and a value for that attribute. 10508 // 10509 // Key is a required field 10510 Key map[string]*AttributeValue `type:"map" required:"true"` 10511 10512 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 10513 // Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid 10514 // values are: NONE and ALL_OLD. 10515 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 10516 10517 // Name of the table in which the item to be deleted resides. 10518 // 10519 // TableName is a required field 10520 TableName *string `min:"3" type:"string" required:"true"` 10521 } 10522 10523 // String returns the string representation. 10524 // 10525 // API parameter values that are decorated as "sensitive" in the API will not 10526 // be included in the string output. The member name will be present, but the 10527 // value will be replaced with "sensitive". 10528 func (s Delete) String() string { 10529 return awsutil.Prettify(s) 10530 } 10531 10532 // GoString returns the string representation. 10533 // 10534 // API parameter values that are decorated as "sensitive" in the API will not 10535 // be included in the string output. The member name will be present, but the 10536 // value will be replaced with "sensitive". 10537 func (s Delete) GoString() string { 10538 return s.String() 10539 } 10540 10541 // Validate inspects the fields of the type to determine if they are valid. 10542 func (s *Delete) Validate() error { 10543 invalidParams := request.ErrInvalidParams{Context: "Delete"} 10544 if s.Key == nil { 10545 invalidParams.Add(request.NewErrParamRequired("Key")) 10546 } 10547 if s.TableName == nil { 10548 invalidParams.Add(request.NewErrParamRequired("TableName")) 10549 } 10550 if s.TableName != nil && len(*s.TableName) < 3 { 10551 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10552 } 10553 10554 if invalidParams.Len() > 0 { 10555 return invalidParams 10556 } 10557 return nil 10558 } 10559 10560 // SetConditionExpression sets the ConditionExpression field's value. 10561 func (s *Delete) SetConditionExpression(v string) *Delete { 10562 s.ConditionExpression = &v 10563 return s 10564 } 10565 10566 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 10567 func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete { 10568 s.ExpressionAttributeNames = v 10569 return s 10570 } 10571 10572 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 10573 func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete { 10574 s.ExpressionAttributeValues = v 10575 return s 10576 } 10577 10578 // SetKey sets the Key field's value. 10579 func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete { 10580 s.Key = v 10581 return s 10582 } 10583 10584 // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 10585 func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete { 10586 s.ReturnValuesOnConditionCheckFailure = &v 10587 return s 10588 } 10589 10590 // SetTableName sets the TableName field's value. 10591 func (s *Delete) SetTableName(v string) *Delete { 10592 s.TableName = &v 10593 return s 10594 } 10595 10596 type DeleteBackupInput struct { 10597 _ struct{} `type:"structure"` 10598 10599 // The ARN associated with the backup. 10600 // 10601 // BackupArn is a required field 10602 BackupArn *string `min:"37" type:"string" required:"true"` 10603 } 10604 10605 // String returns the string representation. 10606 // 10607 // API parameter values that are decorated as "sensitive" in the API will not 10608 // be included in the string output. The member name will be present, but the 10609 // value will be replaced with "sensitive". 10610 func (s DeleteBackupInput) String() string { 10611 return awsutil.Prettify(s) 10612 } 10613 10614 // GoString returns the string representation. 10615 // 10616 // API parameter values that are decorated as "sensitive" in the API will not 10617 // be included in the string output. The member name will be present, but the 10618 // value will be replaced with "sensitive". 10619 func (s DeleteBackupInput) GoString() string { 10620 return s.String() 10621 } 10622 10623 // Validate inspects the fields of the type to determine if they are valid. 10624 func (s *DeleteBackupInput) Validate() error { 10625 invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} 10626 if s.BackupArn == nil { 10627 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 10628 } 10629 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 10630 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 10631 } 10632 10633 if invalidParams.Len() > 0 { 10634 return invalidParams 10635 } 10636 return nil 10637 } 10638 10639 // SetBackupArn sets the BackupArn field's value. 10640 func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput { 10641 s.BackupArn = &v 10642 return s 10643 } 10644 10645 type DeleteBackupOutput struct { 10646 _ struct{} `type:"structure"` 10647 10648 // Contains the description of the backup created for the table. 10649 BackupDescription *BackupDescription `type:"structure"` 10650 } 10651 10652 // String returns the string representation. 10653 // 10654 // API parameter values that are decorated as "sensitive" in the API will not 10655 // be included in the string output. The member name will be present, but the 10656 // value will be replaced with "sensitive". 10657 func (s DeleteBackupOutput) String() string { 10658 return awsutil.Prettify(s) 10659 } 10660 10661 // GoString returns the string representation. 10662 // 10663 // API parameter values that are decorated as "sensitive" in the API will not 10664 // be included in the string output. The member name will be present, but the 10665 // value will be replaced with "sensitive". 10666 func (s DeleteBackupOutput) GoString() string { 10667 return s.String() 10668 } 10669 10670 // SetBackupDescription sets the BackupDescription field's value. 10671 func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput { 10672 s.BackupDescription = v 10673 return s 10674 } 10675 10676 // Represents a global secondary index to be deleted from an existing table. 10677 type DeleteGlobalSecondaryIndexAction struct { 10678 _ struct{} `type:"structure"` 10679 10680 // The name of the global secondary index to be deleted. 10681 // 10682 // IndexName is a required field 10683 IndexName *string `min:"3" type:"string" required:"true"` 10684 } 10685 10686 // String returns the string representation. 10687 // 10688 // API parameter values that are decorated as "sensitive" in the API will not 10689 // be included in the string output. The member name will be present, but the 10690 // value will be replaced with "sensitive". 10691 func (s DeleteGlobalSecondaryIndexAction) String() string { 10692 return awsutil.Prettify(s) 10693 } 10694 10695 // GoString returns the string representation. 10696 // 10697 // API parameter values that are decorated as "sensitive" in the API will not 10698 // be included in the string output. The member name will be present, but the 10699 // value will be replaced with "sensitive". 10700 func (s DeleteGlobalSecondaryIndexAction) GoString() string { 10701 return s.String() 10702 } 10703 10704 // Validate inspects the fields of the type to determine if they are valid. 10705 func (s *DeleteGlobalSecondaryIndexAction) Validate() error { 10706 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"} 10707 if s.IndexName == nil { 10708 invalidParams.Add(request.NewErrParamRequired("IndexName")) 10709 } 10710 if s.IndexName != nil && len(*s.IndexName) < 3 { 10711 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 10712 } 10713 10714 if invalidParams.Len() > 0 { 10715 return invalidParams 10716 } 10717 return nil 10718 } 10719 10720 // SetIndexName sets the IndexName field's value. 10721 func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction { 10722 s.IndexName = &v 10723 return s 10724 } 10725 10726 // Represents the input of a DeleteItem operation. 10727 type DeleteItemInput struct { 10728 _ struct{} `type:"structure"` 10729 10730 // A condition that must be satisfied in order for a conditional DeleteItem 10731 // to succeed. 10732 // 10733 // An expression can contain any of the following: 10734 // 10735 // * Functions: attribute_exists | attribute_not_exists | attribute_type 10736 // | contains | begins_with | size These function names are case-sensitive. 10737 // 10738 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 10739 // 10740 // * Logical operators: AND | OR | NOT 10741 // 10742 // For more information about condition expressions, see Condition Expressions 10743 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 10744 // in the Amazon DynamoDB Developer Guide. 10745 ConditionExpression *string `type:"string"` 10746 10747 // This is a legacy parameter. Use ConditionExpression instead. For more information, 10748 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 10749 // in the Amazon DynamoDB Developer Guide. 10750 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 10751 10752 // This is a legacy parameter. Use ConditionExpression instead. For more information, 10753 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 10754 // in the Amazon DynamoDB Developer Guide. 10755 Expected map[string]*ExpectedAttributeValue `type:"map"` 10756 10757 // One or more substitution tokens for attribute names in an expression. The 10758 // following are some use cases for using ExpressionAttributeNames: 10759 // 10760 // * To access an attribute whose name conflicts with a DynamoDB reserved 10761 // word. 10762 // 10763 // * To create a placeholder for repeating occurrences of an attribute name 10764 // in an expression. 10765 // 10766 // * To prevent special characters in an attribute name from being misinterpreted 10767 // in an expression. 10768 // 10769 // Use the # character in an expression to dereference an attribute name. For 10770 // example, consider the following attribute name: 10771 // 10772 // * Percentile 10773 // 10774 // The name of this attribute conflicts with a reserved word, so it cannot be 10775 // used directly in an expression. (For the complete list of reserved words, 10776 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 10777 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 10778 // the following for ExpressionAttributeNames: 10779 // 10780 // * {"#P":"Percentile"} 10781 // 10782 // You could then use this substitution in an expression, as in this example: 10783 // 10784 // * #P = :val 10785 // 10786 // Tokens that begin with the : character are expression attribute values, which 10787 // are placeholders for the actual value at runtime. 10788 // 10789 // For more information on expression attribute names, see Specifying Item Attributes 10790 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 10791 // in the Amazon DynamoDB Developer Guide. 10792 ExpressionAttributeNames map[string]*string `type:"map"` 10793 10794 // One or more values that can be substituted in an expression. 10795 // 10796 // Use the : (colon) character in an expression to dereference an attribute 10797 // value. For example, suppose that you wanted to check whether the value of 10798 // the ProductStatus attribute was one of the following: 10799 // 10800 // Available | Backordered | Discontinued 10801 // 10802 // You would first need to specify ExpressionAttributeValues as follows: 10803 // 10804 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 10805 // } 10806 // 10807 // You could then use these values in an expression, such as this: 10808 // 10809 // ProductStatus IN (:avail, :back, :disc) 10810 // 10811 // For more information on expression attribute values, see Condition Expressions 10812 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 10813 // in the Amazon DynamoDB Developer Guide. 10814 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 10815 10816 // A map of attribute names to AttributeValue objects, representing the primary 10817 // key of the item to delete. 10818 // 10819 // For the primary key, you must provide all of the attributes. For example, 10820 // with a simple primary key, you only need to provide a value for the partition 10821 // key. For a composite primary key, you must provide values for both the partition 10822 // key and the sort key. 10823 // 10824 // Key is a required field 10825 Key map[string]*AttributeValue `type:"map" required:"true"` 10826 10827 // Determines the level of detail about provisioned throughput consumption that 10828 // is returned in the response: 10829 // 10830 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 10831 // operation, together with ConsumedCapacity for each table and secondary 10832 // index that was accessed. Note that some operations, such as GetItem and 10833 // BatchGetItem, do not access any indexes at all. In these cases, specifying 10834 // INDEXES will only return ConsumedCapacity information for table(s). 10835 // 10836 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 10837 // the operation. 10838 // 10839 // * NONE - No ConsumedCapacity details are included in the response. 10840 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 10841 10842 // Determines whether item collection metrics are returned. If set to SIZE, 10843 // the response includes statistics about item collections, if any, that were 10844 // modified during the operation are returned in the response. If set to NONE 10845 // (the default), no statistics are returned. 10846 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 10847 10848 // Use ReturnValues if you want to get the item attributes as they appeared 10849 // before they were deleted. For DeleteItem, the valid values are: 10850 // 10851 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 10852 // nothing is returned. (This setting is the default for ReturnValues.) 10853 // 10854 // * ALL_OLD - The content of the old item is returned. 10855 // 10856 // The ReturnValues parameter is used by several DynamoDB operations; however, 10857 // DeleteItem does not recognize any values other than NONE or ALL_OLD. 10858 ReturnValues *string `type:"string" enum:"ReturnValue"` 10859 10860 // The name of the table from which to delete the item. 10861 // 10862 // TableName is a required field 10863 TableName *string `min:"3" type:"string" required:"true"` 10864 } 10865 10866 // String returns the string representation. 10867 // 10868 // API parameter values that are decorated as "sensitive" in the API will not 10869 // be included in the string output. The member name will be present, but the 10870 // value will be replaced with "sensitive". 10871 func (s DeleteItemInput) String() string { 10872 return awsutil.Prettify(s) 10873 } 10874 10875 // GoString returns the string representation. 10876 // 10877 // API parameter values that are decorated as "sensitive" in the API will not 10878 // be included in the string output. The member name will be present, but the 10879 // value will be replaced with "sensitive". 10880 func (s DeleteItemInput) GoString() string { 10881 return s.String() 10882 } 10883 10884 // Validate inspects the fields of the type to determine if they are valid. 10885 func (s *DeleteItemInput) Validate() error { 10886 invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"} 10887 if s.Key == nil { 10888 invalidParams.Add(request.NewErrParamRequired("Key")) 10889 } 10890 if s.TableName == nil { 10891 invalidParams.Add(request.NewErrParamRequired("TableName")) 10892 } 10893 if s.TableName != nil && len(*s.TableName) < 3 { 10894 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10895 } 10896 10897 if invalidParams.Len() > 0 { 10898 return invalidParams 10899 } 10900 return nil 10901 } 10902 10903 // SetConditionExpression sets the ConditionExpression field's value. 10904 func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput { 10905 s.ConditionExpression = &v 10906 return s 10907 } 10908 10909 // SetConditionalOperator sets the ConditionalOperator field's value. 10910 func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput { 10911 s.ConditionalOperator = &v 10912 return s 10913 } 10914 10915 // SetExpected sets the Expected field's value. 10916 func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput { 10917 s.Expected = v 10918 return s 10919 } 10920 10921 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 10922 func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput { 10923 s.ExpressionAttributeNames = v 10924 return s 10925 } 10926 10927 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 10928 func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput { 10929 s.ExpressionAttributeValues = v 10930 return s 10931 } 10932 10933 // SetKey sets the Key field's value. 10934 func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput { 10935 s.Key = v 10936 return s 10937 } 10938 10939 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 10940 func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput { 10941 s.ReturnConsumedCapacity = &v 10942 return s 10943 } 10944 10945 // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 10946 func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput { 10947 s.ReturnItemCollectionMetrics = &v 10948 return s 10949 } 10950 10951 // SetReturnValues sets the ReturnValues field's value. 10952 func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput { 10953 s.ReturnValues = &v 10954 return s 10955 } 10956 10957 // SetTableName sets the TableName field's value. 10958 func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput { 10959 s.TableName = &v 10960 return s 10961 } 10962 10963 // Represents the output of a DeleteItem operation. 10964 type DeleteItemOutput struct { 10965 _ struct{} `type:"structure"` 10966 10967 // A map of attribute names to AttributeValue objects, representing the item 10968 // as it appeared before the DeleteItem operation. This map appears in the response 10969 // only if ReturnValues was specified as ALL_OLD in the request. 10970 Attributes map[string]*AttributeValue `type:"map"` 10971 10972 // The capacity units consumed by the DeleteItem operation. The data returned 10973 // includes the total provisioned throughput consumed, along with statistics 10974 // for the table and any indexes involved in the operation. ConsumedCapacity 10975 // is only returned if the ReturnConsumedCapacity parameter was specified. For 10976 // more information, see Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 10977 // in the Amazon DynamoDB Developer Guide. 10978 ConsumedCapacity *ConsumedCapacity `type:"structure"` 10979 10980 // Information about item collections, if any, that were affected by the DeleteItem 10981 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 10982 // parameter was specified. If the table does not have any local secondary indexes, 10983 // this information is not returned in the response. 10984 // 10985 // Each ItemCollectionMetrics element consists of: 10986 // 10987 // * ItemCollectionKey - The partition key value of the item collection. 10988 // This is the same as the partition key value of the item itself. 10989 // 10990 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 10991 // This value is a two-element array containing a lower bound and an upper 10992 // bound for the estimate. The estimate includes the size of all the items 10993 // in the table, plus the size of all attributes projected into all of the 10994 // local secondary indexes on that table. Use this estimate to measure whether 10995 // a local secondary index is approaching its size limit. The estimate is 10996 // subject to change over time; therefore, do not rely on the precision or 10997 // accuracy of the estimate. 10998 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 10999 } 11000 11001 // String returns the string representation. 11002 // 11003 // API parameter values that are decorated as "sensitive" in the API will not 11004 // be included in the string output. The member name will be present, but the 11005 // value will be replaced with "sensitive". 11006 func (s DeleteItemOutput) String() string { 11007 return awsutil.Prettify(s) 11008 } 11009 11010 // GoString returns the string representation. 11011 // 11012 // API parameter values that are decorated as "sensitive" in the API will not 11013 // be included in the string output. The member name will be present, but the 11014 // value will be replaced with "sensitive". 11015 func (s DeleteItemOutput) GoString() string { 11016 return s.String() 11017 } 11018 11019 // SetAttributes sets the Attributes field's value. 11020 func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput { 11021 s.Attributes = v 11022 return s 11023 } 11024 11025 // SetConsumedCapacity sets the ConsumedCapacity field's value. 11026 func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput { 11027 s.ConsumedCapacity = v 11028 return s 11029 } 11030 11031 // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 11032 func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput { 11033 s.ItemCollectionMetrics = v 11034 return s 11035 } 11036 11037 // Represents a replica to be removed. 11038 type DeleteReplicaAction struct { 11039 _ struct{} `type:"structure"` 11040 11041 // The Region of the replica to be removed. 11042 // 11043 // RegionName is a required field 11044 RegionName *string `type:"string" required:"true"` 11045 } 11046 11047 // String returns the string representation. 11048 // 11049 // API parameter values that are decorated as "sensitive" in the API will not 11050 // be included in the string output. The member name will be present, but the 11051 // value will be replaced with "sensitive". 11052 func (s DeleteReplicaAction) String() string { 11053 return awsutil.Prettify(s) 11054 } 11055 11056 // GoString returns the string representation. 11057 // 11058 // API parameter values that are decorated as "sensitive" in the API will not 11059 // be included in the string output. The member name will be present, but the 11060 // value will be replaced with "sensitive". 11061 func (s DeleteReplicaAction) GoString() string { 11062 return s.String() 11063 } 11064 11065 // Validate inspects the fields of the type to determine if they are valid. 11066 func (s *DeleteReplicaAction) Validate() error { 11067 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"} 11068 if s.RegionName == nil { 11069 invalidParams.Add(request.NewErrParamRequired("RegionName")) 11070 } 11071 11072 if invalidParams.Len() > 0 { 11073 return invalidParams 11074 } 11075 return nil 11076 } 11077 11078 // SetRegionName sets the RegionName field's value. 11079 func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction { 11080 s.RegionName = &v 11081 return s 11082 } 11083 11084 // Represents a replica to be deleted. 11085 type DeleteReplicationGroupMemberAction struct { 11086 _ struct{} `type:"structure"` 11087 11088 // The Region where the replica exists. 11089 // 11090 // RegionName is a required field 11091 RegionName *string `type:"string" required:"true"` 11092 } 11093 11094 // String returns the string representation. 11095 // 11096 // API parameter values that are decorated as "sensitive" in the API will not 11097 // be included in the string output. The member name will be present, but the 11098 // value will be replaced with "sensitive". 11099 func (s DeleteReplicationGroupMemberAction) String() string { 11100 return awsutil.Prettify(s) 11101 } 11102 11103 // GoString returns the string representation. 11104 // 11105 // API parameter values that are decorated as "sensitive" in the API will not 11106 // be included in the string output. The member name will be present, but the 11107 // value will be replaced with "sensitive". 11108 func (s DeleteReplicationGroupMemberAction) GoString() string { 11109 return s.String() 11110 } 11111 11112 // Validate inspects the fields of the type to determine if they are valid. 11113 func (s *DeleteReplicationGroupMemberAction) Validate() error { 11114 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupMemberAction"} 11115 if s.RegionName == nil { 11116 invalidParams.Add(request.NewErrParamRequired("RegionName")) 11117 } 11118 11119 if invalidParams.Len() > 0 { 11120 return invalidParams 11121 } 11122 return nil 11123 } 11124 11125 // SetRegionName sets the RegionName field's value. 11126 func (s *DeleteReplicationGroupMemberAction) SetRegionName(v string) *DeleteReplicationGroupMemberAction { 11127 s.RegionName = &v 11128 return s 11129 } 11130 11131 // Represents a request to perform a DeleteItem operation on an item. 11132 type DeleteRequest struct { 11133 _ struct{} `type:"structure"` 11134 11135 // A map of attribute name to attribute values, representing the primary key 11136 // of the item to delete. All of the table's primary key attributes must be 11137 // specified, and their data types must match those of the table's key schema. 11138 // 11139 // Key is a required field 11140 Key map[string]*AttributeValue `type:"map" required:"true"` 11141 } 11142 11143 // String returns the string representation. 11144 // 11145 // API parameter values that are decorated as "sensitive" in the API will not 11146 // be included in the string output. The member name will be present, but the 11147 // value will be replaced with "sensitive". 11148 func (s DeleteRequest) String() string { 11149 return awsutil.Prettify(s) 11150 } 11151 11152 // GoString returns the string representation. 11153 // 11154 // API parameter values that are decorated as "sensitive" in the API will not 11155 // be included in the string output. The member name will be present, but the 11156 // value will be replaced with "sensitive". 11157 func (s DeleteRequest) GoString() string { 11158 return s.String() 11159 } 11160 11161 // SetKey sets the Key field's value. 11162 func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest { 11163 s.Key = v 11164 return s 11165 } 11166 11167 // Represents the input of a DeleteTable operation. 11168 type DeleteTableInput struct { 11169 _ struct{} `type:"structure"` 11170 11171 // The name of the table to delete. 11172 // 11173 // TableName is a required field 11174 TableName *string `min:"3" type:"string" required:"true"` 11175 } 11176 11177 // String returns the string representation. 11178 // 11179 // API parameter values that are decorated as "sensitive" in the API will not 11180 // be included in the string output. The member name will be present, but the 11181 // value will be replaced with "sensitive". 11182 func (s DeleteTableInput) String() string { 11183 return awsutil.Prettify(s) 11184 } 11185 11186 // GoString returns the string representation. 11187 // 11188 // API parameter values that are decorated as "sensitive" in the API will not 11189 // be included in the string output. The member name will be present, but the 11190 // value will be replaced with "sensitive". 11191 func (s DeleteTableInput) GoString() string { 11192 return s.String() 11193 } 11194 11195 // Validate inspects the fields of the type to determine if they are valid. 11196 func (s *DeleteTableInput) Validate() error { 11197 invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} 11198 if s.TableName == nil { 11199 invalidParams.Add(request.NewErrParamRequired("TableName")) 11200 } 11201 if s.TableName != nil && len(*s.TableName) < 3 { 11202 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 11203 } 11204 11205 if invalidParams.Len() > 0 { 11206 return invalidParams 11207 } 11208 return nil 11209 } 11210 11211 // SetTableName sets the TableName field's value. 11212 func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput { 11213 s.TableName = &v 11214 return s 11215 } 11216 11217 // Represents the output of a DeleteTable operation. 11218 type DeleteTableOutput struct { 11219 _ struct{} `type:"structure"` 11220 11221 // Represents the properties of a table. 11222 TableDescription *TableDescription `type:"structure"` 11223 } 11224 11225 // String returns the string representation. 11226 // 11227 // API parameter values that are decorated as "sensitive" in the API will not 11228 // be included in the string output. The member name will be present, but the 11229 // value will be replaced with "sensitive". 11230 func (s DeleteTableOutput) String() string { 11231 return awsutil.Prettify(s) 11232 } 11233 11234 // GoString returns the string representation. 11235 // 11236 // API parameter values that are decorated as "sensitive" in the API will not 11237 // be included in the string output. The member name will be present, but the 11238 // value will be replaced with "sensitive". 11239 func (s DeleteTableOutput) GoString() string { 11240 return s.String() 11241 } 11242 11243 // SetTableDescription sets the TableDescription field's value. 11244 func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput { 11245 s.TableDescription = v 11246 return s 11247 } 11248 11249 type DescribeBackupInput struct { 11250 _ struct{} `type:"structure"` 11251 11252 // The Amazon Resource Name (ARN) associated with the backup. 11253 // 11254 // BackupArn is a required field 11255 BackupArn *string `min:"37" type:"string" required:"true"` 11256 } 11257 11258 // String returns the string representation. 11259 // 11260 // API parameter values that are decorated as "sensitive" in the API will not 11261 // be included in the string output. The member name will be present, but the 11262 // value will be replaced with "sensitive". 11263 func (s DescribeBackupInput) String() string { 11264 return awsutil.Prettify(s) 11265 } 11266 11267 // GoString returns the string representation. 11268 // 11269 // API parameter values that are decorated as "sensitive" in the API will not 11270 // be included in the string output. The member name will be present, but the 11271 // value will be replaced with "sensitive". 11272 func (s DescribeBackupInput) GoString() string { 11273 return s.String() 11274 } 11275 11276 // Validate inspects the fields of the type to determine if they are valid. 11277 func (s *DescribeBackupInput) Validate() error { 11278 invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"} 11279 if s.BackupArn == nil { 11280 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 11281 } 11282 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 11283 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 11284 } 11285 11286 if invalidParams.Len() > 0 { 11287 return invalidParams 11288 } 11289 return nil 11290 } 11291 11292 // SetBackupArn sets the BackupArn field's value. 11293 func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput { 11294 s.BackupArn = &v 11295 return s 11296 } 11297 11298 type DescribeBackupOutput struct { 11299 _ struct{} `type:"structure"` 11300 11301 // Contains the description of the backup created for the table. 11302 BackupDescription *BackupDescription `type:"structure"` 11303 } 11304 11305 // String returns the string representation. 11306 // 11307 // API parameter values that are decorated as "sensitive" in the API will not 11308 // be included in the string output. The member name will be present, but the 11309 // value will be replaced with "sensitive". 11310 func (s DescribeBackupOutput) String() string { 11311 return awsutil.Prettify(s) 11312 } 11313 11314 // GoString returns the string representation. 11315 // 11316 // API parameter values that are decorated as "sensitive" in the API will not 11317 // be included in the string output. The member name will be present, but the 11318 // value will be replaced with "sensitive". 11319 func (s DescribeBackupOutput) GoString() string { 11320 return s.String() 11321 } 11322 11323 // SetBackupDescription sets the BackupDescription field's value. 11324 func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput { 11325 s.BackupDescription = v 11326 return s 11327 } 11328 11329 type DescribeContinuousBackupsInput struct { 11330 _ struct{} `type:"structure"` 11331 11332 // Name of the table for which the customer wants to check the continuous backups 11333 // and point in time recovery settings. 11334 // 11335 // TableName is a required field 11336 TableName *string `min:"3" type:"string" required:"true"` 11337 } 11338 11339 // String returns the string representation. 11340 // 11341 // API parameter values that are decorated as "sensitive" in the API will not 11342 // be included in the string output. The member name will be present, but the 11343 // value will be replaced with "sensitive". 11344 func (s DescribeContinuousBackupsInput) String() string { 11345 return awsutil.Prettify(s) 11346 } 11347 11348 // GoString returns the string representation. 11349 // 11350 // API parameter values that are decorated as "sensitive" in the API will not 11351 // be included in the string output. The member name will be present, but the 11352 // value will be replaced with "sensitive". 11353 func (s DescribeContinuousBackupsInput) GoString() string { 11354 return s.String() 11355 } 11356 11357 // Validate inspects the fields of the type to determine if they are valid. 11358 func (s *DescribeContinuousBackupsInput) Validate() error { 11359 invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"} 11360 if s.TableName == nil { 11361 invalidParams.Add(request.NewErrParamRequired("TableName")) 11362 } 11363 if s.TableName != nil && len(*s.TableName) < 3 { 11364 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 11365 } 11366 11367 if invalidParams.Len() > 0 { 11368 return invalidParams 11369 } 11370 return nil 11371 } 11372 11373 // SetTableName sets the TableName field's value. 11374 func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput { 11375 s.TableName = &v 11376 return s 11377 } 11378 11379 type DescribeContinuousBackupsOutput struct { 11380 _ struct{} `type:"structure"` 11381 11382 // Represents the continuous backups and point in time recovery settings on 11383 // the table. 11384 ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` 11385 } 11386 11387 // String returns the string representation. 11388 // 11389 // API parameter values that are decorated as "sensitive" in the API will not 11390 // be included in the string output. The member name will be present, but the 11391 // value will be replaced with "sensitive". 11392 func (s DescribeContinuousBackupsOutput) String() string { 11393 return awsutil.Prettify(s) 11394 } 11395 11396 // GoString returns the string representation. 11397 // 11398 // API parameter values that are decorated as "sensitive" in the API will not 11399 // be included in the string output. The member name will be present, but the 11400 // value will be replaced with "sensitive". 11401 func (s DescribeContinuousBackupsOutput) GoString() string { 11402 return s.String() 11403 } 11404 11405 // SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. 11406 func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput { 11407 s.ContinuousBackupsDescription = v 11408 return s 11409 } 11410 11411 type DescribeContributorInsightsInput struct { 11412 _ struct{} `type:"structure"` 11413 11414 // The name of the global secondary index to describe, if applicable. 11415 IndexName *string `min:"3" type:"string"` 11416 11417 // The name of the table to describe. 11418 // 11419 // TableName is a required field 11420 TableName *string `min:"3" type:"string" required:"true"` 11421 } 11422 11423 // String returns the string representation. 11424 // 11425 // API parameter values that are decorated as "sensitive" in the API will not 11426 // be included in the string output. The member name will be present, but the 11427 // value will be replaced with "sensitive". 11428 func (s DescribeContributorInsightsInput) String() string { 11429 return awsutil.Prettify(s) 11430 } 11431 11432 // GoString returns the string representation. 11433 // 11434 // API parameter values that are decorated as "sensitive" in the API will not 11435 // be included in the string output. The member name will be present, but the 11436 // value will be replaced with "sensitive". 11437 func (s DescribeContributorInsightsInput) GoString() string { 11438 return s.String() 11439 } 11440 11441 // Validate inspects the fields of the type to determine if they are valid. 11442 func (s *DescribeContributorInsightsInput) Validate() error { 11443 invalidParams := request.ErrInvalidParams{Context: "DescribeContributorInsightsInput"} 11444 if s.IndexName != nil && len(*s.IndexName) < 3 { 11445 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 11446 } 11447 if s.TableName == nil { 11448 invalidParams.Add(request.NewErrParamRequired("TableName")) 11449 } 11450 if s.TableName != nil && len(*s.TableName) < 3 { 11451 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 11452 } 11453 11454 if invalidParams.Len() > 0 { 11455 return invalidParams 11456 } 11457 return nil 11458 } 11459 11460 // SetIndexName sets the IndexName field's value. 11461 func (s *DescribeContributorInsightsInput) SetIndexName(v string) *DescribeContributorInsightsInput { 11462 s.IndexName = &v 11463 return s 11464 } 11465 11466 // SetTableName sets the TableName field's value. 11467 func (s *DescribeContributorInsightsInput) SetTableName(v string) *DescribeContributorInsightsInput { 11468 s.TableName = &v 11469 return s 11470 } 11471 11472 type DescribeContributorInsightsOutput struct { 11473 _ struct{} `type:"structure"` 11474 11475 // List of names of the associated Alpine rules. 11476 ContributorInsightsRuleList []*string `type:"list"` 11477 11478 // Current Status contributor insights. 11479 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 11480 11481 // Returns information about the last failure that encountered. 11482 // 11483 // The most common exceptions for a FAILED status are: 11484 // 11485 // * LimitExceededException - Per-account Amazon CloudWatch Contributor Insights 11486 // rule limit reached. Please disable Contributor Insights for other tables/indexes 11487 // OR disable Contributor Insights rules before retrying. 11488 // 11489 // * AccessDeniedException - Amazon CloudWatch Contributor Insights rules 11490 // cannot be modified due to insufficient permissions. 11491 // 11492 // * AccessDeniedException - Failed to create service-linked role for Contributor 11493 // Insights due to insufficient permissions. 11494 // 11495 // * InternalServerError - Failed to create Amazon CloudWatch Contributor 11496 // Insights rules. Please retry request. 11497 FailureException *FailureException `type:"structure"` 11498 11499 // The name of the global secondary index being described. 11500 IndexName *string `min:"3" type:"string"` 11501 11502 // Timestamp of the last time the status was changed. 11503 LastUpdateDateTime *time.Time `type:"timestamp"` 11504 11505 // The name of the table being described. 11506 TableName *string `min:"3" type:"string"` 11507 } 11508 11509 // String returns the string representation. 11510 // 11511 // API parameter values that are decorated as "sensitive" in the API will not 11512 // be included in the string output. The member name will be present, but the 11513 // value will be replaced with "sensitive". 11514 func (s DescribeContributorInsightsOutput) String() string { 11515 return awsutil.Prettify(s) 11516 } 11517 11518 // GoString returns the string representation. 11519 // 11520 // API parameter values that are decorated as "sensitive" in the API will not 11521 // be included in the string output. The member name will be present, but the 11522 // value will be replaced with "sensitive". 11523 func (s DescribeContributorInsightsOutput) GoString() string { 11524 return s.String() 11525 } 11526 11527 // SetContributorInsightsRuleList sets the ContributorInsightsRuleList field's value. 11528 func (s *DescribeContributorInsightsOutput) SetContributorInsightsRuleList(v []*string) *DescribeContributorInsightsOutput { 11529 s.ContributorInsightsRuleList = v 11530 return s 11531 } 11532 11533 // SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 11534 func (s *DescribeContributorInsightsOutput) SetContributorInsightsStatus(v string) *DescribeContributorInsightsOutput { 11535 s.ContributorInsightsStatus = &v 11536 return s 11537 } 11538 11539 // SetFailureException sets the FailureException field's value. 11540 func (s *DescribeContributorInsightsOutput) SetFailureException(v *FailureException) *DescribeContributorInsightsOutput { 11541 s.FailureException = v 11542 return s 11543 } 11544 11545 // SetIndexName sets the IndexName field's value. 11546 func (s *DescribeContributorInsightsOutput) SetIndexName(v string) *DescribeContributorInsightsOutput { 11547 s.IndexName = &v 11548 return s 11549 } 11550 11551 // SetLastUpdateDateTime sets the LastUpdateDateTime field's value. 11552 func (s *DescribeContributorInsightsOutput) SetLastUpdateDateTime(v time.Time) *DescribeContributorInsightsOutput { 11553 s.LastUpdateDateTime = &v 11554 return s 11555 } 11556 11557 // SetTableName sets the TableName field's value. 11558 func (s *DescribeContributorInsightsOutput) SetTableName(v string) *DescribeContributorInsightsOutput { 11559 s.TableName = &v 11560 return s 11561 } 11562 11563 type DescribeEndpointsInput struct { 11564 _ struct{} `type:"structure"` 11565 } 11566 11567 // String returns the string representation. 11568 // 11569 // API parameter values that are decorated as "sensitive" in the API will not 11570 // be included in the string output. The member name will be present, but the 11571 // value will be replaced with "sensitive". 11572 func (s DescribeEndpointsInput) String() string { 11573 return awsutil.Prettify(s) 11574 } 11575 11576 // GoString returns the string representation. 11577 // 11578 // API parameter values that are decorated as "sensitive" in the API will not 11579 // be included in the string output. The member name will be present, but the 11580 // value will be replaced with "sensitive". 11581 func (s DescribeEndpointsInput) GoString() string { 11582 return s.String() 11583 } 11584 11585 type DescribeEndpointsOutput struct { 11586 _ struct{} `type:"structure"` 11587 11588 // List of endpoints. 11589 // 11590 // Endpoints is a required field 11591 Endpoints []*Endpoint `type:"list" required:"true"` 11592 } 11593 11594 // String returns the string representation. 11595 // 11596 // API parameter values that are decorated as "sensitive" in the API will not 11597 // be included in the string output. The member name will be present, but the 11598 // value will be replaced with "sensitive". 11599 func (s DescribeEndpointsOutput) String() string { 11600 return awsutil.Prettify(s) 11601 } 11602 11603 // GoString returns the string representation. 11604 // 11605 // API parameter values that are decorated as "sensitive" in the API will not 11606 // be included in the string output. The member name will be present, but the 11607 // value will be replaced with "sensitive". 11608 func (s DescribeEndpointsOutput) GoString() string { 11609 return s.String() 11610 } 11611 11612 // SetEndpoints sets the Endpoints field's value. 11613 func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput { 11614 s.Endpoints = v 11615 return s 11616 } 11617 11618 type DescribeExportInput struct { 11619 _ struct{} `type:"structure"` 11620 11621 // The Amazon Resource Name (ARN) associated with the export. 11622 // 11623 // ExportArn is a required field 11624 ExportArn *string `min:"37" type:"string" required:"true"` 11625 } 11626 11627 // String returns the string representation. 11628 // 11629 // API parameter values that are decorated as "sensitive" in the API will not 11630 // be included in the string output. The member name will be present, but the 11631 // value will be replaced with "sensitive". 11632 func (s DescribeExportInput) String() string { 11633 return awsutil.Prettify(s) 11634 } 11635 11636 // GoString returns the string representation. 11637 // 11638 // API parameter values that are decorated as "sensitive" in the API will not 11639 // be included in the string output. The member name will be present, but the 11640 // value will be replaced with "sensitive". 11641 func (s DescribeExportInput) GoString() string { 11642 return s.String() 11643 } 11644 11645 // Validate inspects the fields of the type to determine if they are valid. 11646 func (s *DescribeExportInput) Validate() error { 11647 invalidParams := request.ErrInvalidParams{Context: "DescribeExportInput"} 11648 if s.ExportArn == nil { 11649 invalidParams.Add(request.NewErrParamRequired("ExportArn")) 11650 } 11651 if s.ExportArn != nil && len(*s.ExportArn) < 37 { 11652 invalidParams.Add(request.NewErrParamMinLen("ExportArn", 37)) 11653 } 11654 11655 if invalidParams.Len() > 0 { 11656 return invalidParams 11657 } 11658 return nil 11659 } 11660 11661 // SetExportArn sets the ExportArn field's value. 11662 func (s *DescribeExportInput) SetExportArn(v string) *DescribeExportInput { 11663 s.ExportArn = &v 11664 return s 11665 } 11666 11667 type DescribeExportOutput struct { 11668 _ struct{} `type:"structure"` 11669 11670 // Represents the properties of the export. 11671 ExportDescription *ExportDescription `type:"structure"` 11672 } 11673 11674 // String returns the string representation. 11675 // 11676 // API parameter values that are decorated as "sensitive" in the API will not 11677 // be included in the string output. The member name will be present, but the 11678 // value will be replaced with "sensitive". 11679 func (s DescribeExportOutput) String() string { 11680 return awsutil.Prettify(s) 11681 } 11682 11683 // GoString returns the string representation. 11684 // 11685 // API parameter values that are decorated as "sensitive" in the API will not 11686 // be included in the string output. The member name will be present, but the 11687 // value will be replaced with "sensitive". 11688 func (s DescribeExportOutput) GoString() string { 11689 return s.String() 11690 } 11691 11692 // SetExportDescription sets the ExportDescription field's value. 11693 func (s *DescribeExportOutput) SetExportDescription(v *ExportDescription) *DescribeExportOutput { 11694 s.ExportDescription = v 11695 return s 11696 } 11697 11698 type DescribeGlobalTableInput struct { 11699 _ struct{} `type:"structure"` 11700 11701 // The name of the global table. 11702 // 11703 // GlobalTableName is a required field 11704 GlobalTableName *string `min:"3" type:"string" required:"true"` 11705 } 11706 11707 // String returns the string representation. 11708 // 11709 // API parameter values that are decorated as "sensitive" in the API will not 11710 // be included in the string output. The member name will be present, but the 11711 // value will be replaced with "sensitive". 11712 func (s DescribeGlobalTableInput) String() string { 11713 return awsutil.Prettify(s) 11714 } 11715 11716 // GoString returns the string representation. 11717 // 11718 // API parameter values that are decorated as "sensitive" in the API will not 11719 // be included in the string output. The member name will be present, but the 11720 // value will be replaced with "sensitive". 11721 func (s DescribeGlobalTableInput) GoString() string { 11722 return s.String() 11723 } 11724 11725 // Validate inspects the fields of the type to determine if they are valid. 11726 func (s *DescribeGlobalTableInput) Validate() error { 11727 invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"} 11728 if s.GlobalTableName == nil { 11729 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 11730 } 11731 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 11732 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 11733 } 11734 11735 if invalidParams.Len() > 0 { 11736 return invalidParams 11737 } 11738 return nil 11739 } 11740 11741 // SetGlobalTableName sets the GlobalTableName field's value. 11742 func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput { 11743 s.GlobalTableName = &v 11744 return s 11745 } 11746 11747 type DescribeGlobalTableOutput struct { 11748 _ struct{} `type:"structure"` 11749 11750 // Contains the details of the global table. 11751 GlobalTableDescription *GlobalTableDescription `type:"structure"` 11752 } 11753 11754 // String returns the string representation. 11755 // 11756 // API parameter values that are decorated as "sensitive" in the API will not 11757 // be included in the string output. The member name will be present, but the 11758 // value will be replaced with "sensitive". 11759 func (s DescribeGlobalTableOutput) String() string { 11760 return awsutil.Prettify(s) 11761 } 11762 11763 // GoString returns the string representation. 11764 // 11765 // API parameter values that are decorated as "sensitive" in the API will not 11766 // be included in the string output. The member name will be present, but the 11767 // value will be replaced with "sensitive". 11768 func (s DescribeGlobalTableOutput) GoString() string { 11769 return s.String() 11770 } 11771 11772 // SetGlobalTableDescription sets the GlobalTableDescription field's value. 11773 func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput { 11774 s.GlobalTableDescription = v 11775 return s 11776 } 11777 11778 type DescribeGlobalTableSettingsInput struct { 11779 _ struct{} `type:"structure"` 11780 11781 // The name of the global table to describe. 11782 // 11783 // GlobalTableName is a required field 11784 GlobalTableName *string `min:"3" type:"string" required:"true"` 11785 } 11786 11787 // String returns the string representation. 11788 // 11789 // API parameter values that are decorated as "sensitive" in the API will not 11790 // be included in the string output. The member name will be present, but the 11791 // value will be replaced with "sensitive". 11792 func (s DescribeGlobalTableSettingsInput) String() string { 11793 return awsutil.Prettify(s) 11794 } 11795 11796 // GoString returns the string representation. 11797 // 11798 // API parameter values that are decorated as "sensitive" in the API will not 11799 // be included in the string output. The member name will be present, but the 11800 // value will be replaced with "sensitive". 11801 func (s DescribeGlobalTableSettingsInput) GoString() string { 11802 return s.String() 11803 } 11804 11805 // Validate inspects the fields of the type to determine if they are valid. 11806 func (s *DescribeGlobalTableSettingsInput) Validate() error { 11807 invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"} 11808 if s.GlobalTableName == nil { 11809 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 11810 } 11811 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 11812 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 11813 } 11814 11815 if invalidParams.Len() > 0 { 11816 return invalidParams 11817 } 11818 return nil 11819 } 11820 11821 // SetGlobalTableName sets the GlobalTableName field's value. 11822 func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput { 11823 s.GlobalTableName = &v 11824 return s 11825 } 11826 11827 type DescribeGlobalTableSettingsOutput struct { 11828 _ struct{} `type:"structure"` 11829 11830 // The name of the global table. 11831 GlobalTableName *string `min:"3" type:"string"` 11832 11833 // The Region-specific settings for the global table. 11834 ReplicaSettings []*ReplicaSettingsDescription `type:"list"` 11835 } 11836 11837 // String returns the string representation. 11838 // 11839 // API parameter values that are decorated as "sensitive" in the API will not 11840 // be included in the string output. The member name will be present, but the 11841 // value will be replaced with "sensitive". 11842 func (s DescribeGlobalTableSettingsOutput) String() string { 11843 return awsutil.Prettify(s) 11844 } 11845 11846 // GoString returns the string representation. 11847 // 11848 // API parameter values that are decorated as "sensitive" in the API will not 11849 // be included in the string output. The member name will be present, but the 11850 // value will be replaced with "sensitive". 11851 func (s DescribeGlobalTableSettingsOutput) GoString() string { 11852 return s.String() 11853 } 11854 11855 // SetGlobalTableName sets the GlobalTableName field's value. 11856 func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput { 11857 s.GlobalTableName = &v 11858 return s 11859 } 11860 11861 // SetReplicaSettings sets the ReplicaSettings field's value. 11862 func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput { 11863 s.ReplicaSettings = v 11864 return s 11865 } 11866 11867 type DescribeKinesisStreamingDestinationInput struct { 11868 _ struct{} `type:"structure"` 11869 11870 // The name of the table being described. 11871 // 11872 // TableName is a required field 11873 TableName *string `min:"3" type:"string" required:"true"` 11874 } 11875 11876 // String returns the string representation. 11877 // 11878 // API parameter values that are decorated as "sensitive" in the API will not 11879 // be included in the string output. The member name will be present, but the 11880 // value will be replaced with "sensitive". 11881 func (s DescribeKinesisStreamingDestinationInput) String() string { 11882 return awsutil.Prettify(s) 11883 } 11884 11885 // GoString returns the string representation. 11886 // 11887 // API parameter values that are decorated as "sensitive" in the API will not 11888 // be included in the string output. The member name will be present, but the 11889 // value will be replaced with "sensitive". 11890 func (s DescribeKinesisStreamingDestinationInput) GoString() string { 11891 return s.String() 11892 } 11893 11894 // Validate inspects the fields of the type to determine if they are valid. 11895 func (s *DescribeKinesisStreamingDestinationInput) Validate() error { 11896 invalidParams := request.ErrInvalidParams{Context: "DescribeKinesisStreamingDestinationInput"} 11897 if s.TableName == nil { 11898 invalidParams.Add(request.NewErrParamRequired("TableName")) 11899 } 11900 if s.TableName != nil && len(*s.TableName) < 3 { 11901 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 11902 } 11903 11904 if invalidParams.Len() > 0 { 11905 return invalidParams 11906 } 11907 return nil 11908 } 11909 11910 // SetTableName sets the TableName field's value. 11911 func (s *DescribeKinesisStreamingDestinationInput) SetTableName(v string) *DescribeKinesisStreamingDestinationInput { 11912 s.TableName = &v 11913 return s 11914 } 11915 11916 type DescribeKinesisStreamingDestinationOutput struct { 11917 _ struct{} `type:"structure"` 11918 11919 // The list of replica structures for the table being described. 11920 KinesisDataStreamDestinations []*KinesisDataStreamDestination `type:"list"` 11921 11922 // The name of the table being described. 11923 TableName *string `min:"3" type:"string"` 11924 } 11925 11926 // String returns the string representation. 11927 // 11928 // API parameter values that are decorated as "sensitive" in the API will not 11929 // be included in the string output. The member name will be present, but the 11930 // value will be replaced with "sensitive". 11931 func (s DescribeKinesisStreamingDestinationOutput) String() string { 11932 return awsutil.Prettify(s) 11933 } 11934 11935 // GoString returns the string representation. 11936 // 11937 // API parameter values that are decorated as "sensitive" in the API will not 11938 // be included in the string output. The member name will be present, but the 11939 // value will be replaced with "sensitive". 11940 func (s DescribeKinesisStreamingDestinationOutput) GoString() string { 11941 return s.String() 11942 } 11943 11944 // SetKinesisDataStreamDestinations sets the KinesisDataStreamDestinations field's value. 11945 func (s *DescribeKinesisStreamingDestinationOutput) SetKinesisDataStreamDestinations(v []*KinesisDataStreamDestination) *DescribeKinesisStreamingDestinationOutput { 11946 s.KinesisDataStreamDestinations = v 11947 return s 11948 } 11949 11950 // SetTableName sets the TableName field's value. 11951 func (s *DescribeKinesisStreamingDestinationOutput) SetTableName(v string) *DescribeKinesisStreamingDestinationOutput { 11952 s.TableName = &v 11953 return s 11954 } 11955 11956 // Represents the input of a DescribeLimits operation. Has no content. 11957 type DescribeLimitsInput struct { 11958 _ struct{} `type:"structure"` 11959 } 11960 11961 // String returns the string representation. 11962 // 11963 // API parameter values that are decorated as "sensitive" in the API will not 11964 // be included in the string output. The member name will be present, but the 11965 // value will be replaced with "sensitive". 11966 func (s DescribeLimitsInput) String() string { 11967 return awsutil.Prettify(s) 11968 } 11969 11970 // GoString returns the string representation. 11971 // 11972 // API parameter values that are decorated as "sensitive" in the API will not 11973 // be included in the string output. The member name will be present, but the 11974 // value will be replaced with "sensitive". 11975 func (s DescribeLimitsInput) GoString() string { 11976 return s.String() 11977 } 11978 11979 // Represents the output of a DescribeLimits operation. 11980 type DescribeLimitsOutput struct { 11981 _ struct{} `type:"structure"` 11982 11983 // The maximum total read capacity units that your account allows you to provision 11984 // across all of your tables in this Region. 11985 AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"` 11986 11987 // The maximum total write capacity units that your account allows you to provision 11988 // across all of your tables in this Region. 11989 AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"` 11990 11991 // The maximum read capacity units that your account allows you to provision 11992 // for a new table that you are creating in this Region, including the read 11993 // capacity units provisioned for its global secondary indexes (GSIs). 11994 TableMaxReadCapacityUnits *int64 `min:"1" type:"long"` 11995 11996 // The maximum write capacity units that your account allows you to provision 11997 // for a new table that you are creating in this Region, including the write 11998 // capacity units provisioned for its global secondary indexes (GSIs). 11999 TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"` 12000 } 12001 12002 // String returns the string representation. 12003 // 12004 // API parameter values that are decorated as "sensitive" in the API will not 12005 // be included in the string output. The member name will be present, but the 12006 // value will be replaced with "sensitive". 12007 func (s DescribeLimitsOutput) String() string { 12008 return awsutil.Prettify(s) 12009 } 12010 12011 // GoString returns the string representation. 12012 // 12013 // API parameter values that are decorated as "sensitive" in the API will not 12014 // be included in the string output. The member name will be present, but the 12015 // value will be replaced with "sensitive". 12016 func (s DescribeLimitsOutput) GoString() string { 12017 return s.String() 12018 } 12019 12020 // SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value. 12021 func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { 12022 s.AccountMaxReadCapacityUnits = &v 12023 return s 12024 } 12025 12026 // SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value. 12027 func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { 12028 s.AccountMaxWriteCapacityUnits = &v 12029 return s 12030 } 12031 12032 // SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value. 12033 func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { 12034 s.TableMaxReadCapacityUnits = &v 12035 return s 12036 } 12037 12038 // SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value. 12039 func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { 12040 s.TableMaxWriteCapacityUnits = &v 12041 return s 12042 } 12043 12044 // Represents the input of a DescribeTable operation. 12045 type DescribeTableInput struct { 12046 _ struct{} `type:"structure"` 12047 12048 // The name of the table to describe. 12049 // 12050 // TableName is a required field 12051 TableName *string `min:"3" type:"string" required:"true"` 12052 } 12053 12054 // String returns the string representation. 12055 // 12056 // API parameter values that are decorated as "sensitive" in the API will not 12057 // be included in the string output. The member name will be present, but the 12058 // value will be replaced with "sensitive". 12059 func (s DescribeTableInput) String() string { 12060 return awsutil.Prettify(s) 12061 } 12062 12063 // GoString returns the string representation. 12064 // 12065 // API parameter values that are decorated as "sensitive" in the API will not 12066 // be included in the string output. The member name will be present, but the 12067 // value will be replaced with "sensitive". 12068 func (s DescribeTableInput) GoString() string { 12069 return s.String() 12070 } 12071 12072 // Validate inspects the fields of the type to determine if they are valid. 12073 func (s *DescribeTableInput) Validate() error { 12074 invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} 12075 if s.TableName == nil { 12076 invalidParams.Add(request.NewErrParamRequired("TableName")) 12077 } 12078 if s.TableName != nil && len(*s.TableName) < 3 { 12079 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12080 } 12081 12082 if invalidParams.Len() > 0 { 12083 return invalidParams 12084 } 12085 return nil 12086 } 12087 12088 // SetTableName sets the TableName field's value. 12089 func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput { 12090 s.TableName = &v 12091 return s 12092 } 12093 12094 // Represents the output of a DescribeTable operation. 12095 type DescribeTableOutput struct { 12096 _ struct{} `type:"structure"` 12097 12098 // The properties of the table. 12099 Table *TableDescription `type:"structure"` 12100 } 12101 12102 // String returns the string representation. 12103 // 12104 // API parameter values that are decorated as "sensitive" in the API will not 12105 // be included in the string output. The member name will be present, but the 12106 // value will be replaced with "sensitive". 12107 func (s DescribeTableOutput) String() string { 12108 return awsutil.Prettify(s) 12109 } 12110 12111 // GoString returns the string representation. 12112 // 12113 // API parameter values that are decorated as "sensitive" in the API will not 12114 // be included in the string output. The member name will be present, but the 12115 // value will be replaced with "sensitive". 12116 func (s DescribeTableOutput) GoString() string { 12117 return s.String() 12118 } 12119 12120 // SetTable sets the Table field's value. 12121 func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput { 12122 s.Table = v 12123 return s 12124 } 12125 12126 type DescribeTableReplicaAutoScalingInput struct { 12127 _ struct{} `type:"structure"` 12128 12129 // The name of the table. 12130 // 12131 // TableName is a required field 12132 TableName *string `min:"3" type:"string" required:"true"` 12133 } 12134 12135 // String returns the string representation. 12136 // 12137 // API parameter values that are decorated as "sensitive" in the API will not 12138 // be included in the string output. The member name will be present, but the 12139 // value will be replaced with "sensitive". 12140 func (s DescribeTableReplicaAutoScalingInput) String() string { 12141 return awsutil.Prettify(s) 12142 } 12143 12144 // GoString returns the string representation. 12145 // 12146 // API parameter values that are decorated as "sensitive" in the API will not 12147 // be included in the string output. The member name will be present, but the 12148 // value will be replaced with "sensitive". 12149 func (s DescribeTableReplicaAutoScalingInput) GoString() string { 12150 return s.String() 12151 } 12152 12153 // Validate inspects the fields of the type to determine if they are valid. 12154 func (s *DescribeTableReplicaAutoScalingInput) Validate() error { 12155 invalidParams := request.ErrInvalidParams{Context: "DescribeTableReplicaAutoScalingInput"} 12156 if s.TableName == nil { 12157 invalidParams.Add(request.NewErrParamRequired("TableName")) 12158 } 12159 if s.TableName != nil && len(*s.TableName) < 3 { 12160 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12161 } 12162 12163 if invalidParams.Len() > 0 { 12164 return invalidParams 12165 } 12166 return nil 12167 } 12168 12169 // SetTableName sets the TableName field's value. 12170 func (s *DescribeTableReplicaAutoScalingInput) SetTableName(v string) *DescribeTableReplicaAutoScalingInput { 12171 s.TableName = &v 12172 return s 12173 } 12174 12175 type DescribeTableReplicaAutoScalingOutput struct { 12176 _ struct{} `type:"structure"` 12177 12178 // Represents the auto scaling properties of the table. 12179 TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` 12180 } 12181 12182 // String returns the string representation. 12183 // 12184 // API parameter values that are decorated as "sensitive" in the API will not 12185 // be included in the string output. The member name will be present, but the 12186 // value will be replaced with "sensitive". 12187 func (s DescribeTableReplicaAutoScalingOutput) String() string { 12188 return awsutil.Prettify(s) 12189 } 12190 12191 // GoString returns the string representation. 12192 // 12193 // API parameter values that are decorated as "sensitive" in the API will not 12194 // be included in the string output. The member name will be present, but the 12195 // value will be replaced with "sensitive". 12196 func (s DescribeTableReplicaAutoScalingOutput) GoString() string { 12197 return s.String() 12198 } 12199 12200 // SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. 12201 func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *DescribeTableReplicaAutoScalingOutput { 12202 s.TableAutoScalingDescription = v 12203 return s 12204 } 12205 12206 type DescribeTimeToLiveInput struct { 12207 _ struct{} `type:"structure"` 12208 12209 // The name of the table to be described. 12210 // 12211 // TableName is a required field 12212 TableName *string `min:"3" type:"string" required:"true"` 12213 } 12214 12215 // String returns the string representation. 12216 // 12217 // API parameter values that are decorated as "sensitive" in the API will not 12218 // be included in the string output. The member name will be present, but the 12219 // value will be replaced with "sensitive". 12220 func (s DescribeTimeToLiveInput) String() string { 12221 return awsutil.Prettify(s) 12222 } 12223 12224 // GoString returns the string representation. 12225 // 12226 // API parameter values that are decorated as "sensitive" in the API will not 12227 // be included in the string output. The member name will be present, but the 12228 // value will be replaced with "sensitive". 12229 func (s DescribeTimeToLiveInput) GoString() string { 12230 return s.String() 12231 } 12232 12233 // Validate inspects the fields of the type to determine if they are valid. 12234 func (s *DescribeTimeToLiveInput) Validate() error { 12235 invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} 12236 if s.TableName == nil { 12237 invalidParams.Add(request.NewErrParamRequired("TableName")) 12238 } 12239 if s.TableName != nil && len(*s.TableName) < 3 { 12240 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12241 } 12242 12243 if invalidParams.Len() > 0 { 12244 return invalidParams 12245 } 12246 return nil 12247 } 12248 12249 // SetTableName sets the TableName field's value. 12250 func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { 12251 s.TableName = &v 12252 return s 12253 } 12254 12255 type DescribeTimeToLiveOutput struct { 12256 _ struct{} `type:"structure"` 12257 12258 // The description of the Time to Live (TTL) status on the specified table. 12259 TimeToLiveDescription *TimeToLiveDescription `type:"structure"` 12260 } 12261 12262 // String returns the string representation. 12263 // 12264 // API parameter values that are decorated as "sensitive" in the API will not 12265 // be included in the string output. The member name will be present, but the 12266 // value will be replaced with "sensitive". 12267 func (s DescribeTimeToLiveOutput) String() string { 12268 return awsutil.Prettify(s) 12269 } 12270 12271 // GoString returns the string representation. 12272 // 12273 // API parameter values that are decorated as "sensitive" in the API will not 12274 // be included in the string output. The member name will be present, but the 12275 // value will be replaced with "sensitive". 12276 func (s DescribeTimeToLiveOutput) GoString() string { 12277 return s.String() 12278 } 12279 12280 // SetTimeToLiveDescription sets the TimeToLiveDescription field's value. 12281 func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput { 12282 s.TimeToLiveDescription = v 12283 return s 12284 } 12285 12286 type DisableKinesisStreamingDestinationInput struct { 12287 _ struct{} `type:"structure"` 12288 12289 // The ARN for a Kinesis data stream. 12290 // 12291 // StreamArn is a required field 12292 StreamArn *string `min:"37" type:"string" required:"true"` 12293 12294 // The name of the DynamoDB table. 12295 // 12296 // TableName is a required field 12297 TableName *string `min:"3" type:"string" required:"true"` 12298 } 12299 12300 // String returns the string representation. 12301 // 12302 // API parameter values that are decorated as "sensitive" in the API will not 12303 // be included in the string output. The member name will be present, but the 12304 // value will be replaced with "sensitive". 12305 func (s DisableKinesisStreamingDestinationInput) String() string { 12306 return awsutil.Prettify(s) 12307 } 12308 12309 // GoString returns the string representation. 12310 // 12311 // API parameter values that are decorated as "sensitive" in the API will not 12312 // be included in the string output. The member name will be present, but the 12313 // value will be replaced with "sensitive". 12314 func (s DisableKinesisStreamingDestinationInput) GoString() string { 12315 return s.String() 12316 } 12317 12318 // Validate inspects the fields of the type to determine if they are valid. 12319 func (s *DisableKinesisStreamingDestinationInput) Validate() error { 12320 invalidParams := request.ErrInvalidParams{Context: "DisableKinesisStreamingDestinationInput"} 12321 if s.StreamArn == nil { 12322 invalidParams.Add(request.NewErrParamRequired("StreamArn")) 12323 } 12324 if s.StreamArn != nil && len(*s.StreamArn) < 37 { 12325 invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37)) 12326 } 12327 if s.TableName == nil { 12328 invalidParams.Add(request.NewErrParamRequired("TableName")) 12329 } 12330 if s.TableName != nil && len(*s.TableName) < 3 { 12331 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12332 } 12333 12334 if invalidParams.Len() > 0 { 12335 return invalidParams 12336 } 12337 return nil 12338 } 12339 12340 // SetStreamArn sets the StreamArn field's value. 12341 func (s *DisableKinesisStreamingDestinationInput) SetStreamArn(v string) *DisableKinesisStreamingDestinationInput { 12342 s.StreamArn = &v 12343 return s 12344 } 12345 12346 // SetTableName sets the TableName field's value. 12347 func (s *DisableKinesisStreamingDestinationInput) SetTableName(v string) *DisableKinesisStreamingDestinationInput { 12348 s.TableName = &v 12349 return s 12350 } 12351 12352 type DisableKinesisStreamingDestinationOutput struct { 12353 _ struct{} `type:"structure"` 12354 12355 // The current status of the replication. 12356 DestinationStatus *string `type:"string" enum:"DestinationStatus"` 12357 12358 // The ARN for the specific Kinesis data stream. 12359 StreamArn *string `min:"37" type:"string"` 12360 12361 // The name of the table being modified. 12362 TableName *string `min:"3" type:"string"` 12363 } 12364 12365 // String returns the string representation. 12366 // 12367 // API parameter values that are decorated as "sensitive" in the API will not 12368 // be included in the string output. The member name will be present, but the 12369 // value will be replaced with "sensitive". 12370 func (s DisableKinesisStreamingDestinationOutput) String() string { 12371 return awsutil.Prettify(s) 12372 } 12373 12374 // GoString returns the string representation. 12375 // 12376 // API parameter values that are decorated as "sensitive" in the API will not 12377 // be included in the string output. The member name will be present, but the 12378 // value will be replaced with "sensitive". 12379 func (s DisableKinesisStreamingDestinationOutput) GoString() string { 12380 return s.String() 12381 } 12382 12383 // SetDestinationStatus sets the DestinationStatus field's value. 12384 func (s *DisableKinesisStreamingDestinationOutput) SetDestinationStatus(v string) *DisableKinesisStreamingDestinationOutput { 12385 s.DestinationStatus = &v 12386 return s 12387 } 12388 12389 // SetStreamArn sets the StreamArn field's value. 12390 func (s *DisableKinesisStreamingDestinationOutput) SetStreamArn(v string) *DisableKinesisStreamingDestinationOutput { 12391 s.StreamArn = &v 12392 return s 12393 } 12394 12395 // SetTableName sets the TableName field's value. 12396 func (s *DisableKinesisStreamingDestinationOutput) SetTableName(v string) *DisableKinesisStreamingDestinationOutput { 12397 s.TableName = &v 12398 return s 12399 } 12400 12401 // There was an attempt to insert an item with the same primary key as an item 12402 // that already exists in the DynamoDB table. 12403 type DuplicateItemException struct { 12404 _ struct{} `type:"structure"` 12405 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12406 12407 Message_ *string `locationName:"message" type:"string"` 12408 } 12409 12410 // String returns the string representation. 12411 // 12412 // API parameter values that are decorated as "sensitive" in the API will not 12413 // be included in the string output. The member name will be present, but the 12414 // value will be replaced with "sensitive". 12415 func (s DuplicateItemException) String() string { 12416 return awsutil.Prettify(s) 12417 } 12418 12419 // GoString returns the string representation. 12420 // 12421 // API parameter values that are decorated as "sensitive" in the API will not 12422 // be included in the string output. The member name will be present, but the 12423 // value will be replaced with "sensitive". 12424 func (s DuplicateItemException) GoString() string { 12425 return s.String() 12426 } 12427 12428 func newErrorDuplicateItemException(v protocol.ResponseMetadata) error { 12429 return &DuplicateItemException{ 12430 RespMetadata: v, 12431 } 12432 } 12433 12434 // Code returns the exception type name. 12435 func (s *DuplicateItemException) Code() string { 12436 return "DuplicateItemException" 12437 } 12438 12439 // Message returns the exception's message. 12440 func (s *DuplicateItemException) Message() string { 12441 if s.Message_ != nil { 12442 return *s.Message_ 12443 } 12444 return "" 12445 } 12446 12447 // OrigErr always returns nil, satisfies awserr.Error interface. 12448 func (s *DuplicateItemException) OrigErr() error { 12449 return nil 12450 } 12451 12452 func (s *DuplicateItemException) Error() string { 12453 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12454 } 12455 12456 // Status code returns the HTTP status code for the request's response error. 12457 func (s *DuplicateItemException) StatusCode() int { 12458 return s.RespMetadata.StatusCode 12459 } 12460 12461 // RequestID returns the service's response RequestID for request. 12462 func (s *DuplicateItemException) RequestID() string { 12463 return s.RespMetadata.RequestID 12464 } 12465 12466 type EnableKinesisStreamingDestinationInput struct { 12467 _ struct{} `type:"structure"` 12468 12469 // The ARN for a Kinesis data stream. 12470 // 12471 // StreamArn is a required field 12472 StreamArn *string `min:"37" type:"string" required:"true"` 12473 12474 // The name of the DynamoDB table. 12475 // 12476 // TableName is a required field 12477 TableName *string `min:"3" type:"string" required:"true"` 12478 } 12479 12480 // String returns the string representation. 12481 // 12482 // API parameter values that are decorated as "sensitive" in the API will not 12483 // be included in the string output. The member name will be present, but the 12484 // value will be replaced with "sensitive". 12485 func (s EnableKinesisStreamingDestinationInput) String() string { 12486 return awsutil.Prettify(s) 12487 } 12488 12489 // GoString returns the string representation. 12490 // 12491 // API parameter values that are decorated as "sensitive" in the API will not 12492 // be included in the string output. The member name will be present, but the 12493 // value will be replaced with "sensitive". 12494 func (s EnableKinesisStreamingDestinationInput) GoString() string { 12495 return s.String() 12496 } 12497 12498 // Validate inspects the fields of the type to determine if they are valid. 12499 func (s *EnableKinesisStreamingDestinationInput) Validate() error { 12500 invalidParams := request.ErrInvalidParams{Context: "EnableKinesisStreamingDestinationInput"} 12501 if s.StreamArn == nil { 12502 invalidParams.Add(request.NewErrParamRequired("StreamArn")) 12503 } 12504 if s.StreamArn != nil && len(*s.StreamArn) < 37 { 12505 invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37)) 12506 } 12507 if s.TableName == nil { 12508 invalidParams.Add(request.NewErrParamRequired("TableName")) 12509 } 12510 if s.TableName != nil && len(*s.TableName) < 3 { 12511 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12512 } 12513 12514 if invalidParams.Len() > 0 { 12515 return invalidParams 12516 } 12517 return nil 12518 } 12519 12520 // SetStreamArn sets the StreamArn field's value. 12521 func (s *EnableKinesisStreamingDestinationInput) SetStreamArn(v string) *EnableKinesisStreamingDestinationInput { 12522 s.StreamArn = &v 12523 return s 12524 } 12525 12526 // SetTableName sets the TableName field's value. 12527 func (s *EnableKinesisStreamingDestinationInput) SetTableName(v string) *EnableKinesisStreamingDestinationInput { 12528 s.TableName = &v 12529 return s 12530 } 12531 12532 type EnableKinesisStreamingDestinationOutput struct { 12533 _ struct{} `type:"structure"` 12534 12535 // The current status of the replication. 12536 DestinationStatus *string `type:"string" enum:"DestinationStatus"` 12537 12538 // The ARN for the specific Kinesis data stream. 12539 StreamArn *string `min:"37" type:"string"` 12540 12541 // The name of the table being modified. 12542 TableName *string `min:"3" type:"string"` 12543 } 12544 12545 // String returns the string representation. 12546 // 12547 // API parameter values that are decorated as "sensitive" in the API will not 12548 // be included in the string output. The member name will be present, but the 12549 // value will be replaced with "sensitive". 12550 func (s EnableKinesisStreamingDestinationOutput) String() string { 12551 return awsutil.Prettify(s) 12552 } 12553 12554 // GoString returns the string representation. 12555 // 12556 // API parameter values that are decorated as "sensitive" in the API will not 12557 // be included in the string output. The member name will be present, but the 12558 // value will be replaced with "sensitive". 12559 func (s EnableKinesisStreamingDestinationOutput) GoString() string { 12560 return s.String() 12561 } 12562 12563 // SetDestinationStatus sets the DestinationStatus field's value. 12564 func (s *EnableKinesisStreamingDestinationOutput) SetDestinationStatus(v string) *EnableKinesisStreamingDestinationOutput { 12565 s.DestinationStatus = &v 12566 return s 12567 } 12568 12569 // SetStreamArn sets the StreamArn field's value. 12570 func (s *EnableKinesisStreamingDestinationOutput) SetStreamArn(v string) *EnableKinesisStreamingDestinationOutput { 12571 s.StreamArn = &v 12572 return s 12573 } 12574 12575 // SetTableName sets the TableName field's value. 12576 func (s *EnableKinesisStreamingDestinationOutput) SetTableName(v string) *EnableKinesisStreamingDestinationOutput { 12577 s.TableName = &v 12578 return s 12579 } 12580 12581 // An endpoint information details. 12582 type Endpoint struct { 12583 _ struct{} `type:"structure"` 12584 12585 // IP address of the endpoint. 12586 // 12587 // Address is a required field 12588 Address *string `type:"string" required:"true"` 12589 12590 // Endpoint cache time to live (TTL) value. 12591 // 12592 // CachePeriodInMinutes is a required field 12593 CachePeriodInMinutes *int64 `type:"long" required:"true"` 12594 } 12595 12596 // String returns the string representation. 12597 // 12598 // API parameter values that are decorated as "sensitive" in the API will not 12599 // be included in the string output. The member name will be present, but the 12600 // value will be replaced with "sensitive". 12601 func (s Endpoint) String() string { 12602 return awsutil.Prettify(s) 12603 } 12604 12605 // GoString returns the string representation. 12606 // 12607 // API parameter values that are decorated as "sensitive" in the API will not 12608 // be included in the string output. The member name will be present, but the 12609 // value will be replaced with "sensitive". 12610 func (s Endpoint) GoString() string { 12611 return s.String() 12612 } 12613 12614 // SetAddress sets the Address field's value. 12615 func (s *Endpoint) SetAddress(v string) *Endpoint { 12616 s.Address = &v 12617 return s 12618 } 12619 12620 // SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value. 12621 func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint { 12622 s.CachePeriodInMinutes = &v 12623 return s 12624 } 12625 12626 type ExecuteStatementInput struct { 12627 _ struct{} `type:"structure"` 12628 12629 // The consistency of a read operation. If set to true, then a strongly consistent 12630 // read is used; otherwise, an eventually consistent read is used. 12631 ConsistentRead *bool `type:"boolean"` 12632 12633 // Set this value to get remaining results, if NextToken was returned in the 12634 // statement response. 12635 NextToken *string `min:"1" type:"string"` 12636 12637 // The parameters for the PartiQL statement, if any. 12638 Parameters []*AttributeValue `min:"1" type:"list"` 12639 12640 // The PartiQL statement representing the operation to run. 12641 // 12642 // Statement is a required field 12643 Statement *string `min:"1" type:"string" required:"true"` 12644 } 12645 12646 // String returns the string representation. 12647 // 12648 // API parameter values that are decorated as "sensitive" in the API will not 12649 // be included in the string output. The member name will be present, but the 12650 // value will be replaced with "sensitive". 12651 func (s ExecuteStatementInput) String() string { 12652 return awsutil.Prettify(s) 12653 } 12654 12655 // GoString returns the string representation. 12656 // 12657 // API parameter values that are decorated as "sensitive" in the API will not 12658 // be included in the string output. The member name will be present, but the 12659 // value will be replaced with "sensitive". 12660 func (s ExecuteStatementInput) GoString() string { 12661 return s.String() 12662 } 12663 12664 // Validate inspects the fields of the type to determine if they are valid. 12665 func (s *ExecuteStatementInput) Validate() error { 12666 invalidParams := request.ErrInvalidParams{Context: "ExecuteStatementInput"} 12667 if s.NextToken != nil && len(*s.NextToken) < 1 { 12668 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 12669 } 12670 if s.Parameters != nil && len(s.Parameters) < 1 { 12671 invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) 12672 } 12673 if s.Statement == nil { 12674 invalidParams.Add(request.NewErrParamRequired("Statement")) 12675 } 12676 if s.Statement != nil && len(*s.Statement) < 1 { 12677 invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) 12678 } 12679 12680 if invalidParams.Len() > 0 { 12681 return invalidParams 12682 } 12683 return nil 12684 } 12685 12686 // SetConsistentRead sets the ConsistentRead field's value. 12687 func (s *ExecuteStatementInput) SetConsistentRead(v bool) *ExecuteStatementInput { 12688 s.ConsistentRead = &v 12689 return s 12690 } 12691 12692 // SetNextToken sets the NextToken field's value. 12693 func (s *ExecuteStatementInput) SetNextToken(v string) *ExecuteStatementInput { 12694 s.NextToken = &v 12695 return s 12696 } 12697 12698 // SetParameters sets the Parameters field's value. 12699 func (s *ExecuteStatementInput) SetParameters(v []*AttributeValue) *ExecuteStatementInput { 12700 s.Parameters = v 12701 return s 12702 } 12703 12704 // SetStatement sets the Statement field's value. 12705 func (s *ExecuteStatementInput) SetStatement(v string) *ExecuteStatementInput { 12706 s.Statement = &v 12707 return s 12708 } 12709 12710 type ExecuteStatementOutput struct { 12711 _ struct{} `type:"structure"` 12712 12713 // If a read operation was used, this property will contain the result of the 12714 // reade operation; a map of attribute names and their values. For the write 12715 // operations this value will be empty. 12716 Items []map[string]*AttributeValue `type:"list"` 12717 12718 // If the response of a read request exceeds the response payload limit DynamoDB 12719 // will set this value in the response. If set, you can use that this value 12720 // in the subsequent request to get the remaining results. 12721 NextToken *string `min:"1" type:"string"` 12722 } 12723 12724 // String returns the string representation. 12725 // 12726 // API parameter values that are decorated as "sensitive" in the API will not 12727 // be included in the string output. The member name will be present, but the 12728 // value will be replaced with "sensitive". 12729 func (s ExecuteStatementOutput) String() string { 12730 return awsutil.Prettify(s) 12731 } 12732 12733 // GoString returns the string representation. 12734 // 12735 // API parameter values that are decorated as "sensitive" in the API will not 12736 // be included in the string output. The member name will be present, but the 12737 // value will be replaced with "sensitive". 12738 func (s ExecuteStatementOutput) GoString() string { 12739 return s.String() 12740 } 12741 12742 // SetItems sets the Items field's value. 12743 func (s *ExecuteStatementOutput) SetItems(v []map[string]*AttributeValue) *ExecuteStatementOutput { 12744 s.Items = v 12745 return s 12746 } 12747 12748 // SetNextToken sets the NextToken field's value. 12749 func (s *ExecuteStatementOutput) SetNextToken(v string) *ExecuteStatementOutput { 12750 s.NextToken = &v 12751 return s 12752 } 12753 12754 type ExecuteTransactionInput struct { 12755 _ struct{} `type:"structure"` 12756 12757 // Set this value to get remaining results, if NextToken was returned in the 12758 // statement response. 12759 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 12760 12761 // The list of PartiQL statements representing the transaction to run. 12762 // 12763 // TransactStatements is a required field 12764 TransactStatements []*ParameterizedStatement `min:"1" type:"list" required:"true"` 12765 } 12766 12767 // String returns the string representation. 12768 // 12769 // API parameter values that are decorated as "sensitive" in the API will not 12770 // be included in the string output. The member name will be present, but the 12771 // value will be replaced with "sensitive". 12772 func (s ExecuteTransactionInput) String() string { 12773 return awsutil.Prettify(s) 12774 } 12775 12776 // GoString returns the string representation. 12777 // 12778 // API parameter values that are decorated as "sensitive" in the API will not 12779 // be included in the string output. The member name will be present, but the 12780 // value will be replaced with "sensitive". 12781 func (s ExecuteTransactionInput) GoString() string { 12782 return s.String() 12783 } 12784 12785 // Validate inspects the fields of the type to determine if they are valid. 12786 func (s *ExecuteTransactionInput) Validate() error { 12787 invalidParams := request.ErrInvalidParams{Context: "ExecuteTransactionInput"} 12788 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 12789 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 12790 } 12791 if s.TransactStatements == nil { 12792 invalidParams.Add(request.NewErrParamRequired("TransactStatements")) 12793 } 12794 if s.TransactStatements != nil && len(s.TransactStatements) < 1 { 12795 invalidParams.Add(request.NewErrParamMinLen("TransactStatements", 1)) 12796 } 12797 if s.TransactStatements != nil { 12798 for i, v := range s.TransactStatements { 12799 if v == nil { 12800 continue 12801 } 12802 if err := v.Validate(); err != nil { 12803 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactStatements", i), err.(request.ErrInvalidParams)) 12804 } 12805 } 12806 } 12807 12808 if invalidParams.Len() > 0 { 12809 return invalidParams 12810 } 12811 return nil 12812 } 12813 12814 // SetClientRequestToken sets the ClientRequestToken field's value. 12815 func (s *ExecuteTransactionInput) SetClientRequestToken(v string) *ExecuteTransactionInput { 12816 s.ClientRequestToken = &v 12817 return s 12818 } 12819 12820 // SetTransactStatements sets the TransactStatements field's value. 12821 func (s *ExecuteTransactionInput) SetTransactStatements(v []*ParameterizedStatement) *ExecuteTransactionInput { 12822 s.TransactStatements = v 12823 return s 12824 } 12825 12826 type ExecuteTransactionOutput struct { 12827 _ struct{} `type:"structure"` 12828 12829 // The response to a PartiQL transaction. 12830 Responses []*ItemResponse `min:"1" type:"list"` 12831 } 12832 12833 // String returns the string representation. 12834 // 12835 // API parameter values that are decorated as "sensitive" in the API will not 12836 // be included in the string output. The member name will be present, but the 12837 // value will be replaced with "sensitive". 12838 func (s ExecuteTransactionOutput) String() string { 12839 return awsutil.Prettify(s) 12840 } 12841 12842 // GoString returns the string representation. 12843 // 12844 // API parameter values that are decorated as "sensitive" in the API will not 12845 // be included in the string output. The member name will be present, but the 12846 // value will be replaced with "sensitive". 12847 func (s ExecuteTransactionOutput) GoString() string { 12848 return s.String() 12849 } 12850 12851 // SetResponses sets the Responses field's value. 12852 func (s *ExecuteTransactionOutput) SetResponses(v []*ItemResponse) *ExecuteTransactionOutput { 12853 s.Responses = v 12854 return s 12855 } 12856 12857 // Represents a condition to be compared with an attribute value. This condition 12858 // can be used with DeleteItem, PutItem, or UpdateItem operations; if the comparison 12859 // evaluates to true, the operation succeeds; if not, the operation fails. You 12860 // can use ExpectedAttributeValue in one of two different ways: 12861 // 12862 // * Use AttributeValueList to specify one or more values to compare against 12863 // an attribute. Use ComparisonOperator to specify how you want to perform 12864 // the comparison. If the comparison evaluates to true, then the conditional 12865 // operation succeeds. 12866 // 12867 // * Use Value to specify a value that DynamoDB will compare against an attribute. 12868 // If the values match, then ExpectedAttributeValue evaluates to true and 12869 // the conditional operation succeeds. Optionally, you can also set Exists 12870 // to false, indicating that you do not expect to find the attribute value 12871 // in the table. In this case, the conditional operation succeeds only if 12872 // the comparison evaluates to false. 12873 // 12874 // Value and Exists are incompatible with AttributeValueList and ComparisonOperator. 12875 // Note that if you use both sets of parameters at once, DynamoDB will return 12876 // a ValidationException exception. 12877 type ExpectedAttributeValue struct { 12878 _ struct{} `type:"structure"` 12879 12880 // One or more values to evaluate against the supplied attribute. The number 12881 // of values in the list depends on the ComparisonOperator being used. 12882 // 12883 // For type Number, value comparisons are numeric. 12884 // 12885 // String value comparisons for greater than, equals, or less than are based 12886 // on ASCII character code values. For example, a is greater than A, and a is 12887 // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 12888 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). 12889 // 12890 // For Binary, DynamoDB treats each byte of the binary data as unsigned when 12891 // it compares binary values. 12892 // 12893 // For information on specifying data types in JSON, see JSON Data Format (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) 12894 // in the Amazon DynamoDB Developer Guide. 12895 AttributeValueList []*AttributeValue `type:"list"` 12896 12897 // A comparator for evaluating attributes in the AttributeValueList. For example, 12898 // equals, greater than, less than, etc. 12899 // 12900 // The following comparison operators are available: 12901 // 12902 // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | 12903 // BEGINS_WITH | IN | BETWEEN 12904 // 12905 // The following are descriptions of each comparison operator. 12906 // 12907 // * EQ : Equal. EQ is supported for all data types, including lists and 12908 // maps. AttributeValueList can contain only one AttributeValue element of 12909 // type String, Number, Binary, String Set, Number Set, or Binary Set. If 12910 // an item contains an AttributeValue element of a different type than the 12911 // one provided in the request, the value does not match. For example, {"S":"6"} 12912 // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", 12913 // "1"]}. 12914 // 12915 // * NE : Not equal. NE is supported for all data types, including lists 12916 // and maps. AttributeValueList can contain only one AttributeValue of type 12917 // String, Number, Binary, String Set, Number Set, or Binary Set. If an item 12918 // contains an AttributeValue of a different type than the one provided in 12919 // the request, the value does not match. For example, {"S":"6"} does not 12920 // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 12921 // 12922 // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue 12923 // element of type String, Number, or Binary (not a set type). If an item 12924 // contains an AttributeValue element of a different type than the one provided 12925 // in the request, the value does not match. For example, {"S":"6"} does 12926 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 12927 // "1"]}. 12928 // 12929 // * LT : Less than. AttributeValueList can contain only one AttributeValue 12930 // of type String, Number, or Binary (not a set type). If an item contains 12931 // an AttributeValue element of a different type than the one provided in 12932 // the request, the value does not match. For example, {"S":"6"} does not 12933 // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 12934 // "1"]}. 12935 // 12936 // * GE : Greater than or equal. AttributeValueList can contain only one 12937 // AttributeValue element of type String, Number, or Binary (not a set type). 12938 // If an item contains an AttributeValue element of a different type than 12939 // the one provided in the request, the value does not match. For example, 12940 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 12941 // {"NS":["6", "2", "1"]}. 12942 // 12943 // * GT : Greater than. AttributeValueList can contain only one AttributeValue 12944 // element of type String, Number, or Binary (not a set type). If an item 12945 // contains an AttributeValue element of a different type than the one provided 12946 // in the request, the value does not match. For example, {"S":"6"} does 12947 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 12948 // "1"]}. 12949 // 12950 // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data 12951 // types, including lists and maps. This operator tests for the existence 12952 // of an attribute, not its data type. If the data type of attribute "a" 12953 // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 12954 // This result is because the attribute "a" exists; its data type is not 12955 // relevant to the NOT_NULL comparison operator. 12956 // 12957 // * NULL : The attribute does not exist. NULL is supported for all data 12958 // types, including lists and maps. This operator tests for the nonexistence 12959 // of an attribute, not its data type. If the data type of attribute "a" 12960 // is null, and you evaluate it using NULL, the result is a Boolean false. 12961 // This is because the attribute "a" exists; its data type is not relevant 12962 // to the NULL comparison operator. 12963 // 12964 // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList 12965 // can contain only one AttributeValue element of type String, Number, or 12966 // Binary (not a set type). If the target attribute of the comparison is 12967 // of type String, then the operator checks for a substring match. If the 12968 // target attribute of the comparison is of type Binary, then the operator 12969 // looks for a subsequence of the target that matches the input. If the target 12970 // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator 12971 // evaluates to true if it finds an exact match with any member of the set. 12972 // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can 12973 // be a list; however, "b" cannot be a set, a map, or a list. 12974 // 12975 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 12976 // value in a set. AttributeValueList can contain only one AttributeValue 12977 // element of type String, Number, or Binary (not a set type). If the target 12978 // attribute of the comparison is a String, then the operator checks for 12979 // the absence of a substring match. If the target attribute of the comparison 12980 // is Binary, then the operator checks for the absence of a subsequence of 12981 // the target that matches the input. If the target attribute of the comparison 12982 // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if 12983 // it does not find an exact match with any member of the set. NOT_CONTAINS 12984 // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be 12985 // a list; however, "b" cannot be a set, a map, or a list. 12986 // 12987 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 12988 // one AttributeValue of type String or Binary (not a Number or a set type). 12989 // The target attribute of the comparison must be of type String or Binary 12990 // (not a Number or a set type). 12991 // 12992 // * IN : Checks for matching elements in a list. AttributeValueList can 12993 // contain one or more AttributeValue elements of type String, Number, or 12994 // Binary. These attributes are compared against an existing attribute of 12995 // an item. If any elements of the input are equal to the item attribute, 12996 // the expression evaluates to true. 12997 // 12998 // * BETWEEN : Greater than or equal to the first value, and less than or 12999 // equal to the second value. AttributeValueList must contain two AttributeValue 13000 // elements of the same type, either String, Number, or Binary (not a set 13001 // type). A target attribute matches if the target value is greater than, 13002 // or equal to, the first element and less than, or equal to, the second 13003 // element. If an item contains an AttributeValue element of a different 13004 // type than the one provided in the request, the value does not match. For 13005 // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does 13006 // not compare to {"NS":["6", "2", "1"]} 13007 ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` 13008 13009 // Causes DynamoDB to evaluate the value before attempting a conditional operation: 13010 // 13011 // * If Exists is true, DynamoDB will check to see if that attribute value 13012 // already exists in the table. If it is found, then the operation succeeds. 13013 // If it is not found, the operation fails with a ConditionCheckFailedException. 13014 // 13015 // * If Exists is false, DynamoDB assumes that the attribute value does not 13016 // exist in the table. If in fact the value does not exist, then the assumption 13017 // is valid and the operation succeeds. If the value is found, despite the 13018 // assumption that it does not exist, the operation fails with a ConditionCheckFailedException. 13019 // 13020 // The default setting for Exists is true. If you supply a Value all by itself, 13021 // DynamoDB assumes the attribute exists: You don't have to set Exists to true, 13022 // because it is implied. 13023 // 13024 // DynamoDB returns a ValidationException if: 13025 // 13026 // * Exists is true but there is no Value to check. (You expect a value to 13027 // exist, but don't specify what that value is.) 13028 // 13029 // * Exists is false but you also provide a Value. (You cannot expect an 13030 // attribute to have a value, while also expecting it not to exist.) 13031 Exists *bool `type:"boolean"` 13032 13033 // Represents the data for the expected attribute. 13034 // 13035 // Each attribute value is described as a name-value pair. The name is the data 13036 // type, and the value is the data itself. 13037 // 13038 // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 13039 // in the Amazon DynamoDB Developer Guide. 13040 Value *AttributeValue `type:"structure"` 13041 } 13042 13043 // String returns the string representation. 13044 // 13045 // API parameter values that are decorated as "sensitive" in the API will not 13046 // be included in the string output. The member name will be present, but the 13047 // value will be replaced with "sensitive". 13048 func (s ExpectedAttributeValue) String() string { 13049 return awsutil.Prettify(s) 13050 } 13051 13052 // GoString returns the string representation. 13053 // 13054 // API parameter values that are decorated as "sensitive" in the API will not 13055 // be included in the string output. The member name will be present, but the 13056 // value will be replaced with "sensitive". 13057 func (s ExpectedAttributeValue) GoString() string { 13058 return s.String() 13059 } 13060 13061 // SetAttributeValueList sets the AttributeValueList field's value. 13062 func (s *ExpectedAttributeValue) SetAttributeValueList(v []*AttributeValue) *ExpectedAttributeValue { 13063 s.AttributeValueList = v 13064 return s 13065 } 13066 13067 // SetComparisonOperator sets the ComparisonOperator field's value. 13068 func (s *ExpectedAttributeValue) SetComparisonOperator(v string) *ExpectedAttributeValue { 13069 s.ComparisonOperator = &v 13070 return s 13071 } 13072 13073 // SetExists sets the Exists field's value. 13074 func (s *ExpectedAttributeValue) SetExists(v bool) *ExpectedAttributeValue { 13075 s.Exists = &v 13076 return s 13077 } 13078 13079 // SetValue sets the Value field's value. 13080 func (s *ExpectedAttributeValue) SetValue(v *AttributeValue) *ExpectedAttributeValue { 13081 s.Value = v 13082 return s 13083 } 13084 13085 // There was a conflict when writing to the specified S3 bucket. 13086 type ExportConflictException struct { 13087 _ struct{} `type:"structure"` 13088 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13089 13090 Message_ *string `locationName:"message" type:"string"` 13091 } 13092 13093 // String returns the string representation. 13094 // 13095 // API parameter values that are decorated as "sensitive" in the API will not 13096 // be included in the string output. The member name will be present, but the 13097 // value will be replaced with "sensitive". 13098 func (s ExportConflictException) String() string { 13099 return awsutil.Prettify(s) 13100 } 13101 13102 // GoString returns the string representation. 13103 // 13104 // API parameter values that are decorated as "sensitive" in the API will not 13105 // be included in the string output. The member name will be present, but the 13106 // value will be replaced with "sensitive". 13107 func (s ExportConflictException) GoString() string { 13108 return s.String() 13109 } 13110 13111 func newErrorExportConflictException(v protocol.ResponseMetadata) error { 13112 return &ExportConflictException{ 13113 RespMetadata: v, 13114 } 13115 } 13116 13117 // Code returns the exception type name. 13118 func (s *ExportConflictException) Code() string { 13119 return "ExportConflictException" 13120 } 13121 13122 // Message returns the exception's message. 13123 func (s *ExportConflictException) Message() string { 13124 if s.Message_ != nil { 13125 return *s.Message_ 13126 } 13127 return "" 13128 } 13129 13130 // OrigErr always returns nil, satisfies awserr.Error interface. 13131 func (s *ExportConflictException) OrigErr() error { 13132 return nil 13133 } 13134 13135 func (s *ExportConflictException) Error() string { 13136 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13137 } 13138 13139 // Status code returns the HTTP status code for the request's response error. 13140 func (s *ExportConflictException) StatusCode() int { 13141 return s.RespMetadata.StatusCode 13142 } 13143 13144 // RequestID returns the service's response RequestID for request. 13145 func (s *ExportConflictException) RequestID() string { 13146 return s.RespMetadata.RequestID 13147 } 13148 13149 // Represents the properties of the exported table. 13150 type ExportDescription struct { 13151 _ struct{} `type:"structure"` 13152 13153 // The billable size of the table export. 13154 BilledSizeBytes *int64 `type:"long"` 13155 13156 // The client token that was provided for the export task. A client token makes 13157 // calls to ExportTableToPointInTimeInput idempotent, meaning that multiple 13158 // identical calls have the same effect as one single call. 13159 ClientToken *string `type:"string"` 13160 13161 // The time at which the export task completed. 13162 EndTime *time.Time `type:"timestamp"` 13163 13164 // The Amazon Resource Name (ARN) of the table export. 13165 ExportArn *string `min:"37" type:"string"` 13166 13167 // The format of the exported data. Valid values for ExportFormat are DYNAMODB_JSON 13168 // or ION. 13169 ExportFormat *string `type:"string" enum:"ExportFormat"` 13170 13171 // The name of the manifest file for the export task. 13172 ExportManifest *string `type:"string"` 13173 13174 // Export can be in one of the following states: IN_PROGRESS, COMPLETED, or 13175 // FAILED. 13176 ExportStatus *string `type:"string" enum:"ExportStatus"` 13177 13178 // Point in time from which table data was exported. 13179 ExportTime *time.Time `type:"timestamp"` 13180 13181 // Status code for the result of the failed export. 13182 FailureCode *string `type:"string"` 13183 13184 // Export failure reason description. 13185 FailureMessage *string `type:"string"` 13186 13187 // The number of items exported. 13188 ItemCount *int64 `type:"long"` 13189 13190 // The name of the Amazon S3 bucket containing the export. 13191 S3Bucket *string `type:"string"` 13192 13193 // The ID of the AWS account that owns the bucket containing the export. 13194 S3BucketOwner *string `type:"string"` 13195 13196 // The Amazon S3 bucket prefix used as the file name and path of the exported 13197 // snapshot. 13198 S3Prefix *string `type:"string"` 13199 13200 // Type of encryption used on the bucket where export data is stored. Valid 13201 // values for S3SseAlgorithm are: 13202 // 13203 // * AES256 - server-side encryption with Amazon S3 managed keys 13204 // 13205 // * KMS - server-side encryption with AWS KMS managed keys 13206 S3SseAlgorithm *string `type:"string" enum:"S3SseAlgorithm"` 13207 13208 // The ID of the AWS KMS managed key used to encrypt the S3 bucket where export 13209 // data is stored (if applicable). 13210 S3SseKmsKeyId *string `min:"1" type:"string"` 13211 13212 // The time at which the export task began. 13213 StartTime *time.Time `type:"timestamp"` 13214 13215 // The Amazon Resource Name (ARN) of the table that was exported. 13216 TableArn *string `type:"string"` 13217 13218 // Unique ID of the table that was exported. 13219 TableId *string `type:"string"` 13220 } 13221 13222 // String returns the string representation. 13223 // 13224 // API parameter values that are decorated as "sensitive" in the API will not 13225 // be included in the string output. The member name will be present, but the 13226 // value will be replaced with "sensitive". 13227 func (s ExportDescription) String() string { 13228 return awsutil.Prettify(s) 13229 } 13230 13231 // GoString returns the string representation. 13232 // 13233 // API parameter values that are decorated as "sensitive" in the API will not 13234 // be included in the string output. The member name will be present, but the 13235 // value will be replaced with "sensitive". 13236 func (s ExportDescription) GoString() string { 13237 return s.String() 13238 } 13239 13240 // SetBilledSizeBytes sets the BilledSizeBytes field's value. 13241 func (s *ExportDescription) SetBilledSizeBytes(v int64) *ExportDescription { 13242 s.BilledSizeBytes = &v 13243 return s 13244 } 13245 13246 // SetClientToken sets the ClientToken field's value. 13247 func (s *ExportDescription) SetClientToken(v string) *ExportDescription { 13248 s.ClientToken = &v 13249 return s 13250 } 13251 13252 // SetEndTime sets the EndTime field's value. 13253 func (s *ExportDescription) SetEndTime(v time.Time) *ExportDescription { 13254 s.EndTime = &v 13255 return s 13256 } 13257 13258 // SetExportArn sets the ExportArn field's value. 13259 func (s *ExportDescription) SetExportArn(v string) *ExportDescription { 13260 s.ExportArn = &v 13261 return s 13262 } 13263 13264 // SetExportFormat sets the ExportFormat field's value. 13265 func (s *ExportDescription) SetExportFormat(v string) *ExportDescription { 13266 s.ExportFormat = &v 13267 return s 13268 } 13269 13270 // SetExportManifest sets the ExportManifest field's value. 13271 func (s *ExportDescription) SetExportManifest(v string) *ExportDescription { 13272 s.ExportManifest = &v 13273 return s 13274 } 13275 13276 // SetExportStatus sets the ExportStatus field's value. 13277 func (s *ExportDescription) SetExportStatus(v string) *ExportDescription { 13278 s.ExportStatus = &v 13279 return s 13280 } 13281 13282 // SetExportTime sets the ExportTime field's value. 13283 func (s *ExportDescription) SetExportTime(v time.Time) *ExportDescription { 13284 s.ExportTime = &v 13285 return s 13286 } 13287 13288 // SetFailureCode sets the FailureCode field's value. 13289 func (s *ExportDescription) SetFailureCode(v string) *ExportDescription { 13290 s.FailureCode = &v 13291 return s 13292 } 13293 13294 // SetFailureMessage sets the FailureMessage field's value. 13295 func (s *ExportDescription) SetFailureMessage(v string) *ExportDescription { 13296 s.FailureMessage = &v 13297 return s 13298 } 13299 13300 // SetItemCount sets the ItemCount field's value. 13301 func (s *ExportDescription) SetItemCount(v int64) *ExportDescription { 13302 s.ItemCount = &v 13303 return s 13304 } 13305 13306 // SetS3Bucket sets the S3Bucket field's value. 13307 func (s *ExportDescription) SetS3Bucket(v string) *ExportDescription { 13308 s.S3Bucket = &v 13309 return s 13310 } 13311 13312 // SetS3BucketOwner sets the S3BucketOwner field's value. 13313 func (s *ExportDescription) SetS3BucketOwner(v string) *ExportDescription { 13314 s.S3BucketOwner = &v 13315 return s 13316 } 13317 13318 // SetS3Prefix sets the S3Prefix field's value. 13319 func (s *ExportDescription) SetS3Prefix(v string) *ExportDescription { 13320 s.S3Prefix = &v 13321 return s 13322 } 13323 13324 // SetS3SseAlgorithm sets the S3SseAlgorithm field's value. 13325 func (s *ExportDescription) SetS3SseAlgorithm(v string) *ExportDescription { 13326 s.S3SseAlgorithm = &v 13327 return s 13328 } 13329 13330 // SetS3SseKmsKeyId sets the S3SseKmsKeyId field's value. 13331 func (s *ExportDescription) SetS3SseKmsKeyId(v string) *ExportDescription { 13332 s.S3SseKmsKeyId = &v 13333 return s 13334 } 13335 13336 // SetStartTime sets the StartTime field's value. 13337 func (s *ExportDescription) SetStartTime(v time.Time) *ExportDescription { 13338 s.StartTime = &v 13339 return s 13340 } 13341 13342 // SetTableArn sets the TableArn field's value. 13343 func (s *ExportDescription) SetTableArn(v string) *ExportDescription { 13344 s.TableArn = &v 13345 return s 13346 } 13347 13348 // SetTableId sets the TableId field's value. 13349 func (s *ExportDescription) SetTableId(v string) *ExportDescription { 13350 s.TableId = &v 13351 return s 13352 } 13353 13354 // The specified export was not found. 13355 type ExportNotFoundException struct { 13356 _ struct{} `type:"structure"` 13357 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13358 13359 Message_ *string `locationName:"message" type:"string"` 13360 } 13361 13362 // String returns the string representation. 13363 // 13364 // API parameter values that are decorated as "sensitive" in the API will not 13365 // be included in the string output. The member name will be present, but the 13366 // value will be replaced with "sensitive". 13367 func (s ExportNotFoundException) String() string { 13368 return awsutil.Prettify(s) 13369 } 13370 13371 // GoString returns the string representation. 13372 // 13373 // API parameter values that are decorated as "sensitive" in the API will not 13374 // be included in the string output. The member name will be present, but the 13375 // value will be replaced with "sensitive". 13376 func (s ExportNotFoundException) GoString() string { 13377 return s.String() 13378 } 13379 13380 func newErrorExportNotFoundException(v protocol.ResponseMetadata) error { 13381 return &ExportNotFoundException{ 13382 RespMetadata: v, 13383 } 13384 } 13385 13386 // Code returns the exception type name. 13387 func (s *ExportNotFoundException) Code() string { 13388 return "ExportNotFoundException" 13389 } 13390 13391 // Message returns the exception's message. 13392 func (s *ExportNotFoundException) Message() string { 13393 if s.Message_ != nil { 13394 return *s.Message_ 13395 } 13396 return "" 13397 } 13398 13399 // OrigErr always returns nil, satisfies awserr.Error interface. 13400 func (s *ExportNotFoundException) OrigErr() error { 13401 return nil 13402 } 13403 13404 func (s *ExportNotFoundException) Error() string { 13405 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13406 } 13407 13408 // Status code returns the HTTP status code for the request's response error. 13409 func (s *ExportNotFoundException) StatusCode() int { 13410 return s.RespMetadata.StatusCode 13411 } 13412 13413 // RequestID returns the service's response RequestID for request. 13414 func (s *ExportNotFoundException) RequestID() string { 13415 return s.RespMetadata.RequestID 13416 } 13417 13418 // Summary information about an export task. 13419 type ExportSummary struct { 13420 _ struct{} `type:"structure"` 13421 13422 // The Amazon Resource Name (ARN) of the export. 13423 ExportArn *string `min:"37" type:"string"` 13424 13425 // Export can be in one of the following states: IN_PROGRESS, COMPLETED, or 13426 // FAILED. 13427 ExportStatus *string `type:"string" enum:"ExportStatus"` 13428 } 13429 13430 // String returns the string representation. 13431 // 13432 // API parameter values that are decorated as "sensitive" in the API will not 13433 // be included in the string output. The member name will be present, but the 13434 // value will be replaced with "sensitive". 13435 func (s ExportSummary) String() string { 13436 return awsutil.Prettify(s) 13437 } 13438 13439 // GoString returns the string representation. 13440 // 13441 // API parameter values that are decorated as "sensitive" in the API will not 13442 // be included in the string output. The member name will be present, but the 13443 // value will be replaced with "sensitive". 13444 func (s ExportSummary) GoString() string { 13445 return s.String() 13446 } 13447 13448 // SetExportArn sets the ExportArn field's value. 13449 func (s *ExportSummary) SetExportArn(v string) *ExportSummary { 13450 s.ExportArn = &v 13451 return s 13452 } 13453 13454 // SetExportStatus sets the ExportStatus field's value. 13455 func (s *ExportSummary) SetExportStatus(v string) *ExportSummary { 13456 s.ExportStatus = &v 13457 return s 13458 } 13459 13460 type ExportTableToPointInTimeInput struct { 13461 _ struct{} `type:"structure"` 13462 13463 // Providing a ClientToken makes the call to ExportTableToPointInTimeInput idempotent, 13464 // meaning that multiple identical calls have the same effect as one single 13465 // call. 13466 // 13467 // A client token is valid for 8 hours after the first request that uses it 13468 // is completed. After 8 hours, any request with the same client token is treated 13469 // as a new request. Do not resubmit the same request with the same client token 13470 // for more than 8 hours, or the result might not be idempotent. 13471 // 13472 // If you submit a request with the same client token but a change in other 13473 // parameters within the 8-hour idempotency window, DynamoDB returns an IdempotentParameterMismatch 13474 // exception. 13475 ClientToken *string `type:"string" idempotencyToken:"true"` 13476 13477 // The format for the exported data. Valid values for ExportFormat are DYNAMODB_JSON 13478 // or ION. 13479 ExportFormat *string `type:"string" enum:"ExportFormat"` 13480 13481 // Time in the past from which to export table data. The table export will be 13482 // a snapshot of the table's state at this point in time. 13483 ExportTime *time.Time `type:"timestamp"` 13484 13485 // The name of the Amazon S3 bucket to export the snapshot to. 13486 // 13487 // S3Bucket is a required field 13488 S3Bucket *string `type:"string" required:"true"` 13489 13490 // The ID of the AWS account that owns the bucket the export will be stored 13491 // in. 13492 S3BucketOwner *string `type:"string"` 13493 13494 // The Amazon S3 bucket prefix to use as the file name and path of the exported 13495 // snapshot. 13496 S3Prefix *string `type:"string"` 13497 13498 // Type of encryption used on the bucket where export data will be stored. Valid 13499 // values for S3SseAlgorithm are: 13500 // 13501 // * AES256 - server-side encryption with Amazon S3 managed keys 13502 // 13503 // * KMS - server-side encryption with AWS KMS managed keys 13504 S3SseAlgorithm *string `type:"string" enum:"S3SseAlgorithm"` 13505 13506 // The ID of the AWS KMS managed key used to encrypt the S3 bucket where export 13507 // data will be stored (if applicable). 13508 S3SseKmsKeyId *string `min:"1" type:"string"` 13509 13510 // The Amazon Resource Name (ARN) associated with the table to export. 13511 // 13512 // TableArn is a required field 13513 TableArn *string `type:"string" required:"true"` 13514 } 13515 13516 // String returns the string representation. 13517 // 13518 // API parameter values that are decorated as "sensitive" in the API will not 13519 // be included in the string output. The member name will be present, but the 13520 // value will be replaced with "sensitive". 13521 func (s ExportTableToPointInTimeInput) String() string { 13522 return awsutil.Prettify(s) 13523 } 13524 13525 // GoString returns the string representation. 13526 // 13527 // API parameter values that are decorated as "sensitive" in the API will not 13528 // be included in the string output. The member name will be present, but the 13529 // value will be replaced with "sensitive". 13530 func (s ExportTableToPointInTimeInput) GoString() string { 13531 return s.String() 13532 } 13533 13534 // Validate inspects the fields of the type to determine if they are valid. 13535 func (s *ExportTableToPointInTimeInput) Validate() error { 13536 invalidParams := request.ErrInvalidParams{Context: "ExportTableToPointInTimeInput"} 13537 if s.S3Bucket == nil { 13538 invalidParams.Add(request.NewErrParamRequired("S3Bucket")) 13539 } 13540 if s.S3SseKmsKeyId != nil && len(*s.S3SseKmsKeyId) < 1 { 13541 invalidParams.Add(request.NewErrParamMinLen("S3SseKmsKeyId", 1)) 13542 } 13543 if s.TableArn == nil { 13544 invalidParams.Add(request.NewErrParamRequired("TableArn")) 13545 } 13546 13547 if invalidParams.Len() > 0 { 13548 return invalidParams 13549 } 13550 return nil 13551 } 13552 13553 // SetClientToken sets the ClientToken field's value. 13554 func (s *ExportTableToPointInTimeInput) SetClientToken(v string) *ExportTableToPointInTimeInput { 13555 s.ClientToken = &v 13556 return s 13557 } 13558 13559 // SetExportFormat sets the ExportFormat field's value. 13560 func (s *ExportTableToPointInTimeInput) SetExportFormat(v string) *ExportTableToPointInTimeInput { 13561 s.ExportFormat = &v 13562 return s 13563 } 13564 13565 // SetExportTime sets the ExportTime field's value. 13566 func (s *ExportTableToPointInTimeInput) SetExportTime(v time.Time) *ExportTableToPointInTimeInput { 13567 s.ExportTime = &v 13568 return s 13569 } 13570 13571 // SetS3Bucket sets the S3Bucket field's value. 13572 func (s *ExportTableToPointInTimeInput) SetS3Bucket(v string) *ExportTableToPointInTimeInput { 13573 s.S3Bucket = &v 13574 return s 13575 } 13576 13577 // SetS3BucketOwner sets the S3BucketOwner field's value. 13578 func (s *ExportTableToPointInTimeInput) SetS3BucketOwner(v string) *ExportTableToPointInTimeInput { 13579 s.S3BucketOwner = &v 13580 return s 13581 } 13582 13583 // SetS3Prefix sets the S3Prefix field's value. 13584 func (s *ExportTableToPointInTimeInput) SetS3Prefix(v string) *ExportTableToPointInTimeInput { 13585 s.S3Prefix = &v 13586 return s 13587 } 13588 13589 // SetS3SseAlgorithm sets the S3SseAlgorithm field's value. 13590 func (s *ExportTableToPointInTimeInput) SetS3SseAlgorithm(v string) *ExportTableToPointInTimeInput { 13591 s.S3SseAlgorithm = &v 13592 return s 13593 } 13594 13595 // SetS3SseKmsKeyId sets the S3SseKmsKeyId field's value. 13596 func (s *ExportTableToPointInTimeInput) SetS3SseKmsKeyId(v string) *ExportTableToPointInTimeInput { 13597 s.S3SseKmsKeyId = &v 13598 return s 13599 } 13600 13601 // SetTableArn sets the TableArn field's value. 13602 func (s *ExportTableToPointInTimeInput) SetTableArn(v string) *ExportTableToPointInTimeInput { 13603 s.TableArn = &v 13604 return s 13605 } 13606 13607 type ExportTableToPointInTimeOutput struct { 13608 _ struct{} `type:"structure"` 13609 13610 // Contains a description of the table export. 13611 ExportDescription *ExportDescription `type:"structure"` 13612 } 13613 13614 // String returns the string representation. 13615 // 13616 // API parameter values that are decorated as "sensitive" in the API will not 13617 // be included in the string output. The member name will be present, but the 13618 // value will be replaced with "sensitive". 13619 func (s ExportTableToPointInTimeOutput) String() string { 13620 return awsutil.Prettify(s) 13621 } 13622 13623 // GoString returns the string representation. 13624 // 13625 // API parameter values that are decorated as "sensitive" in the API will not 13626 // be included in the string output. The member name will be present, but the 13627 // value will be replaced with "sensitive". 13628 func (s ExportTableToPointInTimeOutput) GoString() string { 13629 return s.String() 13630 } 13631 13632 // SetExportDescription sets the ExportDescription field's value. 13633 func (s *ExportTableToPointInTimeOutput) SetExportDescription(v *ExportDescription) *ExportTableToPointInTimeOutput { 13634 s.ExportDescription = v 13635 return s 13636 } 13637 13638 // Represents a failure a contributor insights operation. 13639 type FailureException struct { 13640 _ struct{} `type:"structure"` 13641 13642 // Description of the failure. 13643 ExceptionDescription *string `type:"string"` 13644 13645 // Exception name. 13646 ExceptionName *string `type:"string"` 13647 } 13648 13649 // String returns the string representation. 13650 // 13651 // API parameter values that are decorated as "sensitive" in the API will not 13652 // be included in the string output. The member name will be present, but the 13653 // value will be replaced with "sensitive". 13654 func (s FailureException) String() string { 13655 return awsutil.Prettify(s) 13656 } 13657 13658 // GoString returns the string representation. 13659 // 13660 // API parameter values that are decorated as "sensitive" in the API will not 13661 // be included in the string output. The member name will be present, but the 13662 // value will be replaced with "sensitive". 13663 func (s FailureException) GoString() string { 13664 return s.String() 13665 } 13666 13667 // SetExceptionDescription sets the ExceptionDescription field's value. 13668 func (s *FailureException) SetExceptionDescription(v string) *FailureException { 13669 s.ExceptionDescription = &v 13670 return s 13671 } 13672 13673 // SetExceptionName sets the ExceptionName field's value. 13674 func (s *FailureException) SetExceptionName(v string) *FailureException { 13675 s.ExceptionName = &v 13676 return s 13677 } 13678 13679 // Specifies an item and related attribute values to retrieve in a TransactGetItem 13680 // object. 13681 type Get struct { 13682 _ struct{} `type:"structure"` 13683 13684 // One or more substitution tokens for attribute names in the ProjectionExpression 13685 // parameter. 13686 ExpressionAttributeNames map[string]*string `type:"map"` 13687 13688 // A map of attribute names to AttributeValue objects that specifies the primary 13689 // key of the item to retrieve. 13690 // 13691 // Key is a required field 13692 Key map[string]*AttributeValue `type:"map" required:"true"` 13693 13694 // A string that identifies one or more attributes of the specified item to 13695 // retrieve from the table. The attributes in the expression must be separated 13696 // by commas. If no attribute names are specified, then all attributes of the 13697 // specified item are returned. If any of the requested attributes are not found, 13698 // they do not appear in the result. 13699 ProjectionExpression *string `type:"string"` 13700 13701 // The name of the table from which to retrieve the specified item. 13702 // 13703 // TableName is a required field 13704 TableName *string `min:"3" type:"string" required:"true"` 13705 } 13706 13707 // String returns the string representation. 13708 // 13709 // API parameter values that are decorated as "sensitive" in the API will not 13710 // be included in the string output. The member name will be present, but the 13711 // value will be replaced with "sensitive". 13712 func (s Get) String() string { 13713 return awsutil.Prettify(s) 13714 } 13715 13716 // GoString returns the string representation. 13717 // 13718 // API parameter values that are decorated as "sensitive" in the API will not 13719 // be included in the string output. The member name will be present, but the 13720 // value will be replaced with "sensitive". 13721 func (s Get) GoString() string { 13722 return s.String() 13723 } 13724 13725 // Validate inspects the fields of the type to determine if they are valid. 13726 func (s *Get) Validate() error { 13727 invalidParams := request.ErrInvalidParams{Context: "Get"} 13728 if s.Key == nil { 13729 invalidParams.Add(request.NewErrParamRequired("Key")) 13730 } 13731 if s.TableName == nil { 13732 invalidParams.Add(request.NewErrParamRequired("TableName")) 13733 } 13734 if s.TableName != nil && len(*s.TableName) < 3 { 13735 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 13736 } 13737 13738 if invalidParams.Len() > 0 { 13739 return invalidParams 13740 } 13741 return nil 13742 } 13743 13744 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 13745 func (s *Get) SetExpressionAttributeNames(v map[string]*string) *Get { 13746 s.ExpressionAttributeNames = v 13747 return s 13748 } 13749 13750 // SetKey sets the Key field's value. 13751 func (s *Get) SetKey(v map[string]*AttributeValue) *Get { 13752 s.Key = v 13753 return s 13754 } 13755 13756 // SetProjectionExpression sets the ProjectionExpression field's value. 13757 func (s *Get) SetProjectionExpression(v string) *Get { 13758 s.ProjectionExpression = &v 13759 return s 13760 } 13761 13762 // SetTableName sets the TableName field's value. 13763 func (s *Get) SetTableName(v string) *Get { 13764 s.TableName = &v 13765 return s 13766 } 13767 13768 // Represents the input of a GetItem operation. 13769 type GetItemInput struct { 13770 _ struct{} `type:"structure"` 13771 13772 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 13773 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 13774 // in the Amazon DynamoDB Developer Guide. 13775 AttributesToGet []*string `min:"1" type:"list"` 13776 13777 // Determines the read consistency model: If set to true, then the operation 13778 // uses strongly consistent reads; otherwise, the operation uses eventually 13779 // consistent reads. 13780 ConsistentRead *bool `type:"boolean"` 13781 13782 // One or more substitution tokens for attribute names in an expression. The 13783 // following are some use cases for using ExpressionAttributeNames: 13784 // 13785 // * To access an attribute whose name conflicts with a DynamoDB reserved 13786 // word. 13787 // 13788 // * To create a placeholder for repeating occurrences of an attribute name 13789 // in an expression. 13790 // 13791 // * To prevent special characters in an attribute name from being misinterpreted 13792 // in an expression. 13793 // 13794 // Use the # character in an expression to dereference an attribute name. For 13795 // example, consider the following attribute name: 13796 // 13797 // * Percentile 13798 // 13799 // The name of this attribute conflicts with a reserved word, so it cannot be 13800 // used directly in an expression. (For the complete list of reserved words, 13801 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 13802 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 13803 // the following for ExpressionAttributeNames: 13804 // 13805 // * {"#P":"Percentile"} 13806 // 13807 // You could then use this substitution in an expression, as in this example: 13808 // 13809 // * #P = :val 13810 // 13811 // Tokens that begin with the : character are expression attribute values, which 13812 // are placeholders for the actual value at runtime. 13813 // 13814 // For more information on expression attribute names, see Specifying Item Attributes 13815 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 13816 // in the Amazon DynamoDB Developer Guide. 13817 ExpressionAttributeNames map[string]*string `type:"map"` 13818 13819 // A map of attribute names to AttributeValue objects, representing the primary 13820 // key of the item to retrieve. 13821 // 13822 // For the primary key, you must provide all of the attributes. For example, 13823 // with a simple primary key, you only need to provide a value for the partition 13824 // key. For a composite primary key, you must provide values for both the partition 13825 // key and the sort key. 13826 // 13827 // Key is a required field 13828 Key map[string]*AttributeValue `type:"map" required:"true"` 13829 13830 // A string that identifies one or more attributes to retrieve from the table. 13831 // These attributes can include scalars, sets, or elements of a JSON document. 13832 // The attributes in the expression must be separated by commas. 13833 // 13834 // If no attribute names are specified, then all attributes are returned. If 13835 // any of the requested attributes are not found, they do not appear in the 13836 // result. 13837 // 13838 // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 13839 // in the Amazon DynamoDB Developer Guide. 13840 ProjectionExpression *string `type:"string"` 13841 13842 // Determines the level of detail about provisioned throughput consumption that 13843 // is returned in the response: 13844 // 13845 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 13846 // operation, together with ConsumedCapacity for each table and secondary 13847 // index that was accessed. Note that some operations, such as GetItem and 13848 // BatchGetItem, do not access any indexes at all. In these cases, specifying 13849 // INDEXES will only return ConsumedCapacity information for table(s). 13850 // 13851 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 13852 // the operation. 13853 // 13854 // * NONE - No ConsumedCapacity details are included in the response. 13855 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 13856 13857 // The name of the table containing the requested item. 13858 // 13859 // TableName is a required field 13860 TableName *string `min:"3" type:"string" required:"true"` 13861 } 13862 13863 // String returns the string representation. 13864 // 13865 // API parameter values that are decorated as "sensitive" in the API will not 13866 // be included in the string output. The member name will be present, but the 13867 // value will be replaced with "sensitive". 13868 func (s GetItemInput) String() string { 13869 return awsutil.Prettify(s) 13870 } 13871 13872 // GoString returns the string representation. 13873 // 13874 // API parameter values that are decorated as "sensitive" in the API will not 13875 // be included in the string output. The member name will be present, but the 13876 // value will be replaced with "sensitive". 13877 func (s GetItemInput) GoString() string { 13878 return s.String() 13879 } 13880 13881 // Validate inspects the fields of the type to determine if they are valid. 13882 func (s *GetItemInput) Validate() error { 13883 invalidParams := request.ErrInvalidParams{Context: "GetItemInput"} 13884 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 13885 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 13886 } 13887 if s.Key == nil { 13888 invalidParams.Add(request.NewErrParamRequired("Key")) 13889 } 13890 if s.TableName == nil { 13891 invalidParams.Add(request.NewErrParamRequired("TableName")) 13892 } 13893 if s.TableName != nil && len(*s.TableName) < 3 { 13894 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 13895 } 13896 13897 if invalidParams.Len() > 0 { 13898 return invalidParams 13899 } 13900 return nil 13901 } 13902 13903 // SetAttributesToGet sets the AttributesToGet field's value. 13904 func (s *GetItemInput) SetAttributesToGet(v []*string) *GetItemInput { 13905 s.AttributesToGet = v 13906 return s 13907 } 13908 13909 // SetConsistentRead sets the ConsistentRead field's value. 13910 func (s *GetItemInput) SetConsistentRead(v bool) *GetItemInput { 13911 s.ConsistentRead = &v 13912 return s 13913 } 13914 13915 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 13916 func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput { 13917 s.ExpressionAttributeNames = v 13918 return s 13919 } 13920 13921 // SetKey sets the Key field's value. 13922 func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput { 13923 s.Key = v 13924 return s 13925 } 13926 13927 // SetProjectionExpression sets the ProjectionExpression field's value. 13928 func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput { 13929 s.ProjectionExpression = &v 13930 return s 13931 } 13932 13933 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 13934 func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput { 13935 s.ReturnConsumedCapacity = &v 13936 return s 13937 } 13938 13939 // SetTableName sets the TableName field's value. 13940 func (s *GetItemInput) SetTableName(v string) *GetItemInput { 13941 s.TableName = &v 13942 return s 13943 } 13944 13945 // Represents the output of a GetItem operation. 13946 type GetItemOutput struct { 13947 _ struct{} `type:"structure"` 13948 13949 // The capacity units consumed by the GetItem operation. The data returned includes 13950 // the total provisioned throughput consumed, along with statistics for the 13951 // table and any indexes involved in the operation. ConsumedCapacity is only 13952 // returned if the ReturnConsumedCapacity parameter was specified. For more 13953 // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 13954 // in the Amazon DynamoDB Developer Guide. 13955 ConsumedCapacity *ConsumedCapacity `type:"structure"` 13956 13957 // A map of attribute names to AttributeValue objects, as specified by ProjectionExpression. 13958 Item map[string]*AttributeValue `type:"map"` 13959 } 13960 13961 // String returns the string representation. 13962 // 13963 // API parameter values that are decorated as "sensitive" in the API will not 13964 // be included in the string output. The member name will be present, but the 13965 // value will be replaced with "sensitive". 13966 func (s GetItemOutput) String() string { 13967 return awsutil.Prettify(s) 13968 } 13969 13970 // GoString returns the string representation. 13971 // 13972 // API parameter values that are decorated as "sensitive" in the API will not 13973 // be included in the string output. The member name will be present, but the 13974 // value will be replaced with "sensitive". 13975 func (s GetItemOutput) GoString() string { 13976 return s.String() 13977 } 13978 13979 // SetConsumedCapacity sets the ConsumedCapacity field's value. 13980 func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput { 13981 s.ConsumedCapacity = v 13982 return s 13983 } 13984 13985 // SetItem sets the Item field's value. 13986 func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput { 13987 s.Item = v 13988 return s 13989 } 13990 13991 // Represents the properties of a global secondary index. 13992 type GlobalSecondaryIndex struct { 13993 _ struct{} `type:"structure"` 13994 13995 // The name of the global secondary index. The name must be unique among all 13996 // other indexes on this table. 13997 // 13998 // IndexName is a required field 13999 IndexName *string `min:"3" type:"string" required:"true"` 14000 14001 // The complete key schema for a global secondary index, which consists of one 14002 // or more pairs of attribute names and key types: 14003 // 14004 // * HASH - partition key 14005 // 14006 // * RANGE - sort key 14007 // 14008 // The partition key of an item is also known as its hash attribute. The term 14009 // "hash attribute" derives from DynamoDB's usage of an internal hash function 14010 // to evenly distribute data items across partitions, based on their partition 14011 // key values. 14012 // 14013 // The sort key of an item is also known as its range attribute. The term "range 14014 // attribute" derives from the way DynamoDB stores items with the same partition 14015 // key physically close together, in sorted order by the sort key value. 14016 // 14017 // KeySchema is a required field 14018 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 14019 14020 // Represents attributes that are copied (projected) from the table into the 14021 // global secondary index. These are in addition to the primary key attributes 14022 // and index key attributes, which are automatically projected. 14023 // 14024 // Projection is a required field 14025 Projection *Projection `type:"structure" required:"true"` 14026 14027 // Represents the provisioned throughput settings for the specified global secondary 14028 // index. 14029 // 14030 // For current minimum and maximum provisioned throughput values, see Service, 14031 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 14032 // in the Amazon DynamoDB Developer Guide. 14033 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 14034 } 14035 14036 // String returns the string representation. 14037 // 14038 // API parameter values that are decorated as "sensitive" in the API will not 14039 // be included in the string output. The member name will be present, but the 14040 // value will be replaced with "sensitive". 14041 func (s GlobalSecondaryIndex) String() string { 14042 return awsutil.Prettify(s) 14043 } 14044 14045 // GoString returns the string representation. 14046 // 14047 // API parameter values that are decorated as "sensitive" in the API will not 14048 // be included in the string output. The member name will be present, but the 14049 // value will be replaced with "sensitive". 14050 func (s GlobalSecondaryIndex) GoString() string { 14051 return s.String() 14052 } 14053 14054 // Validate inspects the fields of the type to determine if they are valid. 14055 func (s *GlobalSecondaryIndex) Validate() error { 14056 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndex"} 14057 if s.IndexName == nil { 14058 invalidParams.Add(request.NewErrParamRequired("IndexName")) 14059 } 14060 if s.IndexName != nil && len(*s.IndexName) < 3 { 14061 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14062 } 14063 if s.KeySchema == nil { 14064 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 14065 } 14066 if s.KeySchema != nil && len(s.KeySchema) < 1 { 14067 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 14068 } 14069 if s.Projection == nil { 14070 invalidParams.Add(request.NewErrParamRequired("Projection")) 14071 } 14072 if s.KeySchema != nil { 14073 for i, v := range s.KeySchema { 14074 if v == nil { 14075 continue 14076 } 14077 if err := v.Validate(); err != nil { 14078 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 14079 } 14080 } 14081 } 14082 if s.Projection != nil { 14083 if err := s.Projection.Validate(); err != nil { 14084 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 14085 } 14086 } 14087 if s.ProvisionedThroughput != nil { 14088 if err := s.ProvisionedThroughput.Validate(); err != nil { 14089 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 14090 } 14091 } 14092 14093 if invalidParams.Len() > 0 { 14094 return invalidParams 14095 } 14096 return nil 14097 } 14098 14099 // SetIndexName sets the IndexName field's value. 14100 func (s *GlobalSecondaryIndex) SetIndexName(v string) *GlobalSecondaryIndex { 14101 s.IndexName = &v 14102 return s 14103 } 14104 14105 // SetKeySchema sets the KeySchema field's value. 14106 func (s *GlobalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndex { 14107 s.KeySchema = v 14108 return s 14109 } 14110 14111 // SetProjection sets the Projection field's value. 14112 func (s *GlobalSecondaryIndex) SetProjection(v *Projection) *GlobalSecondaryIndex { 14113 s.Projection = v 14114 return s 14115 } 14116 14117 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 14118 func (s *GlobalSecondaryIndex) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndex { 14119 s.ProvisionedThroughput = v 14120 return s 14121 } 14122 14123 // Represents the auto scaling settings of a global secondary index for a global 14124 // table that will be modified. 14125 type GlobalSecondaryIndexAutoScalingUpdate struct { 14126 _ struct{} `type:"structure"` 14127 14128 // The name of the global secondary index. 14129 IndexName *string `min:"3" type:"string"` 14130 14131 // Represents the auto scaling settings to be modified for a global table or 14132 // global secondary index. 14133 ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 14134 } 14135 14136 // String returns the string representation. 14137 // 14138 // API parameter values that are decorated as "sensitive" in the API will not 14139 // be included in the string output. The member name will be present, but the 14140 // value will be replaced with "sensitive". 14141 func (s GlobalSecondaryIndexAutoScalingUpdate) String() string { 14142 return awsutil.Prettify(s) 14143 } 14144 14145 // GoString returns the string representation. 14146 // 14147 // API parameter values that are decorated as "sensitive" in the API will not 14148 // be included in the string output. The member name will be present, but the 14149 // value will be replaced with "sensitive". 14150 func (s GlobalSecondaryIndexAutoScalingUpdate) GoString() string { 14151 return s.String() 14152 } 14153 14154 // Validate inspects the fields of the type to determine if they are valid. 14155 func (s *GlobalSecondaryIndexAutoScalingUpdate) Validate() error { 14156 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexAutoScalingUpdate"} 14157 if s.IndexName != nil && len(*s.IndexName) < 3 { 14158 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14159 } 14160 if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { 14161 if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { 14162 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 14163 } 14164 } 14165 14166 if invalidParams.Len() > 0 { 14167 return invalidParams 14168 } 14169 return nil 14170 } 14171 14172 // SetIndexName sets the IndexName field's value. 14173 func (s *GlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *GlobalSecondaryIndexAutoScalingUpdate { 14174 s.IndexName = &v 14175 return s 14176 } 14177 14178 // SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. 14179 func (s *GlobalSecondaryIndexAutoScalingUpdate) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *GlobalSecondaryIndexAutoScalingUpdate { 14180 s.ProvisionedWriteCapacityAutoScalingUpdate = v 14181 return s 14182 } 14183 14184 // Represents the properties of a global secondary index. 14185 type GlobalSecondaryIndexDescription struct { 14186 _ struct{} `type:"structure"` 14187 14188 // Indicates whether the index is currently backfilling. Backfilling is the 14189 // process of reading items from the table and determining whether they can 14190 // be added to the index. (Not all items will qualify: For example, a partition 14191 // key cannot have any duplicate values.) If an item can be added to the index, 14192 // DynamoDB will do so. After all items have been processed, the backfilling 14193 // operation is complete and Backfilling is false. 14194 // 14195 // You can delete an index that is being created during the Backfilling phase 14196 // when IndexStatus is set to CREATING and Backfilling is true. You can't delete 14197 // the index that is being created when IndexStatus is set to CREATING and Backfilling 14198 // is false. 14199 // 14200 // For indexes that were created during a CreateTable operation, the Backfilling 14201 // attribute does not appear in the DescribeTable output. 14202 Backfilling *bool `type:"boolean"` 14203 14204 // The Amazon Resource Name (ARN) that uniquely identifies the index. 14205 IndexArn *string `type:"string"` 14206 14207 // The name of the global secondary index. 14208 IndexName *string `min:"3" type:"string"` 14209 14210 // The total size of the specified index, in bytes. DynamoDB updates this value 14211 // approximately every six hours. Recent changes might not be reflected in this 14212 // value. 14213 IndexSizeBytes *int64 `type:"long"` 14214 14215 // The current state of the global secondary index: 14216 // 14217 // * CREATING - The index is being created. 14218 // 14219 // * UPDATING - The index is being updated. 14220 // 14221 // * DELETING - The index is being deleted. 14222 // 14223 // * ACTIVE - The index is ready for use. 14224 IndexStatus *string `type:"string" enum:"IndexStatus"` 14225 14226 // The number of items in the specified index. DynamoDB updates this value approximately 14227 // every six hours. Recent changes might not be reflected in this value. 14228 ItemCount *int64 `type:"long"` 14229 14230 // The complete key schema for a global secondary index, which consists of one 14231 // or more pairs of attribute names and key types: 14232 // 14233 // * HASH - partition key 14234 // 14235 // * RANGE - sort key 14236 // 14237 // The partition key of an item is also known as its hash attribute. The term 14238 // "hash attribute" derives from DynamoDB's usage of an internal hash function 14239 // to evenly distribute data items across partitions, based on their partition 14240 // key values. 14241 // 14242 // The sort key of an item is also known as its range attribute. The term "range 14243 // attribute" derives from the way DynamoDB stores items with the same partition 14244 // key physically close together, in sorted order by the sort key value. 14245 KeySchema []*KeySchemaElement `min:"1" type:"list"` 14246 14247 // Represents attributes that are copied (projected) from the table into the 14248 // global secondary index. These are in addition to the primary key attributes 14249 // and index key attributes, which are automatically projected. 14250 Projection *Projection `type:"structure"` 14251 14252 // Represents the provisioned throughput settings for the specified global secondary 14253 // index. 14254 // 14255 // For current minimum and maximum provisioned throughput values, see Service, 14256 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 14257 // in the Amazon DynamoDB Developer Guide. 14258 ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` 14259 } 14260 14261 // String returns the string representation. 14262 // 14263 // API parameter values that are decorated as "sensitive" in the API will not 14264 // be included in the string output. The member name will be present, but the 14265 // value will be replaced with "sensitive". 14266 func (s GlobalSecondaryIndexDescription) String() string { 14267 return awsutil.Prettify(s) 14268 } 14269 14270 // GoString returns the string representation. 14271 // 14272 // API parameter values that are decorated as "sensitive" in the API will not 14273 // be included in the string output. The member name will be present, but the 14274 // value will be replaced with "sensitive". 14275 func (s GlobalSecondaryIndexDescription) GoString() string { 14276 return s.String() 14277 } 14278 14279 // SetBackfilling sets the Backfilling field's value. 14280 func (s *GlobalSecondaryIndexDescription) SetBackfilling(v bool) *GlobalSecondaryIndexDescription { 14281 s.Backfilling = &v 14282 return s 14283 } 14284 14285 // SetIndexArn sets the IndexArn field's value. 14286 func (s *GlobalSecondaryIndexDescription) SetIndexArn(v string) *GlobalSecondaryIndexDescription { 14287 s.IndexArn = &v 14288 return s 14289 } 14290 14291 // SetIndexName sets the IndexName field's value. 14292 func (s *GlobalSecondaryIndexDescription) SetIndexName(v string) *GlobalSecondaryIndexDescription { 14293 s.IndexName = &v 14294 return s 14295 } 14296 14297 // SetIndexSizeBytes sets the IndexSizeBytes field's value. 14298 func (s *GlobalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *GlobalSecondaryIndexDescription { 14299 s.IndexSizeBytes = &v 14300 return s 14301 } 14302 14303 // SetIndexStatus sets the IndexStatus field's value. 14304 func (s *GlobalSecondaryIndexDescription) SetIndexStatus(v string) *GlobalSecondaryIndexDescription { 14305 s.IndexStatus = &v 14306 return s 14307 } 14308 14309 // SetItemCount sets the ItemCount field's value. 14310 func (s *GlobalSecondaryIndexDescription) SetItemCount(v int64) *GlobalSecondaryIndexDescription { 14311 s.ItemCount = &v 14312 return s 14313 } 14314 14315 // SetKeySchema sets the KeySchema field's value. 14316 func (s *GlobalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexDescription { 14317 s.KeySchema = v 14318 return s 14319 } 14320 14321 // SetProjection sets the Projection field's value. 14322 func (s *GlobalSecondaryIndexDescription) SetProjection(v *Projection) *GlobalSecondaryIndexDescription { 14323 s.Projection = v 14324 return s 14325 } 14326 14327 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 14328 func (s *GlobalSecondaryIndexDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *GlobalSecondaryIndexDescription { 14329 s.ProvisionedThroughput = v 14330 return s 14331 } 14332 14333 // Represents the properties of a global secondary index for the table when 14334 // the backup was created. 14335 type GlobalSecondaryIndexInfo struct { 14336 _ struct{} `type:"structure"` 14337 14338 // The name of the global secondary index. 14339 IndexName *string `min:"3" type:"string"` 14340 14341 // The complete key schema for a global secondary index, which consists of one 14342 // or more pairs of attribute names and key types: 14343 // 14344 // * HASH - partition key 14345 // 14346 // * RANGE - sort key 14347 // 14348 // The partition key of an item is also known as its hash attribute. The term 14349 // "hash attribute" derives from DynamoDB's usage of an internal hash function 14350 // to evenly distribute data items across partitions, based on their partition 14351 // key values. 14352 // 14353 // The sort key of an item is also known as its range attribute. The term "range 14354 // attribute" derives from the way DynamoDB stores items with the same partition 14355 // key physically close together, in sorted order by the sort key value. 14356 KeySchema []*KeySchemaElement `min:"1" type:"list"` 14357 14358 // Represents attributes that are copied (projected) from the table into the 14359 // global secondary index. These are in addition to the primary key attributes 14360 // and index key attributes, which are automatically projected. 14361 Projection *Projection `type:"structure"` 14362 14363 // Represents the provisioned throughput settings for the specified global secondary 14364 // index. 14365 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 14366 } 14367 14368 // String returns the string representation. 14369 // 14370 // API parameter values that are decorated as "sensitive" in the API will not 14371 // be included in the string output. The member name will be present, but the 14372 // value will be replaced with "sensitive". 14373 func (s GlobalSecondaryIndexInfo) String() string { 14374 return awsutil.Prettify(s) 14375 } 14376 14377 // GoString returns the string representation. 14378 // 14379 // API parameter values that are decorated as "sensitive" in the API will not 14380 // be included in the string output. The member name will be present, but the 14381 // value will be replaced with "sensitive". 14382 func (s GlobalSecondaryIndexInfo) GoString() string { 14383 return s.String() 14384 } 14385 14386 // SetIndexName sets the IndexName field's value. 14387 func (s *GlobalSecondaryIndexInfo) SetIndexName(v string) *GlobalSecondaryIndexInfo { 14388 s.IndexName = &v 14389 return s 14390 } 14391 14392 // SetKeySchema sets the KeySchema field's value. 14393 func (s *GlobalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexInfo { 14394 s.KeySchema = v 14395 return s 14396 } 14397 14398 // SetProjection sets the Projection field's value. 14399 func (s *GlobalSecondaryIndexInfo) SetProjection(v *Projection) *GlobalSecondaryIndexInfo { 14400 s.Projection = v 14401 return s 14402 } 14403 14404 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 14405 func (s *GlobalSecondaryIndexInfo) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndexInfo { 14406 s.ProvisionedThroughput = v 14407 return s 14408 } 14409 14410 // Represents one of the following: 14411 // 14412 // * A new global secondary index to be added to an existing table. 14413 // 14414 // * New provisioned throughput parameters for an existing global secondary 14415 // index. 14416 // 14417 // * An existing global secondary index to be removed from an existing table. 14418 type GlobalSecondaryIndexUpdate struct { 14419 _ struct{} `type:"structure"` 14420 14421 // The parameters required for creating a global secondary index on an existing 14422 // table: 14423 // 14424 // * IndexName 14425 // 14426 // * KeySchema 14427 // 14428 // * AttributeDefinitions 14429 // 14430 // * Projection 14431 // 14432 // * ProvisionedThroughput 14433 Create *CreateGlobalSecondaryIndexAction `type:"structure"` 14434 14435 // The name of an existing global secondary index to be removed. 14436 Delete *DeleteGlobalSecondaryIndexAction `type:"structure"` 14437 14438 // The name of an existing global secondary index, along with new provisioned 14439 // throughput settings to be applied to that index. 14440 Update *UpdateGlobalSecondaryIndexAction `type:"structure"` 14441 } 14442 14443 // String returns the string representation. 14444 // 14445 // API parameter values that are decorated as "sensitive" in the API will not 14446 // be included in the string output. The member name will be present, but the 14447 // value will be replaced with "sensitive". 14448 func (s GlobalSecondaryIndexUpdate) String() string { 14449 return awsutil.Prettify(s) 14450 } 14451 14452 // GoString returns the string representation. 14453 // 14454 // API parameter values that are decorated as "sensitive" in the API will not 14455 // be included in the string output. The member name will be present, but the 14456 // value will be replaced with "sensitive". 14457 func (s GlobalSecondaryIndexUpdate) GoString() string { 14458 return s.String() 14459 } 14460 14461 // Validate inspects the fields of the type to determine if they are valid. 14462 func (s *GlobalSecondaryIndexUpdate) Validate() error { 14463 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexUpdate"} 14464 if s.Create != nil { 14465 if err := s.Create.Validate(); err != nil { 14466 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 14467 } 14468 } 14469 if s.Delete != nil { 14470 if err := s.Delete.Validate(); err != nil { 14471 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 14472 } 14473 } 14474 if s.Update != nil { 14475 if err := s.Update.Validate(); err != nil { 14476 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 14477 } 14478 } 14479 14480 if invalidParams.Len() > 0 { 14481 return invalidParams 14482 } 14483 return nil 14484 } 14485 14486 // SetCreate sets the Create field's value. 14487 func (s *GlobalSecondaryIndexUpdate) SetCreate(v *CreateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 14488 s.Create = v 14489 return s 14490 } 14491 14492 // SetDelete sets the Delete field's value. 14493 func (s *GlobalSecondaryIndexUpdate) SetDelete(v *DeleteGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 14494 s.Delete = v 14495 return s 14496 } 14497 14498 // SetUpdate sets the Update field's value. 14499 func (s *GlobalSecondaryIndexUpdate) SetUpdate(v *UpdateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 14500 s.Update = v 14501 return s 14502 } 14503 14504 // Represents the properties of a global table. 14505 type GlobalTable struct { 14506 _ struct{} `type:"structure"` 14507 14508 // The global table name. 14509 GlobalTableName *string `min:"3" type:"string"` 14510 14511 // The Regions where the global table has replicas. 14512 ReplicationGroup []*Replica `type:"list"` 14513 } 14514 14515 // String returns the string representation. 14516 // 14517 // API parameter values that are decorated as "sensitive" in the API will not 14518 // be included in the string output. The member name will be present, but the 14519 // value will be replaced with "sensitive". 14520 func (s GlobalTable) String() string { 14521 return awsutil.Prettify(s) 14522 } 14523 14524 // GoString returns the string representation. 14525 // 14526 // API parameter values that are decorated as "sensitive" in the API will not 14527 // be included in the string output. The member name will be present, but the 14528 // value will be replaced with "sensitive". 14529 func (s GlobalTable) GoString() string { 14530 return s.String() 14531 } 14532 14533 // SetGlobalTableName sets the GlobalTableName field's value. 14534 func (s *GlobalTable) SetGlobalTableName(v string) *GlobalTable { 14535 s.GlobalTableName = &v 14536 return s 14537 } 14538 14539 // SetReplicationGroup sets the ReplicationGroup field's value. 14540 func (s *GlobalTable) SetReplicationGroup(v []*Replica) *GlobalTable { 14541 s.ReplicationGroup = v 14542 return s 14543 } 14544 14545 // The specified global table already exists. 14546 type GlobalTableAlreadyExistsException struct { 14547 _ struct{} `type:"structure"` 14548 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14549 14550 Message_ *string `locationName:"message" type:"string"` 14551 } 14552 14553 // String returns the string representation. 14554 // 14555 // API parameter values that are decorated as "sensitive" in the API will not 14556 // be included in the string output. The member name will be present, but the 14557 // value will be replaced with "sensitive". 14558 func (s GlobalTableAlreadyExistsException) String() string { 14559 return awsutil.Prettify(s) 14560 } 14561 14562 // GoString returns the string representation. 14563 // 14564 // API parameter values that are decorated as "sensitive" in the API will not 14565 // be included in the string output. The member name will be present, but the 14566 // value will be replaced with "sensitive". 14567 func (s GlobalTableAlreadyExistsException) GoString() string { 14568 return s.String() 14569 } 14570 14571 func newErrorGlobalTableAlreadyExistsException(v protocol.ResponseMetadata) error { 14572 return &GlobalTableAlreadyExistsException{ 14573 RespMetadata: v, 14574 } 14575 } 14576 14577 // Code returns the exception type name. 14578 func (s *GlobalTableAlreadyExistsException) Code() string { 14579 return "GlobalTableAlreadyExistsException" 14580 } 14581 14582 // Message returns the exception's message. 14583 func (s *GlobalTableAlreadyExistsException) Message() string { 14584 if s.Message_ != nil { 14585 return *s.Message_ 14586 } 14587 return "" 14588 } 14589 14590 // OrigErr always returns nil, satisfies awserr.Error interface. 14591 func (s *GlobalTableAlreadyExistsException) OrigErr() error { 14592 return nil 14593 } 14594 14595 func (s *GlobalTableAlreadyExistsException) Error() string { 14596 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14597 } 14598 14599 // Status code returns the HTTP status code for the request's response error. 14600 func (s *GlobalTableAlreadyExistsException) StatusCode() int { 14601 return s.RespMetadata.StatusCode 14602 } 14603 14604 // RequestID returns the service's response RequestID for request. 14605 func (s *GlobalTableAlreadyExistsException) RequestID() string { 14606 return s.RespMetadata.RequestID 14607 } 14608 14609 // Contains details about the global table. 14610 type GlobalTableDescription struct { 14611 _ struct{} `type:"structure"` 14612 14613 // The creation time of the global table. 14614 CreationDateTime *time.Time `type:"timestamp"` 14615 14616 // The unique identifier of the global table. 14617 GlobalTableArn *string `type:"string"` 14618 14619 // The global table name. 14620 GlobalTableName *string `min:"3" type:"string"` 14621 14622 // The current state of the global table: 14623 // 14624 // * CREATING - The global table is being created. 14625 // 14626 // * UPDATING - The global table is being updated. 14627 // 14628 // * DELETING - The global table is being deleted. 14629 // 14630 // * ACTIVE - The global table is ready for use. 14631 GlobalTableStatus *string `type:"string" enum:"GlobalTableStatus"` 14632 14633 // The Regions where the global table has replicas. 14634 ReplicationGroup []*ReplicaDescription `type:"list"` 14635 } 14636 14637 // String returns the string representation. 14638 // 14639 // API parameter values that are decorated as "sensitive" in the API will not 14640 // be included in the string output. The member name will be present, but the 14641 // value will be replaced with "sensitive". 14642 func (s GlobalTableDescription) String() string { 14643 return awsutil.Prettify(s) 14644 } 14645 14646 // GoString returns the string representation. 14647 // 14648 // API parameter values that are decorated as "sensitive" in the API will not 14649 // be included in the string output. The member name will be present, but the 14650 // value will be replaced with "sensitive". 14651 func (s GlobalTableDescription) GoString() string { 14652 return s.String() 14653 } 14654 14655 // SetCreationDateTime sets the CreationDateTime field's value. 14656 func (s *GlobalTableDescription) SetCreationDateTime(v time.Time) *GlobalTableDescription { 14657 s.CreationDateTime = &v 14658 return s 14659 } 14660 14661 // SetGlobalTableArn sets the GlobalTableArn field's value. 14662 func (s *GlobalTableDescription) SetGlobalTableArn(v string) *GlobalTableDescription { 14663 s.GlobalTableArn = &v 14664 return s 14665 } 14666 14667 // SetGlobalTableName sets the GlobalTableName field's value. 14668 func (s *GlobalTableDescription) SetGlobalTableName(v string) *GlobalTableDescription { 14669 s.GlobalTableName = &v 14670 return s 14671 } 14672 14673 // SetGlobalTableStatus sets the GlobalTableStatus field's value. 14674 func (s *GlobalTableDescription) SetGlobalTableStatus(v string) *GlobalTableDescription { 14675 s.GlobalTableStatus = &v 14676 return s 14677 } 14678 14679 // SetReplicationGroup sets the ReplicationGroup field's value. 14680 func (s *GlobalTableDescription) SetReplicationGroup(v []*ReplicaDescription) *GlobalTableDescription { 14681 s.ReplicationGroup = v 14682 return s 14683 } 14684 14685 // Represents the settings of a global secondary index for a global table that 14686 // will be modified. 14687 type GlobalTableGlobalSecondaryIndexSettingsUpdate struct { 14688 _ struct{} `type:"structure"` 14689 14690 // The name of the global secondary index. The name must be unique among all 14691 // other indexes on this table. 14692 // 14693 // IndexName is a required field 14694 IndexName *string `min:"3" type:"string" required:"true"` 14695 14696 // Auto scaling settings for managing a global secondary index's write capacity 14697 // units. 14698 ProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 14699 14700 // The maximum number of writes consumed per second before DynamoDB returns 14701 // a ThrottlingException. 14702 ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 14703 } 14704 14705 // String returns the string representation. 14706 // 14707 // API parameter values that are decorated as "sensitive" in the API will not 14708 // be included in the string output. The member name will be present, but the 14709 // value will be replaced with "sensitive". 14710 func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) String() string { 14711 return awsutil.Prettify(s) 14712 } 14713 14714 // GoString returns the string representation. 14715 // 14716 // API parameter values that are decorated as "sensitive" in the API will not 14717 // be included in the string output. The member name will be present, but the 14718 // value will be replaced with "sensitive". 14719 func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) GoString() string { 14720 return s.String() 14721 } 14722 14723 // Validate inspects the fields of the type to determine if they are valid. 14724 func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) Validate() error { 14725 invalidParams := request.ErrInvalidParams{Context: "GlobalTableGlobalSecondaryIndexSettingsUpdate"} 14726 if s.IndexName == nil { 14727 invalidParams.Add(request.NewErrParamRequired("IndexName")) 14728 } 14729 if s.IndexName != nil && len(*s.IndexName) < 3 { 14730 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14731 } 14732 if s.ProvisionedWriteCapacityUnits != nil && *s.ProvisionedWriteCapacityUnits < 1 { 14733 invalidParams.Add(request.NewErrParamMinValue("ProvisionedWriteCapacityUnits", 1)) 14734 } 14735 if s.ProvisionedWriteCapacityAutoScalingSettingsUpdate != nil { 14736 if err := s.ProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 14737 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 14738 } 14739 } 14740 14741 if invalidParams.Len() > 0 { 14742 return invalidParams 14743 } 14744 return nil 14745 } 14746 14747 // SetIndexName sets the IndexName field's value. 14748 func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 14749 s.IndexName = &v 14750 return s 14751 } 14752 14753 // SetProvisionedWriteCapacityAutoScalingSettingsUpdate sets the ProvisionedWriteCapacityAutoScalingSettingsUpdate field's value. 14754 func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 14755 s.ProvisionedWriteCapacityAutoScalingSettingsUpdate = v 14756 return s 14757 } 14758 14759 // SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value. 14760 func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityUnits(v int64) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 14761 s.ProvisionedWriteCapacityUnits = &v 14762 return s 14763 } 14764 14765 // The specified global table does not exist. 14766 type GlobalTableNotFoundException struct { 14767 _ struct{} `type:"structure"` 14768 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14769 14770 Message_ *string `locationName:"message" type:"string"` 14771 } 14772 14773 // String returns the string representation. 14774 // 14775 // API parameter values that are decorated as "sensitive" in the API will not 14776 // be included in the string output. The member name will be present, but the 14777 // value will be replaced with "sensitive". 14778 func (s GlobalTableNotFoundException) String() string { 14779 return awsutil.Prettify(s) 14780 } 14781 14782 // GoString returns the string representation. 14783 // 14784 // API parameter values that are decorated as "sensitive" in the API will not 14785 // be included in the string output. The member name will be present, but the 14786 // value will be replaced with "sensitive". 14787 func (s GlobalTableNotFoundException) GoString() string { 14788 return s.String() 14789 } 14790 14791 func newErrorGlobalTableNotFoundException(v protocol.ResponseMetadata) error { 14792 return &GlobalTableNotFoundException{ 14793 RespMetadata: v, 14794 } 14795 } 14796 14797 // Code returns the exception type name. 14798 func (s *GlobalTableNotFoundException) Code() string { 14799 return "GlobalTableNotFoundException" 14800 } 14801 14802 // Message returns the exception's message. 14803 func (s *GlobalTableNotFoundException) Message() string { 14804 if s.Message_ != nil { 14805 return *s.Message_ 14806 } 14807 return "" 14808 } 14809 14810 // OrigErr always returns nil, satisfies awserr.Error interface. 14811 func (s *GlobalTableNotFoundException) OrigErr() error { 14812 return nil 14813 } 14814 14815 func (s *GlobalTableNotFoundException) Error() string { 14816 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14817 } 14818 14819 // Status code returns the HTTP status code for the request's response error. 14820 func (s *GlobalTableNotFoundException) StatusCode() int { 14821 return s.RespMetadata.StatusCode 14822 } 14823 14824 // RequestID returns the service's response RequestID for request. 14825 func (s *GlobalTableNotFoundException) RequestID() string { 14826 return s.RespMetadata.RequestID 14827 } 14828 14829 // DynamoDB rejected the request because you retried a request with a different 14830 // payload but with an idempotent token that was already used. 14831 type IdempotentParameterMismatchException struct { 14832 _ struct{} `type:"structure"` 14833 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14834 14835 Message_ *string `locationName:"Message" type:"string"` 14836 } 14837 14838 // String returns the string representation. 14839 // 14840 // API parameter values that are decorated as "sensitive" in the API will not 14841 // be included in the string output. The member name will be present, but the 14842 // value will be replaced with "sensitive". 14843 func (s IdempotentParameterMismatchException) String() string { 14844 return awsutil.Prettify(s) 14845 } 14846 14847 // GoString returns the string representation. 14848 // 14849 // API parameter values that are decorated as "sensitive" in the API will not 14850 // be included in the string output. The member name will be present, but the 14851 // value will be replaced with "sensitive". 14852 func (s IdempotentParameterMismatchException) GoString() string { 14853 return s.String() 14854 } 14855 14856 func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error { 14857 return &IdempotentParameterMismatchException{ 14858 RespMetadata: v, 14859 } 14860 } 14861 14862 // Code returns the exception type name. 14863 func (s *IdempotentParameterMismatchException) Code() string { 14864 return "IdempotentParameterMismatchException" 14865 } 14866 14867 // Message returns the exception's message. 14868 func (s *IdempotentParameterMismatchException) Message() string { 14869 if s.Message_ != nil { 14870 return *s.Message_ 14871 } 14872 return "" 14873 } 14874 14875 // OrigErr always returns nil, satisfies awserr.Error interface. 14876 func (s *IdempotentParameterMismatchException) OrigErr() error { 14877 return nil 14878 } 14879 14880 func (s *IdempotentParameterMismatchException) Error() string { 14881 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14882 } 14883 14884 // Status code returns the HTTP status code for the request's response error. 14885 func (s *IdempotentParameterMismatchException) StatusCode() int { 14886 return s.RespMetadata.StatusCode 14887 } 14888 14889 // RequestID returns the service's response RequestID for request. 14890 func (s *IdempotentParameterMismatchException) RequestID() string { 14891 return s.RespMetadata.RequestID 14892 } 14893 14894 // The operation tried to access a nonexistent index. 14895 type IndexNotFoundException struct { 14896 _ struct{} `type:"structure"` 14897 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14898 14899 Message_ *string `locationName:"message" type:"string"` 14900 } 14901 14902 // String returns the string representation. 14903 // 14904 // API parameter values that are decorated as "sensitive" in the API will not 14905 // be included in the string output. The member name will be present, but the 14906 // value will be replaced with "sensitive". 14907 func (s IndexNotFoundException) String() string { 14908 return awsutil.Prettify(s) 14909 } 14910 14911 // GoString returns the string representation. 14912 // 14913 // API parameter values that are decorated as "sensitive" in the API will not 14914 // be included in the string output. The member name will be present, but the 14915 // value will be replaced with "sensitive". 14916 func (s IndexNotFoundException) GoString() string { 14917 return s.String() 14918 } 14919 14920 func newErrorIndexNotFoundException(v protocol.ResponseMetadata) error { 14921 return &IndexNotFoundException{ 14922 RespMetadata: v, 14923 } 14924 } 14925 14926 // Code returns the exception type name. 14927 func (s *IndexNotFoundException) Code() string { 14928 return "IndexNotFoundException" 14929 } 14930 14931 // Message returns the exception's message. 14932 func (s *IndexNotFoundException) Message() string { 14933 if s.Message_ != nil { 14934 return *s.Message_ 14935 } 14936 return "" 14937 } 14938 14939 // OrigErr always returns nil, satisfies awserr.Error interface. 14940 func (s *IndexNotFoundException) OrigErr() error { 14941 return nil 14942 } 14943 14944 func (s *IndexNotFoundException) Error() string { 14945 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14946 } 14947 14948 // Status code returns the HTTP status code for the request's response error. 14949 func (s *IndexNotFoundException) StatusCode() int { 14950 return s.RespMetadata.StatusCode 14951 } 14952 14953 // RequestID returns the service's response RequestID for request. 14954 func (s *IndexNotFoundException) RequestID() string { 14955 return s.RespMetadata.RequestID 14956 } 14957 14958 // An error occurred on the server side. 14959 type InternalServerError struct { 14960 _ struct{} `type:"structure"` 14961 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14962 14963 // The server encountered an internal error trying to fulfill the request. 14964 Message_ *string `locationName:"message" type:"string"` 14965 } 14966 14967 // String returns the string representation. 14968 // 14969 // API parameter values that are decorated as "sensitive" in the API will not 14970 // be included in the string output. The member name will be present, but the 14971 // value will be replaced with "sensitive". 14972 func (s InternalServerError) String() string { 14973 return awsutil.Prettify(s) 14974 } 14975 14976 // GoString returns the string representation. 14977 // 14978 // API parameter values that are decorated as "sensitive" in the API will not 14979 // be included in the string output. The member name will be present, but the 14980 // value will be replaced with "sensitive". 14981 func (s InternalServerError) GoString() string { 14982 return s.String() 14983 } 14984 14985 func newErrorInternalServerError(v protocol.ResponseMetadata) error { 14986 return &InternalServerError{ 14987 RespMetadata: v, 14988 } 14989 } 14990 14991 // Code returns the exception type name. 14992 func (s *InternalServerError) Code() string { 14993 return "InternalServerError" 14994 } 14995 14996 // Message returns the exception's message. 14997 func (s *InternalServerError) Message() string { 14998 if s.Message_ != nil { 14999 return *s.Message_ 15000 } 15001 return "" 15002 } 15003 15004 // OrigErr always returns nil, satisfies awserr.Error interface. 15005 func (s *InternalServerError) OrigErr() error { 15006 return nil 15007 } 15008 15009 func (s *InternalServerError) Error() string { 15010 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15011 } 15012 15013 // Status code returns the HTTP status code for the request's response error. 15014 func (s *InternalServerError) StatusCode() int { 15015 return s.RespMetadata.StatusCode 15016 } 15017 15018 // RequestID returns the service's response RequestID for request. 15019 func (s *InternalServerError) RequestID() string { 15020 return s.RespMetadata.RequestID 15021 } 15022 15023 // The specified ExportTime is outside of the point in time recovery window. 15024 type InvalidExportTimeException struct { 15025 _ struct{} `type:"structure"` 15026 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15027 15028 Message_ *string `locationName:"message" type:"string"` 15029 } 15030 15031 // String returns the string representation. 15032 // 15033 // API parameter values that are decorated as "sensitive" in the API will not 15034 // be included in the string output. The member name will be present, but the 15035 // value will be replaced with "sensitive". 15036 func (s InvalidExportTimeException) String() string { 15037 return awsutil.Prettify(s) 15038 } 15039 15040 // GoString returns the string representation. 15041 // 15042 // API parameter values that are decorated as "sensitive" in the API will not 15043 // be included in the string output. The member name will be present, but the 15044 // value will be replaced with "sensitive". 15045 func (s InvalidExportTimeException) GoString() string { 15046 return s.String() 15047 } 15048 15049 func newErrorInvalidExportTimeException(v protocol.ResponseMetadata) error { 15050 return &InvalidExportTimeException{ 15051 RespMetadata: v, 15052 } 15053 } 15054 15055 // Code returns the exception type name. 15056 func (s *InvalidExportTimeException) Code() string { 15057 return "InvalidExportTimeException" 15058 } 15059 15060 // Message returns the exception's message. 15061 func (s *InvalidExportTimeException) Message() string { 15062 if s.Message_ != nil { 15063 return *s.Message_ 15064 } 15065 return "" 15066 } 15067 15068 // OrigErr always returns nil, satisfies awserr.Error interface. 15069 func (s *InvalidExportTimeException) OrigErr() error { 15070 return nil 15071 } 15072 15073 func (s *InvalidExportTimeException) Error() string { 15074 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15075 } 15076 15077 // Status code returns the HTTP status code for the request's response error. 15078 func (s *InvalidExportTimeException) StatusCode() int { 15079 return s.RespMetadata.StatusCode 15080 } 15081 15082 // RequestID returns the service's response RequestID for request. 15083 func (s *InvalidExportTimeException) RequestID() string { 15084 return s.RespMetadata.RequestID 15085 } 15086 15087 // An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime 15088 // and LatestRestorableDateTime. 15089 type InvalidRestoreTimeException struct { 15090 _ struct{} `type:"structure"` 15091 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15092 15093 Message_ *string `locationName:"message" type:"string"` 15094 } 15095 15096 // String returns the string representation. 15097 // 15098 // API parameter values that are decorated as "sensitive" in the API will not 15099 // be included in the string output. The member name will be present, but the 15100 // value will be replaced with "sensitive". 15101 func (s InvalidRestoreTimeException) String() string { 15102 return awsutil.Prettify(s) 15103 } 15104 15105 // GoString returns the string representation. 15106 // 15107 // API parameter values that are decorated as "sensitive" in the API will not 15108 // be included in the string output. The member name will be present, but the 15109 // value will be replaced with "sensitive". 15110 func (s InvalidRestoreTimeException) GoString() string { 15111 return s.String() 15112 } 15113 15114 func newErrorInvalidRestoreTimeException(v protocol.ResponseMetadata) error { 15115 return &InvalidRestoreTimeException{ 15116 RespMetadata: v, 15117 } 15118 } 15119 15120 // Code returns the exception type name. 15121 func (s *InvalidRestoreTimeException) Code() string { 15122 return "InvalidRestoreTimeException" 15123 } 15124 15125 // Message returns the exception's message. 15126 func (s *InvalidRestoreTimeException) Message() string { 15127 if s.Message_ != nil { 15128 return *s.Message_ 15129 } 15130 return "" 15131 } 15132 15133 // OrigErr always returns nil, satisfies awserr.Error interface. 15134 func (s *InvalidRestoreTimeException) OrigErr() error { 15135 return nil 15136 } 15137 15138 func (s *InvalidRestoreTimeException) Error() string { 15139 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15140 } 15141 15142 // Status code returns the HTTP status code for the request's response error. 15143 func (s *InvalidRestoreTimeException) StatusCode() int { 15144 return s.RespMetadata.StatusCode 15145 } 15146 15147 // RequestID returns the service's response RequestID for request. 15148 func (s *InvalidRestoreTimeException) RequestID() string { 15149 return s.RespMetadata.RequestID 15150 } 15151 15152 // Information about item collections, if any, that were affected by the operation. 15153 // ItemCollectionMetrics is only returned if the request asked for it. If the 15154 // table does not have any local secondary indexes, this information is not 15155 // returned in the response. 15156 type ItemCollectionMetrics struct { 15157 _ struct{} `type:"structure"` 15158 15159 // The partition key value of the item collection. This value is the same as 15160 // the partition key value of the item. 15161 ItemCollectionKey map[string]*AttributeValue `type:"map"` 15162 15163 // An estimate of item collection size, in gigabytes. This value is a two-element 15164 // array containing a lower bound and an upper bound for the estimate. The estimate 15165 // includes the size of all the items in the table, plus the size of all attributes 15166 // projected into all of the local secondary indexes on that table. Use this 15167 // estimate to measure whether a local secondary index is approaching its size 15168 // limit. 15169 // 15170 // The estimate is subject to change over time; therefore, do not rely on the 15171 // precision or accuracy of the estimate. 15172 SizeEstimateRangeGB []*float64 `type:"list"` 15173 } 15174 15175 // String returns the string representation. 15176 // 15177 // API parameter values that are decorated as "sensitive" in the API will not 15178 // be included in the string output. The member name will be present, but the 15179 // value will be replaced with "sensitive". 15180 func (s ItemCollectionMetrics) String() string { 15181 return awsutil.Prettify(s) 15182 } 15183 15184 // GoString returns the string representation. 15185 // 15186 // API parameter values that are decorated as "sensitive" in the API will not 15187 // be included in the string output. The member name will be present, but the 15188 // value will be replaced with "sensitive". 15189 func (s ItemCollectionMetrics) GoString() string { 15190 return s.String() 15191 } 15192 15193 // SetItemCollectionKey sets the ItemCollectionKey field's value. 15194 func (s *ItemCollectionMetrics) SetItemCollectionKey(v map[string]*AttributeValue) *ItemCollectionMetrics { 15195 s.ItemCollectionKey = v 15196 return s 15197 } 15198 15199 // SetSizeEstimateRangeGB sets the SizeEstimateRangeGB field's value. 15200 func (s *ItemCollectionMetrics) SetSizeEstimateRangeGB(v []*float64) *ItemCollectionMetrics { 15201 s.SizeEstimateRangeGB = v 15202 return s 15203 } 15204 15205 // An item collection is too large. This exception is only returned for tables 15206 // that have one or more local secondary indexes. 15207 type ItemCollectionSizeLimitExceededException struct { 15208 _ struct{} `type:"structure"` 15209 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15210 15211 // The total size of an item collection has exceeded the maximum limit of 10 15212 // gigabytes. 15213 Message_ *string `locationName:"message" type:"string"` 15214 } 15215 15216 // String returns the string representation. 15217 // 15218 // API parameter values that are decorated as "sensitive" in the API will not 15219 // be included in the string output. The member name will be present, but the 15220 // value will be replaced with "sensitive". 15221 func (s ItemCollectionSizeLimitExceededException) String() string { 15222 return awsutil.Prettify(s) 15223 } 15224 15225 // GoString returns the string representation. 15226 // 15227 // API parameter values that are decorated as "sensitive" in the API will not 15228 // be included in the string output. The member name will be present, but the 15229 // value will be replaced with "sensitive". 15230 func (s ItemCollectionSizeLimitExceededException) GoString() string { 15231 return s.String() 15232 } 15233 15234 func newErrorItemCollectionSizeLimitExceededException(v protocol.ResponseMetadata) error { 15235 return &ItemCollectionSizeLimitExceededException{ 15236 RespMetadata: v, 15237 } 15238 } 15239 15240 // Code returns the exception type name. 15241 func (s *ItemCollectionSizeLimitExceededException) Code() string { 15242 return "ItemCollectionSizeLimitExceededException" 15243 } 15244 15245 // Message returns the exception's message. 15246 func (s *ItemCollectionSizeLimitExceededException) Message() string { 15247 if s.Message_ != nil { 15248 return *s.Message_ 15249 } 15250 return "" 15251 } 15252 15253 // OrigErr always returns nil, satisfies awserr.Error interface. 15254 func (s *ItemCollectionSizeLimitExceededException) OrigErr() error { 15255 return nil 15256 } 15257 15258 func (s *ItemCollectionSizeLimitExceededException) Error() string { 15259 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15260 } 15261 15262 // Status code returns the HTTP status code for the request's response error. 15263 func (s *ItemCollectionSizeLimitExceededException) StatusCode() int { 15264 return s.RespMetadata.StatusCode 15265 } 15266 15267 // RequestID returns the service's response RequestID for request. 15268 func (s *ItemCollectionSizeLimitExceededException) RequestID() string { 15269 return s.RespMetadata.RequestID 15270 } 15271 15272 // Details for the requested item. 15273 type ItemResponse struct { 15274 _ struct{} `type:"structure"` 15275 15276 // Map of attribute data consisting of the data type and attribute value. 15277 Item map[string]*AttributeValue `type:"map"` 15278 } 15279 15280 // String returns the string representation. 15281 // 15282 // API parameter values that are decorated as "sensitive" in the API will not 15283 // be included in the string output. The member name will be present, but the 15284 // value will be replaced with "sensitive". 15285 func (s ItemResponse) String() string { 15286 return awsutil.Prettify(s) 15287 } 15288 15289 // GoString returns the string representation. 15290 // 15291 // API parameter values that are decorated as "sensitive" in the API will not 15292 // be included in the string output. The member name will be present, but the 15293 // value will be replaced with "sensitive". 15294 func (s ItemResponse) GoString() string { 15295 return s.String() 15296 } 15297 15298 // SetItem sets the Item field's value. 15299 func (s *ItemResponse) SetItem(v map[string]*AttributeValue) *ItemResponse { 15300 s.Item = v 15301 return s 15302 } 15303 15304 // Represents a single element of a key schema. A key schema specifies the attributes 15305 // that make up the primary key of a table, or the key attributes of an index. 15306 // 15307 // A KeySchemaElement represents exactly one attribute of the primary key. For 15308 // example, a simple primary key would be represented by one KeySchemaElement 15309 // (for the partition key). A composite primary key would require one KeySchemaElement 15310 // for the partition key, and another KeySchemaElement for the sort key. 15311 // 15312 // A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). 15313 // The data type must be one of String, Number, or Binary. The attribute cannot 15314 // be nested within a List or a Map. 15315 type KeySchemaElement struct { 15316 _ struct{} `type:"structure"` 15317 15318 // The name of a key attribute. 15319 // 15320 // AttributeName is a required field 15321 AttributeName *string `min:"1" type:"string" required:"true"` 15322 15323 // The role that this key attribute will assume: 15324 // 15325 // * HASH - partition key 15326 // 15327 // * RANGE - sort key 15328 // 15329 // The partition key of an item is also known as its hash attribute. The term 15330 // "hash attribute" derives from DynamoDB's usage of an internal hash function 15331 // to evenly distribute data items across partitions, based on their partition 15332 // key values. 15333 // 15334 // The sort key of an item is also known as its range attribute. The term "range 15335 // attribute" derives from the way DynamoDB stores items with the same partition 15336 // key physically close together, in sorted order by the sort key value. 15337 // 15338 // KeyType is a required field 15339 KeyType *string `type:"string" required:"true" enum:"KeyType"` 15340 } 15341 15342 // String returns the string representation. 15343 // 15344 // API parameter values that are decorated as "sensitive" in the API will not 15345 // be included in the string output. The member name will be present, but the 15346 // value will be replaced with "sensitive". 15347 func (s KeySchemaElement) String() string { 15348 return awsutil.Prettify(s) 15349 } 15350 15351 // GoString returns the string representation. 15352 // 15353 // API parameter values that are decorated as "sensitive" in the API will not 15354 // be included in the string output. The member name will be present, but the 15355 // value will be replaced with "sensitive". 15356 func (s KeySchemaElement) GoString() string { 15357 return s.String() 15358 } 15359 15360 // Validate inspects the fields of the type to determine if they are valid. 15361 func (s *KeySchemaElement) Validate() error { 15362 invalidParams := request.ErrInvalidParams{Context: "KeySchemaElement"} 15363 if s.AttributeName == nil { 15364 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 15365 } 15366 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 15367 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 15368 } 15369 if s.KeyType == nil { 15370 invalidParams.Add(request.NewErrParamRequired("KeyType")) 15371 } 15372 15373 if invalidParams.Len() > 0 { 15374 return invalidParams 15375 } 15376 return nil 15377 } 15378 15379 // SetAttributeName sets the AttributeName field's value. 15380 func (s *KeySchemaElement) SetAttributeName(v string) *KeySchemaElement { 15381 s.AttributeName = &v 15382 return s 15383 } 15384 15385 // SetKeyType sets the KeyType field's value. 15386 func (s *KeySchemaElement) SetKeyType(v string) *KeySchemaElement { 15387 s.KeyType = &v 15388 return s 15389 } 15390 15391 // Represents a set of primary keys and, for each key, the attributes to retrieve 15392 // from the table. 15393 // 15394 // For each primary key, you must provide all of the key attributes. For example, 15395 // with a simple primary key, you only need to provide the partition key. For 15396 // a composite primary key, you must provide both the partition key and the 15397 // sort key. 15398 type KeysAndAttributes struct { 15399 _ struct{} `type:"structure"` 15400 15401 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 15402 // see Legacy Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 15403 // in the Amazon DynamoDB Developer Guide. 15404 AttributesToGet []*string `min:"1" type:"list"` 15405 15406 // The consistency of a read operation. If set to true, then a strongly consistent 15407 // read is used; otherwise, an eventually consistent read is used. 15408 ConsistentRead *bool `type:"boolean"` 15409 15410 // One or more substitution tokens for attribute names in an expression. The 15411 // following are some use cases for using ExpressionAttributeNames: 15412 // 15413 // * To access an attribute whose name conflicts with a DynamoDB reserved 15414 // word. 15415 // 15416 // * To create a placeholder for repeating occurrences of an attribute name 15417 // in an expression. 15418 // 15419 // * To prevent special characters in an attribute name from being misinterpreted 15420 // in an expression. 15421 // 15422 // Use the # character in an expression to dereference an attribute name. For 15423 // example, consider the following attribute name: 15424 // 15425 // * Percentile 15426 // 15427 // The name of this attribute conflicts with a reserved word, so it cannot be 15428 // used directly in an expression. (For the complete list of reserved words, 15429 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 15430 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 15431 // the following for ExpressionAttributeNames: 15432 // 15433 // * {"#P":"Percentile"} 15434 // 15435 // You could then use this substitution in an expression, as in this example: 15436 // 15437 // * #P = :val 15438 // 15439 // Tokens that begin with the : character are expression attribute values, which 15440 // are placeholders for the actual value at runtime. 15441 // 15442 // For more information on expression attribute names, see Accessing Item Attributes 15443 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 15444 // in the Amazon DynamoDB Developer Guide. 15445 ExpressionAttributeNames map[string]*string `type:"map"` 15446 15447 // The primary key attribute values that define the items and the attributes 15448 // associated with the items. 15449 // 15450 // Keys is a required field 15451 Keys []map[string]*AttributeValue `min:"1" type:"list" required:"true"` 15452 15453 // A string that identifies one or more attributes to retrieve from the table. 15454 // These attributes can include scalars, sets, or elements of a JSON document. 15455 // The attributes in the ProjectionExpression must be separated by commas. 15456 // 15457 // If no attribute names are specified, then all attributes will be returned. 15458 // If any of the requested attributes are not found, they will not appear in 15459 // the result. 15460 // 15461 // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 15462 // in the Amazon DynamoDB Developer Guide. 15463 ProjectionExpression *string `type:"string"` 15464 } 15465 15466 // String returns the string representation. 15467 // 15468 // API parameter values that are decorated as "sensitive" in the API will not 15469 // be included in the string output. The member name will be present, but the 15470 // value will be replaced with "sensitive". 15471 func (s KeysAndAttributes) String() string { 15472 return awsutil.Prettify(s) 15473 } 15474 15475 // GoString returns the string representation. 15476 // 15477 // API parameter values that are decorated as "sensitive" in the API will not 15478 // be included in the string output. The member name will be present, but the 15479 // value will be replaced with "sensitive". 15480 func (s KeysAndAttributes) GoString() string { 15481 return s.String() 15482 } 15483 15484 // Validate inspects the fields of the type to determine if they are valid. 15485 func (s *KeysAndAttributes) Validate() error { 15486 invalidParams := request.ErrInvalidParams{Context: "KeysAndAttributes"} 15487 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 15488 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 15489 } 15490 if s.Keys == nil { 15491 invalidParams.Add(request.NewErrParamRequired("Keys")) 15492 } 15493 if s.Keys != nil && len(s.Keys) < 1 { 15494 invalidParams.Add(request.NewErrParamMinLen("Keys", 1)) 15495 } 15496 15497 if invalidParams.Len() > 0 { 15498 return invalidParams 15499 } 15500 return nil 15501 } 15502 15503 // SetAttributesToGet sets the AttributesToGet field's value. 15504 func (s *KeysAndAttributes) SetAttributesToGet(v []*string) *KeysAndAttributes { 15505 s.AttributesToGet = v 15506 return s 15507 } 15508 15509 // SetConsistentRead sets the ConsistentRead field's value. 15510 func (s *KeysAndAttributes) SetConsistentRead(v bool) *KeysAndAttributes { 15511 s.ConsistentRead = &v 15512 return s 15513 } 15514 15515 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 15516 func (s *KeysAndAttributes) SetExpressionAttributeNames(v map[string]*string) *KeysAndAttributes { 15517 s.ExpressionAttributeNames = v 15518 return s 15519 } 15520 15521 // SetKeys sets the Keys field's value. 15522 func (s *KeysAndAttributes) SetKeys(v []map[string]*AttributeValue) *KeysAndAttributes { 15523 s.Keys = v 15524 return s 15525 } 15526 15527 // SetProjectionExpression sets the ProjectionExpression field's value. 15528 func (s *KeysAndAttributes) SetProjectionExpression(v string) *KeysAndAttributes { 15529 s.ProjectionExpression = &v 15530 return s 15531 } 15532 15533 // Describes a Kinesis data stream destination. 15534 type KinesisDataStreamDestination struct { 15535 _ struct{} `type:"structure"` 15536 15537 // The current status of replication. 15538 DestinationStatus *string `type:"string" enum:"DestinationStatus"` 15539 15540 // The human-readable string that corresponds to the replica status. 15541 DestinationStatusDescription *string `type:"string"` 15542 15543 // The ARN for a specific Kinesis data stream. 15544 StreamArn *string `min:"37" type:"string"` 15545 } 15546 15547 // String returns the string representation. 15548 // 15549 // API parameter values that are decorated as "sensitive" in the API will not 15550 // be included in the string output. The member name will be present, but the 15551 // value will be replaced with "sensitive". 15552 func (s KinesisDataStreamDestination) String() string { 15553 return awsutil.Prettify(s) 15554 } 15555 15556 // GoString returns the string representation. 15557 // 15558 // API parameter values that are decorated as "sensitive" in the API will not 15559 // be included in the string output. The member name will be present, but the 15560 // value will be replaced with "sensitive". 15561 func (s KinesisDataStreamDestination) GoString() string { 15562 return s.String() 15563 } 15564 15565 // SetDestinationStatus sets the DestinationStatus field's value. 15566 func (s *KinesisDataStreamDestination) SetDestinationStatus(v string) *KinesisDataStreamDestination { 15567 s.DestinationStatus = &v 15568 return s 15569 } 15570 15571 // SetDestinationStatusDescription sets the DestinationStatusDescription field's value. 15572 func (s *KinesisDataStreamDestination) SetDestinationStatusDescription(v string) *KinesisDataStreamDestination { 15573 s.DestinationStatusDescription = &v 15574 return s 15575 } 15576 15577 // SetStreamArn sets the StreamArn field's value. 15578 func (s *KinesisDataStreamDestination) SetStreamArn(v string) *KinesisDataStreamDestination { 15579 s.StreamArn = &v 15580 return s 15581 } 15582 15583 // There is no limit to the number of daily on-demand backups that can be taken. 15584 // 15585 // Up to 50 simultaneous table operations are allowed per account. These operations 15586 // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 15587 // and RestoreTableToPointInTime. 15588 // 15589 // The only exception is when you are creating a table with one or more secondary 15590 // indexes. You can have up to 25 such requests running at a time; however, 15591 // if the table or index specifications are complex, DynamoDB might temporarily 15592 // reduce the number of concurrent operations. 15593 // 15594 // There is a soft account quota of 256 tables. 15595 type LimitExceededException struct { 15596 _ struct{} `type:"structure"` 15597 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15598 15599 // Too many operations for a given subscriber. 15600 Message_ *string `locationName:"message" type:"string"` 15601 } 15602 15603 // String returns the string representation. 15604 // 15605 // API parameter values that are decorated as "sensitive" in the API will not 15606 // be included in the string output. The member name will be present, but the 15607 // value will be replaced with "sensitive". 15608 func (s LimitExceededException) String() string { 15609 return awsutil.Prettify(s) 15610 } 15611 15612 // GoString returns the string representation. 15613 // 15614 // API parameter values that are decorated as "sensitive" in the API will not 15615 // be included in the string output. The member name will be present, but the 15616 // value will be replaced with "sensitive". 15617 func (s LimitExceededException) GoString() string { 15618 return s.String() 15619 } 15620 15621 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 15622 return &LimitExceededException{ 15623 RespMetadata: v, 15624 } 15625 } 15626 15627 // Code returns the exception type name. 15628 func (s *LimitExceededException) Code() string { 15629 return "LimitExceededException" 15630 } 15631 15632 // Message returns the exception's message. 15633 func (s *LimitExceededException) Message() string { 15634 if s.Message_ != nil { 15635 return *s.Message_ 15636 } 15637 return "" 15638 } 15639 15640 // OrigErr always returns nil, satisfies awserr.Error interface. 15641 func (s *LimitExceededException) OrigErr() error { 15642 return nil 15643 } 15644 15645 func (s *LimitExceededException) Error() string { 15646 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15647 } 15648 15649 // Status code returns the HTTP status code for the request's response error. 15650 func (s *LimitExceededException) StatusCode() int { 15651 return s.RespMetadata.StatusCode 15652 } 15653 15654 // RequestID returns the service's response RequestID for request. 15655 func (s *LimitExceededException) RequestID() string { 15656 return s.RespMetadata.RequestID 15657 } 15658 15659 type ListBackupsInput struct { 15660 _ struct{} `type:"structure"` 15661 15662 // The backups from the table specified by BackupType are listed. 15663 // 15664 // Where BackupType can be: 15665 // 15666 // * USER - On-demand backup created by you. 15667 // 15668 // * SYSTEM - On-demand backup automatically created by DynamoDB. 15669 // 15670 // * ALL - All types of on-demand backups (USER and SYSTEM). 15671 BackupType *string `type:"string" enum:"BackupTypeFilter"` 15672 15673 // LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last 15674 // evaluated when the current page of results was returned, inclusive of the 15675 // current page of results. This value may be specified as the ExclusiveStartBackupArn 15676 // of a new ListBackups operation in order to fetch the next page of results. 15677 ExclusiveStartBackupArn *string `min:"37" type:"string"` 15678 15679 // Maximum number of backups to return at once. 15680 Limit *int64 `min:"1" type:"integer"` 15681 15682 // The backups from the table specified by TableName are listed. 15683 TableName *string `min:"3" type:"string"` 15684 15685 // Only backups created after this time are listed. TimeRangeLowerBound is inclusive. 15686 TimeRangeLowerBound *time.Time `type:"timestamp"` 15687 15688 // Only backups created before this time are listed. TimeRangeUpperBound is 15689 // exclusive. 15690 TimeRangeUpperBound *time.Time `type:"timestamp"` 15691 } 15692 15693 // String returns the string representation. 15694 // 15695 // API parameter values that are decorated as "sensitive" in the API will not 15696 // be included in the string output. The member name will be present, but the 15697 // value will be replaced with "sensitive". 15698 func (s ListBackupsInput) String() string { 15699 return awsutil.Prettify(s) 15700 } 15701 15702 // GoString returns the string representation. 15703 // 15704 // API parameter values that are decorated as "sensitive" in the API will not 15705 // be included in the string output. The member name will be present, but the 15706 // value will be replaced with "sensitive". 15707 func (s ListBackupsInput) GoString() string { 15708 return s.String() 15709 } 15710 15711 // Validate inspects the fields of the type to determine if they are valid. 15712 func (s *ListBackupsInput) Validate() error { 15713 invalidParams := request.ErrInvalidParams{Context: "ListBackupsInput"} 15714 if s.ExclusiveStartBackupArn != nil && len(*s.ExclusiveStartBackupArn) < 37 { 15715 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartBackupArn", 37)) 15716 } 15717 if s.Limit != nil && *s.Limit < 1 { 15718 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 15719 } 15720 if s.TableName != nil && len(*s.TableName) < 3 { 15721 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 15722 } 15723 15724 if invalidParams.Len() > 0 { 15725 return invalidParams 15726 } 15727 return nil 15728 } 15729 15730 // SetBackupType sets the BackupType field's value. 15731 func (s *ListBackupsInput) SetBackupType(v string) *ListBackupsInput { 15732 s.BackupType = &v 15733 return s 15734 } 15735 15736 // SetExclusiveStartBackupArn sets the ExclusiveStartBackupArn field's value. 15737 func (s *ListBackupsInput) SetExclusiveStartBackupArn(v string) *ListBackupsInput { 15738 s.ExclusiveStartBackupArn = &v 15739 return s 15740 } 15741 15742 // SetLimit sets the Limit field's value. 15743 func (s *ListBackupsInput) SetLimit(v int64) *ListBackupsInput { 15744 s.Limit = &v 15745 return s 15746 } 15747 15748 // SetTableName sets the TableName field's value. 15749 func (s *ListBackupsInput) SetTableName(v string) *ListBackupsInput { 15750 s.TableName = &v 15751 return s 15752 } 15753 15754 // SetTimeRangeLowerBound sets the TimeRangeLowerBound field's value. 15755 func (s *ListBackupsInput) SetTimeRangeLowerBound(v time.Time) *ListBackupsInput { 15756 s.TimeRangeLowerBound = &v 15757 return s 15758 } 15759 15760 // SetTimeRangeUpperBound sets the TimeRangeUpperBound field's value. 15761 func (s *ListBackupsInput) SetTimeRangeUpperBound(v time.Time) *ListBackupsInput { 15762 s.TimeRangeUpperBound = &v 15763 return s 15764 } 15765 15766 type ListBackupsOutput struct { 15767 _ struct{} `type:"structure"` 15768 15769 // List of BackupSummary objects. 15770 BackupSummaries []*BackupSummary `type:"list"` 15771 15772 // The ARN of the backup last evaluated when the current page of results was 15773 // returned, inclusive of the current page of results. This value may be specified 15774 // as the ExclusiveStartBackupArn of a new ListBackups operation in order to 15775 // fetch the next page of results. 15776 // 15777 // If LastEvaluatedBackupArn is empty, then the last page of results has been 15778 // processed and there are no more results to be retrieved. 15779 // 15780 // If LastEvaluatedBackupArn is not empty, this may or may not indicate that 15781 // there is more data to be returned. All results are guaranteed to have been 15782 // returned if and only if no value for LastEvaluatedBackupArn is returned. 15783 LastEvaluatedBackupArn *string `min:"37" type:"string"` 15784 } 15785 15786 // String returns the string representation. 15787 // 15788 // API parameter values that are decorated as "sensitive" in the API will not 15789 // be included in the string output. The member name will be present, but the 15790 // value will be replaced with "sensitive". 15791 func (s ListBackupsOutput) String() string { 15792 return awsutil.Prettify(s) 15793 } 15794 15795 // GoString returns the string representation. 15796 // 15797 // API parameter values that are decorated as "sensitive" in the API will not 15798 // be included in the string output. The member name will be present, but the 15799 // value will be replaced with "sensitive". 15800 func (s ListBackupsOutput) GoString() string { 15801 return s.String() 15802 } 15803 15804 // SetBackupSummaries sets the BackupSummaries field's value. 15805 func (s *ListBackupsOutput) SetBackupSummaries(v []*BackupSummary) *ListBackupsOutput { 15806 s.BackupSummaries = v 15807 return s 15808 } 15809 15810 // SetLastEvaluatedBackupArn sets the LastEvaluatedBackupArn field's value. 15811 func (s *ListBackupsOutput) SetLastEvaluatedBackupArn(v string) *ListBackupsOutput { 15812 s.LastEvaluatedBackupArn = &v 15813 return s 15814 } 15815 15816 type ListContributorInsightsInput struct { 15817 _ struct{} `type:"structure"` 15818 15819 // Maximum number of results to return per page. 15820 MaxResults *int64 `type:"integer"` 15821 15822 // A token to for the desired page, if there is one. 15823 NextToken *string `type:"string"` 15824 15825 // The name of the table. 15826 TableName *string `min:"3" type:"string"` 15827 } 15828 15829 // String returns the string representation. 15830 // 15831 // API parameter values that are decorated as "sensitive" in the API will not 15832 // be included in the string output. The member name will be present, but the 15833 // value will be replaced with "sensitive". 15834 func (s ListContributorInsightsInput) String() string { 15835 return awsutil.Prettify(s) 15836 } 15837 15838 // GoString returns the string representation. 15839 // 15840 // API parameter values that are decorated as "sensitive" in the API will not 15841 // be included in the string output. The member name will be present, but the 15842 // value will be replaced with "sensitive". 15843 func (s ListContributorInsightsInput) GoString() string { 15844 return s.String() 15845 } 15846 15847 // Validate inspects the fields of the type to determine if they are valid. 15848 func (s *ListContributorInsightsInput) Validate() error { 15849 invalidParams := request.ErrInvalidParams{Context: "ListContributorInsightsInput"} 15850 if s.TableName != nil && len(*s.TableName) < 3 { 15851 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 15852 } 15853 15854 if invalidParams.Len() > 0 { 15855 return invalidParams 15856 } 15857 return nil 15858 } 15859 15860 // SetMaxResults sets the MaxResults field's value. 15861 func (s *ListContributorInsightsInput) SetMaxResults(v int64) *ListContributorInsightsInput { 15862 s.MaxResults = &v 15863 return s 15864 } 15865 15866 // SetNextToken sets the NextToken field's value. 15867 func (s *ListContributorInsightsInput) SetNextToken(v string) *ListContributorInsightsInput { 15868 s.NextToken = &v 15869 return s 15870 } 15871 15872 // SetTableName sets the TableName field's value. 15873 func (s *ListContributorInsightsInput) SetTableName(v string) *ListContributorInsightsInput { 15874 s.TableName = &v 15875 return s 15876 } 15877 15878 type ListContributorInsightsOutput struct { 15879 _ struct{} `type:"structure"` 15880 15881 // A list of ContributorInsightsSummary. 15882 ContributorInsightsSummaries []*ContributorInsightsSummary `type:"list"` 15883 15884 // A token to go to the next page if there is one. 15885 NextToken *string `type:"string"` 15886 } 15887 15888 // String returns the string representation. 15889 // 15890 // API parameter values that are decorated as "sensitive" in the API will not 15891 // be included in the string output. The member name will be present, but the 15892 // value will be replaced with "sensitive". 15893 func (s ListContributorInsightsOutput) String() string { 15894 return awsutil.Prettify(s) 15895 } 15896 15897 // GoString returns the string representation. 15898 // 15899 // API parameter values that are decorated as "sensitive" in the API will not 15900 // be included in the string output. The member name will be present, but the 15901 // value will be replaced with "sensitive". 15902 func (s ListContributorInsightsOutput) GoString() string { 15903 return s.String() 15904 } 15905 15906 // SetContributorInsightsSummaries sets the ContributorInsightsSummaries field's value. 15907 func (s *ListContributorInsightsOutput) SetContributorInsightsSummaries(v []*ContributorInsightsSummary) *ListContributorInsightsOutput { 15908 s.ContributorInsightsSummaries = v 15909 return s 15910 } 15911 15912 // SetNextToken sets the NextToken field's value. 15913 func (s *ListContributorInsightsOutput) SetNextToken(v string) *ListContributorInsightsOutput { 15914 s.NextToken = &v 15915 return s 15916 } 15917 15918 type ListExportsInput struct { 15919 _ struct{} `type:"structure"` 15920 15921 // Maximum number of results to return per page. 15922 MaxResults *int64 `min:"1" type:"integer"` 15923 15924 // An optional string that, if supplied, must be copied from the output of a 15925 // previous call to ListExports. When provided in this manner, the API fetches 15926 // the next page of results. 15927 NextToken *string `type:"string"` 15928 15929 // The Amazon Resource Name (ARN) associated with the exported table. 15930 TableArn *string `type:"string"` 15931 } 15932 15933 // String returns the string representation. 15934 // 15935 // API parameter values that are decorated as "sensitive" in the API will not 15936 // be included in the string output. The member name will be present, but the 15937 // value will be replaced with "sensitive". 15938 func (s ListExportsInput) String() string { 15939 return awsutil.Prettify(s) 15940 } 15941 15942 // GoString returns the string representation. 15943 // 15944 // API parameter values that are decorated as "sensitive" in the API will not 15945 // be included in the string output. The member name will be present, but the 15946 // value will be replaced with "sensitive". 15947 func (s ListExportsInput) GoString() string { 15948 return s.String() 15949 } 15950 15951 // Validate inspects the fields of the type to determine if they are valid. 15952 func (s *ListExportsInput) Validate() error { 15953 invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"} 15954 if s.MaxResults != nil && *s.MaxResults < 1 { 15955 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 15956 } 15957 15958 if invalidParams.Len() > 0 { 15959 return invalidParams 15960 } 15961 return nil 15962 } 15963 15964 // SetMaxResults sets the MaxResults field's value. 15965 func (s *ListExportsInput) SetMaxResults(v int64) *ListExportsInput { 15966 s.MaxResults = &v 15967 return s 15968 } 15969 15970 // SetNextToken sets the NextToken field's value. 15971 func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput { 15972 s.NextToken = &v 15973 return s 15974 } 15975 15976 // SetTableArn sets the TableArn field's value. 15977 func (s *ListExportsInput) SetTableArn(v string) *ListExportsInput { 15978 s.TableArn = &v 15979 return s 15980 } 15981 15982 type ListExportsOutput struct { 15983 _ struct{} `type:"structure"` 15984 15985 // A list of ExportSummary objects. 15986 ExportSummaries []*ExportSummary `type:"list"` 15987 15988 // If this value is returned, there are additional results to be displayed. 15989 // To retrieve them, call ListExports again, with NextToken set to this value. 15990 NextToken *string `type:"string"` 15991 } 15992 15993 // String returns the string representation. 15994 // 15995 // API parameter values that are decorated as "sensitive" in the API will not 15996 // be included in the string output. The member name will be present, but the 15997 // value will be replaced with "sensitive". 15998 func (s ListExportsOutput) String() string { 15999 return awsutil.Prettify(s) 16000 } 16001 16002 // GoString returns the string representation. 16003 // 16004 // API parameter values that are decorated as "sensitive" in the API will not 16005 // be included in the string output. The member name will be present, but the 16006 // value will be replaced with "sensitive". 16007 func (s ListExportsOutput) GoString() string { 16008 return s.String() 16009 } 16010 16011 // SetExportSummaries sets the ExportSummaries field's value. 16012 func (s *ListExportsOutput) SetExportSummaries(v []*ExportSummary) *ListExportsOutput { 16013 s.ExportSummaries = v 16014 return s 16015 } 16016 16017 // SetNextToken sets the NextToken field's value. 16018 func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput { 16019 s.NextToken = &v 16020 return s 16021 } 16022 16023 type ListGlobalTablesInput struct { 16024 _ struct{} `type:"structure"` 16025 16026 // The first global table name that this operation will evaluate. 16027 ExclusiveStartGlobalTableName *string `min:"3" type:"string"` 16028 16029 // The maximum number of table names to return, if the parameter is not specified 16030 // DynamoDB defaults to 100. 16031 // 16032 // If the number of global tables DynamoDB finds reaches this limit, it stops 16033 // the operation and returns the table names collected up to that point, with 16034 // a table name in the LastEvaluatedGlobalTableName to apply in a subsequent 16035 // operation to the ExclusiveStartGlobalTableName parameter. 16036 Limit *int64 `min:"1" type:"integer"` 16037 16038 // Lists the global tables in a specific Region. 16039 RegionName *string `type:"string"` 16040 } 16041 16042 // String returns the string representation. 16043 // 16044 // API parameter values that are decorated as "sensitive" in the API will not 16045 // be included in the string output. The member name will be present, but the 16046 // value will be replaced with "sensitive". 16047 func (s ListGlobalTablesInput) String() string { 16048 return awsutil.Prettify(s) 16049 } 16050 16051 // GoString returns the string representation. 16052 // 16053 // API parameter values that are decorated as "sensitive" in the API will not 16054 // be included in the string output. The member name will be present, but the 16055 // value will be replaced with "sensitive". 16056 func (s ListGlobalTablesInput) GoString() string { 16057 return s.String() 16058 } 16059 16060 // Validate inspects the fields of the type to determine if they are valid. 16061 func (s *ListGlobalTablesInput) Validate() error { 16062 invalidParams := request.ErrInvalidParams{Context: "ListGlobalTablesInput"} 16063 if s.ExclusiveStartGlobalTableName != nil && len(*s.ExclusiveStartGlobalTableName) < 3 { 16064 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartGlobalTableName", 3)) 16065 } 16066 if s.Limit != nil && *s.Limit < 1 { 16067 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 16068 } 16069 16070 if invalidParams.Len() > 0 { 16071 return invalidParams 16072 } 16073 return nil 16074 } 16075 16076 // SetExclusiveStartGlobalTableName sets the ExclusiveStartGlobalTableName field's value. 16077 func (s *ListGlobalTablesInput) SetExclusiveStartGlobalTableName(v string) *ListGlobalTablesInput { 16078 s.ExclusiveStartGlobalTableName = &v 16079 return s 16080 } 16081 16082 // SetLimit sets the Limit field's value. 16083 func (s *ListGlobalTablesInput) SetLimit(v int64) *ListGlobalTablesInput { 16084 s.Limit = &v 16085 return s 16086 } 16087 16088 // SetRegionName sets the RegionName field's value. 16089 func (s *ListGlobalTablesInput) SetRegionName(v string) *ListGlobalTablesInput { 16090 s.RegionName = &v 16091 return s 16092 } 16093 16094 type ListGlobalTablesOutput struct { 16095 _ struct{} `type:"structure"` 16096 16097 // List of global table names. 16098 GlobalTables []*GlobalTable `type:"list"` 16099 16100 // Last evaluated global table name. 16101 LastEvaluatedGlobalTableName *string `min:"3" type:"string"` 16102 } 16103 16104 // String returns the string representation. 16105 // 16106 // API parameter values that are decorated as "sensitive" in the API will not 16107 // be included in the string output. The member name will be present, but the 16108 // value will be replaced with "sensitive". 16109 func (s ListGlobalTablesOutput) String() string { 16110 return awsutil.Prettify(s) 16111 } 16112 16113 // GoString returns the string representation. 16114 // 16115 // API parameter values that are decorated as "sensitive" in the API will not 16116 // be included in the string output. The member name will be present, but the 16117 // value will be replaced with "sensitive". 16118 func (s ListGlobalTablesOutput) GoString() string { 16119 return s.String() 16120 } 16121 16122 // SetGlobalTables sets the GlobalTables field's value. 16123 func (s *ListGlobalTablesOutput) SetGlobalTables(v []*GlobalTable) *ListGlobalTablesOutput { 16124 s.GlobalTables = v 16125 return s 16126 } 16127 16128 // SetLastEvaluatedGlobalTableName sets the LastEvaluatedGlobalTableName field's value. 16129 func (s *ListGlobalTablesOutput) SetLastEvaluatedGlobalTableName(v string) *ListGlobalTablesOutput { 16130 s.LastEvaluatedGlobalTableName = &v 16131 return s 16132 } 16133 16134 // Represents the input of a ListTables operation. 16135 type ListTablesInput struct { 16136 _ struct{} `type:"structure"` 16137 16138 // The first table name that this operation will evaluate. Use the value that 16139 // was returned for LastEvaluatedTableName in a previous operation, so that 16140 // you can obtain the next page of results. 16141 ExclusiveStartTableName *string `min:"3" type:"string"` 16142 16143 // A maximum number of table names to return. If this parameter is not specified, 16144 // the limit is 100. 16145 Limit *int64 `min:"1" type:"integer"` 16146 } 16147 16148 // String returns the string representation. 16149 // 16150 // API parameter values that are decorated as "sensitive" in the API will not 16151 // be included in the string output. The member name will be present, but the 16152 // value will be replaced with "sensitive". 16153 func (s ListTablesInput) String() string { 16154 return awsutil.Prettify(s) 16155 } 16156 16157 // GoString returns the string representation. 16158 // 16159 // API parameter values that are decorated as "sensitive" in the API will not 16160 // be included in the string output. The member name will be present, but the 16161 // value will be replaced with "sensitive". 16162 func (s ListTablesInput) GoString() string { 16163 return s.String() 16164 } 16165 16166 // Validate inspects the fields of the type to determine if they are valid. 16167 func (s *ListTablesInput) Validate() error { 16168 invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"} 16169 if s.ExclusiveStartTableName != nil && len(*s.ExclusiveStartTableName) < 3 { 16170 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTableName", 3)) 16171 } 16172 if s.Limit != nil && *s.Limit < 1 { 16173 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 16174 } 16175 16176 if invalidParams.Len() > 0 { 16177 return invalidParams 16178 } 16179 return nil 16180 } 16181 16182 // SetExclusiveStartTableName sets the ExclusiveStartTableName field's value. 16183 func (s *ListTablesInput) SetExclusiveStartTableName(v string) *ListTablesInput { 16184 s.ExclusiveStartTableName = &v 16185 return s 16186 } 16187 16188 // SetLimit sets the Limit field's value. 16189 func (s *ListTablesInput) SetLimit(v int64) *ListTablesInput { 16190 s.Limit = &v 16191 return s 16192 } 16193 16194 // Represents the output of a ListTables operation. 16195 type ListTablesOutput struct { 16196 _ struct{} `type:"structure"` 16197 16198 // The name of the last table in the current page of results. Use this value 16199 // as the ExclusiveStartTableName in a new request to obtain the next page of 16200 // results, until all the table names are returned. 16201 // 16202 // If you do not receive a LastEvaluatedTableName value in the response, this 16203 // means that there are no more table names to be retrieved. 16204 LastEvaluatedTableName *string `min:"3" type:"string"` 16205 16206 // The names of the tables associated with the current account at the current 16207 // endpoint. The maximum size of this array is 100. 16208 // 16209 // If LastEvaluatedTableName also appears in the output, you can use this value 16210 // as the ExclusiveStartTableName parameter in a subsequent ListTables request 16211 // and obtain the next page of results. 16212 TableNames []*string `type:"list"` 16213 } 16214 16215 // String returns the string representation. 16216 // 16217 // API parameter values that are decorated as "sensitive" in the API will not 16218 // be included in the string output. The member name will be present, but the 16219 // value will be replaced with "sensitive". 16220 func (s ListTablesOutput) String() string { 16221 return awsutil.Prettify(s) 16222 } 16223 16224 // GoString returns the string representation. 16225 // 16226 // API parameter values that are decorated as "sensitive" in the API will not 16227 // be included in the string output. The member name will be present, but the 16228 // value will be replaced with "sensitive". 16229 func (s ListTablesOutput) GoString() string { 16230 return s.String() 16231 } 16232 16233 // SetLastEvaluatedTableName sets the LastEvaluatedTableName field's value. 16234 func (s *ListTablesOutput) SetLastEvaluatedTableName(v string) *ListTablesOutput { 16235 s.LastEvaluatedTableName = &v 16236 return s 16237 } 16238 16239 // SetTableNames sets the TableNames field's value. 16240 func (s *ListTablesOutput) SetTableNames(v []*string) *ListTablesOutput { 16241 s.TableNames = v 16242 return s 16243 } 16244 16245 type ListTagsOfResourceInput struct { 16246 _ struct{} `type:"structure"` 16247 16248 // An optional string that, if supplied, must be copied from the output of a 16249 // previous call to ListTagOfResource. When provided in this manner, this API 16250 // fetches the next page of results. 16251 NextToken *string `type:"string"` 16252 16253 // The Amazon DynamoDB resource with tags to be listed. This value is an Amazon 16254 // Resource Name (ARN). 16255 // 16256 // ResourceArn is a required field 16257 ResourceArn *string `min:"1" type:"string" required:"true"` 16258 } 16259 16260 // String returns the string representation. 16261 // 16262 // API parameter values that are decorated as "sensitive" in the API will not 16263 // be included in the string output. The member name will be present, but the 16264 // value will be replaced with "sensitive". 16265 func (s ListTagsOfResourceInput) String() string { 16266 return awsutil.Prettify(s) 16267 } 16268 16269 // GoString returns the string representation. 16270 // 16271 // API parameter values that are decorated as "sensitive" in the API will not 16272 // be included in the string output. The member name will be present, but the 16273 // value will be replaced with "sensitive". 16274 func (s ListTagsOfResourceInput) GoString() string { 16275 return s.String() 16276 } 16277 16278 // Validate inspects the fields of the type to determine if they are valid. 16279 func (s *ListTagsOfResourceInput) Validate() error { 16280 invalidParams := request.ErrInvalidParams{Context: "ListTagsOfResourceInput"} 16281 if s.ResourceArn == nil { 16282 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 16283 } 16284 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 16285 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 16286 } 16287 16288 if invalidParams.Len() > 0 { 16289 return invalidParams 16290 } 16291 return nil 16292 } 16293 16294 // SetNextToken sets the NextToken field's value. 16295 func (s *ListTagsOfResourceInput) SetNextToken(v string) *ListTagsOfResourceInput { 16296 s.NextToken = &v 16297 return s 16298 } 16299 16300 // SetResourceArn sets the ResourceArn field's value. 16301 func (s *ListTagsOfResourceInput) SetResourceArn(v string) *ListTagsOfResourceInput { 16302 s.ResourceArn = &v 16303 return s 16304 } 16305 16306 type ListTagsOfResourceOutput struct { 16307 _ struct{} `type:"structure"` 16308 16309 // If this value is returned, there are additional results to be displayed. 16310 // To retrieve them, call ListTagsOfResource again, with NextToken set to this 16311 // value. 16312 NextToken *string `type:"string"` 16313 16314 // The tags currently associated with the Amazon DynamoDB resource. 16315 Tags []*Tag `type:"list"` 16316 } 16317 16318 // String returns the string representation. 16319 // 16320 // API parameter values that are decorated as "sensitive" in the API will not 16321 // be included in the string output. The member name will be present, but the 16322 // value will be replaced with "sensitive". 16323 func (s ListTagsOfResourceOutput) String() string { 16324 return awsutil.Prettify(s) 16325 } 16326 16327 // GoString returns the string representation. 16328 // 16329 // API parameter values that are decorated as "sensitive" in the API will not 16330 // be included in the string output. The member name will be present, but the 16331 // value will be replaced with "sensitive". 16332 func (s ListTagsOfResourceOutput) GoString() string { 16333 return s.String() 16334 } 16335 16336 // SetNextToken sets the NextToken field's value. 16337 func (s *ListTagsOfResourceOutput) SetNextToken(v string) *ListTagsOfResourceOutput { 16338 s.NextToken = &v 16339 return s 16340 } 16341 16342 // SetTags sets the Tags field's value. 16343 func (s *ListTagsOfResourceOutput) SetTags(v []*Tag) *ListTagsOfResourceOutput { 16344 s.Tags = v 16345 return s 16346 } 16347 16348 // Represents the properties of a local secondary index. 16349 type LocalSecondaryIndex struct { 16350 _ struct{} `type:"structure"` 16351 16352 // The name of the local secondary index. The name must be unique among all 16353 // other indexes on this table. 16354 // 16355 // IndexName is a required field 16356 IndexName *string `min:"3" type:"string" required:"true"` 16357 16358 // The complete key schema for the local secondary index, consisting of one 16359 // or more pairs of attribute names and key types: 16360 // 16361 // * HASH - partition key 16362 // 16363 // * RANGE - sort key 16364 // 16365 // The partition key of an item is also known as its hash attribute. The term 16366 // "hash attribute" derives from DynamoDB's usage of an internal hash function 16367 // to evenly distribute data items across partitions, based on their partition 16368 // key values. 16369 // 16370 // The sort key of an item is also known as its range attribute. The term "range 16371 // attribute" derives from the way DynamoDB stores items with the same partition 16372 // key physically close together, in sorted order by the sort key value. 16373 // 16374 // KeySchema is a required field 16375 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 16376 16377 // Represents attributes that are copied (projected) from the table into the 16378 // local secondary index. These are in addition to the primary key attributes 16379 // and index key attributes, which are automatically projected. 16380 // 16381 // Projection is a required field 16382 Projection *Projection `type:"structure" required:"true"` 16383 } 16384 16385 // String returns the string representation. 16386 // 16387 // API parameter values that are decorated as "sensitive" in the API will not 16388 // be included in the string output. The member name will be present, but the 16389 // value will be replaced with "sensitive". 16390 func (s LocalSecondaryIndex) String() string { 16391 return awsutil.Prettify(s) 16392 } 16393 16394 // GoString returns the string representation. 16395 // 16396 // API parameter values that are decorated as "sensitive" in the API will not 16397 // be included in the string output. The member name will be present, but the 16398 // value will be replaced with "sensitive". 16399 func (s LocalSecondaryIndex) GoString() string { 16400 return s.String() 16401 } 16402 16403 // Validate inspects the fields of the type to determine if they are valid. 16404 func (s *LocalSecondaryIndex) Validate() error { 16405 invalidParams := request.ErrInvalidParams{Context: "LocalSecondaryIndex"} 16406 if s.IndexName == nil { 16407 invalidParams.Add(request.NewErrParamRequired("IndexName")) 16408 } 16409 if s.IndexName != nil && len(*s.IndexName) < 3 { 16410 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 16411 } 16412 if s.KeySchema == nil { 16413 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 16414 } 16415 if s.KeySchema != nil && len(s.KeySchema) < 1 { 16416 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 16417 } 16418 if s.Projection == nil { 16419 invalidParams.Add(request.NewErrParamRequired("Projection")) 16420 } 16421 if s.KeySchema != nil { 16422 for i, v := range s.KeySchema { 16423 if v == nil { 16424 continue 16425 } 16426 if err := v.Validate(); err != nil { 16427 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 16428 } 16429 } 16430 } 16431 if s.Projection != nil { 16432 if err := s.Projection.Validate(); err != nil { 16433 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 16434 } 16435 } 16436 16437 if invalidParams.Len() > 0 { 16438 return invalidParams 16439 } 16440 return nil 16441 } 16442 16443 // SetIndexName sets the IndexName field's value. 16444 func (s *LocalSecondaryIndex) SetIndexName(v string) *LocalSecondaryIndex { 16445 s.IndexName = &v 16446 return s 16447 } 16448 16449 // SetKeySchema sets the KeySchema field's value. 16450 func (s *LocalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndex { 16451 s.KeySchema = v 16452 return s 16453 } 16454 16455 // SetProjection sets the Projection field's value. 16456 func (s *LocalSecondaryIndex) SetProjection(v *Projection) *LocalSecondaryIndex { 16457 s.Projection = v 16458 return s 16459 } 16460 16461 // Represents the properties of a local secondary index. 16462 type LocalSecondaryIndexDescription struct { 16463 _ struct{} `type:"structure"` 16464 16465 // The Amazon Resource Name (ARN) that uniquely identifies the index. 16466 IndexArn *string `type:"string"` 16467 16468 // Represents the name of the local secondary index. 16469 IndexName *string `min:"3" type:"string"` 16470 16471 // The total size of the specified index, in bytes. DynamoDB updates this value 16472 // approximately every six hours. Recent changes might not be reflected in this 16473 // value. 16474 IndexSizeBytes *int64 `type:"long"` 16475 16476 // The number of items in the specified index. DynamoDB updates this value approximately 16477 // every six hours. Recent changes might not be reflected in this value. 16478 ItemCount *int64 `type:"long"` 16479 16480 // The complete key schema for the local secondary index, consisting of one 16481 // or more pairs of attribute names and key types: 16482 // 16483 // * HASH - partition key 16484 // 16485 // * RANGE - sort key 16486 // 16487 // The partition key of an item is also known as its hash attribute. The term 16488 // "hash attribute" derives from DynamoDB's usage of an internal hash function 16489 // to evenly distribute data items across partitions, based on their partition 16490 // key values. 16491 // 16492 // The sort key of an item is also known as its range attribute. The term "range 16493 // attribute" derives from the way DynamoDB stores items with the same partition 16494 // key physically close together, in sorted order by the sort key value. 16495 KeySchema []*KeySchemaElement `min:"1" type:"list"` 16496 16497 // Represents attributes that are copied (projected) from the table into the 16498 // global secondary index. These are in addition to the primary key attributes 16499 // and index key attributes, which are automatically projected. 16500 Projection *Projection `type:"structure"` 16501 } 16502 16503 // String returns the string representation. 16504 // 16505 // API parameter values that are decorated as "sensitive" in the API will not 16506 // be included in the string output. The member name will be present, but the 16507 // value will be replaced with "sensitive". 16508 func (s LocalSecondaryIndexDescription) String() string { 16509 return awsutil.Prettify(s) 16510 } 16511 16512 // GoString returns the string representation. 16513 // 16514 // API parameter values that are decorated as "sensitive" in the API will not 16515 // be included in the string output. The member name will be present, but the 16516 // value will be replaced with "sensitive". 16517 func (s LocalSecondaryIndexDescription) GoString() string { 16518 return s.String() 16519 } 16520 16521 // SetIndexArn sets the IndexArn field's value. 16522 func (s *LocalSecondaryIndexDescription) SetIndexArn(v string) *LocalSecondaryIndexDescription { 16523 s.IndexArn = &v 16524 return s 16525 } 16526 16527 // SetIndexName sets the IndexName field's value. 16528 func (s *LocalSecondaryIndexDescription) SetIndexName(v string) *LocalSecondaryIndexDescription { 16529 s.IndexName = &v 16530 return s 16531 } 16532 16533 // SetIndexSizeBytes sets the IndexSizeBytes field's value. 16534 func (s *LocalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *LocalSecondaryIndexDescription { 16535 s.IndexSizeBytes = &v 16536 return s 16537 } 16538 16539 // SetItemCount sets the ItemCount field's value. 16540 func (s *LocalSecondaryIndexDescription) SetItemCount(v int64) *LocalSecondaryIndexDescription { 16541 s.ItemCount = &v 16542 return s 16543 } 16544 16545 // SetKeySchema sets the KeySchema field's value. 16546 func (s *LocalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexDescription { 16547 s.KeySchema = v 16548 return s 16549 } 16550 16551 // SetProjection sets the Projection field's value. 16552 func (s *LocalSecondaryIndexDescription) SetProjection(v *Projection) *LocalSecondaryIndexDescription { 16553 s.Projection = v 16554 return s 16555 } 16556 16557 // Represents the properties of a local secondary index for the table when the 16558 // backup was created. 16559 type LocalSecondaryIndexInfo struct { 16560 _ struct{} `type:"structure"` 16561 16562 // Represents the name of the local secondary index. 16563 IndexName *string `min:"3" type:"string"` 16564 16565 // The complete key schema for a local secondary index, which consists of one 16566 // or more pairs of attribute names and key types: 16567 // 16568 // * HASH - partition key 16569 // 16570 // * RANGE - sort key 16571 // 16572 // The partition key of an item is also known as its hash attribute. The term 16573 // "hash attribute" derives from DynamoDB's usage of an internal hash function 16574 // to evenly distribute data items across partitions, based on their partition 16575 // key values. 16576 // 16577 // The sort key of an item is also known as its range attribute. The term "range 16578 // attribute" derives from the way DynamoDB stores items with the same partition 16579 // key physically close together, in sorted order by the sort key value. 16580 KeySchema []*KeySchemaElement `min:"1" type:"list"` 16581 16582 // Represents attributes that are copied (projected) from the table into the 16583 // global secondary index. These are in addition to the primary key attributes 16584 // and index key attributes, which are automatically projected. 16585 Projection *Projection `type:"structure"` 16586 } 16587 16588 // String returns the string representation. 16589 // 16590 // API parameter values that are decorated as "sensitive" in the API will not 16591 // be included in the string output. The member name will be present, but the 16592 // value will be replaced with "sensitive". 16593 func (s LocalSecondaryIndexInfo) String() string { 16594 return awsutil.Prettify(s) 16595 } 16596 16597 // GoString returns the string representation. 16598 // 16599 // API parameter values that are decorated as "sensitive" in the API will not 16600 // be included in the string output. The member name will be present, but the 16601 // value will be replaced with "sensitive". 16602 func (s LocalSecondaryIndexInfo) GoString() string { 16603 return s.String() 16604 } 16605 16606 // SetIndexName sets the IndexName field's value. 16607 func (s *LocalSecondaryIndexInfo) SetIndexName(v string) *LocalSecondaryIndexInfo { 16608 s.IndexName = &v 16609 return s 16610 } 16611 16612 // SetKeySchema sets the KeySchema field's value. 16613 func (s *LocalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexInfo { 16614 s.KeySchema = v 16615 return s 16616 } 16617 16618 // SetProjection sets the Projection field's value. 16619 func (s *LocalSecondaryIndexInfo) SetProjection(v *Projection) *LocalSecondaryIndexInfo { 16620 s.Projection = v 16621 return s 16622 } 16623 16624 // Represents a PartiQL statment that uses parameters. 16625 type ParameterizedStatement struct { 16626 _ struct{} `type:"structure"` 16627 16628 // The parameter values. 16629 Parameters []*AttributeValue `min:"1" type:"list"` 16630 16631 // A PartiQL statment that uses parameters. 16632 // 16633 // Statement is a required field 16634 Statement *string `min:"1" type:"string" required:"true"` 16635 } 16636 16637 // String returns the string representation. 16638 // 16639 // API parameter values that are decorated as "sensitive" in the API will not 16640 // be included in the string output. The member name will be present, but the 16641 // value will be replaced with "sensitive". 16642 func (s ParameterizedStatement) String() string { 16643 return awsutil.Prettify(s) 16644 } 16645 16646 // GoString returns the string representation. 16647 // 16648 // API parameter values that are decorated as "sensitive" in the API will not 16649 // be included in the string output. The member name will be present, but the 16650 // value will be replaced with "sensitive". 16651 func (s ParameterizedStatement) GoString() string { 16652 return s.String() 16653 } 16654 16655 // Validate inspects the fields of the type to determine if they are valid. 16656 func (s *ParameterizedStatement) Validate() error { 16657 invalidParams := request.ErrInvalidParams{Context: "ParameterizedStatement"} 16658 if s.Parameters != nil && len(s.Parameters) < 1 { 16659 invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) 16660 } 16661 if s.Statement == nil { 16662 invalidParams.Add(request.NewErrParamRequired("Statement")) 16663 } 16664 if s.Statement != nil && len(*s.Statement) < 1 { 16665 invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) 16666 } 16667 16668 if invalidParams.Len() > 0 { 16669 return invalidParams 16670 } 16671 return nil 16672 } 16673 16674 // SetParameters sets the Parameters field's value. 16675 func (s *ParameterizedStatement) SetParameters(v []*AttributeValue) *ParameterizedStatement { 16676 s.Parameters = v 16677 return s 16678 } 16679 16680 // SetStatement sets the Statement field's value. 16681 func (s *ParameterizedStatement) SetStatement(v string) *ParameterizedStatement { 16682 s.Statement = &v 16683 return s 16684 } 16685 16686 // The description of the point in time settings applied to the table. 16687 type PointInTimeRecoveryDescription struct { 16688 _ struct{} `type:"structure"` 16689 16690 // Specifies the earliest point in time you can restore your table to. You can 16691 // restore your table to any point in time during the last 35 days. 16692 EarliestRestorableDateTime *time.Time `type:"timestamp"` 16693 16694 // LatestRestorableDateTime is typically 5 minutes before the current time. 16695 LatestRestorableDateTime *time.Time `type:"timestamp"` 16696 16697 // The current state of point in time recovery: 16698 // 16699 // * ENABLING - Point in time recovery is being enabled. 16700 // 16701 // * ENABLED - Point in time recovery is enabled. 16702 // 16703 // * DISABLED - Point in time recovery is disabled. 16704 PointInTimeRecoveryStatus *string `type:"string" enum:"PointInTimeRecoveryStatus"` 16705 } 16706 16707 // String returns the string representation. 16708 // 16709 // API parameter values that are decorated as "sensitive" in the API will not 16710 // be included in the string output. The member name will be present, but the 16711 // value will be replaced with "sensitive". 16712 func (s PointInTimeRecoveryDescription) String() string { 16713 return awsutil.Prettify(s) 16714 } 16715 16716 // GoString returns the string representation. 16717 // 16718 // API parameter values that are decorated as "sensitive" in the API will not 16719 // be included in the string output. The member name will be present, but the 16720 // value will be replaced with "sensitive". 16721 func (s PointInTimeRecoveryDescription) GoString() string { 16722 return s.String() 16723 } 16724 16725 // SetEarliestRestorableDateTime sets the EarliestRestorableDateTime field's value. 16726 func (s *PointInTimeRecoveryDescription) SetEarliestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription { 16727 s.EarliestRestorableDateTime = &v 16728 return s 16729 } 16730 16731 // SetLatestRestorableDateTime sets the LatestRestorableDateTime field's value. 16732 func (s *PointInTimeRecoveryDescription) SetLatestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription { 16733 s.LatestRestorableDateTime = &v 16734 return s 16735 } 16736 16737 // SetPointInTimeRecoveryStatus sets the PointInTimeRecoveryStatus field's value. 16738 func (s *PointInTimeRecoveryDescription) SetPointInTimeRecoveryStatus(v string) *PointInTimeRecoveryDescription { 16739 s.PointInTimeRecoveryStatus = &v 16740 return s 16741 } 16742 16743 // Represents the settings used to enable point in time recovery. 16744 type PointInTimeRecoverySpecification struct { 16745 _ struct{} `type:"structure"` 16746 16747 // Indicates whether point in time recovery is enabled (true) or disabled (false) 16748 // on the table. 16749 // 16750 // PointInTimeRecoveryEnabled is a required field 16751 PointInTimeRecoveryEnabled *bool `type:"boolean" required:"true"` 16752 } 16753 16754 // String returns the string representation. 16755 // 16756 // API parameter values that are decorated as "sensitive" in the API will not 16757 // be included in the string output. The member name will be present, but the 16758 // value will be replaced with "sensitive". 16759 func (s PointInTimeRecoverySpecification) String() string { 16760 return awsutil.Prettify(s) 16761 } 16762 16763 // GoString returns the string representation. 16764 // 16765 // API parameter values that are decorated as "sensitive" in the API will not 16766 // be included in the string output. The member name will be present, but the 16767 // value will be replaced with "sensitive". 16768 func (s PointInTimeRecoverySpecification) GoString() string { 16769 return s.String() 16770 } 16771 16772 // Validate inspects the fields of the type to determine if they are valid. 16773 func (s *PointInTimeRecoverySpecification) Validate() error { 16774 invalidParams := request.ErrInvalidParams{Context: "PointInTimeRecoverySpecification"} 16775 if s.PointInTimeRecoveryEnabled == nil { 16776 invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoveryEnabled")) 16777 } 16778 16779 if invalidParams.Len() > 0 { 16780 return invalidParams 16781 } 16782 return nil 16783 } 16784 16785 // SetPointInTimeRecoveryEnabled sets the PointInTimeRecoveryEnabled field's value. 16786 func (s *PointInTimeRecoverySpecification) SetPointInTimeRecoveryEnabled(v bool) *PointInTimeRecoverySpecification { 16787 s.PointInTimeRecoveryEnabled = &v 16788 return s 16789 } 16790 16791 // Point in time recovery has not yet been enabled for this source table. 16792 type PointInTimeRecoveryUnavailableException struct { 16793 _ struct{} `type:"structure"` 16794 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16795 16796 Message_ *string `locationName:"message" type:"string"` 16797 } 16798 16799 // String returns the string representation. 16800 // 16801 // API parameter values that are decorated as "sensitive" in the API will not 16802 // be included in the string output. The member name will be present, but the 16803 // value will be replaced with "sensitive". 16804 func (s PointInTimeRecoveryUnavailableException) String() string { 16805 return awsutil.Prettify(s) 16806 } 16807 16808 // GoString returns the string representation. 16809 // 16810 // API parameter values that are decorated as "sensitive" in the API will not 16811 // be included in the string output. The member name will be present, but the 16812 // value will be replaced with "sensitive". 16813 func (s PointInTimeRecoveryUnavailableException) GoString() string { 16814 return s.String() 16815 } 16816 16817 func newErrorPointInTimeRecoveryUnavailableException(v protocol.ResponseMetadata) error { 16818 return &PointInTimeRecoveryUnavailableException{ 16819 RespMetadata: v, 16820 } 16821 } 16822 16823 // Code returns the exception type name. 16824 func (s *PointInTimeRecoveryUnavailableException) Code() string { 16825 return "PointInTimeRecoveryUnavailableException" 16826 } 16827 16828 // Message returns the exception's message. 16829 func (s *PointInTimeRecoveryUnavailableException) Message() string { 16830 if s.Message_ != nil { 16831 return *s.Message_ 16832 } 16833 return "" 16834 } 16835 16836 // OrigErr always returns nil, satisfies awserr.Error interface. 16837 func (s *PointInTimeRecoveryUnavailableException) OrigErr() error { 16838 return nil 16839 } 16840 16841 func (s *PointInTimeRecoveryUnavailableException) Error() string { 16842 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16843 } 16844 16845 // Status code returns the HTTP status code for the request's response error. 16846 func (s *PointInTimeRecoveryUnavailableException) StatusCode() int { 16847 return s.RespMetadata.StatusCode 16848 } 16849 16850 // RequestID returns the service's response RequestID for request. 16851 func (s *PointInTimeRecoveryUnavailableException) RequestID() string { 16852 return s.RespMetadata.RequestID 16853 } 16854 16855 // Represents attributes that are copied (projected) from the table into an 16856 // index. These are in addition to the primary key attributes and index key 16857 // attributes, which are automatically projected. 16858 type Projection struct { 16859 _ struct{} `type:"structure"` 16860 16861 // Represents the non-key attribute names which will be projected into the index. 16862 // 16863 // For local secondary indexes, the total count of NonKeyAttributes summed across 16864 // all of the local secondary indexes, must not exceed 20. If you project the 16865 // same attribute into two different indexes, this counts as two distinct attributes 16866 // when determining the total. 16867 NonKeyAttributes []*string `min:"1" type:"list"` 16868 16869 // The set of attributes that are projected into the index: 16870 // 16871 // * KEYS_ONLY - Only the index and primary keys are projected into the index. 16872 // 16873 // * INCLUDE - In addition to the attributes described in KEYS_ONLY, the 16874 // secondary index will include other non-key attributes that you specify. 16875 // 16876 // * ALL - All of the table attributes are projected into the index. 16877 ProjectionType *string `type:"string" enum:"ProjectionType"` 16878 } 16879 16880 // String returns the string representation. 16881 // 16882 // API parameter values that are decorated as "sensitive" in the API will not 16883 // be included in the string output. The member name will be present, but the 16884 // value will be replaced with "sensitive". 16885 func (s Projection) String() string { 16886 return awsutil.Prettify(s) 16887 } 16888 16889 // GoString returns the string representation. 16890 // 16891 // API parameter values that are decorated as "sensitive" in the API will not 16892 // be included in the string output. The member name will be present, but the 16893 // value will be replaced with "sensitive". 16894 func (s Projection) GoString() string { 16895 return s.String() 16896 } 16897 16898 // Validate inspects the fields of the type to determine if they are valid. 16899 func (s *Projection) Validate() error { 16900 invalidParams := request.ErrInvalidParams{Context: "Projection"} 16901 if s.NonKeyAttributes != nil && len(s.NonKeyAttributes) < 1 { 16902 invalidParams.Add(request.NewErrParamMinLen("NonKeyAttributes", 1)) 16903 } 16904 16905 if invalidParams.Len() > 0 { 16906 return invalidParams 16907 } 16908 return nil 16909 } 16910 16911 // SetNonKeyAttributes sets the NonKeyAttributes field's value. 16912 func (s *Projection) SetNonKeyAttributes(v []*string) *Projection { 16913 s.NonKeyAttributes = v 16914 return s 16915 } 16916 16917 // SetProjectionType sets the ProjectionType field's value. 16918 func (s *Projection) SetProjectionType(v string) *Projection { 16919 s.ProjectionType = &v 16920 return s 16921 } 16922 16923 // Represents the provisioned throughput settings for a specified table or index. 16924 // The settings can be modified using the UpdateTable operation. 16925 // 16926 // For current minimum and maximum provisioned throughput values, see Service, 16927 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 16928 // in the Amazon DynamoDB Developer Guide. 16929 type ProvisionedThroughput struct { 16930 _ struct{} `type:"structure"` 16931 16932 // The maximum number of strongly consistent reads consumed per second before 16933 // DynamoDB returns a ThrottlingException. For more information, see Specifying 16934 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 16935 // in the Amazon DynamoDB Developer Guide. 16936 // 16937 // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. 16938 // 16939 // ReadCapacityUnits is a required field 16940 ReadCapacityUnits *int64 `min:"1" type:"long" required:"true"` 16941 16942 // The maximum number of writes consumed per second before DynamoDB returns 16943 // a ThrottlingException. For more information, see Specifying Read and Write 16944 // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 16945 // in the Amazon DynamoDB Developer Guide. 16946 // 16947 // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. 16948 // 16949 // WriteCapacityUnits is a required field 16950 WriteCapacityUnits *int64 `min:"1" type:"long" required:"true"` 16951 } 16952 16953 // String returns the string representation. 16954 // 16955 // API parameter values that are decorated as "sensitive" in the API will not 16956 // be included in the string output. The member name will be present, but the 16957 // value will be replaced with "sensitive". 16958 func (s ProvisionedThroughput) String() string { 16959 return awsutil.Prettify(s) 16960 } 16961 16962 // GoString returns the string representation. 16963 // 16964 // API parameter values that are decorated as "sensitive" in the API will not 16965 // be included in the string output. The member name will be present, but the 16966 // value will be replaced with "sensitive". 16967 func (s ProvisionedThroughput) GoString() string { 16968 return s.String() 16969 } 16970 16971 // Validate inspects the fields of the type to determine if they are valid. 16972 func (s *ProvisionedThroughput) Validate() error { 16973 invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughput"} 16974 if s.ReadCapacityUnits == nil { 16975 invalidParams.Add(request.NewErrParamRequired("ReadCapacityUnits")) 16976 } 16977 if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { 16978 invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) 16979 } 16980 if s.WriteCapacityUnits == nil { 16981 invalidParams.Add(request.NewErrParamRequired("WriteCapacityUnits")) 16982 } 16983 if s.WriteCapacityUnits != nil && *s.WriteCapacityUnits < 1 { 16984 invalidParams.Add(request.NewErrParamMinValue("WriteCapacityUnits", 1)) 16985 } 16986 16987 if invalidParams.Len() > 0 { 16988 return invalidParams 16989 } 16990 return nil 16991 } 16992 16993 // SetReadCapacityUnits sets the ReadCapacityUnits field's value. 16994 func (s *ProvisionedThroughput) SetReadCapacityUnits(v int64) *ProvisionedThroughput { 16995 s.ReadCapacityUnits = &v 16996 return s 16997 } 16998 16999 // SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 17000 func (s *ProvisionedThroughput) SetWriteCapacityUnits(v int64) *ProvisionedThroughput { 17001 s.WriteCapacityUnits = &v 17002 return s 17003 } 17004 17005 // Represents the provisioned throughput settings for the table, consisting 17006 // of read and write capacity units, along with data about increases and decreases. 17007 type ProvisionedThroughputDescription struct { 17008 _ struct{} `type:"structure"` 17009 17010 // The date and time of the last provisioned throughput decrease for this table. 17011 LastDecreaseDateTime *time.Time `type:"timestamp"` 17012 17013 // The date and time of the last provisioned throughput increase for this table. 17014 LastIncreaseDateTime *time.Time `type:"timestamp"` 17015 17016 // The number of provisioned throughput decreases for this table during this 17017 // UTC calendar day. For current maximums on provisioned throughput decreases, 17018 // see Service, Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 17019 // in the Amazon DynamoDB Developer Guide. 17020 NumberOfDecreasesToday *int64 `min:"1" type:"long"` 17021 17022 // The maximum number of strongly consistent reads consumed per second before 17023 // DynamoDB returns a ThrottlingException. Eventually consistent reads require 17024 // less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits 17025 // per second provides 100 eventually consistent ReadCapacityUnits per second. 17026 ReadCapacityUnits *int64 `type:"long"` 17027 17028 // The maximum number of writes consumed per second before DynamoDB returns 17029 // a ThrottlingException. 17030 WriteCapacityUnits *int64 `type:"long"` 17031 } 17032 17033 // String returns the string representation. 17034 // 17035 // API parameter values that are decorated as "sensitive" in the API will not 17036 // be included in the string output. The member name will be present, but the 17037 // value will be replaced with "sensitive". 17038 func (s ProvisionedThroughputDescription) String() string { 17039 return awsutil.Prettify(s) 17040 } 17041 17042 // GoString returns the string representation. 17043 // 17044 // API parameter values that are decorated as "sensitive" in the API will not 17045 // be included in the string output. The member name will be present, but the 17046 // value will be replaced with "sensitive". 17047 func (s ProvisionedThroughputDescription) GoString() string { 17048 return s.String() 17049 } 17050 17051 // SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value. 17052 func (s *ProvisionedThroughputDescription) SetLastDecreaseDateTime(v time.Time) *ProvisionedThroughputDescription { 17053 s.LastDecreaseDateTime = &v 17054 return s 17055 } 17056 17057 // SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value. 17058 func (s *ProvisionedThroughputDescription) SetLastIncreaseDateTime(v time.Time) *ProvisionedThroughputDescription { 17059 s.LastIncreaseDateTime = &v 17060 return s 17061 } 17062 17063 // SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value. 17064 func (s *ProvisionedThroughputDescription) SetNumberOfDecreasesToday(v int64) *ProvisionedThroughputDescription { 17065 s.NumberOfDecreasesToday = &v 17066 return s 17067 } 17068 17069 // SetReadCapacityUnits sets the ReadCapacityUnits field's value. 17070 func (s *ProvisionedThroughputDescription) SetReadCapacityUnits(v int64) *ProvisionedThroughputDescription { 17071 s.ReadCapacityUnits = &v 17072 return s 17073 } 17074 17075 // SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 17076 func (s *ProvisionedThroughputDescription) SetWriteCapacityUnits(v int64) *ProvisionedThroughputDescription { 17077 s.WriteCapacityUnits = &v 17078 return s 17079 } 17080 17081 // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 17082 // requests that receive this exception. Your request is eventually successful, 17083 // unless your retry queue is too large to finish. Reduce the frequency of requests 17084 // and use exponential backoff. For more information, go to Error Retries and 17085 // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 17086 // in the Amazon DynamoDB Developer Guide. 17087 type ProvisionedThroughputExceededException struct { 17088 _ struct{} `type:"structure"` 17089 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17090 17091 // You exceeded your maximum allowed provisioned throughput. 17092 Message_ *string `locationName:"message" type:"string"` 17093 } 17094 17095 // String returns the string representation. 17096 // 17097 // API parameter values that are decorated as "sensitive" in the API will not 17098 // be included in the string output. The member name will be present, but the 17099 // value will be replaced with "sensitive". 17100 func (s ProvisionedThroughputExceededException) String() string { 17101 return awsutil.Prettify(s) 17102 } 17103 17104 // GoString returns the string representation. 17105 // 17106 // API parameter values that are decorated as "sensitive" in the API will not 17107 // be included in the string output. The member name will be present, but the 17108 // value will be replaced with "sensitive". 17109 func (s ProvisionedThroughputExceededException) GoString() string { 17110 return s.String() 17111 } 17112 17113 func newErrorProvisionedThroughputExceededException(v protocol.ResponseMetadata) error { 17114 return &ProvisionedThroughputExceededException{ 17115 RespMetadata: v, 17116 } 17117 } 17118 17119 // Code returns the exception type name. 17120 func (s *ProvisionedThroughputExceededException) Code() string { 17121 return "ProvisionedThroughputExceededException" 17122 } 17123 17124 // Message returns the exception's message. 17125 func (s *ProvisionedThroughputExceededException) Message() string { 17126 if s.Message_ != nil { 17127 return *s.Message_ 17128 } 17129 return "" 17130 } 17131 17132 // OrigErr always returns nil, satisfies awserr.Error interface. 17133 func (s *ProvisionedThroughputExceededException) OrigErr() error { 17134 return nil 17135 } 17136 17137 func (s *ProvisionedThroughputExceededException) Error() string { 17138 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17139 } 17140 17141 // Status code returns the HTTP status code for the request's response error. 17142 func (s *ProvisionedThroughputExceededException) StatusCode() int { 17143 return s.RespMetadata.StatusCode 17144 } 17145 17146 // RequestID returns the service's response RequestID for request. 17147 func (s *ProvisionedThroughputExceededException) RequestID() string { 17148 return s.RespMetadata.RequestID 17149 } 17150 17151 // Replica-specific provisioned throughput settings. If not specified, uses 17152 // the source table's provisioned throughput settings. 17153 type ProvisionedThroughputOverride struct { 17154 _ struct{} `type:"structure"` 17155 17156 // Replica-specific read capacity units. If not specified, uses the source table's 17157 // read capacity settings. 17158 ReadCapacityUnits *int64 `min:"1" type:"long"` 17159 } 17160 17161 // String returns the string representation. 17162 // 17163 // API parameter values that are decorated as "sensitive" in the API will not 17164 // be included in the string output. The member name will be present, but the 17165 // value will be replaced with "sensitive". 17166 func (s ProvisionedThroughputOverride) String() string { 17167 return awsutil.Prettify(s) 17168 } 17169 17170 // GoString returns the string representation. 17171 // 17172 // API parameter values that are decorated as "sensitive" in the API will not 17173 // be included in the string output. The member name will be present, but the 17174 // value will be replaced with "sensitive". 17175 func (s ProvisionedThroughputOverride) GoString() string { 17176 return s.String() 17177 } 17178 17179 // Validate inspects the fields of the type to determine if they are valid. 17180 func (s *ProvisionedThroughputOverride) Validate() error { 17181 invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughputOverride"} 17182 if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { 17183 invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) 17184 } 17185 17186 if invalidParams.Len() > 0 { 17187 return invalidParams 17188 } 17189 return nil 17190 } 17191 17192 // SetReadCapacityUnits sets the ReadCapacityUnits field's value. 17193 func (s *ProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *ProvisionedThroughputOverride { 17194 s.ReadCapacityUnits = &v 17195 return s 17196 } 17197 17198 // Represents a request to perform a PutItem operation. 17199 type Put struct { 17200 _ struct{} `type:"structure"` 17201 17202 // A condition that must be satisfied in order for a conditional update to succeed. 17203 ConditionExpression *string `type:"string"` 17204 17205 // One or more substitution tokens for attribute names in an expression. 17206 ExpressionAttributeNames map[string]*string `type:"map"` 17207 17208 // One or more values that can be substituted in an expression. 17209 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 17210 17211 // A map of attribute name to attribute values, representing the primary key 17212 // of the item to be written by PutItem. All of the table's primary key attributes 17213 // must be specified, and their data types must match those of the table's key 17214 // schema. If any attributes are present in the item that are part of an index 17215 // key schema for the table, their types must match the index key schema. 17216 // 17217 // Item is a required field 17218 Item map[string]*AttributeValue `type:"map" required:"true"` 17219 17220 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 17221 // Put condition fails. For ReturnValuesOnConditionCheckFailure, the valid values 17222 // are: NONE and ALL_OLD. 17223 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 17224 17225 // Name of the table in which to write the item. 17226 // 17227 // TableName is a required field 17228 TableName *string `min:"3" type:"string" required:"true"` 17229 } 17230 17231 // String returns the string representation. 17232 // 17233 // API parameter values that are decorated as "sensitive" in the API will not 17234 // be included in the string output. The member name will be present, but the 17235 // value will be replaced with "sensitive". 17236 func (s Put) String() string { 17237 return awsutil.Prettify(s) 17238 } 17239 17240 // GoString returns the string representation. 17241 // 17242 // API parameter values that are decorated as "sensitive" in the API will not 17243 // be included in the string output. The member name will be present, but the 17244 // value will be replaced with "sensitive". 17245 func (s Put) GoString() string { 17246 return s.String() 17247 } 17248 17249 // Validate inspects the fields of the type to determine if they are valid. 17250 func (s *Put) Validate() error { 17251 invalidParams := request.ErrInvalidParams{Context: "Put"} 17252 if s.Item == nil { 17253 invalidParams.Add(request.NewErrParamRequired("Item")) 17254 } 17255 if s.TableName == nil { 17256 invalidParams.Add(request.NewErrParamRequired("TableName")) 17257 } 17258 if s.TableName != nil && len(*s.TableName) < 3 { 17259 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 17260 } 17261 17262 if invalidParams.Len() > 0 { 17263 return invalidParams 17264 } 17265 return nil 17266 } 17267 17268 // SetConditionExpression sets the ConditionExpression field's value. 17269 func (s *Put) SetConditionExpression(v string) *Put { 17270 s.ConditionExpression = &v 17271 return s 17272 } 17273 17274 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 17275 func (s *Put) SetExpressionAttributeNames(v map[string]*string) *Put { 17276 s.ExpressionAttributeNames = v 17277 return s 17278 } 17279 17280 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 17281 func (s *Put) SetExpressionAttributeValues(v map[string]*AttributeValue) *Put { 17282 s.ExpressionAttributeValues = v 17283 return s 17284 } 17285 17286 // SetItem sets the Item field's value. 17287 func (s *Put) SetItem(v map[string]*AttributeValue) *Put { 17288 s.Item = v 17289 return s 17290 } 17291 17292 // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 17293 func (s *Put) SetReturnValuesOnConditionCheckFailure(v string) *Put { 17294 s.ReturnValuesOnConditionCheckFailure = &v 17295 return s 17296 } 17297 17298 // SetTableName sets the TableName field's value. 17299 func (s *Put) SetTableName(v string) *Put { 17300 s.TableName = &v 17301 return s 17302 } 17303 17304 // Represents the input of a PutItem operation. 17305 type PutItemInput struct { 17306 _ struct{} `type:"structure"` 17307 17308 // A condition that must be satisfied in order for a conditional PutItem operation 17309 // to succeed. 17310 // 17311 // An expression can contain any of the following: 17312 // 17313 // * Functions: attribute_exists | attribute_not_exists | attribute_type 17314 // | contains | begins_with | size These function names are case-sensitive. 17315 // 17316 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 17317 // 17318 // * Logical operators: AND | OR | NOT 17319 // 17320 // For more information on condition expressions, see Condition Expressions 17321 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 17322 // in the Amazon DynamoDB Developer Guide. 17323 ConditionExpression *string `type:"string"` 17324 17325 // This is a legacy parameter. Use ConditionExpression instead. For more information, 17326 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 17327 // in the Amazon DynamoDB Developer Guide. 17328 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 17329 17330 // This is a legacy parameter. Use ConditionExpression instead. For more information, 17331 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 17332 // in the Amazon DynamoDB Developer Guide. 17333 Expected map[string]*ExpectedAttributeValue `type:"map"` 17334 17335 // One or more substitution tokens for attribute names in an expression. The 17336 // following are some use cases for using ExpressionAttributeNames: 17337 // 17338 // * To access an attribute whose name conflicts with a DynamoDB reserved 17339 // word. 17340 // 17341 // * To create a placeholder for repeating occurrences of an attribute name 17342 // in an expression. 17343 // 17344 // * To prevent special characters in an attribute name from being misinterpreted 17345 // in an expression. 17346 // 17347 // Use the # character in an expression to dereference an attribute name. For 17348 // example, consider the following attribute name: 17349 // 17350 // * Percentile 17351 // 17352 // The name of this attribute conflicts with a reserved word, so it cannot be 17353 // used directly in an expression. (For the complete list of reserved words, 17354 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 17355 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 17356 // the following for ExpressionAttributeNames: 17357 // 17358 // * {"#P":"Percentile"} 17359 // 17360 // You could then use this substitution in an expression, as in this example: 17361 // 17362 // * #P = :val 17363 // 17364 // Tokens that begin with the : character are expression attribute values, which 17365 // are placeholders for the actual value at runtime. 17366 // 17367 // For more information on expression attribute names, see Specifying Item Attributes 17368 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 17369 // in the Amazon DynamoDB Developer Guide. 17370 ExpressionAttributeNames map[string]*string `type:"map"` 17371 17372 // One or more values that can be substituted in an expression. 17373 // 17374 // Use the : (colon) character in an expression to dereference an attribute 17375 // value. For example, suppose that you wanted to check whether the value of 17376 // the ProductStatus attribute was one of the following: 17377 // 17378 // Available | Backordered | Discontinued 17379 // 17380 // You would first need to specify ExpressionAttributeValues as follows: 17381 // 17382 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 17383 // } 17384 // 17385 // You could then use these values in an expression, such as this: 17386 // 17387 // ProductStatus IN (:avail, :back, :disc) 17388 // 17389 // For more information on expression attribute values, see Condition Expressions 17390 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 17391 // in the Amazon DynamoDB Developer Guide. 17392 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 17393 17394 // A map of attribute name/value pairs, one for each attribute. Only the primary 17395 // key attributes are required; you can optionally provide other attribute name-value 17396 // pairs for the item. 17397 // 17398 // You must provide all of the attributes for the primary key. For example, 17399 // with a simple primary key, you only need to provide a value for the partition 17400 // key. For a composite primary key, you must provide both values for both the 17401 // partition key and the sort key. 17402 // 17403 // If you specify any attributes that are part of an index key, then the data 17404 // types for those attributes must match those of the schema in the table's 17405 // attribute definition. 17406 // 17407 // Empty String and Binary attribute values are allowed. Attribute values of 17408 // type String and Binary must have a length greater than zero if the attribute 17409 // is used as a key attribute for a table or index. 17410 // 17411 // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) 17412 // in the Amazon DynamoDB Developer Guide. 17413 // 17414 // Each element in the Item map is an AttributeValue object. 17415 // 17416 // Item is a required field 17417 Item map[string]*AttributeValue `type:"map" required:"true"` 17418 17419 // Determines the level of detail about provisioned throughput consumption that 17420 // is returned in the response: 17421 // 17422 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 17423 // operation, together with ConsumedCapacity for each table and secondary 17424 // index that was accessed. Note that some operations, such as GetItem and 17425 // BatchGetItem, do not access any indexes at all. In these cases, specifying 17426 // INDEXES will only return ConsumedCapacity information for table(s). 17427 // 17428 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 17429 // the operation. 17430 // 17431 // * NONE - No ConsumedCapacity details are included in the response. 17432 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 17433 17434 // Determines whether item collection metrics are returned. If set to SIZE, 17435 // the response includes statistics about item collections, if any, that were 17436 // modified during the operation are returned in the response. If set to NONE 17437 // (the default), no statistics are returned. 17438 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 17439 17440 // Use ReturnValues if you want to get the item attributes as they appeared 17441 // before they were updated with the PutItem request. For PutItem, the valid 17442 // values are: 17443 // 17444 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 17445 // nothing is returned. (This setting is the default for ReturnValues.) 17446 // 17447 // * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the 17448 // content of the old item is returned. 17449 // 17450 // The ReturnValues parameter is used by several DynamoDB operations; however, 17451 // PutItem does not recognize any values other than NONE or ALL_OLD. 17452 ReturnValues *string `type:"string" enum:"ReturnValue"` 17453 17454 // The name of the table to contain the item. 17455 // 17456 // TableName is a required field 17457 TableName *string `min:"3" type:"string" required:"true"` 17458 } 17459 17460 // String returns the string representation. 17461 // 17462 // API parameter values that are decorated as "sensitive" in the API will not 17463 // be included in the string output. The member name will be present, but the 17464 // value will be replaced with "sensitive". 17465 func (s PutItemInput) String() string { 17466 return awsutil.Prettify(s) 17467 } 17468 17469 // GoString returns the string representation. 17470 // 17471 // API parameter values that are decorated as "sensitive" in the API will not 17472 // be included in the string output. The member name will be present, but the 17473 // value will be replaced with "sensitive". 17474 func (s PutItemInput) GoString() string { 17475 return s.String() 17476 } 17477 17478 // Validate inspects the fields of the type to determine if they are valid. 17479 func (s *PutItemInput) Validate() error { 17480 invalidParams := request.ErrInvalidParams{Context: "PutItemInput"} 17481 if s.Item == nil { 17482 invalidParams.Add(request.NewErrParamRequired("Item")) 17483 } 17484 if s.TableName == nil { 17485 invalidParams.Add(request.NewErrParamRequired("TableName")) 17486 } 17487 if s.TableName != nil && len(*s.TableName) < 3 { 17488 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 17489 } 17490 17491 if invalidParams.Len() > 0 { 17492 return invalidParams 17493 } 17494 return nil 17495 } 17496 17497 // SetConditionExpression sets the ConditionExpression field's value. 17498 func (s *PutItemInput) SetConditionExpression(v string) *PutItemInput { 17499 s.ConditionExpression = &v 17500 return s 17501 } 17502 17503 // SetConditionalOperator sets the ConditionalOperator field's value. 17504 func (s *PutItemInput) SetConditionalOperator(v string) *PutItemInput { 17505 s.ConditionalOperator = &v 17506 return s 17507 } 17508 17509 // SetExpected sets the Expected field's value. 17510 func (s *PutItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *PutItemInput { 17511 s.Expected = v 17512 return s 17513 } 17514 17515 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 17516 func (s *PutItemInput) SetExpressionAttributeNames(v map[string]*string) *PutItemInput { 17517 s.ExpressionAttributeNames = v 17518 return s 17519 } 17520 17521 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 17522 func (s *PutItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *PutItemInput { 17523 s.ExpressionAttributeValues = v 17524 return s 17525 } 17526 17527 // SetItem sets the Item field's value. 17528 func (s *PutItemInput) SetItem(v map[string]*AttributeValue) *PutItemInput { 17529 s.Item = v 17530 return s 17531 } 17532 17533 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 17534 func (s *PutItemInput) SetReturnConsumedCapacity(v string) *PutItemInput { 17535 s.ReturnConsumedCapacity = &v 17536 return s 17537 } 17538 17539 // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 17540 func (s *PutItemInput) SetReturnItemCollectionMetrics(v string) *PutItemInput { 17541 s.ReturnItemCollectionMetrics = &v 17542 return s 17543 } 17544 17545 // SetReturnValues sets the ReturnValues field's value. 17546 func (s *PutItemInput) SetReturnValues(v string) *PutItemInput { 17547 s.ReturnValues = &v 17548 return s 17549 } 17550 17551 // SetTableName sets the TableName field's value. 17552 func (s *PutItemInput) SetTableName(v string) *PutItemInput { 17553 s.TableName = &v 17554 return s 17555 } 17556 17557 // Represents the output of a PutItem operation. 17558 type PutItemOutput struct { 17559 _ struct{} `type:"structure"` 17560 17561 // The attribute values as they appeared before the PutItem operation, but only 17562 // if ReturnValues is specified as ALL_OLD in the request. Each element consists 17563 // of an attribute name and an attribute value. 17564 Attributes map[string]*AttributeValue `type:"map"` 17565 17566 // The capacity units consumed by the PutItem operation. The data returned includes 17567 // the total provisioned throughput consumed, along with statistics for the 17568 // table and any indexes involved in the operation. ConsumedCapacity is only 17569 // returned if the ReturnConsumedCapacity parameter was specified. For more 17570 // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 17571 // in the Amazon DynamoDB Developer Guide. 17572 ConsumedCapacity *ConsumedCapacity `type:"structure"` 17573 17574 // Information about item collections, if any, that were affected by the PutItem 17575 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 17576 // parameter was specified. If the table does not have any local secondary indexes, 17577 // this information is not returned in the response. 17578 // 17579 // Each ItemCollectionMetrics element consists of: 17580 // 17581 // * ItemCollectionKey - The partition key value of the item collection. 17582 // This is the same as the partition key value of the item itself. 17583 // 17584 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 17585 // This value is a two-element array containing a lower bound and an upper 17586 // bound for the estimate. The estimate includes the size of all the items 17587 // in the table, plus the size of all attributes projected into all of the 17588 // local secondary indexes on that table. Use this estimate to measure whether 17589 // a local secondary index is approaching its size limit. The estimate is 17590 // subject to change over time; therefore, do not rely on the precision or 17591 // accuracy of the estimate. 17592 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 17593 } 17594 17595 // String returns the string representation. 17596 // 17597 // API parameter values that are decorated as "sensitive" in the API will not 17598 // be included in the string output. The member name will be present, but the 17599 // value will be replaced with "sensitive". 17600 func (s PutItemOutput) String() string { 17601 return awsutil.Prettify(s) 17602 } 17603 17604 // GoString returns the string representation. 17605 // 17606 // API parameter values that are decorated as "sensitive" in the API will not 17607 // be included in the string output. The member name will be present, but the 17608 // value will be replaced with "sensitive". 17609 func (s PutItemOutput) GoString() string { 17610 return s.String() 17611 } 17612 17613 // SetAttributes sets the Attributes field's value. 17614 func (s *PutItemOutput) SetAttributes(v map[string]*AttributeValue) *PutItemOutput { 17615 s.Attributes = v 17616 return s 17617 } 17618 17619 // SetConsumedCapacity sets the ConsumedCapacity field's value. 17620 func (s *PutItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *PutItemOutput { 17621 s.ConsumedCapacity = v 17622 return s 17623 } 17624 17625 // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 17626 func (s *PutItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *PutItemOutput { 17627 s.ItemCollectionMetrics = v 17628 return s 17629 } 17630 17631 // Represents a request to perform a PutItem operation on an item. 17632 type PutRequest struct { 17633 _ struct{} `type:"structure"` 17634 17635 // A map of attribute name to attribute values, representing the primary key 17636 // of an item to be processed by PutItem. All of the table's primary key attributes 17637 // must be specified, and their data types must match those of the table's key 17638 // schema. If any attributes are present in the item that are part of an index 17639 // key schema for the table, their types must match the index key schema. 17640 // 17641 // Item is a required field 17642 Item map[string]*AttributeValue `type:"map" required:"true"` 17643 } 17644 17645 // String returns the string representation. 17646 // 17647 // API parameter values that are decorated as "sensitive" in the API will not 17648 // be included in the string output. The member name will be present, but the 17649 // value will be replaced with "sensitive". 17650 func (s PutRequest) String() string { 17651 return awsutil.Prettify(s) 17652 } 17653 17654 // GoString returns the string representation. 17655 // 17656 // API parameter values that are decorated as "sensitive" in the API will not 17657 // be included in the string output. The member name will be present, but the 17658 // value will be replaced with "sensitive". 17659 func (s PutRequest) GoString() string { 17660 return s.String() 17661 } 17662 17663 // SetItem sets the Item field's value. 17664 func (s *PutRequest) SetItem(v map[string]*AttributeValue) *PutRequest { 17665 s.Item = v 17666 return s 17667 } 17668 17669 // Represents the input of a Query operation. 17670 type QueryInput struct { 17671 _ struct{} `type:"structure"` 17672 17673 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 17674 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 17675 // in the Amazon DynamoDB Developer Guide. 17676 AttributesToGet []*string `min:"1" type:"list"` 17677 17678 // This is a legacy parameter. Use FilterExpression instead. For more information, 17679 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 17680 // in the Amazon DynamoDB Developer Guide. 17681 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 17682 17683 // Determines the read consistency model: If set to true, then the operation 17684 // uses strongly consistent reads; otherwise, the operation uses eventually 17685 // consistent reads. 17686 // 17687 // Strongly consistent reads are not supported on global secondary indexes. 17688 // If you query a global secondary index with ConsistentRead set to true, you 17689 // will receive a ValidationException. 17690 ConsistentRead *bool `type:"boolean"` 17691 17692 // The primary key of the first item that this operation will evaluate. Use 17693 // the value that was returned for LastEvaluatedKey in the previous operation. 17694 // 17695 // The data type for ExclusiveStartKey must be String, Number, or Binary. No 17696 // set data types are allowed. 17697 ExclusiveStartKey map[string]*AttributeValue `type:"map"` 17698 17699 // One or more substitution tokens for attribute names in an expression. The 17700 // following are some use cases for using ExpressionAttributeNames: 17701 // 17702 // * To access an attribute whose name conflicts with a DynamoDB reserved 17703 // word. 17704 // 17705 // * To create a placeholder for repeating occurrences of an attribute name 17706 // in an expression. 17707 // 17708 // * To prevent special characters in an attribute name from being misinterpreted 17709 // in an expression. 17710 // 17711 // Use the # character in an expression to dereference an attribute name. For 17712 // example, consider the following attribute name: 17713 // 17714 // * Percentile 17715 // 17716 // The name of this attribute conflicts with a reserved word, so it cannot be 17717 // used directly in an expression. (For the complete list of reserved words, 17718 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 17719 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 17720 // the following for ExpressionAttributeNames: 17721 // 17722 // * {"#P":"Percentile"} 17723 // 17724 // You could then use this substitution in an expression, as in this example: 17725 // 17726 // * #P = :val 17727 // 17728 // Tokens that begin with the : character are expression attribute values, which 17729 // are placeholders for the actual value at runtime. 17730 // 17731 // For more information on expression attribute names, see Specifying Item Attributes 17732 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 17733 // in the Amazon DynamoDB Developer Guide. 17734 ExpressionAttributeNames map[string]*string `type:"map"` 17735 17736 // One or more values that can be substituted in an expression. 17737 // 17738 // Use the : (colon) character in an expression to dereference an attribute 17739 // value. For example, suppose that you wanted to check whether the value of 17740 // the ProductStatus attribute was one of the following: 17741 // 17742 // Available | Backordered | Discontinued 17743 // 17744 // You would first need to specify ExpressionAttributeValues as follows: 17745 // 17746 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 17747 // } 17748 // 17749 // You could then use these values in an expression, such as this: 17750 // 17751 // ProductStatus IN (:avail, :back, :disc) 17752 // 17753 // For more information on expression attribute values, see Specifying Conditions 17754 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 17755 // in the Amazon DynamoDB Developer Guide. 17756 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 17757 17758 // A string that contains conditions that DynamoDB applies after the Query operation, 17759 // but before the data is returned to you. Items that do not satisfy the FilterExpression 17760 // criteria are not returned. 17761 // 17762 // A FilterExpression does not allow key attributes. You cannot define a filter 17763 // expression based on a partition key or a sort key. 17764 // 17765 // A FilterExpression is applied after the items have already been read; the 17766 // process of filtering does not consume any additional read capacity units. 17767 // 17768 // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) 17769 // in the Amazon DynamoDB Developer Guide. 17770 FilterExpression *string `type:"string"` 17771 17772 // The name of an index to query. This index can be any local secondary index 17773 // or global secondary index on the table. Note that if you use the IndexName 17774 // parameter, you must also provide TableName. 17775 IndexName *string `min:"3" type:"string"` 17776 17777 // The condition that specifies the key values for items to be retrieved by 17778 // the Query action. 17779 // 17780 // The condition must perform an equality test on a single partition key value. 17781 // 17782 // The condition can optionally perform one of several comparison tests on a 17783 // single sort key value. This allows Query to retrieve one item with a given 17784 // partition key value and sort key value, or several items that have the same 17785 // partition key value but different sort key values. 17786 // 17787 // The partition key equality test is required, and must be specified in the 17788 // following format: 17789 // 17790 // partitionKeyName = :partitionkeyval 17791 // 17792 // If you also want to provide a condition for the sort key, it must be combined 17793 // using AND with the condition for the sort key. Following is an example, using 17794 // the = comparison operator for the sort key: 17795 // 17796 // partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval 17797 // 17798 // Valid comparisons for the sort key condition are as follows: 17799 // 17800 // * sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. 17801 // 17802 // * sortKeyName < :sortkeyval - true if the sort key value is less than 17803 // :sortkeyval. 17804 // 17805 // * sortKeyName <= :sortkeyval - true if the sort key value is less than 17806 // or equal to :sortkeyval. 17807 // 17808 // * sortKeyName > :sortkeyval - true if the sort key value is greater than 17809 // :sortkeyval. 17810 // 17811 // * sortKeyName >= :sortkeyval - true if the sort key value is greater than 17812 // or equal to :sortkeyval. 17813 // 17814 // * sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort 17815 // key value is greater than or equal to :sortkeyval1, and less than or equal 17816 // to :sortkeyval2. 17817 // 17818 // * begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value 17819 // begins with a particular operand. (You cannot use this function with a 17820 // sort key that is of type Number.) Note that the function name begins_with 17821 // is case-sensitive. 17822 // 17823 // Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval 17824 // and :sortval with actual values at runtime. 17825 // 17826 // You can optionally use the ExpressionAttributeNames parameter to replace 17827 // the names of the partition key and sort key with placeholder tokens. This 17828 // option might be necessary if an attribute name conflicts with a DynamoDB 17829 // reserved word. For example, the following KeyConditionExpression parameter 17830 // causes an error because Size is a reserved word: 17831 // 17832 // * Size = :myval 17833 // 17834 // To work around this, define a placeholder (such a #S) to represent the attribute 17835 // name Size. KeyConditionExpression then is as follows: 17836 // 17837 // * #S = :myval 17838 // 17839 // For a list of reserved words, see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 17840 // in the Amazon DynamoDB Developer Guide. 17841 // 17842 // For more information on ExpressionAttributeNames and ExpressionAttributeValues, 17843 // see Using Placeholders for Attribute Names and Values (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) 17844 // in the Amazon DynamoDB Developer Guide. 17845 KeyConditionExpression *string `type:"string"` 17846 17847 // This is a legacy parameter. Use KeyConditionExpression instead. For more 17848 // information, see KeyConditions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html) 17849 // in the Amazon DynamoDB Developer Guide. 17850 KeyConditions map[string]*Condition `type:"map"` 17851 17852 // The maximum number of items to evaluate (not necessarily the number of matching 17853 // items). If DynamoDB processes the number of items up to the limit while processing 17854 // the results, it stops the operation and returns the matching values up to 17855 // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, 17856 // so that you can pick up where you left off. Also, if the processed dataset 17857 // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation 17858 // and returns the matching values up to the limit, and a key in LastEvaluatedKey 17859 // to apply in a subsequent operation to continue the operation. For more information, 17860 // see Query and Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) 17861 // in the Amazon DynamoDB Developer Guide. 17862 Limit *int64 `min:"1" type:"integer"` 17863 17864 // A string that identifies one or more attributes to retrieve from the table. 17865 // These attributes can include scalars, sets, or elements of a JSON document. 17866 // The attributes in the expression must be separated by commas. 17867 // 17868 // If no attribute names are specified, then all attributes will be returned. 17869 // If any of the requested attributes are not found, they will not appear in 17870 // the result. 17871 // 17872 // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 17873 // in the Amazon DynamoDB Developer Guide. 17874 ProjectionExpression *string `type:"string"` 17875 17876 // This is a legacy parameter. Use FilterExpression instead. For more information, 17877 // see QueryFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html) 17878 // in the Amazon DynamoDB Developer Guide. 17879 QueryFilter map[string]*Condition `type:"map"` 17880 17881 // Determines the level of detail about provisioned throughput consumption that 17882 // is returned in the response: 17883 // 17884 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 17885 // operation, together with ConsumedCapacity for each table and secondary 17886 // index that was accessed. Note that some operations, such as GetItem and 17887 // BatchGetItem, do not access any indexes at all. In these cases, specifying 17888 // INDEXES will only return ConsumedCapacity information for table(s). 17889 // 17890 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 17891 // the operation. 17892 // 17893 // * NONE - No ConsumedCapacity details are included in the response. 17894 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 17895 17896 // Specifies the order for index traversal: If true (default), the traversal 17897 // is performed in ascending order; if false, the traversal is performed in 17898 // descending order. 17899 // 17900 // Items with the same partition key value are stored in sorted order by sort 17901 // key. If the sort key data type is Number, the results are stored in numeric 17902 // order. For type String, the results are stored in order of UTF-8 bytes. For 17903 // type Binary, DynamoDB treats each byte of the binary data as unsigned. 17904 // 17905 // If ScanIndexForward is true, DynamoDB returns the results in the order in 17906 // which they are stored (by sort key value). This is the default behavior. 17907 // If ScanIndexForward is false, DynamoDB reads the results in reverse order 17908 // by sort key value, and then returns the results to the client. 17909 ScanIndexForward *bool `type:"boolean"` 17910 17911 // The attributes to be returned in the result. You can retrieve all item attributes, 17912 // specific item attributes, the count of matching items, or in the case of 17913 // an index, some or all of the attributes projected into the index. 17914 // 17915 // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified 17916 // table or index. If you query a local secondary index, then for each matching 17917 // item in the index, DynamoDB fetches the entire item from the parent table. 17918 // If the index is configured to project all item attributes, then all of 17919 // the data can be obtained from the local secondary index, and no fetching 17920 // is required. 17921 // 17922 // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves 17923 // all attributes that have been projected into the index. If the index is 17924 // configured to project all attributes, this return value is equivalent 17925 // to specifying ALL_ATTRIBUTES. 17926 // 17927 // * COUNT - Returns the number of matching items, rather than the matching 17928 // items themselves. 17929 // 17930 // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. 17931 // This return value is equivalent to specifying AttributesToGet without 17932 // specifying any value for Select. If you query or scan a local secondary 17933 // index and request only attributes that are projected into that index, 17934 // the operation will read only the index and not the table. If any of the 17935 // requested attributes are not projected into the local secondary index, 17936 // DynamoDB fetches each of these attributes from the parent table. This 17937 // extra fetching incurs additional throughput cost and latency. If you query 17938 // or scan a global secondary index, you can only request attributes that 17939 // are projected into the index. Global secondary index queries cannot fetch 17940 // attributes from the parent table. 17941 // 17942 // If neither Select nor AttributesToGet are specified, DynamoDB defaults to 17943 // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when 17944 // accessing an index. You cannot use both Select and AttributesToGet together 17945 // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. 17946 // (This usage is equivalent to specifying AttributesToGet without any value 17947 // for Select.) 17948 // 17949 // If you use the ProjectionExpression parameter, then the value for Select 17950 // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an 17951 // error. 17952 Select *string `type:"string" enum:"Select"` 17953 17954 // The name of the table containing the requested items. 17955 // 17956 // TableName is a required field 17957 TableName *string `min:"3" type:"string" required:"true"` 17958 } 17959 17960 // String returns the string representation. 17961 // 17962 // API parameter values that are decorated as "sensitive" in the API will not 17963 // be included in the string output. The member name will be present, but the 17964 // value will be replaced with "sensitive". 17965 func (s QueryInput) String() string { 17966 return awsutil.Prettify(s) 17967 } 17968 17969 // GoString returns the string representation. 17970 // 17971 // API parameter values that are decorated as "sensitive" in the API will not 17972 // be included in the string output. The member name will be present, but the 17973 // value will be replaced with "sensitive". 17974 func (s QueryInput) GoString() string { 17975 return s.String() 17976 } 17977 17978 // Validate inspects the fields of the type to determine if they are valid. 17979 func (s *QueryInput) Validate() error { 17980 invalidParams := request.ErrInvalidParams{Context: "QueryInput"} 17981 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 17982 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 17983 } 17984 if s.IndexName != nil && len(*s.IndexName) < 3 { 17985 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 17986 } 17987 if s.Limit != nil && *s.Limit < 1 { 17988 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 17989 } 17990 if s.TableName == nil { 17991 invalidParams.Add(request.NewErrParamRequired("TableName")) 17992 } 17993 if s.TableName != nil && len(*s.TableName) < 3 { 17994 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 17995 } 17996 if s.KeyConditions != nil { 17997 for i, v := range s.KeyConditions { 17998 if v == nil { 17999 continue 18000 } 18001 if err := v.Validate(); err != nil { 18002 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeyConditions", i), err.(request.ErrInvalidParams)) 18003 } 18004 } 18005 } 18006 if s.QueryFilter != nil { 18007 for i, v := range s.QueryFilter { 18008 if v == nil { 18009 continue 18010 } 18011 if err := v.Validate(); err != nil { 18012 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryFilter", i), err.(request.ErrInvalidParams)) 18013 } 18014 } 18015 } 18016 18017 if invalidParams.Len() > 0 { 18018 return invalidParams 18019 } 18020 return nil 18021 } 18022 18023 // SetAttributesToGet sets the AttributesToGet field's value. 18024 func (s *QueryInput) SetAttributesToGet(v []*string) *QueryInput { 18025 s.AttributesToGet = v 18026 return s 18027 } 18028 18029 // SetConditionalOperator sets the ConditionalOperator field's value. 18030 func (s *QueryInput) SetConditionalOperator(v string) *QueryInput { 18031 s.ConditionalOperator = &v 18032 return s 18033 } 18034 18035 // SetConsistentRead sets the ConsistentRead field's value. 18036 func (s *QueryInput) SetConsistentRead(v bool) *QueryInput { 18037 s.ConsistentRead = &v 18038 return s 18039 } 18040 18041 // SetExclusiveStartKey sets the ExclusiveStartKey field's value. 18042 func (s *QueryInput) SetExclusiveStartKey(v map[string]*AttributeValue) *QueryInput { 18043 s.ExclusiveStartKey = v 18044 return s 18045 } 18046 18047 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 18048 func (s *QueryInput) SetExpressionAttributeNames(v map[string]*string) *QueryInput { 18049 s.ExpressionAttributeNames = v 18050 return s 18051 } 18052 18053 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 18054 func (s *QueryInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *QueryInput { 18055 s.ExpressionAttributeValues = v 18056 return s 18057 } 18058 18059 // SetFilterExpression sets the FilterExpression field's value. 18060 func (s *QueryInput) SetFilterExpression(v string) *QueryInput { 18061 s.FilterExpression = &v 18062 return s 18063 } 18064 18065 // SetIndexName sets the IndexName field's value. 18066 func (s *QueryInput) SetIndexName(v string) *QueryInput { 18067 s.IndexName = &v 18068 return s 18069 } 18070 18071 // SetKeyConditionExpression sets the KeyConditionExpression field's value. 18072 func (s *QueryInput) SetKeyConditionExpression(v string) *QueryInput { 18073 s.KeyConditionExpression = &v 18074 return s 18075 } 18076 18077 // SetKeyConditions sets the KeyConditions field's value. 18078 func (s *QueryInput) SetKeyConditions(v map[string]*Condition) *QueryInput { 18079 s.KeyConditions = v 18080 return s 18081 } 18082 18083 // SetLimit sets the Limit field's value. 18084 func (s *QueryInput) SetLimit(v int64) *QueryInput { 18085 s.Limit = &v 18086 return s 18087 } 18088 18089 // SetProjectionExpression sets the ProjectionExpression field's value. 18090 func (s *QueryInput) SetProjectionExpression(v string) *QueryInput { 18091 s.ProjectionExpression = &v 18092 return s 18093 } 18094 18095 // SetQueryFilter sets the QueryFilter field's value. 18096 func (s *QueryInput) SetQueryFilter(v map[string]*Condition) *QueryInput { 18097 s.QueryFilter = v 18098 return s 18099 } 18100 18101 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 18102 func (s *QueryInput) SetReturnConsumedCapacity(v string) *QueryInput { 18103 s.ReturnConsumedCapacity = &v 18104 return s 18105 } 18106 18107 // SetScanIndexForward sets the ScanIndexForward field's value. 18108 func (s *QueryInput) SetScanIndexForward(v bool) *QueryInput { 18109 s.ScanIndexForward = &v 18110 return s 18111 } 18112 18113 // SetSelect sets the Select field's value. 18114 func (s *QueryInput) SetSelect(v string) *QueryInput { 18115 s.Select = &v 18116 return s 18117 } 18118 18119 // SetTableName sets the TableName field's value. 18120 func (s *QueryInput) SetTableName(v string) *QueryInput { 18121 s.TableName = &v 18122 return s 18123 } 18124 18125 // Represents the output of a Query operation. 18126 type QueryOutput struct { 18127 _ struct{} `type:"structure"` 18128 18129 // The capacity units consumed by the Query operation. The data returned includes 18130 // the total provisioned throughput consumed, along with statistics for the 18131 // table and any indexes involved in the operation. ConsumedCapacity is only 18132 // returned if the ReturnConsumedCapacity parameter was specified. For more 18133 // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 18134 // in the Amazon DynamoDB Developer Guide. 18135 ConsumedCapacity *ConsumedCapacity `type:"structure"` 18136 18137 // The number of items in the response. 18138 // 18139 // If you used a QueryFilter in the request, then Count is the number of items 18140 // returned after the filter was applied, and ScannedCount is the number of 18141 // matching items before the filter was applied. 18142 // 18143 // If you did not use a filter in the request, then Count and ScannedCount are 18144 // the same. 18145 Count *int64 `type:"integer"` 18146 18147 // An array of item attributes that match the query criteria. Each element in 18148 // this array consists of an attribute name and the value for that attribute. 18149 Items []map[string]*AttributeValue `type:"list"` 18150 18151 // The primary key of the item where the operation stopped, inclusive of the 18152 // previous result set. Use this value to start a new operation, excluding this 18153 // value in the new request. 18154 // 18155 // If LastEvaluatedKey is empty, then the "last page" of results has been processed 18156 // and there is no more data to be retrieved. 18157 // 18158 // If LastEvaluatedKey is not empty, it does not necessarily mean that there 18159 // is more data in the result set. The only way to know when you have reached 18160 // the end of the result set is when LastEvaluatedKey is empty. 18161 LastEvaluatedKey map[string]*AttributeValue `type:"map"` 18162 18163 // The number of items evaluated, before any QueryFilter is applied. A high 18164 // ScannedCount value with few, or no, Count results indicates an inefficient 18165 // Query operation. For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) 18166 // in the Amazon DynamoDB Developer Guide. 18167 // 18168 // If you did not use a filter in the request, then ScannedCount is the same 18169 // as Count. 18170 ScannedCount *int64 `type:"integer"` 18171 } 18172 18173 // String returns the string representation. 18174 // 18175 // API parameter values that are decorated as "sensitive" in the API will not 18176 // be included in the string output. The member name will be present, but the 18177 // value will be replaced with "sensitive". 18178 func (s QueryOutput) String() string { 18179 return awsutil.Prettify(s) 18180 } 18181 18182 // GoString returns the string representation. 18183 // 18184 // API parameter values that are decorated as "sensitive" in the API will not 18185 // be included in the string output. The member name will be present, but the 18186 // value will be replaced with "sensitive". 18187 func (s QueryOutput) GoString() string { 18188 return s.String() 18189 } 18190 18191 // SetConsumedCapacity sets the ConsumedCapacity field's value. 18192 func (s *QueryOutput) SetConsumedCapacity(v *ConsumedCapacity) *QueryOutput { 18193 s.ConsumedCapacity = v 18194 return s 18195 } 18196 18197 // SetCount sets the Count field's value. 18198 func (s *QueryOutput) SetCount(v int64) *QueryOutput { 18199 s.Count = &v 18200 return s 18201 } 18202 18203 // SetItems sets the Items field's value. 18204 func (s *QueryOutput) SetItems(v []map[string]*AttributeValue) *QueryOutput { 18205 s.Items = v 18206 return s 18207 } 18208 18209 // SetLastEvaluatedKey sets the LastEvaluatedKey field's value. 18210 func (s *QueryOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *QueryOutput { 18211 s.LastEvaluatedKey = v 18212 return s 18213 } 18214 18215 // SetScannedCount sets the ScannedCount field's value. 18216 func (s *QueryOutput) SetScannedCount(v int64) *QueryOutput { 18217 s.ScannedCount = &v 18218 return s 18219 } 18220 18221 // Represents the properties of a replica. 18222 type Replica struct { 18223 _ struct{} `type:"structure"` 18224 18225 // The Region where the replica needs to be created. 18226 RegionName *string `type:"string"` 18227 } 18228 18229 // String returns the string representation. 18230 // 18231 // API parameter values that are decorated as "sensitive" in the API will not 18232 // be included in the string output. The member name will be present, but the 18233 // value will be replaced with "sensitive". 18234 func (s Replica) String() string { 18235 return awsutil.Prettify(s) 18236 } 18237 18238 // GoString returns the string representation. 18239 // 18240 // API parameter values that are decorated as "sensitive" in the API will not 18241 // be included in the string output. The member name will be present, but the 18242 // value will be replaced with "sensitive". 18243 func (s Replica) GoString() string { 18244 return s.String() 18245 } 18246 18247 // SetRegionName sets the RegionName field's value. 18248 func (s *Replica) SetRegionName(v string) *Replica { 18249 s.RegionName = &v 18250 return s 18251 } 18252 18253 // The specified replica is already part of the global table. 18254 type ReplicaAlreadyExistsException struct { 18255 _ struct{} `type:"structure"` 18256 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18257 18258 Message_ *string `locationName:"message" type:"string"` 18259 } 18260 18261 // String returns the string representation. 18262 // 18263 // API parameter values that are decorated as "sensitive" in the API will not 18264 // be included in the string output. The member name will be present, but the 18265 // value will be replaced with "sensitive". 18266 func (s ReplicaAlreadyExistsException) String() string { 18267 return awsutil.Prettify(s) 18268 } 18269 18270 // GoString returns the string representation. 18271 // 18272 // API parameter values that are decorated as "sensitive" in the API will not 18273 // be included in the string output. The member name will be present, but the 18274 // value will be replaced with "sensitive". 18275 func (s ReplicaAlreadyExistsException) GoString() string { 18276 return s.String() 18277 } 18278 18279 func newErrorReplicaAlreadyExistsException(v protocol.ResponseMetadata) error { 18280 return &ReplicaAlreadyExistsException{ 18281 RespMetadata: v, 18282 } 18283 } 18284 18285 // Code returns the exception type name. 18286 func (s *ReplicaAlreadyExistsException) Code() string { 18287 return "ReplicaAlreadyExistsException" 18288 } 18289 18290 // Message returns the exception's message. 18291 func (s *ReplicaAlreadyExistsException) Message() string { 18292 if s.Message_ != nil { 18293 return *s.Message_ 18294 } 18295 return "" 18296 } 18297 18298 // OrigErr always returns nil, satisfies awserr.Error interface. 18299 func (s *ReplicaAlreadyExistsException) OrigErr() error { 18300 return nil 18301 } 18302 18303 func (s *ReplicaAlreadyExistsException) Error() string { 18304 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18305 } 18306 18307 // Status code returns the HTTP status code for the request's response error. 18308 func (s *ReplicaAlreadyExistsException) StatusCode() int { 18309 return s.RespMetadata.StatusCode 18310 } 18311 18312 // RequestID returns the service's response RequestID for request. 18313 func (s *ReplicaAlreadyExistsException) RequestID() string { 18314 return s.RespMetadata.RequestID 18315 } 18316 18317 // Represents the auto scaling settings of the replica. 18318 type ReplicaAutoScalingDescription struct { 18319 _ struct{} `type:"structure"` 18320 18321 // Replica-specific global secondary index auto scaling settings. 18322 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexAutoScalingDescription `type:"list"` 18323 18324 // The Region where the replica exists. 18325 RegionName *string `type:"string"` 18326 18327 // Represents the auto scaling settings for a global table or global secondary 18328 // index. 18329 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18330 18331 // Represents the auto scaling settings for a global table or global secondary 18332 // index. 18333 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18334 18335 // The current state of the replica: 18336 // 18337 // * CREATING - The replica is being created. 18338 // 18339 // * UPDATING - The replica is being updated. 18340 // 18341 // * DELETING - The replica is being deleted. 18342 // 18343 // * ACTIVE - The replica is ready for use. 18344 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 18345 } 18346 18347 // String returns the string representation. 18348 // 18349 // API parameter values that are decorated as "sensitive" in the API will not 18350 // be included in the string output. The member name will be present, but the 18351 // value will be replaced with "sensitive". 18352 func (s ReplicaAutoScalingDescription) String() string { 18353 return awsutil.Prettify(s) 18354 } 18355 18356 // GoString returns the string representation. 18357 // 18358 // API parameter values that are decorated as "sensitive" in the API will not 18359 // be included in the string output. The member name will be present, but the 18360 // value will be replaced with "sensitive". 18361 func (s ReplicaAutoScalingDescription) GoString() string { 18362 return s.String() 18363 } 18364 18365 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 18366 func (s *ReplicaAutoScalingDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexAutoScalingDescription) *ReplicaAutoScalingDescription { 18367 s.GlobalSecondaryIndexes = v 18368 return s 18369 } 18370 18371 // SetRegionName sets the RegionName field's value. 18372 func (s *ReplicaAutoScalingDescription) SetRegionName(v string) *ReplicaAutoScalingDescription { 18373 s.RegionName = &v 18374 return s 18375 } 18376 18377 // SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value. 18378 func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { 18379 s.ReplicaProvisionedReadCapacityAutoScalingSettings = v 18380 return s 18381 } 18382 18383 // SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value. 18384 func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { 18385 s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v 18386 return s 18387 } 18388 18389 // SetReplicaStatus sets the ReplicaStatus field's value. 18390 func (s *ReplicaAutoScalingDescription) SetReplicaStatus(v string) *ReplicaAutoScalingDescription { 18391 s.ReplicaStatus = &v 18392 return s 18393 } 18394 18395 // Represents the auto scaling settings of a replica that will be modified. 18396 type ReplicaAutoScalingUpdate struct { 18397 _ struct{} `type:"structure"` 18398 18399 // The Region where the replica exists. 18400 // 18401 // RegionName is a required field 18402 RegionName *string `type:"string" required:"true"` 18403 18404 // Represents the auto scaling settings of global secondary indexes that will 18405 // be modified. 18406 ReplicaGlobalSecondaryIndexUpdates []*ReplicaGlobalSecondaryIndexAutoScalingUpdate `type:"list"` 18407 18408 // Represents the auto scaling settings to be modified for a global table or 18409 // global secondary index. 18410 ReplicaProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 18411 } 18412 18413 // String returns the string representation. 18414 // 18415 // API parameter values that are decorated as "sensitive" in the API will not 18416 // be included in the string output. The member name will be present, but the 18417 // value will be replaced with "sensitive". 18418 func (s ReplicaAutoScalingUpdate) String() string { 18419 return awsutil.Prettify(s) 18420 } 18421 18422 // GoString returns the string representation. 18423 // 18424 // API parameter values that are decorated as "sensitive" in the API will not 18425 // be included in the string output. The member name will be present, but the 18426 // value will be replaced with "sensitive". 18427 func (s ReplicaAutoScalingUpdate) GoString() string { 18428 return s.String() 18429 } 18430 18431 // Validate inspects the fields of the type to determine if they are valid. 18432 func (s *ReplicaAutoScalingUpdate) Validate() error { 18433 invalidParams := request.ErrInvalidParams{Context: "ReplicaAutoScalingUpdate"} 18434 if s.RegionName == nil { 18435 invalidParams.Add(request.NewErrParamRequired("RegionName")) 18436 } 18437 if s.ReplicaGlobalSecondaryIndexUpdates != nil { 18438 for i, v := range s.ReplicaGlobalSecondaryIndexUpdates { 18439 if v == nil { 18440 continue 18441 } 18442 if err := v.Validate(); err != nil { 18443 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 18444 } 18445 } 18446 } 18447 if s.ReplicaProvisionedReadCapacityAutoScalingUpdate != nil { 18448 if err := s.ReplicaProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { 18449 invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 18450 } 18451 } 18452 18453 if invalidParams.Len() > 0 { 18454 return invalidParams 18455 } 18456 return nil 18457 } 18458 18459 // SetRegionName sets the RegionName field's value. 18460 func (s *ReplicaAutoScalingUpdate) SetRegionName(v string) *ReplicaAutoScalingUpdate { 18461 s.RegionName = &v 18462 return s 18463 } 18464 18465 // SetReplicaGlobalSecondaryIndexUpdates sets the ReplicaGlobalSecondaryIndexUpdates field's value. 18466 func (s *ReplicaAutoScalingUpdate) SetReplicaGlobalSecondaryIndexUpdates(v []*ReplicaGlobalSecondaryIndexAutoScalingUpdate) *ReplicaAutoScalingUpdate { 18467 s.ReplicaGlobalSecondaryIndexUpdates = v 18468 return s 18469 } 18470 18471 // SetReplicaProvisionedReadCapacityAutoScalingUpdate sets the ReplicaProvisionedReadCapacityAutoScalingUpdate field's value. 18472 func (s *ReplicaAutoScalingUpdate) SetReplicaProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaAutoScalingUpdate { 18473 s.ReplicaProvisionedReadCapacityAutoScalingUpdate = v 18474 return s 18475 } 18476 18477 // Contains the details of the replica. 18478 type ReplicaDescription struct { 18479 _ struct{} `type:"structure"` 18480 18481 // Replica-specific global secondary index settings. 18482 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexDescription `type:"list"` 18483 18484 // The AWS KMS customer master key (CMK) of the replica that will be used for 18485 // AWS KMS encryption. 18486 KMSMasterKeyId *string `type:"string"` 18487 18488 // Replica-specific provisioned throughput. If not described, uses the source 18489 // table's provisioned throughput settings. 18490 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 18491 18492 // The name of the Region. 18493 RegionName *string `type:"string"` 18494 18495 // The time at which the replica was first detected as inaccessible. To determine 18496 // cause of inaccessibility check the ReplicaStatus property. 18497 ReplicaInaccessibleDateTime *time.Time `type:"timestamp"` 18498 18499 // The current state of the replica: 18500 // 18501 // * CREATING - The replica is being created. 18502 // 18503 // * UPDATING - The replica is being updated. 18504 // 18505 // * DELETING - The replica is being deleted. 18506 // 18507 // * ACTIVE - The replica is ready for use. 18508 // 18509 // * REGION_DISABLED - The replica is inaccessible because the AWS Region 18510 // has been disabled. If the AWS Region remains inaccessible for more than 18511 // 20 hours, DynamoDB will remove this replica from the replication group. 18512 // The replica will not be deleted and replication will stop from and to 18513 // this region. 18514 // 18515 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt 18516 // the table is inaccessible. If the AWS KMS key remains inaccessible for 18517 // more than 20 hours, DynamoDB will remove this replica from the replication 18518 // group. The replica will not be deleted and replication will stop from 18519 // and to this region. 18520 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 18521 18522 // Detailed information about the replica status. 18523 ReplicaStatusDescription *string `type:"string"` 18524 18525 // Specifies the progress of a Create, Update, or Delete action on the replica 18526 // as a percentage. 18527 ReplicaStatusPercentProgress *string `type:"string"` 18528 } 18529 18530 // String returns the string representation. 18531 // 18532 // API parameter values that are decorated as "sensitive" in the API will not 18533 // be included in the string output. The member name will be present, but the 18534 // value will be replaced with "sensitive". 18535 func (s ReplicaDescription) String() string { 18536 return awsutil.Prettify(s) 18537 } 18538 18539 // GoString returns the string representation. 18540 // 18541 // API parameter values that are decorated as "sensitive" in the API will not 18542 // be included in the string output. The member name will be present, but the 18543 // value will be replaced with "sensitive". 18544 func (s ReplicaDescription) GoString() string { 18545 return s.String() 18546 } 18547 18548 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 18549 func (s *ReplicaDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexDescription) *ReplicaDescription { 18550 s.GlobalSecondaryIndexes = v 18551 return s 18552 } 18553 18554 // SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 18555 func (s *ReplicaDescription) SetKMSMasterKeyId(v string) *ReplicaDescription { 18556 s.KMSMasterKeyId = &v 18557 return s 18558 } 18559 18560 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 18561 func (s *ReplicaDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaDescription { 18562 s.ProvisionedThroughputOverride = v 18563 return s 18564 } 18565 18566 // SetRegionName sets the RegionName field's value. 18567 func (s *ReplicaDescription) SetRegionName(v string) *ReplicaDescription { 18568 s.RegionName = &v 18569 return s 18570 } 18571 18572 // SetReplicaInaccessibleDateTime sets the ReplicaInaccessibleDateTime field's value. 18573 func (s *ReplicaDescription) SetReplicaInaccessibleDateTime(v time.Time) *ReplicaDescription { 18574 s.ReplicaInaccessibleDateTime = &v 18575 return s 18576 } 18577 18578 // SetReplicaStatus sets the ReplicaStatus field's value. 18579 func (s *ReplicaDescription) SetReplicaStatus(v string) *ReplicaDescription { 18580 s.ReplicaStatus = &v 18581 return s 18582 } 18583 18584 // SetReplicaStatusDescription sets the ReplicaStatusDescription field's value. 18585 func (s *ReplicaDescription) SetReplicaStatusDescription(v string) *ReplicaDescription { 18586 s.ReplicaStatusDescription = &v 18587 return s 18588 } 18589 18590 // SetReplicaStatusPercentProgress sets the ReplicaStatusPercentProgress field's value. 18591 func (s *ReplicaDescription) SetReplicaStatusPercentProgress(v string) *ReplicaDescription { 18592 s.ReplicaStatusPercentProgress = &v 18593 return s 18594 } 18595 18596 // Represents the properties of a replica global secondary index. 18597 type ReplicaGlobalSecondaryIndex struct { 18598 _ struct{} `type:"structure"` 18599 18600 // The name of the global secondary index. 18601 // 18602 // IndexName is a required field 18603 IndexName *string `min:"3" type:"string" required:"true"` 18604 18605 // Replica table GSI-specific provisioned throughput. If not specified, uses 18606 // the source table GSI's read capacity settings. 18607 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 18608 } 18609 18610 // String returns the string representation. 18611 // 18612 // API parameter values that are decorated as "sensitive" in the API will not 18613 // be included in the string output. The member name will be present, but the 18614 // value will be replaced with "sensitive". 18615 func (s ReplicaGlobalSecondaryIndex) String() string { 18616 return awsutil.Prettify(s) 18617 } 18618 18619 // GoString returns the string representation. 18620 // 18621 // API parameter values that are decorated as "sensitive" in the API will not 18622 // be included in the string output. The member name will be present, but the 18623 // value will be replaced with "sensitive". 18624 func (s ReplicaGlobalSecondaryIndex) GoString() string { 18625 return s.String() 18626 } 18627 18628 // Validate inspects the fields of the type to determine if they are valid. 18629 func (s *ReplicaGlobalSecondaryIndex) Validate() error { 18630 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndex"} 18631 if s.IndexName == nil { 18632 invalidParams.Add(request.NewErrParamRequired("IndexName")) 18633 } 18634 if s.IndexName != nil && len(*s.IndexName) < 3 { 18635 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 18636 } 18637 if s.ProvisionedThroughputOverride != nil { 18638 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 18639 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 18640 } 18641 } 18642 18643 if invalidParams.Len() > 0 { 18644 return invalidParams 18645 } 18646 return nil 18647 } 18648 18649 // SetIndexName sets the IndexName field's value. 18650 func (s *ReplicaGlobalSecondaryIndex) SetIndexName(v string) *ReplicaGlobalSecondaryIndex { 18651 s.IndexName = &v 18652 return s 18653 } 18654 18655 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 18656 func (s *ReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndex { 18657 s.ProvisionedThroughputOverride = v 18658 return s 18659 } 18660 18661 // Represents the auto scaling configuration for a replica global secondary 18662 // index. 18663 type ReplicaGlobalSecondaryIndexAutoScalingDescription struct { 18664 _ struct{} `type:"structure"` 18665 18666 // The name of the global secondary index. 18667 IndexName *string `min:"3" type:"string"` 18668 18669 // The current state of the replica global secondary index: 18670 // 18671 // * CREATING - The index is being created. 18672 // 18673 // * UPDATING - The index is being updated. 18674 // 18675 // * DELETING - The index is being deleted. 18676 // 18677 // * ACTIVE - The index is ready for use. 18678 IndexStatus *string `type:"string" enum:"IndexStatus"` 18679 18680 // Represents the auto scaling settings for a global table or global secondary 18681 // index. 18682 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18683 18684 // Represents the auto scaling settings for a global table or global secondary 18685 // index. 18686 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18687 } 18688 18689 // String returns the string representation. 18690 // 18691 // API parameter values that are decorated as "sensitive" in the API will not 18692 // be included in the string output. The member name will be present, but the 18693 // value will be replaced with "sensitive". 18694 func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) String() string { 18695 return awsutil.Prettify(s) 18696 } 18697 18698 // GoString returns the string representation. 18699 // 18700 // API parameter values that are decorated as "sensitive" in the API will not 18701 // be included in the string output. The member name will be present, but the 18702 // value will be replaced with "sensitive". 18703 func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) GoString() string { 18704 return s.String() 18705 } 18706 18707 // SetIndexName sets the IndexName field's value. 18708 func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 18709 s.IndexName = &v 18710 return s 18711 } 18712 18713 // SetIndexStatus sets the IndexStatus field's value. 18714 func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 18715 s.IndexStatus = &v 18716 return s 18717 } 18718 18719 // SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value. 18720 func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 18721 s.ProvisionedReadCapacityAutoScalingSettings = v 18722 return s 18723 } 18724 18725 // SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value. 18726 func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 18727 s.ProvisionedWriteCapacityAutoScalingSettings = v 18728 return s 18729 } 18730 18731 // Represents the auto scaling settings of a global secondary index for a replica 18732 // that will be modified. 18733 type ReplicaGlobalSecondaryIndexAutoScalingUpdate struct { 18734 _ struct{} `type:"structure"` 18735 18736 // The name of the global secondary index. 18737 IndexName *string `min:"3" type:"string"` 18738 18739 // Represents the auto scaling settings to be modified for a global table or 18740 // global secondary index. 18741 ProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 18742 } 18743 18744 // String returns the string representation. 18745 // 18746 // API parameter values that are decorated as "sensitive" in the API will not 18747 // be included in the string output. The member name will be present, but the 18748 // value will be replaced with "sensitive". 18749 func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) String() string { 18750 return awsutil.Prettify(s) 18751 } 18752 18753 // GoString returns the string representation. 18754 // 18755 // API parameter values that are decorated as "sensitive" in the API will not 18756 // be included in the string output. The member name will be present, but the 18757 // value will be replaced with "sensitive". 18758 func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) GoString() string { 18759 return s.String() 18760 } 18761 18762 // Validate inspects the fields of the type to determine if they are valid. 18763 func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) Validate() error { 18764 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexAutoScalingUpdate"} 18765 if s.IndexName != nil && len(*s.IndexName) < 3 { 18766 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 18767 } 18768 if s.ProvisionedReadCapacityAutoScalingUpdate != nil { 18769 if err := s.ProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { 18770 invalidParams.AddNested("ProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 18771 } 18772 } 18773 18774 if invalidParams.Len() > 0 { 18775 return invalidParams 18776 } 18777 return nil 18778 } 18779 18780 // SetIndexName sets the IndexName field's value. 18781 func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { 18782 s.IndexName = &v 18783 return s 18784 } 18785 18786 // SetProvisionedReadCapacityAutoScalingUpdate sets the ProvisionedReadCapacityAutoScalingUpdate field's value. 18787 func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { 18788 s.ProvisionedReadCapacityAutoScalingUpdate = v 18789 return s 18790 } 18791 18792 // Represents the properties of a replica global secondary index. 18793 type ReplicaGlobalSecondaryIndexDescription struct { 18794 _ struct{} `type:"structure"` 18795 18796 // The name of the global secondary index. 18797 IndexName *string `min:"3" type:"string"` 18798 18799 // If not described, uses the source table GSI's read capacity settings. 18800 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 18801 } 18802 18803 // String returns the string representation. 18804 // 18805 // API parameter values that are decorated as "sensitive" in the API will not 18806 // be included in the string output. The member name will be present, but the 18807 // value will be replaced with "sensitive". 18808 func (s ReplicaGlobalSecondaryIndexDescription) String() string { 18809 return awsutil.Prettify(s) 18810 } 18811 18812 // GoString returns the string representation. 18813 // 18814 // API parameter values that are decorated as "sensitive" in the API will not 18815 // be included in the string output. The member name will be present, but the 18816 // value will be replaced with "sensitive". 18817 func (s ReplicaGlobalSecondaryIndexDescription) GoString() string { 18818 return s.String() 18819 } 18820 18821 // SetIndexName sets the IndexName field's value. 18822 func (s *ReplicaGlobalSecondaryIndexDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexDescription { 18823 s.IndexName = &v 18824 return s 18825 } 18826 18827 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 18828 func (s *ReplicaGlobalSecondaryIndexDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndexDescription { 18829 s.ProvisionedThroughputOverride = v 18830 return s 18831 } 18832 18833 // Represents the properties of a global secondary index. 18834 type ReplicaGlobalSecondaryIndexSettingsDescription struct { 18835 _ struct{} `type:"structure"` 18836 18837 // The name of the global secondary index. The name must be unique among all 18838 // other indexes on this table. 18839 // 18840 // IndexName is a required field 18841 IndexName *string `min:"3" type:"string" required:"true"` 18842 18843 // The current status of the global secondary index: 18844 // 18845 // * CREATING - The global secondary index is being created. 18846 // 18847 // * UPDATING - The global secondary index is being updated. 18848 // 18849 // * DELETING - The global secondary index is being deleted. 18850 // 18851 // * ACTIVE - The global secondary index is ready for use. 18852 IndexStatus *string `type:"string" enum:"IndexStatus"` 18853 18854 // Auto scaling settings for a global secondary index replica's read capacity 18855 // units. 18856 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18857 18858 // The maximum number of strongly consistent reads consumed per second before 18859 // DynamoDB returns a ThrottlingException. 18860 ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 18861 18862 // Auto scaling settings for a global secondary index replica's write capacity 18863 // units. 18864 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 18865 18866 // The maximum number of writes consumed per second before DynamoDB returns 18867 // a ThrottlingException. 18868 ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 18869 } 18870 18871 // String returns the string representation. 18872 // 18873 // API parameter values that are decorated as "sensitive" in the API will not 18874 // be included in the string output. The member name will be present, but the 18875 // value will be replaced with "sensitive". 18876 func (s ReplicaGlobalSecondaryIndexSettingsDescription) String() string { 18877 return awsutil.Prettify(s) 18878 } 18879 18880 // GoString returns the string representation. 18881 // 18882 // API parameter values that are decorated as "sensitive" in the API will not 18883 // be included in the string output. The member name will be present, but the 18884 // value will be replaced with "sensitive". 18885 func (s ReplicaGlobalSecondaryIndexSettingsDescription) GoString() string { 18886 return s.String() 18887 } 18888 18889 // SetIndexName sets the IndexName field's value. 18890 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsDescription { 18891 s.IndexName = &v 18892 return s 18893 } 18894 18895 // SetIndexStatus sets the IndexStatus field's value. 18896 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexSettingsDescription { 18897 s.IndexStatus = &v 18898 return s 18899 } 18900 18901 // SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value. 18902 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription { 18903 s.ProvisionedReadCapacityAutoScalingSettings = v 18904 return s 18905 } 18906 18907 // SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value. 18908 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription { 18909 s.ProvisionedReadCapacityUnits = &v 18910 return s 18911 } 18912 18913 // SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value. 18914 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription { 18915 s.ProvisionedWriteCapacityAutoScalingSettings = v 18916 return s 18917 } 18918 18919 // SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value. 18920 func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription { 18921 s.ProvisionedWriteCapacityUnits = &v 18922 return s 18923 } 18924 18925 // Represents the settings of a global secondary index for a global table that 18926 // will be modified. 18927 type ReplicaGlobalSecondaryIndexSettingsUpdate struct { 18928 _ struct{} `type:"structure"` 18929 18930 // The name of the global secondary index. The name must be unique among all 18931 // other indexes on this table. 18932 // 18933 // IndexName is a required field 18934 IndexName *string `min:"3" type:"string" required:"true"` 18935 18936 // Auto scaling settings for managing a global secondary index replica's read 18937 // capacity units. 18938 ProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 18939 18940 // The maximum number of strongly consistent reads consumed per second before 18941 // DynamoDB returns a ThrottlingException. 18942 ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 18943 } 18944 18945 // String returns the string representation. 18946 // 18947 // API parameter values that are decorated as "sensitive" in the API will not 18948 // be included in the string output. The member name will be present, but the 18949 // value will be replaced with "sensitive". 18950 func (s ReplicaGlobalSecondaryIndexSettingsUpdate) String() string { 18951 return awsutil.Prettify(s) 18952 } 18953 18954 // GoString returns the string representation. 18955 // 18956 // API parameter values that are decorated as "sensitive" in the API will not 18957 // be included in the string output. The member name will be present, but the 18958 // value will be replaced with "sensitive". 18959 func (s ReplicaGlobalSecondaryIndexSettingsUpdate) GoString() string { 18960 return s.String() 18961 } 18962 18963 // Validate inspects the fields of the type to determine if they are valid. 18964 func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) Validate() error { 18965 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexSettingsUpdate"} 18966 if s.IndexName == nil { 18967 invalidParams.Add(request.NewErrParamRequired("IndexName")) 18968 } 18969 if s.IndexName != nil && len(*s.IndexName) < 3 { 18970 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 18971 } 18972 if s.ProvisionedReadCapacityUnits != nil && *s.ProvisionedReadCapacityUnits < 1 { 18973 invalidParams.Add(request.NewErrParamMinValue("ProvisionedReadCapacityUnits", 1)) 18974 } 18975 if s.ProvisionedReadCapacityAutoScalingSettingsUpdate != nil { 18976 if err := s.ProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 18977 invalidParams.AddNested("ProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 18978 } 18979 } 18980 18981 if invalidParams.Len() > 0 { 18982 return invalidParams 18983 } 18984 return nil 18985 } 18986 18987 // SetIndexName sets the IndexName field's value. 18988 func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsUpdate { 18989 s.IndexName = &v 18990 return s 18991 } 18992 18993 // SetProvisionedReadCapacityAutoScalingSettingsUpdate sets the ProvisionedReadCapacityAutoScalingSettingsUpdate field's value. 18994 func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexSettingsUpdate { 18995 s.ProvisionedReadCapacityAutoScalingSettingsUpdate = v 18996 return s 18997 } 18998 18999 // SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value. 19000 func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsUpdate { 19001 s.ProvisionedReadCapacityUnits = &v 19002 return s 19003 } 19004 19005 // The specified replica is no longer part of the global table. 19006 type ReplicaNotFoundException struct { 19007 _ struct{} `type:"structure"` 19008 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19009 19010 Message_ *string `locationName:"message" type:"string"` 19011 } 19012 19013 // String returns the string representation. 19014 // 19015 // API parameter values that are decorated as "sensitive" in the API will not 19016 // be included in the string output. The member name will be present, but the 19017 // value will be replaced with "sensitive". 19018 func (s ReplicaNotFoundException) String() string { 19019 return awsutil.Prettify(s) 19020 } 19021 19022 // GoString returns the string representation. 19023 // 19024 // API parameter values that are decorated as "sensitive" in the API will not 19025 // be included in the string output. The member name will be present, but the 19026 // value will be replaced with "sensitive". 19027 func (s ReplicaNotFoundException) GoString() string { 19028 return s.String() 19029 } 19030 19031 func newErrorReplicaNotFoundException(v protocol.ResponseMetadata) error { 19032 return &ReplicaNotFoundException{ 19033 RespMetadata: v, 19034 } 19035 } 19036 19037 // Code returns the exception type name. 19038 func (s *ReplicaNotFoundException) Code() string { 19039 return "ReplicaNotFoundException" 19040 } 19041 19042 // Message returns the exception's message. 19043 func (s *ReplicaNotFoundException) Message() string { 19044 if s.Message_ != nil { 19045 return *s.Message_ 19046 } 19047 return "" 19048 } 19049 19050 // OrigErr always returns nil, satisfies awserr.Error interface. 19051 func (s *ReplicaNotFoundException) OrigErr() error { 19052 return nil 19053 } 19054 19055 func (s *ReplicaNotFoundException) Error() string { 19056 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19057 } 19058 19059 // Status code returns the HTTP status code for the request's response error. 19060 func (s *ReplicaNotFoundException) StatusCode() int { 19061 return s.RespMetadata.StatusCode 19062 } 19063 19064 // RequestID returns the service's response RequestID for request. 19065 func (s *ReplicaNotFoundException) RequestID() string { 19066 return s.RespMetadata.RequestID 19067 } 19068 19069 // Represents the properties of a replica. 19070 type ReplicaSettingsDescription struct { 19071 _ struct{} `type:"structure"` 19072 19073 // The Region name of the replica. 19074 // 19075 // RegionName is a required field 19076 RegionName *string `type:"string" required:"true"` 19077 19078 // The read/write capacity mode of the replica. 19079 ReplicaBillingModeSummary *BillingModeSummary `type:"structure"` 19080 19081 // Replica global secondary index settings for the global table. 19082 ReplicaGlobalSecondaryIndexSettings []*ReplicaGlobalSecondaryIndexSettingsDescription `type:"list"` 19083 19084 // Auto scaling settings for a global table replica's read capacity units. 19085 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 19086 19087 // The maximum number of strongly consistent reads consumed per second before 19088 // DynamoDB returns a ThrottlingException. For more information, see Specifying 19089 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 19090 // in the Amazon DynamoDB Developer Guide. 19091 ReplicaProvisionedReadCapacityUnits *int64 `type:"long"` 19092 19093 // Auto scaling settings for a global table replica's write capacity units. 19094 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 19095 19096 // The maximum number of writes consumed per second before DynamoDB returns 19097 // a ThrottlingException. For more information, see Specifying Read and Write 19098 // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 19099 // in the Amazon DynamoDB Developer Guide. 19100 ReplicaProvisionedWriteCapacityUnits *int64 `type:"long"` 19101 19102 // The current state of the Region: 19103 // 19104 // * CREATING - The Region is being created. 19105 // 19106 // * UPDATING - The Region is being updated. 19107 // 19108 // * DELETING - The Region is being deleted. 19109 // 19110 // * ACTIVE - The Region is ready for use. 19111 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 19112 } 19113 19114 // String returns the string representation. 19115 // 19116 // API parameter values that are decorated as "sensitive" in the API will not 19117 // be included in the string output. The member name will be present, but the 19118 // value will be replaced with "sensitive". 19119 func (s ReplicaSettingsDescription) String() string { 19120 return awsutil.Prettify(s) 19121 } 19122 19123 // GoString returns the string representation. 19124 // 19125 // API parameter values that are decorated as "sensitive" in the API will not 19126 // be included in the string output. The member name will be present, but the 19127 // value will be replaced with "sensitive". 19128 func (s ReplicaSettingsDescription) GoString() string { 19129 return s.String() 19130 } 19131 19132 // SetRegionName sets the RegionName field's value. 19133 func (s *ReplicaSettingsDescription) SetRegionName(v string) *ReplicaSettingsDescription { 19134 s.RegionName = &v 19135 return s 19136 } 19137 19138 // SetReplicaBillingModeSummary sets the ReplicaBillingModeSummary field's value. 19139 func (s *ReplicaSettingsDescription) SetReplicaBillingModeSummary(v *BillingModeSummary) *ReplicaSettingsDescription { 19140 s.ReplicaBillingModeSummary = v 19141 return s 19142 } 19143 19144 // SetReplicaGlobalSecondaryIndexSettings sets the ReplicaGlobalSecondaryIndexSettings field's value. 19145 func (s *ReplicaSettingsDescription) SetReplicaGlobalSecondaryIndexSettings(v []*ReplicaGlobalSecondaryIndexSettingsDescription) *ReplicaSettingsDescription { 19146 s.ReplicaGlobalSecondaryIndexSettings = v 19147 return s 19148 } 19149 19150 // SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value. 19151 func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription { 19152 s.ReplicaProvisionedReadCapacityAutoScalingSettings = v 19153 return s 19154 } 19155 19156 // SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value. 19157 func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsDescription { 19158 s.ReplicaProvisionedReadCapacityUnits = &v 19159 return s 19160 } 19161 19162 // SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value. 19163 func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription { 19164 s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v 19165 return s 19166 } 19167 19168 // SetReplicaProvisionedWriteCapacityUnits sets the ReplicaProvisionedWriteCapacityUnits field's value. 19169 func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityUnits(v int64) *ReplicaSettingsDescription { 19170 s.ReplicaProvisionedWriteCapacityUnits = &v 19171 return s 19172 } 19173 19174 // SetReplicaStatus sets the ReplicaStatus field's value. 19175 func (s *ReplicaSettingsDescription) SetReplicaStatus(v string) *ReplicaSettingsDescription { 19176 s.ReplicaStatus = &v 19177 return s 19178 } 19179 19180 // Represents the settings for a global table in a Region that will be modified. 19181 type ReplicaSettingsUpdate struct { 19182 _ struct{} `type:"structure"` 19183 19184 // The Region of the replica to be added. 19185 // 19186 // RegionName is a required field 19187 RegionName *string `type:"string" required:"true"` 19188 19189 // Represents the settings of a global secondary index for a global table that 19190 // will be modified. 19191 ReplicaGlobalSecondaryIndexSettingsUpdate []*ReplicaGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"` 19192 19193 // Auto scaling settings for managing a global table replica's read capacity 19194 // units. 19195 ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 19196 19197 // The maximum number of strongly consistent reads consumed per second before 19198 // DynamoDB returns a ThrottlingException. For more information, see Specifying 19199 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 19200 // in the Amazon DynamoDB Developer Guide. 19201 ReplicaProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 19202 } 19203 19204 // String returns the string representation. 19205 // 19206 // API parameter values that are decorated as "sensitive" in the API will not 19207 // be included in the string output. The member name will be present, but the 19208 // value will be replaced with "sensitive". 19209 func (s ReplicaSettingsUpdate) String() string { 19210 return awsutil.Prettify(s) 19211 } 19212 19213 // GoString returns the string representation. 19214 // 19215 // API parameter values that are decorated as "sensitive" in the API will not 19216 // be included in the string output. The member name will be present, but the 19217 // value will be replaced with "sensitive". 19218 func (s ReplicaSettingsUpdate) GoString() string { 19219 return s.String() 19220 } 19221 19222 // Validate inspects the fields of the type to determine if they are valid. 19223 func (s *ReplicaSettingsUpdate) Validate() error { 19224 invalidParams := request.ErrInvalidParams{Context: "ReplicaSettingsUpdate"} 19225 if s.RegionName == nil { 19226 invalidParams.Add(request.NewErrParamRequired("RegionName")) 19227 } 19228 if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil && len(s.ReplicaGlobalSecondaryIndexSettingsUpdate) < 1 { 19229 invalidParams.Add(request.NewErrParamMinLen("ReplicaGlobalSecondaryIndexSettingsUpdate", 1)) 19230 } 19231 if s.ReplicaProvisionedReadCapacityUnits != nil && *s.ReplicaProvisionedReadCapacityUnits < 1 { 19232 invalidParams.Add(request.NewErrParamMinValue("ReplicaProvisionedReadCapacityUnits", 1)) 19233 } 19234 if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil { 19235 for i, v := range s.ReplicaGlobalSecondaryIndexSettingsUpdate { 19236 if v == nil { 19237 continue 19238 } 19239 if err := v.Validate(); err != nil { 19240 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams)) 19241 } 19242 } 19243 } 19244 if s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate != nil { 19245 if err := s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 19246 invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 19247 } 19248 } 19249 19250 if invalidParams.Len() > 0 { 19251 return invalidParams 19252 } 19253 return nil 19254 } 19255 19256 // SetRegionName sets the RegionName field's value. 19257 func (s *ReplicaSettingsUpdate) SetRegionName(v string) *ReplicaSettingsUpdate { 19258 s.RegionName = &v 19259 return s 19260 } 19261 19262 // SetReplicaGlobalSecondaryIndexSettingsUpdate sets the ReplicaGlobalSecondaryIndexSettingsUpdate field's value. 19263 func (s *ReplicaSettingsUpdate) SetReplicaGlobalSecondaryIndexSettingsUpdate(v []*ReplicaGlobalSecondaryIndexSettingsUpdate) *ReplicaSettingsUpdate { 19264 s.ReplicaGlobalSecondaryIndexSettingsUpdate = v 19265 return s 19266 } 19267 19268 // SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate sets the ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate field's value. 19269 func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaSettingsUpdate { 19270 s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate = v 19271 return s 19272 } 19273 19274 // SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value. 19275 func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsUpdate { 19276 s.ReplicaProvisionedReadCapacityUnits = &v 19277 return s 19278 } 19279 19280 // Represents one of the following: 19281 // 19282 // * A new replica to be added to an existing global table. 19283 // 19284 // * New parameters for an existing replica. 19285 // 19286 // * An existing replica to be removed from an existing global table. 19287 type ReplicaUpdate struct { 19288 _ struct{} `type:"structure"` 19289 19290 // The parameters required for creating a replica on an existing global table. 19291 Create *CreateReplicaAction `type:"structure"` 19292 19293 // The name of the existing replica to be removed. 19294 Delete *DeleteReplicaAction `type:"structure"` 19295 } 19296 19297 // String returns the string representation. 19298 // 19299 // API parameter values that are decorated as "sensitive" in the API will not 19300 // be included in the string output. The member name will be present, but the 19301 // value will be replaced with "sensitive". 19302 func (s ReplicaUpdate) String() string { 19303 return awsutil.Prettify(s) 19304 } 19305 19306 // GoString returns the string representation. 19307 // 19308 // API parameter values that are decorated as "sensitive" in the API will not 19309 // be included in the string output. The member name will be present, but the 19310 // value will be replaced with "sensitive". 19311 func (s ReplicaUpdate) GoString() string { 19312 return s.String() 19313 } 19314 19315 // Validate inspects the fields of the type to determine if they are valid. 19316 func (s *ReplicaUpdate) Validate() error { 19317 invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"} 19318 if s.Create != nil { 19319 if err := s.Create.Validate(); err != nil { 19320 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 19321 } 19322 } 19323 if s.Delete != nil { 19324 if err := s.Delete.Validate(); err != nil { 19325 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 19326 } 19327 } 19328 19329 if invalidParams.Len() > 0 { 19330 return invalidParams 19331 } 19332 return nil 19333 } 19334 19335 // SetCreate sets the Create field's value. 19336 func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate { 19337 s.Create = v 19338 return s 19339 } 19340 19341 // SetDelete sets the Delete field's value. 19342 func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate { 19343 s.Delete = v 19344 return s 19345 } 19346 19347 // Represents one of the following: 19348 // 19349 // * A new replica to be added to an existing regional table or global table. 19350 // This request invokes the CreateTableReplica action in the destination 19351 // Region. 19352 // 19353 // * New parameters for an existing replica. This request invokes the UpdateTable 19354 // action in the destination Region. 19355 // 19356 // * An existing replica to be deleted. The request invokes the DeleteTableReplica 19357 // action in the destination Region, deleting the replica and all if its 19358 // items in the destination Region. 19359 type ReplicationGroupUpdate struct { 19360 _ struct{} `type:"structure"` 19361 19362 // The parameters required for creating a replica for the table. 19363 Create *CreateReplicationGroupMemberAction `type:"structure"` 19364 19365 // The parameters required for deleting a replica for the table. 19366 Delete *DeleteReplicationGroupMemberAction `type:"structure"` 19367 19368 // The parameters required for updating a replica for the table. 19369 Update *UpdateReplicationGroupMemberAction `type:"structure"` 19370 } 19371 19372 // String returns the string representation. 19373 // 19374 // API parameter values that are decorated as "sensitive" in the API will not 19375 // be included in the string output. The member name will be present, but the 19376 // value will be replaced with "sensitive". 19377 func (s ReplicationGroupUpdate) String() string { 19378 return awsutil.Prettify(s) 19379 } 19380 19381 // GoString returns the string representation. 19382 // 19383 // API parameter values that are decorated as "sensitive" in the API will not 19384 // be included in the string output. The member name will be present, but the 19385 // value will be replaced with "sensitive". 19386 func (s ReplicationGroupUpdate) GoString() string { 19387 return s.String() 19388 } 19389 19390 // Validate inspects the fields of the type to determine if they are valid. 19391 func (s *ReplicationGroupUpdate) Validate() error { 19392 invalidParams := request.ErrInvalidParams{Context: "ReplicationGroupUpdate"} 19393 if s.Create != nil { 19394 if err := s.Create.Validate(); err != nil { 19395 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 19396 } 19397 } 19398 if s.Delete != nil { 19399 if err := s.Delete.Validate(); err != nil { 19400 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 19401 } 19402 } 19403 if s.Update != nil { 19404 if err := s.Update.Validate(); err != nil { 19405 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 19406 } 19407 } 19408 19409 if invalidParams.Len() > 0 { 19410 return invalidParams 19411 } 19412 return nil 19413 } 19414 19415 // SetCreate sets the Create field's value. 19416 func (s *ReplicationGroupUpdate) SetCreate(v *CreateReplicationGroupMemberAction) *ReplicationGroupUpdate { 19417 s.Create = v 19418 return s 19419 } 19420 19421 // SetDelete sets the Delete field's value. 19422 func (s *ReplicationGroupUpdate) SetDelete(v *DeleteReplicationGroupMemberAction) *ReplicationGroupUpdate { 19423 s.Delete = v 19424 return s 19425 } 19426 19427 // SetUpdate sets the Update field's value. 19428 func (s *ReplicationGroupUpdate) SetUpdate(v *UpdateReplicationGroupMemberAction) *ReplicationGroupUpdate { 19429 s.Update = v 19430 return s 19431 } 19432 19433 // Throughput exceeds the current throughput quota for your account. Please 19434 // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 19435 // a quota increase. 19436 type RequestLimitExceeded struct { 19437 _ struct{} `type:"structure"` 19438 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19439 19440 Message_ *string `locationName:"message" type:"string"` 19441 } 19442 19443 // String returns the string representation. 19444 // 19445 // API parameter values that are decorated as "sensitive" in the API will not 19446 // be included in the string output. The member name will be present, but the 19447 // value will be replaced with "sensitive". 19448 func (s RequestLimitExceeded) String() string { 19449 return awsutil.Prettify(s) 19450 } 19451 19452 // GoString returns the string representation. 19453 // 19454 // API parameter values that are decorated as "sensitive" in the API will not 19455 // be included in the string output. The member name will be present, but the 19456 // value will be replaced with "sensitive". 19457 func (s RequestLimitExceeded) GoString() string { 19458 return s.String() 19459 } 19460 19461 func newErrorRequestLimitExceeded(v protocol.ResponseMetadata) error { 19462 return &RequestLimitExceeded{ 19463 RespMetadata: v, 19464 } 19465 } 19466 19467 // Code returns the exception type name. 19468 func (s *RequestLimitExceeded) Code() string { 19469 return "RequestLimitExceeded" 19470 } 19471 19472 // Message returns the exception's message. 19473 func (s *RequestLimitExceeded) Message() string { 19474 if s.Message_ != nil { 19475 return *s.Message_ 19476 } 19477 return "" 19478 } 19479 19480 // OrigErr always returns nil, satisfies awserr.Error interface. 19481 func (s *RequestLimitExceeded) OrigErr() error { 19482 return nil 19483 } 19484 19485 func (s *RequestLimitExceeded) Error() string { 19486 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19487 } 19488 19489 // Status code returns the HTTP status code for the request's response error. 19490 func (s *RequestLimitExceeded) StatusCode() int { 19491 return s.RespMetadata.StatusCode 19492 } 19493 19494 // RequestID returns the service's response RequestID for request. 19495 func (s *RequestLimitExceeded) RequestID() string { 19496 return s.RespMetadata.RequestID 19497 } 19498 19499 // The operation conflicts with the resource's availability. For example, you 19500 // attempted to recreate an existing table, or tried to delete a table currently 19501 // in the CREATING state. 19502 type ResourceInUseException struct { 19503 _ struct{} `type:"structure"` 19504 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19505 19506 // The resource which is being attempted to be changed is in use. 19507 Message_ *string `locationName:"message" type:"string"` 19508 } 19509 19510 // String returns the string representation. 19511 // 19512 // API parameter values that are decorated as "sensitive" in the API will not 19513 // be included in the string output. The member name will be present, but the 19514 // value will be replaced with "sensitive". 19515 func (s ResourceInUseException) String() string { 19516 return awsutil.Prettify(s) 19517 } 19518 19519 // GoString returns the string representation. 19520 // 19521 // API parameter values that are decorated as "sensitive" in the API will not 19522 // be included in the string output. The member name will be present, but the 19523 // value will be replaced with "sensitive". 19524 func (s ResourceInUseException) GoString() string { 19525 return s.String() 19526 } 19527 19528 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 19529 return &ResourceInUseException{ 19530 RespMetadata: v, 19531 } 19532 } 19533 19534 // Code returns the exception type name. 19535 func (s *ResourceInUseException) Code() string { 19536 return "ResourceInUseException" 19537 } 19538 19539 // Message returns the exception's message. 19540 func (s *ResourceInUseException) Message() string { 19541 if s.Message_ != nil { 19542 return *s.Message_ 19543 } 19544 return "" 19545 } 19546 19547 // OrigErr always returns nil, satisfies awserr.Error interface. 19548 func (s *ResourceInUseException) OrigErr() error { 19549 return nil 19550 } 19551 19552 func (s *ResourceInUseException) Error() string { 19553 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19554 } 19555 19556 // Status code returns the HTTP status code for the request's response error. 19557 func (s *ResourceInUseException) StatusCode() int { 19558 return s.RespMetadata.StatusCode 19559 } 19560 19561 // RequestID returns the service's response RequestID for request. 19562 func (s *ResourceInUseException) RequestID() string { 19563 return s.RespMetadata.RequestID 19564 } 19565 19566 // The operation tried to access a nonexistent table or index. The resource 19567 // might not be specified correctly, or its status might not be ACTIVE. 19568 type ResourceNotFoundException struct { 19569 _ struct{} `type:"structure"` 19570 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19571 19572 // The resource which is being requested does not exist. 19573 Message_ *string `locationName:"message" type:"string"` 19574 } 19575 19576 // String returns the string representation. 19577 // 19578 // API parameter values that are decorated as "sensitive" in the API will not 19579 // be included in the string output. The member name will be present, but the 19580 // value will be replaced with "sensitive". 19581 func (s ResourceNotFoundException) String() string { 19582 return awsutil.Prettify(s) 19583 } 19584 19585 // GoString returns the string representation. 19586 // 19587 // API parameter values that are decorated as "sensitive" in the API will not 19588 // be included in the string output. The member name will be present, but the 19589 // value will be replaced with "sensitive". 19590 func (s ResourceNotFoundException) GoString() string { 19591 return s.String() 19592 } 19593 19594 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 19595 return &ResourceNotFoundException{ 19596 RespMetadata: v, 19597 } 19598 } 19599 19600 // Code returns the exception type name. 19601 func (s *ResourceNotFoundException) Code() string { 19602 return "ResourceNotFoundException" 19603 } 19604 19605 // Message returns the exception's message. 19606 func (s *ResourceNotFoundException) Message() string { 19607 if s.Message_ != nil { 19608 return *s.Message_ 19609 } 19610 return "" 19611 } 19612 19613 // OrigErr always returns nil, satisfies awserr.Error interface. 19614 func (s *ResourceNotFoundException) OrigErr() error { 19615 return nil 19616 } 19617 19618 func (s *ResourceNotFoundException) Error() string { 19619 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19620 } 19621 19622 // Status code returns the HTTP status code for the request's response error. 19623 func (s *ResourceNotFoundException) StatusCode() int { 19624 return s.RespMetadata.StatusCode 19625 } 19626 19627 // RequestID returns the service's response RequestID for request. 19628 func (s *ResourceNotFoundException) RequestID() string { 19629 return s.RespMetadata.RequestID 19630 } 19631 19632 // Contains details for the restore. 19633 type RestoreSummary struct { 19634 _ struct{} `type:"structure"` 19635 19636 // Point in time or source backup time. 19637 // 19638 // RestoreDateTime is a required field 19639 RestoreDateTime *time.Time `type:"timestamp" required:"true"` 19640 19641 // Indicates if a restore is in progress or not. 19642 // 19643 // RestoreInProgress is a required field 19644 RestoreInProgress *bool `type:"boolean" required:"true"` 19645 19646 // The Amazon Resource Name (ARN) of the backup from which the table was restored. 19647 SourceBackupArn *string `min:"37" type:"string"` 19648 19649 // The ARN of the source table of the backup that is being restored. 19650 SourceTableArn *string `type:"string"` 19651 } 19652 19653 // String returns the string representation. 19654 // 19655 // API parameter values that are decorated as "sensitive" in the API will not 19656 // be included in the string output. The member name will be present, but the 19657 // value will be replaced with "sensitive". 19658 func (s RestoreSummary) String() string { 19659 return awsutil.Prettify(s) 19660 } 19661 19662 // GoString returns the string representation. 19663 // 19664 // API parameter values that are decorated as "sensitive" in the API will not 19665 // be included in the string output. The member name will be present, but the 19666 // value will be replaced with "sensitive". 19667 func (s RestoreSummary) GoString() string { 19668 return s.String() 19669 } 19670 19671 // SetRestoreDateTime sets the RestoreDateTime field's value. 19672 func (s *RestoreSummary) SetRestoreDateTime(v time.Time) *RestoreSummary { 19673 s.RestoreDateTime = &v 19674 return s 19675 } 19676 19677 // SetRestoreInProgress sets the RestoreInProgress field's value. 19678 func (s *RestoreSummary) SetRestoreInProgress(v bool) *RestoreSummary { 19679 s.RestoreInProgress = &v 19680 return s 19681 } 19682 19683 // SetSourceBackupArn sets the SourceBackupArn field's value. 19684 func (s *RestoreSummary) SetSourceBackupArn(v string) *RestoreSummary { 19685 s.SourceBackupArn = &v 19686 return s 19687 } 19688 19689 // SetSourceTableArn sets the SourceTableArn field's value. 19690 func (s *RestoreSummary) SetSourceTableArn(v string) *RestoreSummary { 19691 s.SourceTableArn = &v 19692 return s 19693 } 19694 19695 type RestoreTableFromBackupInput struct { 19696 _ struct{} `type:"structure"` 19697 19698 // The Amazon Resource Name (ARN) associated with the backup. 19699 // 19700 // BackupArn is a required field 19701 BackupArn *string `min:"37" type:"string" required:"true"` 19702 19703 // The billing mode of the restored table. 19704 BillingModeOverride *string `type:"string" enum:"BillingMode"` 19705 19706 // List of global secondary indexes for the restored table. The indexes provided 19707 // should match existing secondary indexes. You can choose to exclude some or 19708 // all of the indexes at the time of restore. 19709 GlobalSecondaryIndexOverride []*GlobalSecondaryIndex `type:"list"` 19710 19711 // List of local secondary indexes for the restored table. The indexes provided 19712 // should match existing secondary indexes. You can choose to exclude some or 19713 // all of the indexes at the time of restore. 19714 LocalSecondaryIndexOverride []*LocalSecondaryIndex `type:"list"` 19715 19716 // Provisioned throughput settings for the restored table. 19717 ProvisionedThroughputOverride *ProvisionedThroughput `type:"structure"` 19718 19719 // The new server-side encryption settings for the restored table. 19720 SSESpecificationOverride *SSESpecification `type:"structure"` 19721 19722 // The name of the new table to which the backup must be restored. 19723 // 19724 // TargetTableName is a required field 19725 TargetTableName *string `min:"3" type:"string" required:"true"` 19726 } 19727 19728 // String returns the string representation. 19729 // 19730 // API parameter values that are decorated as "sensitive" in the API will not 19731 // be included in the string output. The member name will be present, but the 19732 // value will be replaced with "sensitive". 19733 func (s RestoreTableFromBackupInput) String() string { 19734 return awsutil.Prettify(s) 19735 } 19736 19737 // GoString returns the string representation. 19738 // 19739 // API parameter values that are decorated as "sensitive" in the API will not 19740 // be included in the string output. The member name will be present, but the 19741 // value will be replaced with "sensitive". 19742 func (s RestoreTableFromBackupInput) GoString() string { 19743 return s.String() 19744 } 19745 19746 // Validate inspects the fields of the type to determine if they are valid. 19747 func (s *RestoreTableFromBackupInput) Validate() error { 19748 invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromBackupInput"} 19749 if s.BackupArn == nil { 19750 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 19751 } 19752 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 19753 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 19754 } 19755 if s.TargetTableName == nil { 19756 invalidParams.Add(request.NewErrParamRequired("TargetTableName")) 19757 } 19758 if s.TargetTableName != nil && len(*s.TargetTableName) < 3 { 19759 invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3)) 19760 } 19761 if s.GlobalSecondaryIndexOverride != nil { 19762 for i, v := range s.GlobalSecondaryIndexOverride { 19763 if v == nil { 19764 continue 19765 } 19766 if err := v.Validate(); err != nil { 19767 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 19768 } 19769 } 19770 } 19771 if s.LocalSecondaryIndexOverride != nil { 19772 for i, v := range s.LocalSecondaryIndexOverride { 19773 if v == nil { 19774 continue 19775 } 19776 if err := v.Validate(); err != nil { 19777 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 19778 } 19779 } 19780 } 19781 if s.ProvisionedThroughputOverride != nil { 19782 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 19783 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 19784 } 19785 } 19786 19787 if invalidParams.Len() > 0 { 19788 return invalidParams 19789 } 19790 return nil 19791 } 19792 19793 // SetBackupArn sets the BackupArn field's value. 19794 func (s *RestoreTableFromBackupInput) SetBackupArn(v string) *RestoreTableFromBackupInput { 19795 s.BackupArn = &v 19796 return s 19797 } 19798 19799 // SetBillingModeOverride sets the BillingModeOverride field's value. 19800 func (s *RestoreTableFromBackupInput) SetBillingModeOverride(v string) *RestoreTableFromBackupInput { 19801 s.BillingModeOverride = &v 19802 return s 19803 } 19804 19805 // SetGlobalSecondaryIndexOverride sets the GlobalSecondaryIndexOverride field's value. 19806 func (s *RestoreTableFromBackupInput) SetGlobalSecondaryIndexOverride(v []*GlobalSecondaryIndex) *RestoreTableFromBackupInput { 19807 s.GlobalSecondaryIndexOverride = v 19808 return s 19809 } 19810 19811 // SetLocalSecondaryIndexOverride sets the LocalSecondaryIndexOverride field's value. 19812 func (s *RestoreTableFromBackupInput) SetLocalSecondaryIndexOverride(v []*LocalSecondaryIndex) *RestoreTableFromBackupInput { 19813 s.LocalSecondaryIndexOverride = v 19814 return s 19815 } 19816 19817 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 19818 func (s *RestoreTableFromBackupInput) SetProvisionedThroughputOverride(v *ProvisionedThroughput) *RestoreTableFromBackupInput { 19819 s.ProvisionedThroughputOverride = v 19820 return s 19821 } 19822 19823 // SetSSESpecificationOverride sets the SSESpecificationOverride field's value. 19824 func (s *RestoreTableFromBackupInput) SetSSESpecificationOverride(v *SSESpecification) *RestoreTableFromBackupInput { 19825 s.SSESpecificationOverride = v 19826 return s 19827 } 19828 19829 // SetTargetTableName sets the TargetTableName field's value. 19830 func (s *RestoreTableFromBackupInput) SetTargetTableName(v string) *RestoreTableFromBackupInput { 19831 s.TargetTableName = &v 19832 return s 19833 } 19834 19835 type RestoreTableFromBackupOutput struct { 19836 _ struct{} `type:"structure"` 19837 19838 // The description of the table created from an existing backup. 19839 TableDescription *TableDescription `type:"structure"` 19840 } 19841 19842 // String returns the string representation. 19843 // 19844 // API parameter values that are decorated as "sensitive" in the API will not 19845 // be included in the string output. The member name will be present, but the 19846 // value will be replaced with "sensitive". 19847 func (s RestoreTableFromBackupOutput) String() string { 19848 return awsutil.Prettify(s) 19849 } 19850 19851 // GoString returns the string representation. 19852 // 19853 // API parameter values that are decorated as "sensitive" in the API will not 19854 // be included in the string output. The member name will be present, but the 19855 // value will be replaced with "sensitive". 19856 func (s RestoreTableFromBackupOutput) GoString() string { 19857 return s.String() 19858 } 19859 19860 // SetTableDescription sets the TableDescription field's value. 19861 func (s *RestoreTableFromBackupOutput) SetTableDescription(v *TableDescription) *RestoreTableFromBackupOutput { 19862 s.TableDescription = v 19863 return s 19864 } 19865 19866 type RestoreTableToPointInTimeInput struct { 19867 _ struct{} `type:"structure"` 19868 19869 // The billing mode of the restored table. 19870 BillingModeOverride *string `type:"string" enum:"BillingMode"` 19871 19872 // List of global secondary indexes for the restored table. The indexes provided 19873 // should match existing secondary indexes. You can choose to exclude some or 19874 // all of the indexes at the time of restore. 19875 GlobalSecondaryIndexOverride []*GlobalSecondaryIndex `type:"list"` 19876 19877 // List of local secondary indexes for the restored table. The indexes provided 19878 // should match existing secondary indexes. You can choose to exclude some or 19879 // all of the indexes at the time of restore. 19880 LocalSecondaryIndexOverride []*LocalSecondaryIndex `type:"list"` 19881 19882 // Provisioned throughput settings for the restored table. 19883 ProvisionedThroughputOverride *ProvisionedThroughput `type:"structure"` 19884 19885 // Time in the past to restore the table to. 19886 RestoreDateTime *time.Time `type:"timestamp"` 19887 19888 // The new server-side encryption settings for the restored table. 19889 SSESpecificationOverride *SSESpecification `type:"structure"` 19890 19891 // The DynamoDB table that will be restored. This value is an Amazon Resource 19892 // Name (ARN). 19893 SourceTableArn *string `type:"string"` 19894 19895 // Name of the source table that is being restored. 19896 SourceTableName *string `min:"3" type:"string"` 19897 19898 // The name of the new table to which it must be restored to. 19899 // 19900 // TargetTableName is a required field 19901 TargetTableName *string `min:"3" type:"string" required:"true"` 19902 19903 // Restore the table to the latest possible time. LatestRestorableDateTime is 19904 // typically 5 minutes before the current time. 19905 UseLatestRestorableTime *bool `type:"boolean"` 19906 } 19907 19908 // String returns the string representation. 19909 // 19910 // API parameter values that are decorated as "sensitive" in the API will not 19911 // be included in the string output. The member name will be present, but the 19912 // value will be replaced with "sensitive". 19913 func (s RestoreTableToPointInTimeInput) String() string { 19914 return awsutil.Prettify(s) 19915 } 19916 19917 // GoString returns the string representation. 19918 // 19919 // API parameter values that are decorated as "sensitive" in the API will not 19920 // be included in the string output. The member name will be present, but the 19921 // value will be replaced with "sensitive". 19922 func (s RestoreTableToPointInTimeInput) GoString() string { 19923 return s.String() 19924 } 19925 19926 // Validate inspects the fields of the type to determine if they are valid. 19927 func (s *RestoreTableToPointInTimeInput) Validate() error { 19928 invalidParams := request.ErrInvalidParams{Context: "RestoreTableToPointInTimeInput"} 19929 if s.SourceTableName != nil && len(*s.SourceTableName) < 3 { 19930 invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 3)) 19931 } 19932 if s.TargetTableName == nil { 19933 invalidParams.Add(request.NewErrParamRequired("TargetTableName")) 19934 } 19935 if s.TargetTableName != nil && len(*s.TargetTableName) < 3 { 19936 invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3)) 19937 } 19938 if s.GlobalSecondaryIndexOverride != nil { 19939 for i, v := range s.GlobalSecondaryIndexOverride { 19940 if v == nil { 19941 continue 19942 } 19943 if err := v.Validate(); err != nil { 19944 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 19945 } 19946 } 19947 } 19948 if s.LocalSecondaryIndexOverride != nil { 19949 for i, v := range s.LocalSecondaryIndexOverride { 19950 if v == nil { 19951 continue 19952 } 19953 if err := v.Validate(); err != nil { 19954 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 19955 } 19956 } 19957 } 19958 if s.ProvisionedThroughputOverride != nil { 19959 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 19960 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 19961 } 19962 } 19963 19964 if invalidParams.Len() > 0 { 19965 return invalidParams 19966 } 19967 return nil 19968 } 19969 19970 // SetBillingModeOverride sets the BillingModeOverride field's value. 19971 func (s *RestoreTableToPointInTimeInput) SetBillingModeOverride(v string) *RestoreTableToPointInTimeInput { 19972 s.BillingModeOverride = &v 19973 return s 19974 } 19975 19976 // SetGlobalSecondaryIndexOverride sets the GlobalSecondaryIndexOverride field's value. 19977 func (s *RestoreTableToPointInTimeInput) SetGlobalSecondaryIndexOverride(v []*GlobalSecondaryIndex) *RestoreTableToPointInTimeInput { 19978 s.GlobalSecondaryIndexOverride = v 19979 return s 19980 } 19981 19982 // SetLocalSecondaryIndexOverride sets the LocalSecondaryIndexOverride field's value. 19983 func (s *RestoreTableToPointInTimeInput) SetLocalSecondaryIndexOverride(v []*LocalSecondaryIndex) *RestoreTableToPointInTimeInput { 19984 s.LocalSecondaryIndexOverride = v 19985 return s 19986 } 19987 19988 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 19989 func (s *RestoreTableToPointInTimeInput) SetProvisionedThroughputOverride(v *ProvisionedThroughput) *RestoreTableToPointInTimeInput { 19990 s.ProvisionedThroughputOverride = v 19991 return s 19992 } 19993 19994 // SetRestoreDateTime sets the RestoreDateTime field's value. 19995 func (s *RestoreTableToPointInTimeInput) SetRestoreDateTime(v time.Time) *RestoreTableToPointInTimeInput { 19996 s.RestoreDateTime = &v 19997 return s 19998 } 19999 20000 // SetSSESpecificationOverride sets the SSESpecificationOverride field's value. 20001 func (s *RestoreTableToPointInTimeInput) SetSSESpecificationOverride(v *SSESpecification) *RestoreTableToPointInTimeInput { 20002 s.SSESpecificationOverride = v 20003 return s 20004 } 20005 20006 // SetSourceTableArn sets the SourceTableArn field's value. 20007 func (s *RestoreTableToPointInTimeInput) SetSourceTableArn(v string) *RestoreTableToPointInTimeInput { 20008 s.SourceTableArn = &v 20009 return s 20010 } 20011 20012 // SetSourceTableName sets the SourceTableName field's value. 20013 func (s *RestoreTableToPointInTimeInput) SetSourceTableName(v string) *RestoreTableToPointInTimeInput { 20014 s.SourceTableName = &v 20015 return s 20016 } 20017 20018 // SetTargetTableName sets the TargetTableName field's value. 20019 func (s *RestoreTableToPointInTimeInput) SetTargetTableName(v string) *RestoreTableToPointInTimeInput { 20020 s.TargetTableName = &v 20021 return s 20022 } 20023 20024 // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. 20025 func (s *RestoreTableToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreTableToPointInTimeInput { 20026 s.UseLatestRestorableTime = &v 20027 return s 20028 } 20029 20030 type RestoreTableToPointInTimeOutput struct { 20031 _ struct{} `type:"structure"` 20032 20033 // Represents the properties of a table. 20034 TableDescription *TableDescription `type:"structure"` 20035 } 20036 20037 // String returns the string representation. 20038 // 20039 // API parameter values that are decorated as "sensitive" in the API will not 20040 // be included in the string output. The member name will be present, but the 20041 // value will be replaced with "sensitive". 20042 func (s RestoreTableToPointInTimeOutput) String() string { 20043 return awsutil.Prettify(s) 20044 } 20045 20046 // GoString returns the string representation. 20047 // 20048 // API parameter values that are decorated as "sensitive" in the API will not 20049 // be included in the string output. The member name will be present, but the 20050 // value will be replaced with "sensitive". 20051 func (s RestoreTableToPointInTimeOutput) GoString() string { 20052 return s.String() 20053 } 20054 20055 // SetTableDescription sets the TableDescription field's value. 20056 func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescription) *RestoreTableToPointInTimeOutput { 20057 s.TableDescription = v 20058 return s 20059 } 20060 20061 // The description of the server-side encryption status on the specified table. 20062 type SSEDescription struct { 20063 _ struct{} `type:"structure"` 20064 20065 // Indicates the time, in UNIX epoch date format, when DynamoDB detected that 20066 // the table's AWS KMS key was inaccessible. This attribute will automatically 20067 // be cleared when DynamoDB detects that the table's AWS KMS key is accessible 20068 // again. DynamoDB will initiate the table archival process when table's AWS 20069 // KMS key remains inaccessible for more than seven days from this date. 20070 InaccessibleEncryptionDateTime *time.Time `type:"timestamp"` 20071 20072 // The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption. 20073 KMSMasterKeyArn *string `type:"string"` 20074 20075 // Server-side encryption type. The only supported value is: 20076 // 20077 // * KMS - Server-side encryption that uses AWS Key Management Service. The 20078 // key is stored in your account and is managed by AWS KMS (AWS KMS charges 20079 // apply). 20080 SSEType *string `type:"string" enum:"SSEType"` 20081 20082 // Represents the current state of server-side encryption. The only supported 20083 // values are: 20084 // 20085 // * ENABLED - Server-side encryption is enabled. 20086 // 20087 // * UPDATING - Server-side encryption is being updated. 20088 Status *string `type:"string" enum:"SSEStatus"` 20089 } 20090 20091 // String returns the string representation. 20092 // 20093 // API parameter values that are decorated as "sensitive" in the API will not 20094 // be included in the string output. The member name will be present, but the 20095 // value will be replaced with "sensitive". 20096 func (s SSEDescription) String() string { 20097 return awsutil.Prettify(s) 20098 } 20099 20100 // GoString returns the string representation. 20101 // 20102 // API parameter values that are decorated as "sensitive" in the API will not 20103 // be included in the string output. The member name will be present, but the 20104 // value will be replaced with "sensitive". 20105 func (s SSEDescription) GoString() string { 20106 return s.String() 20107 } 20108 20109 // SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value. 20110 func (s *SSEDescription) SetInaccessibleEncryptionDateTime(v time.Time) *SSEDescription { 20111 s.InaccessibleEncryptionDateTime = &v 20112 return s 20113 } 20114 20115 // SetKMSMasterKeyArn sets the KMSMasterKeyArn field's value. 20116 func (s *SSEDescription) SetKMSMasterKeyArn(v string) *SSEDescription { 20117 s.KMSMasterKeyArn = &v 20118 return s 20119 } 20120 20121 // SetSSEType sets the SSEType field's value. 20122 func (s *SSEDescription) SetSSEType(v string) *SSEDescription { 20123 s.SSEType = &v 20124 return s 20125 } 20126 20127 // SetStatus sets the Status field's value. 20128 func (s *SSEDescription) SetStatus(v string) *SSEDescription { 20129 s.Status = &v 20130 return s 20131 } 20132 20133 // Represents the settings used to enable server-side encryption. 20134 type SSESpecification struct { 20135 _ struct{} `type:"structure"` 20136 20137 // Indicates whether server-side encryption is done using an AWS managed CMK 20138 // or an AWS owned CMK. If enabled (true), server-side encryption type is set 20139 // to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled 20140 // (false) or not specified, server-side encryption is set to AWS owned CMK. 20141 Enabled *bool `type:"boolean"` 20142 20143 // The AWS KMS customer master key (CMK) that should be used for the AWS KMS 20144 // encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), 20145 // alias name, or alias ARN. Note that you should only provide this parameter 20146 // if the key is different from the default DynamoDB customer master key alias/aws/dynamodb. 20147 KMSMasterKeyId *string `type:"string"` 20148 20149 // Server-side encryption type. The only supported value is: 20150 // 20151 // * KMS - Server-side encryption that uses AWS Key Management Service. The 20152 // key is stored in your account and is managed by AWS KMS (AWS KMS charges 20153 // apply). 20154 SSEType *string `type:"string" enum:"SSEType"` 20155 } 20156 20157 // String returns the string representation. 20158 // 20159 // API parameter values that are decorated as "sensitive" in the API will not 20160 // be included in the string output. The member name will be present, but the 20161 // value will be replaced with "sensitive". 20162 func (s SSESpecification) String() string { 20163 return awsutil.Prettify(s) 20164 } 20165 20166 // GoString returns the string representation. 20167 // 20168 // API parameter values that are decorated as "sensitive" in the API will not 20169 // be included in the string output. The member name will be present, but the 20170 // value will be replaced with "sensitive". 20171 func (s SSESpecification) GoString() string { 20172 return s.String() 20173 } 20174 20175 // SetEnabled sets the Enabled field's value. 20176 func (s *SSESpecification) SetEnabled(v bool) *SSESpecification { 20177 s.Enabled = &v 20178 return s 20179 } 20180 20181 // SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 20182 func (s *SSESpecification) SetKMSMasterKeyId(v string) *SSESpecification { 20183 s.KMSMasterKeyId = &v 20184 return s 20185 } 20186 20187 // SetSSEType sets the SSEType field's value. 20188 func (s *SSESpecification) SetSSEType(v string) *SSESpecification { 20189 s.SSEType = &v 20190 return s 20191 } 20192 20193 // Represents the input of a Scan operation. 20194 type ScanInput struct { 20195 _ struct{} `type:"structure"` 20196 20197 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 20198 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 20199 // in the Amazon DynamoDB Developer Guide. 20200 AttributesToGet []*string `min:"1" type:"list"` 20201 20202 // This is a legacy parameter. Use FilterExpression instead. For more information, 20203 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 20204 // in the Amazon DynamoDB Developer Guide. 20205 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 20206 20207 // A Boolean value that determines the read consistency model during the scan: 20208 // 20209 // * If ConsistentRead is false, then the data returned from Scan might not 20210 // contain the results from other recently completed write operations (PutItem, 20211 // UpdateItem, or DeleteItem). 20212 // 20213 // * If ConsistentRead is true, then all of the write operations that completed 20214 // before the Scan began are guaranteed to be contained in the Scan response. 20215 // 20216 // The default setting for ConsistentRead is false. 20217 // 20218 // The ConsistentRead parameter is not supported on global secondary indexes. 20219 // If you scan a global secondary index with ConsistentRead set to true, you 20220 // will receive a ValidationException. 20221 ConsistentRead *bool `type:"boolean"` 20222 20223 // The primary key of the first item that this operation will evaluate. Use 20224 // the value that was returned for LastEvaluatedKey in the previous operation. 20225 // 20226 // The data type for ExclusiveStartKey must be String, Number or Binary. No 20227 // set data types are allowed. 20228 // 20229 // In a parallel scan, a Scan request that includes ExclusiveStartKey must specify 20230 // the same segment whose previous Scan returned the corresponding value of 20231 // LastEvaluatedKey. 20232 ExclusiveStartKey map[string]*AttributeValue `type:"map"` 20233 20234 // One or more substitution tokens for attribute names in an expression. The 20235 // following are some use cases for using ExpressionAttributeNames: 20236 // 20237 // * To access an attribute whose name conflicts with a DynamoDB reserved 20238 // word. 20239 // 20240 // * To create a placeholder for repeating occurrences of an attribute name 20241 // in an expression. 20242 // 20243 // * To prevent special characters in an attribute name from being misinterpreted 20244 // in an expression. 20245 // 20246 // Use the # character in an expression to dereference an attribute name. For 20247 // example, consider the following attribute name: 20248 // 20249 // * Percentile 20250 // 20251 // The name of this attribute conflicts with a reserved word, so it cannot be 20252 // used directly in an expression. (For the complete list of reserved words, 20253 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 20254 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 20255 // the following for ExpressionAttributeNames: 20256 // 20257 // * {"#P":"Percentile"} 20258 // 20259 // You could then use this substitution in an expression, as in this example: 20260 // 20261 // * #P = :val 20262 // 20263 // Tokens that begin with the : character are expression attribute values, which 20264 // are placeholders for the actual value at runtime. 20265 // 20266 // For more information on expression attribute names, see Specifying Item Attributes 20267 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 20268 // in the Amazon DynamoDB Developer Guide. 20269 ExpressionAttributeNames map[string]*string `type:"map"` 20270 20271 // One or more values that can be substituted in an expression. 20272 // 20273 // Use the : (colon) character in an expression to dereference an attribute 20274 // value. For example, suppose that you wanted to check whether the value of 20275 // the ProductStatus attribute was one of the following: 20276 // 20277 // Available | Backordered | Discontinued 20278 // 20279 // You would first need to specify ExpressionAttributeValues as follows: 20280 // 20281 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 20282 // } 20283 // 20284 // You could then use these values in an expression, such as this: 20285 // 20286 // ProductStatus IN (:avail, :back, :disc) 20287 // 20288 // For more information on expression attribute values, see Condition Expressions 20289 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 20290 // in the Amazon DynamoDB Developer Guide. 20291 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 20292 20293 // A string that contains conditions that DynamoDB applies after the Scan operation, 20294 // but before the data is returned to you. Items that do not satisfy the FilterExpression 20295 // criteria are not returned. 20296 // 20297 // A FilterExpression is applied after the items have already been read; the 20298 // process of filtering does not consume any additional read capacity units. 20299 // 20300 // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) 20301 // in the Amazon DynamoDB Developer Guide. 20302 FilterExpression *string `type:"string"` 20303 20304 // The name of a secondary index to scan. This index can be any local secondary 20305 // index or global secondary index. Note that if you use the IndexName parameter, 20306 // you must also provide TableName. 20307 IndexName *string `min:"3" type:"string"` 20308 20309 // The maximum number of items to evaluate (not necessarily the number of matching 20310 // items). If DynamoDB processes the number of items up to the limit while processing 20311 // the results, it stops the operation and returns the matching values up to 20312 // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, 20313 // so that you can pick up where you left off. Also, if the processed dataset 20314 // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation 20315 // and returns the matching values up to the limit, and a key in LastEvaluatedKey 20316 // to apply in a subsequent operation to continue the operation. For more information, 20317 // see Working with Queries (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) 20318 // in the Amazon DynamoDB Developer Guide. 20319 Limit *int64 `min:"1" type:"integer"` 20320 20321 // A string that identifies one or more attributes to retrieve from the specified 20322 // table or index. These attributes can include scalars, sets, or elements of 20323 // a JSON document. The attributes in the expression must be separated by commas. 20324 // 20325 // If no attribute names are specified, then all attributes will be returned. 20326 // If any of the requested attributes are not found, they will not appear in 20327 // the result. 20328 // 20329 // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 20330 // in the Amazon DynamoDB Developer Guide. 20331 ProjectionExpression *string `type:"string"` 20332 20333 // Determines the level of detail about provisioned throughput consumption that 20334 // is returned in the response: 20335 // 20336 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 20337 // operation, together with ConsumedCapacity for each table and secondary 20338 // index that was accessed. Note that some operations, such as GetItem and 20339 // BatchGetItem, do not access any indexes at all. In these cases, specifying 20340 // INDEXES will only return ConsumedCapacity information for table(s). 20341 // 20342 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 20343 // the operation. 20344 // 20345 // * NONE - No ConsumedCapacity details are included in the response. 20346 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 20347 20348 // This is a legacy parameter. Use FilterExpression instead. For more information, 20349 // see ScanFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) 20350 // in the Amazon DynamoDB Developer Guide. 20351 ScanFilter map[string]*Condition `type:"map"` 20352 20353 // For a parallel Scan request, Segment identifies an individual segment to 20354 // be scanned by an application worker. 20355 // 20356 // Segment IDs are zero-based, so the first segment is always 0. For example, 20357 // if you want to use four application threads to scan a table or an index, 20358 // then the first thread specifies a Segment value of 0, the second thread specifies 20359 // 1, and so on. 20360 // 20361 // The value of LastEvaluatedKey returned from a parallel Scan request must 20362 // be used as ExclusiveStartKey with the same segment ID in a subsequent Scan 20363 // operation. 20364 // 20365 // The value for Segment must be greater than or equal to 0, and less than the 20366 // value provided for TotalSegments. 20367 // 20368 // If you provide Segment, you must also provide TotalSegments. 20369 Segment *int64 `type:"integer"` 20370 20371 // The attributes to be returned in the result. You can retrieve all item attributes, 20372 // specific item attributes, the count of matching items, or in the case of 20373 // an index, some or all of the attributes projected into the index. 20374 // 20375 // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified 20376 // table or index. If you query a local secondary index, then for each matching 20377 // item in the index, DynamoDB fetches the entire item from the parent table. 20378 // If the index is configured to project all item attributes, then all of 20379 // the data can be obtained from the local secondary index, and no fetching 20380 // is required. 20381 // 20382 // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves 20383 // all attributes that have been projected into the index. If the index is 20384 // configured to project all attributes, this return value is equivalent 20385 // to specifying ALL_ATTRIBUTES. 20386 // 20387 // * COUNT - Returns the number of matching items, rather than the matching 20388 // items themselves. 20389 // 20390 // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. 20391 // This return value is equivalent to specifying AttributesToGet without 20392 // specifying any value for Select. If you query or scan a local secondary 20393 // index and request only attributes that are projected into that index, 20394 // the operation reads only the index and not the table. If any of the requested 20395 // attributes are not projected into the local secondary index, DynamoDB 20396 // fetches each of these attributes from the parent table. This extra fetching 20397 // incurs additional throughput cost and latency. If you query or scan a 20398 // global secondary index, you can only request attributes that are projected 20399 // into the index. Global secondary index queries cannot fetch attributes 20400 // from the parent table. 20401 // 20402 // If neither Select nor AttributesToGet are specified, DynamoDB defaults to 20403 // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when 20404 // accessing an index. You cannot use both Select and AttributesToGet together 20405 // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. 20406 // (This usage is equivalent to specifying AttributesToGet without any value 20407 // for Select.) 20408 // 20409 // If you use the ProjectionExpression parameter, then the value for Select 20410 // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an 20411 // error. 20412 Select *string `type:"string" enum:"Select"` 20413 20414 // The name of the table containing the requested items; or, if you provide 20415 // IndexName, the name of the table to which that index belongs. 20416 // 20417 // TableName is a required field 20418 TableName *string `min:"3" type:"string" required:"true"` 20419 20420 // For a parallel Scan request, TotalSegments represents the total number of 20421 // segments into which the Scan operation will be divided. The value of TotalSegments 20422 // corresponds to the number of application workers that will perform the parallel 20423 // scan. For example, if you want to use four application threads to scan a 20424 // table or an index, specify a TotalSegments value of 4. 20425 // 20426 // The value for TotalSegments must be greater than or equal to 1, and less 20427 // than or equal to 1000000. If you specify a TotalSegments value of 1, the 20428 // Scan operation will be sequential rather than parallel. 20429 // 20430 // If you specify TotalSegments, you must also specify Segment. 20431 TotalSegments *int64 `min:"1" type:"integer"` 20432 } 20433 20434 // String returns the string representation. 20435 // 20436 // API parameter values that are decorated as "sensitive" in the API will not 20437 // be included in the string output. The member name will be present, but the 20438 // value will be replaced with "sensitive". 20439 func (s ScanInput) String() string { 20440 return awsutil.Prettify(s) 20441 } 20442 20443 // GoString returns the string representation. 20444 // 20445 // API parameter values that are decorated as "sensitive" in the API will not 20446 // be included in the string output. The member name will be present, but the 20447 // value will be replaced with "sensitive". 20448 func (s ScanInput) GoString() string { 20449 return s.String() 20450 } 20451 20452 // Validate inspects the fields of the type to determine if they are valid. 20453 func (s *ScanInput) Validate() error { 20454 invalidParams := request.ErrInvalidParams{Context: "ScanInput"} 20455 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 20456 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 20457 } 20458 if s.IndexName != nil && len(*s.IndexName) < 3 { 20459 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 20460 } 20461 if s.Limit != nil && *s.Limit < 1 { 20462 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 20463 } 20464 if s.TableName == nil { 20465 invalidParams.Add(request.NewErrParamRequired("TableName")) 20466 } 20467 if s.TableName != nil && len(*s.TableName) < 3 { 20468 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 20469 } 20470 if s.TotalSegments != nil && *s.TotalSegments < 1 { 20471 invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1)) 20472 } 20473 if s.ScanFilter != nil { 20474 for i, v := range s.ScanFilter { 20475 if v == nil { 20476 continue 20477 } 20478 if err := v.Validate(); err != nil { 20479 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanFilter", i), err.(request.ErrInvalidParams)) 20480 } 20481 } 20482 } 20483 20484 if invalidParams.Len() > 0 { 20485 return invalidParams 20486 } 20487 return nil 20488 } 20489 20490 // SetAttributesToGet sets the AttributesToGet field's value. 20491 func (s *ScanInput) SetAttributesToGet(v []*string) *ScanInput { 20492 s.AttributesToGet = v 20493 return s 20494 } 20495 20496 // SetConditionalOperator sets the ConditionalOperator field's value. 20497 func (s *ScanInput) SetConditionalOperator(v string) *ScanInput { 20498 s.ConditionalOperator = &v 20499 return s 20500 } 20501 20502 // SetConsistentRead sets the ConsistentRead field's value. 20503 func (s *ScanInput) SetConsistentRead(v bool) *ScanInput { 20504 s.ConsistentRead = &v 20505 return s 20506 } 20507 20508 // SetExclusiveStartKey sets the ExclusiveStartKey field's value. 20509 func (s *ScanInput) SetExclusiveStartKey(v map[string]*AttributeValue) *ScanInput { 20510 s.ExclusiveStartKey = v 20511 return s 20512 } 20513 20514 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 20515 func (s *ScanInput) SetExpressionAttributeNames(v map[string]*string) *ScanInput { 20516 s.ExpressionAttributeNames = v 20517 return s 20518 } 20519 20520 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 20521 func (s *ScanInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *ScanInput { 20522 s.ExpressionAttributeValues = v 20523 return s 20524 } 20525 20526 // SetFilterExpression sets the FilterExpression field's value. 20527 func (s *ScanInput) SetFilterExpression(v string) *ScanInput { 20528 s.FilterExpression = &v 20529 return s 20530 } 20531 20532 // SetIndexName sets the IndexName field's value. 20533 func (s *ScanInput) SetIndexName(v string) *ScanInput { 20534 s.IndexName = &v 20535 return s 20536 } 20537 20538 // SetLimit sets the Limit field's value. 20539 func (s *ScanInput) SetLimit(v int64) *ScanInput { 20540 s.Limit = &v 20541 return s 20542 } 20543 20544 // SetProjectionExpression sets the ProjectionExpression field's value. 20545 func (s *ScanInput) SetProjectionExpression(v string) *ScanInput { 20546 s.ProjectionExpression = &v 20547 return s 20548 } 20549 20550 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 20551 func (s *ScanInput) SetReturnConsumedCapacity(v string) *ScanInput { 20552 s.ReturnConsumedCapacity = &v 20553 return s 20554 } 20555 20556 // SetScanFilter sets the ScanFilter field's value. 20557 func (s *ScanInput) SetScanFilter(v map[string]*Condition) *ScanInput { 20558 s.ScanFilter = v 20559 return s 20560 } 20561 20562 // SetSegment sets the Segment field's value. 20563 func (s *ScanInput) SetSegment(v int64) *ScanInput { 20564 s.Segment = &v 20565 return s 20566 } 20567 20568 // SetSelect sets the Select field's value. 20569 func (s *ScanInput) SetSelect(v string) *ScanInput { 20570 s.Select = &v 20571 return s 20572 } 20573 20574 // SetTableName sets the TableName field's value. 20575 func (s *ScanInput) SetTableName(v string) *ScanInput { 20576 s.TableName = &v 20577 return s 20578 } 20579 20580 // SetTotalSegments sets the TotalSegments field's value. 20581 func (s *ScanInput) SetTotalSegments(v int64) *ScanInput { 20582 s.TotalSegments = &v 20583 return s 20584 } 20585 20586 // Represents the output of a Scan operation. 20587 type ScanOutput struct { 20588 _ struct{} `type:"structure"` 20589 20590 // The capacity units consumed by the Scan operation. The data returned includes 20591 // the total provisioned throughput consumed, along with statistics for the 20592 // table and any indexes involved in the operation. ConsumedCapacity is only 20593 // returned if the ReturnConsumedCapacity parameter was specified. For more 20594 // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 20595 // in the Amazon DynamoDB Developer Guide. 20596 ConsumedCapacity *ConsumedCapacity `type:"structure"` 20597 20598 // The number of items in the response. 20599 // 20600 // If you set ScanFilter in the request, then Count is the number of items returned 20601 // after the filter was applied, and ScannedCount is the number of matching 20602 // items before the filter was applied. 20603 // 20604 // If you did not use a filter in the request, then Count is the same as ScannedCount. 20605 Count *int64 `type:"integer"` 20606 20607 // An array of item attributes that match the scan criteria. Each element in 20608 // this array consists of an attribute name and the value for that attribute. 20609 Items []map[string]*AttributeValue `type:"list"` 20610 20611 // The primary key of the item where the operation stopped, inclusive of the 20612 // previous result set. Use this value to start a new operation, excluding this 20613 // value in the new request. 20614 // 20615 // If LastEvaluatedKey is empty, then the "last page" of results has been processed 20616 // and there is no more data to be retrieved. 20617 // 20618 // If LastEvaluatedKey is not empty, it does not necessarily mean that there 20619 // is more data in the result set. The only way to know when you have reached 20620 // the end of the result set is when LastEvaluatedKey is empty. 20621 LastEvaluatedKey map[string]*AttributeValue `type:"map"` 20622 20623 // The number of items evaluated, before any ScanFilter is applied. A high ScannedCount 20624 // value with few, or no, Count results indicates an inefficient Scan operation. 20625 // For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) 20626 // in the Amazon DynamoDB Developer Guide. 20627 // 20628 // If you did not use a filter in the request, then ScannedCount is the same 20629 // as Count. 20630 ScannedCount *int64 `type:"integer"` 20631 } 20632 20633 // String returns the string representation. 20634 // 20635 // API parameter values that are decorated as "sensitive" in the API will not 20636 // be included in the string output. The member name will be present, but the 20637 // value will be replaced with "sensitive". 20638 func (s ScanOutput) String() string { 20639 return awsutil.Prettify(s) 20640 } 20641 20642 // GoString returns the string representation. 20643 // 20644 // API parameter values that are decorated as "sensitive" in the API will not 20645 // be included in the string output. The member name will be present, but the 20646 // value will be replaced with "sensitive". 20647 func (s ScanOutput) GoString() string { 20648 return s.String() 20649 } 20650 20651 // SetConsumedCapacity sets the ConsumedCapacity field's value. 20652 func (s *ScanOutput) SetConsumedCapacity(v *ConsumedCapacity) *ScanOutput { 20653 s.ConsumedCapacity = v 20654 return s 20655 } 20656 20657 // SetCount sets the Count field's value. 20658 func (s *ScanOutput) SetCount(v int64) *ScanOutput { 20659 s.Count = &v 20660 return s 20661 } 20662 20663 // SetItems sets the Items field's value. 20664 func (s *ScanOutput) SetItems(v []map[string]*AttributeValue) *ScanOutput { 20665 s.Items = v 20666 return s 20667 } 20668 20669 // SetLastEvaluatedKey sets the LastEvaluatedKey field's value. 20670 func (s *ScanOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *ScanOutput { 20671 s.LastEvaluatedKey = v 20672 return s 20673 } 20674 20675 // SetScannedCount sets the ScannedCount field's value. 20676 func (s *ScanOutput) SetScannedCount(v int64) *ScanOutput { 20677 s.ScannedCount = &v 20678 return s 20679 } 20680 20681 // Contains the details of the table when the backup was created. 20682 type SourceTableDetails struct { 20683 _ struct{} `type:"structure"` 20684 20685 // Controls how you are charged for read and write throughput and how you manage 20686 // capacity. This setting can be changed later. 20687 // 20688 // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend 20689 // using PROVISIONED for predictable workloads. 20690 // 20691 // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. 20692 // We recommend using PAY_PER_REQUEST for unpredictable workloads. 20693 BillingMode *string `type:"string" enum:"BillingMode"` 20694 20695 // Number of items in the table. Note that this is an approximate value. 20696 ItemCount *int64 `type:"long"` 20697 20698 // Schema of the table. 20699 // 20700 // KeySchema is a required field 20701 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 20702 20703 // Read IOPs and Write IOPS on the table when the backup was created. 20704 // 20705 // ProvisionedThroughput is a required field 20706 ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` 20707 20708 // ARN of the table for which backup was created. 20709 TableArn *string `type:"string"` 20710 20711 // Time when the source table was created. 20712 // 20713 // TableCreationDateTime is a required field 20714 TableCreationDateTime *time.Time `type:"timestamp" required:"true"` 20715 20716 // Unique identifier for the table for which the backup was created. 20717 // 20718 // TableId is a required field 20719 TableId *string `type:"string" required:"true"` 20720 20721 // The name of the table for which the backup was created. 20722 // 20723 // TableName is a required field 20724 TableName *string `min:"3" type:"string" required:"true"` 20725 20726 // Size of the table in bytes. Note that this is an approximate value. 20727 TableSizeBytes *int64 `type:"long"` 20728 } 20729 20730 // String returns the string representation. 20731 // 20732 // API parameter values that are decorated as "sensitive" in the API will not 20733 // be included in the string output. The member name will be present, but the 20734 // value will be replaced with "sensitive". 20735 func (s SourceTableDetails) String() string { 20736 return awsutil.Prettify(s) 20737 } 20738 20739 // GoString returns the string representation. 20740 // 20741 // API parameter values that are decorated as "sensitive" in the API will not 20742 // be included in the string output. The member name will be present, but the 20743 // value will be replaced with "sensitive". 20744 func (s SourceTableDetails) GoString() string { 20745 return s.String() 20746 } 20747 20748 // SetBillingMode sets the BillingMode field's value. 20749 func (s *SourceTableDetails) SetBillingMode(v string) *SourceTableDetails { 20750 s.BillingMode = &v 20751 return s 20752 } 20753 20754 // SetItemCount sets the ItemCount field's value. 20755 func (s *SourceTableDetails) SetItemCount(v int64) *SourceTableDetails { 20756 s.ItemCount = &v 20757 return s 20758 } 20759 20760 // SetKeySchema sets the KeySchema field's value. 20761 func (s *SourceTableDetails) SetKeySchema(v []*KeySchemaElement) *SourceTableDetails { 20762 s.KeySchema = v 20763 return s 20764 } 20765 20766 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 20767 func (s *SourceTableDetails) SetProvisionedThroughput(v *ProvisionedThroughput) *SourceTableDetails { 20768 s.ProvisionedThroughput = v 20769 return s 20770 } 20771 20772 // SetTableArn sets the TableArn field's value. 20773 func (s *SourceTableDetails) SetTableArn(v string) *SourceTableDetails { 20774 s.TableArn = &v 20775 return s 20776 } 20777 20778 // SetTableCreationDateTime sets the TableCreationDateTime field's value. 20779 func (s *SourceTableDetails) SetTableCreationDateTime(v time.Time) *SourceTableDetails { 20780 s.TableCreationDateTime = &v 20781 return s 20782 } 20783 20784 // SetTableId sets the TableId field's value. 20785 func (s *SourceTableDetails) SetTableId(v string) *SourceTableDetails { 20786 s.TableId = &v 20787 return s 20788 } 20789 20790 // SetTableName sets the TableName field's value. 20791 func (s *SourceTableDetails) SetTableName(v string) *SourceTableDetails { 20792 s.TableName = &v 20793 return s 20794 } 20795 20796 // SetTableSizeBytes sets the TableSizeBytes field's value. 20797 func (s *SourceTableDetails) SetTableSizeBytes(v int64) *SourceTableDetails { 20798 s.TableSizeBytes = &v 20799 return s 20800 } 20801 20802 // Contains the details of the features enabled on the table when the backup 20803 // was created. For example, LSIs, GSIs, streams, TTL. 20804 type SourceTableFeatureDetails struct { 20805 _ struct{} `type:"structure"` 20806 20807 // Represents the GSI properties for the table when the backup was created. 20808 // It includes the IndexName, KeySchema, Projection, and ProvisionedThroughput 20809 // for the GSIs on the table at the time of backup. 20810 GlobalSecondaryIndexes []*GlobalSecondaryIndexInfo `type:"list"` 20811 20812 // Represents the LSI properties for the table when the backup was created. 20813 // It includes the IndexName, KeySchema and Projection for the LSIs on the table 20814 // at the time of backup. 20815 LocalSecondaryIndexes []*LocalSecondaryIndexInfo `type:"list"` 20816 20817 // The description of the server-side encryption status on the table when the 20818 // backup was created. 20819 SSEDescription *SSEDescription `type:"structure"` 20820 20821 // Stream settings on the table when the backup was created. 20822 StreamDescription *StreamSpecification `type:"structure"` 20823 20824 // Time to Live settings on the table when the backup was created. 20825 TimeToLiveDescription *TimeToLiveDescription `type:"structure"` 20826 } 20827 20828 // String returns the string representation. 20829 // 20830 // API parameter values that are decorated as "sensitive" in the API will not 20831 // be included in the string output. The member name will be present, but the 20832 // value will be replaced with "sensitive". 20833 func (s SourceTableFeatureDetails) String() string { 20834 return awsutil.Prettify(s) 20835 } 20836 20837 // GoString returns the string representation. 20838 // 20839 // API parameter values that are decorated as "sensitive" in the API will not 20840 // be included in the string output. The member name will be present, but the 20841 // value will be replaced with "sensitive". 20842 func (s SourceTableFeatureDetails) GoString() string { 20843 return s.String() 20844 } 20845 20846 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 20847 func (s *SourceTableFeatureDetails) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexInfo) *SourceTableFeatureDetails { 20848 s.GlobalSecondaryIndexes = v 20849 return s 20850 } 20851 20852 // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 20853 func (s *SourceTableFeatureDetails) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexInfo) *SourceTableFeatureDetails { 20854 s.LocalSecondaryIndexes = v 20855 return s 20856 } 20857 20858 // SetSSEDescription sets the SSEDescription field's value. 20859 func (s *SourceTableFeatureDetails) SetSSEDescription(v *SSEDescription) *SourceTableFeatureDetails { 20860 s.SSEDescription = v 20861 return s 20862 } 20863 20864 // SetStreamDescription sets the StreamDescription field's value. 20865 func (s *SourceTableFeatureDetails) SetStreamDescription(v *StreamSpecification) *SourceTableFeatureDetails { 20866 s.StreamDescription = v 20867 return s 20868 } 20869 20870 // SetTimeToLiveDescription sets the TimeToLiveDescription field's value. 20871 func (s *SourceTableFeatureDetails) SetTimeToLiveDescription(v *TimeToLiveDescription) *SourceTableFeatureDetails { 20872 s.TimeToLiveDescription = v 20873 return s 20874 } 20875 20876 // Represents the DynamoDB Streams configuration for a table in DynamoDB. 20877 type StreamSpecification struct { 20878 _ struct{} `type:"structure"` 20879 20880 // Indicates whether DynamoDB Streams is enabled (true) or disabled (false) 20881 // on the table. 20882 // 20883 // StreamEnabled is a required field 20884 StreamEnabled *bool `type:"boolean" required:"true"` 20885 20886 // When an item in the table is modified, StreamViewType determines what information 20887 // is written to the stream for this table. Valid values for StreamViewType 20888 // are: 20889 // 20890 // * KEYS_ONLY - Only the key attributes of the modified item are written 20891 // to the stream. 20892 // 20893 // * NEW_IMAGE - The entire item, as it appears after it was modified, is 20894 // written to the stream. 20895 // 20896 // * OLD_IMAGE - The entire item, as it appeared before it was modified, 20897 // is written to the stream. 20898 // 20899 // * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item 20900 // are written to the stream. 20901 StreamViewType *string `type:"string" enum:"StreamViewType"` 20902 } 20903 20904 // String returns the string representation. 20905 // 20906 // API parameter values that are decorated as "sensitive" in the API will not 20907 // be included in the string output. The member name will be present, but the 20908 // value will be replaced with "sensitive". 20909 func (s StreamSpecification) String() string { 20910 return awsutil.Prettify(s) 20911 } 20912 20913 // GoString returns the string representation. 20914 // 20915 // API parameter values that are decorated as "sensitive" in the API will not 20916 // be included in the string output. The member name will be present, but the 20917 // value will be replaced with "sensitive". 20918 func (s StreamSpecification) GoString() string { 20919 return s.String() 20920 } 20921 20922 // Validate inspects the fields of the type to determine if they are valid. 20923 func (s *StreamSpecification) Validate() error { 20924 invalidParams := request.ErrInvalidParams{Context: "StreamSpecification"} 20925 if s.StreamEnabled == nil { 20926 invalidParams.Add(request.NewErrParamRequired("StreamEnabled")) 20927 } 20928 20929 if invalidParams.Len() > 0 { 20930 return invalidParams 20931 } 20932 return nil 20933 } 20934 20935 // SetStreamEnabled sets the StreamEnabled field's value. 20936 func (s *StreamSpecification) SetStreamEnabled(v bool) *StreamSpecification { 20937 s.StreamEnabled = &v 20938 return s 20939 } 20940 20941 // SetStreamViewType sets the StreamViewType field's value. 20942 func (s *StreamSpecification) SetStreamViewType(v string) *StreamSpecification { 20943 s.StreamViewType = &v 20944 return s 20945 } 20946 20947 // A target table with the specified name already exists. 20948 type TableAlreadyExistsException struct { 20949 _ struct{} `type:"structure"` 20950 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20951 20952 Message_ *string `locationName:"message" type:"string"` 20953 } 20954 20955 // String returns the string representation. 20956 // 20957 // API parameter values that are decorated as "sensitive" in the API will not 20958 // be included in the string output. The member name will be present, but the 20959 // value will be replaced with "sensitive". 20960 func (s TableAlreadyExistsException) String() string { 20961 return awsutil.Prettify(s) 20962 } 20963 20964 // GoString returns the string representation. 20965 // 20966 // API parameter values that are decorated as "sensitive" in the API will not 20967 // be included in the string output. The member name will be present, but the 20968 // value will be replaced with "sensitive". 20969 func (s TableAlreadyExistsException) GoString() string { 20970 return s.String() 20971 } 20972 20973 func newErrorTableAlreadyExistsException(v protocol.ResponseMetadata) error { 20974 return &TableAlreadyExistsException{ 20975 RespMetadata: v, 20976 } 20977 } 20978 20979 // Code returns the exception type name. 20980 func (s *TableAlreadyExistsException) Code() string { 20981 return "TableAlreadyExistsException" 20982 } 20983 20984 // Message returns the exception's message. 20985 func (s *TableAlreadyExistsException) Message() string { 20986 if s.Message_ != nil { 20987 return *s.Message_ 20988 } 20989 return "" 20990 } 20991 20992 // OrigErr always returns nil, satisfies awserr.Error interface. 20993 func (s *TableAlreadyExistsException) OrigErr() error { 20994 return nil 20995 } 20996 20997 func (s *TableAlreadyExistsException) Error() string { 20998 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20999 } 21000 21001 // Status code returns the HTTP status code for the request's response error. 21002 func (s *TableAlreadyExistsException) StatusCode() int { 21003 return s.RespMetadata.StatusCode 21004 } 21005 21006 // RequestID returns the service's response RequestID for request. 21007 func (s *TableAlreadyExistsException) RequestID() string { 21008 return s.RespMetadata.RequestID 21009 } 21010 21011 // Represents the auto scaling configuration for a global table. 21012 type TableAutoScalingDescription struct { 21013 _ struct{} `type:"structure"` 21014 21015 // Represents replicas of the global table. 21016 Replicas []*ReplicaAutoScalingDescription `type:"list"` 21017 21018 // The name of the table. 21019 TableName *string `min:"3" type:"string"` 21020 21021 // The current state of the table: 21022 // 21023 // * CREATING - The table is being created. 21024 // 21025 // * UPDATING - The table is being updated. 21026 // 21027 // * DELETING - The table is being deleted. 21028 // 21029 // * ACTIVE - The table is ready for use. 21030 TableStatus *string `type:"string" enum:"TableStatus"` 21031 } 21032 21033 // String returns the string representation. 21034 // 21035 // API parameter values that are decorated as "sensitive" in the API will not 21036 // be included in the string output. The member name will be present, but the 21037 // value will be replaced with "sensitive". 21038 func (s TableAutoScalingDescription) String() string { 21039 return awsutil.Prettify(s) 21040 } 21041 21042 // GoString returns the string representation. 21043 // 21044 // API parameter values that are decorated as "sensitive" in the API will not 21045 // be included in the string output. The member name will be present, but the 21046 // value will be replaced with "sensitive". 21047 func (s TableAutoScalingDescription) GoString() string { 21048 return s.String() 21049 } 21050 21051 // SetReplicas sets the Replicas field's value. 21052 func (s *TableAutoScalingDescription) SetReplicas(v []*ReplicaAutoScalingDescription) *TableAutoScalingDescription { 21053 s.Replicas = v 21054 return s 21055 } 21056 21057 // SetTableName sets the TableName field's value. 21058 func (s *TableAutoScalingDescription) SetTableName(v string) *TableAutoScalingDescription { 21059 s.TableName = &v 21060 return s 21061 } 21062 21063 // SetTableStatus sets the TableStatus field's value. 21064 func (s *TableAutoScalingDescription) SetTableStatus(v string) *TableAutoScalingDescription { 21065 s.TableStatus = &v 21066 return s 21067 } 21068 21069 // Represents the properties of a table. 21070 type TableDescription struct { 21071 _ struct{} `type:"structure"` 21072 21073 // Contains information about the table archive. 21074 ArchivalSummary *ArchivalSummary `type:"structure"` 21075 21076 // An array of AttributeDefinition objects. Each of these objects describes 21077 // one attribute in the table and index key schema. 21078 // 21079 // Each AttributeDefinition object in this array is composed of: 21080 // 21081 // * AttributeName - The name of the attribute. 21082 // 21083 // * AttributeType - The data type for the attribute. 21084 AttributeDefinitions []*AttributeDefinition `type:"list"` 21085 21086 // Contains the details for the read/write capacity mode. 21087 BillingModeSummary *BillingModeSummary `type:"structure"` 21088 21089 // The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/) 21090 // format. 21091 CreationDateTime *time.Time `type:"timestamp"` 21092 21093 // The global secondary indexes, if any, on the table. Each index is scoped 21094 // to a given partition key value. Each element is composed of: 21095 // 21096 // * Backfilling - If true, then the index is currently in the backfilling 21097 // phase. Backfilling occurs only when a new global secondary index is added 21098 // to the table. It is the process by which DynamoDB populates the new index 21099 // with data from the table. (This attribute does not appear for indexes 21100 // that were created during a CreateTable operation.) You can delete an index 21101 // that is being created during the Backfilling phase when IndexStatus is 21102 // set to CREATING and Backfilling is true. You can't delete the index that 21103 // is being created when IndexStatus is set to CREATING and Backfilling is 21104 // false. (This attribute does not appear for indexes that were created during 21105 // a CreateTable operation.) 21106 // 21107 // * IndexName - The name of the global secondary index. 21108 // 21109 // * IndexSizeBytes - The total size of the global secondary index, in bytes. 21110 // DynamoDB updates this value approximately every six hours. Recent changes 21111 // might not be reflected in this value. 21112 // 21113 // * IndexStatus - The current status of the global secondary index: CREATING 21114 // - The index is being created. UPDATING - The index is being updated. DELETING 21115 // - The index is being deleted. ACTIVE - The index is ready for use. 21116 // 21117 // * ItemCount - The number of items in the global secondary index. DynamoDB 21118 // updates this value approximately every six hours. Recent changes might 21119 // not be reflected in this value. 21120 // 21121 // * KeySchema - Specifies the complete index key schema. The attribute names 21122 // in the key schema must be between 1 and 255 characters (inclusive). The 21123 // key schema must begin with the same partition key as the table. 21124 // 21125 // * Projection - Specifies attributes that are copied (projected) from the 21126 // table into the index. These are in addition to the primary key attributes 21127 // and index key attributes, which are automatically projected. Each attribute 21128 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 21129 // - Only the index and primary keys are projected into the index. INCLUDE 21130 // - In addition to the attributes described in KEYS_ONLY, the secondary 21131 // index will include other non-key attributes that you specify. ALL - All 21132 // of the table attributes are projected into the index. NonKeyAttributes 21133 // - A list of one or more non-key attribute names that are projected into 21134 // the secondary index. The total count of attributes provided in NonKeyAttributes, 21135 // summed across all of the secondary indexes, must not exceed 20. If you 21136 // project the same attribute into two different indexes, this counts as 21137 // two distinct attributes when determining the total. 21138 // 21139 // * ProvisionedThroughput - The provisioned throughput settings for the 21140 // global secondary index, consisting of read and write capacity units, along 21141 // with data about increases and decreases. 21142 // 21143 // If the table is in the DELETING state, no information about indexes will 21144 // be returned. 21145 GlobalSecondaryIndexes []*GlobalSecondaryIndexDescription `type:"list"` 21146 21147 // Represents the version of global tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html) 21148 // in use, if the table is replicated across AWS Regions. 21149 GlobalTableVersion *string `type:"string"` 21150 21151 // The number of items in the specified table. DynamoDB updates this value approximately 21152 // every six hours. Recent changes might not be reflected in this value. 21153 ItemCount *int64 `type:"long"` 21154 21155 // The primary key structure for the table. Each KeySchemaElement consists of: 21156 // 21157 // * AttributeName - The name of the attribute. 21158 // 21159 // * KeyType - The role of the attribute: HASH - partition key RANGE - sort 21160 // key The partition key of an item is also known as its hash attribute. 21161 // The term "hash attribute" derives from DynamoDB's usage of an internal 21162 // hash function to evenly distribute data items across partitions, based 21163 // on their partition key values. The sort key of an item is also known as 21164 // its range attribute. The term "range attribute" derives from the way DynamoDB 21165 // stores items with the same partition key physically close together, in 21166 // sorted order by the sort key value. 21167 // 21168 // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) 21169 // in the Amazon DynamoDB Developer Guide. 21170 KeySchema []*KeySchemaElement `min:"1" type:"list"` 21171 21172 // The Amazon Resource Name (ARN) that uniquely identifies the latest stream 21173 // for this table. 21174 LatestStreamArn *string `min:"37" type:"string"` 21175 21176 // A timestamp, in ISO 8601 format, for this stream. 21177 // 21178 // Note that LatestStreamLabel is not a unique identifier for the stream, because 21179 // it is possible that a stream from another table might have the same timestamp. 21180 // However, the combination of the following three elements is guaranteed to 21181 // be unique: 21182 // 21183 // * AWS customer ID 21184 // 21185 // * Table name 21186 // 21187 // * StreamLabel 21188 LatestStreamLabel *string `type:"string"` 21189 21190 // Represents one or more local secondary indexes on the table. Each index is 21191 // scoped to a given partition key value. Tables with one or more local secondary 21192 // indexes are subject to an item collection size limit, where the amount of 21193 // data within a given item collection cannot exceed 10 GB. Each element is 21194 // composed of: 21195 // 21196 // * IndexName - The name of the local secondary index. 21197 // 21198 // * KeySchema - Specifies the complete index key schema. The attribute names 21199 // in the key schema must be between 1 and 255 characters (inclusive). The 21200 // key schema must begin with the same partition key as the table. 21201 // 21202 // * Projection - Specifies attributes that are copied (projected) from the 21203 // table into the index. These are in addition to the primary key attributes 21204 // and index key attributes, which are automatically projected. Each attribute 21205 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 21206 // - Only the index and primary keys are projected into the index. INCLUDE 21207 // - Only the specified table attributes are projected into the index. The 21208 // list of projected attributes is in NonKeyAttributes. ALL - All of the 21209 // table attributes are projected into the index. NonKeyAttributes - A list 21210 // of one or more non-key attribute names that are projected into the secondary 21211 // index. The total count of attributes provided in NonKeyAttributes, summed 21212 // across all of the secondary indexes, must not exceed 20. If you project 21213 // the same attribute into two different indexes, this counts as two distinct 21214 // attributes when determining the total. 21215 // 21216 // * IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB 21217 // updates this value approximately every six hours. Recent changes might 21218 // not be reflected in this value. 21219 // 21220 // * ItemCount - Represents the number of items in the index. DynamoDB updates 21221 // this value approximately every six hours. Recent changes might not be 21222 // reflected in this value. 21223 // 21224 // If the table is in the DELETING state, no information about indexes will 21225 // be returned. 21226 LocalSecondaryIndexes []*LocalSecondaryIndexDescription `type:"list"` 21227 21228 // The provisioned throughput settings for the table, consisting of read and 21229 // write capacity units, along with data about increases and decreases. 21230 ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` 21231 21232 // Represents replicas of the table. 21233 Replicas []*ReplicaDescription `type:"list"` 21234 21235 // Contains details for the restore. 21236 RestoreSummary *RestoreSummary `type:"structure"` 21237 21238 // The description of the server-side encryption status on the specified table. 21239 SSEDescription *SSEDescription `type:"structure"` 21240 21241 // The current DynamoDB Streams configuration for the table. 21242 StreamSpecification *StreamSpecification `type:"structure"` 21243 21244 // The Amazon Resource Name (ARN) that uniquely identifies the table. 21245 TableArn *string `type:"string"` 21246 21247 // Unique identifier for the table for which the backup was created. 21248 TableId *string `type:"string"` 21249 21250 // The name of the table. 21251 TableName *string `min:"3" type:"string"` 21252 21253 // The total size of the specified table, in bytes. DynamoDB updates this value 21254 // approximately every six hours. Recent changes might not be reflected in this 21255 // value. 21256 TableSizeBytes *int64 `type:"long"` 21257 21258 // The current state of the table: 21259 // 21260 // * CREATING - The table is being created. 21261 // 21262 // * UPDATING - The table is being updated. 21263 // 21264 // * DELETING - The table is being deleted. 21265 // 21266 // * ACTIVE - The table is ready for use. 21267 // 21268 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt 21269 // the table in inaccessible. Table operations may fail due to failure to 21270 // use the AWS KMS key. DynamoDB will initiate the table archival process 21271 // when a table's AWS KMS key remains inaccessible for more than seven days. 21272 // 21273 // * ARCHIVING - The table is being archived. Operations are not allowed 21274 // until archival is complete. 21275 // 21276 // * ARCHIVED - The table has been archived. See the ArchivalReason for more 21277 // information. 21278 TableStatus *string `type:"string" enum:"TableStatus"` 21279 } 21280 21281 // String returns the string representation. 21282 // 21283 // API parameter values that are decorated as "sensitive" in the API will not 21284 // be included in the string output. The member name will be present, but the 21285 // value will be replaced with "sensitive". 21286 func (s TableDescription) String() string { 21287 return awsutil.Prettify(s) 21288 } 21289 21290 // GoString returns the string representation. 21291 // 21292 // API parameter values that are decorated as "sensitive" in the API will not 21293 // be included in the string output. The member name will be present, but the 21294 // value will be replaced with "sensitive". 21295 func (s TableDescription) GoString() string { 21296 return s.String() 21297 } 21298 21299 // SetArchivalSummary sets the ArchivalSummary field's value. 21300 func (s *TableDescription) SetArchivalSummary(v *ArchivalSummary) *TableDescription { 21301 s.ArchivalSummary = v 21302 return s 21303 } 21304 21305 // SetAttributeDefinitions sets the AttributeDefinitions field's value. 21306 func (s *TableDescription) SetAttributeDefinitions(v []*AttributeDefinition) *TableDescription { 21307 s.AttributeDefinitions = v 21308 return s 21309 } 21310 21311 // SetBillingModeSummary sets the BillingModeSummary field's value. 21312 func (s *TableDescription) SetBillingModeSummary(v *BillingModeSummary) *TableDescription { 21313 s.BillingModeSummary = v 21314 return s 21315 } 21316 21317 // SetCreationDateTime sets the CreationDateTime field's value. 21318 func (s *TableDescription) SetCreationDateTime(v time.Time) *TableDescription { 21319 s.CreationDateTime = &v 21320 return s 21321 } 21322 21323 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 21324 func (s *TableDescription) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexDescription) *TableDescription { 21325 s.GlobalSecondaryIndexes = v 21326 return s 21327 } 21328 21329 // SetGlobalTableVersion sets the GlobalTableVersion field's value. 21330 func (s *TableDescription) SetGlobalTableVersion(v string) *TableDescription { 21331 s.GlobalTableVersion = &v 21332 return s 21333 } 21334 21335 // SetItemCount sets the ItemCount field's value. 21336 func (s *TableDescription) SetItemCount(v int64) *TableDescription { 21337 s.ItemCount = &v 21338 return s 21339 } 21340 21341 // SetKeySchema sets the KeySchema field's value. 21342 func (s *TableDescription) SetKeySchema(v []*KeySchemaElement) *TableDescription { 21343 s.KeySchema = v 21344 return s 21345 } 21346 21347 // SetLatestStreamArn sets the LatestStreamArn field's value. 21348 func (s *TableDescription) SetLatestStreamArn(v string) *TableDescription { 21349 s.LatestStreamArn = &v 21350 return s 21351 } 21352 21353 // SetLatestStreamLabel sets the LatestStreamLabel field's value. 21354 func (s *TableDescription) SetLatestStreamLabel(v string) *TableDescription { 21355 s.LatestStreamLabel = &v 21356 return s 21357 } 21358 21359 // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 21360 func (s *TableDescription) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexDescription) *TableDescription { 21361 s.LocalSecondaryIndexes = v 21362 return s 21363 } 21364 21365 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 21366 func (s *TableDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *TableDescription { 21367 s.ProvisionedThroughput = v 21368 return s 21369 } 21370 21371 // SetReplicas sets the Replicas field's value. 21372 func (s *TableDescription) SetReplicas(v []*ReplicaDescription) *TableDescription { 21373 s.Replicas = v 21374 return s 21375 } 21376 21377 // SetRestoreSummary sets the RestoreSummary field's value. 21378 func (s *TableDescription) SetRestoreSummary(v *RestoreSummary) *TableDescription { 21379 s.RestoreSummary = v 21380 return s 21381 } 21382 21383 // SetSSEDescription sets the SSEDescription field's value. 21384 func (s *TableDescription) SetSSEDescription(v *SSEDescription) *TableDescription { 21385 s.SSEDescription = v 21386 return s 21387 } 21388 21389 // SetStreamSpecification sets the StreamSpecification field's value. 21390 func (s *TableDescription) SetStreamSpecification(v *StreamSpecification) *TableDescription { 21391 s.StreamSpecification = v 21392 return s 21393 } 21394 21395 // SetTableArn sets the TableArn field's value. 21396 func (s *TableDescription) SetTableArn(v string) *TableDescription { 21397 s.TableArn = &v 21398 return s 21399 } 21400 21401 // SetTableId sets the TableId field's value. 21402 func (s *TableDescription) SetTableId(v string) *TableDescription { 21403 s.TableId = &v 21404 return s 21405 } 21406 21407 // SetTableName sets the TableName field's value. 21408 func (s *TableDescription) SetTableName(v string) *TableDescription { 21409 s.TableName = &v 21410 return s 21411 } 21412 21413 // SetTableSizeBytes sets the TableSizeBytes field's value. 21414 func (s *TableDescription) SetTableSizeBytes(v int64) *TableDescription { 21415 s.TableSizeBytes = &v 21416 return s 21417 } 21418 21419 // SetTableStatus sets the TableStatus field's value. 21420 func (s *TableDescription) SetTableStatus(v string) *TableDescription { 21421 s.TableStatus = &v 21422 return s 21423 } 21424 21425 // A target table with the specified name is either being created or deleted. 21426 type TableInUseException struct { 21427 _ struct{} `type:"structure"` 21428 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21429 21430 Message_ *string `locationName:"message" type:"string"` 21431 } 21432 21433 // String returns the string representation. 21434 // 21435 // API parameter values that are decorated as "sensitive" in the API will not 21436 // be included in the string output. The member name will be present, but the 21437 // value will be replaced with "sensitive". 21438 func (s TableInUseException) String() string { 21439 return awsutil.Prettify(s) 21440 } 21441 21442 // GoString returns the string representation. 21443 // 21444 // API parameter values that are decorated as "sensitive" in the API will not 21445 // be included in the string output. The member name will be present, but the 21446 // value will be replaced with "sensitive". 21447 func (s TableInUseException) GoString() string { 21448 return s.String() 21449 } 21450 21451 func newErrorTableInUseException(v protocol.ResponseMetadata) error { 21452 return &TableInUseException{ 21453 RespMetadata: v, 21454 } 21455 } 21456 21457 // Code returns the exception type name. 21458 func (s *TableInUseException) Code() string { 21459 return "TableInUseException" 21460 } 21461 21462 // Message returns the exception's message. 21463 func (s *TableInUseException) Message() string { 21464 if s.Message_ != nil { 21465 return *s.Message_ 21466 } 21467 return "" 21468 } 21469 21470 // OrigErr always returns nil, satisfies awserr.Error interface. 21471 func (s *TableInUseException) OrigErr() error { 21472 return nil 21473 } 21474 21475 func (s *TableInUseException) Error() string { 21476 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21477 } 21478 21479 // Status code returns the HTTP status code for the request's response error. 21480 func (s *TableInUseException) StatusCode() int { 21481 return s.RespMetadata.StatusCode 21482 } 21483 21484 // RequestID returns the service's response RequestID for request. 21485 func (s *TableInUseException) RequestID() string { 21486 return s.RespMetadata.RequestID 21487 } 21488 21489 // A source table with the name TableName does not currently exist within the 21490 // subscriber's account. 21491 type TableNotFoundException struct { 21492 _ struct{} `type:"structure"` 21493 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21494 21495 Message_ *string `locationName:"message" type:"string"` 21496 } 21497 21498 // String returns the string representation. 21499 // 21500 // API parameter values that are decorated as "sensitive" in the API will not 21501 // be included in the string output. The member name will be present, but the 21502 // value will be replaced with "sensitive". 21503 func (s TableNotFoundException) String() string { 21504 return awsutil.Prettify(s) 21505 } 21506 21507 // GoString returns the string representation. 21508 // 21509 // API parameter values that are decorated as "sensitive" in the API will not 21510 // be included in the string output. The member name will be present, but the 21511 // value will be replaced with "sensitive". 21512 func (s TableNotFoundException) GoString() string { 21513 return s.String() 21514 } 21515 21516 func newErrorTableNotFoundException(v protocol.ResponseMetadata) error { 21517 return &TableNotFoundException{ 21518 RespMetadata: v, 21519 } 21520 } 21521 21522 // Code returns the exception type name. 21523 func (s *TableNotFoundException) Code() string { 21524 return "TableNotFoundException" 21525 } 21526 21527 // Message returns the exception's message. 21528 func (s *TableNotFoundException) Message() string { 21529 if s.Message_ != nil { 21530 return *s.Message_ 21531 } 21532 return "" 21533 } 21534 21535 // OrigErr always returns nil, satisfies awserr.Error interface. 21536 func (s *TableNotFoundException) OrigErr() error { 21537 return nil 21538 } 21539 21540 func (s *TableNotFoundException) Error() string { 21541 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21542 } 21543 21544 // Status code returns the HTTP status code for the request's response error. 21545 func (s *TableNotFoundException) StatusCode() int { 21546 return s.RespMetadata.StatusCode 21547 } 21548 21549 // RequestID returns the service's response RequestID for request. 21550 func (s *TableNotFoundException) RequestID() string { 21551 return s.RespMetadata.RequestID 21552 } 21553 21554 // Describes a tag. A tag is a key-value pair. You can add up to 50 tags to 21555 // a single DynamoDB table. 21556 // 21557 // AWS-assigned tag names and values are automatically assigned the aws: prefix, 21558 // which the user cannot assign. AWS-assigned tag names do not count towards 21559 // the tag limit of 50. User-assigned tag names have the prefix user: in the 21560 // Cost Allocation Report. You cannot backdate the application of a tag. 21561 // 21562 // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 21563 // in the Amazon DynamoDB Developer Guide. 21564 type Tag struct { 21565 _ struct{} `type:"structure"` 21566 21567 // The key of the tag. Tag keys are case sensitive. Each DynamoDB table can 21568 // only have up to one tag with the same key. If you try to add an existing 21569 // tag (same key), the existing tag value will be updated to the new value. 21570 // 21571 // Key is a required field 21572 Key *string `min:"1" type:"string" required:"true"` 21573 21574 // The value of the tag. Tag values are case-sensitive and can be null. 21575 // 21576 // Value is a required field 21577 Value *string `type:"string" required:"true"` 21578 } 21579 21580 // String returns the string representation. 21581 // 21582 // API parameter values that are decorated as "sensitive" in the API will not 21583 // be included in the string output. The member name will be present, but the 21584 // value will be replaced with "sensitive". 21585 func (s Tag) String() string { 21586 return awsutil.Prettify(s) 21587 } 21588 21589 // GoString returns the string representation. 21590 // 21591 // API parameter values that are decorated as "sensitive" in the API will not 21592 // be included in the string output. The member name will be present, but the 21593 // value will be replaced with "sensitive". 21594 func (s Tag) GoString() string { 21595 return s.String() 21596 } 21597 21598 // Validate inspects the fields of the type to determine if they are valid. 21599 func (s *Tag) Validate() error { 21600 invalidParams := request.ErrInvalidParams{Context: "Tag"} 21601 if s.Key == nil { 21602 invalidParams.Add(request.NewErrParamRequired("Key")) 21603 } 21604 if s.Key != nil && len(*s.Key) < 1 { 21605 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21606 } 21607 if s.Value == nil { 21608 invalidParams.Add(request.NewErrParamRequired("Value")) 21609 } 21610 21611 if invalidParams.Len() > 0 { 21612 return invalidParams 21613 } 21614 return nil 21615 } 21616 21617 // SetKey sets the Key field's value. 21618 func (s *Tag) SetKey(v string) *Tag { 21619 s.Key = &v 21620 return s 21621 } 21622 21623 // SetValue sets the Value field's value. 21624 func (s *Tag) SetValue(v string) *Tag { 21625 s.Value = &v 21626 return s 21627 } 21628 21629 type TagResourceInput struct { 21630 _ struct{} `type:"structure"` 21631 21632 // Identifies the Amazon DynamoDB resource to which tags should be added. This 21633 // value is an Amazon Resource Name (ARN). 21634 // 21635 // ResourceArn is a required field 21636 ResourceArn *string `min:"1" type:"string" required:"true"` 21637 21638 // The tags to be assigned to the Amazon DynamoDB resource. 21639 // 21640 // Tags is a required field 21641 Tags []*Tag `type:"list" required:"true"` 21642 } 21643 21644 // String returns the string representation. 21645 // 21646 // API parameter values that are decorated as "sensitive" in the API will not 21647 // be included in the string output. The member name will be present, but the 21648 // value will be replaced with "sensitive". 21649 func (s TagResourceInput) String() string { 21650 return awsutil.Prettify(s) 21651 } 21652 21653 // GoString returns the string representation. 21654 // 21655 // API parameter values that are decorated as "sensitive" in the API will not 21656 // be included in the string output. The member name will be present, but the 21657 // value will be replaced with "sensitive". 21658 func (s TagResourceInput) GoString() string { 21659 return s.String() 21660 } 21661 21662 // Validate inspects the fields of the type to determine if they are valid. 21663 func (s *TagResourceInput) Validate() error { 21664 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 21665 if s.ResourceArn == nil { 21666 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 21667 } 21668 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 21669 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 21670 } 21671 if s.Tags == nil { 21672 invalidParams.Add(request.NewErrParamRequired("Tags")) 21673 } 21674 if s.Tags != nil { 21675 for i, v := range s.Tags { 21676 if v == nil { 21677 continue 21678 } 21679 if err := v.Validate(); err != nil { 21680 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 21681 } 21682 } 21683 } 21684 21685 if invalidParams.Len() > 0 { 21686 return invalidParams 21687 } 21688 return nil 21689 } 21690 21691 // SetResourceArn sets the ResourceArn field's value. 21692 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 21693 s.ResourceArn = &v 21694 return s 21695 } 21696 21697 // SetTags sets the Tags field's value. 21698 func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 21699 s.Tags = v 21700 return s 21701 } 21702 21703 type TagResourceOutput struct { 21704 _ struct{} `type:"structure"` 21705 } 21706 21707 // String returns the string representation. 21708 // 21709 // API parameter values that are decorated as "sensitive" in the API will not 21710 // be included in the string output. The member name will be present, but the 21711 // value will be replaced with "sensitive". 21712 func (s TagResourceOutput) String() string { 21713 return awsutil.Prettify(s) 21714 } 21715 21716 // GoString returns the string representation. 21717 // 21718 // API parameter values that are decorated as "sensitive" in the API will not 21719 // be included in the string output. The member name will be present, but the 21720 // value will be replaced with "sensitive". 21721 func (s TagResourceOutput) GoString() string { 21722 return s.String() 21723 } 21724 21725 // The description of the Time to Live (TTL) status on the specified table. 21726 type TimeToLiveDescription struct { 21727 _ struct{} `type:"structure"` 21728 21729 // The name of the TTL attribute for items in the table. 21730 AttributeName *string `min:"1" type:"string"` 21731 21732 // The TTL status for the table. 21733 TimeToLiveStatus *string `type:"string" enum:"TimeToLiveStatus"` 21734 } 21735 21736 // String returns the string representation. 21737 // 21738 // API parameter values that are decorated as "sensitive" in the API will not 21739 // be included in the string output. The member name will be present, but the 21740 // value will be replaced with "sensitive". 21741 func (s TimeToLiveDescription) String() string { 21742 return awsutil.Prettify(s) 21743 } 21744 21745 // GoString returns the string representation. 21746 // 21747 // API parameter values that are decorated as "sensitive" in the API will not 21748 // be included in the string output. The member name will be present, but the 21749 // value will be replaced with "sensitive". 21750 func (s TimeToLiveDescription) GoString() string { 21751 return s.String() 21752 } 21753 21754 // SetAttributeName sets the AttributeName field's value. 21755 func (s *TimeToLiveDescription) SetAttributeName(v string) *TimeToLiveDescription { 21756 s.AttributeName = &v 21757 return s 21758 } 21759 21760 // SetTimeToLiveStatus sets the TimeToLiveStatus field's value. 21761 func (s *TimeToLiveDescription) SetTimeToLiveStatus(v string) *TimeToLiveDescription { 21762 s.TimeToLiveStatus = &v 21763 return s 21764 } 21765 21766 // Represents the settings used to enable or disable Time to Live (TTL) for 21767 // the specified table. 21768 type TimeToLiveSpecification struct { 21769 _ struct{} `type:"structure"` 21770 21771 // The name of the TTL attribute used to store the expiration time for items 21772 // in the table. 21773 // 21774 // AttributeName is a required field 21775 AttributeName *string `min:"1" type:"string" required:"true"` 21776 21777 // Indicates whether TTL is to be enabled (true) or disabled (false) on the 21778 // table. 21779 // 21780 // Enabled is a required field 21781 Enabled *bool `type:"boolean" required:"true"` 21782 } 21783 21784 // String returns the string representation. 21785 // 21786 // API parameter values that are decorated as "sensitive" in the API will not 21787 // be included in the string output. The member name will be present, but the 21788 // value will be replaced with "sensitive". 21789 func (s TimeToLiveSpecification) String() string { 21790 return awsutil.Prettify(s) 21791 } 21792 21793 // GoString returns the string representation. 21794 // 21795 // API parameter values that are decorated as "sensitive" in the API will not 21796 // be included in the string output. The member name will be present, but the 21797 // value will be replaced with "sensitive". 21798 func (s TimeToLiveSpecification) GoString() string { 21799 return s.String() 21800 } 21801 21802 // Validate inspects the fields of the type to determine if they are valid. 21803 func (s *TimeToLiveSpecification) Validate() error { 21804 invalidParams := request.ErrInvalidParams{Context: "TimeToLiveSpecification"} 21805 if s.AttributeName == nil { 21806 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 21807 } 21808 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 21809 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 21810 } 21811 if s.Enabled == nil { 21812 invalidParams.Add(request.NewErrParamRequired("Enabled")) 21813 } 21814 21815 if invalidParams.Len() > 0 { 21816 return invalidParams 21817 } 21818 return nil 21819 } 21820 21821 // SetAttributeName sets the AttributeName field's value. 21822 func (s *TimeToLiveSpecification) SetAttributeName(v string) *TimeToLiveSpecification { 21823 s.AttributeName = &v 21824 return s 21825 } 21826 21827 // SetEnabled sets the Enabled field's value. 21828 func (s *TimeToLiveSpecification) SetEnabled(v bool) *TimeToLiveSpecification { 21829 s.Enabled = &v 21830 return s 21831 } 21832 21833 // Specifies an item to be retrieved as part of the transaction. 21834 type TransactGetItem struct { 21835 _ struct{} `type:"structure"` 21836 21837 // Contains the primary key that identifies the item to get, together with the 21838 // name of the table that contains the item, and optionally the specific attributes 21839 // of the item to retrieve. 21840 // 21841 // Get is a required field 21842 Get *Get `type:"structure" required:"true"` 21843 } 21844 21845 // String returns the string representation. 21846 // 21847 // API parameter values that are decorated as "sensitive" in the API will not 21848 // be included in the string output. The member name will be present, but the 21849 // value will be replaced with "sensitive". 21850 func (s TransactGetItem) String() string { 21851 return awsutil.Prettify(s) 21852 } 21853 21854 // GoString returns the string representation. 21855 // 21856 // API parameter values that are decorated as "sensitive" in the API will not 21857 // be included in the string output. The member name will be present, but the 21858 // value will be replaced with "sensitive". 21859 func (s TransactGetItem) GoString() string { 21860 return s.String() 21861 } 21862 21863 // Validate inspects the fields of the type to determine if they are valid. 21864 func (s *TransactGetItem) Validate() error { 21865 invalidParams := request.ErrInvalidParams{Context: "TransactGetItem"} 21866 if s.Get == nil { 21867 invalidParams.Add(request.NewErrParamRequired("Get")) 21868 } 21869 if s.Get != nil { 21870 if err := s.Get.Validate(); err != nil { 21871 invalidParams.AddNested("Get", err.(request.ErrInvalidParams)) 21872 } 21873 } 21874 21875 if invalidParams.Len() > 0 { 21876 return invalidParams 21877 } 21878 return nil 21879 } 21880 21881 // SetGet sets the Get field's value. 21882 func (s *TransactGetItem) SetGet(v *Get) *TransactGetItem { 21883 s.Get = v 21884 return s 21885 } 21886 21887 type TransactGetItemsInput struct { 21888 _ struct{} `type:"structure"` 21889 21890 // A value of TOTAL causes consumed capacity information to be returned, and 21891 // a value of NONE prevents that information from being returned. No other value 21892 // is valid. 21893 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 21894 21895 // An ordered array of up to 25 TransactGetItem objects, each of which contains 21896 // a Get structure. 21897 // 21898 // TransactItems is a required field 21899 TransactItems []*TransactGetItem `min:"1" type:"list" required:"true"` 21900 } 21901 21902 // String returns the string representation. 21903 // 21904 // API parameter values that are decorated as "sensitive" in the API will not 21905 // be included in the string output. The member name will be present, but the 21906 // value will be replaced with "sensitive". 21907 func (s TransactGetItemsInput) String() string { 21908 return awsutil.Prettify(s) 21909 } 21910 21911 // GoString returns the string representation. 21912 // 21913 // API parameter values that are decorated as "sensitive" in the API will not 21914 // be included in the string output. The member name will be present, but the 21915 // value will be replaced with "sensitive". 21916 func (s TransactGetItemsInput) GoString() string { 21917 return s.String() 21918 } 21919 21920 // Validate inspects the fields of the type to determine if they are valid. 21921 func (s *TransactGetItemsInput) Validate() error { 21922 invalidParams := request.ErrInvalidParams{Context: "TransactGetItemsInput"} 21923 if s.TransactItems == nil { 21924 invalidParams.Add(request.NewErrParamRequired("TransactItems")) 21925 } 21926 if s.TransactItems != nil && len(s.TransactItems) < 1 { 21927 invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1)) 21928 } 21929 if s.TransactItems != nil { 21930 for i, v := range s.TransactItems { 21931 if v == nil { 21932 continue 21933 } 21934 if err := v.Validate(); err != nil { 21935 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams)) 21936 } 21937 } 21938 } 21939 21940 if invalidParams.Len() > 0 { 21941 return invalidParams 21942 } 21943 return nil 21944 } 21945 21946 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 21947 func (s *TransactGetItemsInput) SetReturnConsumedCapacity(v string) *TransactGetItemsInput { 21948 s.ReturnConsumedCapacity = &v 21949 return s 21950 } 21951 21952 // SetTransactItems sets the TransactItems field's value. 21953 func (s *TransactGetItemsInput) SetTransactItems(v []*TransactGetItem) *TransactGetItemsInput { 21954 s.TransactItems = v 21955 return s 21956 } 21957 21958 type TransactGetItemsOutput struct { 21959 _ struct{} `type:"structure"` 21960 21961 // If the ReturnConsumedCapacity value was TOTAL, this is an array of ConsumedCapacity 21962 // objects, one for each table addressed by TransactGetItem objects in the TransactItems 21963 // parameter. These ConsumedCapacity objects report the read-capacity units 21964 // consumed by the TransactGetItems call in that table. 21965 ConsumedCapacity []*ConsumedCapacity `type:"list"` 21966 21967 // An ordered array of up to 25 ItemResponse objects, each of which corresponds 21968 // to the TransactGetItem object in the same position in the TransactItems array. 21969 // Each ItemResponse object contains a Map of the name-value pairs that are 21970 // the projected attributes of the requested item. 21971 // 21972 // If a requested item could not be retrieved, the corresponding ItemResponse 21973 // object is Null, or if the requested item has no projected attributes, the 21974 // corresponding ItemResponse object is an empty Map. 21975 Responses []*ItemResponse `min:"1" type:"list"` 21976 } 21977 21978 // String returns the string representation. 21979 // 21980 // API parameter values that are decorated as "sensitive" in the API will not 21981 // be included in the string output. The member name will be present, but the 21982 // value will be replaced with "sensitive". 21983 func (s TransactGetItemsOutput) String() string { 21984 return awsutil.Prettify(s) 21985 } 21986 21987 // GoString returns the string representation. 21988 // 21989 // API parameter values that are decorated as "sensitive" in the API will not 21990 // be included in the string output. The member name will be present, but the 21991 // value will be replaced with "sensitive". 21992 func (s TransactGetItemsOutput) GoString() string { 21993 return s.String() 21994 } 21995 21996 // SetConsumedCapacity sets the ConsumedCapacity field's value. 21997 func (s *TransactGetItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactGetItemsOutput { 21998 s.ConsumedCapacity = v 21999 return s 22000 } 22001 22002 // SetResponses sets the Responses field's value. 22003 func (s *TransactGetItemsOutput) SetResponses(v []*ItemResponse) *TransactGetItemsOutput { 22004 s.Responses = v 22005 return s 22006 } 22007 22008 // A list of requests that can perform update, put, delete, or check operations 22009 // on multiple items in one or more tables atomically. 22010 type TransactWriteItem struct { 22011 _ struct{} `type:"structure"` 22012 22013 // A request to perform a check item operation. 22014 ConditionCheck *ConditionCheck `type:"structure"` 22015 22016 // A request to perform a DeleteItem operation. 22017 Delete *Delete `type:"structure"` 22018 22019 // A request to perform a PutItem operation. 22020 Put *Put `type:"structure"` 22021 22022 // A request to perform an UpdateItem operation. 22023 Update *Update `type:"structure"` 22024 } 22025 22026 // String returns the string representation. 22027 // 22028 // API parameter values that are decorated as "sensitive" in the API will not 22029 // be included in the string output. The member name will be present, but the 22030 // value will be replaced with "sensitive". 22031 func (s TransactWriteItem) String() string { 22032 return awsutil.Prettify(s) 22033 } 22034 22035 // GoString returns the string representation. 22036 // 22037 // API parameter values that are decorated as "sensitive" in the API will not 22038 // be included in the string output. The member name will be present, but the 22039 // value will be replaced with "sensitive". 22040 func (s TransactWriteItem) GoString() string { 22041 return s.String() 22042 } 22043 22044 // Validate inspects the fields of the type to determine if they are valid. 22045 func (s *TransactWriteItem) Validate() error { 22046 invalidParams := request.ErrInvalidParams{Context: "TransactWriteItem"} 22047 if s.ConditionCheck != nil { 22048 if err := s.ConditionCheck.Validate(); err != nil { 22049 invalidParams.AddNested("ConditionCheck", err.(request.ErrInvalidParams)) 22050 } 22051 } 22052 if s.Delete != nil { 22053 if err := s.Delete.Validate(); err != nil { 22054 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 22055 } 22056 } 22057 if s.Put != nil { 22058 if err := s.Put.Validate(); err != nil { 22059 invalidParams.AddNested("Put", err.(request.ErrInvalidParams)) 22060 } 22061 } 22062 if s.Update != nil { 22063 if err := s.Update.Validate(); err != nil { 22064 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 22065 } 22066 } 22067 22068 if invalidParams.Len() > 0 { 22069 return invalidParams 22070 } 22071 return nil 22072 } 22073 22074 // SetConditionCheck sets the ConditionCheck field's value. 22075 func (s *TransactWriteItem) SetConditionCheck(v *ConditionCheck) *TransactWriteItem { 22076 s.ConditionCheck = v 22077 return s 22078 } 22079 22080 // SetDelete sets the Delete field's value. 22081 func (s *TransactWriteItem) SetDelete(v *Delete) *TransactWriteItem { 22082 s.Delete = v 22083 return s 22084 } 22085 22086 // SetPut sets the Put field's value. 22087 func (s *TransactWriteItem) SetPut(v *Put) *TransactWriteItem { 22088 s.Put = v 22089 return s 22090 } 22091 22092 // SetUpdate sets the Update field's value. 22093 func (s *TransactWriteItem) SetUpdate(v *Update) *TransactWriteItem { 22094 s.Update = v 22095 return s 22096 } 22097 22098 type TransactWriteItemsInput struct { 22099 _ struct{} `type:"structure"` 22100 22101 // Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, 22102 // meaning that multiple identical calls have the same effect as one single 22103 // call. 22104 // 22105 // Although multiple identical calls using the same client request token produce 22106 // the same result on the server (no side effects), the responses to the calls 22107 // might not be the same. If the ReturnConsumedCapacity> parameter is set, then 22108 // the initial TransactWriteItems call returns the amount of write capacity 22109 // units consumed in making the changes. Subsequent TransactWriteItems calls 22110 // with the same client token return the number of read capacity units consumed 22111 // in reading the item. 22112 // 22113 // A client request token is valid for 10 minutes after the first request that 22114 // uses it is completed. After 10 minutes, any request with the same client 22115 // token is treated as a new request. Do not resubmit the same request with 22116 // the same client token for more than 10 minutes, or the result might not be 22117 // idempotent. 22118 // 22119 // If you submit a request with the same client token but a change in other 22120 // parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch 22121 // exception. 22122 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 22123 22124 // Determines the level of detail about provisioned throughput consumption that 22125 // is returned in the response: 22126 // 22127 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 22128 // operation, together with ConsumedCapacity for each table and secondary 22129 // index that was accessed. Note that some operations, such as GetItem and 22130 // BatchGetItem, do not access any indexes at all. In these cases, specifying 22131 // INDEXES will only return ConsumedCapacity information for table(s). 22132 // 22133 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 22134 // the operation. 22135 // 22136 // * NONE - No ConsumedCapacity details are included in the response. 22137 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 22138 22139 // Determines whether item collection metrics are returned. If set to SIZE, 22140 // the response includes statistics about item collections (if any), that were 22141 // modified during the operation and are returned in the response. If set to 22142 // NONE (the default), no statistics are returned. 22143 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 22144 22145 // An ordered array of up to 25 TransactWriteItem objects, each of which contains 22146 // a ConditionCheck, Put, Update, or Delete object. These can operate on items 22147 // in different tables, but the tables must reside in the same AWS account and 22148 // Region, and no two of them can operate on the same item. 22149 // 22150 // TransactItems is a required field 22151 TransactItems []*TransactWriteItem `min:"1" type:"list" required:"true"` 22152 } 22153 22154 // String returns the string representation. 22155 // 22156 // API parameter values that are decorated as "sensitive" in the API will not 22157 // be included in the string output. The member name will be present, but the 22158 // value will be replaced with "sensitive". 22159 func (s TransactWriteItemsInput) String() string { 22160 return awsutil.Prettify(s) 22161 } 22162 22163 // GoString returns the string representation. 22164 // 22165 // API parameter values that are decorated as "sensitive" in the API will not 22166 // be included in the string output. The member name will be present, but the 22167 // value will be replaced with "sensitive". 22168 func (s TransactWriteItemsInput) GoString() string { 22169 return s.String() 22170 } 22171 22172 // Validate inspects the fields of the type to determine if they are valid. 22173 func (s *TransactWriteItemsInput) Validate() error { 22174 invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"} 22175 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 22176 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 22177 } 22178 if s.TransactItems == nil { 22179 invalidParams.Add(request.NewErrParamRequired("TransactItems")) 22180 } 22181 if s.TransactItems != nil && len(s.TransactItems) < 1 { 22182 invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1)) 22183 } 22184 if s.TransactItems != nil { 22185 for i, v := range s.TransactItems { 22186 if v == nil { 22187 continue 22188 } 22189 if err := v.Validate(); err != nil { 22190 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams)) 22191 } 22192 } 22193 } 22194 22195 if invalidParams.Len() > 0 { 22196 return invalidParams 22197 } 22198 return nil 22199 } 22200 22201 // SetClientRequestToken sets the ClientRequestToken field's value. 22202 func (s *TransactWriteItemsInput) SetClientRequestToken(v string) *TransactWriteItemsInput { 22203 s.ClientRequestToken = &v 22204 return s 22205 } 22206 22207 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 22208 func (s *TransactWriteItemsInput) SetReturnConsumedCapacity(v string) *TransactWriteItemsInput { 22209 s.ReturnConsumedCapacity = &v 22210 return s 22211 } 22212 22213 // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 22214 func (s *TransactWriteItemsInput) SetReturnItemCollectionMetrics(v string) *TransactWriteItemsInput { 22215 s.ReturnItemCollectionMetrics = &v 22216 return s 22217 } 22218 22219 // SetTransactItems sets the TransactItems field's value. 22220 func (s *TransactWriteItemsInput) SetTransactItems(v []*TransactWriteItem) *TransactWriteItemsInput { 22221 s.TransactItems = v 22222 return s 22223 } 22224 22225 type TransactWriteItemsOutput struct { 22226 _ struct{} `type:"structure"` 22227 22228 // The capacity units consumed by the entire TransactWriteItems operation. The 22229 // values of the list are ordered according to the ordering of the TransactItems 22230 // request parameter. 22231 ConsumedCapacity []*ConsumedCapacity `type:"list"` 22232 22233 // A list of tables that were processed by TransactWriteItems and, for each 22234 // table, information about any item collections that were affected by individual 22235 // UpdateItem, PutItem, or DeleteItem operations. 22236 ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` 22237 } 22238 22239 // String returns the string representation. 22240 // 22241 // API parameter values that are decorated as "sensitive" in the API will not 22242 // be included in the string output. The member name will be present, but the 22243 // value will be replaced with "sensitive". 22244 func (s TransactWriteItemsOutput) String() string { 22245 return awsutil.Prettify(s) 22246 } 22247 22248 // GoString returns the string representation. 22249 // 22250 // API parameter values that are decorated as "sensitive" in the API will not 22251 // be included in the string output. The member name will be present, but the 22252 // value will be replaced with "sensitive". 22253 func (s TransactWriteItemsOutput) GoString() string { 22254 return s.String() 22255 } 22256 22257 // SetConsumedCapacity sets the ConsumedCapacity field's value. 22258 func (s *TransactWriteItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactWriteItemsOutput { 22259 s.ConsumedCapacity = v 22260 return s 22261 } 22262 22263 // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 22264 func (s *TransactWriteItemsOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *TransactWriteItemsOutput { 22265 s.ItemCollectionMetrics = v 22266 return s 22267 } 22268 22269 // The entire transaction request was canceled. 22270 // 22271 // DynamoDB cancels a TransactWriteItems request under the following circumstances: 22272 // 22273 // * A condition in one of the condition expressions is not met. 22274 // 22275 // * A table in the TransactWriteItems request is in a different account 22276 // or region. 22277 // 22278 // * More than one action in the TransactWriteItems operation targets the 22279 // same item. 22280 // 22281 // * There is insufficient provisioned capacity for the transaction to be 22282 // completed. 22283 // 22284 // * An item size becomes too large (larger than 400 KB), or a local secondary 22285 // index (LSI) becomes too large, or a similar validation error occurs because 22286 // of changes made by the transaction. 22287 // 22288 // * There is a user error, such as an invalid data format. 22289 // 22290 // DynamoDB cancels a TransactGetItems request under the following circumstances: 22291 // 22292 // * There is an ongoing TransactGetItems operation that conflicts with a 22293 // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 22294 // In this case the TransactGetItems operation fails with a TransactionCanceledException. 22295 // 22296 // * A table in the TransactGetItems request is in a different account or 22297 // region. 22298 // 22299 // * There is insufficient provisioned capacity for the transaction to be 22300 // completed. 22301 // 22302 // * There is a user error, such as an invalid data format. 22303 // 22304 // If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 22305 // property. This property is not set for other languages. Transaction cancellation 22306 // reasons are ordered in the order of requested items, if an item has no error 22307 // it will have NONE code and Null message. 22308 // 22309 // Cancellation reason codes and possible error messages: 22310 // 22311 // * No Errors: Code: NONE Message: null 22312 // 22313 // * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 22314 // conditional request failed. 22315 // 22316 // * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 22317 // Message: Collection size exceeded. 22318 // 22319 // * Transaction Conflict: Code: TransactionConflict Message: Transaction 22320 // is ongoing for the item. 22321 // 22322 // * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 22323 // Messages: The level of configured provisioned throughput for the table 22324 // was exceeded. Consider increasing your provisioning level with the UpdateTable 22325 // API. This Message is received when provisioned throughput is exceeded 22326 // is on a provisioned DynamoDB table. The level of configured provisioned 22327 // throughput for one or more global secondary indexes of the table was exceeded. 22328 // Consider increasing your provisioning level for the under-provisioned 22329 // global secondary indexes with the UpdateTable API. This message is returned 22330 // when provisioned throughput is exceeded is on a provisioned GSI. 22331 // 22332 // * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 22333 // the current capacity of your table or index. DynamoDB is automatically 22334 // scaling your table or index so please try again shortly. If exceptions 22335 // persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 22336 // This message is returned when writes get throttled on an On-Demand table 22337 // as DynamoDB is automatically scaling the table. Throughput exceeds the 22338 // current capacity for one or more global secondary indexes. DynamoDB is 22339 // automatically scaling your index so please try again shortly. This message 22340 // is returned when when writes get throttled on an On-Demand GSI as DynamoDB 22341 // is automatically scaling the GSI. 22342 // 22343 // * Validation Error: Code: ValidationError Messages: One or more parameter 22344 // values were invalid. The update expression attempted to update the secondary 22345 // index key beyond allowed size limits. The update expression attempted 22346 // to update the secondary index key to unsupported type. An operand in the 22347 // update expression has an incorrect data type. Item size to update has 22348 // exceeded the maximum allowed size. Number overflow. Attempting to store 22349 // a number with magnitude larger than supported range. Type mismatch for 22350 // attribute to update. Nesting Levels have exceeded supported limits. The 22351 // document path provided in the update expression is invalid for update. 22352 // The provided expression refers to an attribute that does not exist in 22353 // the item. 22354 type TransactionCanceledException struct { 22355 _ struct{} `type:"structure"` 22356 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22357 22358 // A list of cancellation reasons. 22359 CancellationReasons []*CancellationReason `min:"1" type:"list"` 22360 22361 Message_ *string `locationName:"Message" type:"string"` 22362 } 22363 22364 // String returns the string representation. 22365 // 22366 // API parameter values that are decorated as "sensitive" in the API will not 22367 // be included in the string output. The member name will be present, but the 22368 // value will be replaced with "sensitive". 22369 func (s TransactionCanceledException) String() string { 22370 return awsutil.Prettify(s) 22371 } 22372 22373 // GoString returns the string representation. 22374 // 22375 // API parameter values that are decorated as "sensitive" in the API will not 22376 // be included in the string output. The member name will be present, but the 22377 // value will be replaced with "sensitive". 22378 func (s TransactionCanceledException) GoString() string { 22379 return s.String() 22380 } 22381 22382 func newErrorTransactionCanceledException(v protocol.ResponseMetadata) error { 22383 return &TransactionCanceledException{ 22384 RespMetadata: v, 22385 } 22386 } 22387 22388 // Code returns the exception type name. 22389 func (s *TransactionCanceledException) Code() string { 22390 return "TransactionCanceledException" 22391 } 22392 22393 // Message returns the exception's message. 22394 func (s *TransactionCanceledException) Message() string { 22395 if s.Message_ != nil { 22396 return *s.Message_ 22397 } 22398 return "" 22399 } 22400 22401 // OrigErr always returns nil, satisfies awserr.Error interface. 22402 func (s *TransactionCanceledException) OrigErr() error { 22403 return nil 22404 } 22405 22406 func (s *TransactionCanceledException) Error() string { 22407 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 22408 } 22409 22410 // Status code returns the HTTP status code for the request's response error. 22411 func (s *TransactionCanceledException) StatusCode() int { 22412 return s.RespMetadata.StatusCode 22413 } 22414 22415 // RequestID returns the service's response RequestID for request. 22416 func (s *TransactionCanceledException) RequestID() string { 22417 return s.RespMetadata.RequestID 22418 } 22419 22420 // Operation was rejected because there is an ongoing transaction for the item. 22421 type TransactionConflictException struct { 22422 _ struct{} `type:"structure"` 22423 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22424 22425 Message_ *string `locationName:"message" type:"string"` 22426 } 22427 22428 // String returns the string representation. 22429 // 22430 // API parameter values that are decorated as "sensitive" in the API will not 22431 // be included in the string output. The member name will be present, but the 22432 // value will be replaced with "sensitive". 22433 func (s TransactionConflictException) String() string { 22434 return awsutil.Prettify(s) 22435 } 22436 22437 // GoString returns the string representation. 22438 // 22439 // API parameter values that are decorated as "sensitive" in the API will not 22440 // be included in the string output. The member name will be present, but the 22441 // value will be replaced with "sensitive". 22442 func (s TransactionConflictException) GoString() string { 22443 return s.String() 22444 } 22445 22446 func newErrorTransactionConflictException(v protocol.ResponseMetadata) error { 22447 return &TransactionConflictException{ 22448 RespMetadata: v, 22449 } 22450 } 22451 22452 // Code returns the exception type name. 22453 func (s *TransactionConflictException) Code() string { 22454 return "TransactionConflictException" 22455 } 22456 22457 // Message returns the exception's message. 22458 func (s *TransactionConflictException) Message() string { 22459 if s.Message_ != nil { 22460 return *s.Message_ 22461 } 22462 return "" 22463 } 22464 22465 // OrigErr always returns nil, satisfies awserr.Error interface. 22466 func (s *TransactionConflictException) OrigErr() error { 22467 return nil 22468 } 22469 22470 func (s *TransactionConflictException) Error() string { 22471 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22472 } 22473 22474 // Status code returns the HTTP status code for the request's response error. 22475 func (s *TransactionConflictException) StatusCode() int { 22476 return s.RespMetadata.StatusCode 22477 } 22478 22479 // RequestID returns the service's response RequestID for request. 22480 func (s *TransactionConflictException) RequestID() string { 22481 return s.RespMetadata.RequestID 22482 } 22483 22484 // The transaction with the given request token is already in progress. 22485 type TransactionInProgressException struct { 22486 _ struct{} `type:"structure"` 22487 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22488 22489 Message_ *string `locationName:"Message" type:"string"` 22490 } 22491 22492 // String returns the string representation. 22493 // 22494 // API parameter values that are decorated as "sensitive" in the API will not 22495 // be included in the string output. The member name will be present, but the 22496 // value will be replaced with "sensitive". 22497 func (s TransactionInProgressException) String() string { 22498 return awsutil.Prettify(s) 22499 } 22500 22501 // GoString returns the string representation. 22502 // 22503 // API parameter values that are decorated as "sensitive" in the API will not 22504 // be included in the string output. The member name will be present, but the 22505 // value will be replaced with "sensitive". 22506 func (s TransactionInProgressException) GoString() string { 22507 return s.String() 22508 } 22509 22510 func newErrorTransactionInProgressException(v protocol.ResponseMetadata) error { 22511 return &TransactionInProgressException{ 22512 RespMetadata: v, 22513 } 22514 } 22515 22516 // Code returns the exception type name. 22517 func (s *TransactionInProgressException) Code() string { 22518 return "TransactionInProgressException" 22519 } 22520 22521 // Message returns the exception's message. 22522 func (s *TransactionInProgressException) Message() string { 22523 if s.Message_ != nil { 22524 return *s.Message_ 22525 } 22526 return "" 22527 } 22528 22529 // OrigErr always returns nil, satisfies awserr.Error interface. 22530 func (s *TransactionInProgressException) OrigErr() error { 22531 return nil 22532 } 22533 22534 func (s *TransactionInProgressException) Error() string { 22535 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22536 } 22537 22538 // Status code returns the HTTP status code for the request's response error. 22539 func (s *TransactionInProgressException) StatusCode() int { 22540 return s.RespMetadata.StatusCode 22541 } 22542 22543 // RequestID returns the service's response RequestID for request. 22544 func (s *TransactionInProgressException) RequestID() string { 22545 return s.RespMetadata.RequestID 22546 } 22547 22548 type UntagResourceInput struct { 22549 _ struct{} `type:"structure"` 22550 22551 // The DynamoDB resource that the tags will be removed from. This value is an 22552 // Amazon Resource Name (ARN). 22553 // 22554 // ResourceArn is a required field 22555 ResourceArn *string `min:"1" type:"string" required:"true"` 22556 22557 // A list of tag keys. Existing tags of the resource whose keys are members 22558 // of this list will be removed from the DynamoDB resource. 22559 // 22560 // TagKeys is a required field 22561 TagKeys []*string `type:"list" required:"true"` 22562 } 22563 22564 // String returns the string representation. 22565 // 22566 // API parameter values that are decorated as "sensitive" in the API will not 22567 // be included in the string output. The member name will be present, but the 22568 // value will be replaced with "sensitive". 22569 func (s UntagResourceInput) String() string { 22570 return awsutil.Prettify(s) 22571 } 22572 22573 // GoString returns the string representation. 22574 // 22575 // API parameter values that are decorated as "sensitive" in the API will not 22576 // be included in the string output. The member name will be present, but the 22577 // value will be replaced with "sensitive". 22578 func (s UntagResourceInput) GoString() string { 22579 return s.String() 22580 } 22581 22582 // Validate inspects the fields of the type to determine if they are valid. 22583 func (s *UntagResourceInput) Validate() error { 22584 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 22585 if s.ResourceArn == nil { 22586 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 22587 } 22588 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 22589 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 22590 } 22591 if s.TagKeys == nil { 22592 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 22593 } 22594 22595 if invalidParams.Len() > 0 { 22596 return invalidParams 22597 } 22598 return nil 22599 } 22600 22601 // SetResourceArn sets the ResourceArn field's value. 22602 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 22603 s.ResourceArn = &v 22604 return s 22605 } 22606 22607 // SetTagKeys sets the TagKeys field's value. 22608 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 22609 s.TagKeys = v 22610 return s 22611 } 22612 22613 type UntagResourceOutput struct { 22614 _ struct{} `type:"structure"` 22615 } 22616 22617 // String returns the string representation. 22618 // 22619 // API parameter values that are decorated as "sensitive" in the API will not 22620 // be included in the string output. The member name will be present, but the 22621 // value will be replaced with "sensitive". 22622 func (s UntagResourceOutput) String() string { 22623 return awsutil.Prettify(s) 22624 } 22625 22626 // GoString returns the string representation. 22627 // 22628 // API parameter values that are decorated as "sensitive" in the API will not 22629 // be included in the string output. The member name will be present, but the 22630 // value will be replaced with "sensitive". 22631 func (s UntagResourceOutput) GoString() string { 22632 return s.String() 22633 } 22634 22635 // Represents a request to perform an UpdateItem operation. 22636 type Update struct { 22637 _ struct{} `type:"structure"` 22638 22639 // A condition that must be satisfied in order for a conditional update to succeed. 22640 ConditionExpression *string `type:"string"` 22641 22642 // One or more substitution tokens for attribute names in an expression. 22643 ExpressionAttributeNames map[string]*string `type:"map"` 22644 22645 // One or more values that can be substituted in an expression. 22646 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 22647 22648 // The primary key of the item to be updated. Each element consists of an attribute 22649 // name and a value for that attribute. 22650 // 22651 // Key is a required field 22652 Key map[string]*AttributeValue `type:"map" required:"true"` 22653 22654 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 22655 // Update condition fails. For ReturnValuesOnConditionCheckFailure, the valid 22656 // values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW. 22657 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 22658 22659 // Name of the table for the UpdateItem request. 22660 // 22661 // TableName is a required field 22662 TableName *string `min:"3" type:"string" required:"true"` 22663 22664 // An expression that defines one or more attributes to be updated, the action 22665 // to be performed on them, and new value(s) for them. 22666 // 22667 // UpdateExpression is a required field 22668 UpdateExpression *string `type:"string" required:"true"` 22669 } 22670 22671 // String returns the string representation. 22672 // 22673 // API parameter values that are decorated as "sensitive" in the API will not 22674 // be included in the string output. The member name will be present, but the 22675 // value will be replaced with "sensitive". 22676 func (s Update) String() string { 22677 return awsutil.Prettify(s) 22678 } 22679 22680 // GoString returns the string representation. 22681 // 22682 // API parameter values that are decorated as "sensitive" in the API will not 22683 // be included in the string output. The member name will be present, but the 22684 // value will be replaced with "sensitive". 22685 func (s Update) GoString() string { 22686 return s.String() 22687 } 22688 22689 // Validate inspects the fields of the type to determine if they are valid. 22690 func (s *Update) Validate() error { 22691 invalidParams := request.ErrInvalidParams{Context: "Update"} 22692 if s.Key == nil { 22693 invalidParams.Add(request.NewErrParamRequired("Key")) 22694 } 22695 if s.TableName == nil { 22696 invalidParams.Add(request.NewErrParamRequired("TableName")) 22697 } 22698 if s.TableName != nil && len(*s.TableName) < 3 { 22699 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 22700 } 22701 if s.UpdateExpression == nil { 22702 invalidParams.Add(request.NewErrParamRequired("UpdateExpression")) 22703 } 22704 22705 if invalidParams.Len() > 0 { 22706 return invalidParams 22707 } 22708 return nil 22709 } 22710 22711 // SetConditionExpression sets the ConditionExpression field's value. 22712 func (s *Update) SetConditionExpression(v string) *Update { 22713 s.ConditionExpression = &v 22714 return s 22715 } 22716 22717 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 22718 func (s *Update) SetExpressionAttributeNames(v map[string]*string) *Update { 22719 s.ExpressionAttributeNames = v 22720 return s 22721 } 22722 22723 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 22724 func (s *Update) SetExpressionAttributeValues(v map[string]*AttributeValue) *Update { 22725 s.ExpressionAttributeValues = v 22726 return s 22727 } 22728 22729 // SetKey sets the Key field's value. 22730 func (s *Update) SetKey(v map[string]*AttributeValue) *Update { 22731 s.Key = v 22732 return s 22733 } 22734 22735 // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 22736 func (s *Update) SetReturnValuesOnConditionCheckFailure(v string) *Update { 22737 s.ReturnValuesOnConditionCheckFailure = &v 22738 return s 22739 } 22740 22741 // SetTableName sets the TableName field's value. 22742 func (s *Update) SetTableName(v string) *Update { 22743 s.TableName = &v 22744 return s 22745 } 22746 22747 // SetUpdateExpression sets the UpdateExpression field's value. 22748 func (s *Update) SetUpdateExpression(v string) *Update { 22749 s.UpdateExpression = &v 22750 return s 22751 } 22752 22753 type UpdateContinuousBackupsInput struct { 22754 _ struct{} `type:"structure"` 22755 22756 // Represents the settings used to enable point in time recovery. 22757 // 22758 // PointInTimeRecoverySpecification is a required field 22759 PointInTimeRecoverySpecification *PointInTimeRecoverySpecification `type:"structure" required:"true"` 22760 22761 // The name of the table. 22762 // 22763 // TableName is a required field 22764 TableName *string `min:"3" type:"string" required:"true"` 22765 } 22766 22767 // String returns the string representation. 22768 // 22769 // API parameter values that are decorated as "sensitive" in the API will not 22770 // be included in the string output. The member name will be present, but the 22771 // value will be replaced with "sensitive". 22772 func (s UpdateContinuousBackupsInput) String() string { 22773 return awsutil.Prettify(s) 22774 } 22775 22776 // GoString returns the string representation. 22777 // 22778 // API parameter values that are decorated as "sensitive" in the API will not 22779 // be included in the string output. The member name will be present, but the 22780 // value will be replaced with "sensitive". 22781 func (s UpdateContinuousBackupsInput) GoString() string { 22782 return s.String() 22783 } 22784 22785 // Validate inspects the fields of the type to determine if they are valid. 22786 func (s *UpdateContinuousBackupsInput) Validate() error { 22787 invalidParams := request.ErrInvalidParams{Context: "UpdateContinuousBackupsInput"} 22788 if s.PointInTimeRecoverySpecification == nil { 22789 invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoverySpecification")) 22790 } 22791 if s.TableName == nil { 22792 invalidParams.Add(request.NewErrParamRequired("TableName")) 22793 } 22794 if s.TableName != nil && len(*s.TableName) < 3 { 22795 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 22796 } 22797 if s.PointInTimeRecoverySpecification != nil { 22798 if err := s.PointInTimeRecoverySpecification.Validate(); err != nil { 22799 invalidParams.AddNested("PointInTimeRecoverySpecification", err.(request.ErrInvalidParams)) 22800 } 22801 } 22802 22803 if invalidParams.Len() > 0 { 22804 return invalidParams 22805 } 22806 return nil 22807 } 22808 22809 // SetPointInTimeRecoverySpecification sets the PointInTimeRecoverySpecification field's value. 22810 func (s *UpdateContinuousBackupsInput) SetPointInTimeRecoverySpecification(v *PointInTimeRecoverySpecification) *UpdateContinuousBackupsInput { 22811 s.PointInTimeRecoverySpecification = v 22812 return s 22813 } 22814 22815 // SetTableName sets the TableName field's value. 22816 func (s *UpdateContinuousBackupsInput) SetTableName(v string) *UpdateContinuousBackupsInput { 22817 s.TableName = &v 22818 return s 22819 } 22820 22821 type UpdateContinuousBackupsOutput struct { 22822 _ struct{} `type:"structure"` 22823 22824 // Represents the continuous backups and point in time recovery settings on 22825 // the table. 22826 ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` 22827 } 22828 22829 // String returns the string representation. 22830 // 22831 // API parameter values that are decorated as "sensitive" in the API will not 22832 // be included in the string output. The member name will be present, but the 22833 // value will be replaced with "sensitive". 22834 func (s UpdateContinuousBackupsOutput) String() string { 22835 return awsutil.Prettify(s) 22836 } 22837 22838 // GoString returns the string representation. 22839 // 22840 // API parameter values that are decorated as "sensitive" in the API will not 22841 // be included in the string output. The member name will be present, but the 22842 // value will be replaced with "sensitive". 22843 func (s UpdateContinuousBackupsOutput) GoString() string { 22844 return s.String() 22845 } 22846 22847 // SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. 22848 func (s *UpdateContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *UpdateContinuousBackupsOutput { 22849 s.ContinuousBackupsDescription = v 22850 return s 22851 } 22852 22853 type UpdateContributorInsightsInput struct { 22854 _ struct{} `type:"structure"` 22855 22856 // Represents the contributor insights action. 22857 // 22858 // ContributorInsightsAction is a required field 22859 ContributorInsightsAction *string `type:"string" required:"true" enum:"ContributorInsightsAction"` 22860 22861 // The global secondary index name, if applicable. 22862 IndexName *string `min:"3" type:"string"` 22863 22864 // The name of the table. 22865 // 22866 // TableName is a required field 22867 TableName *string `min:"3" type:"string" required:"true"` 22868 } 22869 22870 // String returns the string representation. 22871 // 22872 // API parameter values that are decorated as "sensitive" in the API will not 22873 // be included in the string output. The member name will be present, but the 22874 // value will be replaced with "sensitive". 22875 func (s UpdateContributorInsightsInput) String() string { 22876 return awsutil.Prettify(s) 22877 } 22878 22879 // GoString returns the string representation. 22880 // 22881 // API parameter values that are decorated as "sensitive" in the API will not 22882 // be included in the string output. The member name will be present, but the 22883 // value will be replaced with "sensitive". 22884 func (s UpdateContributorInsightsInput) GoString() string { 22885 return s.String() 22886 } 22887 22888 // Validate inspects the fields of the type to determine if they are valid. 22889 func (s *UpdateContributorInsightsInput) Validate() error { 22890 invalidParams := request.ErrInvalidParams{Context: "UpdateContributorInsightsInput"} 22891 if s.ContributorInsightsAction == nil { 22892 invalidParams.Add(request.NewErrParamRequired("ContributorInsightsAction")) 22893 } 22894 if s.IndexName != nil && len(*s.IndexName) < 3 { 22895 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 22896 } 22897 if s.TableName == nil { 22898 invalidParams.Add(request.NewErrParamRequired("TableName")) 22899 } 22900 if s.TableName != nil && len(*s.TableName) < 3 { 22901 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 22902 } 22903 22904 if invalidParams.Len() > 0 { 22905 return invalidParams 22906 } 22907 return nil 22908 } 22909 22910 // SetContributorInsightsAction sets the ContributorInsightsAction field's value. 22911 func (s *UpdateContributorInsightsInput) SetContributorInsightsAction(v string) *UpdateContributorInsightsInput { 22912 s.ContributorInsightsAction = &v 22913 return s 22914 } 22915 22916 // SetIndexName sets the IndexName field's value. 22917 func (s *UpdateContributorInsightsInput) SetIndexName(v string) *UpdateContributorInsightsInput { 22918 s.IndexName = &v 22919 return s 22920 } 22921 22922 // SetTableName sets the TableName field's value. 22923 func (s *UpdateContributorInsightsInput) SetTableName(v string) *UpdateContributorInsightsInput { 22924 s.TableName = &v 22925 return s 22926 } 22927 22928 type UpdateContributorInsightsOutput struct { 22929 _ struct{} `type:"structure"` 22930 22931 // The status of contributor insights 22932 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 22933 22934 // The name of the global secondary index, if applicable. 22935 IndexName *string `min:"3" type:"string"` 22936 22937 // The name of the table. 22938 TableName *string `min:"3" type:"string"` 22939 } 22940 22941 // String returns the string representation. 22942 // 22943 // API parameter values that are decorated as "sensitive" in the API will not 22944 // be included in the string output. The member name will be present, but the 22945 // value will be replaced with "sensitive". 22946 func (s UpdateContributorInsightsOutput) String() string { 22947 return awsutil.Prettify(s) 22948 } 22949 22950 // GoString returns the string representation. 22951 // 22952 // API parameter values that are decorated as "sensitive" in the API will not 22953 // be included in the string output. The member name will be present, but the 22954 // value will be replaced with "sensitive". 22955 func (s UpdateContributorInsightsOutput) GoString() string { 22956 return s.String() 22957 } 22958 22959 // SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 22960 func (s *UpdateContributorInsightsOutput) SetContributorInsightsStatus(v string) *UpdateContributorInsightsOutput { 22961 s.ContributorInsightsStatus = &v 22962 return s 22963 } 22964 22965 // SetIndexName sets the IndexName field's value. 22966 func (s *UpdateContributorInsightsOutput) SetIndexName(v string) *UpdateContributorInsightsOutput { 22967 s.IndexName = &v 22968 return s 22969 } 22970 22971 // SetTableName sets the TableName field's value. 22972 func (s *UpdateContributorInsightsOutput) SetTableName(v string) *UpdateContributorInsightsOutput { 22973 s.TableName = &v 22974 return s 22975 } 22976 22977 // Represents the new provisioned throughput settings to be applied to a global 22978 // secondary index. 22979 type UpdateGlobalSecondaryIndexAction struct { 22980 _ struct{} `type:"structure"` 22981 22982 // The name of the global secondary index to be updated. 22983 // 22984 // IndexName is a required field 22985 IndexName *string `min:"3" type:"string" required:"true"` 22986 22987 // Represents the provisioned throughput settings for the specified global secondary 22988 // index. 22989 // 22990 // For current minimum and maximum provisioned throughput values, see Service, 22991 // Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 22992 // in the Amazon DynamoDB Developer Guide. 22993 // 22994 // ProvisionedThroughput is a required field 22995 ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` 22996 } 22997 22998 // String returns the string representation. 22999 // 23000 // API parameter values that are decorated as "sensitive" in the API will not 23001 // be included in the string output. The member name will be present, but the 23002 // value will be replaced with "sensitive". 23003 func (s UpdateGlobalSecondaryIndexAction) String() string { 23004 return awsutil.Prettify(s) 23005 } 23006 23007 // GoString returns the string representation. 23008 // 23009 // API parameter values that are decorated as "sensitive" in the API will not 23010 // be included in the string output. The member name will be present, but the 23011 // value will be replaced with "sensitive". 23012 func (s UpdateGlobalSecondaryIndexAction) GoString() string { 23013 return s.String() 23014 } 23015 23016 // Validate inspects the fields of the type to determine if they are valid. 23017 func (s *UpdateGlobalSecondaryIndexAction) Validate() error { 23018 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalSecondaryIndexAction"} 23019 if s.IndexName == nil { 23020 invalidParams.Add(request.NewErrParamRequired("IndexName")) 23021 } 23022 if s.IndexName != nil && len(*s.IndexName) < 3 { 23023 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 23024 } 23025 if s.ProvisionedThroughput == nil { 23026 invalidParams.Add(request.NewErrParamRequired("ProvisionedThroughput")) 23027 } 23028 if s.ProvisionedThroughput != nil { 23029 if err := s.ProvisionedThroughput.Validate(); err != nil { 23030 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 23031 } 23032 } 23033 23034 if invalidParams.Len() > 0 { 23035 return invalidParams 23036 } 23037 return nil 23038 } 23039 23040 // SetIndexName sets the IndexName field's value. 23041 func (s *UpdateGlobalSecondaryIndexAction) SetIndexName(v string) *UpdateGlobalSecondaryIndexAction { 23042 s.IndexName = &v 23043 return s 23044 } 23045 23046 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 23047 func (s *UpdateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateGlobalSecondaryIndexAction { 23048 s.ProvisionedThroughput = v 23049 return s 23050 } 23051 23052 type UpdateGlobalTableInput struct { 23053 _ struct{} `type:"structure"` 23054 23055 // The global table name. 23056 // 23057 // GlobalTableName is a required field 23058 GlobalTableName *string `min:"3" type:"string" required:"true"` 23059 23060 // A list of Regions that should be added or removed from the global table. 23061 // 23062 // ReplicaUpdates is a required field 23063 ReplicaUpdates []*ReplicaUpdate `type:"list" required:"true"` 23064 } 23065 23066 // String returns the string representation. 23067 // 23068 // API parameter values that are decorated as "sensitive" in the API will not 23069 // be included in the string output. The member name will be present, but the 23070 // value will be replaced with "sensitive". 23071 func (s UpdateGlobalTableInput) String() string { 23072 return awsutil.Prettify(s) 23073 } 23074 23075 // GoString returns the string representation. 23076 // 23077 // API parameter values that are decorated as "sensitive" in the API will not 23078 // be included in the string output. The member name will be present, but the 23079 // value will be replaced with "sensitive". 23080 func (s UpdateGlobalTableInput) GoString() string { 23081 return s.String() 23082 } 23083 23084 // Validate inspects the fields of the type to determine if they are valid. 23085 func (s *UpdateGlobalTableInput) Validate() error { 23086 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableInput"} 23087 if s.GlobalTableName == nil { 23088 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 23089 } 23090 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 23091 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 23092 } 23093 if s.ReplicaUpdates == nil { 23094 invalidParams.Add(request.NewErrParamRequired("ReplicaUpdates")) 23095 } 23096 if s.ReplicaUpdates != nil { 23097 for i, v := range s.ReplicaUpdates { 23098 if v == nil { 23099 continue 23100 } 23101 if err := v.Validate(); err != nil { 23102 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 23103 } 23104 } 23105 } 23106 23107 if invalidParams.Len() > 0 { 23108 return invalidParams 23109 } 23110 return nil 23111 } 23112 23113 // SetGlobalTableName sets the GlobalTableName field's value. 23114 func (s *UpdateGlobalTableInput) SetGlobalTableName(v string) *UpdateGlobalTableInput { 23115 s.GlobalTableName = &v 23116 return s 23117 } 23118 23119 // SetReplicaUpdates sets the ReplicaUpdates field's value. 23120 func (s *UpdateGlobalTableInput) SetReplicaUpdates(v []*ReplicaUpdate) *UpdateGlobalTableInput { 23121 s.ReplicaUpdates = v 23122 return s 23123 } 23124 23125 type UpdateGlobalTableOutput struct { 23126 _ struct{} `type:"structure"` 23127 23128 // Contains the details of the global table. 23129 GlobalTableDescription *GlobalTableDescription `type:"structure"` 23130 } 23131 23132 // String returns the string representation. 23133 // 23134 // API parameter values that are decorated as "sensitive" in the API will not 23135 // be included in the string output. The member name will be present, but the 23136 // value will be replaced with "sensitive". 23137 func (s UpdateGlobalTableOutput) String() string { 23138 return awsutil.Prettify(s) 23139 } 23140 23141 // GoString returns the string representation. 23142 // 23143 // API parameter values that are decorated as "sensitive" in the API will not 23144 // be included in the string output. The member name will be present, but the 23145 // value will be replaced with "sensitive". 23146 func (s UpdateGlobalTableOutput) GoString() string { 23147 return s.String() 23148 } 23149 23150 // SetGlobalTableDescription sets the GlobalTableDescription field's value. 23151 func (s *UpdateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *UpdateGlobalTableOutput { 23152 s.GlobalTableDescription = v 23153 return s 23154 } 23155 23156 type UpdateGlobalTableSettingsInput struct { 23157 _ struct{} `type:"structure"` 23158 23159 // The billing mode of the global table. If GlobalTableBillingMode is not specified, 23160 // the global table defaults to PROVISIONED capacity billing mode. 23161 // 23162 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 23163 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 23164 // 23165 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 23166 // workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). 23167 GlobalTableBillingMode *string `type:"string" enum:"BillingMode"` 23168 23169 // Represents the settings of a global secondary index for a global table that 23170 // will be modified. 23171 GlobalTableGlobalSecondaryIndexSettingsUpdate []*GlobalTableGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"` 23172 23173 // The name of the global table 23174 // 23175 // GlobalTableName is a required field 23176 GlobalTableName *string `min:"3" type:"string" required:"true"` 23177 23178 // Auto scaling settings for managing provisioned write capacity for the global 23179 // table. 23180 GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 23181 23182 // The maximum number of writes consumed per second before DynamoDB returns 23183 // a ThrottlingException. 23184 GlobalTableProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 23185 23186 // Represents the settings for a global table in a Region that will be modified. 23187 ReplicaSettingsUpdate []*ReplicaSettingsUpdate `min:"1" type:"list"` 23188 } 23189 23190 // String returns the string representation. 23191 // 23192 // API parameter values that are decorated as "sensitive" in the API will not 23193 // be included in the string output. The member name will be present, but the 23194 // value will be replaced with "sensitive". 23195 func (s UpdateGlobalTableSettingsInput) String() string { 23196 return awsutil.Prettify(s) 23197 } 23198 23199 // GoString returns the string representation. 23200 // 23201 // API parameter values that are decorated as "sensitive" in the API will not 23202 // be included in the string output. The member name will be present, but the 23203 // value will be replaced with "sensitive". 23204 func (s UpdateGlobalTableSettingsInput) GoString() string { 23205 return s.String() 23206 } 23207 23208 // Validate inspects the fields of the type to determine if they are valid. 23209 func (s *UpdateGlobalTableSettingsInput) Validate() error { 23210 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableSettingsInput"} 23211 if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil && len(s.GlobalTableGlobalSecondaryIndexSettingsUpdate) < 1 { 23212 invalidParams.Add(request.NewErrParamMinLen("GlobalTableGlobalSecondaryIndexSettingsUpdate", 1)) 23213 } 23214 if s.GlobalTableName == nil { 23215 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 23216 } 23217 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 23218 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 23219 } 23220 if s.GlobalTableProvisionedWriteCapacityUnits != nil && *s.GlobalTableProvisionedWriteCapacityUnits < 1 { 23221 invalidParams.Add(request.NewErrParamMinValue("GlobalTableProvisionedWriteCapacityUnits", 1)) 23222 } 23223 if s.ReplicaSettingsUpdate != nil && len(s.ReplicaSettingsUpdate) < 1 { 23224 invalidParams.Add(request.NewErrParamMinLen("ReplicaSettingsUpdate", 1)) 23225 } 23226 if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil { 23227 for i, v := range s.GlobalTableGlobalSecondaryIndexSettingsUpdate { 23228 if v == nil { 23229 continue 23230 } 23231 if err := v.Validate(); err != nil { 23232 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalTableGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams)) 23233 } 23234 } 23235 } 23236 if s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate != nil { 23237 if err := s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 23238 invalidParams.AddNested("GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 23239 } 23240 } 23241 if s.ReplicaSettingsUpdate != nil { 23242 for i, v := range s.ReplicaSettingsUpdate { 23243 if v == nil { 23244 continue 23245 } 23246 if err := v.Validate(); err != nil { 23247 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaSettingsUpdate", i), err.(request.ErrInvalidParams)) 23248 } 23249 } 23250 } 23251 23252 if invalidParams.Len() > 0 { 23253 return invalidParams 23254 } 23255 return nil 23256 } 23257 23258 // SetGlobalTableBillingMode sets the GlobalTableBillingMode field's value. 23259 func (s *UpdateGlobalTableSettingsInput) SetGlobalTableBillingMode(v string) *UpdateGlobalTableSettingsInput { 23260 s.GlobalTableBillingMode = &v 23261 return s 23262 } 23263 23264 // SetGlobalTableGlobalSecondaryIndexSettingsUpdate sets the GlobalTableGlobalSecondaryIndexSettingsUpdate field's value. 23265 func (s *UpdateGlobalTableSettingsInput) SetGlobalTableGlobalSecondaryIndexSettingsUpdate(v []*GlobalTableGlobalSecondaryIndexSettingsUpdate) *UpdateGlobalTableSettingsInput { 23266 s.GlobalTableGlobalSecondaryIndexSettingsUpdate = v 23267 return s 23268 } 23269 23270 // SetGlobalTableName sets the GlobalTableName field's value. 23271 func (s *UpdateGlobalTableSettingsInput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsInput { 23272 s.GlobalTableName = &v 23273 return s 23274 } 23275 23276 // SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate sets the GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate field's value. 23277 func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *UpdateGlobalTableSettingsInput { 23278 s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = v 23279 return s 23280 } 23281 23282 // SetGlobalTableProvisionedWriteCapacityUnits sets the GlobalTableProvisionedWriteCapacityUnits field's value. 23283 func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityUnits(v int64) *UpdateGlobalTableSettingsInput { 23284 s.GlobalTableProvisionedWriteCapacityUnits = &v 23285 return s 23286 } 23287 23288 // SetReplicaSettingsUpdate sets the ReplicaSettingsUpdate field's value. 23289 func (s *UpdateGlobalTableSettingsInput) SetReplicaSettingsUpdate(v []*ReplicaSettingsUpdate) *UpdateGlobalTableSettingsInput { 23290 s.ReplicaSettingsUpdate = v 23291 return s 23292 } 23293 23294 type UpdateGlobalTableSettingsOutput struct { 23295 _ struct{} `type:"structure"` 23296 23297 // The name of the global table. 23298 GlobalTableName *string `min:"3" type:"string"` 23299 23300 // The Region-specific settings for the global table. 23301 ReplicaSettings []*ReplicaSettingsDescription `type:"list"` 23302 } 23303 23304 // String returns the string representation. 23305 // 23306 // API parameter values that are decorated as "sensitive" in the API will not 23307 // be included in the string output. The member name will be present, but the 23308 // value will be replaced with "sensitive". 23309 func (s UpdateGlobalTableSettingsOutput) String() string { 23310 return awsutil.Prettify(s) 23311 } 23312 23313 // GoString returns the string representation. 23314 // 23315 // API parameter values that are decorated as "sensitive" in the API will not 23316 // be included in the string output. The member name will be present, but the 23317 // value will be replaced with "sensitive". 23318 func (s UpdateGlobalTableSettingsOutput) GoString() string { 23319 return s.String() 23320 } 23321 23322 // SetGlobalTableName sets the GlobalTableName field's value. 23323 func (s *UpdateGlobalTableSettingsOutput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsOutput { 23324 s.GlobalTableName = &v 23325 return s 23326 } 23327 23328 // SetReplicaSettings sets the ReplicaSettings field's value. 23329 func (s *UpdateGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *UpdateGlobalTableSettingsOutput { 23330 s.ReplicaSettings = v 23331 return s 23332 } 23333 23334 // Represents the input of an UpdateItem operation. 23335 type UpdateItemInput struct { 23336 _ struct{} `type:"structure"` 23337 23338 // This is a legacy parameter. Use UpdateExpression instead. For more information, 23339 // see AttributeUpdates (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html) 23340 // in the Amazon DynamoDB Developer Guide. 23341 AttributeUpdates map[string]*AttributeValueUpdate `type:"map"` 23342 23343 // A condition that must be satisfied in order for a conditional update to succeed. 23344 // 23345 // An expression can contain any of the following: 23346 // 23347 // * Functions: attribute_exists | attribute_not_exists | attribute_type 23348 // | contains | begins_with | size These function names are case-sensitive. 23349 // 23350 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 23351 // 23352 // * Logical operators: AND | OR | NOT 23353 // 23354 // For more information about condition expressions, see Specifying Conditions 23355 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 23356 // in the Amazon DynamoDB Developer Guide. 23357 ConditionExpression *string `type:"string"` 23358 23359 // This is a legacy parameter. Use ConditionExpression instead. For more information, 23360 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 23361 // in the Amazon DynamoDB Developer Guide. 23362 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 23363 23364 // This is a legacy parameter. Use ConditionExpression instead. For more information, 23365 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 23366 // in the Amazon DynamoDB Developer Guide. 23367 Expected map[string]*ExpectedAttributeValue `type:"map"` 23368 23369 // One or more substitution tokens for attribute names in an expression. The 23370 // following are some use cases for using ExpressionAttributeNames: 23371 // 23372 // * To access an attribute whose name conflicts with a DynamoDB reserved 23373 // word. 23374 // 23375 // * To create a placeholder for repeating occurrences of an attribute name 23376 // in an expression. 23377 // 23378 // * To prevent special characters in an attribute name from being misinterpreted 23379 // in an expression. 23380 // 23381 // Use the # character in an expression to dereference an attribute name. For 23382 // example, consider the following attribute name: 23383 // 23384 // * Percentile 23385 // 23386 // The name of this attribute conflicts with a reserved word, so it cannot be 23387 // used directly in an expression. (For the complete list of reserved words, 23388 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 23389 // in the Amazon DynamoDB Developer Guide.) To work around this, you could specify 23390 // the following for ExpressionAttributeNames: 23391 // 23392 // * {"#P":"Percentile"} 23393 // 23394 // You could then use this substitution in an expression, as in this example: 23395 // 23396 // * #P = :val 23397 // 23398 // Tokens that begin with the : character are expression attribute values, which 23399 // are placeholders for the actual value at runtime. 23400 // 23401 // For more information about expression attribute names, see Specifying Item 23402 // Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 23403 // in the Amazon DynamoDB Developer Guide. 23404 ExpressionAttributeNames map[string]*string `type:"map"` 23405 23406 // One or more values that can be substituted in an expression. 23407 // 23408 // Use the : (colon) character in an expression to dereference an attribute 23409 // value. For example, suppose that you wanted to check whether the value of 23410 // the ProductStatus attribute was one of the following: 23411 // 23412 // Available | Backordered | Discontinued 23413 // 23414 // You would first need to specify ExpressionAttributeValues as follows: 23415 // 23416 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 23417 // } 23418 // 23419 // You could then use these values in an expression, such as this: 23420 // 23421 // ProductStatus IN (:avail, :back, :disc) 23422 // 23423 // For more information on expression attribute values, see Condition Expressions 23424 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 23425 // in the Amazon DynamoDB Developer Guide. 23426 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 23427 23428 // The primary key of the item to be updated. Each element consists of an attribute 23429 // name and a value for that attribute. 23430 // 23431 // For the primary key, you must provide all of the attributes. For example, 23432 // with a simple primary key, you only need to provide a value for the partition 23433 // key. For a composite primary key, you must provide values for both the partition 23434 // key and the sort key. 23435 // 23436 // Key is a required field 23437 Key map[string]*AttributeValue `type:"map" required:"true"` 23438 23439 // Determines the level of detail about provisioned throughput consumption that 23440 // is returned in the response: 23441 // 23442 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 23443 // operation, together with ConsumedCapacity for each table and secondary 23444 // index that was accessed. Note that some operations, such as GetItem and 23445 // BatchGetItem, do not access any indexes at all. In these cases, specifying 23446 // INDEXES will only return ConsumedCapacity information for table(s). 23447 // 23448 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 23449 // the operation. 23450 // 23451 // * NONE - No ConsumedCapacity details are included in the response. 23452 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 23453 23454 // Determines whether item collection metrics are returned. If set to SIZE, 23455 // the response includes statistics about item collections, if any, that were 23456 // modified during the operation are returned in the response. If set to NONE 23457 // (the default), no statistics are returned. 23458 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 23459 23460 // Use ReturnValues if you want to get the item attributes as they appear before 23461 // or after they are updated. For UpdateItem, the valid values are: 23462 // 23463 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 23464 // nothing is returned. (This setting is the default for ReturnValues.) 23465 // 23466 // * ALL_OLD - Returns all of the attributes of the item, as they appeared 23467 // before the UpdateItem operation. 23468 // 23469 // * UPDATED_OLD - Returns only the updated attributes, as they appeared 23470 // before the UpdateItem operation. 23471 // 23472 // * ALL_NEW - Returns all of the attributes of the item, as they appear 23473 // after the UpdateItem operation. 23474 // 23475 // * UPDATED_NEW - Returns only the updated attributes, as they appear after 23476 // the UpdateItem operation. 23477 // 23478 // There is no additional cost associated with requesting a return value aside 23479 // from the small network and processing overhead of receiving a larger response. 23480 // No read capacity units are consumed. 23481 // 23482 // The values returned are strongly consistent. 23483 ReturnValues *string `type:"string" enum:"ReturnValue"` 23484 23485 // The name of the table containing the item to update. 23486 // 23487 // TableName is a required field 23488 TableName *string `min:"3" type:"string" required:"true"` 23489 23490 // An expression that defines one or more attributes to be updated, the action 23491 // to be performed on them, and new values for them. 23492 // 23493 // The following action values are available for UpdateExpression. 23494 // 23495 // * SET - Adds one or more attributes and values to an item. If any of these 23496 // attributes already exist, they are replaced by the new values. You can 23497 // also use SET to add or subtract from an attribute that is of type Number. 23498 // For example: SET myNum = myNum + :val SET supports the following functions: 23499 // if_not_exists (path, operand) - if the item does not contain an attribute 23500 // at the specified path, then if_not_exists evaluates to operand; otherwise, 23501 // it evaluates to path. You can use this function to avoid overwriting an 23502 // attribute that may already be present in the item. list_append (operand, 23503 // operand) - evaluates to a list with a new element added to it. You can 23504 // append the new element to the start or the end of the list by reversing 23505 // the order of the operands. These function names are case-sensitive. 23506 // 23507 // * REMOVE - Removes one or more attributes from an item. 23508 // 23509 // * ADD - Adds the specified value to the item, if the attribute does not 23510 // already exist. If the attribute does exist, then the behavior of ADD depends 23511 // on the data type of the attribute: If the existing attribute is a number, 23512 // and if Value is also a number, then Value is mathematically added to the 23513 // existing attribute. If Value is a negative number, then it is subtracted 23514 // from the existing attribute. If you use ADD to increment or decrement 23515 // a number value for an item that doesn't exist before the update, DynamoDB 23516 // uses 0 as the initial value. Similarly, if you use ADD for an existing 23517 // item to increment or decrement an attribute value that doesn't exist before 23518 // the update, DynamoDB uses 0 as the initial value. For example, suppose 23519 // that the item you want to update doesn't have an attribute named itemcount, 23520 // but you decide to ADD the number 3 to this attribute anyway. DynamoDB 23521 // will create the itemcount attribute, set its initial value to 0, and finally 23522 // add 3 to it. The result will be a new itemcount attribute in the item, 23523 // with a value of 3. If the existing data type is a set and if Value is 23524 // also a set, then Value is added to the existing set. For example, if the 23525 // attribute value is the set [1,2], and the ADD action specified [3], then 23526 // the final attribute value is [1,2,3]. An error occurs if an ADD action 23527 // is specified for a set attribute and the attribute type specified does 23528 // not match the existing set type. Both sets must have the same primitive 23529 // data type. For example, if the existing data type is a set of strings, 23530 // the Value must also be a set of strings. The ADD action only supports 23531 // Number and set data types. In addition, ADD can only be used on top-level 23532 // attributes, not nested attributes. 23533 // 23534 // * DELETE - Deletes an element from a set. If a set of values is specified, 23535 // then those values are subtracted from the old set. For example, if the 23536 // attribute value was the set [a,b,c] and the DELETE action specifies [a,c], 23537 // then the final attribute value is [b]. Specifying an empty set is an error. 23538 // The DELETE action only supports set data types. In addition, DELETE can 23539 // only be used on top-level attributes, not nested attributes. 23540 // 23541 // You can have many actions in a single expression, such as the following: 23542 // SET a=:value1, b=:value2 DELETE :value3, :value4, :value5 23543 // 23544 // For more information on update expressions, see Modifying Items and Attributes 23545 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) 23546 // in the Amazon DynamoDB Developer Guide. 23547 UpdateExpression *string `type:"string"` 23548 } 23549 23550 // String returns the string representation. 23551 // 23552 // API parameter values that are decorated as "sensitive" in the API will not 23553 // be included in the string output. The member name will be present, but the 23554 // value will be replaced with "sensitive". 23555 func (s UpdateItemInput) String() string { 23556 return awsutil.Prettify(s) 23557 } 23558 23559 // GoString returns the string representation. 23560 // 23561 // API parameter values that are decorated as "sensitive" in the API will not 23562 // be included in the string output. The member name will be present, but the 23563 // value will be replaced with "sensitive". 23564 func (s UpdateItemInput) GoString() string { 23565 return s.String() 23566 } 23567 23568 // Validate inspects the fields of the type to determine if they are valid. 23569 func (s *UpdateItemInput) Validate() error { 23570 invalidParams := request.ErrInvalidParams{Context: "UpdateItemInput"} 23571 if s.Key == nil { 23572 invalidParams.Add(request.NewErrParamRequired("Key")) 23573 } 23574 if s.TableName == nil { 23575 invalidParams.Add(request.NewErrParamRequired("TableName")) 23576 } 23577 if s.TableName != nil && len(*s.TableName) < 3 { 23578 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 23579 } 23580 23581 if invalidParams.Len() > 0 { 23582 return invalidParams 23583 } 23584 return nil 23585 } 23586 23587 // SetAttributeUpdates sets the AttributeUpdates field's value. 23588 func (s *UpdateItemInput) SetAttributeUpdates(v map[string]*AttributeValueUpdate) *UpdateItemInput { 23589 s.AttributeUpdates = v 23590 return s 23591 } 23592 23593 // SetConditionExpression sets the ConditionExpression field's value. 23594 func (s *UpdateItemInput) SetConditionExpression(v string) *UpdateItemInput { 23595 s.ConditionExpression = &v 23596 return s 23597 } 23598 23599 // SetConditionalOperator sets the ConditionalOperator field's value. 23600 func (s *UpdateItemInput) SetConditionalOperator(v string) *UpdateItemInput { 23601 s.ConditionalOperator = &v 23602 return s 23603 } 23604 23605 // SetExpected sets the Expected field's value. 23606 func (s *UpdateItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *UpdateItemInput { 23607 s.Expected = v 23608 return s 23609 } 23610 23611 // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 23612 func (s *UpdateItemInput) SetExpressionAttributeNames(v map[string]*string) *UpdateItemInput { 23613 s.ExpressionAttributeNames = v 23614 return s 23615 } 23616 23617 // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 23618 func (s *UpdateItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *UpdateItemInput { 23619 s.ExpressionAttributeValues = v 23620 return s 23621 } 23622 23623 // SetKey sets the Key field's value. 23624 func (s *UpdateItemInput) SetKey(v map[string]*AttributeValue) *UpdateItemInput { 23625 s.Key = v 23626 return s 23627 } 23628 23629 // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 23630 func (s *UpdateItemInput) SetReturnConsumedCapacity(v string) *UpdateItemInput { 23631 s.ReturnConsumedCapacity = &v 23632 return s 23633 } 23634 23635 // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 23636 func (s *UpdateItemInput) SetReturnItemCollectionMetrics(v string) *UpdateItemInput { 23637 s.ReturnItemCollectionMetrics = &v 23638 return s 23639 } 23640 23641 // SetReturnValues sets the ReturnValues field's value. 23642 func (s *UpdateItemInput) SetReturnValues(v string) *UpdateItemInput { 23643 s.ReturnValues = &v 23644 return s 23645 } 23646 23647 // SetTableName sets the TableName field's value. 23648 func (s *UpdateItemInput) SetTableName(v string) *UpdateItemInput { 23649 s.TableName = &v 23650 return s 23651 } 23652 23653 // SetUpdateExpression sets the UpdateExpression field's value. 23654 func (s *UpdateItemInput) SetUpdateExpression(v string) *UpdateItemInput { 23655 s.UpdateExpression = &v 23656 return s 23657 } 23658 23659 // Represents the output of an UpdateItem operation. 23660 type UpdateItemOutput struct { 23661 _ struct{} `type:"structure"` 23662 23663 // A map of attribute values as they appear before or after the UpdateItem operation, 23664 // as determined by the ReturnValues parameter. 23665 // 23666 // The Attributes map is only present if ReturnValues was specified as something 23667 // other than NONE in the request. Each element represents one attribute. 23668 Attributes map[string]*AttributeValue `type:"map"` 23669 23670 // The capacity units consumed by the UpdateItem operation. The data returned 23671 // includes the total provisioned throughput consumed, along with statistics 23672 // for the table and any indexes involved in the operation. ConsumedCapacity 23673 // is only returned if the ReturnConsumedCapacity parameter was specified. For 23674 // more information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 23675 // in the Amazon DynamoDB Developer Guide. 23676 ConsumedCapacity *ConsumedCapacity `type:"structure"` 23677 23678 // Information about item collections, if any, that were affected by the UpdateItem 23679 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 23680 // parameter was specified. If the table does not have any local secondary indexes, 23681 // this information is not returned in the response. 23682 // 23683 // Each ItemCollectionMetrics element consists of: 23684 // 23685 // * ItemCollectionKey - The partition key value of the item collection. 23686 // This is the same as the partition key value of the item itself. 23687 // 23688 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 23689 // This value is a two-element array containing a lower bound and an upper 23690 // bound for the estimate. The estimate includes the size of all the items 23691 // in the table, plus the size of all attributes projected into all of the 23692 // local secondary indexes on that table. Use this estimate to measure whether 23693 // a local secondary index is approaching its size limit. The estimate is 23694 // subject to change over time; therefore, do not rely on the precision or 23695 // accuracy of the estimate. 23696 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 23697 } 23698 23699 // String returns the string representation. 23700 // 23701 // API parameter values that are decorated as "sensitive" in the API will not 23702 // be included in the string output. The member name will be present, but the 23703 // value will be replaced with "sensitive". 23704 func (s UpdateItemOutput) String() string { 23705 return awsutil.Prettify(s) 23706 } 23707 23708 // GoString returns the string representation. 23709 // 23710 // API parameter values that are decorated as "sensitive" in the API will not 23711 // be included in the string output. The member name will be present, but the 23712 // value will be replaced with "sensitive". 23713 func (s UpdateItemOutput) GoString() string { 23714 return s.String() 23715 } 23716 23717 // SetAttributes sets the Attributes field's value. 23718 func (s *UpdateItemOutput) SetAttributes(v map[string]*AttributeValue) *UpdateItemOutput { 23719 s.Attributes = v 23720 return s 23721 } 23722 23723 // SetConsumedCapacity sets the ConsumedCapacity field's value. 23724 func (s *UpdateItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *UpdateItemOutput { 23725 s.ConsumedCapacity = v 23726 return s 23727 } 23728 23729 // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 23730 func (s *UpdateItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *UpdateItemOutput { 23731 s.ItemCollectionMetrics = v 23732 return s 23733 } 23734 23735 // Represents a replica to be modified. 23736 type UpdateReplicationGroupMemberAction struct { 23737 _ struct{} `type:"structure"` 23738 23739 // Replica-specific global secondary index settings. 23740 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` 23741 23742 // The AWS KMS customer master key (CMK) of the replica that should be used 23743 // for AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource 23744 // Name (ARN), alias name, or alias ARN. Note that you should only provide this 23745 // parameter if the key is different from the default DynamoDB KMS master key 23746 // alias/aws/dynamodb. 23747 KMSMasterKeyId *string `type:"string"` 23748 23749 // Replica-specific provisioned throughput. If not specified, uses the source 23750 // table's provisioned throughput settings. 23751 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 23752 23753 // The Region where the replica exists. 23754 // 23755 // RegionName is a required field 23756 RegionName *string `type:"string" required:"true"` 23757 } 23758 23759 // String returns the string representation. 23760 // 23761 // API parameter values that are decorated as "sensitive" in the API will not 23762 // be included in the string output. The member name will be present, but the 23763 // value will be replaced with "sensitive". 23764 func (s UpdateReplicationGroupMemberAction) String() string { 23765 return awsutil.Prettify(s) 23766 } 23767 23768 // GoString returns the string representation. 23769 // 23770 // API parameter values that are decorated as "sensitive" in the API will not 23771 // be included in the string output. The member name will be present, but the 23772 // value will be replaced with "sensitive". 23773 func (s UpdateReplicationGroupMemberAction) GoString() string { 23774 return s.String() 23775 } 23776 23777 // Validate inspects the fields of the type to determine if they are valid. 23778 func (s *UpdateReplicationGroupMemberAction) Validate() error { 23779 invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationGroupMemberAction"} 23780 if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { 23781 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) 23782 } 23783 if s.RegionName == nil { 23784 invalidParams.Add(request.NewErrParamRequired("RegionName")) 23785 } 23786 if s.GlobalSecondaryIndexes != nil { 23787 for i, v := range s.GlobalSecondaryIndexes { 23788 if v == nil { 23789 continue 23790 } 23791 if err := v.Validate(); err != nil { 23792 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 23793 } 23794 } 23795 } 23796 if s.ProvisionedThroughputOverride != nil { 23797 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 23798 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 23799 } 23800 } 23801 23802 if invalidParams.Len() > 0 { 23803 return invalidParams 23804 } 23805 return nil 23806 } 23807 23808 // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 23809 func (s *UpdateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *UpdateReplicationGroupMemberAction { 23810 s.GlobalSecondaryIndexes = v 23811 return s 23812 } 23813 23814 // SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 23815 func (s *UpdateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *UpdateReplicationGroupMemberAction { 23816 s.KMSMasterKeyId = &v 23817 return s 23818 } 23819 23820 // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 23821 func (s *UpdateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *UpdateReplicationGroupMemberAction { 23822 s.ProvisionedThroughputOverride = v 23823 return s 23824 } 23825 23826 // SetRegionName sets the RegionName field's value. 23827 func (s *UpdateReplicationGroupMemberAction) SetRegionName(v string) *UpdateReplicationGroupMemberAction { 23828 s.RegionName = &v 23829 return s 23830 } 23831 23832 // Represents the input of an UpdateTable operation. 23833 type UpdateTableInput struct { 23834 _ struct{} `type:"structure"` 23835 23836 // An array of attributes that describe the key schema for the table and indexes. 23837 // If you are adding a new global secondary index to the table, AttributeDefinitions 23838 // must include the key element(s) of the new index. 23839 AttributeDefinitions []*AttributeDefinition `type:"list"` 23840 23841 // Controls how you are charged for read and write throughput and how you manage 23842 // capacity. When switching from pay-per-request to provisioned capacity, initial 23843 // provisioned capacity values must be set. The initial provisioned capacity 23844 // values are estimated based on the consumed read and write capacity of your 23845 // table and global secondary indexes over the past 30 minutes. 23846 // 23847 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 23848 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 23849 // 23850 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 23851 // workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). 23852 BillingMode *string `type:"string" enum:"BillingMode"` 23853 23854 // An array of one or more global secondary indexes for the table. For each 23855 // index in the array, you can request one action: 23856 // 23857 // * Create - add a new global secondary index to the table. 23858 // 23859 // * Update - modify the provisioned throughput settings of an existing global 23860 // secondary index. 23861 // 23862 // * Delete - remove a global secondary index from the table. 23863 // 23864 // You can create or delete only one global secondary index per UpdateTable 23865 // operation. 23866 // 23867 // For more information, see Managing Global Secondary Indexes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) 23868 // in the Amazon DynamoDB Developer Guide. 23869 GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"` 23870 23871 // The new provisioned throughput settings for the specified table or index. 23872 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 23873 23874 // A list of replica update actions (create, delete, or update) for the table. 23875 // 23876 // This property only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 23877 // of global tables. 23878 ReplicaUpdates []*ReplicationGroupUpdate `min:"1" type:"list"` 23879 23880 // The new server-side encryption settings for the specified table. 23881 SSESpecification *SSESpecification `type:"structure"` 23882 23883 // Represents the DynamoDB Streams configuration for the table. 23884 // 23885 // You receive a ResourceInUseException if you try to enable a stream on a table 23886 // that already has a stream, or if you try to disable a stream on a table that 23887 // doesn't have a stream. 23888 StreamSpecification *StreamSpecification `type:"structure"` 23889 23890 // The name of the table to be updated. 23891 // 23892 // TableName is a required field 23893 TableName *string `min:"3" type:"string" required:"true"` 23894 } 23895 23896 // String returns the string representation. 23897 // 23898 // API parameter values that are decorated as "sensitive" in the API will not 23899 // be included in the string output. The member name will be present, but the 23900 // value will be replaced with "sensitive". 23901 func (s UpdateTableInput) String() string { 23902 return awsutil.Prettify(s) 23903 } 23904 23905 // GoString returns the string representation. 23906 // 23907 // API parameter values that are decorated as "sensitive" in the API will not 23908 // be included in the string output. The member name will be present, but the 23909 // value will be replaced with "sensitive". 23910 func (s UpdateTableInput) GoString() string { 23911 return s.String() 23912 } 23913 23914 // Validate inspects the fields of the type to determine if they are valid. 23915 func (s *UpdateTableInput) Validate() error { 23916 invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"} 23917 if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { 23918 invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) 23919 } 23920 if s.TableName == nil { 23921 invalidParams.Add(request.NewErrParamRequired("TableName")) 23922 } 23923 if s.TableName != nil && len(*s.TableName) < 3 { 23924 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 23925 } 23926 if s.AttributeDefinitions != nil { 23927 for i, v := range s.AttributeDefinitions { 23928 if v == nil { 23929 continue 23930 } 23931 if err := v.Validate(); err != nil { 23932 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams)) 23933 } 23934 } 23935 } 23936 if s.GlobalSecondaryIndexUpdates != nil { 23937 for i, v := range s.GlobalSecondaryIndexUpdates { 23938 if v == nil { 23939 continue 23940 } 23941 if err := v.Validate(); err != nil { 23942 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 23943 } 23944 } 23945 } 23946 if s.ProvisionedThroughput != nil { 23947 if err := s.ProvisionedThroughput.Validate(); err != nil { 23948 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 23949 } 23950 } 23951 if s.ReplicaUpdates != nil { 23952 for i, v := range s.ReplicaUpdates { 23953 if v == nil { 23954 continue 23955 } 23956 if err := v.Validate(); err != nil { 23957 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 23958 } 23959 } 23960 } 23961 if s.StreamSpecification != nil { 23962 if err := s.StreamSpecification.Validate(); err != nil { 23963 invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) 23964 } 23965 } 23966 23967 if invalidParams.Len() > 0 { 23968 return invalidParams 23969 } 23970 return nil 23971 } 23972 23973 // SetAttributeDefinitions sets the AttributeDefinitions field's value. 23974 func (s *UpdateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *UpdateTableInput { 23975 s.AttributeDefinitions = v 23976 return s 23977 } 23978 23979 // SetBillingMode sets the BillingMode field's value. 23980 func (s *UpdateTableInput) SetBillingMode(v string) *UpdateTableInput { 23981 s.BillingMode = &v 23982 return s 23983 } 23984 23985 // SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value. 23986 func (s *UpdateTableInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexUpdate) *UpdateTableInput { 23987 s.GlobalSecondaryIndexUpdates = v 23988 return s 23989 } 23990 23991 // SetProvisionedThroughput sets the ProvisionedThroughput field's value. 23992 func (s *UpdateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateTableInput { 23993 s.ProvisionedThroughput = v 23994 return s 23995 } 23996 23997 // SetReplicaUpdates sets the ReplicaUpdates field's value. 23998 func (s *UpdateTableInput) SetReplicaUpdates(v []*ReplicationGroupUpdate) *UpdateTableInput { 23999 s.ReplicaUpdates = v 24000 return s 24001 } 24002 24003 // SetSSESpecification sets the SSESpecification field's value. 24004 func (s *UpdateTableInput) SetSSESpecification(v *SSESpecification) *UpdateTableInput { 24005 s.SSESpecification = v 24006 return s 24007 } 24008 24009 // SetStreamSpecification sets the StreamSpecification field's value. 24010 func (s *UpdateTableInput) SetStreamSpecification(v *StreamSpecification) *UpdateTableInput { 24011 s.StreamSpecification = v 24012 return s 24013 } 24014 24015 // SetTableName sets the TableName field's value. 24016 func (s *UpdateTableInput) SetTableName(v string) *UpdateTableInput { 24017 s.TableName = &v 24018 return s 24019 } 24020 24021 // Represents the output of an UpdateTable operation. 24022 type UpdateTableOutput struct { 24023 _ struct{} `type:"structure"` 24024 24025 // Represents the properties of the table. 24026 TableDescription *TableDescription `type:"structure"` 24027 } 24028 24029 // String returns the string representation. 24030 // 24031 // API parameter values that are decorated as "sensitive" in the API will not 24032 // be included in the string output. The member name will be present, but the 24033 // value will be replaced with "sensitive". 24034 func (s UpdateTableOutput) String() string { 24035 return awsutil.Prettify(s) 24036 } 24037 24038 // GoString returns the string representation. 24039 // 24040 // API parameter values that are decorated as "sensitive" in the API will not 24041 // be included in the string output. The member name will be present, but the 24042 // value will be replaced with "sensitive". 24043 func (s UpdateTableOutput) GoString() string { 24044 return s.String() 24045 } 24046 24047 // SetTableDescription sets the TableDescription field's value. 24048 func (s *UpdateTableOutput) SetTableDescription(v *TableDescription) *UpdateTableOutput { 24049 s.TableDescription = v 24050 return s 24051 } 24052 24053 type UpdateTableReplicaAutoScalingInput struct { 24054 _ struct{} `type:"structure"` 24055 24056 // Represents the auto scaling settings of the global secondary indexes of the 24057 // replica to be updated. 24058 GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexAutoScalingUpdate `min:"1" type:"list"` 24059 24060 // Represents the auto scaling settings to be modified for a global table or 24061 // global secondary index. 24062 ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 24063 24064 // Represents the auto scaling settings of replicas of the table that will be 24065 // modified. 24066 ReplicaUpdates []*ReplicaAutoScalingUpdate `min:"1" type:"list"` 24067 24068 // The name of the global table to be updated. 24069 // 24070 // TableName is a required field 24071 TableName *string `min:"3" type:"string" required:"true"` 24072 } 24073 24074 // String returns the string representation. 24075 // 24076 // API parameter values that are decorated as "sensitive" in the API will not 24077 // be included in the string output. The member name will be present, but the 24078 // value will be replaced with "sensitive". 24079 func (s UpdateTableReplicaAutoScalingInput) String() string { 24080 return awsutil.Prettify(s) 24081 } 24082 24083 // GoString returns the string representation. 24084 // 24085 // API parameter values that are decorated as "sensitive" in the API will not 24086 // be included in the string output. The member name will be present, but the 24087 // value will be replaced with "sensitive". 24088 func (s UpdateTableReplicaAutoScalingInput) GoString() string { 24089 return s.String() 24090 } 24091 24092 // Validate inspects the fields of the type to determine if they are valid. 24093 func (s *UpdateTableReplicaAutoScalingInput) Validate() error { 24094 invalidParams := request.ErrInvalidParams{Context: "UpdateTableReplicaAutoScalingInput"} 24095 if s.GlobalSecondaryIndexUpdates != nil && len(s.GlobalSecondaryIndexUpdates) < 1 { 24096 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexUpdates", 1)) 24097 } 24098 if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { 24099 invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) 24100 } 24101 if s.TableName == nil { 24102 invalidParams.Add(request.NewErrParamRequired("TableName")) 24103 } 24104 if s.TableName != nil && len(*s.TableName) < 3 { 24105 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 24106 } 24107 if s.GlobalSecondaryIndexUpdates != nil { 24108 for i, v := range s.GlobalSecondaryIndexUpdates { 24109 if v == nil { 24110 continue 24111 } 24112 if err := v.Validate(); err != nil { 24113 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 24114 } 24115 } 24116 } 24117 if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { 24118 if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { 24119 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 24120 } 24121 } 24122 if s.ReplicaUpdates != nil { 24123 for i, v := range s.ReplicaUpdates { 24124 if v == nil { 24125 continue 24126 } 24127 if err := v.Validate(); err != nil { 24128 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 24129 } 24130 } 24131 } 24132 24133 if invalidParams.Len() > 0 { 24134 return invalidParams 24135 } 24136 return nil 24137 } 24138 24139 // SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value. 24140 func (s *UpdateTableReplicaAutoScalingInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { 24141 s.GlobalSecondaryIndexUpdates = v 24142 return s 24143 } 24144 24145 // SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. 24146 func (s *UpdateTableReplicaAutoScalingInput) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *UpdateTableReplicaAutoScalingInput { 24147 s.ProvisionedWriteCapacityAutoScalingUpdate = v 24148 return s 24149 } 24150 24151 // SetReplicaUpdates sets the ReplicaUpdates field's value. 24152 func (s *UpdateTableReplicaAutoScalingInput) SetReplicaUpdates(v []*ReplicaAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { 24153 s.ReplicaUpdates = v 24154 return s 24155 } 24156 24157 // SetTableName sets the TableName field's value. 24158 func (s *UpdateTableReplicaAutoScalingInput) SetTableName(v string) *UpdateTableReplicaAutoScalingInput { 24159 s.TableName = &v 24160 return s 24161 } 24162 24163 type UpdateTableReplicaAutoScalingOutput struct { 24164 _ struct{} `type:"structure"` 24165 24166 // Returns information about the auto scaling settings of a table with replicas. 24167 TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` 24168 } 24169 24170 // String returns the string representation. 24171 // 24172 // API parameter values that are decorated as "sensitive" in the API will not 24173 // be included in the string output. The member name will be present, but the 24174 // value will be replaced with "sensitive". 24175 func (s UpdateTableReplicaAutoScalingOutput) String() string { 24176 return awsutil.Prettify(s) 24177 } 24178 24179 // GoString returns the string representation. 24180 // 24181 // API parameter values that are decorated as "sensitive" in the API will not 24182 // be included in the string output. The member name will be present, but the 24183 // value will be replaced with "sensitive". 24184 func (s UpdateTableReplicaAutoScalingOutput) GoString() string { 24185 return s.String() 24186 } 24187 24188 // SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. 24189 func (s *UpdateTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *UpdateTableReplicaAutoScalingOutput { 24190 s.TableAutoScalingDescription = v 24191 return s 24192 } 24193 24194 // Represents the input of an UpdateTimeToLive operation. 24195 type UpdateTimeToLiveInput struct { 24196 _ struct{} `type:"structure"` 24197 24198 // The name of the table to be configured. 24199 // 24200 // TableName is a required field 24201 TableName *string `min:"3" type:"string" required:"true"` 24202 24203 // Represents the settings used to enable or disable Time to Live for the specified 24204 // table. 24205 // 24206 // TimeToLiveSpecification is a required field 24207 TimeToLiveSpecification *TimeToLiveSpecification `type:"structure" required:"true"` 24208 } 24209 24210 // String returns the string representation. 24211 // 24212 // API parameter values that are decorated as "sensitive" in the API will not 24213 // be included in the string output. The member name will be present, but the 24214 // value will be replaced with "sensitive". 24215 func (s UpdateTimeToLiveInput) String() string { 24216 return awsutil.Prettify(s) 24217 } 24218 24219 // GoString returns the string representation. 24220 // 24221 // API parameter values that are decorated as "sensitive" in the API will not 24222 // be included in the string output. The member name will be present, but the 24223 // value will be replaced with "sensitive". 24224 func (s UpdateTimeToLiveInput) GoString() string { 24225 return s.String() 24226 } 24227 24228 // Validate inspects the fields of the type to determine if they are valid. 24229 func (s *UpdateTimeToLiveInput) Validate() error { 24230 invalidParams := request.ErrInvalidParams{Context: "UpdateTimeToLiveInput"} 24231 if s.TableName == nil { 24232 invalidParams.Add(request.NewErrParamRequired("TableName")) 24233 } 24234 if s.TableName != nil && len(*s.TableName) < 3 { 24235 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 24236 } 24237 if s.TimeToLiveSpecification == nil { 24238 invalidParams.Add(request.NewErrParamRequired("TimeToLiveSpecification")) 24239 } 24240 if s.TimeToLiveSpecification != nil { 24241 if err := s.TimeToLiveSpecification.Validate(); err != nil { 24242 invalidParams.AddNested("TimeToLiveSpecification", err.(request.ErrInvalidParams)) 24243 } 24244 } 24245 24246 if invalidParams.Len() > 0 { 24247 return invalidParams 24248 } 24249 return nil 24250 } 24251 24252 // SetTableName sets the TableName field's value. 24253 func (s *UpdateTimeToLiveInput) SetTableName(v string) *UpdateTimeToLiveInput { 24254 s.TableName = &v 24255 return s 24256 } 24257 24258 // SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value. 24259 func (s *UpdateTimeToLiveInput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveInput { 24260 s.TimeToLiveSpecification = v 24261 return s 24262 } 24263 24264 type UpdateTimeToLiveOutput struct { 24265 _ struct{} `type:"structure"` 24266 24267 // Represents the output of an UpdateTimeToLive operation. 24268 TimeToLiveSpecification *TimeToLiveSpecification `type:"structure"` 24269 } 24270 24271 // String returns the string representation. 24272 // 24273 // API parameter values that are decorated as "sensitive" in the API will not 24274 // be included in the string output. The member name will be present, but the 24275 // value will be replaced with "sensitive". 24276 func (s UpdateTimeToLiveOutput) String() string { 24277 return awsutil.Prettify(s) 24278 } 24279 24280 // GoString returns the string representation. 24281 // 24282 // API parameter values that are decorated as "sensitive" in the API will not 24283 // be included in the string output. The member name will be present, but the 24284 // value will be replaced with "sensitive". 24285 func (s UpdateTimeToLiveOutput) GoString() string { 24286 return s.String() 24287 } 24288 24289 // SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value. 24290 func (s *UpdateTimeToLiveOutput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveOutput { 24291 s.TimeToLiveSpecification = v 24292 return s 24293 } 24294 24295 // Represents an operation to perform - either DeleteItem or PutItem. You can 24296 // only request one of these operations, not both, in a single WriteRequest. 24297 // If you do need to perform both of these operations, you need to provide two 24298 // separate WriteRequest objects. 24299 type WriteRequest struct { 24300 _ struct{} `type:"structure"` 24301 24302 // A request to perform a DeleteItem operation. 24303 DeleteRequest *DeleteRequest `type:"structure"` 24304 24305 // A request to perform a PutItem operation. 24306 PutRequest *PutRequest `type:"structure"` 24307 } 24308 24309 // String returns the string representation. 24310 // 24311 // API parameter values that are decorated as "sensitive" in the API will not 24312 // be included in the string output. The member name will be present, but the 24313 // value will be replaced with "sensitive". 24314 func (s WriteRequest) String() string { 24315 return awsutil.Prettify(s) 24316 } 24317 24318 // GoString returns the string representation. 24319 // 24320 // API parameter values that are decorated as "sensitive" in the API will not 24321 // be included in the string output. The member name will be present, but the 24322 // value will be replaced with "sensitive". 24323 func (s WriteRequest) GoString() string { 24324 return s.String() 24325 } 24326 24327 // SetDeleteRequest sets the DeleteRequest field's value. 24328 func (s *WriteRequest) SetDeleteRequest(v *DeleteRequest) *WriteRequest { 24329 s.DeleteRequest = v 24330 return s 24331 } 24332 24333 // SetPutRequest sets the PutRequest field's value. 24334 func (s *WriteRequest) SetPutRequest(v *PutRequest) *WriteRequest { 24335 s.PutRequest = v 24336 return s 24337 } 24338 24339 const ( 24340 // AttributeActionAdd is a AttributeAction enum value 24341 AttributeActionAdd = "ADD" 24342 24343 // AttributeActionPut is a AttributeAction enum value 24344 AttributeActionPut = "PUT" 24345 24346 // AttributeActionDelete is a AttributeAction enum value 24347 AttributeActionDelete = "DELETE" 24348 ) 24349 24350 // AttributeAction_Values returns all elements of the AttributeAction enum 24351 func AttributeAction_Values() []string { 24352 return []string{ 24353 AttributeActionAdd, 24354 AttributeActionPut, 24355 AttributeActionDelete, 24356 } 24357 } 24358 24359 const ( 24360 // BackupStatusCreating is a BackupStatus enum value 24361 BackupStatusCreating = "CREATING" 24362 24363 // BackupStatusDeleted is a BackupStatus enum value 24364 BackupStatusDeleted = "DELETED" 24365 24366 // BackupStatusAvailable is a BackupStatus enum value 24367 BackupStatusAvailable = "AVAILABLE" 24368 ) 24369 24370 // BackupStatus_Values returns all elements of the BackupStatus enum 24371 func BackupStatus_Values() []string { 24372 return []string{ 24373 BackupStatusCreating, 24374 BackupStatusDeleted, 24375 BackupStatusAvailable, 24376 } 24377 } 24378 24379 const ( 24380 // BackupTypeUser is a BackupType enum value 24381 BackupTypeUser = "USER" 24382 24383 // BackupTypeSystem is a BackupType enum value 24384 BackupTypeSystem = "SYSTEM" 24385 24386 // BackupTypeAwsBackup is a BackupType enum value 24387 BackupTypeAwsBackup = "AWS_BACKUP" 24388 ) 24389 24390 // BackupType_Values returns all elements of the BackupType enum 24391 func BackupType_Values() []string { 24392 return []string{ 24393 BackupTypeUser, 24394 BackupTypeSystem, 24395 BackupTypeAwsBackup, 24396 } 24397 } 24398 24399 const ( 24400 // BackupTypeFilterUser is a BackupTypeFilter enum value 24401 BackupTypeFilterUser = "USER" 24402 24403 // BackupTypeFilterSystem is a BackupTypeFilter enum value 24404 BackupTypeFilterSystem = "SYSTEM" 24405 24406 // BackupTypeFilterAwsBackup is a BackupTypeFilter enum value 24407 BackupTypeFilterAwsBackup = "AWS_BACKUP" 24408 24409 // BackupTypeFilterAll is a BackupTypeFilter enum value 24410 BackupTypeFilterAll = "ALL" 24411 ) 24412 24413 // BackupTypeFilter_Values returns all elements of the BackupTypeFilter enum 24414 func BackupTypeFilter_Values() []string { 24415 return []string{ 24416 BackupTypeFilterUser, 24417 BackupTypeFilterSystem, 24418 BackupTypeFilterAwsBackup, 24419 BackupTypeFilterAll, 24420 } 24421 } 24422 24423 const ( 24424 // BatchStatementErrorCodeEnumConditionalCheckFailed is a BatchStatementErrorCodeEnum enum value 24425 BatchStatementErrorCodeEnumConditionalCheckFailed = "ConditionalCheckFailed" 24426 24427 // BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded is a BatchStatementErrorCodeEnum enum value 24428 BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded = "ItemCollectionSizeLimitExceeded" 24429 24430 // BatchStatementErrorCodeEnumRequestLimitExceeded is a BatchStatementErrorCodeEnum enum value 24431 BatchStatementErrorCodeEnumRequestLimitExceeded = "RequestLimitExceeded" 24432 24433 // BatchStatementErrorCodeEnumValidationError is a BatchStatementErrorCodeEnum enum value 24434 BatchStatementErrorCodeEnumValidationError = "ValidationError" 24435 24436 // BatchStatementErrorCodeEnumProvisionedThroughputExceeded is a BatchStatementErrorCodeEnum enum value 24437 BatchStatementErrorCodeEnumProvisionedThroughputExceeded = "ProvisionedThroughputExceeded" 24438 24439 // BatchStatementErrorCodeEnumTransactionConflict is a BatchStatementErrorCodeEnum enum value 24440 BatchStatementErrorCodeEnumTransactionConflict = "TransactionConflict" 24441 24442 // BatchStatementErrorCodeEnumThrottlingError is a BatchStatementErrorCodeEnum enum value 24443 BatchStatementErrorCodeEnumThrottlingError = "ThrottlingError" 24444 24445 // BatchStatementErrorCodeEnumInternalServerError is a BatchStatementErrorCodeEnum enum value 24446 BatchStatementErrorCodeEnumInternalServerError = "InternalServerError" 24447 24448 // BatchStatementErrorCodeEnumResourceNotFound is a BatchStatementErrorCodeEnum enum value 24449 BatchStatementErrorCodeEnumResourceNotFound = "ResourceNotFound" 24450 24451 // BatchStatementErrorCodeEnumAccessDenied is a BatchStatementErrorCodeEnum enum value 24452 BatchStatementErrorCodeEnumAccessDenied = "AccessDenied" 24453 24454 // BatchStatementErrorCodeEnumDuplicateItem is a BatchStatementErrorCodeEnum enum value 24455 BatchStatementErrorCodeEnumDuplicateItem = "DuplicateItem" 24456 ) 24457 24458 // BatchStatementErrorCodeEnum_Values returns all elements of the BatchStatementErrorCodeEnum enum 24459 func BatchStatementErrorCodeEnum_Values() []string { 24460 return []string{ 24461 BatchStatementErrorCodeEnumConditionalCheckFailed, 24462 BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded, 24463 BatchStatementErrorCodeEnumRequestLimitExceeded, 24464 BatchStatementErrorCodeEnumValidationError, 24465 BatchStatementErrorCodeEnumProvisionedThroughputExceeded, 24466 BatchStatementErrorCodeEnumTransactionConflict, 24467 BatchStatementErrorCodeEnumThrottlingError, 24468 BatchStatementErrorCodeEnumInternalServerError, 24469 BatchStatementErrorCodeEnumResourceNotFound, 24470 BatchStatementErrorCodeEnumAccessDenied, 24471 BatchStatementErrorCodeEnumDuplicateItem, 24472 } 24473 } 24474 24475 const ( 24476 // BillingModeProvisioned is a BillingMode enum value 24477 BillingModeProvisioned = "PROVISIONED" 24478 24479 // BillingModePayPerRequest is a BillingMode enum value 24480 BillingModePayPerRequest = "PAY_PER_REQUEST" 24481 ) 24482 24483 // BillingMode_Values returns all elements of the BillingMode enum 24484 func BillingMode_Values() []string { 24485 return []string{ 24486 BillingModeProvisioned, 24487 BillingModePayPerRequest, 24488 } 24489 } 24490 24491 const ( 24492 // ComparisonOperatorEq is a ComparisonOperator enum value 24493 ComparisonOperatorEq = "EQ" 24494 24495 // ComparisonOperatorNe is a ComparisonOperator enum value 24496 ComparisonOperatorNe = "NE" 24497 24498 // ComparisonOperatorIn is a ComparisonOperator enum value 24499 ComparisonOperatorIn = "IN" 24500 24501 // ComparisonOperatorLe is a ComparisonOperator enum value 24502 ComparisonOperatorLe = "LE" 24503 24504 // ComparisonOperatorLt is a ComparisonOperator enum value 24505 ComparisonOperatorLt = "LT" 24506 24507 // ComparisonOperatorGe is a ComparisonOperator enum value 24508 ComparisonOperatorGe = "GE" 24509 24510 // ComparisonOperatorGt is a ComparisonOperator enum value 24511 ComparisonOperatorGt = "GT" 24512 24513 // ComparisonOperatorBetween is a ComparisonOperator enum value 24514 ComparisonOperatorBetween = "BETWEEN" 24515 24516 // ComparisonOperatorNotNull is a ComparisonOperator enum value 24517 ComparisonOperatorNotNull = "NOT_NULL" 24518 24519 // ComparisonOperatorNull is a ComparisonOperator enum value 24520 ComparisonOperatorNull = "NULL" 24521 24522 // ComparisonOperatorContains is a ComparisonOperator enum value 24523 ComparisonOperatorContains = "CONTAINS" 24524 24525 // ComparisonOperatorNotContains is a ComparisonOperator enum value 24526 ComparisonOperatorNotContains = "NOT_CONTAINS" 24527 24528 // ComparisonOperatorBeginsWith is a ComparisonOperator enum value 24529 ComparisonOperatorBeginsWith = "BEGINS_WITH" 24530 ) 24531 24532 // ComparisonOperator_Values returns all elements of the ComparisonOperator enum 24533 func ComparisonOperator_Values() []string { 24534 return []string{ 24535 ComparisonOperatorEq, 24536 ComparisonOperatorNe, 24537 ComparisonOperatorIn, 24538 ComparisonOperatorLe, 24539 ComparisonOperatorLt, 24540 ComparisonOperatorGe, 24541 ComparisonOperatorGt, 24542 ComparisonOperatorBetween, 24543 ComparisonOperatorNotNull, 24544 ComparisonOperatorNull, 24545 ComparisonOperatorContains, 24546 ComparisonOperatorNotContains, 24547 ComparisonOperatorBeginsWith, 24548 } 24549 } 24550 24551 const ( 24552 // ConditionalOperatorAnd is a ConditionalOperator enum value 24553 ConditionalOperatorAnd = "AND" 24554 24555 // ConditionalOperatorOr is a ConditionalOperator enum value 24556 ConditionalOperatorOr = "OR" 24557 ) 24558 24559 // ConditionalOperator_Values returns all elements of the ConditionalOperator enum 24560 func ConditionalOperator_Values() []string { 24561 return []string{ 24562 ConditionalOperatorAnd, 24563 ConditionalOperatorOr, 24564 } 24565 } 24566 24567 const ( 24568 // ContinuousBackupsStatusEnabled is a ContinuousBackupsStatus enum value 24569 ContinuousBackupsStatusEnabled = "ENABLED" 24570 24571 // ContinuousBackupsStatusDisabled is a ContinuousBackupsStatus enum value 24572 ContinuousBackupsStatusDisabled = "DISABLED" 24573 ) 24574 24575 // ContinuousBackupsStatus_Values returns all elements of the ContinuousBackupsStatus enum 24576 func ContinuousBackupsStatus_Values() []string { 24577 return []string{ 24578 ContinuousBackupsStatusEnabled, 24579 ContinuousBackupsStatusDisabled, 24580 } 24581 } 24582 24583 const ( 24584 // ContributorInsightsActionEnable is a ContributorInsightsAction enum value 24585 ContributorInsightsActionEnable = "ENABLE" 24586 24587 // ContributorInsightsActionDisable is a ContributorInsightsAction enum value 24588 ContributorInsightsActionDisable = "DISABLE" 24589 ) 24590 24591 // ContributorInsightsAction_Values returns all elements of the ContributorInsightsAction enum 24592 func ContributorInsightsAction_Values() []string { 24593 return []string{ 24594 ContributorInsightsActionEnable, 24595 ContributorInsightsActionDisable, 24596 } 24597 } 24598 24599 const ( 24600 // ContributorInsightsStatusEnabling is a ContributorInsightsStatus enum value 24601 ContributorInsightsStatusEnabling = "ENABLING" 24602 24603 // ContributorInsightsStatusEnabled is a ContributorInsightsStatus enum value 24604 ContributorInsightsStatusEnabled = "ENABLED" 24605 24606 // ContributorInsightsStatusDisabling is a ContributorInsightsStatus enum value 24607 ContributorInsightsStatusDisabling = "DISABLING" 24608 24609 // ContributorInsightsStatusDisabled is a ContributorInsightsStatus enum value 24610 ContributorInsightsStatusDisabled = "DISABLED" 24611 24612 // ContributorInsightsStatusFailed is a ContributorInsightsStatus enum value 24613 ContributorInsightsStatusFailed = "FAILED" 24614 ) 24615 24616 // ContributorInsightsStatus_Values returns all elements of the ContributorInsightsStatus enum 24617 func ContributorInsightsStatus_Values() []string { 24618 return []string{ 24619 ContributorInsightsStatusEnabling, 24620 ContributorInsightsStatusEnabled, 24621 ContributorInsightsStatusDisabling, 24622 ContributorInsightsStatusDisabled, 24623 ContributorInsightsStatusFailed, 24624 } 24625 } 24626 24627 const ( 24628 // DestinationStatusEnabling is a DestinationStatus enum value 24629 DestinationStatusEnabling = "ENABLING" 24630 24631 // DestinationStatusActive is a DestinationStatus enum value 24632 DestinationStatusActive = "ACTIVE" 24633 24634 // DestinationStatusDisabling is a DestinationStatus enum value 24635 DestinationStatusDisabling = "DISABLING" 24636 24637 // DestinationStatusDisabled is a DestinationStatus enum value 24638 DestinationStatusDisabled = "DISABLED" 24639 24640 // DestinationStatusEnableFailed is a DestinationStatus enum value 24641 DestinationStatusEnableFailed = "ENABLE_FAILED" 24642 ) 24643 24644 // DestinationStatus_Values returns all elements of the DestinationStatus enum 24645 func DestinationStatus_Values() []string { 24646 return []string{ 24647 DestinationStatusEnabling, 24648 DestinationStatusActive, 24649 DestinationStatusDisabling, 24650 DestinationStatusDisabled, 24651 DestinationStatusEnableFailed, 24652 } 24653 } 24654 24655 const ( 24656 // ExportFormatDynamodbJson is a ExportFormat enum value 24657 ExportFormatDynamodbJson = "DYNAMODB_JSON" 24658 24659 // ExportFormatIon is a ExportFormat enum value 24660 ExportFormatIon = "ION" 24661 ) 24662 24663 // ExportFormat_Values returns all elements of the ExportFormat enum 24664 func ExportFormat_Values() []string { 24665 return []string{ 24666 ExportFormatDynamodbJson, 24667 ExportFormatIon, 24668 } 24669 } 24670 24671 const ( 24672 // ExportStatusInProgress is a ExportStatus enum value 24673 ExportStatusInProgress = "IN_PROGRESS" 24674 24675 // ExportStatusCompleted is a ExportStatus enum value 24676 ExportStatusCompleted = "COMPLETED" 24677 24678 // ExportStatusFailed is a ExportStatus enum value 24679 ExportStatusFailed = "FAILED" 24680 ) 24681 24682 // ExportStatus_Values returns all elements of the ExportStatus enum 24683 func ExportStatus_Values() []string { 24684 return []string{ 24685 ExportStatusInProgress, 24686 ExportStatusCompleted, 24687 ExportStatusFailed, 24688 } 24689 } 24690 24691 const ( 24692 // GlobalTableStatusCreating is a GlobalTableStatus enum value 24693 GlobalTableStatusCreating = "CREATING" 24694 24695 // GlobalTableStatusActive is a GlobalTableStatus enum value 24696 GlobalTableStatusActive = "ACTIVE" 24697 24698 // GlobalTableStatusDeleting is a GlobalTableStatus enum value 24699 GlobalTableStatusDeleting = "DELETING" 24700 24701 // GlobalTableStatusUpdating is a GlobalTableStatus enum value 24702 GlobalTableStatusUpdating = "UPDATING" 24703 ) 24704 24705 // GlobalTableStatus_Values returns all elements of the GlobalTableStatus enum 24706 func GlobalTableStatus_Values() []string { 24707 return []string{ 24708 GlobalTableStatusCreating, 24709 GlobalTableStatusActive, 24710 GlobalTableStatusDeleting, 24711 GlobalTableStatusUpdating, 24712 } 24713 } 24714 24715 const ( 24716 // IndexStatusCreating is a IndexStatus enum value 24717 IndexStatusCreating = "CREATING" 24718 24719 // IndexStatusUpdating is a IndexStatus enum value 24720 IndexStatusUpdating = "UPDATING" 24721 24722 // IndexStatusDeleting is a IndexStatus enum value 24723 IndexStatusDeleting = "DELETING" 24724 24725 // IndexStatusActive is a IndexStatus enum value 24726 IndexStatusActive = "ACTIVE" 24727 ) 24728 24729 // IndexStatus_Values returns all elements of the IndexStatus enum 24730 func IndexStatus_Values() []string { 24731 return []string{ 24732 IndexStatusCreating, 24733 IndexStatusUpdating, 24734 IndexStatusDeleting, 24735 IndexStatusActive, 24736 } 24737 } 24738 24739 const ( 24740 // KeyTypeHash is a KeyType enum value 24741 KeyTypeHash = "HASH" 24742 24743 // KeyTypeRange is a KeyType enum value 24744 KeyTypeRange = "RANGE" 24745 ) 24746 24747 // KeyType_Values returns all elements of the KeyType enum 24748 func KeyType_Values() []string { 24749 return []string{ 24750 KeyTypeHash, 24751 KeyTypeRange, 24752 } 24753 } 24754 24755 const ( 24756 // PointInTimeRecoveryStatusEnabled is a PointInTimeRecoveryStatus enum value 24757 PointInTimeRecoveryStatusEnabled = "ENABLED" 24758 24759 // PointInTimeRecoveryStatusDisabled is a PointInTimeRecoveryStatus enum value 24760 PointInTimeRecoveryStatusDisabled = "DISABLED" 24761 ) 24762 24763 // PointInTimeRecoveryStatus_Values returns all elements of the PointInTimeRecoveryStatus enum 24764 func PointInTimeRecoveryStatus_Values() []string { 24765 return []string{ 24766 PointInTimeRecoveryStatusEnabled, 24767 PointInTimeRecoveryStatusDisabled, 24768 } 24769 } 24770 24771 const ( 24772 // ProjectionTypeAll is a ProjectionType enum value 24773 ProjectionTypeAll = "ALL" 24774 24775 // ProjectionTypeKeysOnly is a ProjectionType enum value 24776 ProjectionTypeKeysOnly = "KEYS_ONLY" 24777 24778 // ProjectionTypeInclude is a ProjectionType enum value 24779 ProjectionTypeInclude = "INCLUDE" 24780 ) 24781 24782 // ProjectionType_Values returns all elements of the ProjectionType enum 24783 func ProjectionType_Values() []string { 24784 return []string{ 24785 ProjectionTypeAll, 24786 ProjectionTypeKeysOnly, 24787 ProjectionTypeInclude, 24788 } 24789 } 24790 24791 const ( 24792 // ReplicaStatusCreating is a ReplicaStatus enum value 24793 ReplicaStatusCreating = "CREATING" 24794 24795 // ReplicaStatusCreationFailed is a ReplicaStatus enum value 24796 ReplicaStatusCreationFailed = "CREATION_FAILED" 24797 24798 // ReplicaStatusUpdating is a ReplicaStatus enum value 24799 ReplicaStatusUpdating = "UPDATING" 24800 24801 // ReplicaStatusDeleting is a ReplicaStatus enum value 24802 ReplicaStatusDeleting = "DELETING" 24803 24804 // ReplicaStatusActive is a ReplicaStatus enum value 24805 ReplicaStatusActive = "ACTIVE" 24806 24807 // ReplicaStatusRegionDisabled is a ReplicaStatus enum value 24808 ReplicaStatusRegionDisabled = "REGION_DISABLED" 24809 24810 // ReplicaStatusInaccessibleEncryptionCredentials is a ReplicaStatus enum value 24811 ReplicaStatusInaccessibleEncryptionCredentials = "INACCESSIBLE_ENCRYPTION_CREDENTIALS" 24812 ) 24813 24814 // ReplicaStatus_Values returns all elements of the ReplicaStatus enum 24815 func ReplicaStatus_Values() []string { 24816 return []string{ 24817 ReplicaStatusCreating, 24818 ReplicaStatusCreationFailed, 24819 ReplicaStatusUpdating, 24820 ReplicaStatusDeleting, 24821 ReplicaStatusActive, 24822 ReplicaStatusRegionDisabled, 24823 ReplicaStatusInaccessibleEncryptionCredentials, 24824 } 24825 } 24826 24827 // Determines the level of detail about provisioned throughput consumption that 24828 // is returned in the response: 24829 // 24830 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 24831 // operation, together with ConsumedCapacity for each table and secondary 24832 // index that was accessed. Note that some operations, such as GetItem and 24833 // BatchGetItem, do not access any indexes at all. In these cases, specifying 24834 // INDEXES will only return ConsumedCapacity information for table(s). 24835 // 24836 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 24837 // the operation. 24838 // 24839 // * NONE - No ConsumedCapacity details are included in the response. 24840 const ( 24841 // ReturnConsumedCapacityIndexes is a ReturnConsumedCapacity enum value 24842 ReturnConsumedCapacityIndexes = "INDEXES" 24843 24844 // ReturnConsumedCapacityTotal is a ReturnConsumedCapacity enum value 24845 ReturnConsumedCapacityTotal = "TOTAL" 24846 24847 // ReturnConsumedCapacityNone is a ReturnConsumedCapacity enum value 24848 ReturnConsumedCapacityNone = "NONE" 24849 ) 24850 24851 // ReturnConsumedCapacity_Values returns all elements of the ReturnConsumedCapacity enum 24852 func ReturnConsumedCapacity_Values() []string { 24853 return []string{ 24854 ReturnConsumedCapacityIndexes, 24855 ReturnConsumedCapacityTotal, 24856 ReturnConsumedCapacityNone, 24857 } 24858 } 24859 24860 const ( 24861 // ReturnItemCollectionMetricsSize is a ReturnItemCollectionMetrics enum value 24862 ReturnItemCollectionMetricsSize = "SIZE" 24863 24864 // ReturnItemCollectionMetricsNone is a ReturnItemCollectionMetrics enum value 24865 ReturnItemCollectionMetricsNone = "NONE" 24866 ) 24867 24868 // ReturnItemCollectionMetrics_Values returns all elements of the ReturnItemCollectionMetrics enum 24869 func ReturnItemCollectionMetrics_Values() []string { 24870 return []string{ 24871 ReturnItemCollectionMetricsSize, 24872 ReturnItemCollectionMetricsNone, 24873 } 24874 } 24875 24876 const ( 24877 // ReturnValueNone is a ReturnValue enum value 24878 ReturnValueNone = "NONE" 24879 24880 // ReturnValueAllOld is a ReturnValue enum value 24881 ReturnValueAllOld = "ALL_OLD" 24882 24883 // ReturnValueUpdatedOld is a ReturnValue enum value 24884 ReturnValueUpdatedOld = "UPDATED_OLD" 24885 24886 // ReturnValueAllNew is a ReturnValue enum value 24887 ReturnValueAllNew = "ALL_NEW" 24888 24889 // ReturnValueUpdatedNew is a ReturnValue enum value 24890 ReturnValueUpdatedNew = "UPDATED_NEW" 24891 ) 24892 24893 // ReturnValue_Values returns all elements of the ReturnValue enum 24894 func ReturnValue_Values() []string { 24895 return []string{ 24896 ReturnValueNone, 24897 ReturnValueAllOld, 24898 ReturnValueUpdatedOld, 24899 ReturnValueAllNew, 24900 ReturnValueUpdatedNew, 24901 } 24902 } 24903 24904 const ( 24905 // ReturnValuesOnConditionCheckFailureAllOld is a ReturnValuesOnConditionCheckFailure enum value 24906 ReturnValuesOnConditionCheckFailureAllOld = "ALL_OLD" 24907 24908 // ReturnValuesOnConditionCheckFailureNone is a ReturnValuesOnConditionCheckFailure enum value 24909 ReturnValuesOnConditionCheckFailureNone = "NONE" 24910 ) 24911 24912 // ReturnValuesOnConditionCheckFailure_Values returns all elements of the ReturnValuesOnConditionCheckFailure enum 24913 func ReturnValuesOnConditionCheckFailure_Values() []string { 24914 return []string{ 24915 ReturnValuesOnConditionCheckFailureAllOld, 24916 ReturnValuesOnConditionCheckFailureNone, 24917 } 24918 } 24919 24920 const ( 24921 // S3SseAlgorithmAes256 is a S3SseAlgorithm enum value 24922 S3SseAlgorithmAes256 = "AES256" 24923 24924 // S3SseAlgorithmKms is a S3SseAlgorithm enum value 24925 S3SseAlgorithmKms = "KMS" 24926 ) 24927 24928 // S3SseAlgorithm_Values returns all elements of the S3SseAlgorithm enum 24929 func S3SseAlgorithm_Values() []string { 24930 return []string{ 24931 S3SseAlgorithmAes256, 24932 S3SseAlgorithmKms, 24933 } 24934 } 24935 24936 const ( 24937 // SSEStatusEnabling is a SSEStatus enum value 24938 SSEStatusEnabling = "ENABLING" 24939 24940 // SSEStatusEnabled is a SSEStatus enum value 24941 SSEStatusEnabled = "ENABLED" 24942 24943 // SSEStatusDisabling is a SSEStatus enum value 24944 SSEStatusDisabling = "DISABLING" 24945 24946 // SSEStatusDisabled is a SSEStatus enum value 24947 SSEStatusDisabled = "DISABLED" 24948 24949 // SSEStatusUpdating is a SSEStatus enum value 24950 SSEStatusUpdating = "UPDATING" 24951 ) 24952 24953 // SSEStatus_Values returns all elements of the SSEStatus enum 24954 func SSEStatus_Values() []string { 24955 return []string{ 24956 SSEStatusEnabling, 24957 SSEStatusEnabled, 24958 SSEStatusDisabling, 24959 SSEStatusDisabled, 24960 SSEStatusUpdating, 24961 } 24962 } 24963 24964 const ( 24965 // SSETypeAes256 is a SSEType enum value 24966 SSETypeAes256 = "AES256" 24967 24968 // SSETypeKms is a SSEType enum value 24969 SSETypeKms = "KMS" 24970 ) 24971 24972 // SSEType_Values returns all elements of the SSEType enum 24973 func SSEType_Values() []string { 24974 return []string{ 24975 SSETypeAes256, 24976 SSETypeKms, 24977 } 24978 } 24979 24980 const ( 24981 // ScalarAttributeTypeS is a ScalarAttributeType enum value 24982 ScalarAttributeTypeS = "S" 24983 24984 // ScalarAttributeTypeN is a ScalarAttributeType enum value 24985 ScalarAttributeTypeN = "N" 24986 24987 // ScalarAttributeTypeB is a ScalarAttributeType enum value 24988 ScalarAttributeTypeB = "B" 24989 ) 24990 24991 // ScalarAttributeType_Values returns all elements of the ScalarAttributeType enum 24992 func ScalarAttributeType_Values() []string { 24993 return []string{ 24994 ScalarAttributeTypeS, 24995 ScalarAttributeTypeN, 24996 ScalarAttributeTypeB, 24997 } 24998 } 24999 25000 const ( 25001 // SelectAllAttributes is a Select enum value 25002 SelectAllAttributes = "ALL_ATTRIBUTES" 25003 25004 // SelectAllProjectedAttributes is a Select enum value 25005 SelectAllProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES" 25006 25007 // SelectSpecificAttributes is a Select enum value 25008 SelectSpecificAttributes = "SPECIFIC_ATTRIBUTES" 25009 25010 // SelectCount is a Select enum value 25011 SelectCount = "COUNT" 25012 ) 25013 25014 // Select_Values returns all elements of the Select enum 25015 func Select_Values() []string { 25016 return []string{ 25017 SelectAllAttributes, 25018 SelectAllProjectedAttributes, 25019 SelectSpecificAttributes, 25020 SelectCount, 25021 } 25022 } 25023 25024 const ( 25025 // StreamViewTypeNewImage is a StreamViewType enum value 25026 StreamViewTypeNewImage = "NEW_IMAGE" 25027 25028 // StreamViewTypeOldImage is a StreamViewType enum value 25029 StreamViewTypeOldImage = "OLD_IMAGE" 25030 25031 // StreamViewTypeNewAndOldImages is a StreamViewType enum value 25032 StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES" 25033 25034 // StreamViewTypeKeysOnly is a StreamViewType enum value 25035 StreamViewTypeKeysOnly = "KEYS_ONLY" 25036 ) 25037 25038 // StreamViewType_Values returns all elements of the StreamViewType enum 25039 func StreamViewType_Values() []string { 25040 return []string{ 25041 StreamViewTypeNewImage, 25042 StreamViewTypeOldImage, 25043 StreamViewTypeNewAndOldImages, 25044 StreamViewTypeKeysOnly, 25045 } 25046 } 25047 25048 const ( 25049 // TableStatusCreating is a TableStatus enum value 25050 TableStatusCreating = "CREATING" 25051 25052 // TableStatusUpdating is a TableStatus enum value 25053 TableStatusUpdating = "UPDATING" 25054 25055 // TableStatusDeleting is a TableStatus enum value 25056 TableStatusDeleting = "DELETING" 25057 25058 // TableStatusActive is a TableStatus enum value 25059 TableStatusActive = "ACTIVE" 25060 25061 // TableStatusInaccessibleEncryptionCredentials is a TableStatus enum value 25062 TableStatusInaccessibleEncryptionCredentials = "INACCESSIBLE_ENCRYPTION_CREDENTIALS" 25063 25064 // TableStatusArchiving is a TableStatus enum value 25065 TableStatusArchiving = "ARCHIVING" 25066 25067 // TableStatusArchived is a TableStatus enum value 25068 TableStatusArchived = "ARCHIVED" 25069 ) 25070 25071 // TableStatus_Values returns all elements of the TableStatus enum 25072 func TableStatus_Values() []string { 25073 return []string{ 25074 TableStatusCreating, 25075 TableStatusUpdating, 25076 TableStatusDeleting, 25077 TableStatusActive, 25078 TableStatusInaccessibleEncryptionCredentials, 25079 TableStatusArchiving, 25080 TableStatusArchived, 25081 } 25082 } 25083 25084 const ( 25085 // TimeToLiveStatusEnabling is a TimeToLiveStatus enum value 25086 TimeToLiveStatusEnabling = "ENABLING" 25087 25088 // TimeToLiveStatusDisabling is a TimeToLiveStatus enum value 25089 TimeToLiveStatusDisabling = "DISABLING" 25090 25091 // TimeToLiveStatusEnabled is a TimeToLiveStatus enum value 25092 TimeToLiveStatusEnabled = "ENABLED" 25093 25094 // TimeToLiveStatusDisabled is a TimeToLiveStatus enum value 25095 TimeToLiveStatusDisabled = "DISABLED" 25096 ) 25097 25098 // TimeToLiveStatus_Values returns all elements of the TimeToLiveStatus enum 25099 func TimeToLiveStatus_Values() []string { 25100 return []string{ 25101 TimeToLiveStatusEnabling, 25102 TimeToLiveStatusDisabling, 25103 TimeToLiveStatusEnabled, 25104 TimeToLiveStatusDisabled, 25105 } 25106 }