1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package dynamodb 4 5import ( 6 "fmt" 7 "net/url" 8 "strings" 9 "time" 10 11 "github.com/aws/aws-sdk-go/aws" 12 "github.com/aws/aws-sdk-go/aws/awsutil" 13 "github.com/aws/aws-sdk-go/aws/crr" 14 "github.com/aws/aws-sdk-go/aws/request" 15 "github.com/aws/aws-sdk-go/private/protocol" 16 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 17) 18 19const opBatchGetItem = "BatchGetItem" 20 21// BatchGetItemRequest generates a "aws/request.Request" representing the 22// client's request for the BatchGetItem 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 BatchGetItem for more information on using the BatchGetItem 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 BatchGetItemRequest method. 37// req, resp := client.BatchGetItemRequest(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/BatchGetItem 45func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.Request, output *BatchGetItemOutput) { 46 op := &request.Operation{ 47 Name: opBatchGetItem, 48 HTTPMethod: "POST", 49 HTTPPath: "/", 50 Paginator: &request.Paginator{ 51 InputTokens: []string{"RequestItems"}, 52 OutputTokens: []string{"UnprocessedKeys"}, 53 LimitToken: "", 54 TruncationToken: "", 55 }, 56 } 57 58 if input == nil { 59 input = &BatchGetItemInput{} 60 } 61 62 output = &BatchGetItemOutput{} 63 req = c.newRequest(op, input, output) 64 // if custom endpoint for the request is set to a non empty string, 65 // we skip the endpoint discovery workflow. 66 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 67 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 68 de := discovererDescribeEndpoints{ 69 Required: false, 70 EndpointCache: c.endpointCache, 71 Params: map[string]*string{ 72 "op": aws.String(req.Operation.Name), 73 }, 74 Client: c, 75 } 76 77 for k, v := range de.Params { 78 if v == nil { 79 delete(de.Params, k) 80 } 81 } 82 83 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 84 Name: "crr.endpointdiscovery", 85 Fn: de.Handler, 86 }) 87 } 88 } 89 return 90} 91 92// BatchGetItem API operation for Amazon DynamoDB. 93// 94// The BatchGetItem operation returns the attributes of one or more items from 95// one or more tables. You identify requested items by primary key. 96// 97// A single operation can retrieve up to 16 MB of data, which can contain as 98// many as 100 items. BatchGetItem returns a partial result if the response 99// size limit is exceeded, the table's provisioned throughput is exceeded, or 100// an internal processing failure occurs. If a partial result is returned, the 101// operation returns a value for UnprocessedKeys. You can use this value to 102// retry the operation starting with the next item to get. 103// 104// If you request more than 100 items, BatchGetItem returns a ValidationException 105// with the message "Too many items requested for the BatchGetItem call." 106// 107// For example, if you ask to retrieve 100 items, but each individual item is 108// 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB 109// limit). It also returns an appropriate UnprocessedKeys value so you can get 110// the next page of results. If desired, your application can include its own 111// logic to assemble the pages of results into one dataset. 112// 113// If none of the items can be processed due to insufficient provisioned throughput 114// on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. 115// If at least one of the items is successfully processed, then BatchGetItem 116// completes successfully, while returning the keys of the unread items in UnprocessedKeys. 117// 118// If DynamoDB returns any unprocessed items, you should retry the batch operation 119// on those items. However, we strongly recommend that you use an exponential 120// backoff algorithm. If you retry the batch operation immediately, the underlying 121// read or write requests can still fail due to throttling on the individual 122// tables. If you delay the batch operation using exponential backoff, the individual 123// requests in the batch are much more likely to succeed. 124// 125// For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations) 126// in the Amazon DynamoDB Developer Guide. 127// 128// By default, BatchGetItem performs eventually consistent reads on every table 129// in the request. If you want strongly consistent reads instead, you can set 130// ConsistentRead to true for any or all tables. 131// 132// In order to minimize response latency, BatchGetItem retrieves items in parallel. 133// 134// When designing your application, keep in mind that DynamoDB does not return 135// items in any particular order. To help parse the response by item, include 136// the primary key values for the items in your request in the ProjectionExpression 137// parameter. 138// 139// If a requested item does not exist, it is not returned in the result. Requests 140// for nonexistent items consume the minimum read capacity units according to 141// the type of read. For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations) 142// in the Amazon DynamoDB Developer Guide. 143// 144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 145// with awserr.Error's Code and Message methods to get detailed information about 146// the error. 147// 148// See the AWS API reference guide for Amazon DynamoDB's 149// API operation BatchGetItem for usage and error information. 150// 151// Returned Error Types: 152// * ProvisionedThroughputExceededException 153// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 154// requests that receive this exception. Your request is eventually successful, 155// unless your retry queue is too large to finish. Reduce the frequency of requests 156// and use exponential backoff. For more information, go to Error Retries and 157// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 158// in the Amazon DynamoDB Developer Guide. 159// 160// * ResourceNotFoundException 161// The operation tried to access a nonexistent table or index. The resource 162// might not be specified correctly, or its status might not be ACTIVE. 163// 164// * RequestLimitExceeded 165// Throughput exceeds the current throughput limit for your account. Please 166// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 167// a limit increase. 168// 169// * InternalServerError 170// An error occurred on the server side. 171// 172// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem 173func (c *DynamoDB) BatchGetItem(input *BatchGetItemInput) (*BatchGetItemOutput, error) { 174 req, out := c.BatchGetItemRequest(input) 175 return out, req.Send() 176} 177 178// BatchGetItemWithContext is the same as BatchGetItem with the addition of 179// the ability to pass a context and additional request options. 180// 181// See BatchGetItem for details on how to use this API operation. 182// 183// The context must be non-nil and will be used for request cancellation. If 184// the context is nil a panic will occur. In the future the SDK may create 185// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 186// for more information on using Contexts. 187func (c *DynamoDB) BatchGetItemWithContext(ctx aws.Context, input *BatchGetItemInput, opts ...request.Option) (*BatchGetItemOutput, error) { 188 req, out := c.BatchGetItemRequest(input) 189 req.SetContext(ctx) 190 req.ApplyOptions(opts...) 191 return out, req.Send() 192} 193 194// BatchGetItemPages iterates over the pages of a BatchGetItem operation, 195// calling the "fn" function with the response data for each page. To stop 196// iterating, return false from the fn function. 197// 198// See BatchGetItem method for more information on how to use this operation. 199// 200// Note: This operation can generate multiple requests to a service. 201// 202// // Example iterating over at most 3 pages of a BatchGetItem operation. 203// pageNum := 0 204// err := client.BatchGetItemPages(params, 205// func(page *dynamodb.BatchGetItemOutput, lastPage bool) bool { 206// pageNum++ 207// fmt.Println(page) 208// return pageNum <= 3 209// }) 210// 211func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool) error { 212 return c.BatchGetItemPagesWithContext(aws.BackgroundContext(), input, fn) 213} 214 215// BatchGetItemPagesWithContext same as BatchGetItemPages except 216// it takes a Context and allows setting request options on the pages. 217// 218// The context must be non-nil and will be used for request cancellation. If 219// the context is nil a panic will occur. In the future the SDK may create 220// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 221// for more information on using Contexts. 222func (c *DynamoDB) BatchGetItemPagesWithContext(ctx aws.Context, input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool, opts ...request.Option) error { 223 p := request.Pagination{ 224 NewRequest: func() (*request.Request, error) { 225 var inCpy *BatchGetItemInput 226 if input != nil { 227 tmp := *input 228 inCpy = &tmp 229 } 230 req, _ := c.BatchGetItemRequest(inCpy) 231 req.SetContext(ctx) 232 req.ApplyOptions(opts...) 233 return req, nil 234 }, 235 } 236 237 for p.Next() { 238 if !fn(p.Page().(*BatchGetItemOutput), !p.HasNextPage()) { 239 break 240 } 241 } 242 243 return p.Err() 244} 245 246const opBatchWriteItem = "BatchWriteItem" 247 248// BatchWriteItemRequest generates a "aws/request.Request" representing the 249// client's request for the BatchWriteItem operation. The "output" return 250// value will be populated with the request's response once the request completes 251// successfully. 252// 253// Use "Send" method on the returned Request to send the API call to the service. 254// the "output" return value is not valid until after Send returns without error. 255// 256// See BatchWriteItem for more information on using the BatchWriteItem 257// API call, and error handling. 258// 259// This method is useful when you want to inject custom logic or configuration 260// into the SDK's request lifecycle. Such as custom headers, or retry logic. 261// 262// 263// // Example sending a request using the BatchWriteItemRequest method. 264// req, resp := client.BatchWriteItemRequest(params) 265// 266// err := req.Send() 267// if err == nil { // resp is now filled 268// fmt.Println(resp) 269// } 270// 271// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem 272func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *request.Request, output *BatchWriteItemOutput) { 273 op := &request.Operation{ 274 Name: opBatchWriteItem, 275 HTTPMethod: "POST", 276 HTTPPath: "/", 277 } 278 279 if input == nil { 280 input = &BatchWriteItemInput{} 281 } 282 283 output = &BatchWriteItemOutput{} 284 req = c.newRequest(op, input, output) 285 // if custom endpoint for the request is set to a non empty string, 286 // we skip the endpoint discovery workflow. 287 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 288 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 289 de := discovererDescribeEndpoints{ 290 Required: false, 291 EndpointCache: c.endpointCache, 292 Params: map[string]*string{ 293 "op": aws.String(req.Operation.Name), 294 }, 295 Client: c, 296 } 297 298 for k, v := range de.Params { 299 if v == nil { 300 delete(de.Params, k) 301 } 302 } 303 304 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 305 Name: "crr.endpointdiscovery", 306 Fn: de.Handler, 307 }) 308 } 309 } 310 return 311} 312 313// BatchWriteItem API operation for Amazon DynamoDB. 314// 315// The BatchWriteItem operation puts or deletes multiple items in one or more 316// tables. A single call to BatchWriteItem can write up to 16 MB of data, which 317// can comprise as many as 25 put or delete requests. Individual items to be 318// written can be as large as 400 KB. 319// 320// BatchWriteItem cannot update items. To update items, use the UpdateItem action. 321// 322// The individual PutItem and DeleteItem operations specified in BatchWriteItem 323// are atomic; however BatchWriteItem as a whole is not. If any requested operations 324// fail because the table's provisioned throughput is exceeded or an internal 325// processing failure occurs, the failed operations are returned in the UnprocessedItems 326// response parameter. You can investigate and optionally resend the requests. 327// Typically, you would call BatchWriteItem in a loop. Each iteration would 328// check for unprocessed items and submit a new BatchWriteItem request with 329// those unprocessed items until all items have been processed. 330// 331// If none of the items can be processed due to insufficient provisioned throughput 332// on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException. 333// 334// If DynamoDB returns any unprocessed items, you should retry the batch operation 335// on those items. However, we strongly recommend that you use an exponential 336// backoff algorithm. If you retry the batch operation immediately, the underlying 337// read or write requests can still fail due to throttling on the individual 338// tables. If you delay the batch operation using exponential backoff, the individual 339// requests in the batch are much more likely to succeed. 340// 341// For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations) 342// in the Amazon DynamoDB Developer Guide. 343// 344// With BatchWriteItem, you can efficiently write or delete large amounts of 345// data, such as from Amazon EMR, or copy data from another database into DynamoDB. 346// In order to improve performance with these large-scale operations, BatchWriteItem 347// does not behave in the same way as individual PutItem and DeleteItem calls 348// would. For example, you cannot specify conditions on individual put and delete 349// requests, and BatchWriteItem does not return deleted items in the response. 350// 351// If you use a programming language that supports concurrency, you can use 352// threads to write items in parallel. Your application must include the necessary 353// logic to manage the threads. With languages that don't support threading, 354// you must update or delete the specified items one at a time. In both situations, 355// BatchWriteItem performs the specified put and delete operations in parallel, 356// giving you the power of the thread pool approach without having to introduce 357// complexity into your application. 358// 359// Parallel processing reduces latency, but each specified put and delete request 360// consumes the same number of write capacity units whether it is processed 361// in parallel or not. Delete operations on nonexistent items consume one write 362// capacity unit. 363// 364// If one or more of the following is true, DynamoDB rejects the entire batch 365// write operation: 366// 367// * One or more tables specified in the BatchWriteItem request does not 368// exist. 369// 370// * Primary key attributes specified on an item in the request do not match 371// those in the corresponding table's primary key schema. 372// 373// * You try to perform multiple operations on the same item in the same 374// BatchWriteItem request. For example, you cannot put and delete the same 375// item in the same BatchWriteItem request. 376// 377// * Your request contains at least two items with identical hash and range 378// keys (which essentially is two put operations). 379// 380// * There are more than 25 requests in the batch. 381// 382// * Any individual item in a batch exceeds 400 KB. 383// 384// * The total request size exceeds 16 MB. 385// 386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 387// with awserr.Error's Code and Message methods to get detailed information about 388// the error. 389// 390// See the AWS API reference guide for Amazon DynamoDB's 391// API operation BatchWriteItem for usage and error information. 392// 393// Returned Error Types: 394// * ProvisionedThroughputExceededException 395// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 396// requests that receive this exception. Your request is eventually successful, 397// unless your retry queue is too large to finish. Reduce the frequency of requests 398// and use exponential backoff. For more information, go to Error Retries and 399// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 400// in the Amazon DynamoDB Developer Guide. 401// 402// * ResourceNotFoundException 403// The operation tried to access a nonexistent table or index. The resource 404// might not be specified correctly, or its status might not be ACTIVE. 405// 406// * ItemCollectionSizeLimitExceededException 407// An item collection is too large. This exception is only returned for tables 408// that have one or more local secondary indexes. 409// 410// * RequestLimitExceeded 411// Throughput exceeds the current throughput limit for your account. Please 412// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 413// a limit increase. 414// 415// * InternalServerError 416// An error occurred on the server side. 417// 418// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem 419func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOutput, error) { 420 req, out := c.BatchWriteItemRequest(input) 421 return out, req.Send() 422} 423 424// BatchWriteItemWithContext is the same as BatchWriteItem with the addition of 425// the ability to pass a context and additional request options. 426// 427// See BatchWriteItem for details on how to use this API operation. 428// 429// The context must be non-nil and will be used for request cancellation. If 430// the context is nil a panic will occur. In the future the SDK may create 431// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 432// for more information on using Contexts. 433func (c *DynamoDB) BatchWriteItemWithContext(ctx aws.Context, input *BatchWriteItemInput, opts ...request.Option) (*BatchWriteItemOutput, error) { 434 req, out := c.BatchWriteItemRequest(input) 435 req.SetContext(ctx) 436 req.ApplyOptions(opts...) 437 return out, req.Send() 438} 439 440const opCreateBackup = "CreateBackup" 441 442// CreateBackupRequest generates a "aws/request.Request" representing the 443// client's request for the CreateBackup operation. The "output" return 444// value will be populated with the request's response once the request completes 445// successfully. 446// 447// Use "Send" method on the returned Request to send the API call to the service. 448// the "output" return value is not valid until after Send returns without error. 449// 450// See CreateBackup for more information on using the CreateBackup 451// API call, and error handling. 452// 453// This method is useful when you want to inject custom logic or configuration 454// into the SDK's request lifecycle. Such as custom headers, or retry logic. 455// 456// 457// // Example sending a request using the CreateBackupRequest method. 458// req, resp := client.CreateBackupRequest(params) 459// 460// err := req.Send() 461// if err == nil { // resp is now filled 462// fmt.Println(resp) 463// } 464// 465// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup 466func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) { 467 op := &request.Operation{ 468 Name: opCreateBackup, 469 HTTPMethod: "POST", 470 HTTPPath: "/", 471 } 472 473 if input == nil { 474 input = &CreateBackupInput{} 475 } 476 477 output = &CreateBackupOutput{} 478 req = c.newRequest(op, input, output) 479 // if custom endpoint for the request is set to a non empty string, 480 // we skip the endpoint discovery workflow. 481 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 482 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 483 de := discovererDescribeEndpoints{ 484 Required: false, 485 EndpointCache: c.endpointCache, 486 Params: map[string]*string{ 487 "op": aws.String(req.Operation.Name), 488 }, 489 Client: c, 490 } 491 492 for k, v := range de.Params { 493 if v == nil { 494 delete(de.Params, k) 495 } 496 } 497 498 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 499 Name: "crr.endpointdiscovery", 500 Fn: de.Handler, 501 }) 502 } 503 } 504 return 505} 506 507// CreateBackup API operation for Amazon DynamoDB. 508// 509// Creates a backup for an existing table. 510// 511// Each time you create an on-demand backup, the entire table data is backed 512// up. There is no limit to the number of on-demand backups that can be taken. 513// 514// When you create an on-demand backup, a time marker of the request is cataloged, 515// and the backup is created asynchronously, by applying all changes until the 516// time of the request to the last full table snapshot. Backup requests are 517// processed instantaneously and become available for restore within minutes. 518// 519// You can call CreateBackup at a maximum rate of 50 times per second. 520// 521// All backups in DynamoDB work without consuming any provisioned throughput 522// on the table. 523// 524// If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed 525// to contain all data committed to the table up to 14:24:00, and data committed 526// after 14:26:00 will not be. The backup might contain data modifications made 527// between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency. 528// 529// Along with data, the following are also included on the backups: 530// 531// * Global secondary indexes (GSIs) 532// 533// * Local secondary indexes (LSIs) 534// 535// * Streams 536// 537// * Provisioned read and write capacity 538// 539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 540// with awserr.Error's Code and Message methods to get detailed information about 541// the error. 542// 543// See the AWS API reference guide for Amazon DynamoDB's 544// API operation CreateBackup for usage and error information. 545// 546// Returned Error Types: 547// * TableNotFoundException 548// A source table with the name TableName does not currently exist within the 549// subscriber's account. 550// 551// * TableInUseException 552// A target table with the specified name is either being created or deleted. 553// 554// * ContinuousBackupsUnavailableException 555// Backups have not yet been enabled for this table. 556// 557// * BackupInUseException 558// There is another ongoing conflicting backup control plane operation on the 559// table. The backup is either being created, deleted or restored to a table. 560// 561// * LimitExceededException 562// There is no limit to the number of daily on-demand backups that can be taken. 563// 564// Up to 50 simultaneous table operations are allowed per account. These operations 565// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 566// and RestoreTableToPointInTime. 567// 568// The only exception is when you are creating a table with one or more secondary 569// indexes. You can have up to 25 such requests running at a time; however, 570// if the table or index specifications are complex, DynamoDB might temporarily 571// reduce the number of concurrent operations. 572// 573// There is a soft account limit of 256 tables. 574// 575// * InternalServerError 576// An error occurred on the server side. 577// 578// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup 579func (c *DynamoDB) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) { 580 req, out := c.CreateBackupRequest(input) 581 return out, req.Send() 582} 583 584// CreateBackupWithContext is the same as CreateBackup with the addition of 585// the ability to pass a context and additional request options. 586// 587// See CreateBackup for details on how to use this API operation. 588// 589// The context must be non-nil and will be used for request cancellation. If 590// the context is nil a panic will occur. In the future the SDK may create 591// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 592// for more information on using Contexts. 593func (c *DynamoDB) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) { 594 req, out := c.CreateBackupRequest(input) 595 req.SetContext(ctx) 596 req.ApplyOptions(opts...) 597 return out, req.Send() 598} 599 600const opCreateGlobalTable = "CreateGlobalTable" 601 602// CreateGlobalTableRequest generates a "aws/request.Request" representing the 603// client's request for the CreateGlobalTable operation. The "output" return 604// value will be populated with the request's response once the request completes 605// successfully. 606// 607// Use "Send" method on the returned Request to send the API call to the service. 608// the "output" return value is not valid until after Send returns without error. 609// 610// See CreateGlobalTable for more information on using the CreateGlobalTable 611// API call, and error handling. 612// 613// This method is useful when you want to inject custom logic or configuration 614// into the SDK's request lifecycle. Such as custom headers, or retry logic. 615// 616// 617// // Example sending a request using the CreateGlobalTableRequest method. 618// req, resp := client.CreateGlobalTableRequest(params) 619// 620// err := req.Send() 621// if err == nil { // resp is now filled 622// fmt.Println(resp) 623// } 624// 625// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable 626func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req *request.Request, output *CreateGlobalTableOutput) { 627 op := &request.Operation{ 628 Name: opCreateGlobalTable, 629 HTTPMethod: "POST", 630 HTTPPath: "/", 631 } 632 633 if input == nil { 634 input = &CreateGlobalTableInput{} 635 } 636 637 output = &CreateGlobalTableOutput{} 638 req = c.newRequest(op, input, output) 639 // if custom endpoint for the request is set to a non empty string, 640 // we skip the endpoint discovery workflow. 641 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 642 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 643 de := discovererDescribeEndpoints{ 644 Required: false, 645 EndpointCache: c.endpointCache, 646 Params: map[string]*string{ 647 "op": aws.String(req.Operation.Name), 648 }, 649 Client: c, 650 } 651 652 for k, v := range de.Params { 653 if v == nil { 654 delete(de.Params, k) 655 } 656 } 657 658 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 659 Name: "crr.endpointdiscovery", 660 Fn: de.Handler, 661 }) 662 } 663 } 664 return 665} 666 667// CreateGlobalTable API operation for Amazon DynamoDB. 668// 669// Creates a global table from an existing table. A global table creates a replication 670// relationship between two or more DynamoDB tables with the same table name 671// in the provided Regions. 672// 673// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 674// of global tables. 675// 676// If you want to add a new replica table to a global table, each of the following 677// conditions must be true: 678// 679// * The table must have the same primary key as all of the other replicas. 680// 681// * The table must have the same name as all of the other replicas. 682// 683// * The table must have DynamoDB Streams enabled, with the stream containing 684// both the new and the old images of the item. 685// 686// * None of the replica tables in the global table can contain any data. 687// 688// If global secondary indexes are specified, then the following conditions 689// must also be met: 690// 691// * The global secondary indexes must have the same name. 692// 693// * The global secondary indexes must have the same hash key and sort key 694// (if present). 695// 696// If local secondary indexes are specified, then the following conditions must 697// also be met: 698// 699// * The local secondary indexes must have the same name. 700// 701// * The local secondary indexes must have the same hash key and sort key 702// (if present). 703// 704// Write capacity settings should be set consistently across your replica tables 705// and secondary indexes. DynamoDB strongly recommends enabling auto scaling 706// to manage the write capacity settings for all of your global tables replicas 707// and indexes. 708// 709// If you prefer to manage write capacity settings manually, you should provision 710// equal replicated write capacity units to your replica tables. You should 711// also provision equal replicated write capacity units to matching secondary 712// indexes across your global table. 713// 714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 715// with awserr.Error's Code and Message methods to get detailed information about 716// the error. 717// 718// See the AWS API reference guide for Amazon DynamoDB's 719// API operation CreateGlobalTable for usage and error information. 720// 721// Returned Error Types: 722// * LimitExceededException 723// There is no limit to the number of daily on-demand backups that can be taken. 724// 725// Up to 50 simultaneous table operations are allowed per account. These operations 726// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 727// and RestoreTableToPointInTime. 728// 729// The only exception is when you are creating a table with one or more secondary 730// indexes. You can have up to 25 such requests running at a time; however, 731// if the table or index specifications are complex, DynamoDB might temporarily 732// reduce the number of concurrent operations. 733// 734// There is a soft account limit of 256 tables. 735// 736// * InternalServerError 737// An error occurred on the server side. 738// 739// * GlobalTableAlreadyExistsException 740// The specified global table already exists. 741// 742// * TableNotFoundException 743// A source table with the name TableName does not currently exist within the 744// subscriber's account. 745// 746// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable 747func (c *DynamoDB) CreateGlobalTable(input *CreateGlobalTableInput) (*CreateGlobalTableOutput, error) { 748 req, out := c.CreateGlobalTableRequest(input) 749 return out, req.Send() 750} 751 752// CreateGlobalTableWithContext is the same as CreateGlobalTable with the addition of 753// the ability to pass a context and additional request options. 754// 755// See CreateGlobalTable for details on how to use this API operation. 756// 757// The context must be non-nil and will be used for request cancellation. If 758// the context is nil a panic will occur. In the future the SDK may create 759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 760// for more information on using Contexts. 761func (c *DynamoDB) CreateGlobalTableWithContext(ctx aws.Context, input *CreateGlobalTableInput, opts ...request.Option) (*CreateGlobalTableOutput, error) { 762 req, out := c.CreateGlobalTableRequest(input) 763 req.SetContext(ctx) 764 req.ApplyOptions(opts...) 765 return out, req.Send() 766} 767 768const opCreateTable = "CreateTable" 769 770// CreateTableRequest generates a "aws/request.Request" representing the 771// client's request for the CreateTable operation. The "output" return 772// value will be populated with the request's response once the request completes 773// successfully. 774// 775// Use "Send" method on the returned Request to send the API call to the service. 776// the "output" return value is not valid until after Send returns without error. 777// 778// See CreateTable for more information on using the CreateTable 779// API call, and error handling. 780// 781// This method is useful when you want to inject custom logic or configuration 782// into the SDK's request lifecycle. Such as custom headers, or retry logic. 783// 784// 785// // Example sending a request using the CreateTableRequest method. 786// req, resp := client.CreateTableRequest(params) 787// 788// err := req.Send() 789// if err == nil { // resp is now filled 790// fmt.Println(resp) 791// } 792// 793// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable 794func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) { 795 op := &request.Operation{ 796 Name: opCreateTable, 797 HTTPMethod: "POST", 798 HTTPPath: "/", 799 } 800 801 if input == nil { 802 input = &CreateTableInput{} 803 } 804 805 output = &CreateTableOutput{} 806 req = c.newRequest(op, input, output) 807 // if custom endpoint for the request is set to a non empty string, 808 // we skip the endpoint discovery workflow. 809 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 810 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 811 de := discovererDescribeEndpoints{ 812 Required: false, 813 EndpointCache: c.endpointCache, 814 Params: map[string]*string{ 815 "op": aws.String(req.Operation.Name), 816 }, 817 Client: c, 818 } 819 820 for k, v := range de.Params { 821 if v == nil { 822 delete(de.Params, k) 823 } 824 } 825 826 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 827 Name: "crr.endpointdiscovery", 828 Fn: de.Handler, 829 }) 830 } 831 } 832 return 833} 834 835// CreateTable API operation for Amazon DynamoDB. 836// 837// The CreateTable operation adds a new table to your account. In an AWS account, 838// table names must be unique within each Region. That is, you can have two 839// tables with same name if you create the tables in different Regions. 840// 841// CreateTable is an asynchronous operation. Upon receiving a CreateTable request, 842// DynamoDB immediately returns a response with a TableStatus of CREATING. After 843// the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform 844// read and write operations only on an ACTIVE table. 845// 846// You can optionally define secondary indexes on the new table, as part of 847// the CreateTable operation. If you want to create multiple tables with secondary 848// indexes on them, you must create the tables sequentially. Only one table 849// with secondary indexes can be in the CREATING state at any given time. 850// 851// You can use the DescribeTable action to check the table status. 852// 853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 854// with awserr.Error's Code and Message methods to get detailed information about 855// the error. 856// 857// See the AWS API reference guide for Amazon DynamoDB's 858// API operation CreateTable for usage and error information. 859// 860// Returned Error Types: 861// * ResourceInUseException 862// The operation conflicts with the resource's availability. For example, you 863// attempted to recreate an existing table, or tried to delete a table currently 864// in the CREATING state. 865// 866// * LimitExceededException 867// There is no limit to the number of daily on-demand backups that can be taken. 868// 869// Up to 50 simultaneous table operations are allowed per account. These operations 870// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 871// and RestoreTableToPointInTime. 872// 873// The only exception is when you are creating a table with one or more secondary 874// indexes. You can have up to 25 such requests running at a time; however, 875// if the table or index specifications are complex, DynamoDB might temporarily 876// reduce the number of concurrent operations. 877// 878// There is a soft account limit of 256 tables. 879// 880// * InternalServerError 881// An error occurred on the server side. 882// 883// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable 884func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { 885 req, out := c.CreateTableRequest(input) 886 return out, req.Send() 887} 888 889// CreateTableWithContext is the same as CreateTable with the addition of 890// the ability to pass a context and additional request options. 891// 892// See CreateTable for details on how to use this API operation. 893// 894// The context must be non-nil and will be used for request cancellation. If 895// the context is nil a panic will occur. In the future the SDK may create 896// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 897// for more information on using Contexts. 898func (c *DynamoDB) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) { 899 req, out := c.CreateTableRequest(input) 900 req.SetContext(ctx) 901 req.ApplyOptions(opts...) 902 return out, req.Send() 903} 904 905const opDeleteBackup = "DeleteBackup" 906 907// DeleteBackupRequest generates a "aws/request.Request" representing the 908// client's request for the DeleteBackup operation. The "output" return 909// value will be populated with the request's response once the request completes 910// successfully. 911// 912// Use "Send" method on the returned Request to send the API call to the service. 913// the "output" return value is not valid until after Send returns without error. 914// 915// See DeleteBackup for more information on using the DeleteBackup 916// API call, and error handling. 917// 918// This method is useful when you want to inject custom logic or configuration 919// into the SDK's request lifecycle. Such as custom headers, or retry logic. 920// 921// 922// // Example sending a request using the DeleteBackupRequest method. 923// req, resp := client.DeleteBackupRequest(params) 924// 925// err := req.Send() 926// if err == nil { // resp is now filled 927// fmt.Println(resp) 928// } 929// 930// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup 931func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) { 932 op := &request.Operation{ 933 Name: opDeleteBackup, 934 HTTPMethod: "POST", 935 HTTPPath: "/", 936 } 937 938 if input == nil { 939 input = &DeleteBackupInput{} 940 } 941 942 output = &DeleteBackupOutput{} 943 req = c.newRequest(op, input, output) 944 // if custom endpoint for the request is set to a non empty string, 945 // we skip the endpoint discovery workflow. 946 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 947 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 948 de := discovererDescribeEndpoints{ 949 Required: false, 950 EndpointCache: c.endpointCache, 951 Params: map[string]*string{ 952 "op": aws.String(req.Operation.Name), 953 }, 954 Client: c, 955 } 956 957 for k, v := range de.Params { 958 if v == nil { 959 delete(de.Params, k) 960 } 961 } 962 963 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 964 Name: "crr.endpointdiscovery", 965 Fn: de.Handler, 966 }) 967 } 968 } 969 return 970} 971 972// DeleteBackup API operation for Amazon DynamoDB. 973// 974// Deletes an existing backup of a table. 975// 976// You can call DeleteBackup at a maximum rate of 10 times per second. 977// 978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 979// with awserr.Error's Code and Message methods to get detailed information about 980// the error. 981// 982// See the AWS API reference guide for Amazon DynamoDB's 983// API operation DeleteBackup for usage and error information. 984// 985// Returned Error Types: 986// * BackupNotFoundException 987// Backup not found for the given BackupARN. 988// 989// * BackupInUseException 990// There is another ongoing conflicting backup control plane operation on the 991// table. The backup is either being created, deleted or restored to a table. 992// 993// * LimitExceededException 994// There is no limit to the number of daily on-demand backups that can be taken. 995// 996// Up to 50 simultaneous table operations are allowed per account. These operations 997// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 998// and RestoreTableToPointInTime. 999// 1000// The only exception is when you are creating a table with one or more secondary 1001// indexes. You can have up to 25 such requests running at a time; however, 1002// if the table or index specifications are complex, DynamoDB might temporarily 1003// reduce the number of concurrent operations. 1004// 1005// There is a soft account limit of 256 tables. 1006// 1007// * InternalServerError 1008// An error occurred on the server side. 1009// 1010// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup 1011func (c *DynamoDB) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) { 1012 req, out := c.DeleteBackupRequest(input) 1013 return out, req.Send() 1014} 1015 1016// DeleteBackupWithContext is the same as DeleteBackup with the addition of 1017// the ability to pass a context and additional request options. 1018// 1019// See DeleteBackup for details on how to use this API operation. 1020// 1021// The context must be non-nil and will be used for request cancellation. If 1022// the context is nil a panic will occur. In the future the SDK may create 1023// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1024// for more information on using Contexts. 1025func (c *DynamoDB) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) { 1026 req, out := c.DeleteBackupRequest(input) 1027 req.SetContext(ctx) 1028 req.ApplyOptions(opts...) 1029 return out, req.Send() 1030} 1031 1032const opDeleteItem = "DeleteItem" 1033 1034// DeleteItemRequest generates a "aws/request.Request" representing the 1035// client's request for the DeleteItem operation. The "output" return 1036// value will be populated with the request's response once the request completes 1037// successfully. 1038// 1039// Use "Send" method on the returned Request to send the API call to the service. 1040// the "output" return value is not valid until after Send returns without error. 1041// 1042// See DeleteItem for more information on using the DeleteItem 1043// API call, and error handling. 1044// 1045// This method is useful when you want to inject custom logic or configuration 1046// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1047// 1048// 1049// // Example sending a request using the DeleteItemRequest method. 1050// req, resp := client.DeleteItemRequest(params) 1051// 1052// err := req.Send() 1053// if err == nil { // resp is now filled 1054// fmt.Println(resp) 1055// } 1056// 1057// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem 1058func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Request, output *DeleteItemOutput) { 1059 op := &request.Operation{ 1060 Name: opDeleteItem, 1061 HTTPMethod: "POST", 1062 HTTPPath: "/", 1063 } 1064 1065 if input == nil { 1066 input = &DeleteItemInput{} 1067 } 1068 1069 output = &DeleteItemOutput{} 1070 req = c.newRequest(op, input, output) 1071 // if custom endpoint for the request is set to a non empty string, 1072 // we skip the endpoint discovery workflow. 1073 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1074 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1075 de := discovererDescribeEndpoints{ 1076 Required: false, 1077 EndpointCache: c.endpointCache, 1078 Params: map[string]*string{ 1079 "op": aws.String(req.Operation.Name), 1080 }, 1081 Client: c, 1082 } 1083 1084 for k, v := range de.Params { 1085 if v == nil { 1086 delete(de.Params, k) 1087 } 1088 } 1089 1090 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1091 Name: "crr.endpointdiscovery", 1092 Fn: de.Handler, 1093 }) 1094 } 1095 } 1096 return 1097} 1098 1099// DeleteItem API operation for Amazon DynamoDB. 1100// 1101// Deletes a single item in a table by primary key. You can perform a conditional 1102// delete operation that deletes the item if it exists, or if it has an expected 1103// attribute value. 1104// 1105// In addition to deleting an item, you can also return the item's attribute 1106// values in the same operation, using the ReturnValues parameter. 1107// 1108// Unless you specify conditions, the DeleteItem is an idempotent operation; 1109// running it multiple times on the same item or attribute does not result in 1110// an error response. 1111// 1112// Conditional deletes are useful for deleting items only if specific conditions 1113// are met. If those conditions are met, DynamoDB performs the delete. Otherwise, 1114// the item is not deleted. 1115// 1116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1117// with awserr.Error's Code and Message methods to get detailed information about 1118// the error. 1119// 1120// See the AWS API reference guide for Amazon DynamoDB's 1121// API operation DeleteItem for usage and error information. 1122// 1123// Returned Error Types: 1124// * ConditionalCheckFailedException 1125// A condition specified in the operation could not be evaluated. 1126// 1127// * ProvisionedThroughputExceededException 1128// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 1129// requests that receive this exception. Your request is eventually successful, 1130// unless your retry queue is too large to finish. Reduce the frequency of requests 1131// and use exponential backoff. For more information, go to Error Retries and 1132// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 1133// in the Amazon DynamoDB Developer Guide. 1134// 1135// * ResourceNotFoundException 1136// The operation tried to access a nonexistent table or index. The resource 1137// might not be specified correctly, or its status might not be ACTIVE. 1138// 1139// * ItemCollectionSizeLimitExceededException 1140// An item collection is too large. This exception is only returned for tables 1141// that have one or more local secondary indexes. 1142// 1143// * TransactionConflictException 1144// Operation was rejected because there is an ongoing transaction for the item. 1145// 1146// * RequestLimitExceeded 1147// Throughput exceeds the current throughput limit for your account. Please 1148// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 1149// a limit increase. 1150// 1151// * InternalServerError 1152// An error occurred on the server side. 1153// 1154// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem 1155func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) { 1156 req, out := c.DeleteItemRequest(input) 1157 return out, req.Send() 1158} 1159 1160// DeleteItemWithContext is the same as DeleteItem with the addition of 1161// the ability to pass a context and additional request options. 1162// 1163// See DeleteItem for details on how to use this API operation. 1164// 1165// The context must be non-nil and will be used for request cancellation. If 1166// the context is nil a panic will occur. In the future the SDK may create 1167// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1168// for more information on using Contexts. 1169func (c *DynamoDB) DeleteItemWithContext(ctx aws.Context, input *DeleteItemInput, opts ...request.Option) (*DeleteItemOutput, error) { 1170 req, out := c.DeleteItemRequest(input) 1171 req.SetContext(ctx) 1172 req.ApplyOptions(opts...) 1173 return out, req.Send() 1174} 1175 1176const opDeleteTable = "DeleteTable" 1177 1178// DeleteTableRequest generates a "aws/request.Request" representing the 1179// client's request for the DeleteTable operation. The "output" return 1180// value will be populated with the request's response once the request completes 1181// successfully. 1182// 1183// Use "Send" method on the returned Request to send the API call to the service. 1184// the "output" return value is not valid until after Send returns without error. 1185// 1186// See DeleteTable for more information on using the DeleteTable 1187// API call, and error handling. 1188// 1189// This method is useful when you want to inject custom logic or configuration 1190// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1191// 1192// 1193// // Example sending a request using the DeleteTableRequest method. 1194// req, resp := client.DeleteTableRequest(params) 1195// 1196// err := req.Send() 1197// if err == nil { // resp is now filled 1198// fmt.Println(resp) 1199// } 1200// 1201// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable 1202func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) { 1203 op := &request.Operation{ 1204 Name: opDeleteTable, 1205 HTTPMethod: "POST", 1206 HTTPPath: "/", 1207 } 1208 1209 if input == nil { 1210 input = &DeleteTableInput{} 1211 } 1212 1213 output = &DeleteTableOutput{} 1214 req = c.newRequest(op, input, output) 1215 // if custom endpoint for the request is set to a non empty string, 1216 // we skip the endpoint discovery workflow. 1217 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1218 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1219 de := discovererDescribeEndpoints{ 1220 Required: false, 1221 EndpointCache: c.endpointCache, 1222 Params: map[string]*string{ 1223 "op": aws.String(req.Operation.Name), 1224 }, 1225 Client: c, 1226 } 1227 1228 for k, v := range de.Params { 1229 if v == nil { 1230 delete(de.Params, k) 1231 } 1232 } 1233 1234 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1235 Name: "crr.endpointdiscovery", 1236 Fn: de.Handler, 1237 }) 1238 } 1239 } 1240 return 1241} 1242 1243// DeleteTable API operation for Amazon DynamoDB. 1244// 1245// The DeleteTable operation deletes a table and all of its items. After a DeleteTable 1246// request, the specified table is in the DELETING state until DynamoDB completes 1247// the deletion. If the table is in the ACTIVE state, you can delete it. If 1248// a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. 1249// If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. 1250// If table is already in the DELETING state, no error is returned. 1251// 1252// DynamoDB might continue to accept data read and write operations, such as 1253// GetItem and PutItem, on a table in the DELETING state until the table deletion 1254// is complete. 1255// 1256// When you delete a table, any indexes on that table are also deleted. 1257// 1258// If you have DynamoDB Streams enabled on the table, then the corresponding 1259// stream on that table goes into the DISABLED state, and the stream is automatically 1260// deleted after 24 hours. 1261// 1262// Use the DescribeTable action to check the status of the table. 1263// 1264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1265// with awserr.Error's Code and Message methods to get detailed information about 1266// the error. 1267// 1268// See the AWS API reference guide for Amazon DynamoDB's 1269// API operation DeleteTable for usage and error information. 1270// 1271// Returned Error Types: 1272// * ResourceInUseException 1273// The operation conflicts with the resource's availability. For example, you 1274// attempted to recreate an existing table, or tried to delete a table currently 1275// in the CREATING state. 1276// 1277// * ResourceNotFoundException 1278// The operation tried to access a nonexistent table or index. The resource 1279// might not be specified correctly, or its status might not be ACTIVE. 1280// 1281// * LimitExceededException 1282// There is no limit to the number of daily on-demand backups that can be taken. 1283// 1284// Up to 50 simultaneous table operations are allowed per account. These operations 1285// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 1286// and RestoreTableToPointInTime. 1287// 1288// The only exception is when you are creating a table with one or more secondary 1289// indexes. You can have up to 25 such requests running at a time; however, 1290// if the table or index specifications are complex, DynamoDB might temporarily 1291// reduce the number of concurrent operations. 1292// 1293// There is a soft account limit of 256 tables. 1294// 1295// * InternalServerError 1296// An error occurred on the server side. 1297// 1298// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable 1299func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { 1300 req, out := c.DeleteTableRequest(input) 1301 return out, req.Send() 1302} 1303 1304// DeleteTableWithContext is the same as DeleteTable with the addition of 1305// the ability to pass a context and additional request options. 1306// 1307// See DeleteTable for details on how to use this API operation. 1308// 1309// The context must be non-nil and will be used for request cancellation. If 1310// the context is nil a panic will occur. In the future the SDK may create 1311// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1312// for more information on using Contexts. 1313func (c *DynamoDB) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) { 1314 req, out := c.DeleteTableRequest(input) 1315 req.SetContext(ctx) 1316 req.ApplyOptions(opts...) 1317 return out, req.Send() 1318} 1319 1320const opDescribeBackup = "DescribeBackup" 1321 1322// DescribeBackupRequest generates a "aws/request.Request" representing the 1323// client's request for the DescribeBackup operation. The "output" return 1324// value will be populated with the request's response once the request completes 1325// successfully. 1326// 1327// Use "Send" method on the returned Request to send the API call to the service. 1328// the "output" return value is not valid until after Send returns without error. 1329// 1330// See DescribeBackup for more information on using the DescribeBackup 1331// API call, and error handling. 1332// 1333// This method is useful when you want to inject custom logic or configuration 1334// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1335// 1336// 1337// // Example sending a request using the DescribeBackupRequest method. 1338// req, resp := client.DescribeBackupRequest(params) 1339// 1340// err := req.Send() 1341// if err == nil { // resp is now filled 1342// fmt.Println(resp) 1343// } 1344// 1345// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup 1346func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *request.Request, output *DescribeBackupOutput) { 1347 op := &request.Operation{ 1348 Name: opDescribeBackup, 1349 HTTPMethod: "POST", 1350 HTTPPath: "/", 1351 } 1352 1353 if input == nil { 1354 input = &DescribeBackupInput{} 1355 } 1356 1357 output = &DescribeBackupOutput{} 1358 req = c.newRequest(op, input, output) 1359 // if custom endpoint for the request is set to a non empty string, 1360 // we skip the endpoint discovery workflow. 1361 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1362 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1363 de := discovererDescribeEndpoints{ 1364 Required: false, 1365 EndpointCache: c.endpointCache, 1366 Params: map[string]*string{ 1367 "op": aws.String(req.Operation.Name), 1368 }, 1369 Client: c, 1370 } 1371 1372 for k, v := range de.Params { 1373 if v == nil { 1374 delete(de.Params, k) 1375 } 1376 } 1377 1378 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1379 Name: "crr.endpointdiscovery", 1380 Fn: de.Handler, 1381 }) 1382 } 1383 } 1384 return 1385} 1386 1387// DescribeBackup API operation for Amazon DynamoDB. 1388// 1389// Describes an existing backup of a table. 1390// 1391// You can call DescribeBackup at a maximum rate of 10 times per second. 1392// 1393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1394// with awserr.Error's Code and Message methods to get detailed information about 1395// the error. 1396// 1397// See the AWS API reference guide for Amazon DynamoDB's 1398// API operation DescribeBackup for usage and error information. 1399// 1400// Returned Error Types: 1401// * BackupNotFoundException 1402// Backup not found for the given BackupARN. 1403// 1404// * InternalServerError 1405// An error occurred on the server side. 1406// 1407// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup 1408func (c *DynamoDB) DescribeBackup(input *DescribeBackupInput) (*DescribeBackupOutput, error) { 1409 req, out := c.DescribeBackupRequest(input) 1410 return out, req.Send() 1411} 1412 1413// DescribeBackupWithContext is the same as DescribeBackup with the addition of 1414// the ability to pass a context and additional request options. 1415// 1416// See DescribeBackup for details on how to use this API operation. 1417// 1418// The context must be non-nil and will be used for request cancellation. If 1419// the context is nil a panic will occur. In the future the SDK may create 1420// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1421// for more information on using Contexts. 1422func (c *DynamoDB) DescribeBackupWithContext(ctx aws.Context, input *DescribeBackupInput, opts ...request.Option) (*DescribeBackupOutput, error) { 1423 req, out := c.DescribeBackupRequest(input) 1424 req.SetContext(ctx) 1425 req.ApplyOptions(opts...) 1426 return out, req.Send() 1427} 1428 1429const opDescribeContinuousBackups = "DescribeContinuousBackups" 1430 1431// DescribeContinuousBackupsRequest generates a "aws/request.Request" representing the 1432// client's request for the DescribeContinuousBackups operation. The "output" return 1433// value will be populated with the request's response once the request completes 1434// successfully. 1435// 1436// Use "Send" method on the returned Request to send the API call to the service. 1437// the "output" return value is not valid until after Send returns without error. 1438// 1439// See DescribeContinuousBackups for more information on using the DescribeContinuousBackups 1440// API call, and error handling. 1441// 1442// This method is useful when you want to inject custom logic or configuration 1443// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1444// 1445// 1446// // Example sending a request using the DescribeContinuousBackupsRequest method. 1447// req, resp := client.DescribeContinuousBackupsRequest(params) 1448// 1449// err := req.Send() 1450// if err == nil { // resp is now filled 1451// fmt.Println(resp) 1452// } 1453// 1454// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups 1455func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBackupsInput) (req *request.Request, output *DescribeContinuousBackupsOutput) { 1456 op := &request.Operation{ 1457 Name: opDescribeContinuousBackups, 1458 HTTPMethod: "POST", 1459 HTTPPath: "/", 1460 } 1461 1462 if input == nil { 1463 input = &DescribeContinuousBackupsInput{} 1464 } 1465 1466 output = &DescribeContinuousBackupsOutput{} 1467 req = c.newRequest(op, input, output) 1468 // if custom endpoint for the request is set to a non empty string, 1469 // we skip the endpoint discovery workflow. 1470 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1471 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1472 de := discovererDescribeEndpoints{ 1473 Required: false, 1474 EndpointCache: c.endpointCache, 1475 Params: map[string]*string{ 1476 "op": aws.String(req.Operation.Name), 1477 }, 1478 Client: c, 1479 } 1480 1481 for k, v := range de.Params { 1482 if v == nil { 1483 delete(de.Params, k) 1484 } 1485 } 1486 1487 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1488 Name: "crr.endpointdiscovery", 1489 Fn: de.Handler, 1490 }) 1491 } 1492 } 1493 return 1494} 1495 1496// DescribeContinuousBackups API operation for Amazon DynamoDB. 1497// 1498// Checks the status of continuous backups and point in time recovery on the 1499// specified table. Continuous backups are ENABLED on all tables at table creation. 1500// If point in time recovery is enabled, PointInTimeRecoveryStatus will be set 1501// to ENABLED. 1502// 1503// After continuous backups and point in time recovery are enabled, you can 1504// restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. 1505// 1506// LatestRestorableDateTime is typically 5 minutes before the current time. 1507// You can restore your table to any point in time during the last 35 days. 1508// 1509// You can call DescribeContinuousBackups at a maximum rate of 10 times per 1510// second. 1511// 1512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1513// with awserr.Error's Code and Message methods to get detailed information about 1514// the error. 1515// 1516// See the AWS API reference guide for Amazon DynamoDB's 1517// API operation DescribeContinuousBackups for usage and error information. 1518// 1519// Returned Error Types: 1520// * TableNotFoundException 1521// A source table with the name TableName does not currently exist within the 1522// subscriber's account. 1523// 1524// * InternalServerError 1525// An error occurred on the server side. 1526// 1527// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups 1528func (c *DynamoDB) DescribeContinuousBackups(input *DescribeContinuousBackupsInput) (*DescribeContinuousBackupsOutput, error) { 1529 req, out := c.DescribeContinuousBackupsRequest(input) 1530 return out, req.Send() 1531} 1532 1533// DescribeContinuousBackupsWithContext is the same as DescribeContinuousBackups with the addition of 1534// the ability to pass a context and additional request options. 1535// 1536// See DescribeContinuousBackups for details on how to use this API operation. 1537// 1538// The context must be non-nil and will be used for request cancellation. If 1539// the context is nil a panic will occur. In the future the SDK may create 1540// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1541// for more information on using Contexts. 1542func (c *DynamoDB) DescribeContinuousBackupsWithContext(ctx aws.Context, input *DescribeContinuousBackupsInput, opts ...request.Option) (*DescribeContinuousBackupsOutput, error) { 1543 req, out := c.DescribeContinuousBackupsRequest(input) 1544 req.SetContext(ctx) 1545 req.ApplyOptions(opts...) 1546 return out, req.Send() 1547} 1548 1549const opDescribeContributorInsights = "DescribeContributorInsights" 1550 1551// DescribeContributorInsightsRequest generates a "aws/request.Request" representing the 1552// client's request for the DescribeContributorInsights operation. The "output" return 1553// value will be populated with the request's response once the request completes 1554// successfully. 1555// 1556// Use "Send" method on the returned Request to send the API call to the service. 1557// the "output" return value is not valid until after Send returns without error. 1558// 1559// See DescribeContributorInsights for more information on using the DescribeContributorInsights 1560// API call, and error handling. 1561// 1562// This method is useful when you want to inject custom logic or configuration 1563// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1564// 1565// 1566// // Example sending a request using the DescribeContributorInsightsRequest method. 1567// req, resp := client.DescribeContributorInsightsRequest(params) 1568// 1569// err := req.Send() 1570// if err == nil { // resp is now filled 1571// fmt.Println(resp) 1572// } 1573// 1574// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContributorInsights 1575func (c *DynamoDB) DescribeContributorInsightsRequest(input *DescribeContributorInsightsInput) (req *request.Request, output *DescribeContributorInsightsOutput) { 1576 op := &request.Operation{ 1577 Name: opDescribeContributorInsights, 1578 HTTPMethod: "POST", 1579 HTTPPath: "/", 1580 } 1581 1582 if input == nil { 1583 input = &DescribeContributorInsightsInput{} 1584 } 1585 1586 output = &DescribeContributorInsightsOutput{} 1587 req = c.newRequest(op, input, output) 1588 return 1589} 1590 1591// DescribeContributorInsights API operation for Amazon DynamoDB. 1592// 1593// Returns information about contributor insights, for a given table or global 1594// secondary index. 1595// 1596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1597// with awserr.Error's Code and Message methods to get detailed information about 1598// the error. 1599// 1600// See the AWS API reference guide for Amazon DynamoDB's 1601// API operation DescribeContributorInsights for usage and error information. 1602// 1603// Returned Error Types: 1604// * ResourceNotFoundException 1605// The operation tried to access a nonexistent table or index. The resource 1606// might not be specified correctly, or its status might not be ACTIVE. 1607// 1608// * InternalServerError 1609// An error occurred on the server side. 1610// 1611// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContributorInsights 1612func (c *DynamoDB) DescribeContributorInsights(input *DescribeContributorInsightsInput) (*DescribeContributorInsightsOutput, error) { 1613 req, out := c.DescribeContributorInsightsRequest(input) 1614 return out, req.Send() 1615} 1616 1617// DescribeContributorInsightsWithContext is the same as DescribeContributorInsights with the addition of 1618// the ability to pass a context and additional request options. 1619// 1620// See DescribeContributorInsights for details on how to use this API operation. 1621// 1622// The context must be non-nil and will be used for request cancellation. If 1623// the context is nil a panic will occur. In the future the SDK may create 1624// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1625// for more information on using Contexts. 1626func (c *DynamoDB) DescribeContributorInsightsWithContext(ctx aws.Context, input *DescribeContributorInsightsInput, opts ...request.Option) (*DescribeContributorInsightsOutput, error) { 1627 req, out := c.DescribeContributorInsightsRequest(input) 1628 req.SetContext(ctx) 1629 req.ApplyOptions(opts...) 1630 return out, req.Send() 1631} 1632 1633const opDescribeEndpoints = "DescribeEndpoints" 1634 1635// DescribeEndpointsRequest generates a "aws/request.Request" representing the 1636// client's request for the DescribeEndpoints operation. The "output" return 1637// value will be populated with the request's response once the request completes 1638// successfully. 1639// 1640// Use "Send" method on the returned Request to send the API call to the service. 1641// the "output" return value is not valid until after Send returns without error. 1642// 1643// See DescribeEndpoints for more information on using the DescribeEndpoints 1644// API call, and error handling. 1645// 1646// This method is useful when you want to inject custom logic or configuration 1647// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1648// 1649// 1650// // Example sending a request using the DescribeEndpointsRequest method. 1651// req, resp := client.DescribeEndpointsRequest(params) 1652// 1653// err := req.Send() 1654// if err == nil { // resp is now filled 1655// fmt.Println(resp) 1656// } 1657// 1658// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints 1659func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) { 1660 op := &request.Operation{ 1661 Name: opDescribeEndpoints, 1662 HTTPMethod: "POST", 1663 HTTPPath: "/", 1664 } 1665 1666 if input == nil { 1667 input = &DescribeEndpointsInput{} 1668 } 1669 1670 output = &DescribeEndpointsOutput{} 1671 req = c.newRequest(op, input, output) 1672 return 1673} 1674 1675// DescribeEndpoints API operation for Amazon DynamoDB. 1676// 1677// Returns the regional endpoint information. 1678// 1679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1680// with awserr.Error's Code and Message methods to get detailed information about 1681// the error. 1682// 1683// See the AWS API reference guide for Amazon DynamoDB's 1684// API operation DescribeEndpoints for usage and error information. 1685// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints 1686func (c *DynamoDB) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) { 1687 req, out := c.DescribeEndpointsRequest(input) 1688 return out, req.Send() 1689} 1690 1691// DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of 1692// the ability to pass a context and additional request options. 1693// 1694// See DescribeEndpoints for details on how to use this API operation. 1695// 1696// The context must be non-nil and will be used for request cancellation. If 1697// the context is nil a panic will occur. In the future the SDK may create 1698// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1699// for more information on using Contexts. 1700func (c *DynamoDB) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) { 1701 req, out := c.DescribeEndpointsRequest(input) 1702 req.SetContext(ctx) 1703 req.ApplyOptions(opts...) 1704 return out, req.Send() 1705} 1706 1707type discovererDescribeEndpoints struct { 1708 Client *DynamoDB 1709 Required bool 1710 EndpointCache *crr.EndpointCache 1711 Params map[string]*string 1712 Key string 1713 req *request.Request 1714} 1715 1716func (d *discovererDescribeEndpoints) Discover() (crr.Endpoint, error) { 1717 input := &DescribeEndpointsInput{} 1718 1719 resp, err := d.Client.DescribeEndpoints(input) 1720 if err != nil { 1721 return crr.Endpoint{}, err 1722 } 1723 1724 endpoint := crr.Endpoint{ 1725 Key: d.Key, 1726 } 1727 1728 for _, e := range resp.Endpoints { 1729 if e.Address == nil { 1730 continue 1731 } 1732 1733 address := *e.Address 1734 1735 var scheme string 1736 if idx := strings.Index(address, "://"); idx != -1 { 1737 scheme = address[:idx] 1738 } 1739 1740 if len(scheme) == 0 { 1741 address = fmt.Sprintf("%s://%s", d.req.HTTPRequest.URL.Scheme, address) 1742 } 1743 1744 cachedInMinutes := aws.Int64Value(e.CachePeriodInMinutes) 1745 u, err := url.Parse(address) 1746 if err != nil { 1747 continue 1748 } 1749 1750 addr := crr.WeightedAddress{ 1751 URL: u, 1752 Expired: time.Now().Add(time.Duration(cachedInMinutes) * time.Minute), 1753 } 1754 1755 endpoint.Add(addr) 1756 } 1757 1758 d.EndpointCache.Add(endpoint) 1759 1760 return endpoint, nil 1761} 1762 1763func (d *discovererDescribeEndpoints) Handler(r *request.Request) { 1764 endpointKey := crr.BuildEndpointKey(d.Params) 1765 d.Key = endpointKey 1766 d.req = r 1767 1768 endpoint, err := d.EndpointCache.Get(d, endpointKey, d.Required) 1769 if err != nil { 1770 r.Error = err 1771 return 1772 } 1773 1774 if endpoint.URL != nil && len(endpoint.URL.String()) > 0 { 1775 r.HTTPRequest.URL = endpoint.URL 1776 } 1777} 1778 1779const opDescribeGlobalTable = "DescribeGlobalTable" 1780 1781// DescribeGlobalTableRequest generates a "aws/request.Request" representing the 1782// client's request for the DescribeGlobalTable operation. The "output" return 1783// value will be populated with the request's response once the request completes 1784// successfully. 1785// 1786// Use "Send" method on the returned Request to send the API call to the service. 1787// the "output" return value is not valid until after Send returns without error. 1788// 1789// See DescribeGlobalTable for more information on using the DescribeGlobalTable 1790// API call, and error handling. 1791// 1792// This method is useful when you want to inject custom logic or configuration 1793// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1794// 1795// 1796// // Example sending a request using the DescribeGlobalTableRequest method. 1797// req, resp := client.DescribeGlobalTableRequest(params) 1798// 1799// err := req.Send() 1800// if err == nil { // resp is now filled 1801// fmt.Println(resp) 1802// } 1803// 1804// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable 1805func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) (req *request.Request, output *DescribeGlobalTableOutput) { 1806 op := &request.Operation{ 1807 Name: opDescribeGlobalTable, 1808 HTTPMethod: "POST", 1809 HTTPPath: "/", 1810 } 1811 1812 if input == nil { 1813 input = &DescribeGlobalTableInput{} 1814 } 1815 1816 output = &DescribeGlobalTableOutput{} 1817 req = c.newRequest(op, input, output) 1818 // if custom endpoint for the request is set to a non empty string, 1819 // we skip the endpoint discovery workflow. 1820 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1821 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1822 de := discovererDescribeEndpoints{ 1823 Required: false, 1824 EndpointCache: c.endpointCache, 1825 Params: map[string]*string{ 1826 "op": aws.String(req.Operation.Name), 1827 }, 1828 Client: c, 1829 } 1830 1831 for k, v := range de.Params { 1832 if v == nil { 1833 delete(de.Params, k) 1834 } 1835 } 1836 1837 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1838 Name: "crr.endpointdiscovery", 1839 Fn: de.Handler, 1840 }) 1841 } 1842 } 1843 return 1844} 1845 1846// DescribeGlobalTable API operation for Amazon DynamoDB. 1847// 1848// Returns information about the specified global table. 1849// 1850// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 1851// of global tables. If you are using global tables Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 1852// you can use DescribeTable (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html) 1853// instead. 1854// 1855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1856// with awserr.Error's Code and Message methods to get detailed information about 1857// the error. 1858// 1859// See the AWS API reference guide for Amazon DynamoDB's 1860// API operation DescribeGlobalTable for usage and error information. 1861// 1862// Returned Error Types: 1863// * InternalServerError 1864// An error occurred on the server side. 1865// 1866// * GlobalTableNotFoundException 1867// The specified global table does not exist. 1868// 1869// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable 1870func (c *DynamoDB) DescribeGlobalTable(input *DescribeGlobalTableInput) (*DescribeGlobalTableOutput, error) { 1871 req, out := c.DescribeGlobalTableRequest(input) 1872 return out, req.Send() 1873} 1874 1875// DescribeGlobalTableWithContext is the same as DescribeGlobalTable with the addition of 1876// the ability to pass a context and additional request options. 1877// 1878// See DescribeGlobalTable for details on how to use this API operation. 1879// 1880// The context must be non-nil and will be used for request cancellation. If 1881// the context is nil a panic will occur. In the future the SDK may create 1882// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1883// for more information on using Contexts. 1884func (c *DynamoDB) DescribeGlobalTableWithContext(ctx aws.Context, input *DescribeGlobalTableInput, opts ...request.Option) (*DescribeGlobalTableOutput, error) { 1885 req, out := c.DescribeGlobalTableRequest(input) 1886 req.SetContext(ctx) 1887 req.ApplyOptions(opts...) 1888 return out, req.Send() 1889} 1890 1891const opDescribeGlobalTableSettings = "DescribeGlobalTableSettings" 1892 1893// DescribeGlobalTableSettingsRequest generates a "aws/request.Request" representing the 1894// client's request for the DescribeGlobalTableSettings operation. The "output" return 1895// value will be populated with the request's response once the request completes 1896// successfully. 1897// 1898// Use "Send" method on the returned Request to send the API call to the service. 1899// the "output" return value is not valid until after Send returns without error. 1900// 1901// See DescribeGlobalTableSettings for more information on using the DescribeGlobalTableSettings 1902// API call, and error handling. 1903// 1904// This method is useful when you want to inject custom logic or configuration 1905// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1906// 1907// 1908// // Example sending a request using the DescribeGlobalTableSettingsRequest method. 1909// req, resp := client.DescribeGlobalTableSettingsRequest(params) 1910// 1911// err := req.Send() 1912// if err == nil { // resp is now filled 1913// fmt.Println(resp) 1914// } 1915// 1916// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings 1917func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTableSettingsInput) (req *request.Request, output *DescribeGlobalTableSettingsOutput) { 1918 op := &request.Operation{ 1919 Name: opDescribeGlobalTableSettings, 1920 HTTPMethod: "POST", 1921 HTTPPath: "/", 1922 } 1923 1924 if input == nil { 1925 input = &DescribeGlobalTableSettingsInput{} 1926 } 1927 1928 output = &DescribeGlobalTableSettingsOutput{} 1929 req = c.newRequest(op, input, output) 1930 // if custom endpoint for the request is set to a non empty string, 1931 // we skip the endpoint discovery workflow. 1932 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 1933 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 1934 de := discovererDescribeEndpoints{ 1935 Required: false, 1936 EndpointCache: c.endpointCache, 1937 Params: map[string]*string{ 1938 "op": aws.String(req.Operation.Name), 1939 }, 1940 Client: c, 1941 } 1942 1943 for k, v := range de.Params { 1944 if v == nil { 1945 delete(de.Params, k) 1946 } 1947 } 1948 1949 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 1950 Name: "crr.endpointdiscovery", 1951 Fn: de.Handler, 1952 }) 1953 } 1954 } 1955 return 1956} 1957 1958// DescribeGlobalTableSettings API operation for Amazon DynamoDB. 1959// 1960// Describes Region-specific settings for a global table. 1961// 1962// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 1963// of global tables. 1964// 1965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1966// with awserr.Error's Code and Message methods to get detailed information about 1967// the error. 1968// 1969// See the AWS API reference guide for Amazon DynamoDB's 1970// API operation DescribeGlobalTableSettings for usage and error information. 1971// 1972// Returned Error Types: 1973// * GlobalTableNotFoundException 1974// The specified global table does not exist. 1975// 1976// * InternalServerError 1977// An error occurred on the server side. 1978// 1979// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings 1980func (c *DynamoDB) DescribeGlobalTableSettings(input *DescribeGlobalTableSettingsInput) (*DescribeGlobalTableSettingsOutput, error) { 1981 req, out := c.DescribeGlobalTableSettingsRequest(input) 1982 return out, req.Send() 1983} 1984 1985// DescribeGlobalTableSettingsWithContext is the same as DescribeGlobalTableSettings with the addition of 1986// the ability to pass a context and additional request options. 1987// 1988// See DescribeGlobalTableSettings for details on how to use this API operation. 1989// 1990// The context must be non-nil and will be used for request cancellation. If 1991// the context is nil a panic will occur. In the future the SDK may create 1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1993// for more information on using Contexts. 1994func (c *DynamoDB) DescribeGlobalTableSettingsWithContext(ctx aws.Context, input *DescribeGlobalTableSettingsInput, opts ...request.Option) (*DescribeGlobalTableSettingsOutput, error) { 1995 req, out := c.DescribeGlobalTableSettingsRequest(input) 1996 req.SetContext(ctx) 1997 req.ApplyOptions(opts...) 1998 return out, req.Send() 1999} 2000 2001const opDescribeLimits = "DescribeLimits" 2002 2003// DescribeLimitsRequest generates a "aws/request.Request" representing the 2004// client's request for the DescribeLimits operation. The "output" return 2005// value will be populated with the request's response once the request completes 2006// successfully. 2007// 2008// Use "Send" method on the returned Request to send the API call to the service. 2009// the "output" return value is not valid until after Send returns without error. 2010// 2011// See DescribeLimits for more information on using the DescribeLimits 2012// API call, and error handling. 2013// 2014// This method is useful when you want to inject custom logic or configuration 2015// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2016// 2017// 2018// // Example sending a request using the DescribeLimitsRequest method. 2019// req, resp := client.DescribeLimitsRequest(params) 2020// 2021// err := req.Send() 2022// if err == nil { // resp is now filled 2023// fmt.Println(resp) 2024// } 2025// 2026// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits 2027func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *request.Request, output *DescribeLimitsOutput) { 2028 op := &request.Operation{ 2029 Name: opDescribeLimits, 2030 HTTPMethod: "POST", 2031 HTTPPath: "/", 2032 } 2033 2034 if input == nil { 2035 input = &DescribeLimitsInput{} 2036 } 2037 2038 output = &DescribeLimitsOutput{} 2039 req = c.newRequest(op, input, output) 2040 // if custom endpoint for the request is set to a non empty string, 2041 // we skip the endpoint discovery workflow. 2042 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2043 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2044 de := discovererDescribeEndpoints{ 2045 Required: false, 2046 EndpointCache: c.endpointCache, 2047 Params: map[string]*string{ 2048 "op": aws.String(req.Operation.Name), 2049 }, 2050 Client: c, 2051 } 2052 2053 for k, v := range de.Params { 2054 if v == nil { 2055 delete(de.Params, k) 2056 } 2057 } 2058 2059 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2060 Name: "crr.endpointdiscovery", 2061 Fn: de.Handler, 2062 }) 2063 } 2064 } 2065 return 2066} 2067 2068// DescribeLimits API operation for Amazon DynamoDB. 2069// 2070// Returns the current provisioned-capacity limits for your AWS account in a 2071// Region, both for the Region as a whole and for any one DynamoDB table that 2072// you create there. 2073// 2074// When you establish an AWS account, the account has initial limits on the 2075// maximum read capacity units and write capacity units that you can provision 2076// across all of your DynamoDB tables in a given Region. Also, there are per-table 2077// limits that apply when you create a table there. For more information, see 2078// Limits (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 2079// page in the Amazon DynamoDB Developer Guide. 2080// 2081// Although you can increase these limits by filing a case at AWS Support Center 2082// (https://console.aws.amazon.com/support/home#/), obtaining the increase is 2083// not instantaneous. The DescribeLimits action lets you write code to compare 2084// the capacity you are currently using to those limits imposed by your account 2085// so that you have enough time to apply for an increase before you hit a limit. 2086// 2087// For example, you could use one of the AWS SDKs to do the following: 2088// 2089// Call DescribeLimits for a particular Region to obtain your current account 2090// limits on provisioned capacity there. 2091// 2092// Create a variable to hold the aggregate read capacity units provisioned for 2093// all your tables in that Region, and one to hold the aggregate write capacity 2094// units. Zero them both. 2095// 2096// Call ListTables to obtain a list of all your DynamoDB tables. 2097// 2098// For each table name listed by ListTables, do the following: 2099// 2100// * Call DescribeTable with the table name. 2101// 2102// * Use the data returned by DescribeTable to add the read capacity units 2103// and write capacity units provisioned for the table itself to your variables. 2104// 2105// * If the table has one or more global secondary indexes (GSIs), loop over 2106// these GSIs and add their provisioned capacity values to your variables 2107// as well. 2108// 2109// Report the account limits for that Region returned by DescribeLimits, along 2110// with the total current provisioned capacity levels you have calculated. 2111// 2112// This will let you see whether you are getting close to your account-level 2113// limits. 2114// 2115// The per-table limits apply only when you are creating a new table. They restrict 2116// the sum of the provisioned capacity of the new table itself and all its global 2117// secondary indexes. 2118// 2119// For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned 2120// capacity extremely rapidly. But the only upper limit that applies is that 2121// the aggregate provisioned capacity over all your tables and GSIs cannot exceed 2122// either of the per-account limits. 2123// 2124// DescribeLimits should only be called periodically. You can expect throttling 2125// errors if you call it more than once in a minute. 2126// 2127// The DescribeLimits Request element has no content. 2128// 2129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2130// with awserr.Error's Code and Message methods to get detailed information about 2131// the error. 2132// 2133// See the AWS API reference guide for Amazon DynamoDB's 2134// API operation DescribeLimits for usage and error information. 2135// 2136// Returned Error Types: 2137// * InternalServerError 2138// An error occurred on the server side. 2139// 2140// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits 2141func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOutput, error) { 2142 req, out := c.DescribeLimitsRequest(input) 2143 return out, req.Send() 2144} 2145 2146// DescribeLimitsWithContext is the same as DescribeLimits with the addition of 2147// the ability to pass a context and additional request options. 2148// 2149// See DescribeLimits for details on how to use this API operation. 2150// 2151// The context must be non-nil and will be used for request cancellation. If 2152// the context is nil a panic will occur. In the future the SDK may create 2153// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2154// for more information on using Contexts. 2155func (c *DynamoDB) DescribeLimitsWithContext(ctx aws.Context, input *DescribeLimitsInput, opts ...request.Option) (*DescribeLimitsOutput, error) { 2156 req, out := c.DescribeLimitsRequest(input) 2157 req.SetContext(ctx) 2158 req.ApplyOptions(opts...) 2159 return out, req.Send() 2160} 2161 2162const opDescribeTable = "DescribeTable" 2163 2164// DescribeTableRequest generates a "aws/request.Request" representing the 2165// client's request for the DescribeTable operation. The "output" return 2166// value will be populated with the request's response once the request completes 2167// successfully. 2168// 2169// Use "Send" method on the returned Request to send the API call to the service. 2170// the "output" return value is not valid until after Send returns without error. 2171// 2172// See DescribeTable for more information on using the DescribeTable 2173// API call, and error handling. 2174// 2175// This method is useful when you want to inject custom logic or configuration 2176// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2177// 2178// 2179// // Example sending a request using the DescribeTableRequest method. 2180// req, resp := client.DescribeTableRequest(params) 2181// 2182// err := req.Send() 2183// if err == nil { // resp is now filled 2184// fmt.Println(resp) 2185// } 2186// 2187// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable 2188func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request.Request, output *DescribeTableOutput) { 2189 op := &request.Operation{ 2190 Name: opDescribeTable, 2191 HTTPMethod: "POST", 2192 HTTPPath: "/", 2193 } 2194 2195 if input == nil { 2196 input = &DescribeTableInput{} 2197 } 2198 2199 output = &DescribeTableOutput{} 2200 req = c.newRequest(op, input, output) 2201 // if custom endpoint for the request is set to a non empty string, 2202 // we skip the endpoint discovery workflow. 2203 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2204 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2205 de := discovererDescribeEndpoints{ 2206 Required: false, 2207 EndpointCache: c.endpointCache, 2208 Params: map[string]*string{ 2209 "op": aws.String(req.Operation.Name), 2210 }, 2211 Client: c, 2212 } 2213 2214 for k, v := range de.Params { 2215 if v == nil { 2216 delete(de.Params, k) 2217 } 2218 } 2219 2220 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2221 Name: "crr.endpointdiscovery", 2222 Fn: de.Handler, 2223 }) 2224 } 2225 } 2226 return 2227} 2228 2229// DescribeTable API operation for Amazon DynamoDB. 2230// 2231// Returns information about the table, including the current status of the 2232// table, when it was created, the primary key schema, and any indexes on the 2233// table. 2234// 2235// If you issue a DescribeTable request immediately after a CreateTable request, 2236// DynamoDB might return a ResourceNotFoundException. This is because DescribeTable 2237// uses an eventually consistent query, and the metadata for your table might 2238// not be available at that moment. Wait for a few seconds, and then try the 2239// DescribeTable request again. 2240// 2241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2242// with awserr.Error's Code and Message methods to get detailed information about 2243// the error. 2244// 2245// See the AWS API reference guide for Amazon DynamoDB's 2246// API operation DescribeTable for usage and error information. 2247// 2248// Returned Error Types: 2249// * ResourceNotFoundException 2250// The operation tried to access a nonexistent table or index. The resource 2251// might not be specified correctly, or its status might not be ACTIVE. 2252// 2253// * InternalServerError 2254// An error occurred on the server side. 2255// 2256// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable 2257func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { 2258 req, out := c.DescribeTableRequest(input) 2259 return out, req.Send() 2260} 2261 2262// DescribeTableWithContext is the same as DescribeTable with the addition of 2263// the ability to pass a context and additional request options. 2264// 2265// See DescribeTable for details on how to use this API operation. 2266// 2267// The context must be non-nil and will be used for request cancellation. If 2268// the context is nil a panic will occur. In the future the SDK may create 2269// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2270// for more information on using Contexts. 2271func (c *DynamoDB) DescribeTableWithContext(ctx aws.Context, input *DescribeTableInput, opts ...request.Option) (*DescribeTableOutput, error) { 2272 req, out := c.DescribeTableRequest(input) 2273 req.SetContext(ctx) 2274 req.ApplyOptions(opts...) 2275 return out, req.Send() 2276} 2277 2278const opDescribeTableReplicaAutoScaling = "DescribeTableReplicaAutoScaling" 2279 2280// DescribeTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the 2281// client's request for the DescribeTableReplicaAutoScaling operation. The "output" return 2282// value will be populated with the request's response once the request completes 2283// successfully. 2284// 2285// Use "Send" method on the returned Request to send the API call to the service. 2286// the "output" return value is not valid until after Send returns without error. 2287// 2288// See DescribeTableReplicaAutoScaling for more information on using the DescribeTableReplicaAutoScaling 2289// API call, and error handling. 2290// 2291// This method is useful when you want to inject custom logic or configuration 2292// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2293// 2294// 2295// // Example sending a request using the DescribeTableReplicaAutoScalingRequest method. 2296// req, resp := client.DescribeTableReplicaAutoScalingRequest(params) 2297// 2298// err := req.Send() 2299// if err == nil { // resp is now filled 2300// fmt.Println(resp) 2301// } 2302// 2303// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling 2304func (c *DynamoDB) DescribeTableReplicaAutoScalingRequest(input *DescribeTableReplicaAutoScalingInput) (req *request.Request, output *DescribeTableReplicaAutoScalingOutput) { 2305 op := &request.Operation{ 2306 Name: opDescribeTableReplicaAutoScaling, 2307 HTTPMethod: "POST", 2308 HTTPPath: "/", 2309 } 2310 2311 if input == nil { 2312 input = &DescribeTableReplicaAutoScalingInput{} 2313 } 2314 2315 output = &DescribeTableReplicaAutoScalingOutput{} 2316 req = c.newRequest(op, input, output) 2317 return 2318} 2319 2320// DescribeTableReplicaAutoScaling API operation for Amazon DynamoDB. 2321// 2322// Describes auto scaling settings across replicas of the global table at once. 2323// 2324// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 2325// of global tables. 2326// 2327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2328// with awserr.Error's Code and Message methods to get detailed information about 2329// the error. 2330// 2331// See the AWS API reference guide for Amazon DynamoDB's 2332// API operation DescribeTableReplicaAutoScaling for usage and error information. 2333// 2334// Returned Error Types: 2335// * ResourceNotFoundException 2336// The operation tried to access a nonexistent table or index. The resource 2337// might not be specified correctly, or its status might not be ACTIVE. 2338// 2339// * InternalServerError 2340// An error occurred on the server side. 2341// 2342// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling 2343func (c *DynamoDB) DescribeTableReplicaAutoScaling(input *DescribeTableReplicaAutoScalingInput) (*DescribeTableReplicaAutoScalingOutput, error) { 2344 req, out := c.DescribeTableReplicaAutoScalingRequest(input) 2345 return out, req.Send() 2346} 2347 2348// DescribeTableReplicaAutoScalingWithContext is the same as DescribeTableReplicaAutoScaling with the addition of 2349// the ability to pass a context and additional request options. 2350// 2351// See DescribeTableReplicaAutoScaling for details on how to use this API operation. 2352// 2353// The context must be non-nil and will be used for request cancellation. If 2354// the context is nil a panic will occur. In the future the SDK may create 2355// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2356// for more information on using Contexts. 2357func (c *DynamoDB) DescribeTableReplicaAutoScalingWithContext(ctx aws.Context, input *DescribeTableReplicaAutoScalingInput, opts ...request.Option) (*DescribeTableReplicaAutoScalingOutput, error) { 2358 req, out := c.DescribeTableReplicaAutoScalingRequest(input) 2359 req.SetContext(ctx) 2360 req.ApplyOptions(opts...) 2361 return out, req.Send() 2362} 2363 2364const opDescribeTimeToLive = "DescribeTimeToLive" 2365 2366// DescribeTimeToLiveRequest generates a "aws/request.Request" representing the 2367// client's request for the DescribeTimeToLive operation. The "output" return 2368// value will be populated with the request's response once the request completes 2369// successfully. 2370// 2371// Use "Send" method on the returned Request to send the API call to the service. 2372// the "output" return value is not valid until after Send returns without error. 2373// 2374// See DescribeTimeToLive for more information on using the DescribeTimeToLive 2375// API call, and error handling. 2376// 2377// This method is useful when you want to inject custom logic or configuration 2378// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2379// 2380// 2381// // Example sending a request using the DescribeTimeToLiveRequest method. 2382// req, resp := client.DescribeTimeToLiveRequest(params) 2383// 2384// err := req.Send() 2385// if err == nil { // resp is now filled 2386// fmt.Println(resp) 2387// } 2388// 2389// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive 2390func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (req *request.Request, output *DescribeTimeToLiveOutput) { 2391 op := &request.Operation{ 2392 Name: opDescribeTimeToLive, 2393 HTTPMethod: "POST", 2394 HTTPPath: "/", 2395 } 2396 2397 if input == nil { 2398 input = &DescribeTimeToLiveInput{} 2399 } 2400 2401 output = &DescribeTimeToLiveOutput{} 2402 req = c.newRequest(op, input, output) 2403 // if custom endpoint for the request is set to a non empty string, 2404 // we skip the endpoint discovery workflow. 2405 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2406 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2407 de := discovererDescribeEndpoints{ 2408 Required: false, 2409 EndpointCache: c.endpointCache, 2410 Params: map[string]*string{ 2411 "op": aws.String(req.Operation.Name), 2412 }, 2413 Client: c, 2414 } 2415 2416 for k, v := range de.Params { 2417 if v == nil { 2418 delete(de.Params, k) 2419 } 2420 } 2421 2422 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2423 Name: "crr.endpointdiscovery", 2424 Fn: de.Handler, 2425 }) 2426 } 2427 } 2428 return 2429} 2430 2431// DescribeTimeToLive API operation for Amazon DynamoDB. 2432// 2433// Gives a description of the Time to Live (TTL) status on the specified table. 2434// 2435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2436// with awserr.Error's Code and Message methods to get detailed information about 2437// the error. 2438// 2439// See the AWS API reference guide for Amazon DynamoDB's 2440// API operation DescribeTimeToLive for usage and error information. 2441// 2442// Returned Error Types: 2443// * ResourceNotFoundException 2444// The operation tried to access a nonexistent table or index. The resource 2445// might not be specified correctly, or its status might not be ACTIVE. 2446// 2447// * InternalServerError 2448// An error occurred on the server side. 2449// 2450// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive 2451func (c *DynamoDB) DescribeTimeToLive(input *DescribeTimeToLiveInput) (*DescribeTimeToLiveOutput, error) { 2452 req, out := c.DescribeTimeToLiveRequest(input) 2453 return out, req.Send() 2454} 2455 2456// DescribeTimeToLiveWithContext is the same as DescribeTimeToLive with the addition of 2457// the ability to pass a context and additional request options. 2458// 2459// See DescribeTimeToLive for details on how to use this API operation. 2460// 2461// The context must be non-nil and will be used for request cancellation. If 2462// the context is nil a panic will occur. In the future the SDK may create 2463// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2464// for more information on using Contexts. 2465func (c *DynamoDB) DescribeTimeToLiveWithContext(ctx aws.Context, input *DescribeTimeToLiveInput, opts ...request.Option) (*DescribeTimeToLiveOutput, error) { 2466 req, out := c.DescribeTimeToLiveRequest(input) 2467 req.SetContext(ctx) 2468 req.ApplyOptions(opts...) 2469 return out, req.Send() 2470} 2471 2472const opGetItem = "GetItem" 2473 2474// GetItemRequest generates a "aws/request.Request" representing the 2475// client's request for the GetItem operation. The "output" return 2476// value will be populated with the request's response once the request completes 2477// successfully. 2478// 2479// Use "Send" method on the returned Request to send the API call to the service. 2480// the "output" return value is not valid until after Send returns without error. 2481// 2482// See GetItem for more information on using the GetItem 2483// API call, and error handling. 2484// 2485// This method is useful when you want to inject custom logic or configuration 2486// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2487// 2488// 2489// // Example sending a request using the GetItemRequest method. 2490// req, resp := client.GetItemRequest(params) 2491// 2492// err := req.Send() 2493// if err == nil { // resp is now filled 2494// fmt.Println(resp) 2495// } 2496// 2497// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem 2498func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) { 2499 op := &request.Operation{ 2500 Name: opGetItem, 2501 HTTPMethod: "POST", 2502 HTTPPath: "/", 2503 } 2504 2505 if input == nil { 2506 input = &GetItemInput{} 2507 } 2508 2509 output = &GetItemOutput{} 2510 req = c.newRequest(op, input, output) 2511 // if custom endpoint for the request is set to a non empty string, 2512 // we skip the endpoint discovery workflow. 2513 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2514 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2515 de := discovererDescribeEndpoints{ 2516 Required: false, 2517 EndpointCache: c.endpointCache, 2518 Params: map[string]*string{ 2519 "op": aws.String(req.Operation.Name), 2520 }, 2521 Client: c, 2522 } 2523 2524 for k, v := range de.Params { 2525 if v == nil { 2526 delete(de.Params, k) 2527 } 2528 } 2529 2530 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2531 Name: "crr.endpointdiscovery", 2532 Fn: de.Handler, 2533 }) 2534 } 2535 } 2536 return 2537} 2538 2539// GetItem API operation for Amazon DynamoDB. 2540// 2541// The GetItem operation returns a set of attributes for the item with the given 2542// primary key. If there is no matching item, GetItem does not return any data 2543// and there will be no Item element in the response. 2544// 2545// GetItem provides an eventually consistent read by default. If your application 2546// requires a strongly consistent read, set ConsistentRead to true. Although 2547// a strongly consistent read might take more time than an eventually consistent 2548// read, it always returns the last updated value. 2549// 2550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2551// with awserr.Error's Code and Message methods to get detailed information about 2552// the error. 2553// 2554// See the AWS API reference guide for Amazon DynamoDB's 2555// API operation GetItem for usage and error information. 2556// 2557// Returned Error Types: 2558// * ProvisionedThroughputExceededException 2559// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 2560// requests that receive this exception. Your request is eventually successful, 2561// unless your retry queue is too large to finish. Reduce the frequency of requests 2562// and use exponential backoff. For more information, go to Error Retries and 2563// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 2564// in the Amazon DynamoDB Developer Guide. 2565// 2566// * ResourceNotFoundException 2567// The operation tried to access a nonexistent table or index. The resource 2568// might not be specified correctly, or its status might not be ACTIVE. 2569// 2570// * RequestLimitExceeded 2571// Throughput exceeds the current throughput limit for your account. Please 2572// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 2573// a limit increase. 2574// 2575// * InternalServerError 2576// An error occurred on the server side. 2577// 2578// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem 2579func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { 2580 req, out := c.GetItemRequest(input) 2581 return out, req.Send() 2582} 2583 2584// GetItemWithContext is the same as GetItem with the addition of 2585// the ability to pass a context and additional request options. 2586// 2587// See GetItem for details on how to use this API operation. 2588// 2589// The context must be non-nil and will be used for request cancellation. If 2590// the context is nil a panic will occur. In the future the SDK may create 2591// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2592// for more information on using Contexts. 2593func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) { 2594 req, out := c.GetItemRequest(input) 2595 req.SetContext(ctx) 2596 req.ApplyOptions(opts...) 2597 return out, req.Send() 2598} 2599 2600const opListBackups = "ListBackups" 2601 2602// ListBackupsRequest generates a "aws/request.Request" representing the 2603// client's request for the ListBackups operation. The "output" return 2604// value will be populated with the request's response once the request completes 2605// successfully. 2606// 2607// Use "Send" method on the returned Request to send the API call to the service. 2608// the "output" return value is not valid until after Send returns without error. 2609// 2610// See ListBackups for more information on using the ListBackups 2611// API call, and error handling. 2612// 2613// This method is useful when you want to inject custom logic or configuration 2614// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2615// 2616// 2617// // Example sending a request using the ListBackupsRequest method. 2618// req, resp := client.ListBackupsRequest(params) 2619// 2620// err := req.Send() 2621// if err == nil { // resp is now filled 2622// fmt.Println(resp) 2623// } 2624// 2625// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups 2626func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) { 2627 op := &request.Operation{ 2628 Name: opListBackups, 2629 HTTPMethod: "POST", 2630 HTTPPath: "/", 2631 } 2632 2633 if input == nil { 2634 input = &ListBackupsInput{} 2635 } 2636 2637 output = &ListBackupsOutput{} 2638 req = c.newRequest(op, input, output) 2639 // if custom endpoint for the request is set to a non empty string, 2640 // we skip the endpoint discovery workflow. 2641 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2642 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2643 de := discovererDescribeEndpoints{ 2644 Required: false, 2645 EndpointCache: c.endpointCache, 2646 Params: map[string]*string{ 2647 "op": aws.String(req.Operation.Name), 2648 }, 2649 Client: c, 2650 } 2651 2652 for k, v := range de.Params { 2653 if v == nil { 2654 delete(de.Params, k) 2655 } 2656 } 2657 2658 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2659 Name: "crr.endpointdiscovery", 2660 Fn: de.Handler, 2661 }) 2662 } 2663 } 2664 return 2665} 2666 2667// ListBackups API operation for Amazon DynamoDB. 2668// 2669// List backups associated with an AWS account. To list backups for a given 2670// table, specify TableName. ListBackups returns a paginated list of results 2671// with at most 1 MB worth of items in a page. You can also specify a limit 2672// for the maximum number of entries to be returned in a page. 2673// 2674// In the request, start time is inclusive, but end time is exclusive. Note 2675// that these limits are for the time at which the original backup was requested. 2676// 2677// You can call ListBackups a maximum of five times per second. 2678// 2679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2680// with awserr.Error's Code and Message methods to get detailed information about 2681// the error. 2682// 2683// See the AWS API reference guide for Amazon DynamoDB's 2684// API operation ListBackups for usage and error information. 2685// 2686// Returned Error Types: 2687// * InternalServerError 2688// An error occurred on the server side. 2689// 2690// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups 2691func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) { 2692 req, out := c.ListBackupsRequest(input) 2693 return out, req.Send() 2694} 2695 2696// ListBackupsWithContext is the same as ListBackups with the addition of 2697// the ability to pass a context and additional request options. 2698// 2699// See ListBackups for details on how to use this API operation. 2700// 2701// The context must be non-nil and will be used for request cancellation. If 2702// the context is nil a panic will occur. In the future the SDK may create 2703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2704// for more information on using Contexts. 2705func (c *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) { 2706 req, out := c.ListBackupsRequest(input) 2707 req.SetContext(ctx) 2708 req.ApplyOptions(opts...) 2709 return out, req.Send() 2710} 2711 2712const opListContributorInsights = "ListContributorInsights" 2713 2714// ListContributorInsightsRequest generates a "aws/request.Request" representing the 2715// client's request for the ListContributorInsights operation. The "output" return 2716// value will be populated with the request's response once the request completes 2717// successfully. 2718// 2719// Use "Send" method on the returned Request to send the API call to the service. 2720// the "output" return value is not valid until after Send returns without error. 2721// 2722// See ListContributorInsights for more information on using the ListContributorInsights 2723// API call, and error handling. 2724// 2725// This method is useful when you want to inject custom logic or configuration 2726// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2727// 2728// 2729// // Example sending a request using the ListContributorInsightsRequest method. 2730// req, resp := client.ListContributorInsightsRequest(params) 2731// 2732// err := req.Send() 2733// if err == nil { // resp is now filled 2734// fmt.Println(resp) 2735// } 2736// 2737// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights 2738func (c *DynamoDB) ListContributorInsightsRequest(input *ListContributorInsightsInput) (req *request.Request, output *ListContributorInsightsOutput) { 2739 op := &request.Operation{ 2740 Name: opListContributorInsights, 2741 HTTPMethod: "POST", 2742 HTTPPath: "/", 2743 Paginator: &request.Paginator{ 2744 InputTokens: []string{"NextToken"}, 2745 OutputTokens: []string{"NextToken"}, 2746 LimitToken: "MaxResults", 2747 TruncationToken: "", 2748 }, 2749 } 2750 2751 if input == nil { 2752 input = &ListContributorInsightsInput{} 2753 } 2754 2755 output = &ListContributorInsightsOutput{} 2756 req = c.newRequest(op, input, output) 2757 return 2758} 2759 2760// ListContributorInsights API operation for Amazon DynamoDB. 2761// 2762// Returns a list of ContributorInsightsSummary for a table and all its global 2763// secondary indexes. 2764// 2765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2766// with awserr.Error's Code and Message methods to get detailed information about 2767// the error. 2768// 2769// See the AWS API reference guide for Amazon DynamoDB's 2770// API operation ListContributorInsights for usage and error information. 2771// 2772// Returned Error Types: 2773// * ResourceNotFoundException 2774// The operation tried to access a nonexistent table or index. The resource 2775// might not be specified correctly, or its status might not be ACTIVE. 2776// 2777// * InternalServerError 2778// An error occurred on the server side. 2779// 2780// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights 2781func (c *DynamoDB) ListContributorInsights(input *ListContributorInsightsInput) (*ListContributorInsightsOutput, error) { 2782 req, out := c.ListContributorInsightsRequest(input) 2783 return out, req.Send() 2784} 2785 2786// ListContributorInsightsWithContext is the same as ListContributorInsights with the addition of 2787// the ability to pass a context and additional request options. 2788// 2789// See ListContributorInsights for details on how to use this API operation. 2790// 2791// The context must be non-nil and will be used for request cancellation. If 2792// the context is nil a panic will occur. In the future the SDK may create 2793// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2794// for more information on using Contexts. 2795func (c *DynamoDB) ListContributorInsightsWithContext(ctx aws.Context, input *ListContributorInsightsInput, opts ...request.Option) (*ListContributorInsightsOutput, error) { 2796 req, out := c.ListContributorInsightsRequest(input) 2797 req.SetContext(ctx) 2798 req.ApplyOptions(opts...) 2799 return out, req.Send() 2800} 2801 2802// ListContributorInsightsPages iterates over the pages of a ListContributorInsights operation, 2803// calling the "fn" function with the response data for each page. To stop 2804// iterating, return false from the fn function. 2805// 2806// See ListContributorInsights method for more information on how to use this operation. 2807// 2808// Note: This operation can generate multiple requests to a service. 2809// 2810// // Example iterating over at most 3 pages of a ListContributorInsights operation. 2811// pageNum := 0 2812// err := client.ListContributorInsightsPages(params, 2813// func(page *dynamodb.ListContributorInsightsOutput, lastPage bool) bool { 2814// pageNum++ 2815// fmt.Println(page) 2816// return pageNum <= 3 2817// }) 2818// 2819func (c *DynamoDB) ListContributorInsightsPages(input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool) error { 2820 return c.ListContributorInsightsPagesWithContext(aws.BackgroundContext(), input, fn) 2821} 2822 2823// ListContributorInsightsPagesWithContext same as ListContributorInsightsPages except 2824// it takes a Context and allows setting request options on the pages. 2825// 2826// The context must be non-nil and will be used for request cancellation. If 2827// the context is nil a panic will occur. In the future the SDK may create 2828// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2829// for more information on using Contexts. 2830func (c *DynamoDB) ListContributorInsightsPagesWithContext(ctx aws.Context, input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool, opts ...request.Option) error { 2831 p := request.Pagination{ 2832 NewRequest: func() (*request.Request, error) { 2833 var inCpy *ListContributorInsightsInput 2834 if input != nil { 2835 tmp := *input 2836 inCpy = &tmp 2837 } 2838 req, _ := c.ListContributorInsightsRequest(inCpy) 2839 req.SetContext(ctx) 2840 req.ApplyOptions(opts...) 2841 return req, nil 2842 }, 2843 } 2844 2845 for p.Next() { 2846 if !fn(p.Page().(*ListContributorInsightsOutput), !p.HasNextPage()) { 2847 break 2848 } 2849 } 2850 2851 return p.Err() 2852} 2853 2854const opListGlobalTables = "ListGlobalTables" 2855 2856// ListGlobalTablesRequest generates a "aws/request.Request" representing the 2857// client's request for the ListGlobalTables operation. The "output" return 2858// value will be populated with the request's response once the request completes 2859// successfully. 2860// 2861// Use "Send" method on the returned Request to send the API call to the service. 2862// the "output" return value is not valid until after Send returns without error. 2863// 2864// See ListGlobalTables for more information on using the ListGlobalTables 2865// API call, and error handling. 2866// 2867// This method is useful when you want to inject custom logic or configuration 2868// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2869// 2870// 2871// // Example sending a request using the ListGlobalTablesRequest method. 2872// req, resp := client.ListGlobalTablesRequest(params) 2873// 2874// err := req.Send() 2875// if err == nil { // resp is now filled 2876// fmt.Println(resp) 2877// } 2878// 2879// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables 2880func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) { 2881 op := &request.Operation{ 2882 Name: opListGlobalTables, 2883 HTTPMethod: "POST", 2884 HTTPPath: "/", 2885 } 2886 2887 if input == nil { 2888 input = &ListGlobalTablesInput{} 2889 } 2890 2891 output = &ListGlobalTablesOutput{} 2892 req = c.newRequest(op, input, output) 2893 // if custom endpoint for the request is set to a non empty string, 2894 // we skip the endpoint discovery workflow. 2895 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 2896 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 2897 de := discovererDescribeEndpoints{ 2898 Required: false, 2899 EndpointCache: c.endpointCache, 2900 Params: map[string]*string{ 2901 "op": aws.String(req.Operation.Name), 2902 }, 2903 Client: c, 2904 } 2905 2906 for k, v := range de.Params { 2907 if v == nil { 2908 delete(de.Params, k) 2909 } 2910 } 2911 2912 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 2913 Name: "crr.endpointdiscovery", 2914 Fn: de.Handler, 2915 }) 2916 } 2917 } 2918 return 2919} 2920 2921// ListGlobalTables API operation for Amazon DynamoDB. 2922// 2923// Lists all global tables that have a replica in the specified Region. 2924// 2925// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) 2926// of global tables. 2927// 2928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2929// with awserr.Error's Code and Message methods to get detailed information about 2930// the error. 2931// 2932// See the AWS API reference guide for Amazon DynamoDB's 2933// API operation ListGlobalTables for usage and error information. 2934// 2935// Returned Error Types: 2936// * InternalServerError 2937// An error occurred on the server side. 2938// 2939// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables 2940func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) { 2941 req, out := c.ListGlobalTablesRequest(input) 2942 return out, req.Send() 2943} 2944 2945// ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of 2946// the ability to pass a context and additional request options. 2947// 2948// See ListGlobalTables for details on how to use this API operation. 2949// 2950// The context must be non-nil and will be used for request cancellation. If 2951// the context is nil a panic will occur. In the future the SDK may create 2952// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2953// for more information on using Contexts. 2954func (c *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) { 2955 req, out := c.ListGlobalTablesRequest(input) 2956 req.SetContext(ctx) 2957 req.ApplyOptions(opts...) 2958 return out, req.Send() 2959} 2960 2961const opListTables = "ListTables" 2962 2963// ListTablesRequest generates a "aws/request.Request" representing the 2964// client's request for the ListTables operation. The "output" return 2965// value will be populated with the request's response once the request completes 2966// successfully. 2967// 2968// Use "Send" method on the returned Request to send the API call to the service. 2969// the "output" return value is not valid until after Send returns without error. 2970// 2971// See ListTables for more information on using the ListTables 2972// API call, and error handling. 2973// 2974// This method is useful when you want to inject custom logic or configuration 2975// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2976// 2977// 2978// // Example sending a request using the ListTablesRequest method. 2979// req, resp := client.ListTablesRequest(params) 2980// 2981// err := req.Send() 2982// if err == nil { // resp is now filled 2983// fmt.Println(resp) 2984// } 2985// 2986// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables 2987func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { 2988 op := &request.Operation{ 2989 Name: opListTables, 2990 HTTPMethod: "POST", 2991 HTTPPath: "/", 2992 Paginator: &request.Paginator{ 2993 InputTokens: []string{"ExclusiveStartTableName"}, 2994 OutputTokens: []string{"LastEvaluatedTableName"}, 2995 LimitToken: "Limit", 2996 TruncationToken: "", 2997 }, 2998 } 2999 3000 if input == nil { 3001 input = &ListTablesInput{} 3002 } 3003 3004 output = &ListTablesOutput{} 3005 req = c.newRequest(op, input, output) 3006 // if custom endpoint for the request is set to a non empty string, 3007 // we skip the endpoint discovery workflow. 3008 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3009 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3010 de := discovererDescribeEndpoints{ 3011 Required: false, 3012 EndpointCache: c.endpointCache, 3013 Params: map[string]*string{ 3014 "op": aws.String(req.Operation.Name), 3015 }, 3016 Client: c, 3017 } 3018 3019 for k, v := range de.Params { 3020 if v == nil { 3021 delete(de.Params, k) 3022 } 3023 } 3024 3025 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3026 Name: "crr.endpointdiscovery", 3027 Fn: de.Handler, 3028 }) 3029 } 3030 } 3031 return 3032} 3033 3034// ListTables API operation for Amazon DynamoDB. 3035// 3036// Returns an array of table names associated with the current account and endpoint. 3037// The output from ListTables is paginated, with each page returning a maximum 3038// of 100 table names. 3039// 3040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3041// with awserr.Error's Code and Message methods to get detailed information about 3042// the error. 3043// 3044// See the AWS API reference guide for Amazon DynamoDB's 3045// API operation ListTables for usage and error information. 3046// 3047// Returned Error Types: 3048// * InternalServerError 3049// An error occurred on the server side. 3050// 3051// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables 3052func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { 3053 req, out := c.ListTablesRequest(input) 3054 return out, req.Send() 3055} 3056 3057// ListTablesWithContext is the same as ListTables with the addition of 3058// the ability to pass a context and additional request options. 3059// 3060// See ListTables for details on how to use this API operation. 3061// 3062// The context must be non-nil and will be used for request cancellation. If 3063// the context is nil a panic will occur. In the future the SDK may create 3064// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3065// for more information on using Contexts. 3066func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) { 3067 req, out := c.ListTablesRequest(input) 3068 req.SetContext(ctx) 3069 req.ApplyOptions(opts...) 3070 return out, req.Send() 3071} 3072 3073// ListTablesPages iterates over the pages of a ListTables operation, 3074// calling the "fn" function with the response data for each page. To stop 3075// iterating, return false from the fn function. 3076// 3077// See ListTables method for more information on how to use this operation. 3078// 3079// Note: This operation can generate multiple requests to a service. 3080// 3081// // Example iterating over at most 3 pages of a ListTables operation. 3082// pageNum := 0 3083// err := client.ListTablesPages(params, 3084// func(page *dynamodb.ListTablesOutput, lastPage bool) bool { 3085// pageNum++ 3086// fmt.Println(page) 3087// return pageNum <= 3 3088// }) 3089// 3090func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error { 3091 return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn) 3092} 3093 3094// ListTablesPagesWithContext same as ListTablesPages except 3095// it takes a Context and allows setting request options on the pages. 3096// 3097// The context must be non-nil and will be used for request cancellation. If 3098// the context is nil a panic will occur. In the future the SDK may create 3099// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3100// for more information on using Contexts. 3101func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error { 3102 p := request.Pagination{ 3103 NewRequest: func() (*request.Request, error) { 3104 var inCpy *ListTablesInput 3105 if input != nil { 3106 tmp := *input 3107 inCpy = &tmp 3108 } 3109 req, _ := c.ListTablesRequest(inCpy) 3110 req.SetContext(ctx) 3111 req.ApplyOptions(opts...) 3112 return req, nil 3113 }, 3114 } 3115 3116 for p.Next() { 3117 if !fn(p.Page().(*ListTablesOutput), !p.HasNextPage()) { 3118 break 3119 } 3120 } 3121 3122 return p.Err() 3123} 3124 3125const opListTagsOfResource = "ListTagsOfResource" 3126 3127// ListTagsOfResourceRequest generates a "aws/request.Request" representing the 3128// client's request for the ListTagsOfResource operation. The "output" return 3129// value will be populated with the request's response once the request completes 3130// successfully. 3131// 3132// Use "Send" method on the returned Request to send the API call to the service. 3133// the "output" return value is not valid until after Send returns without error. 3134// 3135// See ListTagsOfResource for more information on using the ListTagsOfResource 3136// API call, and error handling. 3137// 3138// This method is useful when you want to inject custom logic or configuration 3139// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3140// 3141// 3142// // Example sending a request using the ListTagsOfResourceRequest method. 3143// req, resp := client.ListTagsOfResourceRequest(params) 3144// 3145// err := req.Send() 3146// if err == nil { // resp is now filled 3147// fmt.Println(resp) 3148// } 3149// 3150// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource 3151func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) { 3152 op := &request.Operation{ 3153 Name: opListTagsOfResource, 3154 HTTPMethod: "POST", 3155 HTTPPath: "/", 3156 } 3157 3158 if input == nil { 3159 input = &ListTagsOfResourceInput{} 3160 } 3161 3162 output = &ListTagsOfResourceOutput{} 3163 req = c.newRequest(op, input, output) 3164 // if custom endpoint for the request is set to a non empty string, 3165 // we skip the endpoint discovery workflow. 3166 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3167 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3168 de := discovererDescribeEndpoints{ 3169 Required: false, 3170 EndpointCache: c.endpointCache, 3171 Params: map[string]*string{ 3172 "op": aws.String(req.Operation.Name), 3173 }, 3174 Client: c, 3175 } 3176 3177 for k, v := range de.Params { 3178 if v == nil { 3179 delete(de.Params, k) 3180 } 3181 } 3182 3183 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3184 Name: "crr.endpointdiscovery", 3185 Fn: de.Handler, 3186 }) 3187 } 3188 } 3189 return 3190} 3191 3192// ListTagsOfResource API operation for Amazon DynamoDB. 3193// 3194// List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource 3195// up to 10 times per second, per account. 3196// 3197// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 3198// in the Amazon DynamoDB Developer Guide. 3199// 3200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3201// with awserr.Error's Code and Message methods to get detailed information about 3202// the error. 3203// 3204// See the AWS API reference guide for Amazon DynamoDB's 3205// API operation ListTagsOfResource for usage and error information. 3206// 3207// Returned Error Types: 3208// * ResourceNotFoundException 3209// The operation tried to access a nonexistent table or index. The resource 3210// might not be specified correctly, or its status might not be ACTIVE. 3211// 3212// * InternalServerError 3213// An error occurred on the server side. 3214// 3215// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource 3216func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) { 3217 req, out := c.ListTagsOfResourceRequest(input) 3218 return out, req.Send() 3219} 3220 3221// ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of 3222// the ability to pass a context and additional request options. 3223// 3224// See ListTagsOfResource for details on how to use this API operation. 3225// 3226// The context must be non-nil and will be used for request cancellation. If 3227// the context is nil a panic will occur. In the future the SDK may create 3228// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3229// for more information on using Contexts. 3230func (c *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) { 3231 req, out := c.ListTagsOfResourceRequest(input) 3232 req.SetContext(ctx) 3233 req.ApplyOptions(opts...) 3234 return out, req.Send() 3235} 3236 3237const opPutItem = "PutItem" 3238 3239// PutItemRequest generates a "aws/request.Request" representing the 3240// client's request for the PutItem operation. The "output" return 3241// value will be populated with the request's response once the request completes 3242// successfully. 3243// 3244// Use "Send" method on the returned Request to send the API call to the service. 3245// the "output" return value is not valid until after Send returns without error. 3246// 3247// See PutItem for more information on using the PutItem 3248// API call, and error handling. 3249// 3250// This method is useful when you want to inject custom logic or configuration 3251// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3252// 3253// 3254// // Example sending a request using the PutItemRequest method. 3255// req, resp := client.PutItemRequest(params) 3256// 3257// err := req.Send() 3258// if err == nil { // resp is now filled 3259// fmt.Println(resp) 3260// } 3261// 3262// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem 3263func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) { 3264 op := &request.Operation{ 3265 Name: opPutItem, 3266 HTTPMethod: "POST", 3267 HTTPPath: "/", 3268 } 3269 3270 if input == nil { 3271 input = &PutItemInput{} 3272 } 3273 3274 output = &PutItemOutput{} 3275 req = c.newRequest(op, input, output) 3276 // if custom endpoint for the request is set to a non empty string, 3277 // we skip the endpoint discovery workflow. 3278 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3279 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3280 de := discovererDescribeEndpoints{ 3281 Required: false, 3282 EndpointCache: c.endpointCache, 3283 Params: map[string]*string{ 3284 "op": aws.String(req.Operation.Name), 3285 }, 3286 Client: c, 3287 } 3288 3289 for k, v := range de.Params { 3290 if v == nil { 3291 delete(de.Params, k) 3292 } 3293 } 3294 3295 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3296 Name: "crr.endpointdiscovery", 3297 Fn: de.Handler, 3298 }) 3299 } 3300 } 3301 return 3302} 3303 3304// PutItem API operation for Amazon DynamoDB. 3305// 3306// Creates a new item, or replaces an old item with a new item. If an item that 3307// has the same primary key as the new item already exists in the specified 3308// table, the new item completely replaces the existing item. You can perform 3309// a conditional put operation (add a new item if one with the specified primary 3310// key doesn't exist), or replace an existing item if it has certain attribute 3311// values. You can return the item's attribute values in the same operation, 3312// using the ReturnValues parameter. 3313// 3314// This topic provides general information about the PutItem API. 3315// 3316// For information on how to call the PutItem API using the AWS SDK in specific 3317// languages, see the following: 3318// 3319// * PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) 3320// 3321// * PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) 3322// 3323// * PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) 3324// 3325// * PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) 3326// 3327// * PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) 3328// 3329// * PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) 3330// 3331// * PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) 3332// 3333// * PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) 3334// 3335// * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) 3336// 3337// When you add an item, the primary key attributes are the only required attributes. 3338// Attribute values cannot be null. 3339// 3340// Empty String and Binary attribute values are allowed. Attribute values of 3341// type String and Binary must have a length greater than zero if the attribute 3342// is used as a key attribute for a table or index. Set type attributes cannot 3343// be empty. 3344// 3345// Invalid Requests with empty values will be rejected with a ValidationException 3346// exception. 3347// 3348// To prevent a new item from replacing an existing item, use a conditional 3349// expression that contains the attribute_not_exists function with the name 3350// of the attribute being used as the partition key for the table. Since every 3351// record must contain that attribute, the attribute_not_exists function will 3352// only succeed if no matching item exists. 3353// 3354// For more information about PutItem, see Working with Items (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) 3355// in the Amazon DynamoDB Developer Guide. 3356// 3357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3358// with awserr.Error's Code and Message methods to get detailed information about 3359// the error. 3360// 3361// See the AWS API reference guide for Amazon DynamoDB's 3362// API operation PutItem for usage and error information. 3363// 3364// Returned Error Types: 3365// * ConditionalCheckFailedException 3366// A condition specified in the operation could not be evaluated. 3367// 3368// * ProvisionedThroughputExceededException 3369// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 3370// requests that receive this exception. Your request is eventually successful, 3371// unless your retry queue is too large to finish. Reduce the frequency of requests 3372// and use exponential backoff. For more information, go to Error Retries and 3373// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 3374// in the Amazon DynamoDB Developer Guide. 3375// 3376// * ResourceNotFoundException 3377// The operation tried to access a nonexistent table or index. The resource 3378// might not be specified correctly, or its status might not be ACTIVE. 3379// 3380// * ItemCollectionSizeLimitExceededException 3381// An item collection is too large. This exception is only returned for tables 3382// that have one or more local secondary indexes. 3383// 3384// * TransactionConflictException 3385// Operation was rejected because there is an ongoing transaction for the item. 3386// 3387// * RequestLimitExceeded 3388// Throughput exceeds the current throughput limit for your account. Please 3389// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 3390// a limit increase. 3391// 3392// * InternalServerError 3393// An error occurred on the server side. 3394// 3395// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem 3396func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { 3397 req, out := c.PutItemRequest(input) 3398 return out, req.Send() 3399} 3400 3401// PutItemWithContext is the same as PutItem with the addition of 3402// the ability to pass a context and additional request options. 3403// 3404// See PutItem for details on how to use this API operation. 3405// 3406// The context must be non-nil and will be used for request cancellation. If 3407// the context is nil a panic will occur. In the future the SDK may create 3408// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3409// for more information on using Contexts. 3410func (c *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { 3411 req, out := c.PutItemRequest(input) 3412 req.SetContext(ctx) 3413 req.ApplyOptions(opts...) 3414 return out, req.Send() 3415} 3416 3417const opQuery = "Query" 3418 3419// QueryRequest generates a "aws/request.Request" representing the 3420// client's request for the Query operation. The "output" return 3421// value will be populated with the request's response once the request completes 3422// successfully. 3423// 3424// Use "Send" method on the returned Request to send the API call to the service. 3425// the "output" return value is not valid until after Send returns without error. 3426// 3427// See Query for more information on using the Query 3428// API call, and error handling. 3429// 3430// This method is useful when you want to inject custom logic or configuration 3431// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3432// 3433// 3434// // Example sending a request using the QueryRequest method. 3435// req, resp := client.QueryRequest(params) 3436// 3437// err := req.Send() 3438// if err == nil { // resp is now filled 3439// fmt.Println(resp) 3440// } 3441// 3442// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query 3443func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) { 3444 op := &request.Operation{ 3445 Name: opQuery, 3446 HTTPMethod: "POST", 3447 HTTPPath: "/", 3448 Paginator: &request.Paginator{ 3449 InputTokens: []string{"ExclusiveStartKey"}, 3450 OutputTokens: []string{"LastEvaluatedKey"}, 3451 LimitToken: "Limit", 3452 TruncationToken: "", 3453 }, 3454 } 3455 3456 if input == nil { 3457 input = &QueryInput{} 3458 } 3459 3460 output = &QueryOutput{} 3461 req = c.newRequest(op, input, output) 3462 // if custom endpoint for the request is set to a non empty string, 3463 // we skip the endpoint discovery workflow. 3464 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3465 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3466 de := discovererDescribeEndpoints{ 3467 Required: false, 3468 EndpointCache: c.endpointCache, 3469 Params: map[string]*string{ 3470 "op": aws.String(req.Operation.Name), 3471 }, 3472 Client: c, 3473 } 3474 3475 for k, v := range de.Params { 3476 if v == nil { 3477 delete(de.Params, k) 3478 } 3479 } 3480 3481 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3482 Name: "crr.endpointdiscovery", 3483 Fn: de.Handler, 3484 }) 3485 } 3486 } 3487 return 3488} 3489 3490// Query API operation for Amazon DynamoDB. 3491// 3492// The Query operation finds items based on primary key values. You can query 3493// any table or secondary index that has a composite primary key (a partition 3494// key and a sort key). 3495// 3496// Use the KeyConditionExpression parameter to provide a specific value for 3497// the partition key. The Query operation will return all of the items from 3498// the table or index with that partition key value. You can optionally narrow 3499// the scope of the Query operation by specifying a sort key value and a comparison 3500// operator in KeyConditionExpression. To further refine the Query results, 3501// you can optionally provide a FilterExpression. A FilterExpression determines 3502// which items within the results should be returned to you. All of the other 3503// results are discarded. 3504// 3505// A Query operation always returns a result set. If no matching items are found, 3506// the result set will be empty. Queries that do not return results consume 3507// the minimum number of read capacity units for that type of read operation. 3508// 3509// DynamoDB calculates the number of read capacity units consumed based on item 3510// size, not on the amount of data that is returned to an application. The number 3511// of capacity units consumed will be the same whether you request all of the 3512// attributes (the default behavior) or just some of them (using a projection 3513// expression). The number will also be the same whether or not you use a FilterExpression. 3514// 3515// Query results are always sorted by the sort key value. If the data type of 3516// the sort key is Number, the results are returned in numeric order; otherwise, 3517// the results are returned in order of UTF-8 bytes. By default, the sort order 3518// is ascending. To reverse the order, set the ScanIndexForward parameter to 3519// false. 3520// 3521// A single Query operation will read up to the maximum number of items set 3522// (if using the Limit parameter) or a maximum of 1 MB of data and then apply 3523// any filtering to the results using FilterExpression. If LastEvaluatedKey 3524// is present in the response, you will need to paginate the result set. For 3525// more information, see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) 3526// in the Amazon DynamoDB Developer Guide. 3527// 3528// FilterExpression is applied after a Query finishes, but before the results 3529// are returned. A FilterExpression cannot contain partition key or sort key 3530// attributes. You need to specify those attributes in the KeyConditionExpression. 3531// 3532// A Query operation can return an empty result set and a LastEvaluatedKey if 3533// all the items read for the page of results are filtered out. 3534// 3535// You can query a table, a local secondary index, or a global secondary index. 3536// For a query on a table or on a local secondary index, you can set the ConsistentRead 3537// parameter to true and obtain a strongly consistent result. Global secondary 3538// indexes support eventually consistent reads only, so do not specify ConsistentRead 3539// when querying a global secondary index. 3540// 3541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3542// with awserr.Error's Code and Message methods to get detailed information about 3543// the error. 3544// 3545// See the AWS API reference guide for Amazon DynamoDB's 3546// API operation Query for usage and error information. 3547// 3548// Returned Error Types: 3549// * ProvisionedThroughputExceededException 3550// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 3551// requests that receive this exception. Your request is eventually successful, 3552// unless your retry queue is too large to finish. Reduce the frequency of requests 3553// and use exponential backoff. For more information, go to Error Retries and 3554// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 3555// in the Amazon DynamoDB Developer Guide. 3556// 3557// * ResourceNotFoundException 3558// The operation tried to access a nonexistent table or index. The resource 3559// might not be specified correctly, or its status might not be ACTIVE. 3560// 3561// * RequestLimitExceeded 3562// Throughput exceeds the current throughput limit for your account. Please 3563// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 3564// a limit increase. 3565// 3566// * InternalServerError 3567// An error occurred on the server side. 3568// 3569// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query 3570func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) { 3571 req, out := c.QueryRequest(input) 3572 return out, req.Send() 3573} 3574 3575// QueryWithContext is the same as Query with the addition of 3576// the ability to pass a context and additional request options. 3577// 3578// See Query for details on how to use this API operation. 3579// 3580// The context must be non-nil and will be used for request cancellation. If 3581// the context is nil a panic will occur. In the future the SDK may create 3582// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3583// for more information on using Contexts. 3584func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) { 3585 req, out := c.QueryRequest(input) 3586 req.SetContext(ctx) 3587 req.ApplyOptions(opts...) 3588 return out, req.Send() 3589} 3590 3591// QueryPages iterates over the pages of a Query operation, 3592// calling the "fn" function with the response data for each page. To stop 3593// iterating, return false from the fn function. 3594// 3595// See Query method for more information on how to use this operation. 3596// 3597// Note: This operation can generate multiple requests to a service. 3598// 3599// // Example iterating over at most 3 pages of a Query operation. 3600// pageNum := 0 3601// err := client.QueryPages(params, 3602// func(page *dynamodb.QueryOutput, lastPage bool) bool { 3603// pageNum++ 3604// fmt.Println(page) 3605// return pageNum <= 3 3606// }) 3607// 3608func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error { 3609 return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn) 3610} 3611 3612// QueryPagesWithContext same as QueryPages except 3613// it takes a Context and allows setting request options on the pages. 3614// 3615// The context must be non-nil and will be used for request cancellation. If 3616// the context is nil a panic will occur. In the future the SDK may create 3617// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3618// for more information on using Contexts. 3619func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error { 3620 p := request.Pagination{ 3621 NewRequest: func() (*request.Request, error) { 3622 var inCpy *QueryInput 3623 if input != nil { 3624 tmp := *input 3625 inCpy = &tmp 3626 } 3627 req, _ := c.QueryRequest(inCpy) 3628 req.SetContext(ctx) 3629 req.ApplyOptions(opts...) 3630 return req, nil 3631 }, 3632 } 3633 3634 for p.Next() { 3635 if !fn(p.Page().(*QueryOutput), !p.HasNextPage()) { 3636 break 3637 } 3638 } 3639 3640 return p.Err() 3641} 3642 3643const opRestoreTableFromBackup = "RestoreTableFromBackup" 3644 3645// RestoreTableFromBackupRequest generates a "aws/request.Request" representing the 3646// client's request for the RestoreTableFromBackup operation. The "output" return 3647// value will be populated with the request's response once the request completes 3648// successfully. 3649// 3650// Use "Send" method on the returned Request to send the API call to the service. 3651// the "output" return value is not valid until after Send returns without error. 3652// 3653// See RestoreTableFromBackup for more information on using the RestoreTableFromBackup 3654// API call, and error handling. 3655// 3656// This method is useful when you want to inject custom logic or configuration 3657// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3658// 3659// 3660// // Example sending a request using the RestoreTableFromBackupRequest method. 3661// req, resp := client.RestoreTableFromBackupRequest(params) 3662// 3663// err := req.Send() 3664// if err == nil { // resp is now filled 3665// fmt.Println(resp) 3666// } 3667// 3668// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup 3669func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) { 3670 op := &request.Operation{ 3671 Name: opRestoreTableFromBackup, 3672 HTTPMethod: "POST", 3673 HTTPPath: "/", 3674 } 3675 3676 if input == nil { 3677 input = &RestoreTableFromBackupInput{} 3678 } 3679 3680 output = &RestoreTableFromBackupOutput{} 3681 req = c.newRequest(op, input, output) 3682 // if custom endpoint for the request is set to a non empty string, 3683 // we skip the endpoint discovery workflow. 3684 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3685 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3686 de := discovererDescribeEndpoints{ 3687 Required: false, 3688 EndpointCache: c.endpointCache, 3689 Params: map[string]*string{ 3690 "op": aws.String(req.Operation.Name), 3691 }, 3692 Client: c, 3693 } 3694 3695 for k, v := range de.Params { 3696 if v == nil { 3697 delete(de.Params, k) 3698 } 3699 } 3700 3701 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3702 Name: "crr.endpointdiscovery", 3703 Fn: de.Handler, 3704 }) 3705 } 3706 } 3707 return 3708} 3709 3710// RestoreTableFromBackup API operation for Amazon DynamoDB. 3711// 3712// Creates a new table from an existing backup. Any number of users can execute 3713// up to 4 concurrent restores (any type of restore) in a given account. 3714// 3715// You can call RestoreTableFromBackup at a maximum rate of 10 times per second. 3716// 3717// You must manually set up the following on the restored table: 3718// 3719// * Auto scaling policies 3720// 3721// * IAM policies 3722// 3723// * Amazon CloudWatch metrics and alarms 3724// 3725// * Tags 3726// 3727// * Stream settings 3728// 3729// * Time to Live (TTL) settings 3730// 3731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3732// with awserr.Error's Code and Message methods to get detailed information about 3733// the error. 3734// 3735// See the AWS API reference guide for Amazon DynamoDB's 3736// API operation RestoreTableFromBackup for usage and error information. 3737// 3738// Returned Error Types: 3739// * TableAlreadyExistsException 3740// A target table with the specified name already exists. 3741// 3742// * TableInUseException 3743// A target table with the specified name is either being created or deleted. 3744// 3745// * BackupNotFoundException 3746// Backup not found for the given BackupARN. 3747// 3748// * BackupInUseException 3749// There is another ongoing conflicting backup control plane operation on the 3750// table. The backup is either being created, deleted or restored to a table. 3751// 3752// * LimitExceededException 3753// There is no limit to the number of daily on-demand backups that can be taken. 3754// 3755// Up to 50 simultaneous table operations are allowed per account. These operations 3756// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 3757// and RestoreTableToPointInTime. 3758// 3759// The only exception is when you are creating a table with one or more secondary 3760// indexes. You can have up to 25 such requests running at a time; however, 3761// if the table or index specifications are complex, DynamoDB might temporarily 3762// reduce the number of concurrent operations. 3763// 3764// There is a soft account limit of 256 tables. 3765// 3766// * InternalServerError 3767// An error occurred on the server side. 3768// 3769// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup 3770func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) { 3771 req, out := c.RestoreTableFromBackupRequest(input) 3772 return out, req.Send() 3773} 3774 3775// RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup with the addition of 3776// the ability to pass a context and additional request options. 3777// 3778// See RestoreTableFromBackup for details on how to use this API operation. 3779// 3780// The context must be non-nil and will be used for request cancellation. If 3781// the context is nil a panic will occur. In the future the SDK may create 3782// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3783// for more information on using Contexts. 3784func (c *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) { 3785 req, out := c.RestoreTableFromBackupRequest(input) 3786 req.SetContext(ctx) 3787 req.ApplyOptions(opts...) 3788 return out, req.Send() 3789} 3790 3791const opRestoreTableToPointInTime = "RestoreTableToPointInTime" 3792 3793// RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the 3794// client's request for the RestoreTableToPointInTime operation. The "output" return 3795// value will be populated with the request's response once the request completes 3796// successfully. 3797// 3798// Use "Send" method on the returned Request to send the API call to the service. 3799// the "output" return value is not valid until after Send returns without error. 3800// 3801// See RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime 3802// API call, and error handling. 3803// 3804// This method is useful when you want to inject custom logic or configuration 3805// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3806// 3807// 3808// // Example sending a request using the RestoreTableToPointInTimeRequest method. 3809// req, resp := client.RestoreTableToPointInTimeRequest(params) 3810// 3811// err := req.Send() 3812// if err == nil { // resp is now filled 3813// fmt.Println(resp) 3814// } 3815// 3816// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime 3817func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) { 3818 op := &request.Operation{ 3819 Name: opRestoreTableToPointInTime, 3820 HTTPMethod: "POST", 3821 HTTPPath: "/", 3822 } 3823 3824 if input == nil { 3825 input = &RestoreTableToPointInTimeInput{} 3826 } 3827 3828 output = &RestoreTableToPointInTimeOutput{} 3829 req = c.newRequest(op, input, output) 3830 // if custom endpoint for the request is set to a non empty string, 3831 // we skip the endpoint discovery workflow. 3832 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 3833 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 3834 de := discovererDescribeEndpoints{ 3835 Required: false, 3836 EndpointCache: c.endpointCache, 3837 Params: map[string]*string{ 3838 "op": aws.String(req.Operation.Name), 3839 }, 3840 Client: c, 3841 } 3842 3843 for k, v := range de.Params { 3844 if v == nil { 3845 delete(de.Params, k) 3846 } 3847 } 3848 3849 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 3850 Name: "crr.endpointdiscovery", 3851 Fn: de.Handler, 3852 }) 3853 } 3854 } 3855 return 3856} 3857 3858// RestoreTableToPointInTime API operation for Amazon DynamoDB. 3859// 3860// Restores the specified table to the specified point in time within EarliestRestorableDateTime 3861// and LatestRestorableDateTime. You can restore your table to any point in 3862// time during the last 35 days. Any number of users can execute up to 4 concurrent 3863// restores (any type of restore) in a given account. 3864// 3865// When you restore using point in time recovery, DynamoDB restores your table 3866// data to the state based on the selected date and time (day:hour:minute:second) 3867// to a new table. 3868// 3869// Along with data, the following are also included on the new restored table 3870// using point in time recovery: 3871// 3872// * Global secondary indexes (GSIs) 3873// 3874// * Local secondary indexes (LSIs) 3875// 3876// * Provisioned read and write capacity 3877// 3878// * Encryption settings All these settings come from the current settings 3879// of the source table at the time of restore. 3880// 3881// You must manually set up the following on the restored table: 3882// 3883// * Auto scaling policies 3884// 3885// * IAM policies 3886// 3887// * Amazon CloudWatch metrics and alarms 3888// 3889// * Tags 3890// 3891// * Stream settings 3892// 3893// * Time to Live (TTL) settings 3894// 3895// * Point in time recovery settings 3896// 3897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3898// with awserr.Error's Code and Message methods to get detailed information about 3899// the error. 3900// 3901// See the AWS API reference guide for Amazon DynamoDB's 3902// API operation RestoreTableToPointInTime for usage and error information. 3903// 3904// Returned Error Types: 3905// * TableAlreadyExistsException 3906// A target table with the specified name already exists. 3907// 3908// * TableNotFoundException 3909// A source table with the name TableName does not currently exist within the 3910// subscriber's account. 3911// 3912// * TableInUseException 3913// A target table with the specified name is either being created or deleted. 3914// 3915// * LimitExceededException 3916// There is no limit to the number of daily on-demand backups that can be taken. 3917// 3918// Up to 50 simultaneous table operations are allowed per account. These operations 3919// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 3920// and RestoreTableToPointInTime. 3921// 3922// The only exception is when you are creating a table with one or more secondary 3923// indexes. You can have up to 25 such requests running at a time; however, 3924// if the table or index specifications are complex, DynamoDB might temporarily 3925// reduce the number of concurrent operations. 3926// 3927// There is a soft account limit of 256 tables. 3928// 3929// * InvalidRestoreTimeException 3930// An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime 3931// and LatestRestorableDateTime. 3932// 3933// * PointInTimeRecoveryUnavailableException 3934// Point in time recovery has not yet been enabled for this source table. 3935// 3936// * InternalServerError 3937// An error occurred on the server side. 3938// 3939// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime 3940func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) { 3941 req, out := c.RestoreTableToPointInTimeRequest(input) 3942 return out, req.Send() 3943} 3944 3945// RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of 3946// the ability to pass a context and additional request options. 3947// 3948// See RestoreTableToPointInTime for details on how to use this API operation. 3949// 3950// The context must be non-nil and will be used for request cancellation. If 3951// the context is nil a panic will occur. In the future the SDK may create 3952// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3953// for more information on using Contexts. 3954func (c *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) { 3955 req, out := c.RestoreTableToPointInTimeRequest(input) 3956 req.SetContext(ctx) 3957 req.ApplyOptions(opts...) 3958 return out, req.Send() 3959} 3960 3961const opScan = "Scan" 3962 3963// ScanRequest generates a "aws/request.Request" representing the 3964// client's request for the Scan operation. The "output" return 3965// value will be populated with the request's response once the request completes 3966// successfully. 3967// 3968// Use "Send" method on the returned Request to send the API call to the service. 3969// the "output" return value is not valid until after Send returns without error. 3970// 3971// See Scan for more information on using the Scan 3972// API call, and error handling. 3973// 3974// This method is useful when you want to inject custom logic or configuration 3975// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3976// 3977// 3978// // Example sending a request using the ScanRequest method. 3979// req, resp := client.ScanRequest(params) 3980// 3981// err := req.Send() 3982// if err == nil { // resp is now filled 3983// fmt.Println(resp) 3984// } 3985// 3986// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan 3987func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) { 3988 op := &request.Operation{ 3989 Name: opScan, 3990 HTTPMethod: "POST", 3991 HTTPPath: "/", 3992 Paginator: &request.Paginator{ 3993 InputTokens: []string{"ExclusiveStartKey"}, 3994 OutputTokens: []string{"LastEvaluatedKey"}, 3995 LimitToken: "Limit", 3996 TruncationToken: "", 3997 }, 3998 } 3999 4000 if input == nil { 4001 input = &ScanInput{} 4002 } 4003 4004 output = &ScanOutput{} 4005 req = c.newRequest(op, input, output) 4006 // if custom endpoint for the request is set to a non empty string, 4007 // we skip the endpoint discovery workflow. 4008 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4009 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4010 de := discovererDescribeEndpoints{ 4011 Required: false, 4012 EndpointCache: c.endpointCache, 4013 Params: map[string]*string{ 4014 "op": aws.String(req.Operation.Name), 4015 }, 4016 Client: c, 4017 } 4018 4019 for k, v := range de.Params { 4020 if v == nil { 4021 delete(de.Params, k) 4022 } 4023 } 4024 4025 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4026 Name: "crr.endpointdiscovery", 4027 Fn: de.Handler, 4028 }) 4029 } 4030 } 4031 return 4032} 4033 4034// Scan API operation for Amazon DynamoDB. 4035// 4036// The Scan operation returns one or more items and item attributes by accessing 4037// every item in a table or a secondary index. To have DynamoDB return fewer 4038// items, you can provide a FilterExpression operation. 4039// 4040// If the total number of scanned items exceeds the maximum dataset size limit 4041// of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey 4042// value to continue the scan in a subsequent operation. The results also include 4043// the number of items exceeding the limit. A scan can result in no table data 4044// meeting the filter criteria. 4045// 4046// A single Scan operation reads up to the maximum number of items set (if using 4047// the Limit parameter) or a maximum of 1 MB of data and then apply any filtering 4048// to the results using FilterExpression. If LastEvaluatedKey is present in 4049// the response, you need to paginate the result set. For more information, 4050// see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) 4051// in the Amazon DynamoDB Developer Guide. 4052// 4053// Scan operations proceed sequentially; however, for faster performance on 4054// a large table or secondary index, applications can request a parallel Scan 4055// operation by providing the Segment and TotalSegments parameters. For more 4056// information, see Parallel Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) 4057// in the Amazon DynamoDB Developer Guide. 4058// 4059// Scan uses eventually consistent reads when accessing the data in a table; 4060// therefore, the result set might not include the changes to data in the table 4061// immediately before the operation began. If you need a consistent copy of 4062// the data, as of the time that the Scan begins, you can set the ConsistentRead 4063// parameter to true. 4064// 4065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4066// with awserr.Error's Code and Message methods to get detailed information about 4067// the error. 4068// 4069// See the AWS API reference guide for Amazon DynamoDB's 4070// API operation Scan for usage and error information. 4071// 4072// Returned Error Types: 4073// * ProvisionedThroughputExceededException 4074// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 4075// requests that receive this exception. Your request is eventually successful, 4076// unless your retry queue is too large to finish. Reduce the frequency of requests 4077// and use exponential backoff. For more information, go to Error Retries and 4078// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 4079// in the Amazon DynamoDB Developer Guide. 4080// 4081// * ResourceNotFoundException 4082// The operation tried to access a nonexistent table or index. The resource 4083// might not be specified correctly, or its status might not be ACTIVE. 4084// 4085// * RequestLimitExceeded 4086// Throughput exceeds the current throughput limit for your account. Please 4087// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 4088// a limit increase. 4089// 4090// * InternalServerError 4091// An error occurred on the server side. 4092// 4093// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan 4094func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) { 4095 req, out := c.ScanRequest(input) 4096 return out, req.Send() 4097} 4098 4099// ScanWithContext is the same as Scan with the addition of 4100// the ability to pass a context and additional request options. 4101// 4102// See Scan for details on how to use this API operation. 4103// 4104// The context must be non-nil and will be used for request cancellation. If 4105// the context is nil a panic will occur. In the future the SDK may create 4106// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4107// for more information on using Contexts. 4108func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) { 4109 req, out := c.ScanRequest(input) 4110 req.SetContext(ctx) 4111 req.ApplyOptions(opts...) 4112 return out, req.Send() 4113} 4114 4115// ScanPages iterates over the pages of a Scan operation, 4116// calling the "fn" function with the response data for each page. To stop 4117// iterating, return false from the fn function. 4118// 4119// See Scan method for more information on how to use this operation. 4120// 4121// Note: This operation can generate multiple requests to a service. 4122// 4123// // Example iterating over at most 3 pages of a Scan operation. 4124// pageNum := 0 4125// err := client.ScanPages(params, 4126// func(page *dynamodb.ScanOutput, lastPage bool) bool { 4127// pageNum++ 4128// fmt.Println(page) 4129// return pageNum <= 3 4130// }) 4131// 4132func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error { 4133 return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn) 4134} 4135 4136// ScanPagesWithContext same as ScanPages except 4137// it takes a Context and allows setting request options on the pages. 4138// 4139// The context must be non-nil and will be used for request cancellation. If 4140// the context is nil a panic will occur. In the future the SDK may create 4141// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4142// for more information on using Contexts. 4143func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error { 4144 p := request.Pagination{ 4145 NewRequest: func() (*request.Request, error) { 4146 var inCpy *ScanInput 4147 if input != nil { 4148 tmp := *input 4149 inCpy = &tmp 4150 } 4151 req, _ := c.ScanRequest(inCpy) 4152 req.SetContext(ctx) 4153 req.ApplyOptions(opts...) 4154 return req, nil 4155 }, 4156 } 4157 4158 for p.Next() { 4159 if !fn(p.Page().(*ScanOutput), !p.HasNextPage()) { 4160 break 4161 } 4162 } 4163 4164 return p.Err() 4165} 4166 4167const opTagResource = "TagResource" 4168 4169// TagResourceRequest generates a "aws/request.Request" representing the 4170// client's request for the TagResource operation. The "output" return 4171// value will be populated with the request's response once the request completes 4172// successfully. 4173// 4174// Use "Send" method on the returned Request to send the API call to the service. 4175// the "output" return value is not valid until after Send returns without error. 4176// 4177// See TagResource for more information on using the TagResource 4178// API call, and error handling. 4179// 4180// This method is useful when you want to inject custom logic or configuration 4181// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4182// 4183// 4184// // Example sending a request using the TagResourceRequest method. 4185// req, resp := client.TagResourceRequest(params) 4186// 4187// err := req.Send() 4188// if err == nil { // resp is now filled 4189// fmt.Println(resp) 4190// } 4191// 4192// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource 4193func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4194 op := &request.Operation{ 4195 Name: opTagResource, 4196 HTTPMethod: "POST", 4197 HTTPPath: "/", 4198 } 4199 4200 if input == nil { 4201 input = &TagResourceInput{} 4202 } 4203 4204 output = &TagResourceOutput{} 4205 req = c.newRequest(op, input, output) 4206 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4207 // if custom endpoint for the request is set to a non empty string, 4208 // we skip the endpoint discovery workflow. 4209 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4210 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4211 de := discovererDescribeEndpoints{ 4212 Required: false, 4213 EndpointCache: c.endpointCache, 4214 Params: map[string]*string{ 4215 "op": aws.String(req.Operation.Name), 4216 }, 4217 Client: c, 4218 } 4219 4220 for k, v := range de.Params { 4221 if v == nil { 4222 delete(de.Params, k) 4223 } 4224 } 4225 4226 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4227 Name: "crr.endpointdiscovery", 4228 Fn: de.Handler, 4229 }) 4230 } 4231 } 4232 return 4233} 4234 4235// TagResource API operation for Amazon DynamoDB. 4236// 4237// Associate a set of tags with an Amazon DynamoDB resource. You can then activate 4238// these user-defined tags so that they appear on the Billing and Cost Management 4239// console for cost allocation tracking. You can call TagResource up to five 4240// times per second, per account. 4241// 4242// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 4243// in the Amazon DynamoDB Developer Guide. 4244// 4245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4246// with awserr.Error's Code and Message methods to get detailed information about 4247// the error. 4248// 4249// See the AWS API reference guide for Amazon DynamoDB's 4250// API operation TagResource for usage and error information. 4251// 4252// Returned Error Types: 4253// * LimitExceededException 4254// There is no limit to the number of daily on-demand backups that can be taken. 4255// 4256// Up to 50 simultaneous table operations are allowed per account. These operations 4257// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 4258// and RestoreTableToPointInTime. 4259// 4260// The only exception is when you are creating a table with one or more secondary 4261// indexes. You can have up to 25 such requests running at a time; however, 4262// if the table or index specifications are complex, DynamoDB might temporarily 4263// reduce the number of concurrent operations. 4264// 4265// There is a soft account limit of 256 tables. 4266// 4267// * ResourceNotFoundException 4268// The operation tried to access a nonexistent table or index. The resource 4269// might not be specified correctly, or its status might not be ACTIVE. 4270// 4271// * InternalServerError 4272// An error occurred on the server side. 4273// 4274// * ResourceInUseException 4275// The operation conflicts with the resource's availability. For example, you 4276// attempted to recreate an existing table, or tried to delete a table currently 4277// in the CREATING state. 4278// 4279// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource 4280func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4281 req, out := c.TagResourceRequest(input) 4282 return out, req.Send() 4283} 4284 4285// TagResourceWithContext is the same as TagResource with the addition of 4286// the ability to pass a context and additional request options. 4287// 4288// See TagResource for details on how to use this API operation. 4289// 4290// The context must be non-nil and will be used for request cancellation. If 4291// the context is nil a panic will occur. In the future the SDK may create 4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4293// for more information on using Contexts. 4294func (c *DynamoDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4295 req, out := c.TagResourceRequest(input) 4296 req.SetContext(ctx) 4297 req.ApplyOptions(opts...) 4298 return out, req.Send() 4299} 4300 4301const opTransactGetItems = "TransactGetItems" 4302 4303// TransactGetItemsRequest generates a "aws/request.Request" representing the 4304// client's request for the TransactGetItems operation. The "output" return 4305// value will be populated with the request's response once the request completes 4306// successfully. 4307// 4308// Use "Send" method on the returned Request to send the API call to the service. 4309// the "output" return value is not valid until after Send returns without error. 4310// 4311// See TransactGetItems for more information on using the TransactGetItems 4312// API call, and error handling. 4313// 4314// This method is useful when you want to inject custom logic or configuration 4315// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4316// 4317// 4318// // Example sending a request using the TransactGetItemsRequest method. 4319// req, resp := client.TransactGetItemsRequest(params) 4320// 4321// err := req.Send() 4322// if err == nil { // resp is now filled 4323// fmt.Println(resp) 4324// } 4325// 4326// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems 4327func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) { 4328 op := &request.Operation{ 4329 Name: opTransactGetItems, 4330 HTTPMethod: "POST", 4331 HTTPPath: "/", 4332 } 4333 4334 if input == nil { 4335 input = &TransactGetItemsInput{} 4336 } 4337 4338 output = &TransactGetItemsOutput{} 4339 req = c.newRequest(op, input, output) 4340 // if custom endpoint for the request is set to a non empty string, 4341 // we skip the endpoint discovery workflow. 4342 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4343 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4344 de := discovererDescribeEndpoints{ 4345 Required: false, 4346 EndpointCache: c.endpointCache, 4347 Params: map[string]*string{ 4348 "op": aws.String(req.Operation.Name), 4349 }, 4350 Client: c, 4351 } 4352 4353 for k, v := range de.Params { 4354 if v == nil { 4355 delete(de.Params, k) 4356 } 4357 } 4358 4359 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4360 Name: "crr.endpointdiscovery", 4361 Fn: de.Handler, 4362 }) 4363 } 4364 } 4365 return 4366} 4367 4368// TransactGetItems API operation for Amazon DynamoDB. 4369// 4370// TransactGetItems is a synchronous operation that atomically retrieves multiple 4371// items from one or more tables (but not from indexes) in a single account 4372// and Region. A TransactGetItems call can contain up to 25 TransactGetItem 4373// objects, each of which contains a Get structure that specifies an item to 4374// retrieve from a table in the account and Region. A call to TransactGetItems 4375// cannot retrieve items from tables in more than one AWS account or Region. 4376// The aggregate size of the items in the transaction cannot exceed 4 MB. 4377// 4378// DynamoDB rejects the entire TransactGetItems request if any of the following 4379// is true: 4380// 4381// * A conflicting operation is in the process of updating an item to be 4382// read. 4383// 4384// * There is insufficient provisioned capacity for the transaction to be 4385// completed. 4386// 4387// * There is a user error, such as an invalid data format. 4388// 4389// * The aggregate size of the items in the transaction cannot exceed 4 MB. 4390// 4391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4392// with awserr.Error's Code and Message methods to get detailed information about 4393// the error. 4394// 4395// See the AWS API reference guide for Amazon DynamoDB's 4396// API operation TransactGetItems for usage and error information. 4397// 4398// Returned Error Types: 4399// * ResourceNotFoundException 4400// The operation tried to access a nonexistent table or index. The resource 4401// might not be specified correctly, or its status might not be ACTIVE. 4402// 4403// * TransactionCanceledException 4404// The entire transaction request was canceled. 4405// 4406// DynamoDB cancels a TransactWriteItems request under the following circumstances: 4407// 4408// * A condition in one of the condition expressions is not met. 4409// 4410// * A table in the TransactWriteItems request is in a different account 4411// or region. 4412// 4413// * More than one action in the TransactWriteItems operation targets the 4414// same item. 4415// 4416// * There is insufficient provisioned capacity for the transaction to be 4417// completed. 4418// 4419// * An item size becomes too large (larger than 400 KB), or a local secondary 4420// index (LSI) becomes too large, or a similar validation error occurs because 4421// of changes made by the transaction. 4422// 4423// * There is a user error, such as an invalid data format. 4424// 4425// DynamoDB cancels a TransactGetItems request under the following circumstances: 4426// 4427// * There is an ongoing TransactGetItems operation that conflicts with a 4428// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 4429// In this case the TransactGetItems operation fails with a TransactionCanceledException. 4430// 4431// * A table in the TransactGetItems request is in a different account or 4432// region. 4433// 4434// * There is insufficient provisioned capacity for the transaction to be 4435// completed. 4436// 4437// * There is a user error, such as an invalid data format. 4438// 4439// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 4440// property. This property is not set for other languages. Transaction cancellation 4441// reasons are ordered in the order of requested items, if an item has no error 4442// it will have NONE code and Null message. 4443// 4444// Cancellation reason codes and possible error messages: 4445// 4446// * No Errors: Code: NONE Message: null 4447// 4448// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 4449// conditional request failed. 4450// 4451// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 4452// Message: Collection size exceeded. 4453// 4454// * Transaction Conflict: Code: TransactionConflict Message: Transaction 4455// is ongoing for the item. 4456// 4457// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 4458// Messages: The level of configured provisioned throughput for the table 4459// was exceeded. Consider increasing your provisioning level with the UpdateTable 4460// API. This Message is received when provisioned throughput is exceeded 4461// is on a provisioned DynamoDB table. The level of configured provisioned 4462// throughput for one or more global secondary indexes of the table was exceeded. 4463// Consider increasing your provisioning level for the under-provisioned 4464// global secondary indexes with the UpdateTable API. This message is returned 4465// when provisioned throughput is exceeded is on a provisioned GSI. 4466// 4467// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 4468// the current capacity of your table or index. DynamoDB is automatically 4469// scaling your table or index so please try again shortly. If exceptions 4470// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 4471// This message is returned when writes get throttled on an On-Demand table 4472// as DynamoDB is automatically scaling the table. Throughput exceeds the 4473// current capacity for one or more global secondary indexes. DynamoDB is 4474// automatically scaling your index so please try again shortly. This message 4475// is returned when when writes get throttled on an On-Demand GSI as DynamoDB 4476// is automatically scaling the GSI. 4477// 4478// * Validation Error: Code: ValidationError Messages: One or more parameter 4479// values were invalid. The update expression attempted to update the secondary 4480// index key beyond allowed size limits. The update expression attempted 4481// to update the secondary index key to unsupported type. An operand in the 4482// update expression has an incorrect data type. Item size to update has 4483// exceeded the maximum allowed size. Number overflow. Attempting to store 4484// a number with magnitude larger than supported range. Type mismatch for 4485// attribute to update. Nesting Levels have exceeded supported limits. The 4486// document path provided in the update expression is invalid for update. 4487// The provided expression refers to an attribute that does not exist in 4488// the item. 4489// 4490// * ProvisionedThroughputExceededException 4491// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 4492// requests that receive this exception. Your request is eventually successful, 4493// unless your retry queue is too large to finish. Reduce the frequency of requests 4494// and use exponential backoff. For more information, go to Error Retries and 4495// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 4496// in the Amazon DynamoDB Developer Guide. 4497// 4498// * RequestLimitExceeded 4499// Throughput exceeds the current throughput limit for your account. Please 4500// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 4501// a limit increase. 4502// 4503// * InternalServerError 4504// An error occurred on the server side. 4505// 4506// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems 4507func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) { 4508 req, out := c.TransactGetItemsRequest(input) 4509 return out, req.Send() 4510} 4511 4512// TransactGetItemsWithContext is the same as TransactGetItems with the addition of 4513// the ability to pass a context and additional request options. 4514// 4515// See TransactGetItems for details on how to use this API operation. 4516// 4517// The context must be non-nil and will be used for request cancellation. If 4518// the context is nil a panic will occur. In the future the SDK may create 4519// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4520// for more information on using Contexts. 4521func (c *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) { 4522 req, out := c.TransactGetItemsRequest(input) 4523 req.SetContext(ctx) 4524 req.ApplyOptions(opts...) 4525 return out, req.Send() 4526} 4527 4528const opTransactWriteItems = "TransactWriteItems" 4529 4530// TransactWriteItemsRequest generates a "aws/request.Request" representing the 4531// client's request for the TransactWriteItems operation. The "output" return 4532// value will be populated with the request's response once the request completes 4533// successfully. 4534// 4535// Use "Send" method on the returned Request to send the API call to the service. 4536// the "output" return value is not valid until after Send returns without error. 4537// 4538// See TransactWriteItems for more information on using the TransactWriteItems 4539// API call, and error handling. 4540// 4541// This method is useful when you want to inject custom logic or configuration 4542// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4543// 4544// 4545// // Example sending a request using the TransactWriteItemsRequest method. 4546// req, resp := client.TransactWriteItemsRequest(params) 4547// 4548// err := req.Send() 4549// if err == nil { // resp is now filled 4550// fmt.Println(resp) 4551// } 4552// 4553// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems 4554func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) { 4555 op := &request.Operation{ 4556 Name: opTransactWriteItems, 4557 HTTPMethod: "POST", 4558 HTTPPath: "/", 4559 } 4560 4561 if input == nil { 4562 input = &TransactWriteItemsInput{} 4563 } 4564 4565 output = &TransactWriteItemsOutput{} 4566 req = c.newRequest(op, input, output) 4567 // if custom endpoint for the request is set to a non empty string, 4568 // we skip the endpoint discovery workflow. 4569 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4570 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4571 de := discovererDescribeEndpoints{ 4572 Required: false, 4573 EndpointCache: c.endpointCache, 4574 Params: map[string]*string{ 4575 "op": aws.String(req.Operation.Name), 4576 }, 4577 Client: c, 4578 } 4579 4580 for k, v := range de.Params { 4581 if v == nil { 4582 delete(de.Params, k) 4583 } 4584 } 4585 4586 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4587 Name: "crr.endpointdiscovery", 4588 Fn: de.Handler, 4589 }) 4590 } 4591 } 4592 return 4593} 4594 4595// TransactWriteItems API operation for Amazon DynamoDB. 4596// 4597// TransactWriteItems is a synchronous write operation that groups up to 25 4598// action requests. These actions can target items in different tables, but 4599// not in different AWS accounts or Regions, and no two actions can target the 4600// same item. For example, you cannot both ConditionCheck and Update the same 4601// item. The aggregate size of the items in the transaction cannot exceed 4 4602// MB. 4603// 4604// The actions are completed atomically so that either all of them succeed, 4605// or all of them fail. They are defined by the following objects: 4606// 4607// * Put — Initiates a PutItem operation to write a new item. This structure 4608// specifies the primary key of the item to be written, the name of the table 4609// to write it in, an optional condition expression that must be satisfied 4610// for the write to succeed, a list of the item's attributes, and a field 4611// indicating whether to retrieve the item's attributes if the condition 4612// is not met. 4613// 4614// * Update — Initiates an UpdateItem operation to update an existing item. 4615// This structure specifies the primary key of the item to be updated, the 4616// name of the table where it resides, an optional condition expression that 4617// must be satisfied for the update to succeed, an expression that defines 4618// one or more attributes to be updated, and a field indicating whether to 4619// retrieve the item's attributes if the condition is not met. 4620// 4621// * Delete — Initiates a DeleteItem operation to delete an existing item. 4622// This structure specifies the primary key of the item to be deleted, the 4623// name of the table where it resides, an optional condition expression that 4624// must be satisfied for the deletion to succeed, and a field indicating 4625// whether to retrieve the item's attributes if the condition is not met. 4626// 4627// * ConditionCheck — Applies a condition to an item that is not being 4628// modified by the transaction. This structure specifies the primary key 4629// of the item to be checked, the name of the table where it resides, a condition 4630// expression that must be satisfied for the transaction to succeed, and 4631// a field indicating whether to retrieve the item's attributes if the condition 4632// is not met. 4633// 4634// DynamoDB rejects the entire TransactWriteItems request if any of the following 4635// is true: 4636// 4637// * A condition in one of the condition expressions is not met. 4638// 4639// * An ongoing operation is in the process of updating the same item. 4640// 4641// * There is insufficient provisioned capacity for the transaction to be 4642// completed. 4643// 4644// * An item size becomes too large (bigger than 400 KB), a local secondary 4645// index (LSI) becomes too large, or a similar validation error occurs because 4646// of changes made by the transaction. 4647// 4648// * The aggregate size of the items in the transaction exceeds 4 MB. 4649// 4650// * There is a user error, such as an invalid data format. 4651// 4652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4653// with awserr.Error's Code and Message methods to get detailed information about 4654// the error. 4655// 4656// See the AWS API reference guide for Amazon DynamoDB's 4657// API operation TransactWriteItems for usage and error information. 4658// 4659// Returned Error Types: 4660// * ResourceNotFoundException 4661// The operation tried to access a nonexistent table or index. The resource 4662// might not be specified correctly, or its status might not be ACTIVE. 4663// 4664// * TransactionCanceledException 4665// The entire transaction request was canceled. 4666// 4667// DynamoDB cancels a TransactWriteItems request under the following circumstances: 4668// 4669// * A condition in one of the condition expressions is not met. 4670// 4671// * A table in the TransactWriteItems request is in a different account 4672// or region. 4673// 4674// * More than one action in the TransactWriteItems operation targets the 4675// same item. 4676// 4677// * There is insufficient provisioned capacity for the transaction to be 4678// completed. 4679// 4680// * An item size becomes too large (larger than 400 KB), or a local secondary 4681// index (LSI) becomes too large, or a similar validation error occurs because 4682// of changes made by the transaction. 4683// 4684// * There is a user error, such as an invalid data format. 4685// 4686// DynamoDB cancels a TransactGetItems request under the following circumstances: 4687// 4688// * There is an ongoing TransactGetItems operation that conflicts with a 4689// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 4690// In this case the TransactGetItems operation fails with a TransactionCanceledException. 4691// 4692// * A table in the TransactGetItems request is in a different account or 4693// region. 4694// 4695// * There is insufficient provisioned capacity for the transaction to be 4696// completed. 4697// 4698// * There is a user error, such as an invalid data format. 4699// 4700// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 4701// property. This property is not set for other languages. Transaction cancellation 4702// reasons are ordered in the order of requested items, if an item has no error 4703// it will have NONE code and Null message. 4704// 4705// Cancellation reason codes and possible error messages: 4706// 4707// * No Errors: Code: NONE Message: null 4708// 4709// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 4710// conditional request failed. 4711// 4712// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 4713// Message: Collection size exceeded. 4714// 4715// * Transaction Conflict: Code: TransactionConflict Message: Transaction 4716// is ongoing for the item. 4717// 4718// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 4719// Messages: The level of configured provisioned throughput for the table 4720// was exceeded. Consider increasing your provisioning level with the UpdateTable 4721// API. This Message is received when provisioned throughput is exceeded 4722// is on a provisioned DynamoDB table. The level of configured provisioned 4723// throughput for one or more global secondary indexes of the table was exceeded. 4724// Consider increasing your provisioning level for the under-provisioned 4725// global secondary indexes with the UpdateTable API. This message is returned 4726// when provisioned throughput is exceeded is on a provisioned GSI. 4727// 4728// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 4729// the current capacity of your table or index. DynamoDB is automatically 4730// scaling your table or index so please try again shortly. If exceptions 4731// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 4732// This message is returned when writes get throttled on an On-Demand table 4733// as DynamoDB is automatically scaling the table. Throughput exceeds the 4734// current capacity for one or more global secondary indexes. DynamoDB is 4735// automatically scaling your index so please try again shortly. This message 4736// is returned when when writes get throttled on an On-Demand GSI as DynamoDB 4737// is automatically scaling the GSI. 4738// 4739// * Validation Error: Code: ValidationError Messages: One or more parameter 4740// values were invalid. The update expression attempted to update the secondary 4741// index key beyond allowed size limits. The update expression attempted 4742// to update the secondary index key to unsupported type. An operand in the 4743// update expression has an incorrect data type. Item size to update has 4744// exceeded the maximum allowed size. Number overflow. Attempting to store 4745// a number with magnitude larger than supported range. Type mismatch for 4746// attribute to update. Nesting Levels have exceeded supported limits. The 4747// document path provided in the update expression is invalid for update. 4748// The provided expression refers to an attribute that does not exist in 4749// the item. 4750// 4751// * TransactionInProgressException 4752// The transaction with the given request token is already in progress. 4753// 4754// * IdempotentParameterMismatchException 4755// DynamoDB rejected the request because you retried a request with a different 4756// payload but with an idempotent token that was already used. 4757// 4758// * ProvisionedThroughputExceededException 4759// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 4760// requests that receive this exception. Your request is eventually successful, 4761// unless your retry queue is too large to finish. Reduce the frequency of requests 4762// and use exponential backoff. For more information, go to Error Retries and 4763// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 4764// in the Amazon DynamoDB Developer Guide. 4765// 4766// * RequestLimitExceeded 4767// Throughput exceeds the current throughput limit for your account. Please 4768// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 4769// a limit increase. 4770// 4771// * InternalServerError 4772// An error occurred on the server side. 4773// 4774// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems 4775func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) { 4776 req, out := c.TransactWriteItemsRequest(input) 4777 return out, req.Send() 4778} 4779 4780// TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of 4781// the ability to pass a context and additional request options. 4782// 4783// See TransactWriteItems for details on how to use this API operation. 4784// 4785// The context must be non-nil and will be used for request cancellation. If 4786// the context is nil a panic will occur. In the future the SDK may create 4787// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4788// for more information on using Contexts. 4789func (c *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) { 4790 req, out := c.TransactWriteItemsRequest(input) 4791 req.SetContext(ctx) 4792 req.ApplyOptions(opts...) 4793 return out, req.Send() 4794} 4795 4796const opUntagResource = "UntagResource" 4797 4798// UntagResourceRequest generates a "aws/request.Request" representing the 4799// client's request for the UntagResource operation. The "output" return 4800// value will be populated with the request's response once the request completes 4801// successfully. 4802// 4803// Use "Send" method on the returned Request to send the API call to the service. 4804// the "output" return value is not valid until after Send returns without error. 4805// 4806// See UntagResource for more information on using the UntagResource 4807// API call, and error handling. 4808// 4809// This method is useful when you want to inject custom logic or configuration 4810// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4811// 4812// 4813// // Example sending a request using the UntagResourceRequest method. 4814// req, resp := client.UntagResourceRequest(params) 4815// 4816// err := req.Send() 4817// if err == nil { // resp is now filled 4818// fmt.Println(resp) 4819// } 4820// 4821// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource 4822func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4823 op := &request.Operation{ 4824 Name: opUntagResource, 4825 HTTPMethod: "POST", 4826 HTTPPath: "/", 4827 } 4828 4829 if input == nil { 4830 input = &UntagResourceInput{} 4831 } 4832 4833 output = &UntagResourceOutput{} 4834 req = c.newRequest(op, input, output) 4835 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4836 // if custom endpoint for the request is set to a non empty string, 4837 // we skip the endpoint discovery workflow. 4838 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4839 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4840 de := discovererDescribeEndpoints{ 4841 Required: false, 4842 EndpointCache: c.endpointCache, 4843 Params: map[string]*string{ 4844 "op": aws.String(req.Operation.Name), 4845 }, 4846 Client: c, 4847 } 4848 4849 for k, v := range de.Params { 4850 if v == nil { 4851 delete(de.Params, k) 4852 } 4853 } 4854 4855 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4856 Name: "crr.endpointdiscovery", 4857 Fn: de.Handler, 4858 }) 4859 } 4860 } 4861 return 4862} 4863 4864// UntagResource API operation for Amazon DynamoDB. 4865// 4866// Removes the association of tags from an Amazon DynamoDB resource. You can 4867// call UntagResource up to five times per second, per account. 4868// 4869// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 4870// in the Amazon DynamoDB Developer Guide. 4871// 4872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4873// with awserr.Error's Code and Message methods to get detailed information about 4874// the error. 4875// 4876// See the AWS API reference guide for Amazon DynamoDB's 4877// API operation UntagResource for usage and error information. 4878// 4879// Returned Error Types: 4880// * LimitExceededException 4881// There is no limit to the number of daily on-demand backups that can be taken. 4882// 4883// Up to 50 simultaneous table operations are allowed per account. These operations 4884// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 4885// and RestoreTableToPointInTime. 4886// 4887// The only exception is when you are creating a table with one or more secondary 4888// indexes. You can have up to 25 such requests running at a time; however, 4889// if the table or index specifications are complex, DynamoDB might temporarily 4890// reduce the number of concurrent operations. 4891// 4892// There is a soft account limit of 256 tables. 4893// 4894// * ResourceNotFoundException 4895// The operation tried to access a nonexistent table or index. The resource 4896// might not be specified correctly, or its status might not be ACTIVE. 4897// 4898// * InternalServerError 4899// An error occurred on the server side. 4900// 4901// * ResourceInUseException 4902// The operation conflicts with the resource's availability. For example, you 4903// attempted to recreate an existing table, or tried to delete a table currently 4904// in the CREATING state. 4905// 4906// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource 4907func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4908 req, out := c.UntagResourceRequest(input) 4909 return out, req.Send() 4910} 4911 4912// UntagResourceWithContext is the same as UntagResource with the addition of 4913// the ability to pass a context and additional request options. 4914// 4915// See UntagResource for details on how to use this API operation. 4916// 4917// The context must be non-nil and will be used for request cancellation. If 4918// the context is nil a panic will occur. In the future the SDK may create 4919// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4920// for more information on using Contexts. 4921func (c *DynamoDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4922 req, out := c.UntagResourceRequest(input) 4923 req.SetContext(ctx) 4924 req.ApplyOptions(opts...) 4925 return out, req.Send() 4926} 4927 4928const opUpdateContinuousBackups = "UpdateContinuousBackups" 4929 4930// UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the 4931// client's request for the UpdateContinuousBackups operation. The "output" return 4932// value will be populated with the request's response once the request completes 4933// successfully. 4934// 4935// Use "Send" method on the returned Request to send the API call to the service. 4936// the "output" return value is not valid until after Send returns without error. 4937// 4938// See UpdateContinuousBackups for more information on using the UpdateContinuousBackups 4939// API call, and error handling. 4940// 4941// This method is useful when you want to inject custom logic or configuration 4942// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4943// 4944// 4945// // Example sending a request using the UpdateContinuousBackupsRequest method. 4946// req, resp := client.UpdateContinuousBackupsRequest(params) 4947// 4948// err := req.Send() 4949// if err == nil { // resp is now filled 4950// fmt.Println(resp) 4951// } 4952// 4953// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups 4954func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) { 4955 op := &request.Operation{ 4956 Name: opUpdateContinuousBackups, 4957 HTTPMethod: "POST", 4958 HTTPPath: "/", 4959 } 4960 4961 if input == nil { 4962 input = &UpdateContinuousBackupsInput{} 4963 } 4964 4965 output = &UpdateContinuousBackupsOutput{} 4966 req = c.newRequest(op, input, output) 4967 // if custom endpoint for the request is set to a non empty string, 4968 // we skip the endpoint discovery workflow. 4969 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 4970 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 4971 de := discovererDescribeEndpoints{ 4972 Required: false, 4973 EndpointCache: c.endpointCache, 4974 Params: map[string]*string{ 4975 "op": aws.String(req.Operation.Name), 4976 }, 4977 Client: c, 4978 } 4979 4980 for k, v := range de.Params { 4981 if v == nil { 4982 delete(de.Params, k) 4983 } 4984 } 4985 4986 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 4987 Name: "crr.endpointdiscovery", 4988 Fn: de.Handler, 4989 }) 4990 } 4991 } 4992 return 4993} 4994 4995// UpdateContinuousBackups API operation for Amazon DynamoDB. 4996// 4997// UpdateContinuousBackups enables or disables point in time recovery for the 4998// specified table. A successful UpdateContinuousBackups call returns the current 4999// ContinuousBackupsDescription. Continuous backups are ENABLED on all tables 5000// at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus 5001// will be set to ENABLED. 5002// 5003// Once continuous backups and point in time recovery are enabled, you can restore 5004// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. 5005// 5006// LatestRestorableDateTime is typically 5 minutes before the current time. 5007// You can restore your table to any point in time during the last 35 days. 5008// 5009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5010// with awserr.Error's Code and Message methods to get detailed information about 5011// the error. 5012// 5013// See the AWS API reference guide for Amazon DynamoDB's 5014// API operation UpdateContinuousBackups for usage and error information. 5015// 5016// Returned Error Types: 5017// * TableNotFoundException 5018// A source table with the name TableName does not currently exist within the 5019// subscriber's account. 5020// 5021// * ContinuousBackupsUnavailableException 5022// Backups have not yet been enabled for this table. 5023// 5024// * InternalServerError 5025// An error occurred on the server side. 5026// 5027// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups 5028func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) { 5029 req, out := c.UpdateContinuousBackupsRequest(input) 5030 return out, req.Send() 5031} 5032 5033// UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of 5034// the ability to pass a context and additional request options. 5035// 5036// See UpdateContinuousBackups for details on how to use this API operation. 5037// 5038// The context must be non-nil and will be used for request cancellation. If 5039// the context is nil a panic will occur. In the future the SDK may create 5040// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5041// for more information on using Contexts. 5042func (c *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) { 5043 req, out := c.UpdateContinuousBackupsRequest(input) 5044 req.SetContext(ctx) 5045 req.ApplyOptions(opts...) 5046 return out, req.Send() 5047} 5048 5049const opUpdateContributorInsights = "UpdateContributorInsights" 5050 5051// UpdateContributorInsightsRequest generates a "aws/request.Request" representing the 5052// client's request for the UpdateContributorInsights operation. The "output" return 5053// value will be populated with the request's response once the request completes 5054// successfully. 5055// 5056// Use "Send" method on the returned Request to send the API call to the service. 5057// the "output" return value is not valid until after Send returns without error. 5058// 5059// See UpdateContributorInsights for more information on using the UpdateContributorInsights 5060// API call, and error handling. 5061// 5062// This method is useful when you want to inject custom logic or configuration 5063// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5064// 5065// 5066// // Example sending a request using the UpdateContributorInsightsRequest method. 5067// req, resp := client.UpdateContributorInsightsRequest(params) 5068// 5069// err := req.Send() 5070// if err == nil { // resp is now filled 5071// fmt.Println(resp) 5072// } 5073// 5074// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights 5075func (c *DynamoDB) UpdateContributorInsightsRequest(input *UpdateContributorInsightsInput) (req *request.Request, output *UpdateContributorInsightsOutput) { 5076 op := &request.Operation{ 5077 Name: opUpdateContributorInsights, 5078 HTTPMethod: "POST", 5079 HTTPPath: "/", 5080 } 5081 5082 if input == nil { 5083 input = &UpdateContributorInsightsInput{} 5084 } 5085 5086 output = &UpdateContributorInsightsOutput{} 5087 req = c.newRequest(op, input, output) 5088 return 5089} 5090 5091// UpdateContributorInsights API operation for Amazon DynamoDB. 5092// 5093// Updates the status for contributor insights for a specific table or index. 5094// 5095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5096// with awserr.Error's Code and Message methods to get detailed information about 5097// the error. 5098// 5099// See the AWS API reference guide for Amazon DynamoDB's 5100// API operation UpdateContributorInsights for usage and error information. 5101// 5102// Returned Error Types: 5103// * ResourceNotFoundException 5104// The operation tried to access a nonexistent table or index. The resource 5105// might not be specified correctly, or its status might not be ACTIVE. 5106// 5107// * InternalServerError 5108// An error occurred on the server side. 5109// 5110// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights 5111func (c *DynamoDB) UpdateContributorInsights(input *UpdateContributorInsightsInput) (*UpdateContributorInsightsOutput, error) { 5112 req, out := c.UpdateContributorInsightsRequest(input) 5113 return out, req.Send() 5114} 5115 5116// UpdateContributorInsightsWithContext is the same as UpdateContributorInsights with the addition of 5117// the ability to pass a context and additional request options. 5118// 5119// See UpdateContributorInsights for details on how to use this API operation. 5120// 5121// The context must be non-nil and will be used for request cancellation. If 5122// the context is nil a panic will occur. In the future the SDK may create 5123// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5124// for more information on using Contexts. 5125func (c *DynamoDB) UpdateContributorInsightsWithContext(ctx aws.Context, input *UpdateContributorInsightsInput, opts ...request.Option) (*UpdateContributorInsightsOutput, error) { 5126 req, out := c.UpdateContributorInsightsRequest(input) 5127 req.SetContext(ctx) 5128 req.ApplyOptions(opts...) 5129 return out, req.Send() 5130} 5131 5132const opUpdateGlobalTable = "UpdateGlobalTable" 5133 5134// UpdateGlobalTableRequest generates a "aws/request.Request" representing the 5135// client's request for the UpdateGlobalTable operation. The "output" return 5136// value will be populated with the request's response once the request completes 5137// successfully. 5138// 5139// Use "Send" method on the returned Request to send the API call to the service. 5140// the "output" return value is not valid until after Send returns without error. 5141// 5142// See UpdateGlobalTable for more information on using the UpdateGlobalTable 5143// API call, and error handling. 5144// 5145// This method is useful when you want to inject custom logic or configuration 5146// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5147// 5148// 5149// // Example sending a request using the UpdateGlobalTableRequest method. 5150// req, resp := client.UpdateGlobalTableRequest(params) 5151// 5152// err := req.Send() 5153// if err == nil { // resp is now filled 5154// fmt.Println(resp) 5155// } 5156// 5157// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable 5158func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) { 5159 op := &request.Operation{ 5160 Name: opUpdateGlobalTable, 5161 HTTPMethod: "POST", 5162 HTTPPath: "/", 5163 } 5164 5165 if input == nil { 5166 input = &UpdateGlobalTableInput{} 5167 } 5168 5169 output = &UpdateGlobalTableOutput{} 5170 req = c.newRequest(op, input, output) 5171 // if custom endpoint for the request is set to a non empty string, 5172 // we skip the endpoint discovery workflow. 5173 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5174 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5175 de := discovererDescribeEndpoints{ 5176 Required: false, 5177 EndpointCache: c.endpointCache, 5178 Params: map[string]*string{ 5179 "op": aws.String(req.Operation.Name), 5180 }, 5181 Client: c, 5182 } 5183 5184 for k, v := range de.Params { 5185 if v == nil { 5186 delete(de.Params, k) 5187 } 5188 } 5189 5190 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5191 Name: "crr.endpointdiscovery", 5192 Fn: de.Handler, 5193 }) 5194 } 5195 } 5196 return 5197} 5198 5199// UpdateGlobalTable API operation for Amazon DynamoDB. 5200// 5201// Adds or removes replicas in the specified global table. The global table 5202// must already exist to be able to use this operation. Any replica to be added 5203// must be empty, have the same name as the global table, have the same key 5204// schema, have DynamoDB Streams enabled, and have the same provisioned and 5205// maximum write capacity units. 5206// 5207// Although you can use UpdateGlobalTable to add replicas and remove replicas 5208// in a single request, for simplicity we recommend that you issue separate 5209// requests for adding or removing replicas. 5210// 5211// If global secondary indexes are specified, then the following conditions 5212// must also be met: 5213// 5214// * The global secondary indexes must have the same name. 5215// 5216// * The global secondary indexes must have the same hash key and sort key 5217// (if present). 5218// 5219// * The global secondary indexes must have the same provisioned and maximum 5220// write capacity units. 5221// 5222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5223// with awserr.Error's Code and Message methods to get detailed information about 5224// the error. 5225// 5226// See the AWS API reference guide for Amazon DynamoDB's 5227// API operation UpdateGlobalTable for usage and error information. 5228// 5229// Returned Error Types: 5230// * InternalServerError 5231// An error occurred on the server side. 5232// 5233// * GlobalTableNotFoundException 5234// The specified global table does not exist. 5235// 5236// * ReplicaAlreadyExistsException 5237// The specified replica is already part of the global table. 5238// 5239// * ReplicaNotFoundException 5240// The specified replica is no longer part of the global table. 5241// 5242// * TableNotFoundException 5243// A source table with the name TableName does not currently exist within the 5244// subscriber's account. 5245// 5246// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable 5247func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) { 5248 req, out := c.UpdateGlobalTableRequest(input) 5249 return out, req.Send() 5250} 5251 5252// UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of 5253// the ability to pass a context and additional request options. 5254// 5255// See UpdateGlobalTable for details on how to use this API operation. 5256// 5257// The context must be non-nil and will be used for request cancellation. If 5258// the context is nil a panic will occur. In the future the SDK may create 5259// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5260// for more information on using Contexts. 5261func (c *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) { 5262 req, out := c.UpdateGlobalTableRequest(input) 5263 req.SetContext(ctx) 5264 req.ApplyOptions(opts...) 5265 return out, req.Send() 5266} 5267 5268const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings" 5269 5270// UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the 5271// client's request for the UpdateGlobalTableSettings operation. The "output" return 5272// value will be populated with the request's response once the request completes 5273// successfully. 5274// 5275// Use "Send" method on the returned Request to send the API call to the service. 5276// the "output" return value is not valid until after Send returns without error. 5277// 5278// See UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings 5279// API call, and error handling. 5280// 5281// This method is useful when you want to inject custom logic or configuration 5282// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5283// 5284// 5285// // Example sending a request using the UpdateGlobalTableSettingsRequest method. 5286// req, resp := client.UpdateGlobalTableSettingsRequest(params) 5287// 5288// err := req.Send() 5289// if err == nil { // resp is now filled 5290// fmt.Println(resp) 5291// } 5292// 5293// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings 5294func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) { 5295 op := &request.Operation{ 5296 Name: opUpdateGlobalTableSettings, 5297 HTTPMethod: "POST", 5298 HTTPPath: "/", 5299 } 5300 5301 if input == nil { 5302 input = &UpdateGlobalTableSettingsInput{} 5303 } 5304 5305 output = &UpdateGlobalTableSettingsOutput{} 5306 req = c.newRequest(op, input, output) 5307 // if custom endpoint for the request is set to a non empty string, 5308 // we skip the endpoint discovery workflow. 5309 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5310 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5311 de := discovererDescribeEndpoints{ 5312 Required: false, 5313 EndpointCache: c.endpointCache, 5314 Params: map[string]*string{ 5315 "op": aws.String(req.Operation.Name), 5316 }, 5317 Client: c, 5318 } 5319 5320 for k, v := range de.Params { 5321 if v == nil { 5322 delete(de.Params, k) 5323 } 5324 } 5325 5326 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5327 Name: "crr.endpointdiscovery", 5328 Fn: de.Handler, 5329 }) 5330 } 5331 } 5332 return 5333} 5334 5335// UpdateGlobalTableSettings API operation for Amazon DynamoDB. 5336// 5337// Updates settings for a global table. 5338// 5339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5340// with awserr.Error's Code and Message methods to get detailed information about 5341// the error. 5342// 5343// See the AWS API reference guide for Amazon DynamoDB's 5344// API operation UpdateGlobalTableSettings for usage and error information. 5345// 5346// Returned Error Types: 5347// * GlobalTableNotFoundException 5348// The specified global table does not exist. 5349// 5350// * ReplicaNotFoundException 5351// The specified replica is no longer part of the global table. 5352// 5353// * IndexNotFoundException 5354// The operation tried to access a nonexistent index. 5355// 5356// * LimitExceededException 5357// There is no limit to the number of daily on-demand backups that can be taken. 5358// 5359// Up to 50 simultaneous table operations are allowed per account. These operations 5360// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5361// and RestoreTableToPointInTime. 5362// 5363// The only exception is when you are creating a table with one or more secondary 5364// indexes. You can have up to 25 such requests running at a time; however, 5365// if the table or index specifications are complex, DynamoDB might temporarily 5366// reduce the number of concurrent operations. 5367// 5368// There is a soft account limit of 256 tables. 5369// 5370// * ResourceInUseException 5371// The operation conflicts with the resource's availability. For example, you 5372// attempted to recreate an existing table, or tried to delete a table currently 5373// in the CREATING state. 5374// 5375// * InternalServerError 5376// An error occurred on the server side. 5377// 5378// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings 5379func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) { 5380 req, out := c.UpdateGlobalTableSettingsRequest(input) 5381 return out, req.Send() 5382} 5383 5384// UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of 5385// the ability to pass a context and additional request options. 5386// 5387// See UpdateGlobalTableSettings for details on how to use this API operation. 5388// 5389// The context must be non-nil and will be used for request cancellation. If 5390// the context is nil a panic will occur. In the future the SDK may create 5391// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5392// for more information on using Contexts. 5393func (c *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) { 5394 req, out := c.UpdateGlobalTableSettingsRequest(input) 5395 req.SetContext(ctx) 5396 req.ApplyOptions(opts...) 5397 return out, req.Send() 5398} 5399 5400const opUpdateItem = "UpdateItem" 5401 5402// UpdateItemRequest generates a "aws/request.Request" representing the 5403// client's request for the UpdateItem operation. The "output" return 5404// value will be populated with the request's response once the request completes 5405// successfully. 5406// 5407// Use "Send" method on the returned Request to send the API call to the service. 5408// the "output" return value is not valid until after Send returns without error. 5409// 5410// See UpdateItem for more information on using the UpdateItem 5411// API call, and error handling. 5412// 5413// This method is useful when you want to inject custom logic or configuration 5414// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5415// 5416// 5417// // Example sending a request using the UpdateItemRequest method. 5418// req, resp := client.UpdateItemRequest(params) 5419// 5420// err := req.Send() 5421// if err == nil { // resp is now filled 5422// fmt.Println(resp) 5423// } 5424// 5425// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem 5426func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) { 5427 op := &request.Operation{ 5428 Name: opUpdateItem, 5429 HTTPMethod: "POST", 5430 HTTPPath: "/", 5431 } 5432 5433 if input == nil { 5434 input = &UpdateItemInput{} 5435 } 5436 5437 output = &UpdateItemOutput{} 5438 req = c.newRequest(op, input, output) 5439 // if custom endpoint for the request is set to a non empty string, 5440 // we skip the endpoint discovery workflow. 5441 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5442 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5443 de := discovererDescribeEndpoints{ 5444 Required: false, 5445 EndpointCache: c.endpointCache, 5446 Params: map[string]*string{ 5447 "op": aws.String(req.Operation.Name), 5448 }, 5449 Client: c, 5450 } 5451 5452 for k, v := range de.Params { 5453 if v == nil { 5454 delete(de.Params, k) 5455 } 5456 } 5457 5458 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5459 Name: "crr.endpointdiscovery", 5460 Fn: de.Handler, 5461 }) 5462 } 5463 } 5464 return 5465} 5466 5467// UpdateItem API operation for Amazon DynamoDB. 5468// 5469// Edits an existing item's attributes, or adds a new item to the table if it 5470// does not already exist. You can put, delete, or add attribute values. You 5471// can also perform a conditional update on an existing item (insert a new attribute 5472// name-value pair if it doesn't exist, or replace an existing name-value pair 5473// if it has certain expected attribute values). 5474// 5475// You can also return the item's attribute values in the same UpdateItem operation 5476// using the ReturnValues parameter. 5477// 5478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5479// with awserr.Error's Code and Message methods to get detailed information about 5480// the error. 5481// 5482// See the AWS API reference guide for Amazon DynamoDB's 5483// API operation UpdateItem for usage and error information. 5484// 5485// Returned Error Types: 5486// * ConditionalCheckFailedException 5487// A condition specified in the operation could not be evaluated. 5488// 5489// * ProvisionedThroughputExceededException 5490// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 5491// requests that receive this exception. Your request is eventually successful, 5492// unless your retry queue is too large to finish. Reduce the frequency of requests 5493// and use exponential backoff. For more information, go to Error Retries and 5494// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 5495// in the Amazon DynamoDB Developer Guide. 5496// 5497// * ResourceNotFoundException 5498// The operation tried to access a nonexistent table or index. The resource 5499// might not be specified correctly, or its status might not be ACTIVE. 5500// 5501// * ItemCollectionSizeLimitExceededException 5502// An item collection is too large. This exception is only returned for tables 5503// that have one or more local secondary indexes. 5504// 5505// * TransactionConflictException 5506// Operation was rejected because there is an ongoing transaction for the item. 5507// 5508// * RequestLimitExceeded 5509// Throughput exceeds the current throughput limit for your account. Please 5510// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 5511// a limit increase. 5512// 5513// * InternalServerError 5514// An error occurred on the server side. 5515// 5516// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem 5517func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) { 5518 req, out := c.UpdateItemRequest(input) 5519 return out, req.Send() 5520} 5521 5522// UpdateItemWithContext is the same as UpdateItem with the addition of 5523// the ability to pass a context and additional request options. 5524// 5525// See UpdateItem for details on how to use this API operation. 5526// 5527// The context must be non-nil and will be used for request cancellation. If 5528// the context is nil a panic will occur. In the future the SDK may create 5529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5530// for more information on using Contexts. 5531func (c *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) { 5532 req, out := c.UpdateItemRequest(input) 5533 req.SetContext(ctx) 5534 req.ApplyOptions(opts...) 5535 return out, req.Send() 5536} 5537 5538const opUpdateTable = "UpdateTable" 5539 5540// UpdateTableRequest generates a "aws/request.Request" representing the 5541// client's request for the UpdateTable operation. The "output" return 5542// value will be populated with the request's response once the request completes 5543// successfully. 5544// 5545// Use "Send" method on the returned Request to send the API call to the service. 5546// the "output" return value is not valid until after Send returns without error. 5547// 5548// See UpdateTable for more information on using the UpdateTable 5549// API call, and error handling. 5550// 5551// This method is useful when you want to inject custom logic or configuration 5552// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5553// 5554// 5555// // Example sending a request using the UpdateTableRequest method. 5556// req, resp := client.UpdateTableRequest(params) 5557// 5558// err := req.Send() 5559// if err == nil { // resp is now filled 5560// fmt.Println(resp) 5561// } 5562// 5563// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable 5564func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { 5565 op := &request.Operation{ 5566 Name: opUpdateTable, 5567 HTTPMethod: "POST", 5568 HTTPPath: "/", 5569 } 5570 5571 if input == nil { 5572 input = &UpdateTableInput{} 5573 } 5574 5575 output = &UpdateTableOutput{} 5576 req = c.newRequest(op, input, output) 5577 // if custom endpoint for the request is set to a non empty string, 5578 // we skip the endpoint discovery workflow. 5579 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5580 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5581 de := discovererDescribeEndpoints{ 5582 Required: false, 5583 EndpointCache: c.endpointCache, 5584 Params: map[string]*string{ 5585 "op": aws.String(req.Operation.Name), 5586 }, 5587 Client: c, 5588 } 5589 5590 for k, v := range de.Params { 5591 if v == nil { 5592 delete(de.Params, k) 5593 } 5594 } 5595 5596 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5597 Name: "crr.endpointdiscovery", 5598 Fn: de.Handler, 5599 }) 5600 } 5601 } 5602 return 5603} 5604 5605// UpdateTable API operation for Amazon DynamoDB. 5606// 5607// Modifies the provisioned throughput settings, global secondary indexes, or 5608// DynamoDB Streams settings for a given table. 5609// 5610// You can only perform one of the following operations at once: 5611// 5612// * Modify the provisioned throughput settings of the table. 5613// 5614// * Enable or disable DynamoDB Streams on the table. 5615// 5616// * Remove a global secondary index from the table. 5617// 5618// * Create a new global secondary index on the table. After the index begins 5619// backfilling, you can use UpdateTable to perform other operations. 5620// 5621// UpdateTable is an asynchronous operation; while it is executing, the table 5622// status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot 5623// issue another UpdateTable request. When the table returns to the ACTIVE state, 5624// the UpdateTable operation is complete. 5625// 5626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5627// with awserr.Error's Code and Message methods to get detailed information about 5628// the error. 5629// 5630// See the AWS API reference guide for Amazon DynamoDB's 5631// API operation UpdateTable for usage and error information. 5632// 5633// Returned Error Types: 5634// * ResourceInUseException 5635// The operation conflicts with the resource's availability. For example, you 5636// attempted to recreate an existing table, or tried to delete a table currently 5637// in the CREATING state. 5638// 5639// * ResourceNotFoundException 5640// The operation tried to access a nonexistent table or index. The resource 5641// might not be specified correctly, or its status might not be ACTIVE. 5642// 5643// * LimitExceededException 5644// There is no limit to the number of daily on-demand backups that can be taken. 5645// 5646// Up to 50 simultaneous table operations are allowed per account. These operations 5647// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5648// and RestoreTableToPointInTime. 5649// 5650// The only exception is when you are creating a table with one or more secondary 5651// indexes. You can have up to 25 such requests running at a time; however, 5652// if the table or index specifications are complex, DynamoDB might temporarily 5653// reduce the number of concurrent operations. 5654// 5655// There is a soft account limit of 256 tables. 5656// 5657// * InternalServerError 5658// An error occurred on the server side. 5659// 5660// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable 5661func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { 5662 req, out := c.UpdateTableRequest(input) 5663 return out, req.Send() 5664} 5665 5666// UpdateTableWithContext is the same as UpdateTable with the addition of 5667// the ability to pass a context and additional request options. 5668// 5669// See UpdateTable for details on how to use this API operation. 5670// 5671// The context must be non-nil and will be used for request cancellation. If 5672// the context is nil a panic will occur. In the future the SDK may create 5673// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5674// for more information on using Contexts. 5675func (c *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { 5676 req, out := c.UpdateTableRequest(input) 5677 req.SetContext(ctx) 5678 req.ApplyOptions(opts...) 5679 return out, req.Send() 5680} 5681 5682const opUpdateTableReplicaAutoScaling = "UpdateTableReplicaAutoScaling" 5683 5684// UpdateTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the 5685// client's request for the UpdateTableReplicaAutoScaling operation. The "output" return 5686// value will be populated with the request's response once the request completes 5687// successfully. 5688// 5689// Use "Send" method on the returned Request to send the API call to the service. 5690// the "output" return value is not valid until after Send returns without error. 5691// 5692// See UpdateTableReplicaAutoScaling for more information on using the UpdateTableReplicaAutoScaling 5693// API call, and error handling. 5694// 5695// This method is useful when you want to inject custom logic or configuration 5696// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5697// 5698// 5699// // Example sending a request using the UpdateTableReplicaAutoScalingRequest method. 5700// req, resp := client.UpdateTableReplicaAutoScalingRequest(params) 5701// 5702// err := req.Send() 5703// if err == nil { // resp is now filled 5704// fmt.Println(resp) 5705// } 5706// 5707// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling 5708func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplicaAutoScalingInput) (req *request.Request, output *UpdateTableReplicaAutoScalingOutput) { 5709 op := &request.Operation{ 5710 Name: opUpdateTableReplicaAutoScaling, 5711 HTTPMethod: "POST", 5712 HTTPPath: "/", 5713 } 5714 5715 if input == nil { 5716 input = &UpdateTableReplicaAutoScalingInput{} 5717 } 5718 5719 output = &UpdateTableReplicaAutoScalingOutput{} 5720 req = c.newRequest(op, input, output) 5721 return 5722} 5723 5724// UpdateTableReplicaAutoScaling API operation for Amazon DynamoDB. 5725// 5726// Updates auto scaling settings on your global tables at once. 5727// 5728// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 5729// of global tables. 5730// 5731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5732// with awserr.Error's Code and Message methods to get detailed information about 5733// the error. 5734// 5735// See the AWS API reference guide for Amazon DynamoDB's 5736// API operation UpdateTableReplicaAutoScaling for usage and error information. 5737// 5738// Returned Error Types: 5739// * ResourceNotFoundException 5740// The operation tried to access a nonexistent table or index. The resource 5741// might not be specified correctly, or its status might not be ACTIVE. 5742// 5743// * ResourceInUseException 5744// The operation conflicts with the resource's availability. For example, you 5745// attempted to recreate an existing table, or tried to delete a table currently 5746// in the CREATING state. 5747// 5748// * LimitExceededException 5749// There is no limit to the number of daily on-demand backups that can be taken. 5750// 5751// Up to 50 simultaneous table operations are allowed per account. These operations 5752// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5753// and RestoreTableToPointInTime. 5754// 5755// The only exception is when you are creating a table with one or more secondary 5756// indexes. You can have up to 25 such requests running at a time; however, 5757// if the table or index specifications are complex, DynamoDB might temporarily 5758// reduce the number of concurrent operations. 5759// 5760// There is a soft account limit of 256 tables. 5761// 5762// * InternalServerError 5763// An error occurred on the server side. 5764// 5765// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling 5766func (c *DynamoDB) UpdateTableReplicaAutoScaling(input *UpdateTableReplicaAutoScalingInput) (*UpdateTableReplicaAutoScalingOutput, error) { 5767 req, out := c.UpdateTableReplicaAutoScalingRequest(input) 5768 return out, req.Send() 5769} 5770 5771// UpdateTableReplicaAutoScalingWithContext is the same as UpdateTableReplicaAutoScaling with the addition of 5772// the ability to pass a context and additional request options. 5773// 5774// See UpdateTableReplicaAutoScaling for details on how to use this API operation. 5775// 5776// The context must be non-nil and will be used for request cancellation. If 5777// the context is nil a panic will occur. In the future the SDK may create 5778// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5779// for more information on using Contexts. 5780func (c *DynamoDB) UpdateTableReplicaAutoScalingWithContext(ctx aws.Context, input *UpdateTableReplicaAutoScalingInput, opts ...request.Option) (*UpdateTableReplicaAutoScalingOutput, error) { 5781 req, out := c.UpdateTableReplicaAutoScalingRequest(input) 5782 req.SetContext(ctx) 5783 req.ApplyOptions(opts...) 5784 return out, req.Send() 5785} 5786 5787const opUpdateTimeToLive = "UpdateTimeToLive" 5788 5789// UpdateTimeToLiveRequest generates a "aws/request.Request" representing the 5790// client's request for the UpdateTimeToLive operation. The "output" return 5791// value will be populated with the request's response once the request completes 5792// successfully. 5793// 5794// Use "Send" method on the returned Request to send the API call to the service. 5795// the "output" return value is not valid until after Send returns without error. 5796// 5797// See UpdateTimeToLive for more information on using the UpdateTimeToLive 5798// API call, and error handling. 5799// 5800// This method is useful when you want to inject custom logic or configuration 5801// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5802// 5803// 5804// // Example sending a request using the UpdateTimeToLiveRequest method. 5805// req, resp := client.UpdateTimeToLiveRequest(params) 5806// 5807// err := req.Send() 5808// if err == nil { // resp is now filled 5809// fmt.Println(resp) 5810// } 5811// 5812// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive 5813func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) { 5814 op := &request.Operation{ 5815 Name: opUpdateTimeToLive, 5816 HTTPMethod: "POST", 5817 HTTPPath: "/", 5818 } 5819 5820 if input == nil { 5821 input = &UpdateTimeToLiveInput{} 5822 } 5823 5824 output = &UpdateTimeToLiveOutput{} 5825 req = c.newRequest(op, input, output) 5826 // if custom endpoint for the request is set to a non empty string, 5827 // we skip the endpoint discovery workflow. 5828 if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { 5829 if aws.BoolValue(req.Config.EnableEndpointDiscovery) { 5830 de := discovererDescribeEndpoints{ 5831 Required: false, 5832 EndpointCache: c.endpointCache, 5833 Params: map[string]*string{ 5834 "op": aws.String(req.Operation.Name), 5835 }, 5836 Client: c, 5837 } 5838 5839 for k, v := range de.Params { 5840 if v == nil { 5841 delete(de.Params, k) 5842 } 5843 } 5844 5845 req.Handlers.Build.PushFrontNamed(request.NamedHandler{ 5846 Name: "crr.endpointdiscovery", 5847 Fn: de.Handler, 5848 }) 5849 } 5850 } 5851 return 5852} 5853 5854// UpdateTimeToLive API operation for Amazon DynamoDB. 5855// 5856// The UpdateTimeToLive method enables or disables Time to Live (TTL) for the 5857// specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. 5858// It can take up to one hour for the change to fully process. Any additional 5859// UpdateTimeToLive calls for the same table during this one hour duration result 5860// in a ValidationException. 5861// 5862// TTL compares the current time in epoch time format to the time stored in 5863// the TTL attribute of an item. If the epoch time value stored in the attribute 5864// is less than the current time, the item is marked as expired and subsequently 5865// deleted. 5866// 5867// The epoch time format is the number of seconds elapsed since 12:00:00 AM 5868// January 1, 1970 UTC. 5869// 5870// DynamoDB deletes expired items on a best-effort basis to ensure availability 5871// of throughput for other data operations. 5872// 5873// DynamoDB typically deletes expired items within two days of expiration. The 5874// exact duration within which an item gets deleted after expiration is specific 5875// to the nature of the workload. Items that have expired and not been deleted 5876// will still show up in reads, queries, and scans. 5877// 5878// As items are deleted, they are removed from any local secondary index and 5879// global secondary index immediately in the same eventually consistent way 5880// as a standard delete operation. 5881// 5882// For more information, see Time To Live (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) 5883// in the Amazon DynamoDB Developer Guide. 5884// 5885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5886// with awserr.Error's Code and Message methods to get detailed information about 5887// the error. 5888// 5889// See the AWS API reference guide for Amazon DynamoDB's 5890// API operation UpdateTimeToLive for usage and error information. 5891// 5892// Returned Error Types: 5893// * ResourceInUseException 5894// The operation conflicts with the resource's availability. For example, you 5895// attempted to recreate an existing table, or tried to delete a table currently 5896// in the CREATING state. 5897// 5898// * ResourceNotFoundException 5899// The operation tried to access a nonexistent table or index. The resource 5900// might not be specified correctly, or its status might not be ACTIVE. 5901// 5902// * LimitExceededException 5903// There is no limit to the number of daily on-demand backups that can be taken. 5904// 5905// Up to 50 simultaneous table operations are allowed per account. These operations 5906// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 5907// and RestoreTableToPointInTime. 5908// 5909// The only exception is when you are creating a table with one or more secondary 5910// indexes. You can have up to 25 such requests running at a time; however, 5911// if the table or index specifications are complex, DynamoDB might temporarily 5912// reduce the number of concurrent operations. 5913// 5914// There is a soft account limit of 256 tables. 5915// 5916// * InternalServerError 5917// An error occurred on the server side. 5918// 5919// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive 5920func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) { 5921 req, out := c.UpdateTimeToLiveRequest(input) 5922 return out, req.Send() 5923} 5924 5925// UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of 5926// the ability to pass a context and additional request options. 5927// 5928// See UpdateTimeToLive for details on how to use this API operation. 5929// 5930// The context must be non-nil and will be used for request cancellation. If 5931// the context is nil a panic will occur. In the future the SDK may create 5932// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5933// for more information on using Contexts. 5934func (c *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) { 5935 req, out := c.UpdateTimeToLiveRequest(input) 5936 req.SetContext(ctx) 5937 req.ApplyOptions(opts...) 5938 return out, req.Send() 5939} 5940 5941// Contains details of a table archival operation. 5942type ArchivalSummary struct { 5943 _ struct{} `type:"structure"` 5944 5945 // The Amazon Resource Name (ARN) of the backup the table was archived to, when 5946 // applicable in the archival reason. If you wish to restore this backup to 5947 // the same table name, you will need to delete the original table. 5948 ArchivalBackupArn *string `min:"37" type:"string"` 5949 5950 // The date and time when table archival was initiated by DynamoDB, in UNIX 5951 // epoch time format. 5952 ArchivalDateTime *time.Time `type:"timestamp"` 5953 5954 // The reason DynamoDB archived the table. Currently, the only possible value 5955 // is: 5956 // 5957 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to 5958 // the table's AWS KMS key being inaccessible for more than seven days. An 5959 // On-Demand backup was created at the archival time. 5960 ArchivalReason *string `type:"string"` 5961} 5962 5963// String returns the string representation 5964func (s ArchivalSummary) String() string { 5965 return awsutil.Prettify(s) 5966} 5967 5968// GoString returns the string representation 5969func (s ArchivalSummary) GoString() string { 5970 return s.String() 5971} 5972 5973// SetArchivalBackupArn sets the ArchivalBackupArn field's value. 5974func (s *ArchivalSummary) SetArchivalBackupArn(v string) *ArchivalSummary { 5975 s.ArchivalBackupArn = &v 5976 return s 5977} 5978 5979// SetArchivalDateTime sets the ArchivalDateTime field's value. 5980func (s *ArchivalSummary) SetArchivalDateTime(v time.Time) *ArchivalSummary { 5981 s.ArchivalDateTime = &v 5982 return s 5983} 5984 5985// SetArchivalReason sets the ArchivalReason field's value. 5986func (s *ArchivalSummary) SetArchivalReason(v string) *ArchivalSummary { 5987 s.ArchivalReason = &v 5988 return s 5989} 5990 5991// Represents an attribute for describing the key schema for the table and indexes. 5992type AttributeDefinition struct { 5993 _ struct{} `type:"structure"` 5994 5995 // A name for the attribute. 5996 // 5997 // AttributeName is a required field 5998 AttributeName *string `min:"1" type:"string" required:"true"` 5999 6000 // The data type for the attribute, where: 6001 // 6002 // * S - the attribute is of type String 6003 // 6004 // * N - the attribute is of type Number 6005 // 6006 // * B - the attribute is of type Binary 6007 // 6008 // AttributeType is a required field 6009 AttributeType *string `type:"string" required:"true" enum:"ScalarAttributeType"` 6010} 6011 6012// String returns the string representation 6013func (s AttributeDefinition) String() string { 6014 return awsutil.Prettify(s) 6015} 6016 6017// GoString returns the string representation 6018func (s AttributeDefinition) GoString() string { 6019 return s.String() 6020} 6021 6022// Validate inspects the fields of the type to determine if they are valid. 6023func (s *AttributeDefinition) Validate() error { 6024 invalidParams := request.ErrInvalidParams{Context: "AttributeDefinition"} 6025 if s.AttributeName == nil { 6026 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 6027 } 6028 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 6029 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 6030 } 6031 if s.AttributeType == nil { 6032 invalidParams.Add(request.NewErrParamRequired("AttributeType")) 6033 } 6034 6035 if invalidParams.Len() > 0 { 6036 return invalidParams 6037 } 6038 return nil 6039} 6040 6041// SetAttributeName sets the AttributeName field's value. 6042func (s *AttributeDefinition) SetAttributeName(v string) *AttributeDefinition { 6043 s.AttributeName = &v 6044 return s 6045} 6046 6047// SetAttributeType sets the AttributeType field's value. 6048func (s *AttributeDefinition) SetAttributeType(v string) *AttributeDefinition { 6049 s.AttributeType = &v 6050 return s 6051} 6052 6053// Represents the data for an attribute. 6054// 6055// Each attribute value is described as a name-value pair. The name is the data 6056// type, and the value is the data itself. 6057// 6058// For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 6059// in the Amazon DynamoDB Developer Guide. 6060type AttributeValue struct { 6061 _ struct{} `type:"structure"` 6062 6063 // An attribute of type Binary. For example: 6064 // 6065 // "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk" 6066 // 6067 // B is automatically base64 encoded/decoded by the SDK. 6068 B []byte `type:"blob"` 6069 6070 // An attribute of type Boolean. For example: 6071 // 6072 // "BOOL": true 6073 BOOL *bool `type:"boolean"` 6074 6075 // An attribute of type Binary Set. For example: 6076 // 6077 // "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="] 6078 BS [][]byte `type:"list"` 6079 6080 // An attribute of type List. For example: 6081 // 6082 // "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] 6083 L []*AttributeValue `type:"list"` 6084 6085 // An attribute of type Map. For example: 6086 // 6087 // "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}} 6088 M map[string]*AttributeValue `type:"map"` 6089 6090 // An attribute of type Number. For example: 6091 // 6092 // "N": "123.45" 6093 // 6094 // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility 6095 // across languages and libraries. However, DynamoDB treats them as number type 6096 // attributes for mathematical operations. 6097 N *string `type:"string"` 6098 6099 // An attribute of type Number Set. For example: 6100 // 6101 // "NS": ["42.2", "-19", "7.5", "3.14"] 6102 // 6103 // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility 6104 // across languages and libraries. However, DynamoDB treats them as number type 6105 // attributes for mathematical operations. 6106 NS []*string `type:"list"` 6107 6108 // An attribute of type Null. For example: 6109 // 6110 // "NULL": true 6111 NULL *bool `type:"boolean"` 6112 6113 // An attribute of type String. For example: 6114 // 6115 // "S": "Hello" 6116 S *string `type:"string"` 6117 6118 // An attribute of type String Set. For example: 6119 // 6120 // "SS": ["Giraffe", "Hippo" ,"Zebra"] 6121 SS []*string `type:"list"` 6122} 6123 6124// String returns the string representation 6125func (s AttributeValue) String() string { 6126 return awsutil.Prettify(s) 6127} 6128 6129// GoString returns the string representation 6130func (s AttributeValue) GoString() string { 6131 return s.String() 6132} 6133 6134// SetB sets the B field's value. 6135func (s *AttributeValue) SetB(v []byte) *AttributeValue { 6136 s.B = v 6137 return s 6138} 6139 6140// SetBOOL sets the BOOL field's value. 6141func (s *AttributeValue) SetBOOL(v bool) *AttributeValue { 6142 s.BOOL = &v 6143 return s 6144} 6145 6146// SetBS sets the BS field's value. 6147func (s *AttributeValue) SetBS(v [][]byte) *AttributeValue { 6148 s.BS = v 6149 return s 6150} 6151 6152// SetL sets the L field's value. 6153func (s *AttributeValue) SetL(v []*AttributeValue) *AttributeValue { 6154 s.L = v 6155 return s 6156} 6157 6158// SetM sets the M field's value. 6159func (s *AttributeValue) SetM(v map[string]*AttributeValue) *AttributeValue { 6160 s.M = v 6161 return s 6162} 6163 6164// SetN sets the N field's value. 6165func (s *AttributeValue) SetN(v string) *AttributeValue { 6166 s.N = &v 6167 return s 6168} 6169 6170// SetNS sets the NS field's value. 6171func (s *AttributeValue) SetNS(v []*string) *AttributeValue { 6172 s.NS = v 6173 return s 6174} 6175 6176// SetNULL sets the NULL field's value. 6177func (s *AttributeValue) SetNULL(v bool) *AttributeValue { 6178 s.NULL = &v 6179 return s 6180} 6181 6182// SetS sets the S field's value. 6183func (s *AttributeValue) SetS(v string) *AttributeValue { 6184 s.S = &v 6185 return s 6186} 6187 6188// SetSS sets the SS field's value. 6189func (s *AttributeValue) SetSS(v []*string) *AttributeValue { 6190 s.SS = v 6191 return s 6192} 6193 6194// For the UpdateItem operation, represents the attributes to be modified, the 6195// action to perform on each, and the new value for each. 6196// 6197// You cannot use UpdateItem to update any primary key attributes. Instead, 6198// you will need to delete the item, and then use PutItem to create a new item 6199// with new attributes. 6200// 6201// Attribute values cannot be null; string and binary type attributes must have 6202// lengths greater than zero; and set type attributes must not be empty. Requests 6203// with empty values will be rejected with a ValidationException exception. 6204type AttributeValueUpdate struct { 6205 _ struct{} `type:"structure"` 6206 6207 // Specifies how to perform the update. Valid values are PUT (default), DELETE, 6208 // and ADD. The behavior depends on whether the specified primary key already 6209 // exists in the table. 6210 // 6211 // If an item with the specified Key is found in the table: 6212 // 6213 // * PUT - Adds the specified attribute to the item. If the attribute already 6214 // exists, it is replaced by the new value. 6215 // 6216 // * DELETE - If no value is specified, the attribute and its value are removed 6217 // from the item. The data type of the specified value must match the existing 6218 // value's data type. If a set of values is specified, then those values 6219 // are subtracted from the old set. For example, if the attribute value was 6220 // the set [a,b,c] and the DELETE action specified [a,c], then the final 6221 // attribute value would be [b]. Specifying an empty set is an error. 6222 // 6223 // * ADD - If the attribute does not already exist, then the attribute and 6224 // its values are added to the item. If the attribute does exist, then the 6225 // behavior of ADD depends on the data type of the attribute: If the existing 6226 // attribute is a number, and if Value is also a number, then the Value is 6227 // mathematically added to the existing attribute. If Value is a negative 6228 // number, then it is subtracted from the existing attribute. If you use 6229 // ADD to increment or decrement a number value for an item that doesn't 6230 // exist before the update, DynamoDB uses 0 as the initial value. In addition, 6231 // if you use ADD to update an existing item, and intend to increment or 6232 // decrement an attribute value which does not yet exist, DynamoDB uses 0 6233 // as the initial value. For example, suppose that the item you want to update 6234 // does not yet have an attribute named itemcount, but you decide to ADD 6235 // the number 3 to this attribute anyway, even though it currently does not 6236 // exist. DynamoDB will create the itemcount attribute, set its initial value 6237 // to 0, and finally add 3 to it. The result will be a new itemcount attribute 6238 // in the item, with a value of 3. If the existing data type is a set, and 6239 // if the Value is also a set, then the Value is added to the existing set. 6240 // (This is a set operation, not mathematical addition.) For example, if 6241 // the attribute value was the set [1,2], and the ADD action specified [3], 6242 // then the final attribute value would be [1,2,3]. An error occurs if an 6243 // Add action is specified for a set attribute and the attribute type specified 6244 // does not match the existing set type. Both sets must have the same primitive 6245 // data type. For example, if the existing data type is a set of strings, 6246 // the Value must also be a set of strings. The same holds true for number 6247 // sets and binary sets. This action is only valid for an existing attribute 6248 // whose data type is number or is a set. Do not use ADD for any other data 6249 // types. 6250 // 6251 // If no item with the specified Key is found: 6252 // 6253 // * PUT - DynamoDB creates a new item with the specified primary key, and 6254 // then adds the attribute. 6255 // 6256 // * DELETE - Nothing happens; there is no attribute to delete. 6257 // 6258 // * ADD - DynamoDB creates an item with the supplied primary key and number 6259 // (or set of numbers) for the attribute value. The only data types allowed 6260 // are number and number set; no other data types can be specified. 6261 Action *string `type:"string" enum:"AttributeAction"` 6262 6263 // Represents the data for an attribute. 6264 // 6265 // Each attribute value is described as a name-value pair. The name is the data 6266 // type, and the value is the data itself. 6267 // 6268 // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 6269 // in the Amazon DynamoDB Developer Guide. 6270 Value *AttributeValue `type:"structure"` 6271} 6272 6273// String returns the string representation 6274func (s AttributeValueUpdate) String() string { 6275 return awsutil.Prettify(s) 6276} 6277 6278// GoString returns the string representation 6279func (s AttributeValueUpdate) GoString() string { 6280 return s.String() 6281} 6282 6283// SetAction sets the Action field's value. 6284func (s *AttributeValueUpdate) SetAction(v string) *AttributeValueUpdate { 6285 s.Action = &v 6286 return s 6287} 6288 6289// SetValue sets the Value field's value. 6290func (s *AttributeValueUpdate) SetValue(v *AttributeValue) *AttributeValueUpdate { 6291 s.Value = v 6292 return s 6293} 6294 6295// Represents the properties of the scaling policy. 6296type AutoScalingPolicyDescription struct { 6297 _ struct{} `type:"structure"` 6298 6299 // The name of the scaling policy. 6300 PolicyName *string `min:"1" type:"string"` 6301 6302 // Represents a target tracking scaling policy configuration. 6303 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationDescription `type:"structure"` 6304} 6305 6306// String returns the string representation 6307func (s AutoScalingPolicyDescription) String() string { 6308 return awsutil.Prettify(s) 6309} 6310 6311// GoString returns the string representation 6312func (s AutoScalingPolicyDescription) GoString() string { 6313 return s.String() 6314} 6315 6316// SetPolicyName sets the PolicyName field's value. 6317func (s *AutoScalingPolicyDescription) SetPolicyName(v string) *AutoScalingPolicyDescription { 6318 s.PolicyName = &v 6319 return s 6320} 6321 6322// SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 6323func (s *AutoScalingPolicyDescription) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) *AutoScalingPolicyDescription { 6324 s.TargetTrackingScalingPolicyConfiguration = v 6325 return s 6326} 6327 6328// Represents the auto scaling policy to be modified. 6329type AutoScalingPolicyUpdate struct { 6330 _ struct{} `type:"structure"` 6331 6332 // The name of the scaling policy. 6333 PolicyName *string `min:"1" type:"string"` 6334 6335 // Represents a target tracking scaling policy configuration. 6336 // 6337 // TargetTrackingScalingPolicyConfiguration is a required field 6338 TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate `type:"structure" required:"true"` 6339} 6340 6341// String returns the string representation 6342func (s AutoScalingPolicyUpdate) String() string { 6343 return awsutil.Prettify(s) 6344} 6345 6346// GoString returns the string representation 6347func (s AutoScalingPolicyUpdate) GoString() string { 6348 return s.String() 6349} 6350 6351// Validate inspects the fields of the type to determine if they are valid. 6352func (s *AutoScalingPolicyUpdate) Validate() error { 6353 invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicyUpdate"} 6354 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 6355 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 6356 } 6357 if s.TargetTrackingScalingPolicyConfiguration == nil { 6358 invalidParams.Add(request.NewErrParamRequired("TargetTrackingScalingPolicyConfiguration")) 6359 } 6360 if s.TargetTrackingScalingPolicyConfiguration != nil { 6361 if err := s.TargetTrackingScalingPolicyConfiguration.Validate(); err != nil { 6362 invalidParams.AddNested("TargetTrackingScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 6363 } 6364 } 6365 6366 if invalidParams.Len() > 0 { 6367 return invalidParams 6368 } 6369 return nil 6370} 6371 6372// SetPolicyName sets the PolicyName field's value. 6373func (s *AutoScalingPolicyUpdate) SetPolicyName(v string) *AutoScalingPolicyUpdate { 6374 s.PolicyName = &v 6375 return s 6376} 6377 6378// SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 6379func (s *AutoScalingPolicyUpdate) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) *AutoScalingPolicyUpdate { 6380 s.TargetTrackingScalingPolicyConfiguration = v 6381 return s 6382} 6383 6384// Represents the auto scaling settings for a global table or global secondary 6385// index. 6386type AutoScalingSettingsDescription struct { 6387 _ struct{} `type:"structure"` 6388 6389 // Disabled auto scaling for this global table or global secondary index. 6390 AutoScalingDisabled *bool `type:"boolean"` 6391 6392 // Role ARN used for configuring the auto scaling policy. 6393 AutoScalingRoleArn *string `type:"string"` 6394 6395 // The maximum capacity units that a global table or global secondary index 6396 // should be scaled up to. 6397 MaximumUnits *int64 `min:"1" type:"long"` 6398 6399 // The minimum capacity units that a global table or global secondary index 6400 // should be scaled down to. 6401 MinimumUnits *int64 `min:"1" type:"long"` 6402 6403 // Information about the scaling policies. 6404 ScalingPolicies []*AutoScalingPolicyDescription `type:"list"` 6405} 6406 6407// String returns the string representation 6408func (s AutoScalingSettingsDescription) String() string { 6409 return awsutil.Prettify(s) 6410} 6411 6412// GoString returns the string representation 6413func (s AutoScalingSettingsDescription) GoString() string { 6414 return s.String() 6415} 6416 6417// SetAutoScalingDisabled sets the AutoScalingDisabled field's value. 6418func (s *AutoScalingSettingsDescription) SetAutoScalingDisabled(v bool) *AutoScalingSettingsDescription { 6419 s.AutoScalingDisabled = &v 6420 return s 6421} 6422 6423// SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value. 6424func (s *AutoScalingSettingsDescription) SetAutoScalingRoleArn(v string) *AutoScalingSettingsDescription { 6425 s.AutoScalingRoleArn = &v 6426 return s 6427} 6428 6429// SetMaximumUnits sets the MaximumUnits field's value. 6430func (s *AutoScalingSettingsDescription) SetMaximumUnits(v int64) *AutoScalingSettingsDescription { 6431 s.MaximumUnits = &v 6432 return s 6433} 6434 6435// SetMinimumUnits sets the MinimumUnits field's value. 6436func (s *AutoScalingSettingsDescription) SetMinimumUnits(v int64) *AutoScalingSettingsDescription { 6437 s.MinimumUnits = &v 6438 return s 6439} 6440 6441// SetScalingPolicies sets the ScalingPolicies field's value. 6442func (s *AutoScalingSettingsDescription) SetScalingPolicies(v []*AutoScalingPolicyDescription) *AutoScalingSettingsDescription { 6443 s.ScalingPolicies = v 6444 return s 6445} 6446 6447// Represents the auto scaling settings to be modified for a global table or 6448// global secondary index. 6449type AutoScalingSettingsUpdate struct { 6450 _ struct{} `type:"structure"` 6451 6452 // Disabled auto scaling for this global table or global secondary index. 6453 AutoScalingDisabled *bool `type:"boolean"` 6454 6455 // Role ARN used for configuring auto scaling policy. 6456 AutoScalingRoleArn *string `min:"1" type:"string"` 6457 6458 // The maximum capacity units that a global table or global secondary index 6459 // should be scaled up to. 6460 MaximumUnits *int64 `min:"1" type:"long"` 6461 6462 // The minimum capacity units that a global table or global secondary index 6463 // should be scaled down to. 6464 MinimumUnits *int64 `min:"1" type:"long"` 6465 6466 // The scaling policy to apply for scaling target global table or global secondary 6467 // index capacity units. 6468 ScalingPolicyUpdate *AutoScalingPolicyUpdate `type:"structure"` 6469} 6470 6471// String returns the string representation 6472func (s AutoScalingSettingsUpdate) String() string { 6473 return awsutil.Prettify(s) 6474} 6475 6476// GoString returns the string representation 6477func (s AutoScalingSettingsUpdate) GoString() string { 6478 return s.String() 6479} 6480 6481// Validate inspects the fields of the type to determine if they are valid. 6482func (s *AutoScalingSettingsUpdate) Validate() error { 6483 invalidParams := request.ErrInvalidParams{Context: "AutoScalingSettingsUpdate"} 6484 if s.AutoScalingRoleArn != nil && len(*s.AutoScalingRoleArn) < 1 { 6485 invalidParams.Add(request.NewErrParamMinLen("AutoScalingRoleArn", 1)) 6486 } 6487 if s.MaximumUnits != nil && *s.MaximumUnits < 1 { 6488 invalidParams.Add(request.NewErrParamMinValue("MaximumUnits", 1)) 6489 } 6490 if s.MinimumUnits != nil && *s.MinimumUnits < 1 { 6491 invalidParams.Add(request.NewErrParamMinValue("MinimumUnits", 1)) 6492 } 6493 if s.ScalingPolicyUpdate != nil { 6494 if err := s.ScalingPolicyUpdate.Validate(); err != nil { 6495 invalidParams.AddNested("ScalingPolicyUpdate", err.(request.ErrInvalidParams)) 6496 } 6497 } 6498 6499 if invalidParams.Len() > 0 { 6500 return invalidParams 6501 } 6502 return nil 6503} 6504 6505// SetAutoScalingDisabled sets the AutoScalingDisabled field's value. 6506func (s *AutoScalingSettingsUpdate) SetAutoScalingDisabled(v bool) *AutoScalingSettingsUpdate { 6507 s.AutoScalingDisabled = &v 6508 return s 6509} 6510 6511// SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value. 6512func (s *AutoScalingSettingsUpdate) SetAutoScalingRoleArn(v string) *AutoScalingSettingsUpdate { 6513 s.AutoScalingRoleArn = &v 6514 return s 6515} 6516 6517// SetMaximumUnits sets the MaximumUnits field's value. 6518func (s *AutoScalingSettingsUpdate) SetMaximumUnits(v int64) *AutoScalingSettingsUpdate { 6519 s.MaximumUnits = &v 6520 return s 6521} 6522 6523// SetMinimumUnits sets the MinimumUnits field's value. 6524func (s *AutoScalingSettingsUpdate) SetMinimumUnits(v int64) *AutoScalingSettingsUpdate { 6525 s.MinimumUnits = &v 6526 return s 6527} 6528 6529// SetScalingPolicyUpdate sets the ScalingPolicyUpdate field's value. 6530func (s *AutoScalingSettingsUpdate) SetScalingPolicyUpdate(v *AutoScalingPolicyUpdate) *AutoScalingSettingsUpdate { 6531 s.ScalingPolicyUpdate = v 6532 return s 6533} 6534 6535// Represents the properties of a target tracking scaling policy. 6536type AutoScalingTargetTrackingScalingPolicyConfigurationDescription struct { 6537 _ struct{} `type:"structure"` 6538 6539 // Indicates whether scale in by the target tracking policy is disabled. If 6540 // the value is true, scale in is disabled and the target tracking policy won't 6541 // remove capacity from the scalable resource. Otherwise, scale in is enabled 6542 // and the target tracking policy can remove capacity from the scalable resource. 6543 // The default value is false. 6544 DisableScaleIn *bool `type:"boolean"` 6545 6546 // The amount of time, in seconds, after a scale in activity completes before 6547 // another scale in activity can start. The cooldown period is used to block 6548 // subsequent scale in requests until it has expired. You should scale in conservatively 6549 // to protect your application's availability. However, if another alarm triggers 6550 // a scale out policy during the cooldown period after a scale-in, application 6551 // auto scaling scales out your scalable target immediately. 6552 ScaleInCooldown *int64 `type:"integer"` 6553 6554 // The amount of time, in seconds, after a scale out activity completes before 6555 // another scale out activity can start. While the cooldown period is in effect, 6556 // the capacity that has been added by the previous scale out event that initiated 6557 // the cooldown is calculated as part of the desired capacity for the next scale 6558 // out. You should continuously (but not excessively) scale out. 6559 ScaleOutCooldown *int64 `type:"integer"` 6560 6561 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 6562 // (Base 10) or 2e-360 to 2e360 (Base 2). 6563 // 6564 // TargetValue is a required field 6565 TargetValue *float64 `type:"double" required:"true"` 6566} 6567 6568// String returns the string representation 6569func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) String() string { 6570 return awsutil.Prettify(s) 6571} 6572 6573// GoString returns the string representation 6574func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) GoString() string { 6575 return s.String() 6576} 6577 6578// SetDisableScaleIn sets the DisableScaleIn field's value. 6579func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 6580 s.DisableScaleIn = &v 6581 return s 6582} 6583 6584// SetScaleInCooldown sets the ScaleInCooldown field's value. 6585func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 6586 s.ScaleInCooldown = &v 6587 return s 6588} 6589 6590// SetScaleOutCooldown sets the ScaleOutCooldown field's value. 6591func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 6592 s.ScaleOutCooldown = &v 6593 return s 6594} 6595 6596// SetTargetValue sets the TargetValue field's value. 6597func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription { 6598 s.TargetValue = &v 6599 return s 6600} 6601 6602// Represents the settings of a target tracking scaling policy that will be 6603// modified. 6604type AutoScalingTargetTrackingScalingPolicyConfigurationUpdate struct { 6605 _ struct{} `type:"structure"` 6606 6607 // Indicates whether scale in by the target tracking policy is disabled. If 6608 // the value is true, scale in is disabled and the target tracking policy won't 6609 // remove capacity from the scalable resource. Otherwise, scale in is enabled 6610 // and the target tracking policy can remove capacity from the scalable resource. 6611 // The default value is false. 6612 DisableScaleIn *bool `type:"boolean"` 6613 6614 // The amount of time, in seconds, after a scale in activity completes before 6615 // another scale in activity can start. The cooldown period is used to block 6616 // subsequent scale in requests until it has expired. You should scale in conservatively 6617 // to protect your application's availability. However, if another alarm triggers 6618 // a scale out policy during the cooldown period after a scale-in, application 6619 // auto scaling scales out your scalable target immediately. 6620 ScaleInCooldown *int64 `type:"integer"` 6621 6622 // The amount of time, in seconds, after a scale out activity completes before 6623 // another scale out activity can start. While the cooldown period is in effect, 6624 // the capacity that has been added by the previous scale out event that initiated 6625 // the cooldown is calculated as part of the desired capacity for the next scale 6626 // out. You should continuously (but not excessively) scale out. 6627 ScaleOutCooldown *int64 `type:"integer"` 6628 6629 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 6630 // (Base 10) or 2e-360 to 2e360 (Base 2). 6631 // 6632 // TargetValue is a required field 6633 TargetValue *float64 `type:"double" required:"true"` 6634} 6635 6636// String returns the string representation 6637func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) String() string { 6638 return awsutil.Prettify(s) 6639} 6640 6641// GoString returns the string representation 6642func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) GoString() string { 6643 return s.String() 6644} 6645 6646// Validate inspects the fields of the type to determine if they are valid. 6647func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) Validate() error { 6648 invalidParams := request.ErrInvalidParams{Context: "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate"} 6649 if s.TargetValue == nil { 6650 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 6651 } 6652 6653 if invalidParams.Len() > 0 { 6654 return invalidParams 6655 } 6656 return nil 6657} 6658 6659// SetDisableScaleIn sets the DisableScaleIn field's value. 6660func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 6661 s.DisableScaleIn = &v 6662 return s 6663} 6664 6665// SetScaleInCooldown sets the ScaleInCooldown field's value. 6666func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 6667 s.ScaleInCooldown = &v 6668 return s 6669} 6670 6671// SetScaleOutCooldown sets the ScaleOutCooldown field's value. 6672func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 6673 s.ScaleOutCooldown = &v 6674 return s 6675} 6676 6677// SetTargetValue sets the TargetValue field's value. 6678func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate { 6679 s.TargetValue = &v 6680 return s 6681} 6682 6683// Contains the description of the backup created for the table. 6684type BackupDescription struct { 6685 _ struct{} `type:"structure"` 6686 6687 // Contains the details of the backup created for the table. 6688 BackupDetails *BackupDetails `type:"structure"` 6689 6690 // Contains the details of the table when the backup was created. 6691 SourceTableDetails *SourceTableDetails `type:"structure"` 6692 6693 // Contains the details of the features enabled on the table when the backup 6694 // was created. For example, LSIs, GSIs, streams, TTL. 6695 SourceTableFeatureDetails *SourceTableFeatureDetails `type:"structure"` 6696} 6697 6698// String returns the string representation 6699func (s BackupDescription) String() string { 6700 return awsutil.Prettify(s) 6701} 6702 6703// GoString returns the string representation 6704func (s BackupDescription) GoString() string { 6705 return s.String() 6706} 6707 6708// SetBackupDetails sets the BackupDetails field's value. 6709func (s *BackupDescription) SetBackupDetails(v *BackupDetails) *BackupDescription { 6710 s.BackupDetails = v 6711 return s 6712} 6713 6714// SetSourceTableDetails sets the SourceTableDetails field's value. 6715func (s *BackupDescription) SetSourceTableDetails(v *SourceTableDetails) *BackupDescription { 6716 s.SourceTableDetails = v 6717 return s 6718} 6719 6720// SetSourceTableFeatureDetails sets the SourceTableFeatureDetails field's value. 6721func (s *BackupDescription) SetSourceTableFeatureDetails(v *SourceTableFeatureDetails) *BackupDescription { 6722 s.SourceTableFeatureDetails = v 6723 return s 6724} 6725 6726// Contains the details of the backup created for the table. 6727type BackupDetails struct { 6728 _ struct{} `type:"structure"` 6729 6730 // ARN associated with the backup. 6731 // 6732 // BackupArn is a required field 6733 BackupArn *string `min:"37" type:"string" required:"true"` 6734 6735 // Time at which the backup was created. This is the request time of the backup. 6736 // 6737 // BackupCreationDateTime is a required field 6738 BackupCreationDateTime *time.Time `type:"timestamp" required:"true"` 6739 6740 // Time at which the automatic on-demand backup created by DynamoDB will expire. 6741 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 6742 BackupExpiryDateTime *time.Time `type:"timestamp"` 6743 6744 // Name of the requested backup. 6745 // 6746 // BackupName is a required field 6747 BackupName *string `min:"3" type:"string" required:"true"` 6748 6749 // Size of the backup in bytes. 6750 BackupSizeBytes *int64 `type:"long"` 6751 6752 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 6753 // 6754 // BackupStatus is a required field 6755 BackupStatus *string `type:"string" required:"true" enum:"BackupStatus"` 6756 6757 // BackupType: 6758 // 6759 // * USER - You create and manage these using the on-demand backup feature. 6760 // 6761 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 6762 // a SYSTEM backup is automatically created and is retained for 35 days (at 6763 // no additional cost). System backups allow you to restore the deleted table 6764 // to the state it was in just before the point of deletion. 6765 // 6766 // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. 6767 // 6768 // BackupType is a required field 6769 BackupType *string `type:"string" required:"true" enum:"BackupType"` 6770} 6771 6772// String returns the string representation 6773func (s BackupDetails) String() string { 6774 return awsutil.Prettify(s) 6775} 6776 6777// GoString returns the string representation 6778func (s BackupDetails) GoString() string { 6779 return s.String() 6780} 6781 6782// SetBackupArn sets the BackupArn field's value. 6783func (s *BackupDetails) SetBackupArn(v string) *BackupDetails { 6784 s.BackupArn = &v 6785 return s 6786} 6787 6788// SetBackupCreationDateTime sets the BackupCreationDateTime field's value. 6789func (s *BackupDetails) SetBackupCreationDateTime(v time.Time) *BackupDetails { 6790 s.BackupCreationDateTime = &v 6791 return s 6792} 6793 6794// SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value. 6795func (s *BackupDetails) SetBackupExpiryDateTime(v time.Time) *BackupDetails { 6796 s.BackupExpiryDateTime = &v 6797 return s 6798} 6799 6800// SetBackupName sets the BackupName field's value. 6801func (s *BackupDetails) SetBackupName(v string) *BackupDetails { 6802 s.BackupName = &v 6803 return s 6804} 6805 6806// SetBackupSizeBytes sets the BackupSizeBytes field's value. 6807func (s *BackupDetails) SetBackupSizeBytes(v int64) *BackupDetails { 6808 s.BackupSizeBytes = &v 6809 return s 6810} 6811 6812// SetBackupStatus sets the BackupStatus field's value. 6813func (s *BackupDetails) SetBackupStatus(v string) *BackupDetails { 6814 s.BackupStatus = &v 6815 return s 6816} 6817 6818// SetBackupType sets the BackupType field's value. 6819func (s *BackupDetails) SetBackupType(v string) *BackupDetails { 6820 s.BackupType = &v 6821 return s 6822} 6823 6824// There is another ongoing conflicting backup control plane operation on the 6825// table. The backup is either being created, deleted or restored to a table. 6826type BackupInUseException struct { 6827 _ struct{} `type:"structure"` 6828 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6829 6830 Message_ *string `locationName:"message" type:"string"` 6831} 6832 6833// String returns the string representation 6834func (s BackupInUseException) String() string { 6835 return awsutil.Prettify(s) 6836} 6837 6838// GoString returns the string representation 6839func (s BackupInUseException) GoString() string { 6840 return s.String() 6841} 6842 6843func newErrorBackupInUseException(v protocol.ResponseMetadata) error { 6844 return &BackupInUseException{ 6845 RespMetadata: v, 6846 } 6847} 6848 6849// Code returns the exception type name. 6850func (s *BackupInUseException) Code() string { 6851 return "BackupInUseException" 6852} 6853 6854// Message returns the exception's message. 6855func (s *BackupInUseException) Message() string { 6856 if s.Message_ != nil { 6857 return *s.Message_ 6858 } 6859 return "" 6860} 6861 6862// OrigErr always returns nil, satisfies awserr.Error interface. 6863func (s *BackupInUseException) OrigErr() error { 6864 return nil 6865} 6866 6867func (s *BackupInUseException) Error() string { 6868 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6869} 6870 6871// Status code returns the HTTP status code for the request's response error. 6872func (s *BackupInUseException) StatusCode() int { 6873 return s.RespMetadata.StatusCode 6874} 6875 6876// RequestID returns the service's response RequestID for request. 6877func (s *BackupInUseException) RequestID() string { 6878 return s.RespMetadata.RequestID 6879} 6880 6881// Backup not found for the given BackupARN. 6882type BackupNotFoundException struct { 6883 _ struct{} `type:"structure"` 6884 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6885 6886 Message_ *string `locationName:"message" type:"string"` 6887} 6888 6889// String returns the string representation 6890func (s BackupNotFoundException) String() string { 6891 return awsutil.Prettify(s) 6892} 6893 6894// GoString returns the string representation 6895func (s BackupNotFoundException) GoString() string { 6896 return s.String() 6897} 6898 6899func newErrorBackupNotFoundException(v protocol.ResponseMetadata) error { 6900 return &BackupNotFoundException{ 6901 RespMetadata: v, 6902 } 6903} 6904 6905// Code returns the exception type name. 6906func (s *BackupNotFoundException) Code() string { 6907 return "BackupNotFoundException" 6908} 6909 6910// Message returns the exception's message. 6911func (s *BackupNotFoundException) Message() string { 6912 if s.Message_ != nil { 6913 return *s.Message_ 6914 } 6915 return "" 6916} 6917 6918// OrigErr always returns nil, satisfies awserr.Error interface. 6919func (s *BackupNotFoundException) OrigErr() error { 6920 return nil 6921} 6922 6923func (s *BackupNotFoundException) Error() string { 6924 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6925} 6926 6927// Status code returns the HTTP status code for the request's response error. 6928func (s *BackupNotFoundException) StatusCode() int { 6929 return s.RespMetadata.StatusCode 6930} 6931 6932// RequestID returns the service's response RequestID for request. 6933func (s *BackupNotFoundException) RequestID() string { 6934 return s.RespMetadata.RequestID 6935} 6936 6937// Contains details for the backup. 6938type BackupSummary struct { 6939 _ struct{} `type:"structure"` 6940 6941 // ARN associated with the backup. 6942 BackupArn *string `min:"37" type:"string"` 6943 6944 // Time at which the backup was created. 6945 BackupCreationDateTime *time.Time `type:"timestamp"` 6946 6947 // Time at which the automatic on-demand backup created by DynamoDB will expire. 6948 // This SYSTEM on-demand backup expires automatically 35 days after its creation. 6949 BackupExpiryDateTime *time.Time `type:"timestamp"` 6950 6951 // Name of the specified backup. 6952 BackupName *string `min:"3" type:"string"` 6953 6954 // Size of the backup in bytes. 6955 BackupSizeBytes *int64 `type:"long"` 6956 6957 // Backup can be in one of the following states: CREATING, ACTIVE, DELETED. 6958 BackupStatus *string `type:"string" enum:"BackupStatus"` 6959 6960 // BackupType: 6961 // 6962 // * USER - You create and manage these using the on-demand backup feature. 6963 // 6964 // * SYSTEM - If you delete a table with point-in-time recovery enabled, 6965 // a SYSTEM backup is automatically created and is retained for 35 days (at 6966 // no additional cost). System backups allow you to restore the deleted table 6967 // to the state it was in just before the point of deletion. 6968 // 6969 // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. 6970 BackupType *string `type:"string" enum:"BackupType"` 6971 6972 // ARN associated with the table. 6973 TableArn *string `type:"string"` 6974 6975 // Unique identifier for the table. 6976 TableId *string `type:"string"` 6977 6978 // Name of the table. 6979 TableName *string `min:"3" type:"string"` 6980} 6981 6982// String returns the string representation 6983func (s BackupSummary) String() string { 6984 return awsutil.Prettify(s) 6985} 6986 6987// GoString returns the string representation 6988func (s BackupSummary) GoString() string { 6989 return s.String() 6990} 6991 6992// SetBackupArn sets the BackupArn field's value. 6993func (s *BackupSummary) SetBackupArn(v string) *BackupSummary { 6994 s.BackupArn = &v 6995 return s 6996} 6997 6998// SetBackupCreationDateTime sets the BackupCreationDateTime field's value. 6999func (s *BackupSummary) SetBackupCreationDateTime(v time.Time) *BackupSummary { 7000 s.BackupCreationDateTime = &v 7001 return s 7002} 7003 7004// SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value. 7005func (s *BackupSummary) SetBackupExpiryDateTime(v time.Time) *BackupSummary { 7006 s.BackupExpiryDateTime = &v 7007 return s 7008} 7009 7010// SetBackupName sets the BackupName field's value. 7011func (s *BackupSummary) SetBackupName(v string) *BackupSummary { 7012 s.BackupName = &v 7013 return s 7014} 7015 7016// SetBackupSizeBytes sets the BackupSizeBytes field's value. 7017func (s *BackupSummary) SetBackupSizeBytes(v int64) *BackupSummary { 7018 s.BackupSizeBytes = &v 7019 return s 7020} 7021 7022// SetBackupStatus sets the BackupStatus field's value. 7023func (s *BackupSummary) SetBackupStatus(v string) *BackupSummary { 7024 s.BackupStatus = &v 7025 return s 7026} 7027 7028// SetBackupType sets the BackupType field's value. 7029func (s *BackupSummary) SetBackupType(v string) *BackupSummary { 7030 s.BackupType = &v 7031 return s 7032} 7033 7034// SetTableArn sets the TableArn field's value. 7035func (s *BackupSummary) SetTableArn(v string) *BackupSummary { 7036 s.TableArn = &v 7037 return s 7038} 7039 7040// SetTableId sets the TableId field's value. 7041func (s *BackupSummary) SetTableId(v string) *BackupSummary { 7042 s.TableId = &v 7043 return s 7044} 7045 7046// SetTableName sets the TableName field's value. 7047func (s *BackupSummary) SetTableName(v string) *BackupSummary { 7048 s.TableName = &v 7049 return s 7050} 7051 7052// Represents the input of a BatchGetItem operation. 7053type BatchGetItemInput struct { 7054 _ struct{} `type:"structure"` 7055 7056 // A map of one or more table names and, for each table, a map that describes 7057 // one or more items to retrieve from that table. Each table name can be used 7058 // only once per BatchGetItem request. 7059 // 7060 // Each element in the map of items to retrieve consists of the following: 7061 // 7062 // * ConsistentRead - If true, a strongly consistent read is used; if false 7063 // (the default), an eventually consistent read is used. 7064 // 7065 // * ExpressionAttributeNames - One or more substitution tokens for attribute 7066 // names in the ProjectionExpression parameter. The following are some use 7067 // cases for using ExpressionAttributeNames: To access an attribute whose 7068 // name conflicts with a DynamoDB reserved word. To create a placeholder 7069 // for repeating occurrences of an attribute name in an expression. To prevent 7070 // special characters in an attribute name from being misinterpreted in an 7071 // expression. Use the # character in an expression to dereference an attribute 7072 // name. For example, consider the following attribute name: Percentile The 7073 // name of this attribute conflicts with a reserved word, so it cannot be 7074 // used directly in an expression. (For the complete list of reserved words, 7075 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 7076 // in the Amazon DynamoDB Developer Guide). To work around this, you could 7077 // specify the following for ExpressionAttributeNames: {"#P":"Percentile"} 7078 // You could then use this substitution in an expression, as in this example: 7079 // #P = :val Tokens that begin with the : character are expression attribute 7080 // values, which are placeholders for the actual value at runtime. For more 7081 // information about expression attribute names, see Accessing Item Attributes 7082 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 7083 // in the Amazon DynamoDB Developer Guide. 7084 // 7085 // * Keys - An array of primary key attribute values that define specific 7086 // items in the table. For each primary key, you must provide all of the 7087 // key attributes. For example, with a simple primary key, you only need 7088 // to provide the partition key value. For a composite key, you must provide 7089 // both the partition key value and the sort key value. 7090 // 7091 // * ProjectionExpression - A string that identifies one or more attributes 7092 // to retrieve from the table. These attributes can include scalars, sets, 7093 // or elements of a JSON document. The attributes in the expression must 7094 // be separated by commas. If no attribute names are specified, then all 7095 // attributes are returned. If any of the requested attributes are not found, 7096 // they do not appear in the result. For more information, see Accessing 7097 // Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 7098 // in the Amazon DynamoDB Developer Guide. 7099 // 7100 // * AttributesToGet - This is a legacy parameter. Use ProjectionExpression 7101 // instead. For more information, see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 7102 // in the Amazon DynamoDB Developer Guide. 7103 // 7104 // RequestItems is a required field 7105 RequestItems map[string]*KeysAndAttributes `min:"1" type:"map" required:"true"` 7106 7107 // Determines the level of detail about provisioned throughput consumption that 7108 // is returned in the response: 7109 // 7110 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 7111 // operation, together with ConsumedCapacity for each table and secondary 7112 // index that was accessed. Note that some operations, such as GetItem and 7113 // BatchGetItem, do not access any indexes at all. In these cases, specifying 7114 // INDEXES will only return ConsumedCapacity information for table(s). 7115 // 7116 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 7117 // the operation. 7118 // 7119 // * NONE - No ConsumedCapacity details are included in the response. 7120 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 7121} 7122 7123// String returns the string representation 7124func (s BatchGetItemInput) String() string { 7125 return awsutil.Prettify(s) 7126} 7127 7128// GoString returns the string representation 7129func (s BatchGetItemInput) GoString() string { 7130 return s.String() 7131} 7132 7133// Validate inspects the fields of the type to determine if they are valid. 7134func (s *BatchGetItemInput) Validate() error { 7135 invalidParams := request.ErrInvalidParams{Context: "BatchGetItemInput"} 7136 if s.RequestItems == nil { 7137 invalidParams.Add(request.NewErrParamRequired("RequestItems")) 7138 } 7139 if s.RequestItems != nil && len(s.RequestItems) < 1 { 7140 invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1)) 7141 } 7142 if s.RequestItems != nil { 7143 for i, v := range s.RequestItems { 7144 if v == nil { 7145 continue 7146 } 7147 if err := v.Validate(); err != nil { 7148 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequestItems", i), err.(request.ErrInvalidParams)) 7149 } 7150 } 7151 } 7152 7153 if invalidParams.Len() > 0 { 7154 return invalidParams 7155 } 7156 return nil 7157} 7158 7159// SetRequestItems sets the RequestItems field's value. 7160func (s *BatchGetItemInput) SetRequestItems(v map[string]*KeysAndAttributes) *BatchGetItemInput { 7161 s.RequestItems = v 7162 return s 7163} 7164 7165// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 7166func (s *BatchGetItemInput) SetReturnConsumedCapacity(v string) *BatchGetItemInput { 7167 s.ReturnConsumedCapacity = &v 7168 return s 7169} 7170 7171// Represents the output of a BatchGetItem operation. 7172type BatchGetItemOutput struct { 7173 _ struct{} `type:"structure"` 7174 7175 // The read capacity units consumed by the entire BatchGetItem operation. 7176 // 7177 // Each element consists of: 7178 // 7179 // * TableName - The table that consumed the provisioned throughput. 7180 // 7181 // * CapacityUnits - The total number of capacity units consumed. 7182 ConsumedCapacity []*ConsumedCapacity `type:"list"` 7183 7184 // A map of table name to a list of items. Each object in Responses consists 7185 // of a table name, along with a map of attribute data consisting of the data 7186 // type and attribute value. 7187 Responses map[string][]map[string]*AttributeValue `type:"map"` 7188 7189 // A map of tables and their respective keys that were not processed with the 7190 // current response. The UnprocessedKeys value is in the same form as RequestItems, 7191 // so the value can be provided directly to a subsequent BatchGetItem operation. 7192 // For more information, see RequestItems in the Request Parameters section. 7193 // 7194 // Each element consists of: 7195 // 7196 // * Keys - An array of primary key attribute values that define specific 7197 // items in the table. 7198 // 7199 // * ProjectionExpression - One or more attributes to be retrieved from the 7200 // table or index. By default, all attributes are returned. If a requested 7201 // attribute is not found, it does not appear in the result. 7202 // 7203 // * ConsistentRead - The consistency of a read operation. If set to true, 7204 // then a strongly consistent read is used; otherwise, an eventually consistent 7205 // read is used. 7206 // 7207 // If there are no unprocessed keys remaining, the response contains an empty 7208 // UnprocessedKeys map. 7209 UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"` 7210} 7211 7212// String returns the string representation 7213func (s BatchGetItemOutput) String() string { 7214 return awsutil.Prettify(s) 7215} 7216 7217// GoString returns the string representation 7218func (s BatchGetItemOutput) GoString() string { 7219 return s.String() 7220} 7221 7222// SetConsumedCapacity sets the ConsumedCapacity field's value. 7223func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput { 7224 s.ConsumedCapacity = v 7225 return s 7226} 7227 7228// SetResponses sets the Responses field's value. 7229func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput { 7230 s.Responses = v 7231 return s 7232} 7233 7234// SetUnprocessedKeys sets the UnprocessedKeys field's value. 7235func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput { 7236 s.UnprocessedKeys = v 7237 return s 7238} 7239 7240// Represents the input of a BatchWriteItem operation. 7241type BatchWriteItemInput struct { 7242 _ struct{} `type:"structure"` 7243 7244 // A map of one or more table names and, for each table, a list of operations 7245 // to be performed (DeleteRequest or PutRequest). Each element in the map consists 7246 // of the following: 7247 // 7248 // * DeleteRequest - Perform a DeleteItem operation on the specified item. 7249 // The item to be deleted is identified by a Key subelement: Key - A map 7250 // of primary key attribute values that uniquely identify the item. Each 7251 // entry in this map consists of an attribute name and an attribute value. 7252 // For each primary key, you must provide all of the key attributes. For 7253 // example, with a simple primary key, you only need to provide a value for 7254 // the partition key. For a composite primary key, you must provide values 7255 // for both the partition key and the sort key. 7256 // 7257 // * PutRequest - Perform a PutItem operation on the specified item. The 7258 // item to be put is identified by an Item subelement: Item - A map of attributes 7259 // and their values. Each entry in this map consists of an attribute name 7260 // and an attribute value. Attribute values must not be null; string and 7261 // binary type attributes must have lengths greater than zero; and set type 7262 // attributes must not be empty. Requests that contain empty values are rejected 7263 // with a ValidationException exception. If you specify any attributes that 7264 // are part of an index key, then the data types for those attributes must 7265 // match those of the schema in the table's attribute definition. 7266 // 7267 // RequestItems is a required field 7268 RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"` 7269 7270 // Determines the level of detail about provisioned throughput consumption that 7271 // is returned in the response: 7272 // 7273 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 7274 // operation, together with ConsumedCapacity for each table and secondary 7275 // index that was accessed. Note that some operations, such as GetItem and 7276 // BatchGetItem, do not access any indexes at all. In these cases, specifying 7277 // INDEXES will only return ConsumedCapacity information for table(s). 7278 // 7279 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 7280 // the operation. 7281 // 7282 // * NONE - No ConsumedCapacity details are included in the response. 7283 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 7284 7285 // Determines whether item collection metrics are returned. If set to SIZE, 7286 // the response includes statistics about item collections, if any, that were 7287 // modified during the operation are returned in the response. If set to NONE 7288 // (the default), no statistics are returned. 7289 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 7290} 7291 7292// String returns the string representation 7293func (s BatchWriteItemInput) String() string { 7294 return awsutil.Prettify(s) 7295} 7296 7297// GoString returns the string representation 7298func (s BatchWriteItemInput) GoString() string { 7299 return s.String() 7300} 7301 7302// Validate inspects the fields of the type to determine if they are valid. 7303func (s *BatchWriteItemInput) Validate() error { 7304 invalidParams := request.ErrInvalidParams{Context: "BatchWriteItemInput"} 7305 if s.RequestItems == nil { 7306 invalidParams.Add(request.NewErrParamRequired("RequestItems")) 7307 } 7308 if s.RequestItems != nil && len(s.RequestItems) < 1 { 7309 invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1)) 7310 } 7311 7312 if invalidParams.Len() > 0 { 7313 return invalidParams 7314 } 7315 return nil 7316} 7317 7318// SetRequestItems sets the RequestItems field's value. 7319func (s *BatchWriteItemInput) SetRequestItems(v map[string][]*WriteRequest) *BatchWriteItemInput { 7320 s.RequestItems = v 7321 return s 7322} 7323 7324// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 7325func (s *BatchWriteItemInput) SetReturnConsumedCapacity(v string) *BatchWriteItemInput { 7326 s.ReturnConsumedCapacity = &v 7327 return s 7328} 7329 7330// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 7331func (s *BatchWriteItemInput) SetReturnItemCollectionMetrics(v string) *BatchWriteItemInput { 7332 s.ReturnItemCollectionMetrics = &v 7333 return s 7334} 7335 7336// Represents the output of a BatchWriteItem operation. 7337type BatchWriteItemOutput struct { 7338 _ struct{} `type:"structure"` 7339 7340 // The capacity units consumed by the entire BatchWriteItem operation. 7341 // 7342 // Each element consists of: 7343 // 7344 // * TableName - The table that consumed the provisioned throughput. 7345 // 7346 // * CapacityUnits - The total number of capacity units consumed. 7347 ConsumedCapacity []*ConsumedCapacity `type:"list"` 7348 7349 // A list of tables that were processed by BatchWriteItem and, for each table, 7350 // information about any item collections that were affected by individual DeleteItem 7351 // or PutItem operations. 7352 // 7353 // Each entry consists of the following subelements: 7354 // 7355 // * ItemCollectionKey - The partition key value of the item collection. 7356 // This is the same as the partition key value of the item. 7357 // 7358 // * SizeEstimateRangeGB - An estimate of item collection size, expressed 7359 // in GB. This is a two-element array containing a lower bound and an upper 7360 // bound for the estimate. The estimate includes the size of all the items 7361 // in the table, plus the size of all attributes projected into all of the 7362 // local secondary indexes on the table. Use this estimate to measure whether 7363 // a local secondary index is approaching its size limit. The estimate is 7364 // subject to change over time; therefore, do not rely on the precision or 7365 // accuracy of the estimate. 7366 ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` 7367 7368 // A map of tables and requests against those tables that were not processed. 7369 // The UnprocessedItems value is in the same form as RequestItems, so you can 7370 // provide this value directly to a subsequent BatchGetItem operation. For more 7371 // information, see RequestItems in the Request Parameters section. 7372 // 7373 // Each UnprocessedItems entry consists of a table name and, for that table, 7374 // a list of operations to perform (DeleteRequest or PutRequest). 7375 // 7376 // * DeleteRequest - Perform a DeleteItem operation on the specified item. 7377 // The item to be deleted is identified by a Key subelement: Key - A map 7378 // of primary key attribute values that uniquely identify the item. Each 7379 // entry in this map consists of an attribute name and an attribute value. 7380 // 7381 // * PutRequest - Perform a PutItem operation on the specified item. The 7382 // item to be put is identified by an Item subelement: Item - A map of attributes 7383 // and their values. Each entry in this map consists of an attribute name 7384 // and an attribute value. Attribute values must not be null; string and 7385 // binary type attributes must have lengths greater than zero; and set type 7386 // attributes must not be empty. Requests that contain empty values will 7387 // be rejected with a ValidationException exception. If you specify any attributes 7388 // that are part of an index key, then the data types for those attributes 7389 // must match those of the schema in the table's attribute definition. 7390 // 7391 // If there are no unprocessed items remaining, the response contains an empty 7392 // UnprocessedItems map. 7393 UnprocessedItems map[string][]*WriteRequest `min:"1" type:"map"` 7394} 7395 7396// String returns the string representation 7397func (s BatchWriteItemOutput) String() string { 7398 return awsutil.Prettify(s) 7399} 7400 7401// GoString returns the string representation 7402func (s BatchWriteItemOutput) GoString() string { 7403 return s.String() 7404} 7405 7406// SetConsumedCapacity sets the ConsumedCapacity field's value. 7407func (s *BatchWriteItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchWriteItemOutput { 7408 s.ConsumedCapacity = v 7409 return s 7410} 7411 7412// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 7413func (s *BatchWriteItemOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *BatchWriteItemOutput { 7414 s.ItemCollectionMetrics = v 7415 return s 7416} 7417 7418// SetUnprocessedItems sets the UnprocessedItems field's value. 7419func (s *BatchWriteItemOutput) SetUnprocessedItems(v map[string][]*WriteRequest) *BatchWriteItemOutput { 7420 s.UnprocessedItems = v 7421 return s 7422} 7423 7424// Contains the details for the read/write capacity mode. 7425type BillingModeSummary struct { 7426 _ struct{} `type:"structure"` 7427 7428 // Controls how you are charged for read and write throughput and how you manage 7429 // capacity. This setting can be changed later. 7430 // 7431 // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend 7432 // using PROVISIONED for predictable workloads. 7433 // 7434 // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. 7435 // We recommend using PAY_PER_REQUEST for unpredictable workloads. 7436 BillingMode *string `type:"string" enum:"BillingMode"` 7437 7438 // Represents the time when PAY_PER_REQUEST was last set as the read/write capacity 7439 // mode. 7440 LastUpdateToPayPerRequestDateTime *time.Time `type:"timestamp"` 7441} 7442 7443// String returns the string representation 7444func (s BillingModeSummary) String() string { 7445 return awsutil.Prettify(s) 7446} 7447 7448// GoString returns the string representation 7449func (s BillingModeSummary) GoString() string { 7450 return s.String() 7451} 7452 7453// SetBillingMode sets the BillingMode field's value. 7454func (s *BillingModeSummary) SetBillingMode(v string) *BillingModeSummary { 7455 s.BillingMode = &v 7456 return s 7457} 7458 7459// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value. 7460func (s *BillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v time.Time) *BillingModeSummary { 7461 s.LastUpdateToPayPerRequestDateTime = &v 7462 return s 7463} 7464 7465// An ordered list of errors for each item in the request which caused the transaction 7466// to get cancelled. The values of the list are ordered according to the ordering 7467// of the TransactWriteItems request parameter. If no error occurred for the 7468// associated item an error with a Null code and Null message will be present. 7469type CancellationReason struct { 7470 _ struct{} `type:"structure"` 7471 7472 // Status code for the result of the cancelled transaction. 7473 Code *string `type:"string"` 7474 7475 // Item in the request which caused the transaction to get cancelled. 7476 Item map[string]*AttributeValue `type:"map"` 7477 7478 // Cancellation reason message description. 7479 Message *string `type:"string"` 7480} 7481 7482// String returns the string representation 7483func (s CancellationReason) String() string { 7484 return awsutil.Prettify(s) 7485} 7486 7487// GoString returns the string representation 7488func (s CancellationReason) GoString() string { 7489 return s.String() 7490} 7491 7492// SetCode sets the Code field's value. 7493func (s *CancellationReason) SetCode(v string) *CancellationReason { 7494 s.Code = &v 7495 return s 7496} 7497 7498// SetItem sets the Item field's value. 7499func (s *CancellationReason) SetItem(v map[string]*AttributeValue) *CancellationReason { 7500 s.Item = v 7501 return s 7502} 7503 7504// SetMessage sets the Message field's value. 7505func (s *CancellationReason) SetMessage(v string) *CancellationReason { 7506 s.Message = &v 7507 return s 7508} 7509 7510// Represents the amount of provisioned throughput capacity consumed on a table 7511// or an index. 7512type Capacity struct { 7513 _ struct{} `type:"structure"` 7514 7515 // The total number of capacity units consumed on a table or an index. 7516 CapacityUnits *float64 `type:"double"` 7517 7518 // The total number of read capacity units consumed on a table or an index. 7519 ReadCapacityUnits *float64 `type:"double"` 7520 7521 // The total number of write capacity units consumed on a table or an index. 7522 WriteCapacityUnits *float64 `type:"double"` 7523} 7524 7525// String returns the string representation 7526func (s Capacity) String() string { 7527 return awsutil.Prettify(s) 7528} 7529 7530// GoString returns the string representation 7531func (s Capacity) GoString() string { 7532 return s.String() 7533} 7534 7535// SetCapacityUnits sets the CapacityUnits field's value. 7536func (s *Capacity) SetCapacityUnits(v float64) *Capacity { 7537 s.CapacityUnits = &v 7538 return s 7539} 7540 7541// SetReadCapacityUnits sets the ReadCapacityUnits field's value. 7542func (s *Capacity) SetReadCapacityUnits(v float64) *Capacity { 7543 s.ReadCapacityUnits = &v 7544 return s 7545} 7546 7547// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 7548func (s *Capacity) SetWriteCapacityUnits(v float64) *Capacity { 7549 s.WriteCapacityUnits = &v 7550 return s 7551} 7552 7553// Represents the selection criteria for a Query or Scan operation: 7554// 7555// * For a Query operation, Condition is used for specifying the KeyConditions 7556// to use when querying a table or an index. For KeyConditions, only the 7557// following comparison operators are supported: EQ | LE | LT | GE | GT | 7558// BEGINS_WITH | BETWEEN Condition is also used in a QueryFilter, which evaluates 7559// the query results and returns only the desired values. 7560// 7561// * For a Scan operation, Condition is used in a ScanFilter, which evaluates 7562// the scan results and returns only the desired values. 7563type Condition struct { 7564 _ struct{} `type:"structure"` 7565 7566 // One or more values to evaluate against the supplied attribute. The number 7567 // of values in the list depends on the ComparisonOperator being used. 7568 // 7569 // For type Number, value comparisons are numeric. 7570 // 7571 // String value comparisons for greater than, equals, or less than are based 7572 // on ASCII character code values. For example, a is greater than A, and a is 7573 // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 7574 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). 7575 // 7576 // For Binary, DynamoDB treats each byte of the binary data as unsigned when 7577 // it compares binary values. 7578 AttributeValueList []*AttributeValue `type:"list"` 7579 7580 // A comparator for evaluating attributes. For example, equals, greater than, 7581 // less than, etc. 7582 // 7583 // The following comparison operators are available: 7584 // 7585 // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | 7586 // BEGINS_WITH | IN | BETWEEN 7587 // 7588 // The following are descriptions of each comparison operator. 7589 // 7590 // * EQ : Equal. EQ is supported for all data types, including lists and 7591 // maps. AttributeValueList can contain only one AttributeValue element of 7592 // type String, Number, Binary, String Set, Number Set, or Binary Set. If 7593 // an item contains an AttributeValue element of a different type than the 7594 // one provided in the request, the value does not match. For example, {"S":"6"} 7595 // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", 7596 // "1"]}. 7597 // 7598 // * NE : Not equal. NE is supported for all data types, including lists 7599 // and maps. AttributeValueList can contain only one AttributeValue of type 7600 // String, Number, Binary, String Set, Number Set, or Binary Set. If an item 7601 // contains an AttributeValue of a different type than the one provided in 7602 // the request, the value does not match. For example, {"S":"6"} does not 7603 // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 7604 // 7605 // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue 7606 // element of type String, Number, or Binary (not a set type). If an item 7607 // contains an AttributeValue element of a different type than the one provided 7608 // in the request, the value does not match. For example, {"S":"6"} does 7609 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 7610 // "1"]}. 7611 // 7612 // * LT : Less than. AttributeValueList can contain only one AttributeValue 7613 // of type String, Number, or Binary (not a set type). If an item contains 7614 // an AttributeValue element of a different type than the one provided in 7615 // the request, the value does not match. For example, {"S":"6"} does not 7616 // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 7617 // "1"]}. 7618 // 7619 // * GE : Greater than or equal. AttributeValueList can contain only one 7620 // AttributeValue element of type String, Number, or Binary (not a set type). 7621 // If an item contains an AttributeValue element of a different type than 7622 // the one provided in the request, the value does not match. For example, 7623 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 7624 // {"NS":["6", "2", "1"]}. 7625 // 7626 // * GT : Greater than. AttributeValueList can contain only one AttributeValue 7627 // element of type String, Number, or Binary (not a set type). If an item 7628 // contains an AttributeValue element of a different type than the one provided 7629 // in the request, the value does not match. For example, {"S":"6"} does 7630 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 7631 // "1"]}. 7632 // 7633 // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data 7634 // types, including lists and maps. This operator tests for the existence 7635 // of an attribute, not its data type. If the data type of attribute "a" 7636 // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 7637 // This result is because the attribute "a" exists; its data type is not 7638 // relevant to the NOT_NULL comparison operator. 7639 // 7640 // * NULL : The attribute does not exist. NULL is supported for all data 7641 // types, including lists and maps. This operator tests for the nonexistence 7642 // of an attribute, not its data type. If the data type of attribute "a" 7643 // is null, and you evaluate it using NULL, the result is a Boolean false. 7644 // This is because the attribute "a" exists; its data type is not relevant 7645 // to the NULL comparison operator. 7646 // 7647 // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList 7648 // can contain only one AttributeValue element of type String, Number, or 7649 // Binary (not a set type). If the target attribute of the comparison is 7650 // of type String, then the operator checks for a substring match. If the 7651 // target attribute of the comparison is of type Binary, then the operator 7652 // looks for a subsequence of the target that matches the input. If the target 7653 // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator 7654 // evaluates to true if it finds an exact match with any member of the set. 7655 // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can 7656 // be a list; however, "b" cannot be a set, a map, or a list. 7657 // 7658 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 7659 // value in a set. AttributeValueList can contain only one AttributeValue 7660 // element of type String, Number, or Binary (not a set type). If the target 7661 // attribute of the comparison is a String, then the operator checks for 7662 // the absence of a substring match. If the target attribute of the comparison 7663 // is Binary, then the operator checks for the absence of a subsequence of 7664 // the target that matches the input. If the target attribute of the comparison 7665 // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if 7666 // it does not find an exact match with any member of the set. NOT_CONTAINS 7667 // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be 7668 // a list; however, "b" cannot be a set, a map, or a list. 7669 // 7670 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 7671 // one AttributeValue of type String or Binary (not a Number or a set type). 7672 // The target attribute of the comparison must be of type String or Binary 7673 // (not a Number or a set type). 7674 // 7675 // * IN : Checks for matching elements in a list. AttributeValueList can 7676 // contain one or more AttributeValue elements of type String, Number, or 7677 // Binary. These attributes are compared against an existing attribute of 7678 // an item. If any elements of the input are equal to the item attribute, 7679 // the expression evaluates to true. 7680 // 7681 // * BETWEEN : Greater than or equal to the first value, and less than or 7682 // equal to the second value. AttributeValueList must contain two AttributeValue 7683 // elements of the same type, either String, Number, or Binary (not a set 7684 // type). A target attribute matches if the target value is greater than, 7685 // or equal to, the first element and less than, or equal to, the second 7686 // element. If an item contains an AttributeValue element of a different 7687 // type than the one provided in the request, the value does not match. For 7688 // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does 7689 // not compare to {"NS":["6", "2", "1"]} 7690 // 7691 // For usage examples of AttributeValueList and ComparisonOperator, see Legacy 7692 // Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 7693 // in the Amazon DynamoDB Developer Guide. 7694 // 7695 // ComparisonOperator is a required field 7696 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 7697} 7698 7699// String returns the string representation 7700func (s Condition) String() string { 7701 return awsutil.Prettify(s) 7702} 7703 7704// GoString returns the string representation 7705func (s Condition) GoString() string { 7706 return s.String() 7707} 7708 7709// Validate inspects the fields of the type to determine if they are valid. 7710func (s *Condition) Validate() error { 7711 invalidParams := request.ErrInvalidParams{Context: "Condition"} 7712 if s.ComparisonOperator == nil { 7713 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 7714 } 7715 7716 if invalidParams.Len() > 0 { 7717 return invalidParams 7718 } 7719 return nil 7720} 7721 7722// SetAttributeValueList sets the AttributeValueList field's value. 7723func (s *Condition) SetAttributeValueList(v []*AttributeValue) *Condition { 7724 s.AttributeValueList = v 7725 return s 7726} 7727 7728// SetComparisonOperator sets the ComparisonOperator field's value. 7729func (s *Condition) SetComparisonOperator(v string) *Condition { 7730 s.ComparisonOperator = &v 7731 return s 7732} 7733 7734// Represents a request to perform a check that an item exists or to check the 7735// condition of specific attributes of the item. 7736type ConditionCheck struct { 7737 _ struct{} `type:"structure"` 7738 7739 // A condition that must be satisfied in order for a conditional update to succeed. 7740 // 7741 // ConditionExpression is a required field 7742 ConditionExpression *string `type:"string" required:"true"` 7743 7744 // One or more substitution tokens for attribute names in an expression. 7745 ExpressionAttributeNames map[string]*string `type:"map"` 7746 7747 // One or more values that can be substituted in an expression. 7748 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 7749 7750 // The primary key of the item to be checked. Each element consists of an attribute 7751 // name and a value for that attribute. 7752 // 7753 // Key is a required field 7754 Key map[string]*AttributeValue `type:"map" required:"true"` 7755 7756 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 7757 // ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure, 7758 // the valid values are: NONE and ALL_OLD. 7759 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 7760 7761 // Name of the table for the check item request. 7762 // 7763 // TableName is a required field 7764 TableName *string `min:"3" type:"string" required:"true"` 7765} 7766 7767// String returns the string representation 7768func (s ConditionCheck) String() string { 7769 return awsutil.Prettify(s) 7770} 7771 7772// GoString returns the string representation 7773func (s ConditionCheck) GoString() string { 7774 return s.String() 7775} 7776 7777// Validate inspects the fields of the type to determine if they are valid. 7778func (s *ConditionCheck) Validate() error { 7779 invalidParams := request.ErrInvalidParams{Context: "ConditionCheck"} 7780 if s.ConditionExpression == nil { 7781 invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) 7782 } 7783 if s.Key == nil { 7784 invalidParams.Add(request.NewErrParamRequired("Key")) 7785 } 7786 if s.TableName == nil { 7787 invalidParams.Add(request.NewErrParamRequired("TableName")) 7788 } 7789 if s.TableName != nil && len(*s.TableName) < 3 { 7790 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 7791 } 7792 7793 if invalidParams.Len() > 0 { 7794 return invalidParams 7795 } 7796 return nil 7797} 7798 7799// SetConditionExpression sets the ConditionExpression field's value. 7800func (s *ConditionCheck) SetConditionExpression(v string) *ConditionCheck { 7801 s.ConditionExpression = &v 7802 return s 7803} 7804 7805// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 7806func (s *ConditionCheck) SetExpressionAttributeNames(v map[string]*string) *ConditionCheck { 7807 s.ExpressionAttributeNames = v 7808 return s 7809} 7810 7811// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 7812func (s *ConditionCheck) SetExpressionAttributeValues(v map[string]*AttributeValue) *ConditionCheck { 7813 s.ExpressionAttributeValues = v 7814 return s 7815} 7816 7817// SetKey sets the Key field's value. 7818func (s *ConditionCheck) SetKey(v map[string]*AttributeValue) *ConditionCheck { 7819 s.Key = v 7820 return s 7821} 7822 7823// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 7824func (s *ConditionCheck) SetReturnValuesOnConditionCheckFailure(v string) *ConditionCheck { 7825 s.ReturnValuesOnConditionCheckFailure = &v 7826 return s 7827} 7828 7829// SetTableName sets the TableName field's value. 7830func (s *ConditionCheck) SetTableName(v string) *ConditionCheck { 7831 s.TableName = &v 7832 return s 7833} 7834 7835// A condition specified in the operation could not be evaluated. 7836type ConditionalCheckFailedException struct { 7837 _ struct{} `type:"structure"` 7838 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7839 7840 // The conditional request failed. 7841 Message_ *string `locationName:"message" type:"string"` 7842} 7843 7844// String returns the string representation 7845func (s ConditionalCheckFailedException) String() string { 7846 return awsutil.Prettify(s) 7847} 7848 7849// GoString returns the string representation 7850func (s ConditionalCheckFailedException) GoString() string { 7851 return s.String() 7852} 7853 7854func newErrorConditionalCheckFailedException(v protocol.ResponseMetadata) error { 7855 return &ConditionalCheckFailedException{ 7856 RespMetadata: v, 7857 } 7858} 7859 7860// Code returns the exception type name. 7861func (s *ConditionalCheckFailedException) Code() string { 7862 return "ConditionalCheckFailedException" 7863} 7864 7865// Message returns the exception's message. 7866func (s *ConditionalCheckFailedException) Message() string { 7867 if s.Message_ != nil { 7868 return *s.Message_ 7869 } 7870 return "" 7871} 7872 7873// OrigErr always returns nil, satisfies awserr.Error interface. 7874func (s *ConditionalCheckFailedException) OrigErr() error { 7875 return nil 7876} 7877 7878func (s *ConditionalCheckFailedException) Error() string { 7879 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7880} 7881 7882// Status code returns the HTTP status code for the request's response error. 7883func (s *ConditionalCheckFailedException) StatusCode() int { 7884 return s.RespMetadata.StatusCode 7885} 7886 7887// RequestID returns the service's response RequestID for request. 7888func (s *ConditionalCheckFailedException) RequestID() string { 7889 return s.RespMetadata.RequestID 7890} 7891 7892// The capacity units consumed by an operation. The data returned includes the 7893// total provisioned throughput consumed, along with statistics for the table 7894// and any indexes involved in the operation. ConsumedCapacity is only returned 7895// if the request asked for it. For more information, see Provisioned Throughput 7896// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 7897// in the Amazon DynamoDB Developer Guide. 7898type ConsumedCapacity struct { 7899 _ struct{} `type:"structure"` 7900 7901 // The total number of capacity units consumed by the operation. 7902 CapacityUnits *float64 `type:"double"` 7903 7904 // The amount of throughput consumed on each global index affected by the operation. 7905 GlobalSecondaryIndexes map[string]*Capacity `type:"map"` 7906 7907 // The amount of throughput consumed on each local index affected by the operation. 7908 LocalSecondaryIndexes map[string]*Capacity `type:"map"` 7909 7910 // The total number of read capacity units consumed by the operation. 7911 ReadCapacityUnits *float64 `type:"double"` 7912 7913 // The amount of throughput consumed on the table affected by the operation. 7914 Table *Capacity `type:"structure"` 7915 7916 // The name of the table that was affected by the operation. 7917 TableName *string `min:"3" type:"string"` 7918 7919 // The total number of write capacity units consumed by the operation. 7920 WriteCapacityUnits *float64 `type:"double"` 7921} 7922 7923// String returns the string representation 7924func (s ConsumedCapacity) String() string { 7925 return awsutil.Prettify(s) 7926} 7927 7928// GoString returns the string representation 7929func (s ConsumedCapacity) GoString() string { 7930 return s.String() 7931} 7932 7933// SetCapacityUnits sets the CapacityUnits field's value. 7934func (s *ConsumedCapacity) SetCapacityUnits(v float64) *ConsumedCapacity { 7935 s.CapacityUnits = &v 7936 return s 7937} 7938 7939// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 7940func (s *ConsumedCapacity) SetGlobalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity { 7941 s.GlobalSecondaryIndexes = v 7942 return s 7943} 7944 7945// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 7946func (s *ConsumedCapacity) SetLocalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity { 7947 s.LocalSecondaryIndexes = v 7948 return s 7949} 7950 7951// SetReadCapacityUnits sets the ReadCapacityUnits field's value. 7952func (s *ConsumedCapacity) SetReadCapacityUnits(v float64) *ConsumedCapacity { 7953 s.ReadCapacityUnits = &v 7954 return s 7955} 7956 7957// SetTable sets the Table field's value. 7958func (s *ConsumedCapacity) SetTable(v *Capacity) *ConsumedCapacity { 7959 s.Table = v 7960 return s 7961} 7962 7963// SetTableName sets the TableName field's value. 7964func (s *ConsumedCapacity) SetTableName(v string) *ConsumedCapacity { 7965 s.TableName = &v 7966 return s 7967} 7968 7969// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 7970func (s *ConsumedCapacity) SetWriteCapacityUnits(v float64) *ConsumedCapacity { 7971 s.WriteCapacityUnits = &v 7972 return s 7973} 7974 7975// Represents the continuous backups and point in time recovery settings on 7976// the table. 7977type ContinuousBackupsDescription struct { 7978 _ struct{} `type:"structure"` 7979 7980 // ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED 7981 // 7982 // ContinuousBackupsStatus is a required field 7983 ContinuousBackupsStatus *string `type:"string" required:"true" enum:"ContinuousBackupsStatus"` 7984 7985 // The description of the point in time recovery settings applied to the table. 7986 PointInTimeRecoveryDescription *PointInTimeRecoveryDescription `type:"structure"` 7987} 7988 7989// String returns the string representation 7990func (s ContinuousBackupsDescription) String() string { 7991 return awsutil.Prettify(s) 7992} 7993 7994// GoString returns the string representation 7995func (s ContinuousBackupsDescription) GoString() string { 7996 return s.String() 7997} 7998 7999// SetContinuousBackupsStatus sets the ContinuousBackupsStatus field's value. 8000func (s *ContinuousBackupsDescription) SetContinuousBackupsStatus(v string) *ContinuousBackupsDescription { 8001 s.ContinuousBackupsStatus = &v 8002 return s 8003} 8004 8005// SetPointInTimeRecoveryDescription sets the PointInTimeRecoveryDescription field's value. 8006func (s *ContinuousBackupsDescription) SetPointInTimeRecoveryDescription(v *PointInTimeRecoveryDescription) *ContinuousBackupsDescription { 8007 s.PointInTimeRecoveryDescription = v 8008 return s 8009} 8010 8011// Backups have not yet been enabled for this table. 8012type ContinuousBackupsUnavailableException struct { 8013 _ struct{} `type:"structure"` 8014 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8015 8016 Message_ *string `locationName:"message" type:"string"` 8017} 8018 8019// String returns the string representation 8020func (s ContinuousBackupsUnavailableException) String() string { 8021 return awsutil.Prettify(s) 8022} 8023 8024// GoString returns the string representation 8025func (s ContinuousBackupsUnavailableException) GoString() string { 8026 return s.String() 8027} 8028 8029func newErrorContinuousBackupsUnavailableException(v protocol.ResponseMetadata) error { 8030 return &ContinuousBackupsUnavailableException{ 8031 RespMetadata: v, 8032 } 8033} 8034 8035// Code returns the exception type name. 8036func (s *ContinuousBackupsUnavailableException) Code() string { 8037 return "ContinuousBackupsUnavailableException" 8038} 8039 8040// Message returns the exception's message. 8041func (s *ContinuousBackupsUnavailableException) Message() string { 8042 if s.Message_ != nil { 8043 return *s.Message_ 8044 } 8045 return "" 8046} 8047 8048// OrigErr always returns nil, satisfies awserr.Error interface. 8049func (s *ContinuousBackupsUnavailableException) OrigErr() error { 8050 return nil 8051} 8052 8053func (s *ContinuousBackupsUnavailableException) Error() string { 8054 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8055} 8056 8057// Status code returns the HTTP status code for the request's response error. 8058func (s *ContinuousBackupsUnavailableException) StatusCode() int { 8059 return s.RespMetadata.StatusCode 8060} 8061 8062// RequestID returns the service's response RequestID for request. 8063func (s *ContinuousBackupsUnavailableException) RequestID() string { 8064 return s.RespMetadata.RequestID 8065} 8066 8067// Represents a Contributor Insights summary entry.. 8068type ContributorInsightsSummary struct { 8069 _ struct{} `type:"structure"` 8070 8071 // Describes the current status for contributor insights for the given table 8072 // and index, if applicable. 8073 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 8074 8075 // Name of the index associated with the summary, if any. 8076 IndexName *string `min:"3" type:"string"` 8077 8078 // Name of the table associated with the summary. 8079 TableName *string `min:"3" type:"string"` 8080} 8081 8082// String returns the string representation 8083func (s ContributorInsightsSummary) String() string { 8084 return awsutil.Prettify(s) 8085} 8086 8087// GoString returns the string representation 8088func (s ContributorInsightsSummary) GoString() string { 8089 return s.String() 8090} 8091 8092// SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 8093func (s *ContributorInsightsSummary) SetContributorInsightsStatus(v string) *ContributorInsightsSummary { 8094 s.ContributorInsightsStatus = &v 8095 return s 8096} 8097 8098// SetIndexName sets the IndexName field's value. 8099func (s *ContributorInsightsSummary) SetIndexName(v string) *ContributorInsightsSummary { 8100 s.IndexName = &v 8101 return s 8102} 8103 8104// SetTableName sets the TableName field's value. 8105func (s *ContributorInsightsSummary) SetTableName(v string) *ContributorInsightsSummary { 8106 s.TableName = &v 8107 return s 8108} 8109 8110type CreateBackupInput struct { 8111 _ struct{} `type:"structure"` 8112 8113 // Specified name for the backup. 8114 // 8115 // BackupName is a required field 8116 BackupName *string `min:"3" type:"string" required:"true"` 8117 8118 // The name of the table. 8119 // 8120 // TableName is a required field 8121 TableName *string `min:"3" type:"string" required:"true"` 8122} 8123 8124// String returns the string representation 8125func (s CreateBackupInput) String() string { 8126 return awsutil.Prettify(s) 8127} 8128 8129// GoString returns the string representation 8130func (s CreateBackupInput) GoString() string { 8131 return s.String() 8132} 8133 8134// Validate inspects the fields of the type to determine if they are valid. 8135func (s *CreateBackupInput) Validate() error { 8136 invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"} 8137 if s.BackupName == nil { 8138 invalidParams.Add(request.NewErrParamRequired("BackupName")) 8139 } 8140 if s.BackupName != nil && len(*s.BackupName) < 3 { 8141 invalidParams.Add(request.NewErrParamMinLen("BackupName", 3)) 8142 } 8143 if s.TableName == nil { 8144 invalidParams.Add(request.NewErrParamRequired("TableName")) 8145 } 8146 if s.TableName != nil && len(*s.TableName) < 3 { 8147 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 8148 } 8149 8150 if invalidParams.Len() > 0 { 8151 return invalidParams 8152 } 8153 return nil 8154} 8155 8156// SetBackupName sets the BackupName field's value. 8157func (s *CreateBackupInput) SetBackupName(v string) *CreateBackupInput { 8158 s.BackupName = &v 8159 return s 8160} 8161 8162// SetTableName sets the TableName field's value. 8163func (s *CreateBackupInput) SetTableName(v string) *CreateBackupInput { 8164 s.TableName = &v 8165 return s 8166} 8167 8168type CreateBackupOutput struct { 8169 _ struct{} `type:"structure"` 8170 8171 // Contains the details of the backup created for the table. 8172 BackupDetails *BackupDetails `type:"structure"` 8173} 8174 8175// String returns the string representation 8176func (s CreateBackupOutput) String() string { 8177 return awsutil.Prettify(s) 8178} 8179 8180// GoString returns the string representation 8181func (s CreateBackupOutput) GoString() string { 8182 return s.String() 8183} 8184 8185// SetBackupDetails sets the BackupDetails field's value. 8186func (s *CreateBackupOutput) SetBackupDetails(v *BackupDetails) *CreateBackupOutput { 8187 s.BackupDetails = v 8188 return s 8189} 8190 8191// Represents a new global secondary index to be added to an existing table. 8192type CreateGlobalSecondaryIndexAction struct { 8193 _ struct{} `type:"structure"` 8194 8195 // The name of the global secondary index to be created. 8196 // 8197 // IndexName is a required field 8198 IndexName *string `min:"3" type:"string" required:"true"` 8199 8200 // The key schema for the global secondary index. 8201 // 8202 // KeySchema is a required field 8203 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 8204 8205 // Represents attributes that are copied (projected) from the table into an 8206 // index. These are in addition to the primary key attributes and index key 8207 // attributes, which are automatically projected. 8208 // 8209 // Projection is a required field 8210 Projection *Projection `type:"structure" required:"true"` 8211 8212 // Represents the provisioned throughput settings for the specified global secondary 8213 // index. 8214 // 8215 // For current minimum and maximum provisioned throughput values, see Limits 8216 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 8217 // in the Amazon DynamoDB Developer Guide. 8218 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 8219} 8220 8221// String returns the string representation 8222func (s CreateGlobalSecondaryIndexAction) String() string { 8223 return awsutil.Prettify(s) 8224} 8225 8226// GoString returns the string representation 8227func (s CreateGlobalSecondaryIndexAction) GoString() string { 8228 return s.String() 8229} 8230 8231// Validate inspects the fields of the type to determine if they are valid. 8232func (s *CreateGlobalSecondaryIndexAction) Validate() error { 8233 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalSecondaryIndexAction"} 8234 if s.IndexName == nil { 8235 invalidParams.Add(request.NewErrParamRequired("IndexName")) 8236 } 8237 if s.IndexName != nil && len(*s.IndexName) < 3 { 8238 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 8239 } 8240 if s.KeySchema == nil { 8241 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 8242 } 8243 if s.KeySchema != nil && len(s.KeySchema) < 1 { 8244 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 8245 } 8246 if s.Projection == nil { 8247 invalidParams.Add(request.NewErrParamRequired("Projection")) 8248 } 8249 if s.KeySchema != nil { 8250 for i, v := range s.KeySchema { 8251 if v == nil { 8252 continue 8253 } 8254 if err := v.Validate(); err != nil { 8255 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 8256 } 8257 } 8258 } 8259 if s.Projection != nil { 8260 if err := s.Projection.Validate(); err != nil { 8261 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 8262 } 8263 } 8264 if s.ProvisionedThroughput != nil { 8265 if err := s.ProvisionedThroughput.Validate(); err != nil { 8266 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 8267 } 8268 } 8269 8270 if invalidParams.Len() > 0 { 8271 return invalidParams 8272 } 8273 return nil 8274} 8275 8276// SetIndexName sets the IndexName field's value. 8277func (s *CreateGlobalSecondaryIndexAction) SetIndexName(v string) *CreateGlobalSecondaryIndexAction { 8278 s.IndexName = &v 8279 return s 8280} 8281 8282// SetKeySchema sets the KeySchema field's value. 8283func (s *CreateGlobalSecondaryIndexAction) SetKeySchema(v []*KeySchemaElement) *CreateGlobalSecondaryIndexAction { 8284 s.KeySchema = v 8285 return s 8286} 8287 8288// SetProjection sets the Projection field's value. 8289func (s *CreateGlobalSecondaryIndexAction) SetProjection(v *Projection) *CreateGlobalSecondaryIndexAction { 8290 s.Projection = v 8291 return s 8292} 8293 8294// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 8295func (s *CreateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateGlobalSecondaryIndexAction { 8296 s.ProvisionedThroughput = v 8297 return s 8298} 8299 8300type CreateGlobalTableInput struct { 8301 _ struct{} `type:"structure"` 8302 8303 // The global table name. 8304 // 8305 // GlobalTableName is a required field 8306 GlobalTableName *string `min:"3" type:"string" required:"true"` 8307 8308 // The Regions where the global table needs to be created. 8309 // 8310 // ReplicationGroup is a required field 8311 ReplicationGroup []*Replica `type:"list" required:"true"` 8312} 8313 8314// String returns the string representation 8315func (s CreateGlobalTableInput) String() string { 8316 return awsutil.Prettify(s) 8317} 8318 8319// GoString returns the string representation 8320func (s CreateGlobalTableInput) GoString() string { 8321 return s.String() 8322} 8323 8324// Validate inspects the fields of the type to determine if they are valid. 8325func (s *CreateGlobalTableInput) Validate() error { 8326 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalTableInput"} 8327 if s.GlobalTableName == nil { 8328 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 8329 } 8330 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 8331 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 8332 } 8333 if s.ReplicationGroup == nil { 8334 invalidParams.Add(request.NewErrParamRequired("ReplicationGroup")) 8335 } 8336 8337 if invalidParams.Len() > 0 { 8338 return invalidParams 8339 } 8340 return nil 8341} 8342 8343// SetGlobalTableName sets the GlobalTableName field's value. 8344func (s *CreateGlobalTableInput) SetGlobalTableName(v string) *CreateGlobalTableInput { 8345 s.GlobalTableName = &v 8346 return s 8347} 8348 8349// SetReplicationGroup sets the ReplicationGroup field's value. 8350func (s *CreateGlobalTableInput) SetReplicationGroup(v []*Replica) *CreateGlobalTableInput { 8351 s.ReplicationGroup = v 8352 return s 8353} 8354 8355type CreateGlobalTableOutput struct { 8356 _ struct{} `type:"structure"` 8357 8358 // Contains the details of the global table. 8359 GlobalTableDescription *GlobalTableDescription `type:"structure"` 8360} 8361 8362// String returns the string representation 8363func (s CreateGlobalTableOutput) String() string { 8364 return awsutil.Prettify(s) 8365} 8366 8367// GoString returns the string representation 8368func (s CreateGlobalTableOutput) GoString() string { 8369 return s.String() 8370} 8371 8372// SetGlobalTableDescription sets the GlobalTableDescription field's value. 8373func (s *CreateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *CreateGlobalTableOutput { 8374 s.GlobalTableDescription = v 8375 return s 8376} 8377 8378// Represents a replica to be added. 8379type CreateReplicaAction struct { 8380 _ struct{} `type:"structure"` 8381 8382 // The Region of the replica to be added. 8383 // 8384 // RegionName is a required field 8385 RegionName *string `type:"string" required:"true"` 8386} 8387 8388// String returns the string representation 8389func (s CreateReplicaAction) String() string { 8390 return awsutil.Prettify(s) 8391} 8392 8393// GoString returns the string representation 8394func (s CreateReplicaAction) GoString() string { 8395 return s.String() 8396} 8397 8398// Validate inspects the fields of the type to determine if they are valid. 8399func (s *CreateReplicaAction) Validate() error { 8400 invalidParams := request.ErrInvalidParams{Context: "CreateReplicaAction"} 8401 if s.RegionName == nil { 8402 invalidParams.Add(request.NewErrParamRequired("RegionName")) 8403 } 8404 8405 if invalidParams.Len() > 0 { 8406 return invalidParams 8407 } 8408 return nil 8409} 8410 8411// SetRegionName sets the RegionName field's value. 8412func (s *CreateReplicaAction) SetRegionName(v string) *CreateReplicaAction { 8413 s.RegionName = &v 8414 return s 8415} 8416 8417// Represents a replica to be created. 8418type CreateReplicationGroupMemberAction struct { 8419 _ struct{} `type:"structure"` 8420 8421 // Replica-specific global secondary index settings. 8422 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` 8423 8424 // The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption 8425 // in the new replica. To specify a CMK, use its key ID, Amazon Resource Name 8426 // (ARN), alias name, or alias ARN. Note that you should only provide this parameter 8427 // if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb. 8428 KMSMasterKeyId *string `type:"string"` 8429 8430 // Replica-specific provisioned throughput. If not specified, uses the source 8431 // table's provisioned throughput settings. 8432 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 8433 8434 // The Region where the new replica will be created. 8435 // 8436 // RegionName is a required field 8437 RegionName *string `type:"string" required:"true"` 8438} 8439 8440// String returns the string representation 8441func (s CreateReplicationGroupMemberAction) String() string { 8442 return awsutil.Prettify(s) 8443} 8444 8445// GoString returns the string representation 8446func (s CreateReplicationGroupMemberAction) GoString() string { 8447 return s.String() 8448} 8449 8450// Validate inspects the fields of the type to determine if they are valid. 8451func (s *CreateReplicationGroupMemberAction) Validate() error { 8452 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupMemberAction"} 8453 if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { 8454 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) 8455 } 8456 if s.RegionName == nil { 8457 invalidParams.Add(request.NewErrParamRequired("RegionName")) 8458 } 8459 if s.GlobalSecondaryIndexes != nil { 8460 for i, v := range s.GlobalSecondaryIndexes { 8461 if v == nil { 8462 continue 8463 } 8464 if err := v.Validate(); err != nil { 8465 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 8466 } 8467 } 8468 } 8469 if s.ProvisionedThroughputOverride != nil { 8470 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 8471 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 8472 } 8473 } 8474 8475 if invalidParams.Len() > 0 { 8476 return invalidParams 8477 } 8478 return nil 8479} 8480 8481// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 8482func (s *CreateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *CreateReplicationGroupMemberAction { 8483 s.GlobalSecondaryIndexes = v 8484 return s 8485} 8486 8487// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 8488func (s *CreateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *CreateReplicationGroupMemberAction { 8489 s.KMSMasterKeyId = &v 8490 return s 8491} 8492 8493// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 8494func (s *CreateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *CreateReplicationGroupMemberAction { 8495 s.ProvisionedThroughputOverride = v 8496 return s 8497} 8498 8499// SetRegionName sets the RegionName field's value. 8500func (s *CreateReplicationGroupMemberAction) SetRegionName(v string) *CreateReplicationGroupMemberAction { 8501 s.RegionName = &v 8502 return s 8503} 8504 8505// Represents the input of a CreateTable operation. 8506type CreateTableInput struct { 8507 _ struct{} `type:"structure"` 8508 8509 // An array of attributes that describe the key schema for the table and indexes. 8510 // 8511 // AttributeDefinitions is a required field 8512 AttributeDefinitions []*AttributeDefinition `type:"list" required:"true"` 8513 8514 // Controls how you are charged for read and write throughput and how you manage 8515 // capacity. This setting can be changed later. 8516 // 8517 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 8518 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 8519 // 8520 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 8521 // 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). 8522 BillingMode *string `type:"string" enum:"BillingMode"` 8523 8524 // One or more global secondary indexes (the maximum is 20) to be created on 8525 // the table. Each global secondary index in the array includes the following: 8526 // 8527 // * IndexName - The name of the global secondary index. Must be unique only 8528 // for this table. 8529 // 8530 // * KeySchema - Specifies the key schema for the global secondary index. 8531 // 8532 // * Projection - Specifies attributes that are copied (projected) from the 8533 // table into the index. These are in addition to the primary key attributes 8534 // and index key attributes, which are automatically projected. Each attribute 8535 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 8536 // - Only the index and primary keys are projected into the index. INCLUDE 8537 // - Only the specified table attributes are projected into the index. The 8538 // list of projected attributes is in NonKeyAttributes. ALL - All of the 8539 // table attributes are projected into the index. NonKeyAttributes - A list 8540 // of one or more non-key attribute names that are projected into the secondary 8541 // index. The total count of attributes provided in NonKeyAttributes, summed 8542 // across all of the secondary indexes, must not exceed 100. If you project 8543 // the same attribute into two different indexes, this counts as two distinct 8544 // attributes when determining the total. 8545 // 8546 // * ProvisionedThroughput - The provisioned throughput settings for the 8547 // global secondary index, consisting of read and write capacity units. 8548 GlobalSecondaryIndexes []*GlobalSecondaryIndex `type:"list"` 8549 8550 // Specifies the attributes that make up the primary key for a table or an index. 8551 // The attributes in KeySchema must also be defined in the AttributeDefinitions 8552 // array. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) 8553 // in the Amazon DynamoDB Developer Guide. 8554 // 8555 // Each KeySchemaElement in the array is composed of: 8556 // 8557 // * AttributeName - The name of this key attribute. 8558 // 8559 // * KeyType - The role that the key attribute will assume: HASH - partition 8560 // key RANGE - sort key 8561 // 8562 // The partition key of an item is also known as its hash attribute. The term 8563 // "hash attribute" derives from the DynamoDB usage of an internal hash function 8564 // to evenly distribute data items across partitions, based on their partition 8565 // key values. 8566 // 8567 // The sort key of an item is also known as its range attribute. The term "range 8568 // attribute" derives from the way DynamoDB stores items with the same partition 8569 // key physically close together, in sorted order by the sort key value. 8570 // 8571 // For a simple primary key (partition key), you must provide exactly one element 8572 // with a KeyType of HASH. 8573 // 8574 // For a composite primary key (partition key and sort key), you must provide 8575 // exactly two elements, in this order: The first element must have a KeyType 8576 // of HASH, and the second element must have a KeyType of RANGE. 8577 // 8578 // For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) 8579 // in the Amazon DynamoDB Developer Guide. 8580 // 8581 // KeySchema is a required field 8582 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 8583 8584 // One or more local secondary indexes (the maximum is 5) to be created on the 8585 // table. Each index is scoped to a given partition key value. There is a 10 8586 // GB size limit per partition key value; otherwise, the size of a local secondary 8587 // index is unconstrained. 8588 // 8589 // Each local secondary index in the array includes the following: 8590 // 8591 // * IndexName - The name of the local secondary index. Must be unique only 8592 // for this table. 8593 // 8594 // * KeySchema - Specifies the key schema for the local secondary index. 8595 // The key schema must begin with the same partition key as the table. 8596 // 8597 // * Projection - Specifies attributes that are copied (projected) from the 8598 // table into the index. These are in addition to the primary key attributes 8599 // and index key attributes, which are automatically projected. Each attribute 8600 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 8601 // - Only the index and primary keys are projected into the index. INCLUDE 8602 // - Only the specified table attributes are projected into the index. The 8603 // list of projected attributes is in NonKeyAttributes. ALL - All of the 8604 // table attributes are projected into the index. NonKeyAttributes - A list 8605 // of one or more non-key attribute names that are projected into the secondary 8606 // index. The total count of attributes provided in NonKeyAttributes, summed 8607 // across all of the secondary indexes, must not exceed 100. If you project 8608 // the same attribute into two different indexes, this counts as two distinct 8609 // attributes when determining the total. 8610 LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"` 8611 8612 // Represents the provisioned throughput settings for a specified table or index. 8613 // The settings can be modified using the UpdateTable operation. 8614 // 8615 // If you set BillingMode as PROVISIONED, you must specify this property. If 8616 // you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. 8617 // 8618 // For current minimum and maximum provisioned throughput values, see Limits 8619 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 8620 // in the Amazon DynamoDB Developer Guide. 8621 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 8622 8623 // Represents the settings used to enable server-side encryption. 8624 SSESpecification *SSESpecification `type:"structure"` 8625 8626 // The settings for DynamoDB Streams on the table. These settings consist of: 8627 // 8628 // * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled 8629 // (true) or disabled (false). 8630 // 8631 // * StreamViewType - When an item in the table is modified, StreamViewType 8632 // determines what information is written to the table's stream. Valid values 8633 // for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified 8634 // item are written to the stream. NEW_IMAGE - The entire item, as it appears 8635 // after it was modified, is written to the stream. OLD_IMAGE - The entire 8636 // item, as it appeared before it was modified, is written to the stream. 8637 // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item 8638 // are written to the stream. 8639 StreamSpecification *StreamSpecification `type:"structure"` 8640 8641 // The name of the table to create. 8642 // 8643 // TableName is a required field 8644 TableName *string `min:"3" type:"string" required:"true"` 8645 8646 // A list of key-value pairs to label the table. For more information, see Tagging 8647 // for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html). 8648 Tags []*Tag `type:"list"` 8649} 8650 8651// String returns the string representation 8652func (s CreateTableInput) String() string { 8653 return awsutil.Prettify(s) 8654} 8655 8656// GoString returns the string representation 8657func (s CreateTableInput) GoString() string { 8658 return s.String() 8659} 8660 8661// Validate inspects the fields of the type to determine if they are valid. 8662func (s *CreateTableInput) Validate() error { 8663 invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} 8664 if s.AttributeDefinitions == nil { 8665 invalidParams.Add(request.NewErrParamRequired("AttributeDefinitions")) 8666 } 8667 if s.KeySchema == nil { 8668 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 8669 } 8670 if s.KeySchema != nil && len(s.KeySchema) < 1 { 8671 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 8672 } 8673 if s.TableName == nil { 8674 invalidParams.Add(request.NewErrParamRequired("TableName")) 8675 } 8676 if s.TableName != nil && len(*s.TableName) < 3 { 8677 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 8678 } 8679 if s.AttributeDefinitions != nil { 8680 for i, v := range s.AttributeDefinitions { 8681 if v == nil { 8682 continue 8683 } 8684 if err := v.Validate(); err != nil { 8685 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams)) 8686 } 8687 } 8688 } 8689 if s.GlobalSecondaryIndexes != nil { 8690 for i, v := range s.GlobalSecondaryIndexes { 8691 if v == nil { 8692 continue 8693 } 8694 if err := v.Validate(); err != nil { 8695 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 8696 } 8697 } 8698 } 8699 if s.KeySchema != nil { 8700 for i, v := range s.KeySchema { 8701 if v == nil { 8702 continue 8703 } 8704 if err := v.Validate(); err != nil { 8705 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 8706 } 8707 } 8708 } 8709 if s.LocalSecondaryIndexes != nil { 8710 for i, v := range s.LocalSecondaryIndexes { 8711 if v == nil { 8712 continue 8713 } 8714 if err := v.Validate(); err != nil { 8715 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 8716 } 8717 } 8718 } 8719 if s.ProvisionedThroughput != nil { 8720 if err := s.ProvisionedThroughput.Validate(); err != nil { 8721 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 8722 } 8723 } 8724 if s.StreamSpecification != nil { 8725 if err := s.StreamSpecification.Validate(); err != nil { 8726 invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) 8727 } 8728 } 8729 if s.Tags != nil { 8730 for i, v := range s.Tags { 8731 if v == nil { 8732 continue 8733 } 8734 if err := v.Validate(); err != nil { 8735 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8736 } 8737 } 8738 } 8739 8740 if invalidParams.Len() > 0 { 8741 return invalidParams 8742 } 8743 return nil 8744} 8745 8746// SetAttributeDefinitions sets the AttributeDefinitions field's value. 8747func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput { 8748 s.AttributeDefinitions = v 8749 return s 8750} 8751 8752// SetBillingMode sets the BillingMode field's value. 8753func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput { 8754 s.BillingMode = &v 8755 return s 8756} 8757 8758// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 8759func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput { 8760 s.GlobalSecondaryIndexes = v 8761 return s 8762} 8763 8764// SetKeySchema sets the KeySchema field's value. 8765func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput { 8766 s.KeySchema = v 8767 return s 8768} 8769 8770// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 8771func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput { 8772 s.LocalSecondaryIndexes = v 8773 return s 8774} 8775 8776// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 8777func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput { 8778 s.ProvisionedThroughput = v 8779 return s 8780} 8781 8782// SetSSESpecification sets the SSESpecification field's value. 8783func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput { 8784 s.SSESpecification = v 8785 return s 8786} 8787 8788// SetStreamSpecification sets the StreamSpecification field's value. 8789func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput { 8790 s.StreamSpecification = v 8791 return s 8792} 8793 8794// SetTableName sets the TableName field's value. 8795func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { 8796 s.TableName = &v 8797 return s 8798} 8799 8800// SetTags sets the Tags field's value. 8801func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { 8802 s.Tags = v 8803 return s 8804} 8805 8806// Represents the output of a CreateTable operation. 8807type CreateTableOutput struct { 8808 _ struct{} `type:"structure"` 8809 8810 // Represents the properties of the table. 8811 TableDescription *TableDescription `type:"structure"` 8812} 8813 8814// String returns the string representation 8815func (s CreateTableOutput) String() string { 8816 return awsutil.Prettify(s) 8817} 8818 8819// GoString returns the string representation 8820func (s CreateTableOutput) GoString() string { 8821 return s.String() 8822} 8823 8824// SetTableDescription sets the TableDescription field's value. 8825func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput { 8826 s.TableDescription = v 8827 return s 8828} 8829 8830// Represents a request to perform a DeleteItem operation. 8831type Delete struct { 8832 _ struct{} `type:"structure"` 8833 8834 // A condition that must be satisfied in order for a conditional delete to succeed. 8835 ConditionExpression *string `type:"string"` 8836 8837 // One or more substitution tokens for attribute names in an expression. 8838 ExpressionAttributeNames map[string]*string `type:"map"` 8839 8840 // One or more values that can be substituted in an expression. 8841 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 8842 8843 // The primary key of the item to be deleted. Each element consists of an attribute 8844 // name and a value for that attribute. 8845 // 8846 // Key is a required field 8847 Key map[string]*AttributeValue `type:"map" required:"true"` 8848 8849 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 8850 // Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid 8851 // values are: NONE and ALL_OLD. 8852 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 8853 8854 // Name of the table in which the item to be deleted resides. 8855 // 8856 // TableName is a required field 8857 TableName *string `min:"3" type:"string" required:"true"` 8858} 8859 8860// String returns the string representation 8861func (s Delete) String() string { 8862 return awsutil.Prettify(s) 8863} 8864 8865// GoString returns the string representation 8866func (s Delete) GoString() string { 8867 return s.String() 8868} 8869 8870// Validate inspects the fields of the type to determine if they are valid. 8871func (s *Delete) Validate() error { 8872 invalidParams := request.ErrInvalidParams{Context: "Delete"} 8873 if s.Key == nil { 8874 invalidParams.Add(request.NewErrParamRequired("Key")) 8875 } 8876 if s.TableName == nil { 8877 invalidParams.Add(request.NewErrParamRequired("TableName")) 8878 } 8879 if s.TableName != nil && len(*s.TableName) < 3 { 8880 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 8881 } 8882 8883 if invalidParams.Len() > 0 { 8884 return invalidParams 8885 } 8886 return nil 8887} 8888 8889// SetConditionExpression sets the ConditionExpression field's value. 8890func (s *Delete) SetConditionExpression(v string) *Delete { 8891 s.ConditionExpression = &v 8892 return s 8893} 8894 8895// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 8896func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete { 8897 s.ExpressionAttributeNames = v 8898 return s 8899} 8900 8901// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 8902func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete { 8903 s.ExpressionAttributeValues = v 8904 return s 8905} 8906 8907// SetKey sets the Key field's value. 8908func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete { 8909 s.Key = v 8910 return s 8911} 8912 8913// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 8914func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete { 8915 s.ReturnValuesOnConditionCheckFailure = &v 8916 return s 8917} 8918 8919// SetTableName sets the TableName field's value. 8920func (s *Delete) SetTableName(v string) *Delete { 8921 s.TableName = &v 8922 return s 8923} 8924 8925type DeleteBackupInput struct { 8926 _ struct{} `type:"structure"` 8927 8928 // The ARN associated with the backup. 8929 // 8930 // BackupArn is a required field 8931 BackupArn *string `min:"37" type:"string" required:"true"` 8932} 8933 8934// String returns the string representation 8935func (s DeleteBackupInput) String() string { 8936 return awsutil.Prettify(s) 8937} 8938 8939// GoString returns the string representation 8940func (s DeleteBackupInput) GoString() string { 8941 return s.String() 8942} 8943 8944// Validate inspects the fields of the type to determine if they are valid. 8945func (s *DeleteBackupInput) Validate() error { 8946 invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} 8947 if s.BackupArn == nil { 8948 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 8949 } 8950 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 8951 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 8952 } 8953 8954 if invalidParams.Len() > 0 { 8955 return invalidParams 8956 } 8957 return nil 8958} 8959 8960// SetBackupArn sets the BackupArn field's value. 8961func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput { 8962 s.BackupArn = &v 8963 return s 8964} 8965 8966type DeleteBackupOutput struct { 8967 _ struct{} `type:"structure"` 8968 8969 // Contains the description of the backup created for the table. 8970 BackupDescription *BackupDescription `type:"structure"` 8971} 8972 8973// String returns the string representation 8974func (s DeleteBackupOutput) String() string { 8975 return awsutil.Prettify(s) 8976} 8977 8978// GoString returns the string representation 8979func (s DeleteBackupOutput) GoString() string { 8980 return s.String() 8981} 8982 8983// SetBackupDescription sets the BackupDescription field's value. 8984func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput { 8985 s.BackupDescription = v 8986 return s 8987} 8988 8989// Represents a global secondary index to be deleted from an existing table. 8990type DeleteGlobalSecondaryIndexAction struct { 8991 _ struct{} `type:"structure"` 8992 8993 // The name of the global secondary index to be deleted. 8994 // 8995 // IndexName is a required field 8996 IndexName *string `min:"3" type:"string" required:"true"` 8997} 8998 8999// String returns the string representation 9000func (s DeleteGlobalSecondaryIndexAction) String() string { 9001 return awsutil.Prettify(s) 9002} 9003 9004// GoString returns the string representation 9005func (s DeleteGlobalSecondaryIndexAction) GoString() string { 9006 return s.String() 9007} 9008 9009// Validate inspects the fields of the type to determine if they are valid. 9010func (s *DeleteGlobalSecondaryIndexAction) Validate() error { 9011 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"} 9012 if s.IndexName == nil { 9013 invalidParams.Add(request.NewErrParamRequired("IndexName")) 9014 } 9015 if s.IndexName != nil && len(*s.IndexName) < 3 { 9016 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 9017 } 9018 9019 if invalidParams.Len() > 0 { 9020 return invalidParams 9021 } 9022 return nil 9023} 9024 9025// SetIndexName sets the IndexName field's value. 9026func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction { 9027 s.IndexName = &v 9028 return s 9029} 9030 9031// Represents the input of a DeleteItem operation. 9032type DeleteItemInput struct { 9033 _ struct{} `type:"structure"` 9034 9035 // A condition that must be satisfied in order for a conditional DeleteItem 9036 // to succeed. 9037 // 9038 // An expression can contain any of the following: 9039 // 9040 // * Functions: attribute_exists | attribute_not_exists | attribute_type 9041 // | contains | begins_with | size These function names are case-sensitive. 9042 // 9043 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 9044 // 9045 // * Logical operators: AND | OR | NOT 9046 // 9047 // For more information about condition expressions, see Condition Expressions 9048 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 9049 // in the Amazon DynamoDB Developer Guide. 9050 ConditionExpression *string `type:"string"` 9051 9052 // This is a legacy parameter. Use ConditionExpression instead. For more information, 9053 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 9054 // in the Amazon DynamoDB Developer Guide. 9055 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 9056 9057 // This is a legacy parameter. Use ConditionExpression instead. For more information, 9058 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 9059 // in the Amazon DynamoDB Developer Guide. 9060 Expected map[string]*ExpectedAttributeValue `type:"map"` 9061 9062 // One or more substitution tokens for attribute names in an expression. The 9063 // following are some use cases for using ExpressionAttributeNames: 9064 // 9065 // * To access an attribute whose name conflicts with a DynamoDB reserved 9066 // word. 9067 // 9068 // * To create a placeholder for repeating occurrences of an attribute name 9069 // in an expression. 9070 // 9071 // * To prevent special characters in an attribute name from being misinterpreted 9072 // in an expression. 9073 // 9074 // Use the # character in an expression to dereference an attribute name. For 9075 // example, consider the following attribute name: 9076 // 9077 // * Percentile 9078 // 9079 // The name of this attribute conflicts with a reserved word, so it cannot be 9080 // used directly in an expression. (For the complete list of reserved words, 9081 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 9082 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 9083 // the following for ExpressionAttributeNames: 9084 // 9085 // * {"#P":"Percentile"} 9086 // 9087 // You could then use this substitution in an expression, as in this example: 9088 // 9089 // * #P = :val 9090 // 9091 // Tokens that begin with the : character are expression attribute values, which 9092 // are placeholders for the actual value at runtime. 9093 // 9094 // For more information on expression attribute names, see Specifying Item Attributes 9095 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 9096 // in the Amazon DynamoDB Developer Guide. 9097 ExpressionAttributeNames map[string]*string `type:"map"` 9098 9099 // One or more values that can be substituted in an expression. 9100 // 9101 // Use the : (colon) character in an expression to dereference an attribute 9102 // value. For example, suppose that you wanted to check whether the value of 9103 // the ProductStatus attribute was one of the following: 9104 // 9105 // Available | Backordered | Discontinued 9106 // 9107 // You would first need to specify ExpressionAttributeValues as follows: 9108 // 9109 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 9110 // } 9111 // 9112 // You could then use these values in an expression, such as this: 9113 // 9114 // ProductStatus IN (:avail, :back, :disc) 9115 // 9116 // For more information on expression attribute values, see Condition Expressions 9117 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 9118 // in the Amazon DynamoDB Developer Guide. 9119 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 9120 9121 // A map of attribute names to AttributeValue objects, representing the primary 9122 // key of the item to delete. 9123 // 9124 // For the primary key, you must provide all of the attributes. For example, 9125 // with a simple primary key, you only need to provide a value for the partition 9126 // key. For a composite primary key, you must provide values for both the partition 9127 // key and the sort key. 9128 // 9129 // Key is a required field 9130 Key map[string]*AttributeValue `type:"map" required:"true"` 9131 9132 // Determines the level of detail about provisioned throughput consumption that 9133 // is returned in the response: 9134 // 9135 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 9136 // operation, together with ConsumedCapacity for each table and secondary 9137 // index that was accessed. Note that some operations, such as GetItem and 9138 // BatchGetItem, do not access any indexes at all. In these cases, specifying 9139 // INDEXES will only return ConsumedCapacity information for table(s). 9140 // 9141 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 9142 // the operation. 9143 // 9144 // * NONE - No ConsumedCapacity details are included in the response. 9145 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 9146 9147 // Determines whether item collection metrics are returned. If set to SIZE, 9148 // the response includes statistics about item collections, if any, that were 9149 // modified during the operation are returned in the response. If set to NONE 9150 // (the default), no statistics are returned. 9151 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 9152 9153 // Use ReturnValues if you want to get the item attributes as they appeared 9154 // before they were deleted. For DeleteItem, the valid values are: 9155 // 9156 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 9157 // nothing is returned. (This setting is the default for ReturnValues.) 9158 // 9159 // * ALL_OLD - The content of the old item is returned. 9160 // 9161 // The ReturnValues parameter is used by several DynamoDB operations; however, 9162 // DeleteItem does not recognize any values other than NONE or ALL_OLD. 9163 ReturnValues *string `type:"string" enum:"ReturnValue"` 9164 9165 // The name of the table from which to delete the item. 9166 // 9167 // TableName is a required field 9168 TableName *string `min:"3" type:"string" required:"true"` 9169} 9170 9171// String returns the string representation 9172func (s DeleteItemInput) String() string { 9173 return awsutil.Prettify(s) 9174} 9175 9176// GoString returns the string representation 9177func (s DeleteItemInput) GoString() string { 9178 return s.String() 9179} 9180 9181// Validate inspects the fields of the type to determine if they are valid. 9182func (s *DeleteItemInput) Validate() error { 9183 invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"} 9184 if s.Key == nil { 9185 invalidParams.Add(request.NewErrParamRequired("Key")) 9186 } 9187 if s.TableName == nil { 9188 invalidParams.Add(request.NewErrParamRequired("TableName")) 9189 } 9190 if s.TableName != nil && len(*s.TableName) < 3 { 9191 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9192 } 9193 9194 if invalidParams.Len() > 0 { 9195 return invalidParams 9196 } 9197 return nil 9198} 9199 9200// SetConditionExpression sets the ConditionExpression field's value. 9201func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput { 9202 s.ConditionExpression = &v 9203 return s 9204} 9205 9206// SetConditionalOperator sets the ConditionalOperator field's value. 9207func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput { 9208 s.ConditionalOperator = &v 9209 return s 9210} 9211 9212// SetExpected sets the Expected field's value. 9213func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput { 9214 s.Expected = v 9215 return s 9216} 9217 9218// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 9219func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput { 9220 s.ExpressionAttributeNames = v 9221 return s 9222} 9223 9224// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 9225func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput { 9226 s.ExpressionAttributeValues = v 9227 return s 9228} 9229 9230// SetKey sets the Key field's value. 9231func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput { 9232 s.Key = v 9233 return s 9234} 9235 9236// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 9237func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput { 9238 s.ReturnConsumedCapacity = &v 9239 return s 9240} 9241 9242// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 9243func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput { 9244 s.ReturnItemCollectionMetrics = &v 9245 return s 9246} 9247 9248// SetReturnValues sets the ReturnValues field's value. 9249func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput { 9250 s.ReturnValues = &v 9251 return s 9252} 9253 9254// SetTableName sets the TableName field's value. 9255func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput { 9256 s.TableName = &v 9257 return s 9258} 9259 9260// Represents the output of a DeleteItem operation. 9261type DeleteItemOutput struct { 9262 _ struct{} `type:"structure"` 9263 9264 // A map of attribute names to AttributeValue objects, representing the item 9265 // as it appeared before the DeleteItem operation. This map appears in the response 9266 // only if ReturnValues was specified as ALL_OLD in the request. 9267 Attributes map[string]*AttributeValue `type:"map"` 9268 9269 // The capacity units consumed by the DeleteItem operation. The data returned 9270 // includes the total provisioned throughput consumed, along with statistics 9271 // for the table and any indexes involved in the operation. ConsumedCapacity 9272 // is only returned if the ReturnConsumedCapacity parameter was specified. For 9273 // more information, see Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 9274 // in the Amazon DynamoDB Developer Guide. 9275 ConsumedCapacity *ConsumedCapacity `type:"structure"` 9276 9277 // Information about item collections, if any, that were affected by the DeleteItem 9278 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 9279 // parameter was specified. If the table does not have any local secondary indexes, 9280 // this information is not returned in the response. 9281 // 9282 // Each ItemCollectionMetrics element consists of: 9283 // 9284 // * ItemCollectionKey - The partition key value of the item collection. 9285 // This is the same as the partition key value of the item itself. 9286 // 9287 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 9288 // This value is a two-element array containing a lower bound and an upper 9289 // bound for the estimate. The estimate includes the size of all the items 9290 // in the table, plus the size of all attributes projected into all of the 9291 // local secondary indexes on that table. Use this estimate to measure whether 9292 // a local secondary index is approaching its size limit. The estimate is 9293 // subject to change over time; therefore, do not rely on the precision or 9294 // accuracy of the estimate. 9295 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 9296} 9297 9298// String returns the string representation 9299func (s DeleteItemOutput) String() string { 9300 return awsutil.Prettify(s) 9301} 9302 9303// GoString returns the string representation 9304func (s DeleteItemOutput) GoString() string { 9305 return s.String() 9306} 9307 9308// SetAttributes sets the Attributes field's value. 9309func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput { 9310 s.Attributes = v 9311 return s 9312} 9313 9314// SetConsumedCapacity sets the ConsumedCapacity field's value. 9315func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput { 9316 s.ConsumedCapacity = v 9317 return s 9318} 9319 9320// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 9321func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput { 9322 s.ItemCollectionMetrics = v 9323 return s 9324} 9325 9326// Represents a replica to be removed. 9327type DeleteReplicaAction struct { 9328 _ struct{} `type:"structure"` 9329 9330 // The Region of the replica to be removed. 9331 // 9332 // RegionName is a required field 9333 RegionName *string `type:"string" required:"true"` 9334} 9335 9336// String returns the string representation 9337func (s DeleteReplicaAction) String() string { 9338 return awsutil.Prettify(s) 9339} 9340 9341// GoString returns the string representation 9342func (s DeleteReplicaAction) GoString() string { 9343 return s.String() 9344} 9345 9346// Validate inspects the fields of the type to determine if they are valid. 9347func (s *DeleteReplicaAction) Validate() error { 9348 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"} 9349 if s.RegionName == nil { 9350 invalidParams.Add(request.NewErrParamRequired("RegionName")) 9351 } 9352 9353 if invalidParams.Len() > 0 { 9354 return invalidParams 9355 } 9356 return nil 9357} 9358 9359// SetRegionName sets the RegionName field's value. 9360func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction { 9361 s.RegionName = &v 9362 return s 9363} 9364 9365// Represents a replica to be deleted. 9366type DeleteReplicationGroupMemberAction struct { 9367 _ struct{} `type:"structure"` 9368 9369 // The Region where the replica exists. 9370 // 9371 // RegionName is a required field 9372 RegionName *string `type:"string" required:"true"` 9373} 9374 9375// String returns the string representation 9376func (s DeleteReplicationGroupMemberAction) String() string { 9377 return awsutil.Prettify(s) 9378} 9379 9380// GoString returns the string representation 9381func (s DeleteReplicationGroupMemberAction) GoString() string { 9382 return s.String() 9383} 9384 9385// Validate inspects the fields of the type to determine if they are valid. 9386func (s *DeleteReplicationGroupMemberAction) Validate() error { 9387 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupMemberAction"} 9388 if s.RegionName == nil { 9389 invalidParams.Add(request.NewErrParamRequired("RegionName")) 9390 } 9391 9392 if invalidParams.Len() > 0 { 9393 return invalidParams 9394 } 9395 return nil 9396} 9397 9398// SetRegionName sets the RegionName field's value. 9399func (s *DeleteReplicationGroupMemberAction) SetRegionName(v string) *DeleteReplicationGroupMemberAction { 9400 s.RegionName = &v 9401 return s 9402} 9403 9404// Represents a request to perform a DeleteItem operation on an item. 9405type DeleteRequest struct { 9406 _ struct{} `type:"structure"` 9407 9408 // A map of attribute name to attribute values, representing the primary key 9409 // of the item to delete. All of the table's primary key attributes must be 9410 // specified, and their data types must match those of the table's key schema. 9411 // 9412 // Key is a required field 9413 Key map[string]*AttributeValue `type:"map" required:"true"` 9414} 9415 9416// String returns the string representation 9417func (s DeleteRequest) String() string { 9418 return awsutil.Prettify(s) 9419} 9420 9421// GoString returns the string representation 9422func (s DeleteRequest) GoString() string { 9423 return s.String() 9424} 9425 9426// SetKey sets the Key field's value. 9427func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest { 9428 s.Key = v 9429 return s 9430} 9431 9432// Represents the input of a DeleteTable operation. 9433type DeleteTableInput struct { 9434 _ struct{} `type:"structure"` 9435 9436 // The name of the table to delete. 9437 // 9438 // TableName is a required field 9439 TableName *string `min:"3" type:"string" required:"true"` 9440} 9441 9442// String returns the string representation 9443func (s DeleteTableInput) String() string { 9444 return awsutil.Prettify(s) 9445} 9446 9447// GoString returns the string representation 9448func (s DeleteTableInput) GoString() string { 9449 return s.String() 9450} 9451 9452// Validate inspects the fields of the type to determine if they are valid. 9453func (s *DeleteTableInput) Validate() error { 9454 invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} 9455 if s.TableName == nil { 9456 invalidParams.Add(request.NewErrParamRequired("TableName")) 9457 } 9458 if s.TableName != nil && len(*s.TableName) < 3 { 9459 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9460 } 9461 9462 if invalidParams.Len() > 0 { 9463 return invalidParams 9464 } 9465 return nil 9466} 9467 9468// SetTableName sets the TableName field's value. 9469func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput { 9470 s.TableName = &v 9471 return s 9472} 9473 9474// Represents the output of a DeleteTable operation. 9475type DeleteTableOutput struct { 9476 _ struct{} `type:"structure"` 9477 9478 // Represents the properties of a table. 9479 TableDescription *TableDescription `type:"structure"` 9480} 9481 9482// String returns the string representation 9483func (s DeleteTableOutput) String() string { 9484 return awsutil.Prettify(s) 9485} 9486 9487// GoString returns the string representation 9488func (s DeleteTableOutput) GoString() string { 9489 return s.String() 9490} 9491 9492// SetTableDescription sets the TableDescription field's value. 9493func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput { 9494 s.TableDescription = v 9495 return s 9496} 9497 9498type DescribeBackupInput struct { 9499 _ struct{} `type:"structure"` 9500 9501 // The Amazon Resource Name (ARN) associated with the backup. 9502 // 9503 // BackupArn is a required field 9504 BackupArn *string `min:"37" type:"string" required:"true"` 9505} 9506 9507// String returns the string representation 9508func (s DescribeBackupInput) String() string { 9509 return awsutil.Prettify(s) 9510} 9511 9512// GoString returns the string representation 9513func (s DescribeBackupInput) GoString() string { 9514 return s.String() 9515} 9516 9517// Validate inspects the fields of the type to determine if they are valid. 9518func (s *DescribeBackupInput) Validate() error { 9519 invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"} 9520 if s.BackupArn == nil { 9521 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 9522 } 9523 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 9524 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 9525 } 9526 9527 if invalidParams.Len() > 0 { 9528 return invalidParams 9529 } 9530 return nil 9531} 9532 9533// SetBackupArn sets the BackupArn field's value. 9534func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput { 9535 s.BackupArn = &v 9536 return s 9537} 9538 9539type DescribeBackupOutput struct { 9540 _ struct{} `type:"structure"` 9541 9542 // Contains the description of the backup created for the table. 9543 BackupDescription *BackupDescription `type:"structure"` 9544} 9545 9546// String returns the string representation 9547func (s DescribeBackupOutput) String() string { 9548 return awsutil.Prettify(s) 9549} 9550 9551// GoString returns the string representation 9552func (s DescribeBackupOutput) GoString() string { 9553 return s.String() 9554} 9555 9556// SetBackupDescription sets the BackupDescription field's value. 9557func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput { 9558 s.BackupDescription = v 9559 return s 9560} 9561 9562type DescribeContinuousBackupsInput struct { 9563 _ struct{} `type:"structure"` 9564 9565 // Name of the table for which the customer wants to check the continuous backups 9566 // and point in time recovery settings. 9567 // 9568 // TableName is a required field 9569 TableName *string `min:"3" type:"string" required:"true"` 9570} 9571 9572// String returns the string representation 9573func (s DescribeContinuousBackupsInput) String() string { 9574 return awsutil.Prettify(s) 9575} 9576 9577// GoString returns the string representation 9578func (s DescribeContinuousBackupsInput) GoString() string { 9579 return s.String() 9580} 9581 9582// Validate inspects the fields of the type to determine if they are valid. 9583func (s *DescribeContinuousBackupsInput) Validate() error { 9584 invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"} 9585 if s.TableName == nil { 9586 invalidParams.Add(request.NewErrParamRequired("TableName")) 9587 } 9588 if s.TableName != nil && len(*s.TableName) < 3 { 9589 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9590 } 9591 9592 if invalidParams.Len() > 0 { 9593 return invalidParams 9594 } 9595 return nil 9596} 9597 9598// SetTableName sets the TableName field's value. 9599func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput { 9600 s.TableName = &v 9601 return s 9602} 9603 9604type DescribeContinuousBackupsOutput struct { 9605 _ struct{} `type:"structure"` 9606 9607 // Represents the continuous backups and point in time recovery settings on 9608 // the table. 9609 ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` 9610} 9611 9612// String returns the string representation 9613func (s DescribeContinuousBackupsOutput) String() string { 9614 return awsutil.Prettify(s) 9615} 9616 9617// GoString returns the string representation 9618func (s DescribeContinuousBackupsOutput) GoString() string { 9619 return s.String() 9620} 9621 9622// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. 9623func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput { 9624 s.ContinuousBackupsDescription = v 9625 return s 9626} 9627 9628type DescribeContributorInsightsInput struct { 9629 _ struct{} `type:"structure"` 9630 9631 // The name of the global secondary index to describe, if applicable. 9632 IndexName *string `min:"3" type:"string"` 9633 9634 // The name of the table to describe. 9635 // 9636 // TableName is a required field 9637 TableName *string `min:"3" type:"string" required:"true"` 9638} 9639 9640// String returns the string representation 9641func (s DescribeContributorInsightsInput) String() string { 9642 return awsutil.Prettify(s) 9643} 9644 9645// GoString returns the string representation 9646func (s DescribeContributorInsightsInput) GoString() string { 9647 return s.String() 9648} 9649 9650// Validate inspects the fields of the type to determine if they are valid. 9651func (s *DescribeContributorInsightsInput) Validate() error { 9652 invalidParams := request.ErrInvalidParams{Context: "DescribeContributorInsightsInput"} 9653 if s.IndexName != nil && len(*s.IndexName) < 3 { 9654 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 9655 } 9656 if s.TableName == nil { 9657 invalidParams.Add(request.NewErrParamRequired("TableName")) 9658 } 9659 if s.TableName != nil && len(*s.TableName) < 3 { 9660 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 9661 } 9662 9663 if invalidParams.Len() > 0 { 9664 return invalidParams 9665 } 9666 return nil 9667} 9668 9669// SetIndexName sets the IndexName field's value. 9670func (s *DescribeContributorInsightsInput) SetIndexName(v string) *DescribeContributorInsightsInput { 9671 s.IndexName = &v 9672 return s 9673} 9674 9675// SetTableName sets the TableName field's value. 9676func (s *DescribeContributorInsightsInput) SetTableName(v string) *DescribeContributorInsightsInput { 9677 s.TableName = &v 9678 return s 9679} 9680 9681type DescribeContributorInsightsOutput struct { 9682 _ struct{} `type:"structure"` 9683 9684 // List of names of the associated Alpine rules. 9685 ContributorInsightsRuleList []*string `type:"list"` 9686 9687 // Current Status contributor insights. 9688 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 9689 9690 // Returns information about the last failure that encountered. 9691 // 9692 // The most common exceptions for a FAILED status are: 9693 // 9694 // * LimitExceededException - Per-account Amazon CloudWatch Contributor Insights 9695 // rule limit reached. Please disable Contributor Insights for other tables/indexes 9696 // OR disable Contributor Insights rules before retrying. 9697 // 9698 // * AccessDeniedException - Amazon CloudWatch Contributor Insights rules 9699 // cannot be modified due to insufficient permissions. 9700 // 9701 // * AccessDeniedException - Failed to create service-linked role for Contributor 9702 // Insights due to insufficient permissions. 9703 // 9704 // * InternalServerError - Failed to create Amazon CloudWatch Contributor 9705 // Insights rules. Please retry request. 9706 FailureException *FailureException `type:"structure"` 9707 9708 // The name of the global secondary index being described. 9709 IndexName *string `min:"3" type:"string"` 9710 9711 // Timestamp of the last time the status was changed. 9712 LastUpdateDateTime *time.Time `type:"timestamp"` 9713 9714 // The name of the table being described. 9715 TableName *string `min:"3" type:"string"` 9716} 9717 9718// String returns the string representation 9719func (s DescribeContributorInsightsOutput) String() string { 9720 return awsutil.Prettify(s) 9721} 9722 9723// GoString returns the string representation 9724func (s DescribeContributorInsightsOutput) GoString() string { 9725 return s.String() 9726} 9727 9728// SetContributorInsightsRuleList sets the ContributorInsightsRuleList field's value. 9729func (s *DescribeContributorInsightsOutput) SetContributorInsightsRuleList(v []*string) *DescribeContributorInsightsOutput { 9730 s.ContributorInsightsRuleList = v 9731 return s 9732} 9733 9734// SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 9735func (s *DescribeContributorInsightsOutput) SetContributorInsightsStatus(v string) *DescribeContributorInsightsOutput { 9736 s.ContributorInsightsStatus = &v 9737 return s 9738} 9739 9740// SetFailureException sets the FailureException field's value. 9741func (s *DescribeContributorInsightsOutput) SetFailureException(v *FailureException) *DescribeContributorInsightsOutput { 9742 s.FailureException = v 9743 return s 9744} 9745 9746// SetIndexName sets the IndexName field's value. 9747func (s *DescribeContributorInsightsOutput) SetIndexName(v string) *DescribeContributorInsightsOutput { 9748 s.IndexName = &v 9749 return s 9750} 9751 9752// SetLastUpdateDateTime sets the LastUpdateDateTime field's value. 9753func (s *DescribeContributorInsightsOutput) SetLastUpdateDateTime(v time.Time) *DescribeContributorInsightsOutput { 9754 s.LastUpdateDateTime = &v 9755 return s 9756} 9757 9758// SetTableName sets the TableName field's value. 9759func (s *DescribeContributorInsightsOutput) SetTableName(v string) *DescribeContributorInsightsOutput { 9760 s.TableName = &v 9761 return s 9762} 9763 9764type DescribeEndpointsInput struct { 9765 _ struct{} `type:"structure"` 9766} 9767 9768// String returns the string representation 9769func (s DescribeEndpointsInput) String() string { 9770 return awsutil.Prettify(s) 9771} 9772 9773// GoString returns the string representation 9774func (s DescribeEndpointsInput) GoString() string { 9775 return s.String() 9776} 9777 9778type DescribeEndpointsOutput struct { 9779 _ struct{} `type:"structure"` 9780 9781 // List of endpoints. 9782 // 9783 // Endpoints is a required field 9784 Endpoints []*Endpoint `type:"list" required:"true"` 9785} 9786 9787// String returns the string representation 9788func (s DescribeEndpointsOutput) String() string { 9789 return awsutil.Prettify(s) 9790} 9791 9792// GoString returns the string representation 9793func (s DescribeEndpointsOutput) GoString() string { 9794 return s.String() 9795} 9796 9797// SetEndpoints sets the Endpoints field's value. 9798func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput { 9799 s.Endpoints = v 9800 return s 9801} 9802 9803type DescribeGlobalTableInput struct { 9804 _ struct{} `type:"structure"` 9805 9806 // The name of the global table. 9807 // 9808 // GlobalTableName is a required field 9809 GlobalTableName *string `min:"3" type:"string" required:"true"` 9810} 9811 9812// String returns the string representation 9813func (s DescribeGlobalTableInput) String() string { 9814 return awsutil.Prettify(s) 9815} 9816 9817// GoString returns the string representation 9818func (s DescribeGlobalTableInput) GoString() string { 9819 return s.String() 9820} 9821 9822// Validate inspects the fields of the type to determine if they are valid. 9823func (s *DescribeGlobalTableInput) Validate() error { 9824 invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"} 9825 if s.GlobalTableName == nil { 9826 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 9827 } 9828 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 9829 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 9830 } 9831 9832 if invalidParams.Len() > 0 { 9833 return invalidParams 9834 } 9835 return nil 9836} 9837 9838// SetGlobalTableName sets the GlobalTableName field's value. 9839func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput { 9840 s.GlobalTableName = &v 9841 return s 9842} 9843 9844type DescribeGlobalTableOutput struct { 9845 _ struct{} `type:"structure"` 9846 9847 // Contains the details of the global table. 9848 GlobalTableDescription *GlobalTableDescription `type:"structure"` 9849} 9850 9851// String returns the string representation 9852func (s DescribeGlobalTableOutput) String() string { 9853 return awsutil.Prettify(s) 9854} 9855 9856// GoString returns the string representation 9857func (s DescribeGlobalTableOutput) GoString() string { 9858 return s.String() 9859} 9860 9861// SetGlobalTableDescription sets the GlobalTableDescription field's value. 9862func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput { 9863 s.GlobalTableDescription = v 9864 return s 9865} 9866 9867type DescribeGlobalTableSettingsInput struct { 9868 _ struct{} `type:"structure"` 9869 9870 // The name of the global table to describe. 9871 // 9872 // GlobalTableName is a required field 9873 GlobalTableName *string `min:"3" type:"string" required:"true"` 9874} 9875 9876// String returns the string representation 9877func (s DescribeGlobalTableSettingsInput) String() string { 9878 return awsutil.Prettify(s) 9879} 9880 9881// GoString returns the string representation 9882func (s DescribeGlobalTableSettingsInput) GoString() string { 9883 return s.String() 9884} 9885 9886// Validate inspects the fields of the type to determine if they are valid. 9887func (s *DescribeGlobalTableSettingsInput) Validate() error { 9888 invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"} 9889 if s.GlobalTableName == nil { 9890 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 9891 } 9892 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 9893 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 9894 } 9895 9896 if invalidParams.Len() > 0 { 9897 return invalidParams 9898 } 9899 return nil 9900} 9901 9902// SetGlobalTableName sets the GlobalTableName field's value. 9903func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput { 9904 s.GlobalTableName = &v 9905 return s 9906} 9907 9908type DescribeGlobalTableSettingsOutput struct { 9909 _ struct{} `type:"structure"` 9910 9911 // The name of the global table. 9912 GlobalTableName *string `min:"3" type:"string"` 9913 9914 // The Region-specific settings for the global table. 9915 ReplicaSettings []*ReplicaSettingsDescription `type:"list"` 9916} 9917 9918// String returns the string representation 9919func (s DescribeGlobalTableSettingsOutput) String() string { 9920 return awsutil.Prettify(s) 9921} 9922 9923// GoString returns the string representation 9924func (s DescribeGlobalTableSettingsOutput) GoString() string { 9925 return s.String() 9926} 9927 9928// SetGlobalTableName sets the GlobalTableName field's value. 9929func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput { 9930 s.GlobalTableName = &v 9931 return s 9932} 9933 9934// SetReplicaSettings sets the ReplicaSettings field's value. 9935func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput { 9936 s.ReplicaSettings = v 9937 return s 9938} 9939 9940// Represents the input of a DescribeLimits operation. Has no content. 9941type DescribeLimitsInput struct { 9942 _ struct{} `type:"structure"` 9943} 9944 9945// String returns the string representation 9946func (s DescribeLimitsInput) String() string { 9947 return awsutil.Prettify(s) 9948} 9949 9950// GoString returns the string representation 9951func (s DescribeLimitsInput) GoString() string { 9952 return s.String() 9953} 9954 9955// Represents the output of a DescribeLimits operation. 9956type DescribeLimitsOutput struct { 9957 _ struct{} `type:"structure"` 9958 9959 // The maximum total read capacity units that your account allows you to provision 9960 // across all of your tables in this Region. 9961 AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"` 9962 9963 // The maximum total write capacity units that your account allows you to provision 9964 // across all of your tables in this Region. 9965 AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"` 9966 9967 // The maximum read capacity units that your account allows you to provision 9968 // for a new table that you are creating in this Region, including the read 9969 // capacity units provisioned for its global secondary indexes (GSIs). 9970 TableMaxReadCapacityUnits *int64 `min:"1" type:"long"` 9971 9972 // The maximum write capacity units that your account allows you to provision 9973 // for a new table that you are creating in this Region, including the write 9974 // capacity units provisioned for its global secondary indexes (GSIs). 9975 TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"` 9976} 9977 9978// String returns the string representation 9979func (s DescribeLimitsOutput) String() string { 9980 return awsutil.Prettify(s) 9981} 9982 9983// GoString returns the string representation 9984func (s DescribeLimitsOutput) GoString() string { 9985 return s.String() 9986} 9987 9988// SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value. 9989func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { 9990 s.AccountMaxReadCapacityUnits = &v 9991 return s 9992} 9993 9994// SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value. 9995func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { 9996 s.AccountMaxWriteCapacityUnits = &v 9997 return s 9998} 9999 10000// SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value. 10001func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { 10002 s.TableMaxReadCapacityUnits = &v 10003 return s 10004} 10005 10006// SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value. 10007func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { 10008 s.TableMaxWriteCapacityUnits = &v 10009 return s 10010} 10011 10012// Represents the input of a DescribeTable operation. 10013type DescribeTableInput struct { 10014 _ struct{} `type:"structure"` 10015 10016 // The name of the table to describe. 10017 // 10018 // TableName is a required field 10019 TableName *string `min:"3" type:"string" required:"true"` 10020} 10021 10022// String returns the string representation 10023func (s DescribeTableInput) String() string { 10024 return awsutil.Prettify(s) 10025} 10026 10027// GoString returns the string representation 10028func (s DescribeTableInput) GoString() string { 10029 return s.String() 10030} 10031 10032// Validate inspects the fields of the type to determine if they are valid. 10033func (s *DescribeTableInput) Validate() error { 10034 invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} 10035 if s.TableName == nil { 10036 invalidParams.Add(request.NewErrParamRequired("TableName")) 10037 } 10038 if s.TableName != nil && len(*s.TableName) < 3 { 10039 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10040 } 10041 10042 if invalidParams.Len() > 0 { 10043 return invalidParams 10044 } 10045 return nil 10046} 10047 10048// SetTableName sets the TableName field's value. 10049func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput { 10050 s.TableName = &v 10051 return s 10052} 10053 10054// Represents the output of a DescribeTable operation. 10055type DescribeTableOutput struct { 10056 _ struct{} `type:"structure"` 10057 10058 // The properties of the table. 10059 Table *TableDescription `type:"structure"` 10060} 10061 10062// String returns the string representation 10063func (s DescribeTableOutput) String() string { 10064 return awsutil.Prettify(s) 10065} 10066 10067// GoString returns the string representation 10068func (s DescribeTableOutput) GoString() string { 10069 return s.String() 10070} 10071 10072// SetTable sets the Table field's value. 10073func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput { 10074 s.Table = v 10075 return s 10076} 10077 10078type DescribeTableReplicaAutoScalingInput struct { 10079 _ struct{} `type:"structure"` 10080 10081 // The name of the table. 10082 // 10083 // TableName is a required field 10084 TableName *string `min:"3" type:"string" required:"true"` 10085} 10086 10087// String returns the string representation 10088func (s DescribeTableReplicaAutoScalingInput) String() string { 10089 return awsutil.Prettify(s) 10090} 10091 10092// GoString returns the string representation 10093func (s DescribeTableReplicaAutoScalingInput) GoString() string { 10094 return s.String() 10095} 10096 10097// Validate inspects the fields of the type to determine if they are valid. 10098func (s *DescribeTableReplicaAutoScalingInput) Validate() error { 10099 invalidParams := request.ErrInvalidParams{Context: "DescribeTableReplicaAutoScalingInput"} 10100 if s.TableName == nil { 10101 invalidParams.Add(request.NewErrParamRequired("TableName")) 10102 } 10103 if s.TableName != nil && len(*s.TableName) < 3 { 10104 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10105 } 10106 10107 if invalidParams.Len() > 0 { 10108 return invalidParams 10109 } 10110 return nil 10111} 10112 10113// SetTableName sets the TableName field's value. 10114func (s *DescribeTableReplicaAutoScalingInput) SetTableName(v string) *DescribeTableReplicaAutoScalingInput { 10115 s.TableName = &v 10116 return s 10117} 10118 10119type DescribeTableReplicaAutoScalingOutput struct { 10120 _ struct{} `type:"structure"` 10121 10122 // Represents the auto scaling properties of the table. 10123 TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` 10124} 10125 10126// String returns the string representation 10127func (s DescribeTableReplicaAutoScalingOutput) String() string { 10128 return awsutil.Prettify(s) 10129} 10130 10131// GoString returns the string representation 10132func (s DescribeTableReplicaAutoScalingOutput) GoString() string { 10133 return s.String() 10134} 10135 10136// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. 10137func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *DescribeTableReplicaAutoScalingOutput { 10138 s.TableAutoScalingDescription = v 10139 return s 10140} 10141 10142type DescribeTimeToLiveInput struct { 10143 _ struct{} `type:"structure"` 10144 10145 // The name of the table to be described. 10146 // 10147 // TableName is a required field 10148 TableName *string `min:"3" type:"string" required:"true"` 10149} 10150 10151// String returns the string representation 10152func (s DescribeTimeToLiveInput) String() string { 10153 return awsutil.Prettify(s) 10154} 10155 10156// GoString returns the string representation 10157func (s DescribeTimeToLiveInput) GoString() string { 10158 return s.String() 10159} 10160 10161// Validate inspects the fields of the type to determine if they are valid. 10162func (s *DescribeTimeToLiveInput) Validate() error { 10163 invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} 10164 if s.TableName == nil { 10165 invalidParams.Add(request.NewErrParamRequired("TableName")) 10166 } 10167 if s.TableName != nil && len(*s.TableName) < 3 { 10168 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10169 } 10170 10171 if invalidParams.Len() > 0 { 10172 return invalidParams 10173 } 10174 return nil 10175} 10176 10177// SetTableName sets the TableName field's value. 10178func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { 10179 s.TableName = &v 10180 return s 10181} 10182 10183type DescribeTimeToLiveOutput struct { 10184 _ struct{} `type:"structure"` 10185 10186 // The description of the Time to Live (TTL) status on the specified table. 10187 TimeToLiveDescription *TimeToLiveDescription `type:"structure"` 10188} 10189 10190// String returns the string representation 10191func (s DescribeTimeToLiveOutput) String() string { 10192 return awsutil.Prettify(s) 10193} 10194 10195// GoString returns the string representation 10196func (s DescribeTimeToLiveOutput) GoString() string { 10197 return s.String() 10198} 10199 10200// SetTimeToLiveDescription sets the TimeToLiveDescription field's value. 10201func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput { 10202 s.TimeToLiveDescription = v 10203 return s 10204} 10205 10206// An endpoint information details. 10207type Endpoint struct { 10208 _ struct{} `type:"structure"` 10209 10210 // IP address of the endpoint. 10211 // 10212 // Address is a required field 10213 Address *string `type:"string" required:"true"` 10214 10215 // Endpoint cache time to live (TTL) value. 10216 // 10217 // CachePeriodInMinutes is a required field 10218 CachePeriodInMinutes *int64 `type:"long" required:"true"` 10219} 10220 10221// String returns the string representation 10222func (s Endpoint) String() string { 10223 return awsutil.Prettify(s) 10224} 10225 10226// GoString returns the string representation 10227func (s Endpoint) GoString() string { 10228 return s.String() 10229} 10230 10231// SetAddress sets the Address field's value. 10232func (s *Endpoint) SetAddress(v string) *Endpoint { 10233 s.Address = &v 10234 return s 10235} 10236 10237// SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value. 10238func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint { 10239 s.CachePeriodInMinutes = &v 10240 return s 10241} 10242 10243// Represents a condition to be compared with an attribute value. This condition 10244// can be used with DeleteItem, PutItem, or UpdateItem operations; if the comparison 10245// evaluates to true, the operation succeeds; if not, the operation fails. You 10246// can use ExpectedAttributeValue in one of two different ways: 10247// 10248// * Use AttributeValueList to specify one or more values to compare against 10249// an attribute. Use ComparisonOperator to specify how you want to perform 10250// the comparison. If the comparison evaluates to true, then the conditional 10251// operation succeeds. 10252// 10253// * Use Value to specify a value that DynamoDB will compare against an attribute. 10254// If the values match, then ExpectedAttributeValue evaluates to true and 10255// the conditional operation succeeds. Optionally, you can also set Exists 10256// to false, indicating that you do not expect to find the attribute value 10257// in the table. In this case, the conditional operation succeeds only if 10258// the comparison evaluates to false. 10259// 10260// Value and Exists are incompatible with AttributeValueList and ComparisonOperator. 10261// Note that if you use both sets of parameters at once, DynamoDB will return 10262// a ValidationException exception. 10263type ExpectedAttributeValue struct { 10264 _ struct{} `type:"structure"` 10265 10266 // One or more values to evaluate against the supplied attribute. The number 10267 // of values in the list depends on the ComparisonOperator being used. 10268 // 10269 // For type Number, value comparisons are numeric. 10270 // 10271 // String value comparisons for greater than, equals, or less than are based 10272 // on ASCII character code values. For example, a is greater than A, and a is 10273 // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters 10274 // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). 10275 // 10276 // For Binary, DynamoDB treats each byte of the binary data as unsigned when 10277 // it compares binary values. 10278 // 10279 // For information on specifying data types in JSON, see JSON Data Format (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) 10280 // in the Amazon DynamoDB Developer Guide. 10281 AttributeValueList []*AttributeValue `type:"list"` 10282 10283 // A comparator for evaluating attributes in the AttributeValueList. For example, 10284 // equals, greater than, less than, etc. 10285 // 10286 // The following comparison operators are available: 10287 // 10288 // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | 10289 // BEGINS_WITH | IN | BETWEEN 10290 // 10291 // The following are descriptions of each comparison operator. 10292 // 10293 // * EQ : Equal. EQ is supported for all data types, including lists and 10294 // maps. AttributeValueList can contain only one AttributeValue element of 10295 // type String, Number, Binary, String Set, Number Set, or Binary Set. If 10296 // an item contains an AttributeValue element of a different type than the 10297 // one provided in the request, the value does not match. For example, {"S":"6"} 10298 // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", 10299 // "1"]}. 10300 // 10301 // * NE : Not equal. NE is supported for all data types, including lists 10302 // and maps. AttributeValueList can contain only one AttributeValue of type 10303 // String, Number, Binary, String Set, Number Set, or Binary Set. If an item 10304 // contains an AttributeValue of a different type than the one provided in 10305 // the request, the value does not match. For example, {"S":"6"} does not 10306 // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. 10307 // 10308 // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue 10309 // element of type String, Number, or Binary (not a set type). If an item 10310 // contains an AttributeValue element of a different type than the one provided 10311 // in the request, the value does not match. For example, {"S":"6"} does 10312 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 10313 // "1"]}. 10314 // 10315 // * LT : Less than. AttributeValueList can contain only one AttributeValue 10316 // of type String, Number, or Binary (not a set type). If an item contains 10317 // an AttributeValue element of a different type than the one provided in 10318 // the request, the value does not match. For example, {"S":"6"} does not 10319 // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 10320 // "1"]}. 10321 // 10322 // * GE : Greater than or equal. AttributeValueList can contain only one 10323 // AttributeValue element of type String, Number, or Binary (not a set type). 10324 // If an item contains an AttributeValue element of a different type than 10325 // the one provided in the request, the value does not match. For example, 10326 // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to 10327 // {"NS":["6", "2", "1"]}. 10328 // 10329 // * GT : Greater than. AttributeValueList can contain only one AttributeValue 10330 // element of type String, Number, or Binary (not a set type). If an item 10331 // contains an AttributeValue element of a different type than the one provided 10332 // in the request, the value does not match. For example, {"S":"6"} does 10333 // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", 10334 // "1"]}. 10335 // 10336 // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data 10337 // types, including lists and maps. This operator tests for the existence 10338 // of an attribute, not its data type. If the data type of attribute "a" 10339 // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. 10340 // This result is because the attribute "a" exists; its data type is not 10341 // relevant to the NOT_NULL comparison operator. 10342 // 10343 // * NULL : The attribute does not exist. NULL is supported for all data 10344 // types, including lists and maps. This operator tests for the nonexistence 10345 // of an attribute, not its data type. If the data type of attribute "a" 10346 // is null, and you evaluate it using NULL, the result is a Boolean false. 10347 // This is because the attribute "a" exists; its data type is not relevant 10348 // to the NULL comparison operator. 10349 // 10350 // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList 10351 // can contain only one AttributeValue element of type String, Number, or 10352 // Binary (not a set type). If the target attribute of the comparison is 10353 // of type String, then the operator checks for a substring match. If the 10354 // target attribute of the comparison is of type Binary, then the operator 10355 // looks for a subsequence of the target that matches the input. If the target 10356 // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator 10357 // evaluates to true if it finds an exact match with any member of the set. 10358 // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can 10359 // be a list; however, "b" cannot be a set, a map, or a list. 10360 // 10361 // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a 10362 // value in a set. AttributeValueList can contain only one AttributeValue 10363 // element of type String, Number, or Binary (not a set type). If the target 10364 // attribute of the comparison is a String, then the operator checks for 10365 // the absence of a substring match. If the target attribute of the comparison 10366 // is Binary, then the operator checks for the absence of a subsequence of 10367 // the target that matches the input. If the target attribute of the comparison 10368 // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if 10369 // it does not find an exact match with any member of the set. NOT_CONTAINS 10370 // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be 10371 // a list; however, "b" cannot be a set, a map, or a list. 10372 // 10373 // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only 10374 // one AttributeValue of type String or Binary (not a Number or a set type). 10375 // The target attribute of the comparison must be of type String or Binary 10376 // (not a Number or a set type). 10377 // 10378 // * IN : Checks for matching elements in a list. AttributeValueList can 10379 // contain one or more AttributeValue elements of type String, Number, or 10380 // Binary. These attributes are compared against an existing attribute of 10381 // an item. If any elements of the input are equal to the item attribute, 10382 // the expression evaluates to true. 10383 // 10384 // * BETWEEN : Greater than or equal to the first value, and less than or 10385 // equal to the second value. AttributeValueList must contain two AttributeValue 10386 // elements of the same type, either String, Number, or Binary (not a set 10387 // type). A target attribute matches if the target value is greater than, 10388 // or equal to, the first element and less than, or equal to, the second 10389 // element. If an item contains an AttributeValue element of a different 10390 // type than the one provided in the request, the value does not match. For 10391 // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does 10392 // not compare to {"NS":["6", "2", "1"]} 10393 ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` 10394 10395 // Causes DynamoDB to evaluate the value before attempting a conditional operation: 10396 // 10397 // * If Exists is true, DynamoDB will check to see if that attribute value 10398 // already exists in the table. If it is found, then the operation succeeds. 10399 // If it is not found, the operation fails with a ConditionCheckFailedException. 10400 // 10401 // * If Exists is false, DynamoDB assumes that the attribute value does not 10402 // exist in the table. If in fact the value does not exist, then the assumption 10403 // is valid and the operation succeeds. If the value is found, despite the 10404 // assumption that it does not exist, the operation fails with a ConditionCheckFailedException. 10405 // 10406 // The default setting for Exists is true. If you supply a Value all by itself, 10407 // DynamoDB assumes the attribute exists: You don't have to set Exists to true, 10408 // because it is implied. 10409 // 10410 // DynamoDB returns a ValidationException if: 10411 // 10412 // * Exists is true but there is no Value to check. (You expect a value to 10413 // exist, but don't specify what that value is.) 10414 // 10415 // * Exists is false but you also provide a Value. (You cannot expect an 10416 // attribute to have a value, while also expecting it not to exist.) 10417 Exists *bool `type:"boolean"` 10418 10419 // Represents the data for the expected attribute. 10420 // 10421 // Each attribute value is described as a name-value pair. The name is the data 10422 // type, and the value is the data itself. 10423 // 10424 // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) 10425 // in the Amazon DynamoDB Developer Guide. 10426 Value *AttributeValue `type:"structure"` 10427} 10428 10429// String returns the string representation 10430func (s ExpectedAttributeValue) String() string { 10431 return awsutil.Prettify(s) 10432} 10433 10434// GoString returns the string representation 10435func (s ExpectedAttributeValue) GoString() string { 10436 return s.String() 10437} 10438 10439// SetAttributeValueList sets the AttributeValueList field's value. 10440func (s *ExpectedAttributeValue) SetAttributeValueList(v []*AttributeValue) *ExpectedAttributeValue { 10441 s.AttributeValueList = v 10442 return s 10443} 10444 10445// SetComparisonOperator sets the ComparisonOperator field's value. 10446func (s *ExpectedAttributeValue) SetComparisonOperator(v string) *ExpectedAttributeValue { 10447 s.ComparisonOperator = &v 10448 return s 10449} 10450 10451// SetExists sets the Exists field's value. 10452func (s *ExpectedAttributeValue) SetExists(v bool) *ExpectedAttributeValue { 10453 s.Exists = &v 10454 return s 10455} 10456 10457// SetValue sets the Value field's value. 10458func (s *ExpectedAttributeValue) SetValue(v *AttributeValue) *ExpectedAttributeValue { 10459 s.Value = v 10460 return s 10461} 10462 10463// Represents a failure a contributor insights operation. 10464type FailureException struct { 10465 _ struct{} `type:"structure"` 10466 10467 // Description of the failure. 10468 ExceptionDescription *string `type:"string"` 10469 10470 // Exception name. 10471 ExceptionName *string `type:"string"` 10472} 10473 10474// String returns the string representation 10475func (s FailureException) String() string { 10476 return awsutil.Prettify(s) 10477} 10478 10479// GoString returns the string representation 10480func (s FailureException) GoString() string { 10481 return s.String() 10482} 10483 10484// SetExceptionDescription sets the ExceptionDescription field's value. 10485func (s *FailureException) SetExceptionDescription(v string) *FailureException { 10486 s.ExceptionDescription = &v 10487 return s 10488} 10489 10490// SetExceptionName sets the ExceptionName field's value. 10491func (s *FailureException) SetExceptionName(v string) *FailureException { 10492 s.ExceptionName = &v 10493 return s 10494} 10495 10496// Specifies an item and related attribute values to retrieve in a TransactGetItem 10497// object. 10498type Get struct { 10499 _ struct{} `type:"structure"` 10500 10501 // One or more substitution tokens for attribute names in the ProjectionExpression 10502 // parameter. 10503 ExpressionAttributeNames map[string]*string `type:"map"` 10504 10505 // A map of attribute names to AttributeValue objects that specifies the primary 10506 // key of the item to retrieve. 10507 // 10508 // Key is a required field 10509 Key map[string]*AttributeValue `type:"map" required:"true"` 10510 10511 // A string that identifies one or more attributes of the specified item to 10512 // retrieve from the table. The attributes in the expression must be separated 10513 // by commas. If no attribute names are specified, then all attributes of the 10514 // specified item are returned. If any of the requested attributes are not found, 10515 // they do not appear in the result. 10516 ProjectionExpression *string `type:"string"` 10517 10518 // The name of the table from which to retrieve the specified item. 10519 // 10520 // TableName is a required field 10521 TableName *string `min:"3" type:"string" required:"true"` 10522} 10523 10524// String returns the string representation 10525func (s Get) String() string { 10526 return awsutil.Prettify(s) 10527} 10528 10529// GoString returns the string representation 10530func (s Get) GoString() string { 10531 return s.String() 10532} 10533 10534// Validate inspects the fields of the type to determine if they are valid. 10535func (s *Get) Validate() error { 10536 invalidParams := request.ErrInvalidParams{Context: "Get"} 10537 if s.Key == nil { 10538 invalidParams.Add(request.NewErrParamRequired("Key")) 10539 } 10540 if s.TableName == nil { 10541 invalidParams.Add(request.NewErrParamRequired("TableName")) 10542 } 10543 if s.TableName != nil && len(*s.TableName) < 3 { 10544 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10545 } 10546 10547 if invalidParams.Len() > 0 { 10548 return invalidParams 10549 } 10550 return nil 10551} 10552 10553// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 10554func (s *Get) SetExpressionAttributeNames(v map[string]*string) *Get { 10555 s.ExpressionAttributeNames = v 10556 return s 10557} 10558 10559// SetKey sets the Key field's value. 10560func (s *Get) SetKey(v map[string]*AttributeValue) *Get { 10561 s.Key = v 10562 return s 10563} 10564 10565// SetProjectionExpression sets the ProjectionExpression field's value. 10566func (s *Get) SetProjectionExpression(v string) *Get { 10567 s.ProjectionExpression = &v 10568 return s 10569} 10570 10571// SetTableName sets the TableName field's value. 10572func (s *Get) SetTableName(v string) *Get { 10573 s.TableName = &v 10574 return s 10575} 10576 10577// Represents the input of a GetItem operation. 10578type GetItemInput struct { 10579 _ struct{} `type:"structure"` 10580 10581 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 10582 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 10583 // in the Amazon DynamoDB Developer Guide. 10584 AttributesToGet []*string `min:"1" type:"list"` 10585 10586 // Determines the read consistency model: If set to true, then the operation 10587 // uses strongly consistent reads; otherwise, the operation uses eventually 10588 // consistent reads. 10589 ConsistentRead *bool `type:"boolean"` 10590 10591 // One or more substitution tokens for attribute names in an expression. The 10592 // following are some use cases for using ExpressionAttributeNames: 10593 // 10594 // * To access an attribute whose name conflicts with a DynamoDB reserved 10595 // word. 10596 // 10597 // * To create a placeholder for repeating occurrences of an attribute name 10598 // in an expression. 10599 // 10600 // * To prevent special characters in an attribute name from being misinterpreted 10601 // in an expression. 10602 // 10603 // Use the # character in an expression to dereference an attribute name. For 10604 // example, consider the following attribute name: 10605 // 10606 // * Percentile 10607 // 10608 // The name of this attribute conflicts with a reserved word, so it cannot be 10609 // used directly in an expression. (For the complete list of reserved words, 10610 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 10611 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 10612 // the following for ExpressionAttributeNames: 10613 // 10614 // * {"#P":"Percentile"} 10615 // 10616 // You could then use this substitution in an expression, as in this example: 10617 // 10618 // * #P = :val 10619 // 10620 // Tokens that begin with the : character are expression attribute values, which 10621 // are placeholders for the actual value at runtime. 10622 // 10623 // For more information on expression attribute names, see Specifying Item Attributes 10624 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 10625 // in the Amazon DynamoDB Developer Guide. 10626 ExpressionAttributeNames map[string]*string `type:"map"` 10627 10628 // A map of attribute names to AttributeValue objects, representing the primary 10629 // key of the item to retrieve. 10630 // 10631 // For the primary key, you must provide all of the attributes. For example, 10632 // with a simple primary key, you only need to provide a value for the partition 10633 // key. For a composite primary key, you must provide values for both the partition 10634 // key and the sort key. 10635 // 10636 // Key is a required field 10637 Key map[string]*AttributeValue `type:"map" required:"true"` 10638 10639 // A string that identifies one or more attributes to retrieve from the table. 10640 // These attributes can include scalars, sets, or elements of a JSON document. 10641 // The attributes in the expression must be separated by commas. 10642 // 10643 // If no attribute names are specified, then all attributes are returned. If 10644 // any of the requested attributes are not found, they do not appear in the 10645 // result. 10646 // 10647 // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 10648 // in the Amazon DynamoDB Developer Guide. 10649 ProjectionExpression *string `type:"string"` 10650 10651 // Determines the level of detail about provisioned throughput consumption that 10652 // is returned in the response: 10653 // 10654 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 10655 // operation, together with ConsumedCapacity for each table and secondary 10656 // index that was accessed. Note that some operations, such as GetItem and 10657 // BatchGetItem, do not access any indexes at all. In these cases, specifying 10658 // INDEXES will only return ConsumedCapacity information for table(s). 10659 // 10660 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 10661 // the operation. 10662 // 10663 // * NONE - No ConsumedCapacity details are included in the response. 10664 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 10665 10666 // The name of the table containing the requested item. 10667 // 10668 // TableName is a required field 10669 TableName *string `min:"3" type:"string" required:"true"` 10670} 10671 10672// String returns the string representation 10673func (s GetItemInput) String() string { 10674 return awsutil.Prettify(s) 10675} 10676 10677// GoString returns the string representation 10678func (s GetItemInput) GoString() string { 10679 return s.String() 10680} 10681 10682// Validate inspects the fields of the type to determine if they are valid. 10683func (s *GetItemInput) Validate() error { 10684 invalidParams := request.ErrInvalidParams{Context: "GetItemInput"} 10685 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 10686 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 10687 } 10688 if s.Key == nil { 10689 invalidParams.Add(request.NewErrParamRequired("Key")) 10690 } 10691 if s.TableName == nil { 10692 invalidParams.Add(request.NewErrParamRequired("TableName")) 10693 } 10694 if s.TableName != nil && len(*s.TableName) < 3 { 10695 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 10696 } 10697 10698 if invalidParams.Len() > 0 { 10699 return invalidParams 10700 } 10701 return nil 10702} 10703 10704// SetAttributesToGet sets the AttributesToGet field's value. 10705func (s *GetItemInput) SetAttributesToGet(v []*string) *GetItemInput { 10706 s.AttributesToGet = v 10707 return s 10708} 10709 10710// SetConsistentRead sets the ConsistentRead field's value. 10711func (s *GetItemInput) SetConsistentRead(v bool) *GetItemInput { 10712 s.ConsistentRead = &v 10713 return s 10714} 10715 10716// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 10717func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput { 10718 s.ExpressionAttributeNames = v 10719 return s 10720} 10721 10722// SetKey sets the Key field's value. 10723func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput { 10724 s.Key = v 10725 return s 10726} 10727 10728// SetProjectionExpression sets the ProjectionExpression field's value. 10729func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput { 10730 s.ProjectionExpression = &v 10731 return s 10732} 10733 10734// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 10735func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput { 10736 s.ReturnConsumedCapacity = &v 10737 return s 10738} 10739 10740// SetTableName sets the TableName field's value. 10741func (s *GetItemInput) SetTableName(v string) *GetItemInput { 10742 s.TableName = &v 10743 return s 10744} 10745 10746// Represents the output of a GetItem operation. 10747type GetItemOutput struct { 10748 _ struct{} `type:"structure"` 10749 10750 // The capacity units consumed by the GetItem operation. The data returned includes 10751 // the total provisioned throughput consumed, along with statistics for the 10752 // table and any indexes involved in the operation. ConsumedCapacity is only 10753 // returned if the ReturnConsumedCapacity parameter was specified. For more 10754 // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 10755 // in the Amazon DynamoDB Developer Guide. 10756 ConsumedCapacity *ConsumedCapacity `type:"structure"` 10757 10758 // A map of attribute names to AttributeValue objects, as specified by ProjectionExpression. 10759 Item map[string]*AttributeValue `type:"map"` 10760} 10761 10762// String returns the string representation 10763func (s GetItemOutput) String() string { 10764 return awsutil.Prettify(s) 10765} 10766 10767// GoString returns the string representation 10768func (s GetItemOutput) GoString() string { 10769 return s.String() 10770} 10771 10772// SetConsumedCapacity sets the ConsumedCapacity field's value. 10773func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput { 10774 s.ConsumedCapacity = v 10775 return s 10776} 10777 10778// SetItem sets the Item field's value. 10779func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput { 10780 s.Item = v 10781 return s 10782} 10783 10784// Represents the properties of a global secondary index. 10785type GlobalSecondaryIndex struct { 10786 _ struct{} `type:"structure"` 10787 10788 // The name of the global secondary index. The name must be unique among all 10789 // other indexes on this table. 10790 // 10791 // IndexName is a required field 10792 IndexName *string `min:"3" type:"string" required:"true"` 10793 10794 // The complete key schema for a global secondary index, which consists of one 10795 // or more pairs of attribute names and key types: 10796 // 10797 // * HASH - partition key 10798 // 10799 // * RANGE - sort key 10800 // 10801 // The partition key of an item is also known as its hash attribute. The term 10802 // "hash attribute" derives from DynamoDB's usage of an internal hash function 10803 // to evenly distribute data items across partitions, based on their partition 10804 // key values. 10805 // 10806 // The sort key of an item is also known as its range attribute. The term "range 10807 // attribute" derives from the way DynamoDB stores items with the same partition 10808 // key physically close together, in sorted order by the sort key value. 10809 // 10810 // KeySchema is a required field 10811 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 10812 10813 // Represents attributes that are copied (projected) from the table into the 10814 // global secondary index. These are in addition to the primary key attributes 10815 // and index key attributes, which are automatically projected. 10816 // 10817 // Projection is a required field 10818 Projection *Projection `type:"structure" required:"true"` 10819 10820 // Represents the provisioned throughput settings for the specified global secondary 10821 // index. 10822 // 10823 // For current minimum and maximum provisioned throughput values, see Limits 10824 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 10825 // in the Amazon DynamoDB Developer Guide. 10826 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 10827} 10828 10829// String returns the string representation 10830func (s GlobalSecondaryIndex) String() string { 10831 return awsutil.Prettify(s) 10832} 10833 10834// GoString returns the string representation 10835func (s GlobalSecondaryIndex) GoString() string { 10836 return s.String() 10837} 10838 10839// Validate inspects the fields of the type to determine if they are valid. 10840func (s *GlobalSecondaryIndex) Validate() error { 10841 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndex"} 10842 if s.IndexName == nil { 10843 invalidParams.Add(request.NewErrParamRequired("IndexName")) 10844 } 10845 if s.IndexName != nil && len(*s.IndexName) < 3 { 10846 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 10847 } 10848 if s.KeySchema == nil { 10849 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 10850 } 10851 if s.KeySchema != nil && len(s.KeySchema) < 1 { 10852 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 10853 } 10854 if s.Projection == nil { 10855 invalidParams.Add(request.NewErrParamRequired("Projection")) 10856 } 10857 if s.KeySchema != nil { 10858 for i, v := range s.KeySchema { 10859 if v == nil { 10860 continue 10861 } 10862 if err := v.Validate(); err != nil { 10863 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 10864 } 10865 } 10866 } 10867 if s.Projection != nil { 10868 if err := s.Projection.Validate(); err != nil { 10869 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 10870 } 10871 } 10872 if s.ProvisionedThroughput != nil { 10873 if err := s.ProvisionedThroughput.Validate(); err != nil { 10874 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 10875 } 10876 } 10877 10878 if invalidParams.Len() > 0 { 10879 return invalidParams 10880 } 10881 return nil 10882} 10883 10884// SetIndexName sets the IndexName field's value. 10885func (s *GlobalSecondaryIndex) SetIndexName(v string) *GlobalSecondaryIndex { 10886 s.IndexName = &v 10887 return s 10888} 10889 10890// SetKeySchema sets the KeySchema field's value. 10891func (s *GlobalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndex { 10892 s.KeySchema = v 10893 return s 10894} 10895 10896// SetProjection sets the Projection field's value. 10897func (s *GlobalSecondaryIndex) SetProjection(v *Projection) *GlobalSecondaryIndex { 10898 s.Projection = v 10899 return s 10900} 10901 10902// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 10903func (s *GlobalSecondaryIndex) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndex { 10904 s.ProvisionedThroughput = v 10905 return s 10906} 10907 10908// Represents the auto scaling settings of a global secondary index for a global 10909// table that will be modified. 10910type GlobalSecondaryIndexAutoScalingUpdate struct { 10911 _ struct{} `type:"structure"` 10912 10913 // The name of the global secondary index. 10914 IndexName *string `min:"3" type:"string"` 10915 10916 // Represents the auto scaling settings to be modified for a global table or 10917 // global secondary index. 10918 ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 10919} 10920 10921// String returns the string representation 10922func (s GlobalSecondaryIndexAutoScalingUpdate) String() string { 10923 return awsutil.Prettify(s) 10924} 10925 10926// GoString returns the string representation 10927func (s GlobalSecondaryIndexAutoScalingUpdate) GoString() string { 10928 return s.String() 10929} 10930 10931// Validate inspects the fields of the type to determine if they are valid. 10932func (s *GlobalSecondaryIndexAutoScalingUpdate) Validate() error { 10933 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexAutoScalingUpdate"} 10934 if s.IndexName != nil && len(*s.IndexName) < 3 { 10935 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 10936 } 10937 if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { 10938 if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { 10939 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 10940 } 10941 } 10942 10943 if invalidParams.Len() > 0 { 10944 return invalidParams 10945 } 10946 return nil 10947} 10948 10949// SetIndexName sets the IndexName field's value. 10950func (s *GlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *GlobalSecondaryIndexAutoScalingUpdate { 10951 s.IndexName = &v 10952 return s 10953} 10954 10955// SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. 10956func (s *GlobalSecondaryIndexAutoScalingUpdate) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *GlobalSecondaryIndexAutoScalingUpdate { 10957 s.ProvisionedWriteCapacityAutoScalingUpdate = v 10958 return s 10959} 10960 10961// Represents the properties of a global secondary index. 10962type GlobalSecondaryIndexDescription struct { 10963 _ struct{} `type:"structure"` 10964 10965 // Indicates whether the index is currently backfilling. Backfilling is the 10966 // process of reading items from the table and determining whether they can 10967 // be added to the index. (Not all items will qualify: For example, a partition 10968 // key cannot have any duplicate values.) If an item can be added to the index, 10969 // DynamoDB will do so. After all items have been processed, the backfilling 10970 // operation is complete and Backfilling is false. 10971 // 10972 // You can delete an index that is being created during the Backfilling phase 10973 // when IndexStatus is set to CREATING and Backfilling is true. You can't delete 10974 // the index that is being created when IndexStatus is set to CREATING and Backfilling 10975 // is false. 10976 // 10977 // For indexes that were created during a CreateTable operation, the Backfilling 10978 // attribute does not appear in the DescribeTable output. 10979 Backfilling *bool `type:"boolean"` 10980 10981 // The Amazon Resource Name (ARN) that uniquely identifies the index. 10982 IndexArn *string `type:"string"` 10983 10984 // The name of the global secondary index. 10985 IndexName *string `min:"3" type:"string"` 10986 10987 // The total size of the specified index, in bytes. DynamoDB updates this value 10988 // approximately every six hours. Recent changes might not be reflected in this 10989 // value. 10990 IndexSizeBytes *int64 `type:"long"` 10991 10992 // The current state of the global secondary index: 10993 // 10994 // * CREATING - The index is being created. 10995 // 10996 // * UPDATING - The index is being updated. 10997 // 10998 // * DELETING - The index is being deleted. 10999 // 11000 // * ACTIVE - The index is ready for use. 11001 IndexStatus *string `type:"string" enum:"IndexStatus"` 11002 11003 // The number of items in the specified index. DynamoDB updates this value approximately 11004 // every six hours. Recent changes might not be reflected in this value. 11005 ItemCount *int64 `type:"long"` 11006 11007 // The complete key schema for a global secondary index, which consists of one 11008 // or more pairs of attribute names and key types: 11009 // 11010 // * HASH - partition key 11011 // 11012 // * RANGE - sort key 11013 // 11014 // The partition key of an item is also known as its hash attribute. The term 11015 // "hash attribute" derives from DynamoDB's usage of an internal hash function 11016 // to evenly distribute data items across partitions, based on their partition 11017 // key values. 11018 // 11019 // The sort key of an item is also known as its range attribute. The term "range 11020 // attribute" derives from the way DynamoDB stores items with the same partition 11021 // key physically close together, in sorted order by the sort key value. 11022 KeySchema []*KeySchemaElement `min:"1" type:"list"` 11023 11024 // Represents attributes that are copied (projected) from the table into the 11025 // global secondary index. These are in addition to the primary key attributes 11026 // and index key attributes, which are automatically projected. 11027 Projection *Projection `type:"structure"` 11028 11029 // Represents the provisioned throughput settings for the specified global secondary 11030 // index. 11031 // 11032 // For current minimum and maximum provisioned throughput values, see Limits 11033 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 11034 // in the Amazon DynamoDB Developer Guide. 11035 ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` 11036} 11037 11038// String returns the string representation 11039func (s GlobalSecondaryIndexDescription) String() string { 11040 return awsutil.Prettify(s) 11041} 11042 11043// GoString returns the string representation 11044func (s GlobalSecondaryIndexDescription) GoString() string { 11045 return s.String() 11046} 11047 11048// SetBackfilling sets the Backfilling field's value. 11049func (s *GlobalSecondaryIndexDescription) SetBackfilling(v bool) *GlobalSecondaryIndexDescription { 11050 s.Backfilling = &v 11051 return s 11052} 11053 11054// SetIndexArn sets the IndexArn field's value. 11055func (s *GlobalSecondaryIndexDescription) SetIndexArn(v string) *GlobalSecondaryIndexDescription { 11056 s.IndexArn = &v 11057 return s 11058} 11059 11060// SetIndexName sets the IndexName field's value. 11061func (s *GlobalSecondaryIndexDescription) SetIndexName(v string) *GlobalSecondaryIndexDescription { 11062 s.IndexName = &v 11063 return s 11064} 11065 11066// SetIndexSizeBytes sets the IndexSizeBytes field's value. 11067func (s *GlobalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *GlobalSecondaryIndexDescription { 11068 s.IndexSizeBytes = &v 11069 return s 11070} 11071 11072// SetIndexStatus sets the IndexStatus field's value. 11073func (s *GlobalSecondaryIndexDescription) SetIndexStatus(v string) *GlobalSecondaryIndexDescription { 11074 s.IndexStatus = &v 11075 return s 11076} 11077 11078// SetItemCount sets the ItemCount field's value. 11079func (s *GlobalSecondaryIndexDescription) SetItemCount(v int64) *GlobalSecondaryIndexDescription { 11080 s.ItemCount = &v 11081 return s 11082} 11083 11084// SetKeySchema sets the KeySchema field's value. 11085func (s *GlobalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexDescription { 11086 s.KeySchema = v 11087 return s 11088} 11089 11090// SetProjection sets the Projection field's value. 11091func (s *GlobalSecondaryIndexDescription) SetProjection(v *Projection) *GlobalSecondaryIndexDescription { 11092 s.Projection = v 11093 return s 11094} 11095 11096// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 11097func (s *GlobalSecondaryIndexDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *GlobalSecondaryIndexDescription { 11098 s.ProvisionedThroughput = v 11099 return s 11100} 11101 11102// Represents the properties of a global secondary index for the table when 11103// the backup was created. 11104type GlobalSecondaryIndexInfo struct { 11105 _ struct{} `type:"structure"` 11106 11107 // The name of the global secondary index. 11108 IndexName *string `min:"3" type:"string"` 11109 11110 // The complete key schema for a global secondary index, which consists of one 11111 // or more pairs of attribute names and key types: 11112 // 11113 // * HASH - partition key 11114 // 11115 // * RANGE - sort key 11116 // 11117 // The partition key of an item is also known as its hash attribute. The term 11118 // "hash attribute" derives from DynamoDB's usage of an internal hash function 11119 // to evenly distribute data items across partitions, based on their partition 11120 // key values. 11121 // 11122 // The sort key of an item is also known as its range attribute. The term "range 11123 // attribute" derives from the way DynamoDB stores items with the same partition 11124 // key physically close together, in sorted order by the sort key value. 11125 KeySchema []*KeySchemaElement `min:"1" type:"list"` 11126 11127 // Represents attributes that are copied (projected) from the table into the 11128 // global secondary index. These are in addition to the primary key attributes 11129 // and index key attributes, which are automatically projected. 11130 Projection *Projection `type:"structure"` 11131 11132 // Represents the provisioned throughput settings for the specified global secondary 11133 // index. 11134 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 11135} 11136 11137// String returns the string representation 11138func (s GlobalSecondaryIndexInfo) String() string { 11139 return awsutil.Prettify(s) 11140} 11141 11142// GoString returns the string representation 11143func (s GlobalSecondaryIndexInfo) GoString() string { 11144 return s.String() 11145} 11146 11147// SetIndexName sets the IndexName field's value. 11148func (s *GlobalSecondaryIndexInfo) SetIndexName(v string) *GlobalSecondaryIndexInfo { 11149 s.IndexName = &v 11150 return s 11151} 11152 11153// SetKeySchema sets the KeySchema field's value. 11154func (s *GlobalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexInfo { 11155 s.KeySchema = v 11156 return s 11157} 11158 11159// SetProjection sets the Projection field's value. 11160func (s *GlobalSecondaryIndexInfo) SetProjection(v *Projection) *GlobalSecondaryIndexInfo { 11161 s.Projection = v 11162 return s 11163} 11164 11165// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 11166func (s *GlobalSecondaryIndexInfo) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndexInfo { 11167 s.ProvisionedThroughput = v 11168 return s 11169} 11170 11171// Represents one of the following: 11172// 11173// * A new global secondary index to be added to an existing table. 11174// 11175// * New provisioned throughput parameters for an existing global secondary 11176// index. 11177// 11178// * An existing global secondary index to be removed from an existing table. 11179type GlobalSecondaryIndexUpdate struct { 11180 _ struct{} `type:"structure"` 11181 11182 // The parameters required for creating a global secondary index on an existing 11183 // table: 11184 // 11185 // * IndexName 11186 // 11187 // * KeySchema 11188 // 11189 // * AttributeDefinitions 11190 // 11191 // * Projection 11192 // 11193 // * ProvisionedThroughput 11194 Create *CreateGlobalSecondaryIndexAction `type:"structure"` 11195 11196 // The name of an existing global secondary index to be removed. 11197 Delete *DeleteGlobalSecondaryIndexAction `type:"structure"` 11198 11199 // The name of an existing global secondary index, along with new provisioned 11200 // throughput settings to be applied to that index. 11201 Update *UpdateGlobalSecondaryIndexAction `type:"structure"` 11202} 11203 11204// String returns the string representation 11205func (s GlobalSecondaryIndexUpdate) String() string { 11206 return awsutil.Prettify(s) 11207} 11208 11209// GoString returns the string representation 11210func (s GlobalSecondaryIndexUpdate) GoString() string { 11211 return s.String() 11212} 11213 11214// Validate inspects the fields of the type to determine if they are valid. 11215func (s *GlobalSecondaryIndexUpdate) Validate() error { 11216 invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexUpdate"} 11217 if s.Create != nil { 11218 if err := s.Create.Validate(); err != nil { 11219 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 11220 } 11221 } 11222 if s.Delete != nil { 11223 if err := s.Delete.Validate(); err != nil { 11224 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 11225 } 11226 } 11227 if s.Update != nil { 11228 if err := s.Update.Validate(); err != nil { 11229 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 11230 } 11231 } 11232 11233 if invalidParams.Len() > 0 { 11234 return invalidParams 11235 } 11236 return nil 11237} 11238 11239// SetCreate sets the Create field's value. 11240func (s *GlobalSecondaryIndexUpdate) SetCreate(v *CreateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 11241 s.Create = v 11242 return s 11243} 11244 11245// SetDelete sets the Delete field's value. 11246func (s *GlobalSecondaryIndexUpdate) SetDelete(v *DeleteGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 11247 s.Delete = v 11248 return s 11249} 11250 11251// SetUpdate sets the Update field's value. 11252func (s *GlobalSecondaryIndexUpdate) SetUpdate(v *UpdateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate { 11253 s.Update = v 11254 return s 11255} 11256 11257// Represents the properties of a global table. 11258type GlobalTable struct { 11259 _ struct{} `type:"structure"` 11260 11261 // The global table name. 11262 GlobalTableName *string `min:"3" type:"string"` 11263 11264 // The Regions where the global table has replicas. 11265 ReplicationGroup []*Replica `type:"list"` 11266} 11267 11268// String returns the string representation 11269func (s GlobalTable) String() string { 11270 return awsutil.Prettify(s) 11271} 11272 11273// GoString returns the string representation 11274func (s GlobalTable) GoString() string { 11275 return s.String() 11276} 11277 11278// SetGlobalTableName sets the GlobalTableName field's value. 11279func (s *GlobalTable) SetGlobalTableName(v string) *GlobalTable { 11280 s.GlobalTableName = &v 11281 return s 11282} 11283 11284// SetReplicationGroup sets the ReplicationGroup field's value. 11285func (s *GlobalTable) SetReplicationGroup(v []*Replica) *GlobalTable { 11286 s.ReplicationGroup = v 11287 return s 11288} 11289 11290// The specified global table already exists. 11291type GlobalTableAlreadyExistsException struct { 11292 _ struct{} `type:"structure"` 11293 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11294 11295 Message_ *string `locationName:"message" type:"string"` 11296} 11297 11298// String returns the string representation 11299func (s GlobalTableAlreadyExistsException) String() string { 11300 return awsutil.Prettify(s) 11301} 11302 11303// GoString returns the string representation 11304func (s GlobalTableAlreadyExistsException) GoString() string { 11305 return s.String() 11306} 11307 11308func newErrorGlobalTableAlreadyExistsException(v protocol.ResponseMetadata) error { 11309 return &GlobalTableAlreadyExistsException{ 11310 RespMetadata: v, 11311 } 11312} 11313 11314// Code returns the exception type name. 11315func (s *GlobalTableAlreadyExistsException) Code() string { 11316 return "GlobalTableAlreadyExistsException" 11317} 11318 11319// Message returns the exception's message. 11320func (s *GlobalTableAlreadyExistsException) Message() string { 11321 if s.Message_ != nil { 11322 return *s.Message_ 11323 } 11324 return "" 11325} 11326 11327// OrigErr always returns nil, satisfies awserr.Error interface. 11328func (s *GlobalTableAlreadyExistsException) OrigErr() error { 11329 return nil 11330} 11331 11332func (s *GlobalTableAlreadyExistsException) Error() string { 11333 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11334} 11335 11336// Status code returns the HTTP status code for the request's response error. 11337func (s *GlobalTableAlreadyExistsException) StatusCode() int { 11338 return s.RespMetadata.StatusCode 11339} 11340 11341// RequestID returns the service's response RequestID for request. 11342func (s *GlobalTableAlreadyExistsException) RequestID() string { 11343 return s.RespMetadata.RequestID 11344} 11345 11346// Contains details about the global table. 11347type GlobalTableDescription struct { 11348 _ struct{} `type:"structure"` 11349 11350 // The creation time of the global table. 11351 CreationDateTime *time.Time `type:"timestamp"` 11352 11353 // The unique identifier of the global table. 11354 GlobalTableArn *string `type:"string"` 11355 11356 // The global table name. 11357 GlobalTableName *string `min:"3" type:"string"` 11358 11359 // The current state of the global table: 11360 // 11361 // * CREATING - The global table is being created. 11362 // 11363 // * UPDATING - The global table is being updated. 11364 // 11365 // * DELETING - The global table is being deleted. 11366 // 11367 // * ACTIVE - The global table is ready for use. 11368 GlobalTableStatus *string `type:"string" enum:"GlobalTableStatus"` 11369 11370 // The Regions where the global table has replicas. 11371 ReplicationGroup []*ReplicaDescription `type:"list"` 11372} 11373 11374// String returns the string representation 11375func (s GlobalTableDescription) String() string { 11376 return awsutil.Prettify(s) 11377} 11378 11379// GoString returns the string representation 11380func (s GlobalTableDescription) GoString() string { 11381 return s.String() 11382} 11383 11384// SetCreationDateTime sets the CreationDateTime field's value. 11385func (s *GlobalTableDescription) SetCreationDateTime(v time.Time) *GlobalTableDescription { 11386 s.CreationDateTime = &v 11387 return s 11388} 11389 11390// SetGlobalTableArn sets the GlobalTableArn field's value. 11391func (s *GlobalTableDescription) SetGlobalTableArn(v string) *GlobalTableDescription { 11392 s.GlobalTableArn = &v 11393 return s 11394} 11395 11396// SetGlobalTableName sets the GlobalTableName field's value. 11397func (s *GlobalTableDescription) SetGlobalTableName(v string) *GlobalTableDescription { 11398 s.GlobalTableName = &v 11399 return s 11400} 11401 11402// SetGlobalTableStatus sets the GlobalTableStatus field's value. 11403func (s *GlobalTableDescription) SetGlobalTableStatus(v string) *GlobalTableDescription { 11404 s.GlobalTableStatus = &v 11405 return s 11406} 11407 11408// SetReplicationGroup sets the ReplicationGroup field's value. 11409func (s *GlobalTableDescription) SetReplicationGroup(v []*ReplicaDescription) *GlobalTableDescription { 11410 s.ReplicationGroup = v 11411 return s 11412} 11413 11414// Represents the settings of a global secondary index for a global table that 11415// will be modified. 11416type GlobalTableGlobalSecondaryIndexSettingsUpdate struct { 11417 _ struct{} `type:"structure"` 11418 11419 // The name of the global secondary index. The name must be unique among all 11420 // other indexes on this table. 11421 // 11422 // IndexName is a required field 11423 IndexName *string `min:"3" type:"string" required:"true"` 11424 11425 // Auto scaling settings for managing a global secondary index's write capacity 11426 // units. 11427 ProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 11428 11429 // The maximum number of writes consumed per second before DynamoDB returns 11430 // a ThrottlingException. 11431 ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 11432} 11433 11434// String returns the string representation 11435func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) String() string { 11436 return awsutil.Prettify(s) 11437} 11438 11439// GoString returns the string representation 11440func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) GoString() string { 11441 return s.String() 11442} 11443 11444// Validate inspects the fields of the type to determine if they are valid. 11445func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) Validate() error { 11446 invalidParams := request.ErrInvalidParams{Context: "GlobalTableGlobalSecondaryIndexSettingsUpdate"} 11447 if s.IndexName == nil { 11448 invalidParams.Add(request.NewErrParamRequired("IndexName")) 11449 } 11450 if s.IndexName != nil && len(*s.IndexName) < 3 { 11451 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 11452 } 11453 if s.ProvisionedWriteCapacityUnits != nil && *s.ProvisionedWriteCapacityUnits < 1 { 11454 invalidParams.Add(request.NewErrParamMinValue("ProvisionedWriteCapacityUnits", 1)) 11455 } 11456 if s.ProvisionedWriteCapacityAutoScalingSettingsUpdate != nil { 11457 if err := s.ProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 11458 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 11459 } 11460 } 11461 11462 if invalidParams.Len() > 0 { 11463 return invalidParams 11464 } 11465 return nil 11466} 11467 11468// SetIndexName sets the IndexName field's value. 11469func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 11470 s.IndexName = &v 11471 return s 11472} 11473 11474// SetProvisionedWriteCapacityAutoScalingSettingsUpdate sets the ProvisionedWriteCapacityAutoScalingSettingsUpdate field's value. 11475func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 11476 s.ProvisionedWriteCapacityAutoScalingSettingsUpdate = v 11477 return s 11478} 11479 11480// SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value. 11481func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityUnits(v int64) *GlobalTableGlobalSecondaryIndexSettingsUpdate { 11482 s.ProvisionedWriteCapacityUnits = &v 11483 return s 11484} 11485 11486// The specified global table does not exist. 11487type GlobalTableNotFoundException struct { 11488 _ struct{} `type:"structure"` 11489 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11490 11491 Message_ *string `locationName:"message" type:"string"` 11492} 11493 11494// String returns the string representation 11495func (s GlobalTableNotFoundException) String() string { 11496 return awsutil.Prettify(s) 11497} 11498 11499// GoString returns the string representation 11500func (s GlobalTableNotFoundException) GoString() string { 11501 return s.String() 11502} 11503 11504func newErrorGlobalTableNotFoundException(v protocol.ResponseMetadata) error { 11505 return &GlobalTableNotFoundException{ 11506 RespMetadata: v, 11507 } 11508} 11509 11510// Code returns the exception type name. 11511func (s *GlobalTableNotFoundException) Code() string { 11512 return "GlobalTableNotFoundException" 11513} 11514 11515// Message returns the exception's message. 11516func (s *GlobalTableNotFoundException) Message() string { 11517 if s.Message_ != nil { 11518 return *s.Message_ 11519 } 11520 return "" 11521} 11522 11523// OrigErr always returns nil, satisfies awserr.Error interface. 11524func (s *GlobalTableNotFoundException) OrigErr() error { 11525 return nil 11526} 11527 11528func (s *GlobalTableNotFoundException) Error() string { 11529 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11530} 11531 11532// Status code returns the HTTP status code for the request's response error. 11533func (s *GlobalTableNotFoundException) StatusCode() int { 11534 return s.RespMetadata.StatusCode 11535} 11536 11537// RequestID returns the service's response RequestID for request. 11538func (s *GlobalTableNotFoundException) RequestID() string { 11539 return s.RespMetadata.RequestID 11540} 11541 11542// DynamoDB rejected the request because you retried a request with a different 11543// payload but with an idempotent token that was already used. 11544type IdempotentParameterMismatchException struct { 11545 _ struct{} `type:"structure"` 11546 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11547 11548 Message_ *string `locationName:"Message" type:"string"` 11549} 11550 11551// String returns the string representation 11552func (s IdempotentParameterMismatchException) String() string { 11553 return awsutil.Prettify(s) 11554} 11555 11556// GoString returns the string representation 11557func (s IdempotentParameterMismatchException) GoString() string { 11558 return s.String() 11559} 11560 11561func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error { 11562 return &IdempotentParameterMismatchException{ 11563 RespMetadata: v, 11564 } 11565} 11566 11567// Code returns the exception type name. 11568func (s *IdempotentParameterMismatchException) Code() string { 11569 return "IdempotentParameterMismatchException" 11570} 11571 11572// Message returns the exception's message. 11573func (s *IdempotentParameterMismatchException) Message() string { 11574 if s.Message_ != nil { 11575 return *s.Message_ 11576 } 11577 return "" 11578} 11579 11580// OrigErr always returns nil, satisfies awserr.Error interface. 11581func (s *IdempotentParameterMismatchException) OrigErr() error { 11582 return nil 11583} 11584 11585func (s *IdempotentParameterMismatchException) Error() string { 11586 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11587} 11588 11589// Status code returns the HTTP status code for the request's response error. 11590func (s *IdempotentParameterMismatchException) StatusCode() int { 11591 return s.RespMetadata.StatusCode 11592} 11593 11594// RequestID returns the service's response RequestID for request. 11595func (s *IdempotentParameterMismatchException) RequestID() string { 11596 return s.RespMetadata.RequestID 11597} 11598 11599// The operation tried to access a nonexistent index. 11600type IndexNotFoundException struct { 11601 _ struct{} `type:"structure"` 11602 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11603 11604 Message_ *string `locationName:"message" type:"string"` 11605} 11606 11607// String returns the string representation 11608func (s IndexNotFoundException) String() string { 11609 return awsutil.Prettify(s) 11610} 11611 11612// GoString returns the string representation 11613func (s IndexNotFoundException) GoString() string { 11614 return s.String() 11615} 11616 11617func newErrorIndexNotFoundException(v protocol.ResponseMetadata) error { 11618 return &IndexNotFoundException{ 11619 RespMetadata: v, 11620 } 11621} 11622 11623// Code returns the exception type name. 11624func (s *IndexNotFoundException) Code() string { 11625 return "IndexNotFoundException" 11626} 11627 11628// Message returns the exception's message. 11629func (s *IndexNotFoundException) Message() string { 11630 if s.Message_ != nil { 11631 return *s.Message_ 11632 } 11633 return "" 11634} 11635 11636// OrigErr always returns nil, satisfies awserr.Error interface. 11637func (s *IndexNotFoundException) OrigErr() error { 11638 return nil 11639} 11640 11641func (s *IndexNotFoundException) Error() string { 11642 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11643} 11644 11645// Status code returns the HTTP status code for the request's response error. 11646func (s *IndexNotFoundException) StatusCode() int { 11647 return s.RespMetadata.StatusCode 11648} 11649 11650// RequestID returns the service's response RequestID for request. 11651func (s *IndexNotFoundException) RequestID() string { 11652 return s.RespMetadata.RequestID 11653} 11654 11655// An error occurred on the server side. 11656type InternalServerError struct { 11657 _ struct{} `type:"structure"` 11658 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11659 11660 // The server encountered an internal error trying to fulfill the request. 11661 Message_ *string `locationName:"message" type:"string"` 11662} 11663 11664// String returns the string representation 11665func (s InternalServerError) String() string { 11666 return awsutil.Prettify(s) 11667} 11668 11669// GoString returns the string representation 11670func (s InternalServerError) GoString() string { 11671 return s.String() 11672} 11673 11674func newErrorInternalServerError(v protocol.ResponseMetadata) error { 11675 return &InternalServerError{ 11676 RespMetadata: v, 11677 } 11678} 11679 11680// Code returns the exception type name. 11681func (s *InternalServerError) Code() string { 11682 return "InternalServerError" 11683} 11684 11685// Message returns the exception's message. 11686func (s *InternalServerError) Message() string { 11687 if s.Message_ != nil { 11688 return *s.Message_ 11689 } 11690 return "" 11691} 11692 11693// OrigErr always returns nil, satisfies awserr.Error interface. 11694func (s *InternalServerError) OrigErr() error { 11695 return nil 11696} 11697 11698func (s *InternalServerError) Error() string { 11699 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11700} 11701 11702// Status code returns the HTTP status code for the request's response error. 11703func (s *InternalServerError) StatusCode() int { 11704 return s.RespMetadata.StatusCode 11705} 11706 11707// RequestID returns the service's response RequestID for request. 11708func (s *InternalServerError) RequestID() string { 11709 return s.RespMetadata.RequestID 11710} 11711 11712// An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime 11713// and LatestRestorableDateTime. 11714type InvalidRestoreTimeException struct { 11715 _ struct{} `type:"structure"` 11716 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11717 11718 Message_ *string `locationName:"message" type:"string"` 11719} 11720 11721// String returns the string representation 11722func (s InvalidRestoreTimeException) String() string { 11723 return awsutil.Prettify(s) 11724} 11725 11726// GoString returns the string representation 11727func (s InvalidRestoreTimeException) GoString() string { 11728 return s.String() 11729} 11730 11731func newErrorInvalidRestoreTimeException(v protocol.ResponseMetadata) error { 11732 return &InvalidRestoreTimeException{ 11733 RespMetadata: v, 11734 } 11735} 11736 11737// Code returns the exception type name. 11738func (s *InvalidRestoreTimeException) Code() string { 11739 return "InvalidRestoreTimeException" 11740} 11741 11742// Message returns the exception's message. 11743func (s *InvalidRestoreTimeException) Message() string { 11744 if s.Message_ != nil { 11745 return *s.Message_ 11746 } 11747 return "" 11748} 11749 11750// OrigErr always returns nil, satisfies awserr.Error interface. 11751func (s *InvalidRestoreTimeException) OrigErr() error { 11752 return nil 11753} 11754 11755func (s *InvalidRestoreTimeException) Error() string { 11756 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11757} 11758 11759// Status code returns the HTTP status code for the request's response error. 11760func (s *InvalidRestoreTimeException) StatusCode() int { 11761 return s.RespMetadata.StatusCode 11762} 11763 11764// RequestID returns the service's response RequestID for request. 11765func (s *InvalidRestoreTimeException) RequestID() string { 11766 return s.RespMetadata.RequestID 11767} 11768 11769// Information about item collections, if any, that were affected by the operation. 11770// ItemCollectionMetrics is only returned if the request asked for it. If the 11771// table does not have any local secondary indexes, this information is not 11772// returned in the response. 11773type ItemCollectionMetrics struct { 11774 _ struct{} `type:"structure"` 11775 11776 // The partition key value of the item collection. This value is the same as 11777 // the partition key value of the item. 11778 ItemCollectionKey map[string]*AttributeValue `type:"map"` 11779 11780 // An estimate of item collection size, in gigabytes. This value is a two-element 11781 // array containing a lower bound and an upper bound for the estimate. The estimate 11782 // includes the size of all the items in the table, plus the size of all attributes 11783 // projected into all of the local secondary indexes on that table. Use this 11784 // estimate to measure whether a local secondary index is approaching its size 11785 // limit. 11786 // 11787 // The estimate is subject to change over time; therefore, do not rely on the 11788 // precision or accuracy of the estimate. 11789 SizeEstimateRangeGB []*float64 `type:"list"` 11790} 11791 11792// String returns the string representation 11793func (s ItemCollectionMetrics) String() string { 11794 return awsutil.Prettify(s) 11795} 11796 11797// GoString returns the string representation 11798func (s ItemCollectionMetrics) GoString() string { 11799 return s.String() 11800} 11801 11802// SetItemCollectionKey sets the ItemCollectionKey field's value. 11803func (s *ItemCollectionMetrics) SetItemCollectionKey(v map[string]*AttributeValue) *ItemCollectionMetrics { 11804 s.ItemCollectionKey = v 11805 return s 11806} 11807 11808// SetSizeEstimateRangeGB sets the SizeEstimateRangeGB field's value. 11809func (s *ItemCollectionMetrics) SetSizeEstimateRangeGB(v []*float64) *ItemCollectionMetrics { 11810 s.SizeEstimateRangeGB = v 11811 return s 11812} 11813 11814// An item collection is too large. This exception is only returned for tables 11815// that have one or more local secondary indexes. 11816type ItemCollectionSizeLimitExceededException struct { 11817 _ struct{} `type:"structure"` 11818 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11819 11820 // The total size of an item collection has exceeded the maximum limit of 10 11821 // gigabytes. 11822 Message_ *string `locationName:"message" type:"string"` 11823} 11824 11825// String returns the string representation 11826func (s ItemCollectionSizeLimitExceededException) String() string { 11827 return awsutil.Prettify(s) 11828} 11829 11830// GoString returns the string representation 11831func (s ItemCollectionSizeLimitExceededException) GoString() string { 11832 return s.String() 11833} 11834 11835func newErrorItemCollectionSizeLimitExceededException(v protocol.ResponseMetadata) error { 11836 return &ItemCollectionSizeLimitExceededException{ 11837 RespMetadata: v, 11838 } 11839} 11840 11841// Code returns the exception type name. 11842func (s *ItemCollectionSizeLimitExceededException) Code() string { 11843 return "ItemCollectionSizeLimitExceededException" 11844} 11845 11846// Message returns the exception's message. 11847func (s *ItemCollectionSizeLimitExceededException) Message() string { 11848 if s.Message_ != nil { 11849 return *s.Message_ 11850 } 11851 return "" 11852} 11853 11854// OrigErr always returns nil, satisfies awserr.Error interface. 11855func (s *ItemCollectionSizeLimitExceededException) OrigErr() error { 11856 return nil 11857} 11858 11859func (s *ItemCollectionSizeLimitExceededException) Error() string { 11860 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11861} 11862 11863// Status code returns the HTTP status code for the request's response error. 11864func (s *ItemCollectionSizeLimitExceededException) StatusCode() int { 11865 return s.RespMetadata.StatusCode 11866} 11867 11868// RequestID returns the service's response RequestID for request. 11869func (s *ItemCollectionSizeLimitExceededException) RequestID() string { 11870 return s.RespMetadata.RequestID 11871} 11872 11873// Details for the requested item. 11874type ItemResponse struct { 11875 _ struct{} `type:"structure"` 11876 11877 // Map of attribute data consisting of the data type and attribute value. 11878 Item map[string]*AttributeValue `type:"map"` 11879} 11880 11881// String returns the string representation 11882func (s ItemResponse) String() string { 11883 return awsutil.Prettify(s) 11884} 11885 11886// GoString returns the string representation 11887func (s ItemResponse) GoString() string { 11888 return s.String() 11889} 11890 11891// SetItem sets the Item field's value. 11892func (s *ItemResponse) SetItem(v map[string]*AttributeValue) *ItemResponse { 11893 s.Item = v 11894 return s 11895} 11896 11897// Represents a single element of a key schema. A key schema specifies the attributes 11898// that make up the primary key of a table, or the key attributes of an index. 11899// 11900// A KeySchemaElement represents exactly one attribute of the primary key. For 11901// example, a simple primary key would be represented by one KeySchemaElement 11902// (for the partition key). A composite primary key would require one KeySchemaElement 11903// for the partition key, and another KeySchemaElement for the sort key. 11904// 11905// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). 11906// The data type must be one of String, Number, or Binary. The attribute cannot 11907// be nested within a List or a Map. 11908type KeySchemaElement struct { 11909 _ struct{} `type:"structure"` 11910 11911 // The name of a key attribute. 11912 // 11913 // AttributeName is a required field 11914 AttributeName *string `min:"1" type:"string" required:"true"` 11915 11916 // The role that this key attribute will assume: 11917 // 11918 // * HASH - partition key 11919 // 11920 // * RANGE - sort key 11921 // 11922 // The partition key of an item is also known as its hash attribute. The term 11923 // "hash attribute" derives from DynamoDB's usage of an internal hash function 11924 // to evenly distribute data items across partitions, based on their partition 11925 // key values. 11926 // 11927 // The sort key of an item is also known as its range attribute. The term "range 11928 // attribute" derives from the way DynamoDB stores items with the same partition 11929 // key physically close together, in sorted order by the sort key value. 11930 // 11931 // KeyType is a required field 11932 KeyType *string `type:"string" required:"true" enum:"KeyType"` 11933} 11934 11935// String returns the string representation 11936func (s KeySchemaElement) String() string { 11937 return awsutil.Prettify(s) 11938} 11939 11940// GoString returns the string representation 11941func (s KeySchemaElement) GoString() string { 11942 return s.String() 11943} 11944 11945// Validate inspects the fields of the type to determine if they are valid. 11946func (s *KeySchemaElement) Validate() error { 11947 invalidParams := request.ErrInvalidParams{Context: "KeySchemaElement"} 11948 if s.AttributeName == nil { 11949 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 11950 } 11951 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 11952 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 11953 } 11954 if s.KeyType == nil { 11955 invalidParams.Add(request.NewErrParamRequired("KeyType")) 11956 } 11957 11958 if invalidParams.Len() > 0 { 11959 return invalidParams 11960 } 11961 return nil 11962} 11963 11964// SetAttributeName sets the AttributeName field's value. 11965func (s *KeySchemaElement) SetAttributeName(v string) *KeySchemaElement { 11966 s.AttributeName = &v 11967 return s 11968} 11969 11970// SetKeyType sets the KeyType field's value. 11971func (s *KeySchemaElement) SetKeyType(v string) *KeySchemaElement { 11972 s.KeyType = &v 11973 return s 11974} 11975 11976// Represents a set of primary keys and, for each key, the attributes to retrieve 11977// from the table. 11978// 11979// For each primary key, you must provide all of the key attributes. For example, 11980// with a simple primary key, you only need to provide the partition key. For 11981// a composite primary key, you must provide both the partition key and the 11982// sort key. 11983type KeysAndAttributes struct { 11984 _ struct{} `type:"structure"` 11985 11986 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 11987 // see Legacy Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) 11988 // in the Amazon DynamoDB Developer Guide. 11989 AttributesToGet []*string `min:"1" type:"list"` 11990 11991 // The consistency of a read operation. If set to true, then a strongly consistent 11992 // read is used; otherwise, an eventually consistent read is used. 11993 ConsistentRead *bool `type:"boolean"` 11994 11995 // One or more substitution tokens for attribute names in an expression. The 11996 // following are some use cases for using ExpressionAttributeNames: 11997 // 11998 // * To access an attribute whose name conflicts with a DynamoDB reserved 11999 // word. 12000 // 12001 // * To create a placeholder for repeating occurrences of an attribute name 12002 // in an expression. 12003 // 12004 // * To prevent special characters in an attribute name from being misinterpreted 12005 // in an expression. 12006 // 12007 // Use the # character in an expression to dereference an attribute name. For 12008 // example, consider the following attribute name: 12009 // 12010 // * Percentile 12011 // 12012 // The name of this attribute conflicts with a reserved word, so it cannot be 12013 // used directly in an expression. (For the complete list of reserved words, 12014 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 12015 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 12016 // the following for ExpressionAttributeNames: 12017 // 12018 // * {"#P":"Percentile"} 12019 // 12020 // You could then use this substitution in an expression, as in this example: 12021 // 12022 // * #P = :val 12023 // 12024 // Tokens that begin with the : character are expression attribute values, which 12025 // are placeholders for the actual value at runtime. 12026 // 12027 // For more information on expression attribute names, see Accessing Item Attributes 12028 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 12029 // in the Amazon DynamoDB Developer Guide. 12030 ExpressionAttributeNames map[string]*string `type:"map"` 12031 12032 // The primary key attribute values that define the items and the attributes 12033 // associated with the items. 12034 // 12035 // Keys is a required field 12036 Keys []map[string]*AttributeValue `min:"1" type:"list" required:"true"` 12037 12038 // A string that identifies one or more attributes to retrieve from the table. 12039 // These attributes can include scalars, sets, or elements of a JSON document. 12040 // The attributes in the ProjectionExpression must be separated by commas. 12041 // 12042 // If no attribute names are specified, then all attributes will be returned. 12043 // If any of the requested attributes are not found, they will not appear in 12044 // the result. 12045 // 12046 // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 12047 // in the Amazon DynamoDB Developer Guide. 12048 ProjectionExpression *string `type:"string"` 12049} 12050 12051// String returns the string representation 12052func (s KeysAndAttributes) String() string { 12053 return awsutil.Prettify(s) 12054} 12055 12056// GoString returns the string representation 12057func (s KeysAndAttributes) GoString() string { 12058 return s.String() 12059} 12060 12061// Validate inspects the fields of the type to determine if they are valid. 12062func (s *KeysAndAttributes) Validate() error { 12063 invalidParams := request.ErrInvalidParams{Context: "KeysAndAttributes"} 12064 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 12065 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 12066 } 12067 if s.Keys == nil { 12068 invalidParams.Add(request.NewErrParamRequired("Keys")) 12069 } 12070 if s.Keys != nil && len(s.Keys) < 1 { 12071 invalidParams.Add(request.NewErrParamMinLen("Keys", 1)) 12072 } 12073 12074 if invalidParams.Len() > 0 { 12075 return invalidParams 12076 } 12077 return nil 12078} 12079 12080// SetAttributesToGet sets the AttributesToGet field's value. 12081func (s *KeysAndAttributes) SetAttributesToGet(v []*string) *KeysAndAttributes { 12082 s.AttributesToGet = v 12083 return s 12084} 12085 12086// SetConsistentRead sets the ConsistentRead field's value. 12087func (s *KeysAndAttributes) SetConsistentRead(v bool) *KeysAndAttributes { 12088 s.ConsistentRead = &v 12089 return s 12090} 12091 12092// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 12093func (s *KeysAndAttributes) SetExpressionAttributeNames(v map[string]*string) *KeysAndAttributes { 12094 s.ExpressionAttributeNames = v 12095 return s 12096} 12097 12098// SetKeys sets the Keys field's value. 12099func (s *KeysAndAttributes) SetKeys(v []map[string]*AttributeValue) *KeysAndAttributes { 12100 s.Keys = v 12101 return s 12102} 12103 12104// SetProjectionExpression sets the ProjectionExpression field's value. 12105func (s *KeysAndAttributes) SetProjectionExpression(v string) *KeysAndAttributes { 12106 s.ProjectionExpression = &v 12107 return s 12108} 12109 12110// There is no limit to the number of daily on-demand backups that can be taken. 12111// 12112// Up to 50 simultaneous table operations are allowed per account. These operations 12113// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, 12114// and RestoreTableToPointInTime. 12115// 12116// The only exception is when you are creating a table with one or more secondary 12117// indexes. You can have up to 25 such requests running at a time; however, 12118// if the table or index specifications are complex, DynamoDB might temporarily 12119// reduce the number of concurrent operations. 12120// 12121// There is a soft account limit of 256 tables. 12122type LimitExceededException struct { 12123 _ struct{} `type:"structure"` 12124 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12125 12126 // Too many operations for a given subscriber. 12127 Message_ *string `locationName:"message" type:"string"` 12128} 12129 12130// String returns the string representation 12131func (s LimitExceededException) String() string { 12132 return awsutil.Prettify(s) 12133} 12134 12135// GoString returns the string representation 12136func (s LimitExceededException) GoString() string { 12137 return s.String() 12138} 12139 12140func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 12141 return &LimitExceededException{ 12142 RespMetadata: v, 12143 } 12144} 12145 12146// Code returns the exception type name. 12147func (s *LimitExceededException) Code() string { 12148 return "LimitExceededException" 12149} 12150 12151// Message returns the exception's message. 12152func (s *LimitExceededException) Message() string { 12153 if s.Message_ != nil { 12154 return *s.Message_ 12155 } 12156 return "" 12157} 12158 12159// OrigErr always returns nil, satisfies awserr.Error interface. 12160func (s *LimitExceededException) OrigErr() error { 12161 return nil 12162} 12163 12164func (s *LimitExceededException) Error() string { 12165 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12166} 12167 12168// Status code returns the HTTP status code for the request's response error. 12169func (s *LimitExceededException) StatusCode() int { 12170 return s.RespMetadata.StatusCode 12171} 12172 12173// RequestID returns the service's response RequestID for request. 12174func (s *LimitExceededException) RequestID() string { 12175 return s.RespMetadata.RequestID 12176} 12177 12178type ListBackupsInput struct { 12179 _ struct{} `type:"structure"` 12180 12181 // The backups from the table specified by BackupType are listed. 12182 // 12183 // Where BackupType can be: 12184 // 12185 // * USER - On-demand backup created by you. 12186 // 12187 // * SYSTEM - On-demand backup automatically created by DynamoDB. 12188 // 12189 // * ALL - All types of on-demand backups (USER and SYSTEM). 12190 BackupType *string `type:"string" enum:"BackupTypeFilter"` 12191 12192 // LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last 12193 // evaluated when the current page of results was returned, inclusive of the 12194 // current page of results. This value may be specified as the ExclusiveStartBackupArn 12195 // of a new ListBackups operation in order to fetch the next page of results. 12196 ExclusiveStartBackupArn *string `min:"37" type:"string"` 12197 12198 // Maximum number of backups to return at once. 12199 Limit *int64 `min:"1" type:"integer"` 12200 12201 // The backups from the table specified by TableName are listed. 12202 TableName *string `min:"3" type:"string"` 12203 12204 // Only backups created after this time are listed. TimeRangeLowerBound is inclusive. 12205 TimeRangeLowerBound *time.Time `type:"timestamp"` 12206 12207 // Only backups created before this time are listed. TimeRangeUpperBound is 12208 // exclusive. 12209 TimeRangeUpperBound *time.Time `type:"timestamp"` 12210} 12211 12212// String returns the string representation 12213func (s ListBackupsInput) String() string { 12214 return awsutil.Prettify(s) 12215} 12216 12217// GoString returns the string representation 12218func (s ListBackupsInput) GoString() string { 12219 return s.String() 12220} 12221 12222// Validate inspects the fields of the type to determine if they are valid. 12223func (s *ListBackupsInput) Validate() error { 12224 invalidParams := request.ErrInvalidParams{Context: "ListBackupsInput"} 12225 if s.ExclusiveStartBackupArn != nil && len(*s.ExclusiveStartBackupArn) < 37 { 12226 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartBackupArn", 37)) 12227 } 12228 if s.Limit != nil && *s.Limit < 1 { 12229 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 12230 } 12231 if s.TableName != nil && len(*s.TableName) < 3 { 12232 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12233 } 12234 12235 if invalidParams.Len() > 0 { 12236 return invalidParams 12237 } 12238 return nil 12239} 12240 12241// SetBackupType sets the BackupType field's value. 12242func (s *ListBackupsInput) SetBackupType(v string) *ListBackupsInput { 12243 s.BackupType = &v 12244 return s 12245} 12246 12247// SetExclusiveStartBackupArn sets the ExclusiveStartBackupArn field's value. 12248func (s *ListBackupsInput) SetExclusiveStartBackupArn(v string) *ListBackupsInput { 12249 s.ExclusiveStartBackupArn = &v 12250 return s 12251} 12252 12253// SetLimit sets the Limit field's value. 12254func (s *ListBackupsInput) SetLimit(v int64) *ListBackupsInput { 12255 s.Limit = &v 12256 return s 12257} 12258 12259// SetTableName sets the TableName field's value. 12260func (s *ListBackupsInput) SetTableName(v string) *ListBackupsInput { 12261 s.TableName = &v 12262 return s 12263} 12264 12265// SetTimeRangeLowerBound sets the TimeRangeLowerBound field's value. 12266func (s *ListBackupsInput) SetTimeRangeLowerBound(v time.Time) *ListBackupsInput { 12267 s.TimeRangeLowerBound = &v 12268 return s 12269} 12270 12271// SetTimeRangeUpperBound sets the TimeRangeUpperBound field's value. 12272func (s *ListBackupsInput) SetTimeRangeUpperBound(v time.Time) *ListBackupsInput { 12273 s.TimeRangeUpperBound = &v 12274 return s 12275} 12276 12277type ListBackupsOutput struct { 12278 _ struct{} `type:"structure"` 12279 12280 // List of BackupSummary objects. 12281 BackupSummaries []*BackupSummary `type:"list"` 12282 12283 // The ARN of the backup last evaluated when the current page of results was 12284 // returned, inclusive of the current page of results. This value may be specified 12285 // as the ExclusiveStartBackupArn of a new ListBackups operation in order to 12286 // fetch the next page of results. 12287 // 12288 // If LastEvaluatedBackupArn is empty, then the last page of results has been 12289 // processed and there are no more results to be retrieved. 12290 // 12291 // If LastEvaluatedBackupArn is not empty, this may or may not indicate that 12292 // there is more data to be returned. All results are guaranteed to have been 12293 // returned if and only if no value for LastEvaluatedBackupArn is returned. 12294 LastEvaluatedBackupArn *string `min:"37" type:"string"` 12295} 12296 12297// String returns the string representation 12298func (s ListBackupsOutput) String() string { 12299 return awsutil.Prettify(s) 12300} 12301 12302// GoString returns the string representation 12303func (s ListBackupsOutput) GoString() string { 12304 return s.String() 12305} 12306 12307// SetBackupSummaries sets the BackupSummaries field's value. 12308func (s *ListBackupsOutput) SetBackupSummaries(v []*BackupSummary) *ListBackupsOutput { 12309 s.BackupSummaries = v 12310 return s 12311} 12312 12313// SetLastEvaluatedBackupArn sets the LastEvaluatedBackupArn field's value. 12314func (s *ListBackupsOutput) SetLastEvaluatedBackupArn(v string) *ListBackupsOutput { 12315 s.LastEvaluatedBackupArn = &v 12316 return s 12317} 12318 12319type ListContributorInsightsInput struct { 12320 _ struct{} `type:"structure"` 12321 12322 // Maximum number of results to return per page. 12323 MaxResults *int64 `type:"integer"` 12324 12325 // A token to for the desired page, if there is one. 12326 NextToken *string `type:"string"` 12327 12328 // The name of the table. 12329 TableName *string `min:"3" type:"string"` 12330} 12331 12332// String returns the string representation 12333func (s ListContributorInsightsInput) String() string { 12334 return awsutil.Prettify(s) 12335} 12336 12337// GoString returns the string representation 12338func (s ListContributorInsightsInput) GoString() string { 12339 return s.String() 12340} 12341 12342// Validate inspects the fields of the type to determine if they are valid. 12343func (s *ListContributorInsightsInput) Validate() error { 12344 invalidParams := request.ErrInvalidParams{Context: "ListContributorInsightsInput"} 12345 if s.TableName != nil && len(*s.TableName) < 3 { 12346 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 12347 } 12348 12349 if invalidParams.Len() > 0 { 12350 return invalidParams 12351 } 12352 return nil 12353} 12354 12355// SetMaxResults sets the MaxResults field's value. 12356func (s *ListContributorInsightsInput) SetMaxResults(v int64) *ListContributorInsightsInput { 12357 s.MaxResults = &v 12358 return s 12359} 12360 12361// SetNextToken sets the NextToken field's value. 12362func (s *ListContributorInsightsInput) SetNextToken(v string) *ListContributorInsightsInput { 12363 s.NextToken = &v 12364 return s 12365} 12366 12367// SetTableName sets the TableName field's value. 12368func (s *ListContributorInsightsInput) SetTableName(v string) *ListContributorInsightsInput { 12369 s.TableName = &v 12370 return s 12371} 12372 12373type ListContributorInsightsOutput struct { 12374 _ struct{} `type:"structure"` 12375 12376 // A list of ContributorInsightsSummary. 12377 ContributorInsightsSummaries []*ContributorInsightsSummary `type:"list"` 12378 12379 // A token to go to the next page if there is one. 12380 NextToken *string `type:"string"` 12381} 12382 12383// String returns the string representation 12384func (s ListContributorInsightsOutput) String() string { 12385 return awsutil.Prettify(s) 12386} 12387 12388// GoString returns the string representation 12389func (s ListContributorInsightsOutput) GoString() string { 12390 return s.String() 12391} 12392 12393// SetContributorInsightsSummaries sets the ContributorInsightsSummaries field's value. 12394func (s *ListContributorInsightsOutput) SetContributorInsightsSummaries(v []*ContributorInsightsSummary) *ListContributorInsightsOutput { 12395 s.ContributorInsightsSummaries = v 12396 return s 12397} 12398 12399// SetNextToken sets the NextToken field's value. 12400func (s *ListContributorInsightsOutput) SetNextToken(v string) *ListContributorInsightsOutput { 12401 s.NextToken = &v 12402 return s 12403} 12404 12405type ListGlobalTablesInput struct { 12406 _ struct{} `type:"structure"` 12407 12408 // The first global table name that this operation will evaluate. 12409 ExclusiveStartGlobalTableName *string `min:"3" type:"string"` 12410 12411 // The maximum number of table names to return, if the parameter is not specified 12412 // DynamoDB defaults to 100. 12413 // 12414 // If the number of global tables DynamoDB finds reaches this limit, it stops 12415 // the operation and returns the table names collected up to that point, with 12416 // a table name in the LastEvaluatedGlobalTableName to apply in a subsequent 12417 // operation to the ExclusiveStartGlobalTableName parameter. 12418 Limit *int64 `min:"1" type:"integer"` 12419 12420 // Lists the global tables in a specific Region. 12421 RegionName *string `type:"string"` 12422} 12423 12424// String returns the string representation 12425func (s ListGlobalTablesInput) String() string { 12426 return awsutil.Prettify(s) 12427} 12428 12429// GoString returns the string representation 12430func (s ListGlobalTablesInput) GoString() string { 12431 return s.String() 12432} 12433 12434// Validate inspects the fields of the type to determine if they are valid. 12435func (s *ListGlobalTablesInput) Validate() error { 12436 invalidParams := request.ErrInvalidParams{Context: "ListGlobalTablesInput"} 12437 if s.ExclusiveStartGlobalTableName != nil && len(*s.ExclusiveStartGlobalTableName) < 3 { 12438 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartGlobalTableName", 3)) 12439 } 12440 if s.Limit != nil && *s.Limit < 1 { 12441 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 12442 } 12443 12444 if invalidParams.Len() > 0 { 12445 return invalidParams 12446 } 12447 return nil 12448} 12449 12450// SetExclusiveStartGlobalTableName sets the ExclusiveStartGlobalTableName field's value. 12451func (s *ListGlobalTablesInput) SetExclusiveStartGlobalTableName(v string) *ListGlobalTablesInput { 12452 s.ExclusiveStartGlobalTableName = &v 12453 return s 12454} 12455 12456// SetLimit sets the Limit field's value. 12457func (s *ListGlobalTablesInput) SetLimit(v int64) *ListGlobalTablesInput { 12458 s.Limit = &v 12459 return s 12460} 12461 12462// SetRegionName sets the RegionName field's value. 12463func (s *ListGlobalTablesInput) SetRegionName(v string) *ListGlobalTablesInput { 12464 s.RegionName = &v 12465 return s 12466} 12467 12468type ListGlobalTablesOutput struct { 12469 _ struct{} `type:"structure"` 12470 12471 // List of global table names. 12472 GlobalTables []*GlobalTable `type:"list"` 12473 12474 // Last evaluated global table name. 12475 LastEvaluatedGlobalTableName *string `min:"3" type:"string"` 12476} 12477 12478// String returns the string representation 12479func (s ListGlobalTablesOutput) String() string { 12480 return awsutil.Prettify(s) 12481} 12482 12483// GoString returns the string representation 12484func (s ListGlobalTablesOutput) GoString() string { 12485 return s.String() 12486} 12487 12488// SetGlobalTables sets the GlobalTables field's value. 12489func (s *ListGlobalTablesOutput) SetGlobalTables(v []*GlobalTable) *ListGlobalTablesOutput { 12490 s.GlobalTables = v 12491 return s 12492} 12493 12494// SetLastEvaluatedGlobalTableName sets the LastEvaluatedGlobalTableName field's value. 12495func (s *ListGlobalTablesOutput) SetLastEvaluatedGlobalTableName(v string) *ListGlobalTablesOutput { 12496 s.LastEvaluatedGlobalTableName = &v 12497 return s 12498} 12499 12500// Represents the input of a ListTables operation. 12501type ListTablesInput struct { 12502 _ struct{} `type:"structure"` 12503 12504 // The first table name that this operation will evaluate. Use the value that 12505 // was returned for LastEvaluatedTableName in a previous operation, so that 12506 // you can obtain the next page of results. 12507 ExclusiveStartTableName *string `min:"3" type:"string"` 12508 12509 // A maximum number of table names to return. If this parameter is not specified, 12510 // the limit is 100. 12511 Limit *int64 `min:"1" type:"integer"` 12512} 12513 12514// String returns the string representation 12515func (s ListTablesInput) String() string { 12516 return awsutil.Prettify(s) 12517} 12518 12519// GoString returns the string representation 12520func (s ListTablesInput) GoString() string { 12521 return s.String() 12522} 12523 12524// Validate inspects the fields of the type to determine if they are valid. 12525func (s *ListTablesInput) Validate() error { 12526 invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"} 12527 if s.ExclusiveStartTableName != nil && len(*s.ExclusiveStartTableName) < 3 { 12528 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTableName", 3)) 12529 } 12530 if s.Limit != nil && *s.Limit < 1 { 12531 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 12532 } 12533 12534 if invalidParams.Len() > 0 { 12535 return invalidParams 12536 } 12537 return nil 12538} 12539 12540// SetExclusiveStartTableName sets the ExclusiveStartTableName field's value. 12541func (s *ListTablesInput) SetExclusiveStartTableName(v string) *ListTablesInput { 12542 s.ExclusiveStartTableName = &v 12543 return s 12544} 12545 12546// SetLimit sets the Limit field's value. 12547func (s *ListTablesInput) SetLimit(v int64) *ListTablesInput { 12548 s.Limit = &v 12549 return s 12550} 12551 12552// Represents the output of a ListTables operation. 12553type ListTablesOutput struct { 12554 _ struct{} `type:"structure"` 12555 12556 // The name of the last table in the current page of results. Use this value 12557 // as the ExclusiveStartTableName in a new request to obtain the next page of 12558 // results, until all the table names are returned. 12559 // 12560 // If you do not receive a LastEvaluatedTableName value in the response, this 12561 // means that there are no more table names to be retrieved. 12562 LastEvaluatedTableName *string `min:"3" type:"string"` 12563 12564 // The names of the tables associated with the current account at the current 12565 // endpoint. The maximum size of this array is 100. 12566 // 12567 // If LastEvaluatedTableName also appears in the output, you can use this value 12568 // as the ExclusiveStartTableName parameter in a subsequent ListTables request 12569 // and obtain the next page of results. 12570 TableNames []*string `type:"list"` 12571} 12572 12573// String returns the string representation 12574func (s ListTablesOutput) String() string { 12575 return awsutil.Prettify(s) 12576} 12577 12578// GoString returns the string representation 12579func (s ListTablesOutput) GoString() string { 12580 return s.String() 12581} 12582 12583// SetLastEvaluatedTableName sets the LastEvaluatedTableName field's value. 12584func (s *ListTablesOutput) SetLastEvaluatedTableName(v string) *ListTablesOutput { 12585 s.LastEvaluatedTableName = &v 12586 return s 12587} 12588 12589// SetTableNames sets the TableNames field's value. 12590func (s *ListTablesOutput) SetTableNames(v []*string) *ListTablesOutput { 12591 s.TableNames = v 12592 return s 12593} 12594 12595type ListTagsOfResourceInput struct { 12596 _ struct{} `type:"structure"` 12597 12598 // An optional string that, if supplied, must be copied from the output of a 12599 // previous call to ListTagOfResource. When provided in this manner, this API 12600 // fetches the next page of results. 12601 NextToken *string `type:"string"` 12602 12603 // The Amazon DynamoDB resource with tags to be listed. This value is an Amazon 12604 // Resource Name (ARN). 12605 // 12606 // ResourceArn is a required field 12607 ResourceArn *string `min:"1" type:"string" required:"true"` 12608} 12609 12610// String returns the string representation 12611func (s ListTagsOfResourceInput) String() string { 12612 return awsutil.Prettify(s) 12613} 12614 12615// GoString returns the string representation 12616func (s ListTagsOfResourceInput) GoString() string { 12617 return s.String() 12618} 12619 12620// Validate inspects the fields of the type to determine if they are valid. 12621func (s *ListTagsOfResourceInput) Validate() error { 12622 invalidParams := request.ErrInvalidParams{Context: "ListTagsOfResourceInput"} 12623 if s.ResourceArn == nil { 12624 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 12625 } 12626 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 12627 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 12628 } 12629 12630 if invalidParams.Len() > 0 { 12631 return invalidParams 12632 } 12633 return nil 12634} 12635 12636// SetNextToken sets the NextToken field's value. 12637func (s *ListTagsOfResourceInput) SetNextToken(v string) *ListTagsOfResourceInput { 12638 s.NextToken = &v 12639 return s 12640} 12641 12642// SetResourceArn sets the ResourceArn field's value. 12643func (s *ListTagsOfResourceInput) SetResourceArn(v string) *ListTagsOfResourceInput { 12644 s.ResourceArn = &v 12645 return s 12646} 12647 12648type ListTagsOfResourceOutput struct { 12649 _ struct{} `type:"structure"` 12650 12651 // If this value is returned, there are additional results to be displayed. 12652 // To retrieve them, call ListTagsOfResource again, with NextToken set to this 12653 // value. 12654 NextToken *string `type:"string"` 12655 12656 // The tags currently associated with the Amazon DynamoDB resource. 12657 Tags []*Tag `type:"list"` 12658} 12659 12660// String returns the string representation 12661func (s ListTagsOfResourceOutput) String() string { 12662 return awsutil.Prettify(s) 12663} 12664 12665// GoString returns the string representation 12666func (s ListTagsOfResourceOutput) GoString() string { 12667 return s.String() 12668} 12669 12670// SetNextToken sets the NextToken field's value. 12671func (s *ListTagsOfResourceOutput) SetNextToken(v string) *ListTagsOfResourceOutput { 12672 s.NextToken = &v 12673 return s 12674} 12675 12676// SetTags sets the Tags field's value. 12677func (s *ListTagsOfResourceOutput) SetTags(v []*Tag) *ListTagsOfResourceOutput { 12678 s.Tags = v 12679 return s 12680} 12681 12682// Represents the properties of a local secondary index. 12683type LocalSecondaryIndex struct { 12684 _ struct{} `type:"structure"` 12685 12686 // The name of the local secondary index. The name must be unique among all 12687 // other indexes on this table. 12688 // 12689 // IndexName is a required field 12690 IndexName *string `min:"3" type:"string" required:"true"` 12691 12692 // The complete key schema for the local secondary index, consisting of one 12693 // or more pairs of attribute names and key types: 12694 // 12695 // * HASH - partition key 12696 // 12697 // * RANGE - sort key 12698 // 12699 // The partition key of an item is also known as its hash attribute. The term 12700 // "hash attribute" derives from DynamoDB's usage of an internal hash function 12701 // to evenly distribute data items across partitions, based on their partition 12702 // key values. 12703 // 12704 // The sort key of an item is also known as its range attribute. The term "range 12705 // attribute" derives from the way DynamoDB stores items with the same partition 12706 // key physically close together, in sorted order by the sort key value. 12707 // 12708 // KeySchema is a required field 12709 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 12710 12711 // Represents attributes that are copied (projected) from the table into the 12712 // local secondary index. These are in addition to the primary key attributes 12713 // and index key attributes, which are automatically projected. 12714 // 12715 // Projection is a required field 12716 Projection *Projection `type:"structure" required:"true"` 12717} 12718 12719// String returns the string representation 12720func (s LocalSecondaryIndex) String() string { 12721 return awsutil.Prettify(s) 12722} 12723 12724// GoString returns the string representation 12725func (s LocalSecondaryIndex) GoString() string { 12726 return s.String() 12727} 12728 12729// Validate inspects the fields of the type to determine if they are valid. 12730func (s *LocalSecondaryIndex) Validate() error { 12731 invalidParams := request.ErrInvalidParams{Context: "LocalSecondaryIndex"} 12732 if s.IndexName == nil { 12733 invalidParams.Add(request.NewErrParamRequired("IndexName")) 12734 } 12735 if s.IndexName != nil && len(*s.IndexName) < 3 { 12736 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 12737 } 12738 if s.KeySchema == nil { 12739 invalidParams.Add(request.NewErrParamRequired("KeySchema")) 12740 } 12741 if s.KeySchema != nil && len(s.KeySchema) < 1 { 12742 invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1)) 12743 } 12744 if s.Projection == nil { 12745 invalidParams.Add(request.NewErrParamRequired("Projection")) 12746 } 12747 if s.KeySchema != nil { 12748 for i, v := range s.KeySchema { 12749 if v == nil { 12750 continue 12751 } 12752 if err := v.Validate(); err != nil { 12753 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams)) 12754 } 12755 } 12756 } 12757 if s.Projection != nil { 12758 if err := s.Projection.Validate(); err != nil { 12759 invalidParams.AddNested("Projection", err.(request.ErrInvalidParams)) 12760 } 12761 } 12762 12763 if invalidParams.Len() > 0 { 12764 return invalidParams 12765 } 12766 return nil 12767} 12768 12769// SetIndexName sets the IndexName field's value. 12770func (s *LocalSecondaryIndex) SetIndexName(v string) *LocalSecondaryIndex { 12771 s.IndexName = &v 12772 return s 12773} 12774 12775// SetKeySchema sets the KeySchema field's value. 12776func (s *LocalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndex { 12777 s.KeySchema = v 12778 return s 12779} 12780 12781// SetProjection sets the Projection field's value. 12782func (s *LocalSecondaryIndex) SetProjection(v *Projection) *LocalSecondaryIndex { 12783 s.Projection = v 12784 return s 12785} 12786 12787// Represents the properties of a local secondary index. 12788type LocalSecondaryIndexDescription struct { 12789 _ struct{} `type:"structure"` 12790 12791 // The Amazon Resource Name (ARN) that uniquely identifies the index. 12792 IndexArn *string `type:"string"` 12793 12794 // Represents the name of the local secondary index. 12795 IndexName *string `min:"3" type:"string"` 12796 12797 // The total size of the specified index, in bytes. DynamoDB updates this value 12798 // approximately every six hours. Recent changes might not be reflected in this 12799 // value. 12800 IndexSizeBytes *int64 `type:"long"` 12801 12802 // The number of items in the specified index. DynamoDB updates this value approximately 12803 // every six hours. Recent changes might not be reflected in this value. 12804 ItemCount *int64 `type:"long"` 12805 12806 // The complete key schema for the local secondary index, consisting of one 12807 // or more pairs of attribute names and key types: 12808 // 12809 // * HASH - partition key 12810 // 12811 // * RANGE - sort key 12812 // 12813 // The partition key of an item is also known as its hash attribute. The term 12814 // "hash attribute" derives from DynamoDB's usage of an internal hash function 12815 // to evenly distribute data items across partitions, based on their partition 12816 // key values. 12817 // 12818 // The sort key of an item is also known as its range attribute. The term "range 12819 // attribute" derives from the way DynamoDB stores items with the same partition 12820 // key physically close together, in sorted order by the sort key value. 12821 KeySchema []*KeySchemaElement `min:"1" type:"list"` 12822 12823 // Represents attributes that are copied (projected) from the table into the 12824 // global secondary index. These are in addition to the primary key attributes 12825 // and index key attributes, which are automatically projected. 12826 Projection *Projection `type:"structure"` 12827} 12828 12829// String returns the string representation 12830func (s LocalSecondaryIndexDescription) String() string { 12831 return awsutil.Prettify(s) 12832} 12833 12834// GoString returns the string representation 12835func (s LocalSecondaryIndexDescription) GoString() string { 12836 return s.String() 12837} 12838 12839// SetIndexArn sets the IndexArn field's value. 12840func (s *LocalSecondaryIndexDescription) SetIndexArn(v string) *LocalSecondaryIndexDescription { 12841 s.IndexArn = &v 12842 return s 12843} 12844 12845// SetIndexName sets the IndexName field's value. 12846func (s *LocalSecondaryIndexDescription) SetIndexName(v string) *LocalSecondaryIndexDescription { 12847 s.IndexName = &v 12848 return s 12849} 12850 12851// SetIndexSizeBytes sets the IndexSizeBytes field's value. 12852func (s *LocalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *LocalSecondaryIndexDescription { 12853 s.IndexSizeBytes = &v 12854 return s 12855} 12856 12857// SetItemCount sets the ItemCount field's value. 12858func (s *LocalSecondaryIndexDescription) SetItemCount(v int64) *LocalSecondaryIndexDescription { 12859 s.ItemCount = &v 12860 return s 12861} 12862 12863// SetKeySchema sets the KeySchema field's value. 12864func (s *LocalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexDescription { 12865 s.KeySchema = v 12866 return s 12867} 12868 12869// SetProjection sets the Projection field's value. 12870func (s *LocalSecondaryIndexDescription) SetProjection(v *Projection) *LocalSecondaryIndexDescription { 12871 s.Projection = v 12872 return s 12873} 12874 12875// Represents the properties of a local secondary index for the table when the 12876// backup was created. 12877type LocalSecondaryIndexInfo struct { 12878 _ struct{} `type:"structure"` 12879 12880 // Represents the name of the local secondary index. 12881 IndexName *string `min:"3" type:"string"` 12882 12883 // The complete key schema for a local secondary index, which consists of one 12884 // or more pairs of attribute names and key types: 12885 // 12886 // * HASH - partition key 12887 // 12888 // * RANGE - sort key 12889 // 12890 // The partition key of an item is also known as its hash attribute. The term 12891 // "hash attribute" derives from DynamoDB's usage of an internal hash function 12892 // to evenly distribute data items across partitions, based on their partition 12893 // key values. 12894 // 12895 // The sort key of an item is also known as its range attribute. The term "range 12896 // attribute" derives from the way DynamoDB stores items with the same partition 12897 // key physically close together, in sorted order by the sort key value. 12898 KeySchema []*KeySchemaElement `min:"1" type:"list"` 12899 12900 // Represents attributes that are copied (projected) from the table into the 12901 // global secondary index. These are in addition to the primary key attributes 12902 // and index key attributes, which are automatically projected. 12903 Projection *Projection `type:"structure"` 12904} 12905 12906// String returns the string representation 12907func (s LocalSecondaryIndexInfo) String() string { 12908 return awsutil.Prettify(s) 12909} 12910 12911// GoString returns the string representation 12912func (s LocalSecondaryIndexInfo) GoString() string { 12913 return s.String() 12914} 12915 12916// SetIndexName sets the IndexName field's value. 12917func (s *LocalSecondaryIndexInfo) SetIndexName(v string) *LocalSecondaryIndexInfo { 12918 s.IndexName = &v 12919 return s 12920} 12921 12922// SetKeySchema sets the KeySchema field's value. 12923func (s *LocalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexInfo { 12924 s.KeySchema = v 12925 return s 12926} 12927 12928// SetProjection sets the Projection field's value. 12929func (s *LocalSecondaryIndexInfo) SetProjection(v *Projection) *LocalSecondaryIndexInfo { 12930 s.Projection = v 12931 return s 12932} 12933 12934// The description of the point in time settings applied to the table. 12935type PointInTimeRecoveryDescription struct { 12936 _ struct{} `type:"structure"` 12937 12938 // Specifies the earliest point in time you can restore your table to. You can 12939 // restore your table to any point in time during the last 35 days. 12940 EarliestRestorableDateTime *time.Time `type:"timestamp"` 12941 12942 // LatestRestorableDateTime is typically 5 minutes before the current time. 12943 LatestRestorableDateTime *time.Time `type:"timestamp"` 12944 12945 // The current state of point in time recovery: 12946 // 12947 // * ENABLING - Point in time recovery is being enabled. 12948 // 12949 // * ENABLED - Point in time recovery is enabled. 12950 // 12951 // * DISABLED - Point in time recovery is disabled. 12952 PointInTimeRecoveryStatus *string `type:"string" enum:"PointInTimeRecoveryStatus"` 12953} 12954 12955// String returns the string representation 12956func (s PointInTimeRecoveryDescription) String() string { 12957 return awsutil.Prettify(s) 12958} 12959 12960// GoString returns the string representation 12961func (s PointInTimeRecoveryDescription) GoString() string { 12962 return s.String() 12963} 12964 12965// SetEarliestRestorableDateTime sets the EarliestRestorableDateTime field's value. 12966func (s *PointInTimeRecoveryDescription) SetEarliestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription { 12967 s.EarliestRestorableDateTime = &v 12968 return s 12969} 12970 12971// SetLatestRestorableDateTime sets the LatestRestorableDateTime field's value. 12972func (s *PointInTimeRecoveryDescription) SetLatestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription { 12973 s.LatestRestorableDateTime = &v 12974 return s 12975} 12976 12977// SetPointInTimeRecoveryStatus sets the PointInTimeRecoveryStatus field's value. 12978func (s *PointInTimeRecoveryDescription) SetPointInTimeRecoveryStatus(v string) *PointInTimeRecoveryDescription { 12979 s.PointInTimeRecoveryStatus = &v 12980 return s 12981} 12982 12983// Represents the settings used to enable point in time recovery. 12984type PointInTimeRecoverySpecification struct { 12985 _ struct{} `type:"structure"` 12986 12987 // Indicates whether point in time recovery is enabled (true) or disabled (false) 12988 // on the table. 12989 // 12990 // PointInTimeRecoveryEnabled is a required field 12991 PointInTimeRecoveryEnabled *bool `type:"boolean" required:"true"` 12992} 12993 12994// String returns the string representation 12995func (s PointInTimeRecoverySpecification) String() string { 12996 return awsutil.Prettify(s) 12997} 12998 12999// GoString returns the string representation 13000func (s PointInTimeRecoverySpecification) GoString() string { 13001 return s.String() 13002} 13003 13004// Validate inspects the fields of the type to determine if they are valid. 13005func (s *PointInTimeRecoverySpecification) Validate() error { 13006 invalidParams := request.ErrInvalidParams{Context: "PointInTimeRecoverySpecification"} 13007 if s.PointInTimeRecoveryEnabled == nil { 13008 invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoveryEnabled")) 13009 } 13010 13011 if invalidParams.Len() > 0 { 13012 return invalidParams 13013 } 13014 return nil 13015} 13016 13017// SetPointInTimeRecoveryEnabled sets the PointInTimeRecoveryEnabled field's value. 13018func (s *PointInTimeRecoverySpecification) SetPointInTimeRecoveryEnabled(v bool) *PointInTimeRecoverySpecification { 13019 s.PointInTimeRecoveryEnabled = &v 13020 return s 13021} 13022 13023// Point in time recovery has not yet been enabled for this source table. 13024type PointInTimeRecoveryUnavailableException struct { 13025 _ struct{} `type:"structure"` 13026 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13027 13028 Message_ *string `locationName:"message" type:"string"` 13029} 13030 13031// String returns the string representation 13032func (s PointInTimeRecoveryUnavailableException) String() string { 13033 return awsutil.Prettify(s) 13034} 13035 13036// GoString returns the string representation 13037func (s PointInTimeRecoveryUnavailableException) GoString() string { 13038 return s.String() 13039} 13040 13041func newErrorPointInTimeRecoveryUnavailableException(v protocol.ResponseMetadata) error { 13042 return &PointInTimeRecoveryUnavailableException{ 13043 RespMetadata: v, 13044 } 13045} 13046 13047// Code returns the exception type name. 13048func (s *PointInTimeRecoveryUnavailableException) Code() string { 13049 return "PointInTimeRecoveryUnavailableException" 13050} 13051 13052// Message returns the exception's message. 13053func (s *PointInTimeRecoveryUnavailableException) Message() string { 13054 if s.Message_ != nil { 13055 return *s.Message_ 13056 } 13057 return "" 13058} 13059 13060// OrigErr always returns nil, satisfies awserr.Error interface. 13061func (s *PointInTimeRecoveryUnavailableException) OrigErr() error { 13062 return nil 13063} 13064 13065func (s *PointInTimeRecoveryUnavailableException) Error() string { 13066 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13067} 13068 13069// Status code returns the HTTP status code for the request's response error. 13070func (s *PointInTimeRecoveryUnavailableException) StatusCode() int { 13071 return s.RespMetadata.StatusCode 13072} 13073 13074// RequestID returns the service's response RequestID for request. 13075func (s *PointInTimeRecoveryUnavailableException) RequestID() string { 13076 return s.RespMetadata.RequestID 13077} 13078 13079// Represents attributes that are copied (projected) from the table into an 13080// index. These are in addition to the primary key attributes and index key 13081// attributes, which are automatically projected. 13082type Projection struct { 13083 _ struct{} `type:"structure"` 13084 13085 // Represents the non-key attribute names which will be projected into the index. 13086 // 13087 // For local secondary indexes, the total count of NonKeyAttributes summed across 13088 // all of the local secondary indexes, must not exceed 20. If you project the 13089 // same attribute into two different indexes, this counts as two distinct attributes 13090 // when determining the total. 13091 NonKeyAttributes []*string `min:"1" type:"list"` 13092 13093 // The set of attributes that are projected into the index: 13094 // 13095 // * KEYS_ONLY - Only the index and primary keys are projected into the index. 13096 // 13097 // * INCLUDE - Only the specified table attributes are projected into the 13098 // index. The list of projected attributes is in NonKeyAttributes. 13099 // 13100 // * ALL - All of the table attributes are projected into the index. 13101 ProjectionType *string `type:"string" enum:"ProjectionType"` 13102} 13103 13104// String returns the string representation 13105func (s Projection) String() string { 13106 return awsutil.Prettify(s) 13107} 13108 13109// GoString returns the string representation 13110func (s Projection) GoString() string { 13111 return s.String() 13112} 13113 13114// Validate inspects the fields of the type to determine if they are valid. 13115func (s *Projection) Validate() error { 13116 invalidParams := request.ErrInvalidParams{Context: "Projection"} 13117 if s.NonKeyAttributes != nil && len(s.NonKeyAttributes) < 1 { 13118 invalidParams.Add(request.NewErrParamMinLen("NonKeyAttributes", 1)) 13119 } 13120 13121 if invalidParams.Len() > 0 { 13122 return invalidParams 13123 } 13124 return nil 13125} 13126 13127// SetNonKeyAttributes sets the NonKeyAttributes field's value. 13128func (s *Projection) SetNonKeyAttributes(v []*string) *Projection { 13129 s.NonKeyAttributes = v 13130 return s 13131} 13132 13133// SetProjectionType sets the ProjectionType field's value. 13134func (s *Projection) SetProjectionType(v string) *Projection { 13135 s.ProjectionType = &v 13136 return s 13137} 13138 13139// Represents the provisioned throughput settings for a specified table or index. 13140// The settings can be modified using the UpdateTable operation. 13141// 13142// For current minimum and maximum provisioned throughput values, see Limits 13143// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 13144// in the Amazon DynamoDB Developer Guide. 13145type ProvisionedThroughput struct { 13146 _ struct{} `type:"structure"` 13147 13148 // The maximum number of strongly consistent reads consumed per second before 13149 // DynamoDB returns a ThrottlingException. For more information, see Specifying 13150 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 13151 // in the Amazon DynamoDB Developer Guide. 13152 // 13153 // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. 13154 // 13155 // ReadCapacityUnits is a required field 13156 ReadCapacityUnits *int64 `min:"1" type:"long" required:"true"` 13157 13158 // The maximum number of writes consumed per second before DynamoDB returns 13159 // a ThrottlingException. For more information, see Specifying Read and Write 13160 // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 13161 // in the Amazon DynamoDB Developer Guide. 13162 // 13163 // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. 13164 // 13165 // WriteCapacityUnits is a required field 13166 WriteCapacityUnits *int64 `min:"1" type:"long" required:"true"` 13167} 13168 13169// String returns the string representation 13170func (s ProvisionedThroughput) String() string { 13171 return awsutil.Prettify(s) 13172} 13173 13174// GoString returns the string representation 13175func (s ProvisionedThroughput) GoString() string { 13176 return s.String() 13177} 13178 13179// Validate inspects the fields of the type to determine if they are valid. 13180func (s *ProvisionedThroughput) Validate() error { 13181 invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughput"} 13182 if s.ReadCapacityUnits == nil { 13183 invalidParams.Add(request.NewErrParamRequired("ReadCapacityUnits")) 13184 } 13185 if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { 13186 invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) 13187 } 13188 if s.WriteCapacityUnits == nil { 13189 invalidParams.Add(request.NewErrParamRequired("WriteCapacityUnits")) 13190 } 13191 if s.WriteCapacityUnits != nil && *s.WriteCapacityUnits < 1 { 13192 invalidParams.Add(request.NewErrParamMinValue("WriteCapacityUnits", 1)) 13193 } 13194 13195 if invalidParams.Len() > 0 { 13196 return invalidParams 13197 } 13198 return nil 13199} 13200 13201// SetReadCapacityUnits sets the ReadCapacityUnits field's value. 13202func (s *ProvisionedThroughput) SetReadCapacityUnits(v int64) *ProvisionedThroughput { 13203 s.ReadCapacityUnits = &v 13204 return s 13205} 13206 13207// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 13208func (s *ProvisionedThroughput) SetWriteCapacityUnits(v int64) *ProvisionedThroughput { 13209 s.WriteCapacityUnits = &v 13210 return s 13211} 13212 13213// Represents the provisioned throughput settings for the table, consisting 13214// of read and write capacity units, along with data about increases and decreases. 13215type ProvisionedThroughputDescription struct { 13216 _ struct{} `type:"structure"` 13217 13218 // The date and time of the last provisioned throughput decrease for this table. 13219 LastDecreaseDateTime *time.Time `type:"timestamp"` 13220 13221 // The date and time of the last provisioned throughput increase for this table. 13222 LastIncreaseDateTime *time.Time `type:"timestamp"` 13223 13224 // The number of provisioned throughput decreases for this table during this 13225 // UTC calendar day. For current maximums on provisioned throughput decreases, 13226 // see Limits (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 13227 // in the Amazon DynamoDB Developer Guide. 13228 NumberOfDecreasesToday *int64 `min:"1" type:"long"` 13229 13230 // The maximum number of strongly consistent reads consumed per second before 13231 // DynamoDB returns a ThrottlingException. Eventually consistent reads require 13232 // less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits 13233 // per second provides 100 eventually consistent ReadCapacityUnits per second. 13234 ReadCapacityUnits *int64 `type:"long"` 13235 13236 // The maximum number of writes consumed per second before DynamoDB returns 13237 // a ThrottlingException. 13238 WriteCapacityUnits *int64 `type:"long"` 13239} 13240 13241// String returns the string representation 13242func (s ProvisionedThroughputDescription) String() string { 13243 return awsutil.Prettify(s) 13244} 13245 13246// GoString returns the string representation 13247func (s ProvisionedThroughputDescription) GoString() string { 13248 return s.String() 13249} 13250 13251// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value. 13252func (s *ProvisionedThroughputDescription) SetLastDecreaseDateTime(v time.Time) *ProvisionedThroughputDescription { 13253 s.LastDecreaseDateTime = &v 13254 return s 13255} 13256 13257// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value. 13258func (s *ProvisionedThroughputDescription) SetLastIncreaseDateTime(v time.Time) *ProvisionedThroughputDescription { 13259 s.LastIncreaseDateTime = &v 13260 return s 13261} 13262 13263// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value. 13264func (s *ProvisionedThroughputDescription) SetNumberOfDecreasesToday(v int64) *ProvisionedThroughputDescription { 13265 s.NumberOfDecreasesToday = &v 13266 return s 13267} 13268 13269// SetReadCapacityUnits sets the ReadCapacityUnits field's value. 13270func (s *ProvisionedThroughputDescription) SetReadCapacityUnits(v int64) *ProvisionedThroughputDescription { 13271 s.ReadCapacityUnits = &v 13272 return s 13273} 13274 13275// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. 13276func (s *ProvisionedThroughputDescription) SetWriteCapacityUnits(v int64) *ProvisionedThroughputDescription { 13277 s.WriteCapacityUnits = &v 13278 return s 13279} 13280 13281// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry 13282// requests that receive this exception. Your request is eventually successful, 13283// unless your retry queue is too large to finish. Reduce the frequency of requests 13284// and use exponential backoff. For more information, go to Error Retries and 13285// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) 13286// in the Amazon DynamoDB Developer Guide. 13287type ProvisionedThroughputExceededException struct { 13288 _ struct{} `type:"structure"` 13289 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13290 13291 // You exceeded your maximum allowed provisioned throughput. 13292 Message_ *string `locationName:"message" type:"string"` 13293} 13294 13295// String returns the string representation 13296func (s ProvisionedThroughputExceededException) String() string { 13297 return awsutil.Prettify(s) 13298} 13299 13300// GoString returns the string representation 13301func (s ProvisionedThroughputExceededException) GoString() string { 13302 return s.String() 13303} 13304 13305func newErrorProvisionedThroughputExceededException(v protocol.ResponseMetadata) error { 13306 return &ProvisionedThroughputExceededException{ 13307 RespMetadata: v, 13308 } 13309} 13310 13311// Code returns the exception type name. 13312func (s *ProvisionedThroughputExceededException) Code() string { 13313 return "ProvisionedThroughputExceededException" 13314} 13315 13316// Message returns the exception's message. 13317func (s *ProvisionedThroughputExceededException) Message() string { 13318 if s.Message_ != nil { 13319 return *s.Message_ 13320 } 13321 return "" 13322} 13323 13324// OrigErr always returns nil, satisfies awserr.Error interface. 13325func (s *ProvisionedThroughputExceededException) OrigErr() error { 13326 return nil 13327} 13328 13329func (s *ProvisionedThroughputExceededException) Error() string { 13330 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13331} 13332 13333// Status code returns the HTTP status code for the request's response error. 13334func (s *ProvisionedThroughputExceededException) StatusCode() int { 13335 return s.RespMetadata.StatusCode 13336} 13337 13338// RequestID returns the service's response RequestID for request. 13339func (s *ProvisionedThroughputExceededException) RequestID() string { 13340 return s.RespMetadata.RequestID 13341} 13342 13343// Replica-specific provisioned throughput settings. If not specified, uses 13344// the source table's provisioned throughput settings. 13345type ProvisionedThroughputOverride struct { 13346 _ struct{} `type:"structure"` 13347 13348 // Replica-specific read capacity units. If not specified, uses the source table's 13349 // read capacity settings. 13350 ReadCapacityUnits *int64 `min:"1" type:"long"` 13351} 13352 13353// String returns the string representation 13354func (s ProvisionedThroughputOverride) String() string { 13355 return awsutil.Prettify(s) 13356} 13357 13358// GoString returns the string representation 13359func (s ProvisionedThroughputOverride) GoString() string { 13360 return s.String() 13361} 13362 13363// Validate inspects the fields of the type to determine if they are valid. 13364func (s *ProvisionedThroughputOverride) Validate() error { 13365 invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughputOverride"} 13366 if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { 13367 invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) 13368 } 13369 13370 if invalidParams.Len() > 0 { 13371 return invalidParams 13372 } 13373 return nil 13374} 13375 13376// SetReadCapacityUnits sets the ReadCapacityUnits field's value. 13377func (s *ProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *ProvisionedThroughputOverride { 13378 s.ReadCapacityUnits = &v 13379 return s 13380} 13381 13382// Represents a request to perform a PutItem operation. 13383type Put struct { 13384 _ struct{} `type:"structure"` 13385 13386 // A condition that must be satisfied in order for a conditional update to succeed. 13387 ConditionExpression *string `type:"string"` 13388 13389 // One or more substitution tokens for attribute names in an expression. 13390 ExpressionAttributeNames map[string]*string `type:"map"` 13391 13392 // One or more values that can be substituted in an expression. 13393 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 13394 13395 // A map of attribute name to attribute values, representing the primary key 13396 // of the item to be written by PutItem. All of the table's primary key attributes 13397 // must be specified, and their data types must match those of the table's key 13398 // schema. If any attributes are present in the item that are part of an index 13399 // key schema for the table, their types must match the index key schema. 13400 // 13401 // Item is a required field 13402 Item map[string]*AttributeValue `type:"map" required:"true"` 13403 13404 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 13405 // Put condition fails. For ReturnValuesOnConditionCheckFailure, the valid values 13406 // are: NONE and ALL_OLD. 13407 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 13408 13409 // Name of the table in which to write the item. 13410 // 13411 // TableName is a required field 13412 TableName *string `min:"3" type:"string" required:"true"` 13413} 13414 13415// String returns the string representation 13416func (s Put) String() string { 13417 return awsutil.Prettify(s) 13418} 13419 13420// GoString returns the string representation 13421func (s Put) GoString() string { 13422 return s.String() 13423} 13424 13425// Validate inspects the fields of the type to determine if they are valid. 13426func (s *Put) Validate() error { 13427 invalidParams := request.ErrInvalidParams{Context: "Put"} 13428 if s.Item == nil { 13429 invalidParams.Add(request.NewErrParamRequired("Item")) 13430 } 13431 if s.TableName == nil { 13432 invalidParams.Add(request.NewErrParamRequired("TableName")) 13433 } 13434 if s.TableName != nil && len(*s.TableName) < 3 { 13435 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 13436 } 13437 13438 if invalidParams.Len() > 0 { 13439 return invalidParams 13440 } 13441 return nil 13442} 13443 13444// SetConditionExpression sets the ConditionExpression field's value. 13445func (s *Put) SetConditionExpression(v string) *Put { 13446 s.ConditionExpression = &v 13447 return s 13448} 13449 13450// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 13451func (s *Put) SetExpressionAttributeNames(v map[string]*string) *Put { 13452 s.ExpressionAttributeNames = v 13453 return s 13454} 13455 13456// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 13457func (s *Put) SetExpressionAttributeValues(v map[string]*AttributeValue) *Put { 13458 s.ExpressionAttributeValues = v 13459 return s 13460} 13461 13462// SetItem sets the Item field's value. 13463func (s *Put) SetItem(v map[string]*AttributeValue) *Put { 13464 s.Item = v 13465 return s 13466} 13467 13468// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 13469func (s *Put) SetReturnValuesOnConditionCheckFailure(v string) *Put { 13470 s.ReturnValuesOnConditionCheckFailure = &v 13471 return s 13472} 13473 13474// SetTableName sets the TableName field's value. 13475func (s *Put) SetTableName(v string) *Put { 13476 s.TableName = &v 13477 return s 13478} 13479 13480// Represents the input of a PutItem operation. 13481type PutItemInput struct { 13482 _ struct{} `type:"structure"` 13483 13484 // A condition that must be satisfied in order for a conditional PutItem operation 13485 // to succeed. 13486 // 13487 // An expression can contain any of the following: 13488 // 13489 // * Functions: attribute_exists | attribute_not_exists | attribute_type 13490 // | contains | begins_with | size These function names are case-sensitive. 13491 // 13492 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 13493 // 13494 // * Logical operators: AND | OR | NOT 13495 // 13496 // For more information on condition expressions, see Condition Expressions 13497 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 13498 // in the Amazon DynamoDB Developer Guide. 13499 ConditionExpression *string `type:"string"` 13500 13501 // This is a legacy parameter. Use ConditionExpression instead. For more information, 13502 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 13503 // in the Amazon DynamoDB Developer Guide. 13504 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 13505 13506 // This is a legacy parameter. Use ConditionExpression instead. For more information, 13507 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 13508 // in the Amazon DynamoDB Developer Guide. 13509 Expected map[string]*ExpectedAttributeValue `type:"map"` 13510 13511 // One or more substitution tokens for attribute names in an expression. The 13512 // following are some use cases for using ExpressionAttributeNames: 13513 // 13514 // * To access an attribute whose name conflicts with a DynamoDB reserved 13515 // word. 13516 // 13517 // * To create a placeholder for repeating occurrences of an attribute name 13518 // in an expression. 13519 // 13520 // * To prevent special characters in an attribute name from being misinterpreted 13521 // in an expression. 13522 // 13523 // Use the # character in an expression to dereference an attribute name. For 13524 // example, consider the following attribute name: 13525 // 13526 // * Percentile 13527 // 13528 // The name of this attribute conflicts with a reserved word, so it cannot be 13529 // used directly in an expression. (For the complete list of reserved words, 13530 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 13531 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 13532 // the following for ExpressionAttributeNames: 13533 // 13534 // * {"#P":"Percentile"} 13535 // 13536 // You could then use this substitution in an expression, as in this example: 13537 // 13538 // * #P = :val 13539 // 13540 // Tokens that begin with the : character are expression attribute values, which 13541 // are placeholders for the actual value at runtime. 13542 // 13543 // For more information on expression attribute names, see Specifying Item Attributes 13544 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 13545 // in the Amazon DynamoDB Developer Guide. 13546 ExpressionAttributeNames map[string]*string `type:"map"` 13547 13548 // One or more values that can be substituted in an expression. 13549 // 13550 // Use the : (colon) character in an expression to dereference an attribute 13551 // value. For example, suppose that you wanted to check whether the value of 13552 // the ProductStatus attribute was one of the following: 13553 // 13554 // Available | Backordered | Discontinued 13555 // 13556 // You would first need to specify ExpressionAttributeValues as follows: 13557 // 13558 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 13559 // } 13560 // 13561 // You could then use these values in an expression, such as this: 13562 // 13563 // ProductStatus IN (:avail, :back, :disc) 13564 // 13565 // For more information on expression attribute values, see Condition Expressions 13566 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 13567 // in the Amazon DynamoDB Developer Guide. 13568 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 13569 13570 // A map of attribute name/value pairs, one for each attribute. Only the primary 13571 // key attributes are required; you can optionally provide other attribute name-value 13572 // pairs for the item. 13573 // 13574 // You must provide all of the attributes for the primary key. For example, 13575 // with a simple primary key, you only need to provide a value for the partition 13576 // key. For a composite primary key, you must provide both values for both the 13577 // partition key and the sort key. 13578 // 13579 // If you specify any attributes that are part of an index key, then the data 13580 // types for those attributes must match those of the schema in the table's 13581 // attribute definition. 13582 // 13583 // Empty String and Binary attribute values are allowed. Attribute values of 13584 // type String and Binary must have a length greater than zero if the attribute 13585 // is used as a key attribute for a table or index. 13586 // 13587 // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) 13588 // in the Amazon DynamoDB Developer Guide. 13589 // 13590 // Each element in the Item map is an AttributeValue object. 13591 // 13592 // Item is a required field 13593 Item map[string]*AttributeValue `type:"map" required:"true"` 13594 13595 // Determines the level of detail about provisioned throughput consumption that 13596 // is returned in the response: 13597 // 13598 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 13599 // operation, together with ConsumedCapacity for each table and secondary 13600 // index that was accessed. Note that some operations, such as GetItem and 13601 // BatchGetItem, do not access any indexes at all. In these cases, specifying 13602 // INDEXES will only return ConsumedCapacity information for table(s). 13603 // 13604 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 13605 // the operation. 13606 // 13607 // * NONE - No ConsumedCapacity details are included in the response. 13608 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 13609 13610 // Determines whether item collection metrics are returned. If set to SIZE, 13611 // the response includes statistics about item collections, if any, that were 13612 // modified during the operation are returned in the response. If set to NONE 13613 // (the default), no statistics are returned. 13614 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 13615 13616 // Use ReturnValues if you want to get the item attributes as they appeared 13617 // before they were updated with the PutItem request. For PutItem, the valid 13618 // values are: 13619 // 13620 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 13621 // nothing is returned. (This setting is the default for ReturnValues.) 13622 // 13623 // * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the 13624 // content of the old item is returned. 13625 // 13626 // The ReturnValues parameter is used by several DynamoDB operations; however, 13627 // PutItem does not recognize any values other than NONE or ALL_OLD. 13628 ReturnValues *string `type:"string" enum:"ReturnValue"` 13629 13630 // The name of the table to contain the item. 13631 // 13632 // TableName is a required field 13633 TableName *string `min:"3" type:"string" required:"true"` 13634} 13635 13636// String returns the string representation 13637func (s PutItemInput) String() string { 13638 return awsutil.Prettify(s) 13639} 13640 13641// GoString returns the string representation 13642func (s PutItemInput) GoString() string { 13643 return s.String() 13644} 13645 13646// Validate inspects the fields of the type to determine if they are valid. 13647func (s *PutItemInput) Validate() error { 13648 invalidParams := request.ErrInvalidParams{Context: "PutItemInput"} 13649 if s.Item == nil { 13650 invalidParams.Add(request.NewErrParamRequired("Item")) 13651 } 13652 if s.TableName == nil { 13653 invalidParams.Add(request.NewErrParamRequired("TableName")) 13654 } 13655 if s.TableName != nil && len(*s.TableName) < 3 { 13656 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 13657 } 13658 13659 if invalidParams.Len() > 0 { 13660 return invalidParams 13661 } 13662 return nil 13663} 13664 13665// SetConditionExpression sets the ConditionExpression field's value. 13666func (s *PutItemInput) SetConditionExpression(v string) *PutItemInput { 13667 s.ConditionExpression = &v 13668 return s 13669} 13670 13671// SetConditionalOperator sets the ConditionalOperator field's value. 13672func (s *PutItemInput) SetConditionalOperator(v string) *PutItemInput { 13673 s.ConditionalOperator = &v 13674 return s 13675} 13676 13677// SetExpected sets the Expected field's value. 13678func (s *PutItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *PutItemInput { 13679 s.Expected = v 13680 return s 13681} 13682 13683// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 13684func (s *PutItemInput) SetExpressionAttributeNames(v map[string]*string) *PutItemInput { 13685 s.ExpressionAttributeNames = v 13686 return s 13687} 13688 13689// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 13690func (s *PutItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *PutItemInput { 13691 s.ExpressionAttributeValues = v 13692 return s 13693} 13694 13695// SetItem sets the Item field's value. 13696func (s *PutItemInput) SetItem(v map[string]*AttributeValue) *PutItemInput { 13697 s.Item = v 13698 return s 13699} 13700 13701// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 13702func (s *PutItemInput) SetReturnConsumedCapacity(v string) *PutItemInput { 13703 s.ReturnConsumedCapacity = &v 13704 return s 13705} 13706 13707// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 13708func (s *PutItemInput) SetReturnItemCollectionMetrics(v string) *PutItemInput { 13709 s.ReturnItemCollectionMetrics = &v 13710 return s 13711} 13712 13713// SetReturnValues sets the ReturnValues field's value. 13714func (s *PutItemInput) SetReturnValues(v string) *PutItemInput { 13715 s.ReturnValues = &v 13716 return s 13717} 13718 13719// SetTableName sets the TableName field's value. 13720func (s *PutItemInput) SetTableName(v string) *PutItemInput { 13721 s.TableName = &v 13722 return s 13723} 13724 13725// Represents the output of a PutItem operation. 13726type PutItemOutput struct { 13727 _ struct{} `type:"structure"` 13728 13729 // The attribute values as they appeared before the PutItem operation, but only 13730 // if ReturnValues is specified as ALL_OLD in the request. Each element consists 13731 // of an attribute name and an attribute value. 13732 Attributes map[string]*AttributeValue `type:"map"` 13733 13734 // The capacity units consumed by the PutItem operation. The data returned includes 13735 // the total provisioned throughput consumed, along with statistics for the 13736 // table and any indexes involved in the operation. ConsumedCapacity is only 13737 // returned if the ReturnConsumedCapacity parameter was specified. For more 13738 // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 13739 // in the Amazon DynamoDB Developer Guide. 13740 ConsumedCapacity *ConsumedCapacity `type:"structure"` 13741 13742 // Information about item collections, if any, that were affected by the PutItem 13743 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 13744 // parameter was specified. If the table does not have any local secondary indexes, 13745 // this information is not returned in the response. 13746 // 13747 // Each ItemCollectionMetrics element consists of: 13748 // 13749 // * ItemCollectionKey - The partition key value of the item collection. 13750 // This is the same as the partition key value of the item itself. 13751 // 13752 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 13753 // This value is a two-element array containing a lower bound and an upper 13754 // bound for the estimate. The estimate includes the size of all the items 13755 // in the table, plus the size of all attributes projected into all of the 13756 // local secondary indexes on that table. Use this estimate to measure whether 13757 // a local secondary index is approaching its size limit. The estimate is 13758 // subject to change over time; therefore, do not rely on the precision or 13759 // accuracy of the estimate. 13760 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 13761} 13762 13763// String returns the string representation 13764func (s PutItemOutput) String() string { 13765 return awsutil.Prettify(s) 13766} 13767 13768// GoString returns the string representation 13769func (s PutItemOutput) GoString() string { 13770 return s.String() 13771} 13772 13773// SetAttributes sets the Attributes field's value. 13774func (s *PutItemOutput) SetAttributes(v map[string]*AttributeValue) *PutItemOutput { 13775 s.Attributes = v 13776 return s 13777} 13778 13779// SetConsumedCapacity sets the ConsumedCapacity field's value. 13780func (s *PutItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *PutItemOutput { 13781 s.ConsumedCapacity = v 13782 return s 13783} 13784 13785// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 13786func (s *PutItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *PutItemOutput { 13787 s.ItemCollectionMetrics = v 13788 return s 13789} 13790 13791// Represents a request to perform a PutItem operation on an item. 13792type PutRequest struct { 13793 _ struct{} `type:"structure"` 13794 13795 // A map of attribute name to attribute values, representing the primary key 13796 // of an item to be processed by PutItem. All of the table's primary key attributes 13797 // must be specified, and their data types must match those of the table's key 13798 // schema. If any attributes are present in the item that are part of an index 13799 // key schema for the table, their types must match the index key schema. 13800 // 13801 // Item is a required field 13802 Item map[string]*AttributeValue `type:"map" required:"true"` 13803} 13804 13805// String returns the string representation 13806func (s PutRequest) String() string { 13807 return awsutil.Prettify(s) 13808} 13809 13810// GoString returns the string representation 13811func (s PutRequest) GoString() string { 13812 return s.String() 13813} 13814 13815// SetItem sets the Item field's value. 13816func (s *PutRequest) SetItem(v map[string]*AttributeValue) *PutRequest { 13817 s.Item = v 13818 return s 13819} 13820 13821// Represents the input of a Query operation. 13822type QueryInput struct { 13823 _ struct{} `type:"structure"` 13824 13825 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 13826 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 13827 // in the Amazon DynamoDB Developer Guide. 13828 AttributesToGet []*string `min:"1" type:"list"` 13829 13830 // This is a legacy parameter. Use FilterExpression instead. For more information, 13831 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 13832 // in the Amazon DynamoDB Developer Guide. 13833 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 13834 13835 // Determines the read consistency model: If set to true, then the operation 13836 // uses strongly consistent reads; otherwise, the operation uses eventually 13837 // consistent reads. 13838 // 13839 // Strongly consistent reads are not supported on global secondary indexes. 13840 // If you query a global secondary index with ConsistentRead set to true, you 13841 // will receive a ValidationException. 13842 ConsistentRead *bool `type:"boolean"` 13843 13844 // The primary key of the first item that this operation will evaluate. Use 13845 // the value that was returned for LastEvaluatedKey in the previous operation. 13846 // 13847 // The data type for ExclusiveStartKey must be String, Number, or Binary. No 13848 // set data types are allowed. 13849 ExclusiveStartKey map[string]*AttributeValue `type:"map"` 13850 13851 // One or more substitution tokens for attribute names in an expression. The 13852 // following are some use cases for using ExpressionAttributeNames: 13853 // 13854 // * To access an attribute whose name conflicts with a DynamoDB reserved 13855 // word. 13856 // 13857 // * To create a placeholder for repeating occurrences of an attribute name 13858 // in an expression. 13859 // 13860 // * To prevent special characters in an attribute name from being misinterpreted 13861 // in an expression. 13862 // 13863 // Use the # character in an expression to dereference an attribute name. For 13864 // example, consider the following attribute name: 13865 // 13866 // * Percentile 13867 // 13868 // The name of this attribute conflicts with a reserved word, so it cannot be 13869 // used directly in an expression. (For the complete list of reserved words, 13870 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 13871 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 13872 // the following for ExpressionAttributeNames: 13873 // 13874 // * {"#P":"Percentile"} 13875 // 13876 // You could then use this substitution in an expression, as in this example: 13877 // 13878 // * #P = :val 13879 // 13880 // Tokens that begin with the : character are expression attribute values, which 13881 // are placeholders for the actual value at runtime. 13882 // 13883 // For more information on expression attribute names, see Specifying Item Attributes 13884 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 13885 // in the Amazon DynamoDB Developer Guide. 13886 ExpressionAttributeNames map[string]*string `type:"map"` 13887 13888 // One or more values that can be substituted in an expression. 13889 // 13890 // Use the : (colon) character in an expression to dereference an attribute 13891 // value. For example, suppose that you wanted to check whether the value of 13892 // the ProductStatus attribute was one of the following: 13893 // 13894 // Available | Backordered | Discontinued 13895 // 13896 // You would first need to specify ExpressionAttributeValues as follows: 13897 // 13898 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 13899 // } 13900 // 13901 // You could then use these values in an expression, such as this: 13902 // 13903 // ProductStatus IN (:avail, :back, :disc) 13904 // 13905 // For more information on expression attribute values, see Specifying Conditions 13906 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 13907 // in the Amazon DynamoDB Developer Guide. 13908 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 13909 13910 // A string that contains conditions that DynamoDB applies after the Query operation, 13911 // but before the data is returned to you. Items that do not satisfy the FilterExpression 13912 // criteria are not returned. 13913 // 13914 // A FilterExpression does not allow key attributes. You cannot define a filter 13915 // expression based on a partition key or a sort key. 13916 // 13917 // A FilterExpression is applied after the items have already been read; the 13918 // process of filtering does not consume any additional read capacity units. 13919 // 13920 // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) 13921 // in the Amazon DynamoDB Developer Guide. 13922 FilterExpression *string `type:"string"` 13923 13924 // The name of an index to query. This index can be any local secondary index 13925 // or global secondary index on the table. Note that if you use the IndexName 13926 // parameter, you must also provide TableName. 13927 IndexName *string `min:"3" type:"string"` 13928 13929 // The condition that specifies the key values for items to be retrieved by 13930 // the Query action. 13931 // 13932 // The condition must perform an equality test on a single partition key value. 13933 // 13934 // The condition can optionally perform one of several comparison tests on a 13935 // single sort key value. This allows Query to retrieve one item with a given 13936 // partition key value and sort key value, or several items that have the same 13937 // partition key value but different sort key values. 13938 // 13939 // The partition key equality test is required, and must be specified in the 13940 // following format: 13941 // 13942 // partitionKeyName = :partitionkeyval 13943 // 13944 // If you also want to provide a condition for the sort key, it must be combined 13945 // using AND with the condition for the sort key. Following is an example, using 13946 // the = comparison operator for the sort key: 13947 // 13948 // partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval 13949 // 13950 // Valid comparisons for the sort key condition are as follows: 13951 // 13952 // * sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. 13953 // 13954 // * sortKeyName < :sortkeyval - true if the sort key value is less than 13955 // :sortkeyval. 13956 // 13957 // * sortKeyName <= :sortkeyval - true if the sort key value is less than 13958 // or equal to :sortkeyval. 13959 // 13960 // * sortKeyName > :sortkeyval - true if the sort key value is greater than 13961 // :sortkeyval. 13962 // 13963 // * sortKeyName >= :sortkeyval - true if the sort key value is greater than 13964 // or equal to :sortkeyval. 13965 // 13966 // * sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort 13967 // key value is greater than or equal to :sortkeyval1, and less than or equal 13968 // to :sortkeyval2. 13969 // 13970 // * begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value 13971 // begins with a particular operand. (You cannot use this function with a 13972 // sort key that is of type Number.) Note that the function name begins_with 13973 // is case-sensitive. 13974 // 13975 // Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval 13976 // and :sortval with actual values at runtime. 13977 // 13978 // You can optionally use the ExpressionAttributeNames parameter to replace 13979 // the names of the partition key and sort key with placeholder tokens. This 13980 // option might be necessary if an attribute name conflicts with a DynamoDB 13981 // reserved word. For example, the following KeyConditionExpression parameter 13982 // causes an error because Size is a reserved word: 13983 // 13984 // * Size = :myval 13985 // 13986 // To work around this, define a placeholder (such a #S) to represent the attribute 13987 // name Size. KeyConditionExpression then is as follows: 13988 // 13989 // * #S = :myval 13990 // 13991 // For a list of reserved words, see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 13992 // in the Amazon DynamoDB Developer Guide. 13993 // 13994 // For more information on ExpressionAttributeNames and ExpressionAttributeValues, 13995 // see Using Placeholders for Attribute Names and Values (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) 13996 // in the Amazon DynamoDB Developer Guide. 13997 KeyConditionExpression *string `type:"string"` 13998 13999 // This is a legacy parameter. Use KeyConditionExpression instead. For more 14000 // information, see KeyConditions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html) 14001 // in the Amazon DynamoDB Developer Guide. 14002 KeyConditions map[string]*Condition `type:"map"` 14003 14004 // The maximum number of items to evaluate (not necessarily the number of matching 14005 // items). If DynamoDB processes the number of items up to the limit while processing 14006 // the results, it stops the operation and returns the matching values up to 14007 // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, 14008 // so that you can pick up where you left off. Also, if the processed dataset 14009 // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation 14010 // and returns the matching values up to the limit, and a key in LastEvaluatedKey 14011 // to apply in a subsequent operation to continue the operation. For more information, 14012 // see Query and Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) 14013 // in the Amazon DynamoDB Developer Guide. 14014 Limit *int64 `min:"1" type:"integer"` 14015 14016 // A string that identifies one or more attributes to retrieve from the table. 14017 // These attributes can include scalars, sets, or elements of a JSON document. 14018 // The attributes in the expression must be separated by commas. 14019 // 14020 // If no attribute names are specified, then all attributes will be returned. 14021 // If any of the requested attributes are not found, they will not appear in 14022 // the result. 14023 // 14024 // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 14025 // in the Amazon DynamoDB Developer Guide. 14026 ProjectionExpression *string `type:"string"` 14027 14028 // This is a legacy parameter. Use FilterExpression instead. For more information, 14029 // see QueryFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html) 14030 // in the Amazon DynamoDB Developer Guide. 14031 QueryFilter map[string]*Condition `type:"map"` 14032 14033 // Determines the level of detail about provisioned throughput consumption that 14034 // is returned in the response: 14035 // 14036 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 14037 // operation, together with ConsumedCapacity for each table and secondary 14038 // index that was accessed. Note that some operations, such as GetItem and 14039 // BatchGetItem, do not access any indexes at all. In these cases, specifying 14040 // INDEXES will only return ConsumedCapacity information for table(s). 14041 // 14042 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 14043 // the operation. 14044 // 14045 // * NONE - No ConsumedCapacity details are included in the response. 14046 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 14047 14048 // Specifies the order for index traversal: If true (default), the traversal 14049 // is performed in ascending order; if false, the traversal is performed in 14050 // descending order. 14051 // 14052 // Items with the same partition key value are stored in sorted order by sort 14053 // key. If the sort key data type is Number, the results are stored in numeric 14054 // order. For type String, the results are stored in order of UTF-8 bytes. For 14055 // type Binary, DynamoDB treats each byte of the binary data as unsigned. 14056 // 14057 // If ScanIndexForward is true, DynamoDB returns the results in the order in 14058 // which they are stored (by sort key value). This is the default behavior. 14059 // If ScanIndexForward is false, DynamoDB reads the results in reverse order 14060 // by sort key value, and then returns the results to the client. 14061 ScanIndexForward *bool `type:"boolean"` 14062 14063 // The attributes to be returned in the result. You can retrieve all item attributes, 14064 // specific item attributes, the count of matching items, or in the case of 14065 // an index, some or all of the attributes projected into the index. 14066 // 14067 // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified 14068 // table or index. If you query a local secondary index, then for each matching 14069 // item in the index, DynamoDB fetches the entire item from the parent table. 14070 // If the index is configured to project all item attributes, then all of 14071 // the data can be obtained from the local secondary index, and no fetching 14072 // is required. 14073 // 14074 // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves 14075 // all attributes that have been projected into the index. If the index is 14076 // configured to project all attributes, this return value is equivalent 14077 // to specifying ALL_ATTRIBUTES. 14078 // 14079 // * COUNT - Returns the number of matching items, rather than the matching 14080 // items themselves. 14081 // 14082 // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. 14083 // This return value is equivalent to specifying AttributesToGet without 14084 // specifying any value for Select. If you query or scan a local secondary 14085 // index and request only attributes that are projected into that index, 14086 // the operation will read only the index and not the table. If any of the 14087 // requested attributes are not projected into the local secondary index, 14088 // DynamoDB fetches each of these attributes from the parent table. This 14089 // extra fetching incurs additional throughput cost and latency. If you query 14090 // or scan a global secondary index, you can only request attributes that 14091 // are projected into the index. Global secondary index queries cannot fetch 14092 // attributes from the parent table. 14093 // 14094 // If neither Select nor AttributesToGet are specified, DynamoDB defaults to 14095 // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when 14096 // accessing an index. You cannot use both Select and AttributesToGet together 14097 // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. 14098 // (This usage is equivalent to specifying AttributesToGet without any value 14099 // for Select.) 14100 // 14101 // If you use the ProjectionExpression parameter, then the value for Select 14102 // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an 14103 // error. 14104 Select *string `type:"string" enum:"Select"` 14105 14106 // The name of the table containing the requested items. 14107 // 14108 // TableName is a required field 14109 TableName *string `min:"3" type:"string" required:"true"` 14110} 14111 14112// String returns the string representation 14113func (s QueryInput) String() string { 14114 return awsutil.Prettify(s) 14115} 14116 14117// GoString returns the string representation 14118func (s QueryInput) GoString() string { 14119 return s.String() 14120} 14121 14122// Validate inspects the fields of the type to determine if they are valid. 14123func (s *QueryInput) Validate() error { 14124 invalidParams := request.ErrInvalidParams{Context: "QueryInput"} 14125 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 14126 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 14127 } 14128 if s.IndexName != nil && len(*s.IndexName) < 3 { 14129 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14130 } 14131 if s.Limit != nil && *s.Limit < 1 { 14132 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 14133 } 14134 if s.TableName == nil { 14135 invalidParams.Add(request.NewErrParamRequired("TableName")) 14136 } 14137 if s.TableName != nil && len(*s.TableName) < 3 { 14138 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 14139 } 14140 if s.KeyConditions != nil { 14141 for i, v := range s.KeyConditions { 14142 if v == nil { 14143 continue 14144 } 14145 if err := v.Validate(); err != nil { 14146 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeyConditions", i), err.(request.ErrInvalidParams)) 14147 } 14148 } 14149 } 14150 if s.QueryFilter != nil { 14151 for i, v := range s.QueryFilter { 14152 if v == nil { 14153 continue 14154 } 14155 if err := v.Validate(); err != nil { 14156 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryFilter", i), err.(request.ErrInvalidParams)) 14157 } 14158 } 14159 } 14160 14161 if invalidParams.Len() > 0 { 14162 return invalidParams 14163 } 14164 return nil 14165} 14166 14167// SetAttributesToGet sets the AttributesToGet field's value. 14168func (s *QueryInput) SetAttributesToGet(v []*string) *QueryInput { 14169 s.AttributesToGet = v 14170 return s 14171} 14172 14173// SetConditionalOperator sets the ConditionalOperator field's value. 14174func (s *QueryInput) SetConditionalOperator(v string) *QueryInput { 14175 s.ConditionalOperator = &v 14176 return s 14177} 14178 14179// SetConsistentRead sets the ConsistentRead field's value. 14180func (s *QueryInput) SetConsistentRead(v bool) *QueryInput { 14181 s.ConsistentRead = &v 14182 return s 14183} 14184 14185// SetExclusiveStartKey sets the ExclusiveStartKey field's value. 14186func (s *QueryInput) SetExclusiveStartKey(v map[string]*AttributeValue) *QueryInput { 14187 s.ExclusiveStartKey = v 14188 return s 14189} 14190 14191// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 14192func (s *QueryInput) SetExpressionAttributeNames(v map[string]*string) *QueryInput { 14193 s.ExpressionAttributeNames = v 14194 return s 14195} 14196 14197// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 14198func (s *QueryInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *QueryInput { 14199 s.ExpressionAttributeValues = v 14200 return s 14201} 14202 14203// SetFilterExpression sets the FilterExpression field's value. 14204func (s *QueryInput) SetFilterExpression(v string) *QueryInput { 14205 s.FilterExpression = &v 14206 return s 14207} 14208 14209// SetIndexName sets the IndexName field's value. 14210func (s *QueryInput) SetIndexName(v string) *QueryInput { 14211 s.IndexName = &v 14212 return s 14213} 14214 14215// SetKeyConditionExpression sets the KeyConditionExpression field's value. 14216func (s *QueryInput) SetKeyConditionExpression(v string) *QueryInput { 14217 s.KeyConditionExpression = &v 14218 return s 14219} 14220 14221// SetKeyConditions sets the KeyConditions field's value. 14222func (s *QueryInput) SetKeyConditions(v map[string]*Condition) *QueryInput { 14223 s.KeyConditions = v 14224 return s 14225} 14226 14227// SetLimit sets the Limit field's value. 14228func (s *QueryInput) SetLimit(v int64) *QueryInput { 14229 s.Limit = &v 14230 return s 14231} 14232 14233// SetProjectionExpression sets the ProjectionExpression field's value. 14234func (s *QueryInput) SetProjectionExpression(v string) *QueryInput { 14235 s.ProjectionExpression = &v 14236 return s 14237} 14238 14239// SetQueryFilter sets the QueryFilter field's value. 14240func (s *QueryInput) SetQueryFilter(v map[string]*Condition) *QueryInput { 14241 s.QueryFilter = v 14242 return s 14243} 14244 14245// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 14246func (s *QueryInput) SetReturnConsumedCapacity(v string) *QueryInput { 14247 s.ReturnConsumedCapacity = &v 14248 return s 14249} 14250 14251// SetScanIndexForward sets the ScanIndexForward field's value. 14252func (s *QueryInput) SetScanIndexForward(v bool) *QueryInput { 14253 s.ScanIndexForward = &v 14254 return s 14255} 14256 14257// SetSelect sets the Select field's value. 14258func (s *QueryInput) SetSelect(v string) *QueryInput { 14259 s.Select = &v 14260 return s 14261} 14262 14263// SetTableName sets the TableName field's value. 14264func (s *QueryInput) SetTableName(v string) *QueryInput { 14265 s.TableName = &v 14266 return s 14267} 14268 14269// Represents the output of a Query operation. 14270type QueryOutput struct { 14271 _ struct{} `type:"structure"` 14272 14273 // The capacity units consumed by the Query operation. The data returned includes 14274 // the total provisioned throughput consumed, along with statistics for the 14275 // table and any indexes involved in the operation. ConsumedCapacity is only 14276 // returned if the ReturnConsumedCapacity parameter was specified. For more 14277 // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 14278 // in the Amazon DynamoDB Developer Guide. 14279 ConsumedCapacity *ConsumedCapacity `type:"structure"` 14280 14281 // The number of items in the response. 14282 // 14283 // If you used a QueryFilter in the request, then Count is the number of items 14284 // returned after the filter was applied, and ScannedCount is the number of 14285 // matching items before the filter was applied. 14286 // 14287 // If you did not use a filter in the request, then Count and ScannedCount are 14288 // the same. 14289 Count *int64 `type:"integer"` 14290 14291 // An array of item attributes that match the query criteria. Each element in 14292 // this array consists of an attribute name and the value for that attribute. 14293 Items []map[string]*AttributeValue `type:"list"` 14294 14295 // The primary key of the item where the operation stopped, inclusive of the 14296 // previous result set. Use this value to start a new operation, excluding this 14297 // value in the new request. 14298 // 14299 // If LastEvaluatedKey is empty, then the "last page" of results has been processed 14300 // and there is no more data to be retrieved. 14301 // 14302 // If LastEvaluatedKey is not empty, it does not necessarily mean that there 14303 // is more data in the result set. The only way to know when you have reached 14304 // the end of the result set is when LastEvaluatedKey is empty. 14305 LastEvaluatedKey map[string]*AttributeValue `type:"map"` 14306 14307 // The number of items evaluated, before any QueryFilter is applied. A high 14308 // ScannedCount value with few, or no, Count results indicates an inefficient 14309 // Query operation. For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) 14310 // in the Amazon DynamoDB Developer Guide. 14311 // 14312 // If you did not use a filter in the request, then ScannedCount is the same 14313 // as Count. 14314 ScannedCount *int64 `type:"integer"` 14315} 14316 14317// String returns the string representation 14318func (s QueryOutput) String() string { 14319 return awsutil.Prettify(s) 14320} 14321 14322// GoString returns the string representation 14323func (s QueryOutput) GoString() string { 14324 return s.String() 14325} 14326 14327// SetConsumedCapacity sets the ConsumedCapacity field's value. 14328func (s *QueryOutput) SetConsumedCapacity(v *ConsumedCapacity) *QueryOutput { 14329 s.ConsumedCapacity = v 14330 return s 14331} 14332 14333// SetCount sets the Count field's value. 14334func (s *QueryOutput) SetCount(v int64) *QueryOutput { 14335 s.Count = &v 14336 return s 14337} 14338 14339// SetItems sets the Items field's value. 14340func (s *QueryOutput) SetItems(v []map[string]*AttributeValue) *QueryOutput { 14341 s.Items = v 14342 return s 14343} 14344 14345// SetLastEvaluatedKey sets the LastEvaluatedKey field's value. 14346func (s *QueryOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *QueryOutput { 14347 s.LastEvaluatedKey = v 14348 return s 14349} 14350 14351// SetScannedCount sets the ScannedCount field's value. 14352func (s *QueryOutput) SetScannedCount(v int64) *QueryOutput { 14353 s.ScannedCount = &v 14354 return s 14355} 14356 14357// Represents the properties of a replica. 14358type Replica struct { 14359 _ struct{} `type:"structure"` 14360 14361 // The Region where the replica needs to be created. 14362 RegionName *string `type:"string"` 14363} 14364 14365// String returns the string representation 14366func (s Replica) String() string { 14367 return awsutil.Prettify(s) 14368} 14369 14370// GoString returns the string representation 14371func (s Replica) GoString() string { 14372 return s.String() 14373} 14374 14375// SetRegionName sets the RegionName field's value. 14376func (s *Replica) SetRegionName(v string) *Replica { 14377 s.RegionName = &v 14378 return s 14379} 14380 14381// The specified replica is already part of the global table. 14382type ReplicaAlreadyExistsException struct { 14383 _ struct{} `type:"structure"` 14384 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14385 14386 Message_ *string `locationName:"message" type:"string"` 14387} 14388 14389// String returns the string representation 14390func (s ReplicaAlreadyExistsException) String() string { 14391 return awsutil.Prettify(s) 14392} 14393 14394// GoString returns the string representation 14395func (s ReplicaAlreadyExistsException) GoString() string { 14396 return s.String() 14397} 14398 14399func newErrorReplicaAlreadyExistsException(v protocol.ResponseMetadata) error { 14400 return &ReplicaAlreadyExistsException{ 14401 RespMetadata: v, 14402 } 14403} 14404 14405// Code returns the exception type name. 14406func (s *ReplicaAlreadyExistsException) Code() string { 14407 return "ReplicaAlreadyExistsException" 14408} 14409 14410// Message returns the exception's message. 14411func (s *ReplicaAlreadyExistsException) Message() string { 14412 if s.Message_ != nil { 14413 return *s.Message_ 14414 } 14415 return "" 14416} 14417 14418// OrigErr always returns nil, satisfies awserr.Error interface. 14419func (s *ReplicaAlreadyExistsException) OrigErr() error { 14420 return nil 14421} 14422 14423func (s *ReplicaAlreadyExistsException) Error() string { 14424 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14425} 14426 14427// Status code returns the HTTP status code for the request's response error. 14428func (s *ReplicaAlreadyExistsException) StatusCode() int { 14429 return s.RespMetadata.StatusCode 14430} 14431 14432// RequestID returns the service's response RequestID for request. 14433func (s *ReplicaAlreadyExistsException) RequestID() string { 14434 return s.RespMetadata.RequestID 14435} 14436 14437// Represents the auto scaling settings of the replica. 14438type ReplicaAutoScalingDescription struct { 14439 _ struct{} `type:"structure"` 14440 14441 // Replica-specific global secondary index auto scaling settings. 14442 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexAutoScalingDescription `type:"list"` 14443 14444 // The Region where the replica exists. 14445 RegionName *string `type:"string"` 14446 14447 // Represents the auto scaling settings for a global table or global secondary 14448 // index. 14449 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14450 14451 // Represents the auto scaling settings for a global table or global secondary 14452 // index. 14453 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14454 14455 // The current state of the replica: 14456 // 14457 // * CREATING - The replica is being created. 14458 // 14459 // * UPDATING - The replica is being updated. 14460 // 14461 // * DELETING - The replica is being deleted. 14462 // 14463 // * ACTIVE - The replica is ready for use. 14464 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 14465} 14466 14467// String returns the string representation 14468func (s ReplicaAutoScalingDescription) String() string { 14469 return awsutil.Prettify(s) 14470} 14471 14472// GoString returns the string representation 14473func (s ReplicaAutoScalingDescription) GoString() string { 14474 return s.String() 14475} 14476 14477// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 14478func (s *ReplicaAutoScalingDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexAutoScalingDescription) *ReplicaAutoScalingDescription { 14479 s.GlobalSecondaryIndexes = v 14480 return s 14481} 14482 14483// SetRegionName sets the RegionName field's value. 14484func (s *ReplicaAutoScalingDescription) SetRegionName(v string) *ReplicaAutoScalingDescription { 14485 s.RegionName = &v 14486 return s 14487} 14488 14489// SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value. 14490func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { 14491 s.ReplicaProvisionedReadCapacityAutoScalingSettings = v 14492 return s 14493} 14494 14495// SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value. 14496func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { 14497 s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v 14498 return s 14499} 14500 14501// SetReplicaStatus sets the ReplicaStatus field's value. 14502func (s *ReplicaAutoScalingDescription) SetReplicaStatus(v string) *ReplicaAutoScalingDescription { 14503 s.ReplicaStatus = &v 14504 return s 14505} 14506 14507// Represents the auto scaling settings of a replica that will be modified. 14508type ReplicaAutoScalingUpdate struct { 14509 _ struct{} `type:"structure"` 14510 14511 // The Region where the replica exists. 14512 // 14513 // RegionName is a required field 14514 RegionName *string `type:"string" required:"true"` 14515 14516 // Represents the auto scaling settings of global secondary indexes that will 14517 // be modified. 14518 ReplicaGlobalSecondaryIndexUpdates []*ReplicaGlobalSecondaryIndexAutoScalingUpdate `type:"list"` 14519 14520 // Represents the auto scaling settings to be modified for a global table or 14521 // global secondary index. 14522 ReplicaProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 14523} 14524 14525// String returns the string representation 14526func (s ReplicaAutoScalingUpdate) String() string { 14527 return awsutil.Prettify(s) 14528} 14529 14530// GoString returns the string representation 14531func (s ReplicaAutoScalingUpdate) GoString() string { 14532 return s.String() 14533} 14534 14535// Validate inspects the fields of the type to determine if they are valid. 14536func (s *ReplicaAutoScalingUpdate) Validate() error { 14537 invalidParams := request.ErrInvalidParams{Context: "ReplicaAutoScalingUpdate"} 14538 if s.RegionName == nil { 14539 invalidParams.Add(request.NewErrParamRequired("RegionName")) 14540 } 14541 if s.ReplicaGlobalSecondaryIndexUpdates != nil { 14542 for i, v := range s.ReplicaGlobalSecondaryIndexUpdates { 14543 if v == nil { 14544 continue 14545 } 14546 if err := v.Validate(); err != nil { 14547 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 14548 } 14549 } 14550 } 14551 if s.ReplicaProvisionedReadCapacityAutoScalingUpdate != nil { 14552 if err := s.ReplicaProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { 14553 invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 14554 } 14555 } 14556 14557 if invalidParams.Len() > 0 { 14558 return invalidParams 14559 } 14560 return nil 14561} 14562 14563// SetRegionName sets the RegionName field's value. 14564func (s *ReplicaAutoScalingUpdate) SetRegionName(v string) *ReplicaAutoScalingUpdate { 14565 s.RegionName = &v 14566 return s 14567} 14568 14569// SetReplicaGlobalSecondaryIndexUpdates sets the ReplicaGlobalSecondaryIndexUpdates field's value. 14570func (s *ReplicaAutoScalingUpdate) SetReplicaGlobalSecondaryIndexUpdates(v []*ReplicaGlobalSecondaryIndexAutoScalingUpdate) *ReplicaAutoScalingUpdate { 14571 s.ReplicaGlobalSecondaryIndexUpdates = v 14572 return s 14573} 14574 14575// SetReplicaProvisionedReadCapacityAutoScalingUpdate sets the ReplicaProvisionedReadCapacityAutoScalingUpdate field's value. 14576func (s *ReplicaAutoScalingUpdate) SetReplicaProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaAutoScalingUpdate { 14577 s.ReplicaProvisionedReadCapacityAutoScalingUpdate = v 14578 return s 14579} 14580 14581// Contains the details of the replica. 14582type ReplicaDescription struct { 14583 _ struct{} `type:"structure"` 14584 14585 // Replica-specific global secondary index settings. 14586 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexDescription `type:"list"` 14587 14588 // The AWS KMS customer master key (CMK) of the replica that will be used for 14589 // AWS KMS encryption. 14590 KMSMasterKeyId *string `type:"string"` 14591 14592 // Replica-specific provisioned throughput. If not described, uses the source 14593 // table's provisioned throughput settings. 14594 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 14595 14596 // The name of the Region. 14597 RegionName *string `type:"string"` 14598 14599 // The current state of the replica: 14600 // 14601 // * CREATING - The replica is being created. 14602 // 14603 // * UPDATING - The replica is being updated. 14604 // 14605 // * DELETING - The replica is being deleted. 14606 // 14607 // * ACTIVE - The replica is ready for use. 14608 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 14609 14610 // Detailed information about the replica status. 14611 ReplicaStatusDescription *string `type:"string"` 14612 14613 // Specifies the progress of a Create, Update, or Delete action on the replica 14614 // as a percentage. 14615 ReplicaStatusPercentProgress *string `type:"string"` 14616} 14617 14618// String returns the string representation 14619func (s ReplicaDescription) String() string { 14620 return awsutil.Prettify(s) 14621} 14622 14623// GoString returns the string representation 14624func (s ReplicaDescription) GoString() string { 14625 return s.String() 14626} 14627 14628// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 14629func (s *ReplicaDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexDescription) *ReplicaDescription { 14630 s.GlobalSecondaryIndexes = v 14631 return s 14632} 14633 14634// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 14635func (s *ReplicaDescription) SetKMSMasterKeyId(v string) *ReplicaDescription { 14636 s.KMSMasterKeyId = &v 14637 return s 14638} 14639 14640// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 14641func (s *ReplicaDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaDescription { 14642 s.ProvisionedThroughputOverride = v 14643 return s 14644} 14645 14646// SetRegionName sets the RegionName field's value. 14647func (s *ReplicaDescription) SetRegionName(v string) *ReplicaDescription { 14648 s.RegionName = &v 14649 return s 14650} 14651 14652// SetReplicaStatus sets the ReplicaStatus field's value. 14653func (s *ReplicaDescription) SetReplicaStatus(v string) *ReplicaDescription { 14654 s.ReplicaStatus = &v 14655 return s 14656} 14657 14658// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value. 14659func (s *ReplicaDescription) SetReplicaStatusDescription(v string) *ReplicaDescription { 14660 s.ReplicaStatusDescription = &v 14661 return s 14662} 14663 14664// SetReplicaStatusPercentProgress sets the ReplicaStatusPercentProgress field's value. 14665func (s *ReplicaDescription) SetReplicaStatusPercentProgress(v string) *ReplicaDescription { 14666 s.ReplicaStatusPercentProgress = &v 14667 return s 14668} 14669 14670// Represents the properties of a replica global secondary index. 14671type ReplicaGlobalSecondaryIndex struct { 14672 _ struct{} `type:"structure"` 14673 14674 // The name of the global secondary index. 14675 // 14676 // IndexName is a required field 14677 IndexName *string `min:"3" type:"string" required:"true"` 14678 14679 // Replica table GSI-specific provisioned throughput. If not specified, uses 14680 // the source table GSI's read capacity settings. 14681 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 14682} 14683 14684// String returns the string representation 14685func (s ReplicaGlobalSecondaryIndex) String() string { 14686 return awsutil.Prettify(s) 14687} 14688 14689// GoString returns the string representation 14690func (s ReplicaGlobalSecondaryIndex) GoString() string { 14691 return s.String() 14692} 14693 14694// Validate inspects the fields of the type to determine if they are valid. 14695func (s *ReplicaGlobalSecondaryIndex) Validate() error { 14696 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndex"} 14697 if s.IndexName == nil { 14698 invalidParams.Add(request.NewErrParamRequired("IndexName")) 14699 } 14700 if s.IndexName != nil && len(*s.IndexName) < 3 { 14701 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14702 } 14703 if s.ProvisionedThroughputOverride != nil { 14704 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 14705 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 14706 } 14707 } 14708 14709 if invalidParams.Len() > 0 { 14710 return invalidParams 14711 } 14712 return nil 14713} 14714 14715// SetIndexName sets the IndexName field's value. 14716func (s *ReplicaGlobalSecondaryIndex) SetIndexName(v string) *ReplicaGlobalSecondaryIndex { 14717 s.IndexName = &v 14718 return s 14719} 14720 14721// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 14722func (s *ReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndex { 14723 s.ProvisionedThroughputOverride = v 14724 return s 14725} 14726 14727// Represents the auto scaling configuration for a replica global secondary 14728// index. 14729type ReplicaGlobalSecondaryIndexAutoScalingDescription struct { 14730 _ struct{} `type:"structure"` 14731 14732 // The name of the global secondary index. 14733 IndexName *string `min:"3" type:"string"` 14734 14735 // The current state of the replica global secondary index: 14736 // 14737 // * CREATING - The index is being created. 14738 // 14739 // * UPDATING - The index is being updated. 14740 // 14741 // * DELETING - The index is being deleted. 14742 // 14743 // * ACTIVE - The index is ready for use. 14744 IndexStatus *string `type:"string" enum:"IndexStatus"` 14745 14746 // Represents the auto scaling settings for a global table or global secondary 14747 // index. 14748 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14749 14750 // Represents the auto scaling settings for a global table or global secondary 14751 // index. 14752 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14753} 14754 14755// String returns the string representation 14756func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) String() string { 14757 return awsutil.Prettify(s) 14758} 14759 14760// GoString returns the string representation 14761func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) GoString() string { 14762 return s.String() 14763} 14764 14765// SetIndexName sets the IndexName field's value. 14766func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 14767 s.IndexName = &v 14768 return s 14769} 14770 14771// SetIndexStatus sets the IndexStatus field's value. 14772func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 14773 s.IndexStatus = &v 14774 return s 14775} 14776 14777// SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value. 14778func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 14779 s.ProvisionedReadCapacityAutoScalingSettings = v 14780 return s 14781} 14782 14783// SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value. 14784func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { 14785 s.ProvisionedWriteCapacityAutoScalingSettings = v 14786 return s 14787} 14788 14789// Represents the auto scaling settings of a global secondary index for a replica 14790// that will be modified. 14791type ReplicaGlobalSecondaryIndexAutoScalingUpdate struct { 14792 _ struct{} `type:"structure"` 14793 14794 // The name of the global secondary index. 14795 IndexName *string `min:"3" type:"string"` 14796 14797 // Represents the auto scaling settings to be modified for a global table or 14798 // global secondary index. 14799 ProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 14800} 14801 14802// String returns the string representation 14803func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) String() string { 14804 return awsutil.Prettify(s) 14805} 14806 14807// GoString returns the string representation 14808func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) GoString() string { 14809 return s.String() 14810} 14811 14812// Validate inspects the fields of the type to determine if they are valid. 14813func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) Validate() error { 14814 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexAutoScalingUpdate"} 14815 if s.IndexName != nil && len(*s.IndexName) < 3 { 14816 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14817 } 14818 if s.ProvisionedReadCapacityAutoScalingUpdate != nil { 14819 if err := s.ProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { 14820 invalidParams.AddNested("ProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 14821 } 14822 } 14823 14824 if invalidParams.Len() > 0 { 14825 return invalidParams 14826 } 14827 return nil 14828} 14829 14830// SetIndexName sets the IndexName field's value. 14831func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { 14832 s.IndexName = &v 14833 return s 14834} 14835 14836// SetProvisionedReadCapacityAutoScalingUpdate sets the ProvisionedReadCapacityAutoScalingUpdate field's value. 14837func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { 14838 s.ProvisionedReadCapacityAutoScalingUpdate = v 14839 return s 14840} 14841 14842// Represents the properties of a replica global secondary index. 14843type ReplicaGlobalSecondaryIndexDescription struct { 14844 _ struct{} `type:"structure"` 14845 14846 // The name of the global secondary index. 14847 IndexName *string `min:"3" type:"string"` 14848 14849 // If not described, uses the source table GSI's read capacity settings. 14850 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 14851} 14852 14853// String returns the string representation 14854func (s ReplicaGlobalSecondaryIndexDescription) String() string { 14855 return awsutil.Prettify(s) 14856} 14857 14858// GoString returns the string representation 14859func (s ReplicaGlobalSecondaryIndexDescription) GoString() string { 14860 return s.String() 14861} 14862 14863// SetIndexName sets the IndexName field's value. 14864func (s *ReplicaGlobalSecondaryIndexDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexDescription { 14865 s.IndexName = &v 14866 return s 14867} 14868 14869// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 14870func (s *ReplicaGlobalSecondaryIndexDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndexDescription { 14871 s.ProvisionedThroughputOverride = v 14872 return s 14873} 14874 14875// Represents the properties of a global secondary index. 14876type ReplicaGlobalSecondaryIndexSettingsDescription struct { 14877 _ struct{} `type:"structure"` 14878 14879 // The name of the global secondary index. The name must be unique among all 14880 // other indexes on this table. 14881 // 14882 // IndexName is a required field 14883 IndexName *string `min:"3" type:"string" required:"true"` 14884 14885 // The current status of the global secondary index: 14886 // 14887 // * CREATING - The global secondary index is being created. 14888 // 14889 // * UPDATING - The global secondary index is being updated. 14890 // 14891 // * DELETING - The global secondary index is being deleted. 14892 // 14893 // * ACTIVE - The global secondary index is ready for use. 14894 IndexStatus *string `type:"string" enum:"IndexStatus"` 14895 14896 // Auto scaling settings for a global secondary index replica's read capacity 14897 // units. 14898 ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14899 14900 // The maximum number of strongly consistent reads consumed per second before 14901 // DynamoDB returns a ThrottlingException. 14902 ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 14903 14904 // Auto scaling settings for a global secondary index replica's write capacity 14905 // units. 14906 ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 14907 14908 // The maximum number of writes consumed per second before DynamoDB returns 14909 // a ThrottlingException. 14910 ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 14911} 14912 14913// String returns the string representation 14914func (s ReplicaGlobalSecondaryIndexSettingsDescription) String() string { 14915 return awsutil.Prettify(s) 14916} 14917 14918// GoString returns the string representation 14919func (s ReplicaGlobalSecondaryIndexSettingsDescription) GoString() string { 14920 return s.String() 14921} 14922 14923// SetIndexName sets the IndexName field's value. 14924func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsDescription { 14925 s.IndexName = &v 14926 return s 14927} 14928 14929// SetIndexStatus sets the IndexStatus field's value. 14930func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexSettingsDescription { 14931 s.IndexStatus = &v 14932 return s 14933} 14934 14935// SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value. 14936func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription { 14937 s.ProvisionedReadCapacityAutoScalingSettings = v 14938 return s 14939} 14940 14941// SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value. 14942func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription { 14943 s.ProvisionedReadCapacityUnits = &v 14944 return s 14945} 14946 14947// SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value. 14948func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription { 14949 s.ProvisionedWriteCapacityAutoScalingSettings = v 14950 return s 14951} 14952 14953// SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value. 14954func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription { 14955 s.ProvisionedWriteCapacityUnits = &v 14956 return s 14957} 14958 14959// Represents the settings of a global secondary index for a global table that 14960// will be modified. 14961type ReplicaGlobalSecondaryIndexSettingsUpdate struct { 14962 _ struct{} `type:"structure"` 14963 14964 // The name of the global secondary index. The name must be unique among all 14965 // other indexes on this table. 14966 // 14967 // IndexName is a required field 14968 IndexName *string `min:"3" type:"string" required:"true"` 14969 14970 // Auto scaling settings for managing a global secondary index replica's read 14971 // capacity units. 14972 ProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 14973 14974 // The maximum number of strongly consistent reads consumed per second before 14975 // DynamoDB returns a ThrottlingException. 14976 ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 14977} 14978 14979// String returns the string representation 14980func (s ReplicaGlobalSecondaryIndexSettingsUpdate) String() string { 14981 return awsutil.Prettify(s) 14982} 14983 14984// GoString returns the string representation 14985func (s ReplicaGlobalSecondaryIndexSettingsUpdate) GoString() string { 14986 return s.String() 14987} 14988 14989// Validate inspects the fields of the type to determine if they are valid. 14990func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) Validate() error { 14991 invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexSettingsUpdate"} 14992 if s.IndexName == nil { 14993 invalidParams.Add(request.NewErrParamRequired("IndexName")) 14994 } 14995 if s.IndexName != nil && len(*s.IndexName) < 3 { 14996 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 14997 } 14998 if s.ProvisionedReadCapacityUnits != nil && *s.ProvisionedReadCapacityUnits < 1 { 14999 invalidParams.Add(request.NewErrParamMinValue("ProvisionedReadCapacityUnits", 1)) 15000 } 15001 if s.ProvisionedReadCapacityAutoScalingSettingsUpdate != nil { 15002 if err := s.ProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 15003 invalidParams.AddNested("ProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 15004 } 15005 } 15006 15007 if invalidParams.Len() > 0 { 15008 return invalidParams 15009 } 15010 return nil 15011} 15012 15013// SetIndexName sets the IndexName field's value. 15014func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsUpdate { 15015 s.IndexName = &v 15016 return s 15017} 15018 15019// SetProvisionedReadCapacityAutoScalingSettingsUpdate sets the ProvisionedReadCapacityAutoScalingSettingsUpdate field's value. 15020func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexSettingsUpdate { 15021 s.ProvisionedReadCapacityAutoScalingSettingsUpdate = v 15022 return s 15023} 15024 15025// SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value. 15026func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsUpdate { 15027 s.ProvisionedReadCapacityUnits = &v 15028 return s 15029} 15030 15031// The specified replica is no longer part of the global table. 15032type ReplicaNotFoundException struct { 15033 _ struct{} `type:"structure"` 15034 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15035 15036 Message_ *string `locationName:"message" type:"string"` 15037} 15038 15039// String returns the string representation 15040func (s ReplicaNotFoundException) String() string { 15041 return awsutil.Prettify(s) 15042} 15043 15044// GoString returns the string representation 15045func (s ReplicaNotFoundException) GoString() string { 15046 return s.String() 15047} 15048 15049func newErrorReplicaNotFoundException(v protocol.ResponseMetadata) error { 15050 return &ReplicaNotFoundException{ 15051 RespMetadata: v, 15052 } 15053} 15054 15055// Code returns the exception type name. 15056func (s *ReplicaNotFoundException) Code() string { 15057 return "ReplicaNotFoundException" 15058} 15059 15060// Message returns the exception's message. 15061func (s *ReplicaNotFoundException) 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. 15069func (s *ReplicaNotFoundException) OrigErr() error { 15070 return nil 15071} 15072 15073func (s *ReplicaNotFoundException) 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. 15078func (s *ReplicaNotFoundException) StatusCode() int { 15079 return s.RespMetadata.StatusCode 15080} 15081 15082// RequestID returns the service's response RequestID for request. 15083func (s *ReplicaNotFoundException) RequestID() string { 15084 return s.RespMetadata.RequestID 15085} 15086 15087// Represents the properties of a replica. 15088type ReplicaSettingsDescription struct { 15089 _ struct{} `type:"structure"` 15090 15091 // The Region name of the replica. 15092 // 15093 // RegionName is a required field 15094 RegionName *string `type:"string" required:"true"` 15095 15096 // The read/write capacity mode of the replica. 15097 ReplicaBillingModeSummary *BillingModeSummary `type:"structure"` 15098 15099 // Replica global secondary index settings for the global table. 15100 ReplicaGlobalSecondaryIndexSettings []*ReplicaGlobalSecondaryIndexSettingsDescription `type:"list"` 15101 15102 // Auto scaling settings for a global table replica's read capacity units. 15103 ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 15104 15105 // The maximum number of strongly consistent reads consumed per second before 15106 // DynamoDB returns a ThrottlingException. For more information, see Specifying 15107 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 15108 // in the Amazon DynamoDB Developer Guide. 15109 ReplicaProvisionedReadCapacityUnits *int64 `type:"long"` 15110 15111 // Auto scaling settings for a global table replica's write capacity units. 15112 ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` 15113 15114 // The maximum number of writes consumed per second before DynamoDB returns 15115 // a ThrottlingException. For more information, see Specifying Read and Write 15116 // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 15117 // in the Amazon DynamoDB Developer Guide. 15118 ReplicaProvisionedWriteCapacityUnits *int64 `type:"long"` 15119 15120 // The current state of the Region: 15121 // 15122 // * CREATING - The Region is being created. 15123 // 15124 // * UPDATING - The Region is being updated. 15125 // 15126 // * DELETING - The Region is being deleted. 15127 // 15128 // * ACTIVE - The Region is ready for use. 15129 ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` 15130} 15131 15132// String returns the string representation 15133func (s ReplicaSettingsDescription) String() string { 15134 return awsutil.Prettify(s) 15135} 15136 15137// GoString returns the string representation 15138func (s ReplicaSettingsDescription) GoString() string { 15139 return s.String() 15140} 15141 15142// SetRegionName sets the RegionName field's value. 15143func (s *ReplicaSettingsDescription) SetRegionName(v string) *ReplicaSettingsDescription { 15144 s.RegionName = &v 15145 return s 15146} 15147 15148// SetReplicaBillingModeSummary sets the ReplicaBillingModeSummary field's value. 15149func (s *ReplicaSettingsDescription) SetReplicaBillingModeSummary(v *BillingModeSummary) *ReplicaSettingsDescription { 15150 s.ReplicaBillingModeSummary = v 15151 return s 15152} 15153 15154// SetReplicaGlobalSecondaryIndexSettings sets the ReplicaGlobalSecondaryIndexSettings field's value. 15155func (s *ReplicaSettingsDescription) SetReplicaGlobalSecondaryIndexSettings(v []*ReplicaGlobalSecondaryIndexSettingsDescription) *ReplicaSettingsDescription { 15156 s.ReplicaGlobalSecondaryIndexSettings = v 15157 return s 15158} 15159 15160// SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value. 15161func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription { 15162 s.ReplicaProvisionedReadCapacityAutoScalingSettings = v 15163 return s 15164} 15165 15166// SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value. 15167func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsDescription { 15168 s.ReplicaProvisionedReadCapacityUnits = &v 15169 return s 15170} 15171 15172// SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value. 15173func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription { 15174 s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v 15175 return s 15176} 15177 15178// SetReplicaProvisionedWriteCapacityUnits sets the ReplicaProvisionedWriteCapacityUnits field's value. 15179func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityUnits(v int64) *ReplicaSettingsDescription { 15180 s.ReplicaProvisionedWriteCapacityUnits = &v 15181 return s 15182} 15183 15184// SetReplicaStatus sets the ReplicaStatus field's value. 15185func (s *ReplicaSettingsDescription) SetReplicaStatus(v string) *ReplicaSettingsDescription { 15186 s.ReplicaStatus = &v 15187 return s 15188} 15189 15190// Represents the settings for a global table in a Region that will be modified. 15191type ReplicaSettingsUpdate struct { 15192 _ struct{} `type:"structure"` 15193 15194 // The Region of the replica to be added. 15195 // 15196 // RegionName is a required field 15197 RegionName *string `type:"string" required:"true"` 15198 15199 // Represents the settings of a global secondary index for a global table that 15200 // will be modified. 15201 ReplicaGlobalSecondaryIndexSettingsUpdate []*ReplicaGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"` 15202 15203 // Auto scaling settings for managing a global table replica's read capacity 15204 // units. 15205 ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 15206 15207 // The maximum number of strongly consistent reads consumed per second before 15208 // DynamoDB returns a ThrottlingException. For more information, see Specifying 15209 // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) 15210 // in the Amazon DynamoDB Developer Guide. 15211 ReplicaProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` 15212} 15213 15214// String returns the string representation 15215func (s ReplicaSettingsUpdate) String() string { 15216 return awsutil.Prettify(s) 15217} 15218 15219// GoString returns the string representation 15220func (s ReplicaSettingsUpdate) GoString() string { 15221 return s.String() 15222} 15223 15224// Validate inspects the fields of the type to determine if they are valid. 15225func (s *ReplicaSettingsUpdate) Validate() error { 15226 invalidParams := request.ErrInvalidParams{Context: "ReplicaSettingsUpdate"} 15227 if s.RegionName == nil { 15228 invalidParams.Add(request.NewErrParamRequired("RegionName")) 15229 } 15230 if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil && len(s.ReplicaGlobalSecondaryIndexSettingsUpdate) < 1 { 15231 invalidParams.Add(request.NewErrParamMinLen("ReplicaGlobalSecondaryIndexSettingsUpdate", 1)) 15232 } 15233 if s.ReplicaProvisionedReadCapacityUnits != nil && *s.ReplicaProvisionedReadCapacityUnits < 1 { 15234 invalidParams.Add(request.NewErrParamMinValue("ReplicaProvisionedReadCapacityUnits", 1)) 15235 } 15236 if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil { 15237 for i, v := range s.ReplicaGlobalSecondaryIndexSettingsUpdate { 15238 if v == nil { 15239 continue 15240 } 15241 if err := v.Validate(); err != nil { 15242 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams)) 15243 } 15244 } 15245 } 15246 if s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate != nil { 15247 if err := s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 15248 invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 15249 } 15250 } 15251 15252 if invalidParams.Len() > 0 { 15253 return invalidParams 15254 } 15255 return nil 15256} 15257 15258// SetRegionName sets the RegionName field's value. 15259func (s *ReplicaSettingsUpdate) SetRegionName(v string) *ReplicaSettingsUpdate { 15260 s.RegionName = &v 15261 return s 15262} 15263 15264// SetReplicaGlobalSecondaryIndexSettingsUpdate sets the ReplicaGlobalSecondaryIndexSettingsUpdate field's value. 15265func (s *ReplicaSettingsUpdate) SetReplicaGlobalSecondaryIndexSettingsUpdate(v []*ReplicaGlobalSecondaryIndexSettingsUpdate) *ReplicaSettingsUpdate { 15266 s.ReplicaGlobalSecondaryIndexSettingsUpdate = v 15267 return s 15268} 15269 15270// SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate sets the ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate field's value. 15271func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaSettingsUpdate { 15272 s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate = v 15273 return s 15274} 15275 15276// SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value. 15277func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsUpdate { 15278 s.ReplicaProvisionedReadCapacityUnits = &v 15279 return s 15280} 15281 15282// Represents one of the following: 15283// 15284// * A new replica to be added to an existing global table. 15285// 15286// * New parameters for an existing replica. 15287// 15288// * An existing replica to be removed from an existing global table. 15289type ReplicaUpdate struct { 15290 _ struct{} `type:"structure"` 15291 15292 // The parameters required for creating a replica on an existing global table. 15293 Create *CreateReplicaAction `type:"structure"` 15294 15295 // The name of the existing replica to be removed. 15296 Delete *DeleteReplicaAction `type:"structure"` 15297} 15298 15299// String returns the string representation 15300func (s ReplicaUpdate) String() string { 15301 return awsutil.Prettify(s) 15302} 15303 15304// GoString returns the string representation 15305func (s ReplicaUpdate) GoString() string { 15306 return s.String() 15307} 15308 15309// Validate inspects the fields of the type to determine if they are valid. 15310func (s *ReplicaUpdate) Validate() error { 15311 invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"} 15312 if s.Create != nil { 15313 if err := s.Create.Validate(); err != nil { 15314 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 15315 } 15316 } 15317 if s.Delete != nil { 15318 if err := s.Delete.Validate(); err != nil { 15319 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 15320 } 15321 } 15322 15323 if invalidParams.Len() > 0 { 15324 return invalidParams 15325 } 15326 return nil 15327} 15328 15329// SetCreate sets the Create field's value. 15330func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate { 15331 s.Create = v 15332 return s 15333} 15334 15335// SetDelete sets the Delete field's value. 15336func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate { 15337 s.Delete = v 15338 return s 15339} 15340 15341// Represents one of the following: 15342// 15343// * A new replica to be added to an existing regional table or global table. 15344// This request invokes the CreateTableReplica action in the destination 15345// Region. 15346// 15347// * New parameters for an existing replica. This request invokes the UpdateTable 15348// action in the destination Region. 15349// 15350// * An existing replica to be deleted. The request invokes the DeleteTableReplica 15351// action in the destination Region, deleting the replica and all if its 15352// items in the destination Region. 15353type ReplicationGroupUpdate struct { 15354 _ struct{} `type:"structure"` 15355 15356 // The parameters required for creating a replica for the table. 15357 Create *CreateReplicationGroupMemberAction `type:"structure"` 15358 15359 // The parameters required for deleting a replica for the table. 15360 Delete *DeleteReplicationGroupMemberAction `type:"structure"` 15361 15362 // The parameters required for updating a replica for the table. 15363 Update *UpdateReplicationGroupMemberAction `type:"structure"` 15364} 15365 15366// String returns the string representation 15367func (s ReplicationGroupUpdate) String() string { 15368 return awsutil.Prettify(s) 15369} 15370 15371// GoString returns the string representation 15372func (s ReplicationGroupUpdate) GoString() string { 15373 return s.String() 15374} 15375 15376// Validate inspects the fields of the type to determine if they are valid. 15377func (s *ReplicationGroupUpdate) Validate() error { 15378 invalidParams := request.ErrInvalidParams{Context: "ReplicationGroupUpdate"} 15379 if s.Create != nil { 15380 if err := s.Create.Validate(); err != nil { 15381 invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) 15382 } 15383 } 15384 if s.Delete != nil { 15385 if err := s.Delete.Validate(); err != nil { 15386 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 15387 } 15388 } 15389 if s.Update != nil { 15390 if err := s.Update.Validate(); err != nil { 15391 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 15392 } 15393 } 15394 15395 if invalidParams.Len() > 0 { 15396 return invalidParams 15397 } 15398 return nil 15399} 15400 15401// SetCreate sets the Create field's value. 15402func (s *ReplicationGroupUpdate) SetCreate(v *CreateReplicationGroupMemberAction) *ReplicationGroupUpdate { 15403 s.Create = v 15404 return s 15405} 15406 15407// SetDelete sets the Delete field's value. 15408func (s *ReplicationGroupUpdate) SetDelete(v *DeleteReplicationGroupMemberAction) *ReplicationGroupUpdate { 15409 s.Delete = v 15410 return s 15411} 15412 15413// SetUpdate sets the Update field's value. 15414func (s *ReplicationGroupUpdate) SetUpdate(v *UpdateReplicationGroupMemberAction) *ReplicationGroupUpdate { 15415 s.Update = v 15416 return s 15417} 15418 15419// Throughput exceeds the current throughput limit for your account. Please 15420// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request 15421// a limit increase. 15422type RequestLimitExceeded struct { 15423 _ struct{} `type:"structure"` 15424 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15425 15426 Message_ *string `locationName:"message" type:"string"` 15427} 15428 15429// String returns the string representation 15430func (s RequestLimitExceeded) String() string { 15431 return awsutil.Prettify(s) 15432} 15433 15434// GoString returns the string representation 15435func (s RequestLimitExceeded) GoString() string { 15436 return s.String() 15437} 15438 15439func newErrorRequestLimitExceeded(v protocol.ResponseMetadata) error { 15440 return &RequestLimitExceeded{ 15441 RespMetadata: v, 15442 } 15443} 15444 15445// Code returns the exception type name. 15446func (s *RequestLimitExceeded) Code() string { 15447 return "RequestLimitExceeded" 15448} 15449 15450// Message returns the exception's message. 15451func (s *RequestLimitExceeded) Message() string { 15452 if s.Message_ != nil { 15453 return *s.Message_ 15454 } 15455 return "" 15456} 15457 15458// OrigErr always returns nil, satisfies awserr.Error interface. 15459func (s *RequestLimitExceeded) OrigErr() error { 15460 return nil 15461} 15462 15463func (s *RequestLimitExceeded) Error() string { 15464 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15465} 15466 15467// Status code returns the HTTP status code for the request's response error. 15468func (s *RequestLimitExceeded) StatusCode() int { 15469 return s.RespMetadata.StatusCode 15470} 15471 15472// RequestID returns the service's response RequestID for request. 15473func (s *RequestLimitExceeded) RequestID() string { 15474 return s.RespMetadata.RequestID 15475} 15476 15477// The operation conflicts with the resource's availability. For example, you 15478// attempted to recreate an existing table, or tried to delete a table currently 15479// in the CREATING state. 15480type ResourceInUseException struct { 15481 _ struct{} `type:"structure"` 15482 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15483 15484 // The resource which is being attempted to be changed is in use. 15485 Message_ *string `locationName:"message" type:"string"` 15486} 15487 15488// String returns the string representation 15489func (s ResourceInUseException) String() string { 15490 return awsutil.Prettify(s) 15491} 15492 15493// GoString returns the string representation 15494func (s ResourceInUseException) GoString() string { 15495 return s.String() 15496} 15497 15498func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 15499 return &ResourceInUseException{ 15500 RespMetadata: v, 15501 } 15502} 15503 15504// Code returns the exception type name. 15505func (s *ResourceInUseException) Code() string { 15506 return "ResourceInUseException" 15507} 15508 15509// Message returns the exception's message. 15510func (s *ResourceInUseException) Message() string { 15511 if s.Message_ != nil { 15512 return *s.Message_ 15513 } 15514 return "" 15515} 15516 15517// OrigErr always returns nil, satisfies awserr.Error interface. 15518func (s *ResourceInUseException) OrigErr() error { 15519 return nil 15520} 15521 15522func (s *ResourceInUseException) Error() string { 15523 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15524} 15525 15526// Status code returns the HTTP status code for the request's response error. 15527func (s *ResourceInUseException) StatusCode() int { 15528 return s.RespMetadata.StatusCode 15529} 15530 15531// RequestID returns the service's response RequestID for request. 15532func (s *ResourceInUseException) RequestID() string { 15533 return s.RespMetadata.RequestID 15534} 15535 15536// The operation tried to access a nonexistent table or index. The resource 15537// might not be specified correctly, or its status might not be ACTIVE. 15538type ResourceNotFoundException struct { 15539 _ struct{} `type:"structure"` 15540 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15541 15542 // The resource which is being requested does not exist. 15543 Message_ *string `locationName:"message" type:"string"` 15544} 15545 15546// String returns the string representation 15547func (s ResourceNotFoundException) String() string { 15548 return awsutil.Prettify(s) 15549} 15550 15551// GoString returns the string representation 15552func (s ResourceNotFoundException) GoString() string { 15553 return s.String() 15554} 15555 15556func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 15557 return &ResourceNotFoundException{ 15558 RespMetadata: v, 15559 } 15560} 15561 15562// Code returns the exception type name. 15563func (s *ResourceNotFoundException) Code() string { 15564 return "ResourceNotFoundException" 15565} 15566 15567// Message returns the exception's message. 15568func (s *ResourceNotFoundException) Message() string { 15569 if s.Message_ != nil { 15570 return *s.Message_ 15571 } 15572 return "" 15573} 15574 15575// OrigErr always returns nil, satisfies awserr.Error interface. 15576func (s *ResourceNotFoundException) OrigErr() error { 15577 return nil 15578} 15579 15580func (s *ResourceNotFoundException) Error() string { 15581 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15582} 15583 15584// Status code returns the HTTP status code for the request's response error. 15585func (s *ResourceNotFoundException) StatusCode() int { 15586 return s.RespMetadata.StatusCode 15587} 15588 15589// RequestID returns the service's response RequestID for request. 15590func (s *ResourceNotFoundException) RequestID() string { 15591 return s.RespMetadata.RequestID 15592} 15593 15594// Contains details for the restore. 15595type RestoreSummary struct { 15596 _ struct{} `type:"structure"` 15597 15598 // Point in time or source backup time. 15599 // 15600 // RestoreDateTime is a required field 15601 RestoreDateTime *time.Time `type:"timestamp" required:"true"` 15602 15603 // Indicates if a restore is in progress or not. 15604 // 15605 // RestoreInProgress is a required field 15606 RestoreInProgress *bool `type:"boolean" required:"true"` 15607 15608 // The Amazon Resource Name (ARN) of the backup from which the table was restored. 15609 SourceBackupArn *string `min:"37" type:"string"` 15610 15611 // The ARN of the source table of the backup that is being restored. 15612 SourceTableArn *string `type:"string"` 15613} 15614 15615// String returns the string representation 15616func (s RestoreSummary) String() string { 15617 return awsutil.Prettify(s) 15618} 15619 15620// GoString returns the string representation 15621func (s RestoreSummary) GoString() string { 15622 return s.String() 15623} 15624 15625// SetRestoreDateTime sets the RestoreDateTime field's value. 15626func (s *RestoreSummary) SetRestoreDateTime(v time.Time) *RestoreSummary { 15627 s.RestoreDateTime = &v 15628 return s 15629} 15630 15631// SetRestoreInProgress sets the RestoreInProgress field's value. 15632func (s *RestoreSummary) SetRestoreInProgress(v bool) *RestoreSummary { 15633 s.RestoreInProgress = &v 15634 return s 15635} 15636 15637// SetSourceBackupArn sets the SourceBackupArn field's value. 15638func (s *RestoreSummary) SetSourceBackupArn(v string) *RestoreSummary { 15639 s.SourceBackupArn = &v 15640 return s 15641} 15642 15643// SetSourceTableArn sets the SourceTableArn field's value. 15644func (s *RestoreSummary) SetSourceTableArn(v string) *RestoreSummary { 15645 s.SourceTableArn = &v 15646 return s 15647} 15648 15649type RestoreTableFromBackupInput struct { 15650 _ struct{} `type:"structure"` 15651 15652 // The Amazon Resource Name (ARN) associated with the backup. 15653 // 15654 // BackupArn is a required field 15655 BackupArn *string `min:"37" type:"string" required:"true"` 15656 15657 // The billing mode of the restored table. 15658 BillingModeOverride *string `type:"string" enum:"BillingMode"` 15659 15660 // List of global secondary indexes for the restored table. The indexes provided 15661 // should match existing secondary indexes. You can choose to exclude some or 15662 // all of the indexes at the time of restore. 15663 GlobalSecondaryIndexOverride []*GlobalSecondaryIndex `type:"list"` 15664 15665 // List of local secondary indexes for the restored table. The indexes provided 15666 // should match existing secondary indexes. You can choose to exclude some or 15667 // all of the indexes at the time of restore. 15668 LocalSecondaryIndexOverride []*LocalSecondaryIndex `type:"list"` 15669 15670 // Provisioned throughput settings for the restored table. 15671 ProvisionedThroughputOverride *ProvisionedThroughput `type:"structure"` 15672 15673 // The new server-side encryption settings for the restored table. 15674 SSESpecificationOverride *SSESpecification `type:"structure"` 15675 15676 // The name of the new table to which the backup must be restored. 15677 // 15678 // TargetTableName is a required field 15679 TargetTableName *string `min:"3" type:"string" required:"true"` 15680} 15681 15682// String returns the string representation 15683func (s RestoreTableFromBackupInput) String() string { 15684 return awsutil.Prettify(s) 15685} 15686 15687// GoString returns the string representation 15688func (s RestoreTableFromBackupInput) GoString() string { 15689 return s.String() 15690} 15691 15692// Validate inspects the fields of the type to determine if they are valid. 15693func (s *RestoreTableFromBackupInput) Validate() error { 15694 invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromBackupInput"} 15695 if s.BackupArn == nil { 15696 invalidParams.Add(request.NewErrParamRequired("BackupArn")) 15697 } 15698 if s.BackupArn != nil && len(*s.BackupArn) < 37 { 15699 invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) 15700 } 15701 if s.TargetTableName == nil { 15702 invalidParams.Add(request.NewErrParamRequired("TargetTableName")) 15703 } 15704 if s.TargetTableName != nil && len(*s.TargetTableName) < 3 { 15705 invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3)) 15706 } 15707 if s.GlobalSecondaryIndexOverride != nil { 15708 for i, v := range s.GlobalSecondaryIndexOverride { 15709 if v == nil { 15710 continue 15711 } 15712 if err := v.Validate(); err != nil { 15713 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 15714 } 15715 } 15716 } 15717 if s.LocalSecondaryIndexOverride != nil { 15718 for i, v := range s.LocalSecondaryIndexOverride { 15719 if v == nil { 15720 continue 15721 } 15722 if err := v.Validate(); err != nil { 15723 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 15724 } 15725 } 15726 } 15727 if s.ProvisionedThroughputOverride != nil { 15728 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 15729 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 15730 } 15731 } 15732 15733 if invalidParams.Len() > 0 { 15734 return invalidParams 15735 } 15736 return nil 15737} 15738 15739// SetBackupArn sets the BackupArn field's value. 15740func (s *RestoreTableFromBackupInput) SetBackupArn(v string) *RestoreTableFromBackupInput { 15741 s.BackupArn = &v 15742 return s 15743} 15744 15745// SetBillingModeOverride sets the BillingModeOverride field's value. 15746func (s *RestoreTableFromBackupInput) SetBillingModeOverride(v string) *RestoreTableFromBackupInput { 15747 s.BillingModeOverride = &v 15748 return s 15749} 15750 15751// SetGlobalSecondaryIndexOverride sets the GlobalSecondaryIndexOverride field's value. 15752func (s *RestoreTableFromBackupInput) SetGlobalSecondaryIndexOverride(v []*GlobalSecondaryIndex) *RestoreTableFromBackupInput { 15753 s.GlobalSecondaryIndexOverride = v 15754 return s 15755} 15756 15757// SetLocalSecondaryIndexOverride sets the LocalSecondaryIndexOverride field's value. 15758func (s *RestoreTableFromBackupInput) SetLocalSecondaryIndexOverride(v []*LocalSecondaryIndex) *RestoreTableFromBackupInput { 15759 s.LocalSecondaryIndexOverride = v 15760 return s 15761} 15762 15763// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 15764func (s *RestoreTableFromBackupInput) SetProvisionedThroughputOverride(v *ProvisionedThroughput) *RestoreTableFromBackupInput { 15765 s.ProvisionedThroughputOverride = v 15766 return s 15767} 15768 15769// SetSSESpecificationOverride sets the SSESpecificationOverride field's value. 15770func (s *RestoreTableFromBackupInput) SetSSESpecificationOverride(v *SSESpecification) *RestoreTableFromBackupInput { 15771 s.SSESpecificationOverride = v 15772 return s 15773} 15774 15775// SetTargetTableName sets the TargetTableName field's value. 15776func (s *RestoreTableFromBackupInput) SetTargetTableName(v string) *RestoreTableFromBackupInput { 15777 s.TargetTableName = &v 15778 return s 15779} 15780 15781type RestoreTableFromBackupOutput struct { 15782 _ struct{} `type:"structure"` 15783 15784 // The description of the table created from an existing backup. 15785 TableDescription *TableDescription `type:"structure"` 15786} 15787 15788// String returns the string representation 15789func (s RestoreTableFromBackupOutput) String() string { 15790 return awsutil.Prettify(s) 15791} 15792 15793// GoString returns the string representation 15794func (s RestoreTableFromBackupOutput) GoString() string { 15795 return s.String() 15796} 15797 15798// SetTableDescription sets the TableDescription field's value. 15799func (s *RestoreTableFromBackupOutput) SetTableDescription(v *TableDescription) *RestoreTableFromBackupOutput { 15800 s.TableDescription = v 15801 return s 15802} 15803 15804type RestoreTableToPointInTimeInput struct { 15805 _ struct{} `type:"structure"` 15806 15807 // The billing mode of the restored table. 15808 BillingModeOverride *string `type:"string" enum:"BillingMode"` 15809 15810 // List of global secondary indexes for the restored table. The indexes provided 15811 // should match existing secondary indexes. You can choose to exclude some or 15812 // all of the indexes at the time of restore. 15813 GlobalSecondaryIndexOverride []*GlobalSecondaryIndex `type:"list"` 15814 15815 // List of local secondary indexes for the restored table. The indexes provided 15816 // should match existing secondary indexes. You can choose to exclude some or 15817 // all of the indexes at the time of restore. 15818 LocalSecondaryIndexOverride []*LocalSecondaryIndex `type:"list"` 15819 15820 // Provisioned throughput settings for the restored table. 15821 ProvisionedThroughputOverride *ProvisionedThroughput `type:"structure"` 15822 15823 // Time in the past to restore the table to. 15824 RestoreDateTime *time.Time `type:"timestamp"` 15825 15826 // The new server-side encryption settings for the restored table. 15827 SSESpecificationOverride *SSESpecification `type:"structure"` 15828 15829 // The DynamoDB table that will be restored. This value is an Amazon Resource 15830 // Name (ARN). 15831 SourceTableArn *string `type:"string"` 15832 15833 // Name of the source table that is being restored. 15834 SourceTableName *string `min:"3" type:"string"` 15835 15836 // The name of the new table to which it must be restored to. 15837 // 15838 // TargetTableName is a required field 15839 TargetTableName *string `min:"3" type:"string" required:"true"` 15840 15841 // Restore the table to the latest possible time. LatestRestorableDateTime is 15842 // typically 5 minutes before the current time. 15843 UseLatestRestorableTime *bool `type:"boolean"` 15844} 15845 15846// String returns the string representation 15847func (s RestoreTableToPointInTimeInput) String() string { 15848 return awsutil.Prettify(s) 15849} 15850 15851// GoString returns the string representation 15852func (s RestoreTableToPointInTimeInput) GoString() string { 15853 return s.String() 15854} 15855 15856// Validate inspects the fields of the type to determine if they are valid. 15857func (s *RestoreTableToPointInTimeInput) Validate() error { 15858 invalidParams := request.ErrInvalidParams{Context: "RestoreTableToPointInTimeInput"} 15859 if s.SourceTableName != nil && len(*s.SourceTableName) < 3 { 15860 invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 3)) 15861 } 15862 if s.TargetTableName == nil { 15863 invalidParams.Add(request.NewErrParamRequired("TargetTableName")) 15864 } 15865 if s.TargetTableName != nil && len(*s.TargetTableName) < 3 { 15866 invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3)) 15867 } 15868 if s.GlobalSecondaryIndexOverride != nil { 15869 for i, v := range s.GlobalSecondaryIndexOverride { 15870 if v == nil { 15871 continue 15872 } 15873 if err := v.Validate(); err != nil { 15874 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 15875 } 15876 } 15877 } 15878 if s.LocalSecondaryIndexOverride != nil { 15879 for i, v := range s.LocalSecondaryIndexOverride { 15880 if v == nil { 15881 continue 15882 } 15883 if err := v.Validate(); err != nil { 15884 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexOverride", i), err.(request.ErrInvalidParams)) 15885 } 15886 } 15887 } 15888 if s.ProvisionedThroughputOverride != nil { 15889 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 15890 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 15891 } 15892 } 15893 15894 if invalidParams.Len() > 0 { 15895 return invalidParams 15896 } 15897 return nil 15898} 15899 15900// SetBillingModeOverride sets the BillingModeOverride field's value. 15901func (s *RestoreTableToPointInTimeInput) SetBillingModeOverride(v string) *RestoreTableToPointInTimeInput { 15902 s.BillingModeOverride = &v 15903 return s 15904} 15905 15906// SetGlobalSecondaryIndexOverride sets the GlobalSecondaryIndexOverride field's value. 15907func (s *RestoreTableToPointInTimeInput) SetGlobalSecondaryIndexOverride(v []*GlobalSecondaryIndex) *RestoreTableToPointInTimeInput { 15908 s.GlobalSecondaryIndexOverride = v 15909 return s 15910} 15911 15912// SetLocalSecondaryIndexOverride sets the LocalSecondaryIndexOverride field's value. 15913func (s *RestoreTableToPointInTimeInput) SetLocalSecondaryIndexOverride(v []*LocalSecondaryIndex) *RestoreTableToPointInTimeInput { 15914 s.LocalSecondaryIndexOverride = v 15915 return s 15916} 15917 15918// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 15919func (s *RestoreTableToPointInTimeInput) SetProvisionedThroughputOverride(v *ProvisionedThroughput) *RestoreTableToPointInTimeInput { 15920 s.ProvisionedThroughputOverride = v 15921 return s 15922} 15923 15924// SetRestoreDateTime sets the RestoreDateTime field's value. 15925func (s *RestoreTableToPointInTimeInput) SetRestoreDateTime(v time.Time) *RestoreTableToPointInTimeInput { 15926 s.RestoreDateTime = &v 15927 return s 15928} 15929 15930// SetSSESpecificationOverride sets the SSESpecificationOverride field's value. 15931func (s *RestoreTableToPointInTimeInput) SetSSESpecificationOverride(v *SSESpecification) *RestoreTableToPointInTimeInput { 15932 s.SSESpecificationOverride = v 15933 return s 15934} 15935 15936// SetSourceTableArn sets the SourceTableArn field's value. 15937func (s *RestoreTableToPointInTimeInput) SetSourceTableArn(v string) *RestoreTableToPointInTimeInput { 15938 s.SourceTableArn = &v 15939 return s 15940} 15941 15942// SetSourceTableName sets the SourceTableName field's value. 15943func (s *RestoreTableToPointInTimeInput) SetSourceTableName(v string) *RestoreTableToPointInTimeInput { 15944 s.SourceTableName = &v 15945 return s 15946} 15947 15948// SetTargetTableName sets the TargetTableName field's value. 15949func (s *RestoreTableToPointInTimeInput) SetTargetTableName(v string) *RestoreTableToPointInTimeInput { 15950 s.TargetTableName = &v 15951 return s 15952} 15953 15954// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. 15955func (s *RestoreTableToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreTableToPointInTimeInput { 15956 s.UseLatestRestorableTime = &v 15957 return s 15958} 15959 15960type RestoreTableToPointInTimeOutput struct { 15961 _ struct{} `type:"structure"` 15962 15963 // Represents the properties of a table. 15964 TableDescription *TableDescription `type:"structure"` 15965} 15966 15967// String returns the string representation 15968func (s RestoreTableToPointInTimeOutput) String() string { 15969 return awsutil.Prettify(s) 15970} 15971 15972// GoString returns the string representation 15973func (s RestoreTableToPointInTimeOutput) GoString() string { 15974 return s.String() 15975} 15976 15977// SetTableDescription sets the TableDescription field's value. 15978func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescription) *RestoreTableToPointInTimeOutput { 15979 s.TableDescription = v 15980 return s 15981} 15982 15983// The description of the server-side encryption status on the specified table. 15984type SSEDescription struct { 15985 _ struct{} `type:"structure"` 15986 15987 // Indicates the time, in UNIX epoch date format, when DynamoDB detected that 15988 // the table's AWS KMS key was inaccessible. This attribute will automatically 15989 // be cleared when DynamoDB detects that the table's AWS KMS key is accessible 15990 // again. DynamoDB will initiate the table archival process when table's AWS 15991 // KMS key remains inaccessible for more than seven days from this date. 15992 InaccessibleEncryptionDateTime *time.Time `type:"timestamp"` 15993 15994 // The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption. 15995 KMSMasterKeyArn *string `type:"string"` 15996 15997 // Server-side encryption type. The only supported value is: 15998 // 15999 // * KMS - Server-side encryption that uses AWS Key Management Service. The 16000 // key is stored in your account and is managed by AWS KMS (AWS KMS charges 16001 // apply). 16002 SSEType *string `type:"string" enum:"SSEType"` 16003 16004 // Represents the current state of server-side encryption. The only supported 16005 // values are: 16006 // 16007 // * ENABLED - Server-side encryption is enabled. 16008 // 16009 // * UPDATING - Server-side encryption is being updated. 16010 Status *string `type:"string" enum:"SSEStatus"` 16011} 16012 16013// String returns the string representation 16014func (s SSEDescription) String() string { 16015 return awsutil.Prettify(s) 16016} 16017 16018// GoString returns the string representation 16019func (s SSEDescription) GoString() string { 16020 return s.String() 16021} 16022 16023// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value. 16024func (s *SSEDescription) SetInaccessibleEncryptionDateTime(v time.Time) *SSEDescription { 16025 s.InaccessibleEncryptionDateTime = &v 16026 return s 16027} 16028 16029// SetKMSMasterKeyArn sets the KMSMasterKeyArn field's value. 16030func (s *SSEDescription) SetKMSMasterKeyArn(v string) *SSEDescription { 16031 s.KMSMasterKeyArn = &v 16032 return s 16033} 16034 16035// SetSSEType sets the SSEType field's value. 16036func (s *SSEDescription) SetSSEType(v string) *SSEDescription { 16037 s.SSEType = &v 16038 return s 16039} 16040 16041// SetStatus sets the Status field's value. 16042func (s *SSEDescription) SetStatus(v string) *SSEDescription { 16043 s.Status = &v 16044 return s 16045} 16046 16047// Represents the settings used to enable server-side encryption. 16048type SSESpecification struct { 16049 _ struct{} `type:"structure"` 16050 16051 // Indicates whether server-side encryption is done using an AWS managed CMK 16052 // or an AWS owned CMK. If enabled (true), server-side encryption type is set 16053 // to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled 16054 // (false) or not specified, server-side encryption is set to AWS owned CMK. 16055 Enabled *bool `type:"boolean"` 16056 16057 // The AWS KMS customer master key (CMK) that should be used for the AWS KMS 16058 // encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), 16059 // alias name, or alias ARN. Note that you should only provide this parameter 16060 // if the key is different from the default DynamoDB customer master key alias/aws/dynamodb. 16061 KMSMasterKeyId *string `type:"string"` 16062 16063 // Server-side encryption type. The only supported value is: 16064 // 16065 // * KMS - Server-side encryption that uses AWS Key Management Service. The 16066 // key is stored in your account and is managed by AWS KMS (AWS KMS charges 16067 // apply). 16068 SSEType *string `type:"string" enum:"SSEType"` 16069} 16070 16071// String returns the string representation 16072func (s SSESpecification) String() string { 16073 return awsutil.Prettify(s) 16074} 16075 16076// GoString returns the string representation 16077func (s SSESpecification) GoString() string { 16078 return s.String() 16079} 16080 16081// SetEnabled sets the Enabled field's value. 16082func (s *SSESpecification) SetEnabled(v bool) *SSESpecification { 16083 s.Enabled = &v 16084 return s 16085} 16086 16087// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 16088func (s *SSESpecification) SetKMSMasterKeyId(v string) *SSESpecification { 16089 s.KMSMasterKeyId = &v 16090 return s 16091} 16092 16093// SetSSEType sets the SSEType field's value. 16094func (s *SSESpecification) SetSSEType(v string) *SSESpecification { 16095 s.SSEType = &v 16096 return s 16097} 16098 16099// Represents the input of a Scan operation. 16100type ScanInput struct { 16101 _ struct{} `type:"structure"` 16102 16103 // This is a legacy parameter. Use ProjectionExpression instead. For more information, 16104 // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) 16105 // in the Amazon DynamoDB Developer Guide. 16106 AttributesToGet []*string `min:"1" type:"list"` 16107 16108 // This is a legacy parameter. Use FilterExpression instead. For more information, 16109 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 16110 // in the Amazon DynamoDB Developer Guide. 16111 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 16112 16113 // A Boolean value that determines the read consistency model during the scan: 16114 // 16115 // * If ConsistentRead is false, then the data returned from Scan might not 16116 // contain the results from other recently completed write operations (PutItem, 16117 // UpdateItem, or DeleteItem). 16118 // 16119 // * If ConsistentRead is true, then all of the write operations that completed 16120 // before the Scan began are guaranteed to be contained in the Scan response. 16121 // 16122 // The default setting for ConsistentRead is false. 16123 // 16124 // The ConsistentRead parameter is not supported on global secondary indexes. 16125 // If you scan a global secondary index with ConsistentRead set to true, you 16126 // will receive a ValidationException. 16127 ConsistentRead *bool `type:"boolean"` 16128 16129 // The primary key of the first item that this operation will evaluate. Use 16130 // the value that was returned for LastEvaluatedKey in the previous operation. 16131 // 16132 // The data type for ExclusiveStartKey must be String, Number or Binary. No 16133 // set data types are allowed. 16134 // 16135 // In a parallel scan, a Scan request that includes ExclusiveStartKey must specify 16136 // the same segment whose previous Scan returned the corresponding value of 16137 // LastEvaluatedKey. 16138 ExclusiveStartKey map[string]*AttributeValue `type:"map"` 16139 16140 // One or more substitution tokens for attribute names in an expression. The 16141 // following are some use cases for using ExpressionAttributeNames: 16142 // 16143 // * To access an attribute whose name conflicts with a DynamoDB reserved 16144 // word. 16145 // 16146 // * To create a placeholder for repeating occurrences of an attribute name 16147 // in an expression. 16148 // 16149 // * To prevent special characters in an attribute name from being misinterpreted 16150 // in an expression. 16151 // 16152 // Use the # character in an expression to dereference an attribute name. For 16153 // example, consider the following attribute name: 16154 // 16155 // * Percentile 16156 // 16157 // The name of this attribute conflicts with a reserved word, so it cannot be 16158 // used directly in an expression. (For the complete list of reserved words, 16159 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 16160 // in the Amazon DynamoDB Developer Guide). To work around this, you could specify 16161 // the following for ExpressionAttributeNames: 16162 // 16163 // * {"#P":"Percentile"} 16164 // 16165 // You could then use this substitution in an expression, as in this example: 16166 // 16167 // * #P = :val 16168 // 16169 // Tokens that begin with the : character are expression attribute values, which 16170 // are placeholders for the actual value at runtime. 16171 // 16172 // For more information on expression attribute names, see Specifying Item Attributes 16173 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 16174 // in the Amazon DynamoDB Developer Guide. 16175 ExpressionAttributeNames map[string]*string `type:"map"` 16176 16177 // One or more values that can be substituted in an expression. 16178 // 16179 // Use the : (colon) character in an expression to dereference an attribute 16180 // value. For example, suppose that you wanted to check whether the value of 16181 // the ProductStatus attribute was one of the following: 16182 // 16183 // Available | Backordered | Discontinued 16184 // 16185 // You would first need to specify ExpressionAttributeValues as follows: 16186 // 16187 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 16188 // } 16189 // 16190 // You could then use these values in an expression, such as this: 16191 // 16192 // ProductStatus IN (:avail, :back, :disc) 16193 // 16194 // For more information on expression attribute values, see Condition Expressions 16195 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 16196 // in the Amazon DynamoDB Developer Guide. 16197 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 16198 16199 // A string that contains conditions that DynamoDB applies after the Scan operation, 16200 // but before the data is returned to you. Items that do not satisfy the FilterExpression 16201 // criteria are not returned. 16202 // 16203 // A FilterExpression is applied after the items have already been read; the 16204 // process of filtering does not consume any additional read capacity units. 16205 // 16206 // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) 16207 // in the Amazon DynamoDB Developer Guide. 16208 FilterExpression *string `type:"string"` 16209 16210 // The name of a secondary index to scan. This index can be any local secondary 16211 // index or global secondary index. Note that if you use the IndexName parameter, 16212 // you must also provide TableName. 16213 IndexName *string `min:"3" type:"string"` 16214 16215 // The maximum number of items to evaluate (not necessarily the number of matching 16216 // items). If DynamoDB processes the number of items up to the limit while processing 16217 // the results, it stops the operation and returns the matching values up to 16218 // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, 16219 // so that you can pick up where you left off. Also, if the processed dataset 16220 // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation 16221 // and returns the matching values up to the limit, and a key in LastEvaluatedKey 16222 // to apply in a subsequent operation to continue the operation. For more information, 16223 // see Working with Queries (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) 16224 // in the Amazon DynamoDB Developer Guide. 16225 Limit *int64 `min:"1" type:"integer"` 16226 16227 // A string that identifies one or more attributes to retrieve from the specified 16228 // table or index. These attributes can include scalars, sets, or elements of 16229 // a JSON document. The attributes in the expression must be separated by commas. 16230 // 16231 // If no attribute names are specified, then all attributes will be returned. 16232 // If any of the requested attributes are not found, they will not appear in 16233 // the result. 16234 // 16235 // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 16236 // in the Amazon DynamoDB Developer Guide. 16237 ProjectionExpression *string `type:"string"` 16238 16239 // Determines the level of detail about provisioned throughput consumption that 16240 // is returned in the response: 16241 // 16242 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 16243 // operation, together with ConsumedCapacity for each table and secondary 16244 // index that was accessed. Note that some operations, such as GetItem and 16245 // BatchGetItem, do not access any indexes at all. In these cases, specifying 16246 // INDEXES will only return ConsumedCapacity information for table(s). 16247 // 16248 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 16249 // the operation. 16250 // 16251 // * NONE - No ConsumedCapacity details are included in the response. 16252 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 16253 16254 // This is a legacy parameter. Use FilterExpression instead. For more information, 16255 // see ScanFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) 16256 // in the Amazon DynamoDB Developer Guide. 16257 ScanFilter map[string]*Condition `type:"map"` 16258 16259 // For a parallel Scan request, Segment identifies an individual segment to 16260 // be scanned by an application worker. 16261 // 16262 // Segment IDs are zero-based, so the first segment is always 0. For example, 16263 // if you want to use four application threads to scan a table or an index, 16264 // then the first thread specifies a Segment value of 0, the second thread specifies 16265 // 1, and so on. 16266 // 16267 // The value of LastEvaluatedKey returned from a parallel Scan request must 16268 // be used as ExclusiveStartKey with the same segment ID in a subsequent Scan 16269 // operation. 16270 // 16271 // The value for Segment must be greater than or equal to 0, and less than the 16272 // value provided for TotalSegments. 16273 // 16274 // If you provide Segment, you must also provide TotalSegments. 16275 Segment *int64 `type:"integer"` 16276 16277 // The attributes to be returned in the result. You can retrieve all item attributes, 16278 // specific item attributes, the count of matching items, or in the case of 16279 // an index, some or all of the attributes projected into the index. 16280 // 16281 // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified 16282 // table or index. If you query a local secondary index, then for each matching 16283 // item in the index, DynamoDB fetches the entire item from the parent table. 16284 // If the index is configured to project all item attributes, then all of 16285 // the data can be obtained from the local secondary index, and no fetching 16286 // is required. 16287 // 16288 // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves 16289 // all attributes that have been projected into the index. If the index is 16290 // configured to project all attributes, this return value is equivalent 16291 // to specifying ALL_ATTRIBUTES. 16292 // 16293 // * COUNT - Returns the number of matching items, rather than the matching 16294 // items themselves. 16295 // 16296 // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. 16297 // This return value is equivalent to specifying AttributesToGet without 16298 // specifying any value for Select. If you query or scan a local secondary 16299 // index and request only attributes that are projected into that index, 16300 // the operation reads only the index and not the table. If any of the requested 16301 // attributes are not projected into the local secondary index, DynamoDB 16302 // fetches each of these attributes from the parent table. This extra fetching 16303 // incurs additional throughput cost and latency. If you query or scan a 16304 // global secondary index, you can only request attributes that are projected 16305 // into the index. Global secondary index queries cannot fetch attributes 16306 // from the parent table. 16307 // 16308 // If neither Select nor AttributesToGet are specified, DynamoDB defaults to 16309 // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when 16310 // accessing an index. You cannot use both Select and AttributesToGet together 16311 // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. 16312 // (This usage is equivalent to specifying AttributesToGet without any value 16313 // for Select.) 16314 // 16315 // If you use the ProjectionExpression parameter, then the value for Select 16316 // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an 16317 // error. 16318 Select *string `type:"string" enum:"Select"` 16319 16320 // The name of the table containing the requested items; or, if you provide 16321 // IndexName, the name of the table to which that index belongs. 16322 // 16323 // TableName is a required field 16324 TableName *string `min:"3" type:"string" required:"true"` 16325 16326 // For a parallel Scan request, TotalSegments represents the total number of 16327 // segments into which the Scan operation will be divided. The value of TotalSegments 16328 // corresponds to the number of application workers that will perform the parallel 16329 // scan. For example, if you want to use four application threads to scan a 16330 // table or an index, specify a TotalSegments value of 4. 16331 // 16332 // The value for TotalSegments must be greater than or equal to 1, and less 16333 // than or equal to 1000000. If you specify a TotalSegments value of 1, the 16334 // Scan operation will be sequential rather than parallel. 16335 // 16336 // If you specify TotalSegments, you must also specify Segment. 16337 TotalSegments *int64 `min:"1" type:"integer"` 16338} 16339 16340// String returns the string representation 16341func (s ScanInput) String() string { 16342 return awsutil.Prettify(s) 16343} 16344 16345// GoString returns the string representation 16346func (s ScanInput) GoString() string { 16347 return s.String() 16348} 16349 16350// Validate inspects the fields of the type to determine if they are valid. 16351func (s *ScanInput) Validate() error { 16352 invalidParams := request.ErrInvalidParams{Context: "ScanInput"} 16353 if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 { 16354 invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1)) 16355 } 16356 if s.IndexName != nil && len(*s.IndexName) < 3 { 16357 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 16358 } 16359 if s.Limit != nil && *s.Limit < 1 { 16360 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 16361 } 16362 if s.TableName == nil { 16363 invalidParams.Add(request.NewErrParamRequired("TableName")) 16364 } 16365 if s.TableName != nil && len(*s.TableName) < 3 { 16366 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 16367 } 16368 if s.TotalSegments != nil && *s.TotalSegments < 1 { 16369 invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1)) 16370 } 16371 if s.ScanFilter != nil { 16372 for i, v := range s.ScanFilter { 16373 if v == nil { 16374 continue 16375 } 16376 if err := v.Validate(); err != nil { 16377 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanFilter", i), err.(request.ErrInvalidParams)) 16378 } 16379 } 16380 } 16381 16382 if invalidParams.Len() > 0 { 16383 return invalidParams 16384 } 16385 return nil 16386} 16387 16388// SetAttributesToGet sets the AttributesToGet field's value. 16389func (s *ScanInput) SetAttributesToGet(v []*string) *ScanInput { 16390 s.AttributesToGet = v 16391 return s 16392} 16393 16394// SetConditionalOperator sets the ConditionalOperator field's value. 16395func (s *ScanInput) SetConditionalOperator(v string) *ScanInput { 16396 s.ConditionalOperator = &v 16397 return s 16398} 16399 16400// SetConsistentRead sets the ConsistentRead field's value. 16401func (s *ScanInput) SetConsistentRead(v bool) *ScanInput { 16402 s.ConsistentRead = &v 16403 return s 16404} 16405 16406// SetExclusiveStartKey sets the ExclusiveStartKey field's value. 16407func (s *ScanInput) SetExclusiveStartKey(v map[string]*AttributeValue) *ScanInput { 16408 s.ExclusiveStartKey = v 16409 return s 16410} 16411 16412// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 16413func (s *ScanInput) SetExpressionAttributeNames(v map[string]*string) *ScanInput { 16414 s.ExpressionAttributeNames = v 16415 return s 16416} 16417 16418// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 16419func (s *ScanInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *ScanInput { 16420 s.ExpressionAttributeValues = v 16421 return s 16422} 16423 16424// SetFilterExpression sets the FilterExpression field's value. 16425func (s *ScanInput) SetFilterExpression(v string) *ScanInput { 16426 s.FilterExpression = &v 16427 return s 16428} 16429 16430// SetIndexName sets the IndexName field's value. 16431func (s *ScanInput) SetIndexName(v string) *ScanInput { 16432 s.IndexName = &v 16433 return s 16434} 16435 16436// SetLimit sets the Limit field's value. 16437func (s *ScanInput) SetLimit(v int64) *ScanInput { 16438 s.Limit = &v 16439 return s 16440} 16441 16442// SetProjectionExpression sets the ProjectionExpression field's value. 16443func (s *ScanInput) SetProjectionExpression(v string) *ScanInput { 16444 s.ProjectionExpression = &v 16445 return s 16446} 16447 16448// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 16449func (s *ScanInput) SetReturnConsumedCapacity(v string) *ScanInput { 16450 s.ReturnConsumedCapacity = &v 16451 return s 16452} 16453 16454// SetScanFilter sets the ScanFilter field's value. 16455func (s *ScanInput) SetScanFilter(v map[string]*Condition) *ScanInput { 16456 s.ScanFilter = v 16457 return s 16458} 16459 16460// SetSegment sets the Segment field's value. 16461func (s *ScanInput) SetSegment(v int64) *ScanInput { 16462 s.Segment = &v 16463 return s 16464} 16465 16466// SetSelect sets the Select field's value. 16467func (s *ScanInput) SetSelect(v string) *ScanInput { 16468 s.Select = &v 16469 return s 16470} 16471 16472// SetTableName sets the TableName field's value. 16473func (s *ScanInput) SetTableName(v string) *ScanInput { 16474 s.TableName = &v 16475 return s 16476} 16477 16478// SetTotalSegments sets the TotalSegments field's value. 16479func (s *ScanInput) SetTotalSegments(v int64) *ScanInput { 16480 s.TotalSegments = &v 16481 return s 16482} 16483 16484// Represents the output of a Scan operation. 16485type ScanOutput struct { 16486 _ struct{} `type:"structure"` 16487 16488 // The capacity units consumed by the Scan operation. The data returned includes 16489 // the total provisioned throughput consumed, along with statistics for the 16490 // table and any indexes involved in the operation. ConsumedCapacity is only 16491 // returned if the ReturnConsumedCapacity parameter was specified. For more 16492 // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 16493 // in the Amazon DynamoDB Developer Guide. 16494 ConsumedCapacity *ConsumedCapacity `type:"structure"` 16495 16496 // The number of items in the response. 16497 // 16498 // If you set ScanFilter in the request, then Count is the number of items returned 16499 // after the filter was applied, and ScannedCount is the number of matching 16500 // items before the filter was applied. 16501 // 16502 // If you did not use a filter in the request, then Count is the same as ScannedCount. 16503 Count *int64 `type:"integer"` 16504 16505 // An array of item attributes that match the scan criteria. Each element in 16506 // this array consists of an attribute name and the value for that attribute. 16507 Items []map[string]*AttributeValue `type:"list"` 16508 16509 // The primary key of the item where the operation stopped, inclusive of the 16510 // previous result set. Use this value to start a new operation, excluding this 16511 // value in the new request. 16512 // 16513 // If LastEvaluatedKey is empty, then the "last page" of results has been processed 16514 // and there is no more data to be retrieved. 16515 // 16516 // If LastEvaluatedKey is not empty, it does not necessarily mean that there 16517 // is more data in the result set. The only way to know when you have reached 16518 // the end of the result set is when LastEvaluatedKey is empty. 16519 LastEvaluatedKey map[string]*AttributeValue `type:"map"` 16520 16521 // The number of items evaluated, before any ScanFilter is applied. A high ScannedCount 16522 // value with few, or no, Count results indicates an inefficient Scan operation. 16523 // For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) 16524 // in the Amazon DynamoDB Developer Guide. 16525 // 16526 // If you did not use a filter in the request, then ScannedCount is the same 16527 // as Count. 16528 ScannedCount *int64 `type:"integer"` 16529} 16530 16531// String returns the string representation 16532func (s ScanOutput) String() string { 16533 return awsutil.Prettify(s) 16534} 16535 16536// GoString returns the string representation 16537func (s ScanOutput) GoString() string { 16538 return s.String() 16539} 16540 16541// SetConsumedCapacity sets the ConsumedCapacity field's value. 16542func (s *ScanOutput) SetConsumedCapacity(v *ConsumedCapacity) *ScanOutput { 16543 s.ConsumedCapacity = v 16544 return s 16545} 16546 16547// SetCount sets the Count field's value. 16548func (s *ScanOutput) SetCount(v int64) *ScanOutput { 16549 s.Count = &v 16550 return s 16551} 16552 16553// SetItems sets the Items field's value. 16554func (s *ScanOutput) SetItems(v []map[string]*AttributeValue) *ScanOutput { 16555 s.Items = v 16556 return s 16557} 16558 16559// SetLastEvaluatedKey sets the LastEvaluatedKey field's value. 16560func (s *ScanOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *ScanOutput { 16561 s.LastEvaluatedKey = v 16562 return s 16563} 16564 16565// SetScannedCount sets the ScannedCount field's value. 16566func (s *ScanOutput) SetScannedCount(v int64) *ScanOutput { 16567 s.ScannedCount = &v 16568 return s 16569} 16570 16571// Contains the details of the table when the backup was created. 16572type SourceTableDetails struct { 16573 _ struct{} `type:"structure"` 16574 16575 // Controls how you are charged for read and write throughput and how you manage 16576 // capacity. This setting can be changed later. 16577 // 16578 // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend 16579 // using PROVISIONED for predictable workloads. 16580 // 16581 // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. 16582 // We recommend using PAY_PER_REQUEST for unpredictable workloads. 16583 BillingMode *string `type:"string" enum:"BillingMode"` 16584 16585 // Number of items in the table. Note that this is an approximate value. 16586 ItemCount *int64 `type:"long"` 16587 16588 // Schema of the table. 16589 // 16590 // KeySchema is a required field 16591 KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` 16592 16593 // Read IOPs and Write IOPS on the table when the backup was created. 16594 // 16595 // ProvisionedThroughput is a required field 16596 ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` 16597 16598 // ARN of the table for which backup was created. 16599 TableArn *string `type:"string"` 16600 16601 // Time when the source table was created. 16602 // 16603 // TableCreationDateTime is a required field 16604 TableCreationDateTime *time.Time `type:"timestamp" required:"true"` 16605 16606 // Unique identifier for the table for which the backup was created. 16607 // 16608 // TableId is a required field 16609 TableId *string `type:"string" required:"true"` 16610 16611 // The name of the table for which the backup was created. 16612 // 16613 // TableName is a required field 16614 TableName *string `min:"3" type:"string" required:"true"` 16615 16616 // Size of the table in bytes. Note that this is an approximate value. 16617 TableSizeBytes *int64 `type:"long"` 16618} 16619 16620// String returns the string representation 16621func (s SourceTableDetails) String() string { 16622 return awsutil.Prettify(s) 16623} 16624 16625// GoString returns the string representation 16626func (s SourceTableDetails) GoString() string { 16627 return s.String() 16628} 16629 16630// SetBillingMode sets the BillingMode field's value. 16631func (s *SourceTableDetails) SetBillingMode(v string) *SourceTableDetails { 16632 s.BillingMode = &v 16633 return s 16634} 16635 16636// SetItemCount sets the ItemCount field's value. 16637func (s *SourceTableDetails) SetItemCount(v int64) *SourceTableDetails { 16638 s.ItemCount = &v 16639 return s 16640} 16641 16642// SetKeySchema sets the KeySchema field's value. 16643func (s *SourceTableDetails) SetKeySchema(v []*KeySchemaElement) *SourceTableDetails { 16644 s.KeySchema = v 16645 return s 16646} 16647 16648// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 16649func (s *SourceTableDetails) SetProvisionedThroughput(v *ProvisionedThroughput) *SourceTableDetails { 16650 s.ProvisionedThroughput = v 16651 return s 16652} 16653 16654// SetTableArn sets the TableArn field's value. 16655func (s *SourceTableDetails) SetTableArn(v string) *SourceTableDetails { 16656 s.TableArn = &v 16657 return s 16658} 16659 16660// SetTableCreationDateTime sets the TableCreationDateTime field's value. 16661func (s *SourceTableDetails) SetTableCreationDateTime(v time.Time) *SourceTableDetails { 16662 s.TableCreationDateTime = &v 16663 return s 16664} 16665 16666// SetTableId sets the TableId field's value. 16667func (s *SourceTableDetails) SetTableId(v string) *SourceTableDetails { 16668 s.TableId = &v 16669 return s 16670} 16671 16672// SetTableName sets the TableName field's value. 16673func (s *SourceTableDetails) SetTableName(v string) *SourceTableDetails { 16674 s.TableName = &v 16675 return s 16676} 16677 16678// SetTableSizeBytes sets the TableSizeBytes field's value. 16679func (s *SourceTableDetails) SetTableSizeBytes(v int64) *SourceTableDetails { 16680 s.TableSizeBytes = &v 16681 return s 16682} 16683 16684// Contains the details of the features enabled on the table when the backup 16685// was created. For example, LSIs, GSIs, streams, TTL. 16686type SourceTableFeatureDetails struct { 16687 _ struct{} `type:"structure"` 16688 16689 // Represents the GSI properties for the table when the backup was created. 16690 // It includes the IndexName, KeySchema, Projection, and ProvisionedThroughput 16691 // for the GSIs on the table at the time of backup. 16692 GlobalSecondaryIndexes []*GlobalSecondaryIndexInfo `type:"list"` 16693 16694 // Represents the LSI properties for the table when the backup was created. 16695 // It includes the IndexName, KeySchema and Projection for the LSIs on the table 16696 // at the time of backup. 16697 LocalSecondaryIndexes []*LocalSecondaryIndexInfo `type:"list"` 16698 16699 // The description of the server-side encryption status on the table when the 16700 // backup was created. 16701 SSEDescription *SSEDescription `type:"structure"` 16702 16703 // Stream settings on the table when the backup was created. 16704 StreamDescription *StreamSpecification `type:"structure"` 16705 16706 // Time to Live settings on the table when the backup was created. 16707 TimeToLiveDescription *TimeToLiveDescription `type:"structure"` 16708} 16709 16710// String returns the string representation 16711func (s SourceTableFeatureDetails) String() string { 16712 return awsutil.Prettify(s) 16713} 16714 16715// GoString returns the string representation 16716func (s SourceTableFeatureDetails) GoString() string { 16717 return s.String() 16718} 16719 16720// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 16721func (s *SourceTableFeatureDetails) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexInfo) *SourceTableFeatureDetails { 16722 s.GlobalSecondaryIndexes = v 16723 return s 16724} 16725 16726// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 16727func (s *SourceTableFeatureDetails) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexInfo) *SourceTableFeatureDetails { 16728 s.LocalSecondaryIndexes = v 16729 return s 16730} 16731 16732// SetSSEDescription sets the SSEDescription field's value. 16733func (s *SourceTableFeatureDetails) SetSSEDescription(v *SSEDescription) *SourceTableFeatureDetails { 16734 s.SSEDescription = v 16735 return s 16736} 16737 16738// SetStreamDescription sets the StreamDescription field's value. 16739func (s *SourceTableFeatureDetails) SetStreamDescription(v *StreamSpecification) *SourceTableFeatureDetails { 16740 s.StreamDescription = v 16741 return s 16742} 16743 16744// SetTimeToLiveDescription sets the TimeToLiveDescription field's value. 16745func (s *SourceTableFeatureDetails) SetTimeToLiveDescription(v *TimeToLiveDescription) *SourceTableFeatureDetails { 16746 s.TimeToLiveDescription = v 16747 return s 16748} 16749 16750// Represents the DynamoDB Streams configuration for a table in DynamoDB. 16751type StreamSpecification struct { 16752 _ struct{} `type:"structure"` 16753 16754 // Indicates whether DynamoDB Streams is enabled (true) or disabled (false) 16755 // on the table. 16756 // 16757 // StreamEnabled is a required field 16758 StreamEnabled *bool `type:"boolean" required:"true"` 16759 16760 // When an item in the table is modified, StreamViewType determines what information 16761 // is written to the stream for this table. Valid values for StreamViewType 16762 // are: 16763 // 16764 // * KEYS_ONLY - Only the key attributes of the modified item are written 16765 // to the stream. 16766 // 16767 // * NEW_IMAGE - The entire item, as it appears after it was modified, is 16768 // written to the stream. 16769 // 16770 // * OLD_IMAGE - The entire item, as it appeared before it was modified, 16771 // is written to the stream. 16772 // 16773 // * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item 16774 // are written to the stream. 16775 StreamViewType *string `type:"string" enum:"StreamViewType"` 16776} 16777 16778// String returns the string representation 16779func (s StreamSpecification) String() string { 16780 return awsutil.Prettify(s) 16781} 16782 16783// GoString returns the string representation 16784func (s StreamSpecification) GoString() string { 16785 return s.String() 16786} 16787 16788// Validate inspects the fields of the type to determine if they are valid. 16789func (s *StreamSpecification) Validate() error { 16790 invalidParams := request.ErrInvalidParams{Context: "StreamSpecification"} 16791 if s.StreamEnabled == nil { 16792 invalidParams.Add(request.NewErrParamRequired("StreamEnabled")) 16793 } 16794 16795 if invalidParams.Len() > 0 { 16796 return invalidParams 16797 } 16798 return nil 16799} 16800 16801// SetStreamEnabled sets the StreamEnabled field's value. 16802func (s *StreamSpecification) SetStreamEnabled(v bool) *StreamSpecification { 16803 s.StreamEnabled = &v 16804 return s 16805} 16806 16807// SetStreamViewType sets the StreamViewType field's value. 16808func (s *StreamSpecification) SetStreamViewType(v string) *StreamSpecification { 16809 s.StreamViewType = &v 16810 return s 16811} 16812 16813// A target table with the specified name already exists. 16814type TableAlreadyExistsException struct { 16815 _ struct{} `type:"structure"` 16816 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16817 16818 Message_ *string `locationName:"message" type:"string"` 16819} 16820 16821// String returns the string representation 16822func (s TableAlreadyExistsException) String() string { 16823 return awsutil.Prettify(s) 16824} 16825 16826// GoString returns the string representation 16827func (s TableAlreadyExistsException) GoString() string { 16828 return s.String() 16829} 16830 16831func newErrorTableAlreadyExistsException(v protocol.ResponseMetadata) error { 16832 return &TableAlreadyExistsException{ 16833 RespMetadata: v, 16834 } 16835} 16836 16837// Code returns the exception type name. 16838func (s *TableAlreadyExistsException) Code() string { 16839 return "TableAlreadyExistsException" 16840} 16841 16842// Message returns the exception's message. 16843func (s *TableAlreadyExistsException) Message() string { 16844 if s.Message_ != nil { 16845 return *s.Message_ 16846 } 16847 return "" 16848} 16849 16850// OrigErr always returns nil, satisfies awserr.Error interface. 16851func (s *TableAlreadyExistsException) OrigErr() error { 16852 return nil 16853} 16854 16855func (s *TableAlreadyExistsException) Error() string { 16856 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16857} 16858 16859// Status code returns the HTTP status code for the request's response error. 16860func (s *TableAlreadyExistsException) StatusCode() int { 16861 return s.RespMetadata.StatusCode 16862} 16863 16864// RequestID returns the service's response RequestID for request. 16865func (s *TableAlreadyExistsException) RequestID() string { 16866 return s.RespMetadata.RequestID 16867} 16868 16869// Represents the auto scaling configuration for a global table. 16870type TableAutoScalingDescription struct { 16871 _ struct{} `type:"structure"` 16872 16873 // Represents replicas of the global table. 16874 Replicas []*ReplicaAutoScalingDescription `type:"list"` 16875 16876 // The name of the table. 16877 TableName *string `min:"3" type:"string"` 16878 16879 // The current state of the table: 16880 // 16881 // * CREATING - The table is being created. 16882 // 16883 // * UPDATING - The table is being updated. 16884 // 16885 // * DELETING - The table is being deleted. 16886 // 16887 // * ACTIVE - The table is ready for use. 16888 TableStatus *string `type:"string" enum:"TableStatus"` 16889} 16890 16891// String returns the string representation 16892func (s TableAutoScalingDescription) String() string { 16893 return awsutil.Prettify(s) 16894} 16895 16896// GoString returns the string representation 16897func (s TableAutoScalingDescription) GoString() string { 16898 return s.String() 16899} 16900 16901// SetReplicas sets the Replicas field's value. 16902func (s *TableAutoScalingDescription) SetReplicas(v []*ReplicaAutoScalingDescription) *TableAutoScalingDescription { 16903 s.Replicas = v 16904 return s 16905} 16906 16907// SetTableName sets the TableName field's value. 16908func (s *TableAutoScalingDescription) SetTableName(v string) *TableAutoScalingDescription { 16909 s.TableName = &v 16910 return s 16911} 16912 16913// SetTableStatus sets the TableStatus field's value. 16914func (s *TableAutoScalingDescription) SetTableStatus(v string) *TableAutoScalingDescription { 16915 s.TableStatus = &v 16916 return s 16917} 16918 16919// Represents the properties of a table. 16920type TableDescription struct { 16921 _ struct{} `type:"structure"` 16922 16923 // Contains information about the table archive. 16924 ArchivalSummary *ArchivalSummary `type:"structure"` 16925 16926 // An array of AttributeDefinition objects. Each of these objects describes 16927 // one attribute in the table and index key schema. 16928 // 16929 // Each AttributeDefinition object in this array is composed of: 16930 // 16931 // * AttributeName - The name of the attribute. 16932 // 16933 // * AttributeType - The data type for the attribute. 16934 AttributeDefinitions []*AttributeDefinition `type:"list"` 16935 16936 // Contains the details for the read/write capacity mode. 16937 BillingModeSummary *BillingModeSummary `type:"structure"` 16938 16939 // The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/) 16940 // format. 16941 CreationDateTime *time.Time `type:"timestamp"` 16942 16943 // The global secondary indexes, if any, on the table. Each index is scoped 16944 // to a given partition key value. Each element is composed of: 16945 // 16946 // * Backfilling - If true, then the index is currently in the backfilling 16947 // phase. Backfilling occurs only when a new global secondary index is added 16948 // to the table. It is the process by which DynamoDB populates the new index 16949 // with data from the table. (This attribute does not appear for indexes 16950 // that were created during a CreateTable operation.) You can delete an index 16951 // that is being created during the Backfilling phase when IndexStatus is 16952 // set to CREATING and Backfilling is true. You can't delete the index that 16953 // is being created when IndexStatus is set to CREATING and Backfilling is 16954 // false. (This attribute does not appear for indexes that were created during 16955 // a CreateTable operation.) 16956 // 16957 // * IndexName - The name of the global secondary index. 16958 // 16959 // * IndexSizeBytes - The total size of the global secondary index, in bytes. 16960 // DynamoDB updates this value approximately every six hours. Recent changes 16961 // might not be reflected in this value. 16962 // 16963 // * IndexStatus - The current status of the global secondary index: CREATING 16964 // - The index is being created. UPDATING - The index is being updated. DELETING 16965 // - The index is being deleted. ACTIVE - The index is ready for use. 16966 // 16967 // * ItemCount - The number of items in the global secondary index. DynamoDB 16968 // updates this value approximately every six hours. Recent changes might 16969 // not be reflected in this value. 16970 // 16971 // * KeySchema - Specifies the complete index key schema. The attribute names 16972 // in the key schema must be between 1 and 255 characters (inclusive). The 16973 // key schema must begin with the same partition key as the table. 16974 // 16975 // * Projection - Specifies attributes that are copied (projected) from the 16976 // table into the index. These are in addition to the primary key attributes 16977 // and index key attributes, which are automatically projected. Each attribute 16978 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 16979 // - Only the index and primary keys are projected into the index. INCLUDE 16980 // - Only the specified table attributes are projected into the index. The 16981 // list of projected attributes is in NonKeyAttributes. ALL - All of the 16982 // table attributes are projected into the index. NonKeyAttributes - A list 16983 // of one or more non-key attribute names that are projected into the secondary 16984 // index. The total count of attributes provided in NonKeyAttributes, summed 16985 // across all of the secondary indexes, must not exceed 20. If you project 16986 // the same attribute into two different indexes, this counts as two distinct 16987 // attributes when determining the total. 16988 // 16989 // * ProvisionedThroughput - The provisioned throughput settings for the 16990 // global secondary index, consisting of read and write capacity units, along 16991 // with data about increases and decreases. 16992 // 16993 // If the table is in the DELETING state, no information about indexes will 16994 // be returned. 16995 GlobalSecondaryIndexes []*GlobalSecondaryIndexDescription `type:"list"` 16996 16997 // Represents the version of global tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html) 16998 // in use, if the table is replicated across AWS Regions. 16999 GlobalTableVersion *string `type:"string"` 17000 17001 // The number of items in the specified table. DynamoDB updates this value approximately 17002 // every six hours. Recent changes might not be reflected in this value. 17003 ItemCount *int64 `type:"long"` 17004 17005 // The primary key structure for the table. Each KeySchemaElement consists of: 17006 // 17007 // * AttributeName - The name of the attribute. 17008 // 17009 // * KeyType - The role of the attribute: HASH - partition key RANGE - sort 17010 // key The partition key of an item is also known as its hash attribute. 17011 // The term "hash attribute" derives from DynamoDB's usage of an internal 17012 // hash function to evenly distribute data items across partitions, based 17013 // on their partition key values. The sort key of an item is also known as 17014 // its range attribute. The term "range attribute" derives from the way DynamoDB 17015 // stores items with the same partition key physically close together, in 17016 // sorted order by the sort key value. 17017 // 17018 // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) 17019 // in the Amazon DynamoDB Developer Guide. 17020 KeySchema []*KeySchemaElement `min:"1" type:"list"` 17021 17022 // The Amazon Resource Name (ARN) that uniquely identifies the latest stream 17023 // for this table. 17024 LatestStreamArn *string `min:"37" type:"string"` 17025 17026 // A timestamp, in ISO 8601 format, for this stream. 17027 // 17028 // Note that LatestStreamLabel is not a unique identifier for the stream, because 17029 // it is possible that a stream from another table might have the same timestamp. 17030 // However, the combination of the following three elements is guaranteed to 17031 // be unique: 17032 // 17033 // * AWS customer ID 17034 // 17035 // * Table name 17036 // 17037 // * StreamLabel 17038 LatestStreamLabel *string `type:"string"` 17039 17040 // Represents one or more local secondary indexes on the table. Each index is 17041 // scoped to a given partition key value. Tables with one or more local secondary 17042 // indexes are subject to an item collection size limit, where the amount of 17043 // data within a given item collection cannot exceed 10 GB. Each element is 17044 // composed of: 17045 // 17046 // * IndexName - The name of the local secondary index. 17047 // 17048 // * KeySchema - Specifies the complete index key schema. The attribute names 17049 // in the key schema must be between 1 and 255 characters (inclusive). The 17050 // key schema must begin with the same partition key as the table. 17051 // 17052 // * Projection - Specifies attributes that are copied (projected) from the 17053 // table into the index. These are in addition to the primary key attributes 17054 // and index key attributes, which are automatically projected. Each attribute 17055 // specification is composed of: ProjectionType - One of the following: KEYS_ONLY 17056 // - Only the index and primary keys are projected into the index. INCLUDE 17057 // - Only the specified table attributes are projected into the index. The 17058 // list of projected attributes is in NonKeyAttributes. ALL - All of the 17059 // table attributes are projected into the index. NonKeyAttributes - A list 17060 // of one or more non-key attribute names that are projected into the secondary 17061 // index. The total count of attributes provided in NonKeyAttributes, summed 17062 // across all of the secondary indexes, must not exceed 20. If you project 17063 // the same attribute into two different indexes, this counts as two distinct 17064 // attributes when determining the total. 17065 // 17066 // * IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB 17067 // updates this value approximately every six hours. Recent changes might 17068 // not be reflected in this value. 17069 // 17070 // * ItemCount - Represents the number of items in the index. DynamoDB updates 17071 // this value approximately every six hours. Recent changes might not be 17072 // reflected in this value. 17073 // 17074 // If the table is in the DELETING state, no information about indexes will 17075 // be returned. 17076 LocalSecondaryIndexes []*LocalSecondaryIndexDescription `type:"list"` 17077 17078 // The provisioned throughput settings for the table, consisting of read and 17079 // write capacity units, along with data about increases and decreases. 17080 ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` 17081 17082 // Represents replicas of the table. 17083 Replicas []*ReplicaDescription `type:"list"` 17084 17085 // Contains details for the restore. 17086 RestoreSummary *RestoreSummary `type:"structure"` 17087 17088 // The description of the server-side encryption status on the specified table. 17089 SSEDescription *SSEDescription `type:"structure"` 17090 17091 // The current DynamoDB Streams configuration for the table. 17092 StreamSpecification *StreamSpecification `type:"structure"` 17093 17094 // The Amazon Resource Name (ARN) that uniquely identifies the table. 17095 TableArn *string `type:"string"` 17096 17097 // Unique identifier for the table for which the backup was created. 17098 TableId *string `type:"string"` 17099 17100 // The name of the table. 17101 TableName *string `min:"3" type:"string"` 17102 17103 // The total size of the specified table, in bytes. DynamoDB updates this value 17104 // approximately every six hours. Recent changes might not be reflected in this 17105 // value. 17106 TableSizeBytes *int64 `type:"long"` 17107 17108 // The current state of the table: 17109 // 17110 // * CREATING - The table is being created. 17111 // 17112 // * UPDATING - The table is being updated. 17113 // 17114 // * DELETING - The table is being deleted. 17115 // 17116 // * ACTIVE - The table is ready for use. 17117 // 17118 // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt 17119 // the table in inaccessible. Table operations may fail due to failure to 17120 // use the AWS KMS key. DynamoDB will initiate the table archival process 17121 // when a table's AWS KMS key remains inaccessible for more than seven days. 17122 // 17123 // * ARCHIVING - The table is being archived. Operations are not allowed 17124 // until archival is complete. 17125 // 17126 // * ARCHIVED - The table has been archived. See the ArchivalReason for more 17127 // information. 17128 TableStatus *string `type:"string" enum:"TableStatus"` 17129} 17130 17131// String returns the string representation 17132func (s TableDescription) String() string { 17133 return awsutil.Prettify(s) 17134} 17135 17136// GoString returns the string representation 17137func (s TableDescription) GoString() string { 17138 return s.String() 17139} 17140 17141// SetArchivalSummary sets the ArchivalSummary field's value. 17142func (s *TableDescription) SetArchivalSummary(v *ArchivalSummary) *TableDescription { 17143 s.ArchivalSummary = v 17144 return s 17145} 17146 17147// SetAttributeDefinitions sets the AttributeDefinitions field's value. 17148func (s *TableDescription) SetAttributeDefinitions(v []*AttributeDefinition) *TableDescription { 17149 s.AttributeDefinitions = v 17150 return s 17151} 17152 17153// SetBillingModeSummary sets the BillingModeSummary field's value. 17154func (s *TableDescription) SetBillingModeSummary(v *BillingModeSummary) *TableDescription { 17155 s.BillingModeSummary = v 17156 return s 17157} 17158 17159// SetCreationDateTime sets the CreationDateTime field's value. 17160func (s *TableDescription) SetCreationDateTime(v time.Time) *TableDescription { 17161 s.CreationDateTime = &v 17162 return s 17163} 17164 17165// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 17166func (s *TableDescription) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexDescription) *TableDescription { 17167 s.GlobalSecondaryIndexes = v 17168 return s 17169} 17170 17171// SetGlobalTableVersion sets the GlobalTableVersion field's value. 17172func (s *TableDescription) SetGlobalTableVersion(v string) *TableDescription { 17173 s.GlobalTableVersion = &v 17174 return s 17175} 17176 17177// SetItemCount sets the ItemCount field's value. 17178func (s *TableDescription) SetItemCount(v int64) *TableDescription { 17179 s.ItemCount = &v 17180 return s 17181} 17182 17183// SetKeySchema sets the KeySchema field's value. 17184func (s *TableDescription) SetKeySchema(v []*KeySchemaElement) *TableDescription { 17185 s.KeySchema = v 17186 return s 17187} 17188 17189// SetLatestStreamArn sets the LatestStreamArn field's value. 17190func (s *TableDescription) SetLatestStreamArn(v string) *TableDescription { 17191 s.LatestStreamArn = &v 17192 return s 17193} 17194 17195// SetLatestStreamLabel sets the LatestStreamLabel field's value. 17196func (s *TableDescription) SetLatestStreamLabel(v string) *TableDescription { 17197 s.LatestStreamLabel = &v 17198 return s 17199} 17200 17201// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. 17202func (s *TableDescription) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexDescription) *TableDescription { 17203 s.LocalSecondaryIndexes = v 17204 return s 17205} 17206 17207// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 17208func (s *TableDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *TableDescription { 17209 s.ProvisionedThroughput = v 17210 return s 17211} 17212 17213// SetReplicas sets the Replicas field's value. 17214func (s *TableDescription) SetReplicas(v []*ReplicaDescription) *TableDescription { 17215 s.Replicas = v 17216 return s 17217} 17218 17219// SetRestoreSummary sets the RestoreSummary field's value. 17220func (s *TableDescription) SetRestoreSummary(v *RestoreSummary) *TableDescription { 17221 s.RestoreSummary = v 17222 return s 17223} 17224 17225// SetSSEDescription sets the SSEDescription field's value. 17226func (s *TableDescription) SetSSEDescription(v *SSEDescription) *TableDescription { 17227 s.SSEDescription = v 17228 return s 17229} 17230 17231// SetStreamSpecification sets the StreamSpecification field's value. 17232func (s *TableDescription) SetStreamSpecification(v *StreamSpecification) *TableDescription { 17233 s.StreamSpecification = v 17234 return s 17235} 17236 17237// SetTableArn sets the TableArn field's value. 17238func (s *TableDescription) SetTableArn(v string) *TableDescription { 17239 s.TableArn = &v 17240 return s 17241} 17242 17243// SetTableId sets the TableId field's value. 17244func (s *TableDescription) SetTableId(v string) *TableDescription { 17245 s.TableId = &v 17246 return s 17247} 17248 17249// SetTableName sets the TableName field's value. 17250func (s *TableDescription) SetTableName(v string) *TableDescription { 17251 s.TableName = &v 17252 return s 17253} 17254 17255// SetTableSizeBytes sets the TableSizeBytes field's value. 17256func (s *TableDescription) SetTableSizeBytes(v int64) *TableDescription { 17257 s.TableSizeBytes = &v 17258 return s 17259} 17260 17261// SetTableStatus sets the TableStatus field's value. 17262func (s *TableDescription) SetTableStatus(v string) *TableDescription { 17263 s.TableStatus = &v 17264 return s 17265} 17266 17267// A target table with the specified name is either being created or deleted. 17268type TableInUseException struct { 17269 _ struct{} `type:"structure"` 17270 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17271 17272 Message_ *string `locationName:"message" type:"string"` 17273} 17274 17275// String returns the string representation 17276func (s TableInUseException) String() string { 17277 return awsutil.Prettify(s) 17278} 17279 17280// GoString returns the string representation 17281func (s TableInUseException) GoString() string { 17282 return s.String() 17283} 17284 17285func newErrorTableInUseException(v protocol.ResponseMetadata) error { 17286 return &TableInUseException{ 17287 RespMetadata: v, 17288 } 17289} 17290 17291// Code returns the exception type name. 17292func (s *TableInUseException) Code() string { 17293 return "TableInUseException" 17294} 17295 17296// Message returns the exception's message. 17297func (s *TableInUseException) Message() string { 17298 if s.Message_ != nil { 17299 return *s.Message_ 17300 } 17301 return "" 17302} 17303 17304// OrigErr always returns nil, satisfies awserr.Error interface. 17305func (s *TableInUseException) OrigErr() error { 17306 return nil 17307} 17308 17309func (s *TableInUseException) Error() string { 17310 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17311} 17312 17313// Status code returns the HTTP status code for the request's response error. 17314func (s *TableInUseException) StatusCode() int { 17315 return s.RespMetadata.StatusCode 17316} 17317 17318// RequestID returns the service's response RequestID for request. 17319func (s *TableInUseException) RequestID() string { 17320 return s.RespMetadata.RequestID 17321} 17322 17323// A source table with the name TableName does not currently exist within the 17324// subscriber's account. 17325type TableNotFoundException struct { 17326 _ struct{} `type:"structure"` 17327 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17328 17329 Message_ *string `locationName:"message" type:"string"` 17330} 17331 17332// String returns the string representation 17333func (s TableNotFoundException) String() string { 17334 return awsutil.Prettify(s) 17335} 17336 17337// GoString returns the string representation 17338func (s TableNotFoundException) GoString() string { 17339 return s.String() 17340} 17341 17342func newErrorTableNotFoundException(v protocol.ResponseMetadata) error { 17343 return &TableNotFoundException{ 17344 RespMetadata: v, 17345 } 17346} 17347 17348// Code returns the exception type name. 17349func (s *TableNotFoundException) Code() string { 17350 return "TableNotFoundException" 17351} 17352 17353// Message returns the exception's message. 17354func (s *TableNotFoundException) Message() string { 17355 if s.Message_ != nil { 17356 return *s.Message_ 17357 } 17358 return "" 17359} 17360 17361// OrigErr always returns nil, satisfies awserr.Error interface. 17362func (s *TableNotFoundException) OrigErr() error { 17363 return nil 17364} 17365 17366func (s *TableNotFoundException) Error() string { 17367 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17368} 17369 17370// Status code returns the HTTP status code for the request's response error. 17371func (s *TableNotFoundException) StatusCode() int { 17372 return s.RespMetadata.StatusCode 17373} 17374 17375// RequestID returns the service's response RequestID for request. 17376func (s *TableNotFoundException) RequestID() string { 17377 return s.RespMetadata.RequestID 17378} 17379 17380// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to 17381// a single DynamoDB table. 17382// 17383// AWS-assigned tag names and values are automatically assigned the aws: prefix, 17384// which the user cannot assign. AWS-assigned tag names do not count towards 17385// the tag limit of 50. User-assigned tag names have the prefix user: in the 17386// Cost Allocation Report. You cannot backdate the application of a tag. 17387// 17388// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) 17389// in the Amazon DynamoDB Developer Guide. 17390type Tag struct { 17391 _ struct{} `type:"structure"` 17392 17393 // The key of the tag. Tag keys are case sensitive. Each DynamoDB table can 17394 // only have up to one tag with the same key. If you try to add an existing 17395 // tag (same key), the existing tag value will be updated to the new value. 17396 // 17397 // Key is a required field 17398 Key *string `min:"1" type:"string" required:"true"` 17399 17400 // The value of the tag. Tag values are case-sensitive and can be null. 17401 // 17402 // Value is a required field 17403 Value *string `type:"string" required:"true"` 17404} 17405 17406// String returns the string representation 17407func (s Tag) String() string { 17408 return awsutil.Prettify(s) 17409} 17410 17411// GoString returns the string representation 17412func (s Tag) GoString() string { 17413 return s.String() 17414} 17415 17416// Validate inspects the fields of the type to determine if they are valid. 17417func (s *Tag) Validate() error { 17418 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17419 if s.Key == nil { 17420 invalidParams.Add(request.NewErrParamRequired("Key")) 17421 } 17422 if s.Key != nil && len(*s.Key) < 1 { 17423 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17424 } 17425 if s.Value == nil { 17426 invalidParams.Add(request.NewErrParamRequired("Value")) 17427 } 17428 17429 if invalidParams.Len() > 0 { 17430 return invalidParams 17431 } 17432 return nil 17433} 17434 17435// SetKey sets the Key field's value. 17436func (s *Tag) SetKey(v string) *Tag { 17437 s.Key = &v 17438 return s 17439} 17440 17441// SetValue sets the Value field's value. 17442func (s *Tag) SetValue(v string) *Tag { 17443 s.Value = &v 17444 return s 17445} 17446 17447type TagResourceInput struct { 17448 _ struct{} `type:"structure"` 17449 17450 // Identifies the Amazon DynamoDB resource to which tags should be added. This 17451 // value is an Amazon Resource Name (ARN). 17452 // 17453 // ResourceArn is a required field 17454 ResourceArn *string `min:"1" type:"string" required:"true"` 17455 17456 // The tags to be assigned to the Amazon DynamoDB resource. 17457 // 17458 // Tags is a required field 17459 Tags []*Tag `type:"list" required:"true"` 17460} 17461 17462// String returns the string representation 17463func (s TagResourceInput) String() string { 17464 return awsutil.Prettify(s) 17465} 17466 17467// GoString returns the string representation 17468func (s TagResourceInput) GoString() string { 17469 return s.String() 17470} 17471 17472// Validate inspects the fields of the type to determine if they are valid. 17473func (s *TagResourceInput) Validate() error { 17474 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 17475 if s.ResourceArn == nil { 17476 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17477 } 17478 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 17479 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 17480 } 17481 if s.Tags == nil { 17482 invalidParams.Add(request.NewErrParamRequired("Tags")) 17483 } 17484 if s.Tags != nil { 17485 for i, v := range s.Tags { 17486 if v == nil { 17487 continue 17488 } 17489 if err := v.Validate(); err != nil { 17490 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17491 } 17492 } 17493 } 17494 17495 if invalidParams.Len() > 0 { 17496 return invalidParams 17497 } 17498 return nil 17499} 17500 17501// SetResourceArn sets the ResourceArn field's value. 17502func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 17503 s.ResourceArn = &v 17504 return s 17505} 17506 17507// SetTags sets the Tags field's value. 17508func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 17509 s.Tags = v 17510 return s 17511} 17512 17513type TagResourceOutput struct { 17514 _ struct{} `type:"structure"` 17515} 17516 17517// String returns the string representation 17518func (s TagResourceOutput) String() string { 17519 return awsutil.Prettify(s) 17520} 17521 17522// GoString returns the string representation 17523func (s TagResourceOutput) GoString() string { 17524 return s.String() 17525} 17526 17527// The description of the Time to Live (TTL) status on the specified table. 17528type TimeToLiveDescription struct { 17529 _ struct{} `type:"structure"` 17530 17531 // The name of the TTL attribute for items in the table. 17532 AttributeName *string `min:"1" type:"string"` 17533 17534 // The TTL status for the table. 17535 TimeToLiveStatus *string `type:"string" enum:"TimeToLiveStatus"` 17536} 17537 17538// String returns the string representation 17539func (s TimeToLiveDescription) String() string { 17540 return awsutil.Prettify(s) 17541} 17542 17543// GoString returns the string representation 17544func (s TimeToLiveDescription) GoString() string { 17545 return s.String() 17546} 17547 17548// SetAttributeName sets the AttributeName field's value. 17549func (s *TimeToLiveDescription) SetAttributeName(v string) *TimeToLiveDescription { 17550 s.AttributeName = &v 17551 return s 17552} 17553 17554// SetTimeToLiveStatus sets the TimeToLiveStatus field's value. 17555func (s *TimeToLiveDescription) SetTimeToLiveStatus(v string) *TimeToLiveDescription { 17556 s.TimeToLiveStatus = &v 17557 return s 17558} 17559 17560// Represents the settings used to enable or disable Time to Live (TTL) for 17561// the specified table. 17562type TimeToLiveSpecification struct { 17563 _ struct{} `type:"structure"` 17564 17565 // The name of the TTL attribute used to store the expiration time for items 17566 // in the table. 17567 // 17568 // AttributeName is a required field 17569 AttributeName *string `min:"1" type:"string" required:"true"` 17570 17571 // Indicates whether TTL is to be enabled (true) or disabled (false) on the 17572 // table. 17573 // 17574 // Enabled is a required field 17575 Enabled *bool `type:"boolean" required:"true"` 17576} 17577 17578// String returns the string representation 17579func (s TimeToLiveSpecification) String() string { 17580 return awsutil.Prettify(s) 17581} 17582 17583// GoString returns the string representation 17584func (s TimeToLiveSpecification) GoString() string { 17585 return s.String() 17586} 17587 17588// Validate inspects the fields of the type to determine if they are valid. 17589func (s *TimeToLiveSpecification) Validate() error { 17590 invalidParams := request.ErrInvalidParams{Context: "TimeToLiveSpecification"} 17591 if s.AttributeName == nil { 17592 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 17593 } 17594 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 17595 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 17596 } 17597 if s.Enabled == nil { 17598 invalidParams.Add(request.NewErrParamRequired("Enabled")) 17599 } 17600 17601 if invalidParams.Len() > 0 { 17602 return invalidParams 17603 } 17604 return nil 17605} 17606 17607// SetAttributeName sets the AttributeName field's value. 17608func (s *TimeToLiveSpecification) SetAttributeName(v string) *TimeToLiveSpecification { 17609 s.AttributeName = &v 17610 return s 17611} 17612 17613// SetEnabled sets the Enabled field's value. 17614func (s *TimeToLiveSpecification) SetEnabled(v bool) *TimeToLiveSpecification { 17615 s.Enabled = &v 17616 return s 17617} 17618 17619// Specifies an item to be retrieved as part of the transaction. 17620type TransactGetItem struct { 17621 _ struct{} `type:"structure"` 17622 17623 // Contains the primary key that identifies the item to get, together with the 17624 // name of the table that contains the item, and optionally the specific attributes 17625 // of the item to retrieve. 17626 // 17627 // Get is a required field 17628 Get *Get `type:"structure" required:"true"` 17629} 17630 17631// String returns the string representation 17632func (s TransactGetItem) String() string { 17633 return awsutil.Prettify(s) 17634} 17635 17636// GoString returns the string representation 17637func (s TransactGetItem) GoString() string { 17638 return s.String() 17639} 17640 17641// Validate inspects the fields of the type to determine if they are valid. 17642func (s *TransactGetItem) Validate() error { 17643 invalidParams := request.ErrInvalidParams{Context: "TransactGetItem"} 17644 if s.Get == nil { 17645 invalidParams.Add(request.NewErrParamRequired("Get")) 17646 } 17647 if s.Get != nil { 17648 if err := s.Get.Validate(); err != nil { 17649 invalidParams.AddNested("Get", err.(request.ErrInvalidParams)) 17650 } 17651 } 17652 17653 if invalidParams.Len() > 0 { 17654 return invalidParams 17655 } 17656 return nil 17657} 17658 17659// SetGet sets the Get field's value. 17660func (s *TransactGetItem) SetGet(v *Get) *TransactGetItem { 17661 s.Get = v 17662 return s 17663} 17664 17665type TransactGetItemsInput struct { 17666 _ struct{} `type:"structure"` 17667 17668 // A value of TOTAL causes consumed capacity information to be returned, and 17669 // a value of NONE prevents that information from being returned. No other value 17670 // is valid. 17671 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 17672 17673 // An ordered array of up to 25 TransactGetItem objects, each of which contains 17674 // a Get structure. 17675 // 17676 // TransactItems is a required field 17677 TransactItems []*TransactGetItem `min:"1" type:"list" required:"true"` 17678} 17679 17680// String returns the string representation 17681func (s TransactGetItemsInput) String() string { 17682 return awsutil.Prettify(s) 17683} 17684 17685// GoString returns the string representation 17686func (s TransactGetItemsInput) GoString() string { 17687 return s.String() 17688} 17689 17690// Validate inspects the fields of the type to determine if they are valid. 17691func (s *TransactGetItemsInput) Validate() error { 17692 invalidParams := request.ErrInvalidParams{Context: "TransactGetItemsInput"} 17693 if s.TransactItems == nil { 17694 invalidParams.Add(request.NewErrParamRequired("TransactItems")) 17695 } 17696 if s.TransactItems != nil && len(s.TransactItems) < 1 { 17697 invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1)) 17698 } 17699 if s.TransactItems != nil { 17700 for i, v := range s.TransactItems { 17701 if v == nil { 17702 continue 17703 } 17704 if err := v.Validate(); err != nil { 17705 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams)) 17706 } 17707 } 17708 } 17709 17710 if invalidParams.Len() > 0 { 17711 return invalidParams 17712 } 17713 return nil 17714} 17715 17716// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 17717func (s *TransactGetItemsInput) SetReturnConsumedCapacity(v string) *TransactGetItemsInput { 17718 s.ReturnConsumedCapacity = &v 17719 return s 17720} 17721 17722// SetTransactItems sets the TransactItems field's value. 17723func (s *TransactGetItemsInput) SetTransactItems(v []*TransactGetItem) *TransactGetItemsInput { 17724 s.TransactItems = v 17725 return s 17726} 17727 17728type TransactGetItemsOutput struct { 17729 _ struct{} `type:"structure"` 17730 17731 // If the ReturnConsumedCapacity value was TOTAL, this is an array of ConsumedCapacity 17732 // objects, one for each table addressed by TransactGetItem objects in the TransactItems 17733 // parameter. These ConsumedCapacity objects report the read-capacity units 17734 // consumed by the TransactGetItems call in that table. 17735 ConsumedCapacity []*ConsumedCapacity `type:"list"` 17736 17737 // An ordered array of up to 25 ItemResponse objects, each of which corresponds 17738 // to the TransactGetItem object in the same position in the TransactItems array. 17739 // Each ItemResponse object contains a Map of the name-value pairs that are 17740 // the projected attributes of the requested item. 17741 // 17742 // If a requested item could not be retrieved, the corresponding ItemResponse 17743 // object is Null, or if the requested item has no projected attributes, the 17744 // corresponding ItemResponse object is an empty Map. 17745 Responses []*ItemResponse `min:"1" type:"list"` 17746} 17747 17748// String returns the string representation 17749func (s TransactGetItemsOutput) String() string { 17750 return awsutil.Prettify(s) 17751} 17752 17753// GoString returns the string representation 17754func (s TransactGetItemsOutput) GoString() string { 17755 return s.String() 17756} 17757 17758// SetConsumedCapacity sets the ConsumedCapacity field's value. 17759func (s *TransactGetItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactGetItemsOutput { 17760 s.ConsumedCapacity = v 17761 return s 17762} 17763 17764// SetResponses sets the Responses field's value. 17765func (s *TransactGetItemsOutput) SetResponses(v []*ItemResponse) *TransactGetItemsOutput { 17766 s.Responses = v 17767 return s 17768} 17769 17770// A list of requests that can perform update, put, delete, or check operations 17771// on multiple items in one or more tables atomically. 17772type TransactWriteItem struct { 17773 _ struct{} `type:"structure"` 17774 17775 // A request to perform a check item operation. 17776 ConditionCheck *ConditionCheck `type:"structure"` 17777 17778 // A request to perform a DeleteItem operation. 17779 Delete *Delete `type:"structure"` 17780 17781 // A request to perform a PutItem operation. 17782 Put *Put `type:"structure"` 17783 17784 // A request to perform an UpdateItem operation. 17785 Update *Update `type:"structure"` 17786} 17787 17788// String returns the string representation 17789func (s TransactWriteItem) String() string { 17790 return awsutil.Prettify(s) 17791} 17792 17793// GoString returns the string representation 17794func (s TransactWriteItem) GoString() string { 17795 return s.String() 17796} 17797 17798// Validate inspects the fields of the type to determine if they are valid. 17799func (s *TransactWriteItem) Validate() error { 17800 invalidParams := request.ErrInvalidParams{Context: "TransactWriteItem"} 17801 if s.ConditionCheck != nil { 17802 if err := s.ConditionCheck.Validate(); err != nil { 17803 invalidParams.AddNested("ConditionCheck", err.(request.ErrInvalidParams)) 17804 } 17805 } 17806 if s.Delete != nil { 17807 if err := s.Delete.Validate(); err != nil { 17808 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 17809 } 17810 } 17811 if s.Put != nil { 17812 if err := s.Put.Validate(); err != nil { 17813 invalidParams.AddNested("Put", err.(request.ErrInvalidParams)) 17814 } 17815 } 17816 if s.Update != nil { 17817 if err := s.Update.Validate(); err != nil { 17818 invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) 17819 } 17820 } 17821 17822 if invalidParams.Len() > 0 { 17823 return invalidParams 17824 } 17825 return nil 17826} 17827 17828// SetConditionCheck sets the ConditionCheck field's value. 17829func (s *TransactWriteItem) SetConditionCheck(v *ConditionCheck) *TransactWriteItem { 17830 s.ConditionCheck = v 17831 return s 17832} 17833 17834// SetDelete sets the Delete field's value. 17835func (s *TransactWriteItem) SetDelete(v *Delete) *TransactWriteItem { 17836 s.Delete = v 17837 return s 17838} 17839 17840// SetPut sets the Put field's value. 17841func (s *TransactWriteItem) SetPut(v *Put) *TransactWriteItem { 17842 s.Put = v 17843 return s 17844} 17845 17846// SetUpdate sets the Update field's value. 17847func (s *TransactWriteItem) SetUpdate(v *Update) *TransactWriteItem { 17848 s.Update = v 17849 return s 17850} 17851 17852type TransactWriteItemsInput struct { 17853 _ struct{} `type:"structure"` 17854 17855 // Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, 17856 // meaning that multiple identical calls have the same effect as one single 17857 // call. 17858 // 17859 // Although multiple identical calls using the same client request token produce 17860 // the same result on the server (no side effects), the responses to the calls 17861 // might not be the same. If the ReturnConsumedCapacity> parameter is set, then 17862 // the initial TransactWriteItems call returns the amount of write capacity 17863 // units consumed in making the changes. Subsequent TransactWriteItems calls 17864 // with the same client token return the number of read capacity units consumed 17865 // in reading the item. 17866 // 17867 // A client request token is valid for 10 minutes after the first request that 17868 // uses it is completed. After 10 minutes, any request with the same client 17869 // token is treated as a new request. Do not resubmit the same request with 17870 // the same client token for more than 10 minutes, or the result might not be 17871 // idempotent. 17872 // 17873 // If you submit a request with the same client token but a change in other 17874 // parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch 17875 // exception. 17876 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 17877 17878 // Determines the level of detail about provisioned throughput consumption that 17879 // is returned in the response: 17880 // 17881 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 17882 // operation, together with ConsumedCapacity for each table and secondary 17883 // index that was accessed. Note that some operations, such as GetItem and 17884 // BatchGetItem, do not access any indexes at all. In these cases, specifying 17885 // INDEXES will only return ConsumedCapacity information for table(s). 17886 // 17887 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 17888 // the operation. 17889 // 17890 // * NONE - No ConsumedCapacity details are included in the response. 17891 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 17892 17893 // Determines whether item collection metrics are returned. If set to SIZE, 17894 // the response includes statistics about item collections (if any), that were 17895 // modified during the operation and are returned in the response. If set to 17896 // NONE (the default), no statistics are returned. 17897 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 17898 17899 // An ordered array of up to 25 TransactWriteItem objects, each of which contains 17900 // a ConditionCheck, Put, Update, or Delete object. These can operate on items 17901 // in different tables, but the tables must reside in the same AWS account and 17902 // Region, and no two of them can operate on the same item. 17903 // 17904 // TransactItems is a required field 17905 TransactItems []*TransactWriteItem `min:"1" type:"list" required:"true"` 17906} 17907 17908// String returns the string representation 17909func (s TransactWriteItemsInput) String() string { 17910 return awsutil.Prettify(s) 17911} 17912 17913// GoString returns the string representation 17914func (s TransactWriteItemsInput) GoString() string { 17915 return s.String() 17916} 17917 17918// Validate inspects the fields of the type to determine if they are valid. 17919func (s *TransactWriteItemsInput) Validate() error { 17920 invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"} 17921 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 17922 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 17923 } 17924 if s.TransactItems == nil { 17925 invalidParams.Add(request.NewErrParamRequired("TransactItems")) 17926 } 17927 if s.TransactItems != nil && len(s.TransactItems) < 1 { 17928 invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1)) 17929 } 17930 if s.TransactItems != nil { 17931 for i, v := range s.TransactItems { 17932 if v == nil { 17933 continue 17934 } 17935 if err := v.Validate(); err != nil { 17936 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams)) 17937 } 17938 } 17939 } 17940 17941 if invalidParams.Len() > 0 { 17942 return invalidParams 17943 } 17944 return nil 17945} 17946 17947// SetClientRequestToken sets the ClientRequestToken field's value. 17948func (s *TransactWriteItemsInput) SetClientRequestToken(v string) *TransactWriteItemsInput { 17949 s.ClientRequestToken = &v 17950 return s 17951} 17952 17953// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 17954func (s *TransactWriteItemsInput) SetReturnConsumedCapacity(v string) *TransactWriteItemsInput { 17955 s.ReturnConsumedCapacity = &v 17956 return s 17957} 17958 17959// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 17960func (s *TransactWriteItemsInput) SetReturnItemCollectionMetrics(v string) *TransactWriteItemsInput { 17961 s.ReturnItemCollectionMetrics = &v 17962 return s 17963} 17964 17965// SetTransactItems sets the TransactItems field's value. 17966func (s *TransactWriteItemsInput) SetTransactItems(v []*TransactWriteItem) *TransactWriteItemsInput { 17967 s.TransactItems = v 17968 return s 17969} 17970 17971type TransactWriteItemsOutput struct { 17972 _ struct{} `type:"structure"` 17973 17974 // The capacity units consumed by the entire TransactWriteItems operation. The 17975 // values of the list are ordered according to the ordering of the TransactItems 17976 // request parameter. 17977 ConsumedCapacity []*ConsumedCapacity `type:"list"` 17978 17979 // A list of tables that were processed by TransactWriteItems and, for each 17980 // table, information about any item collections that were affected by individual 17981 // UpdateItem, PutItem, or DeleteItem operations. 17982 ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` 17983} 17984 17985// String returns the string representation 17986func (s TransactWriteItemsOutput) String() string { 17987 return awsutil.Prettify(s) 17988} 17989 17990// GoString returns the string representation 17991func (s TransactWriteItemsOutput) GoString() string { 17992 return s.String() 17993} 17994 17995// SetConsumedCapacity sets the ConsumedCapacity field's value. 17996func (s *TransactWriteItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactWriteItemsOutput { 17997 s.ConsumedCapacity = v 17998 return s 17999} 18000 18001// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 18002func (s *TransactWriteItemsOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *TransactWriteItemsOutput { 18003 s.ItemCollectionMetrics = v 18004 return s 18005} 18006 18007// The entire transaction request was canceled. 18008// 18009// DynamoDB cancels a TransactWriteItems request under the following circumstances: 18010// 18011// * A condition in one of the condition expressions is not met. 18012// 18013// * A table in the TransactWriteItems request is in a different account 18014// or region. 18015// 18016// * More than one action in the TransactWriteItems operation targets the 18017// same item. 18018// 18019// * There is insufficient provisioned capacity for the transaction to be 18020// completed. 18021// 18022// * An item size becomes too large (larger than 400 KB), or a local secondary 18023// index (LSI) becomes too large, or a similar validation error occurs because 18024// of changes made by the transaction. 18025// 18026// * There is a user error, such as an invalid data format. 18027// 18028// DynamoDB cancels a TransactGetItems request under the following circumstances: 18029// 18030// * There is an ongoing TransactGetItems operation that conflicts with a 18031// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. 18032// In this case the TransactGetItems operation fails with a TransactionCanceledException. 18033// 18034// * A table in the TransactGetItems request is in a different account or 18035// region. 18036// 18037// * There is insufficient provisioned capacity for the transaction to be 18038// completed. 18039// 18040// * There is a user error, such as an invalid data format. 18041// 18042// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons 18043// property. This property is not set for other languages. Transaction cancellation 18044// reasons are ordered in the order of requested items, if an item has no error 18045// it will have NONE code and Null message. 18046// 18047// Cancellation reason codes and possible error messages: 18048// 18049// * No Errors: Code: NONE Message: null 18050// 18051// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The 18052// conditional request failed. 18053// 18054// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded 18055// Message: Collection size exceeded. 18056// 18057// * Transaction Conflict: Code: TransactionConflict Message: Transaction 18058// is ongoing for the item. 18059// 18060// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded 18061// Messages: The level of configured provisioned throughput for the table 18062// was exceeded. Consider increasing your provisioning level with the UpdateTable 18063// API. This Message is received when provisioned throughput is exceeded 18064// is on a provisioned DynamoDB table. The level of configured provisioned 18065// throughput for one or more global secondary indexes of the table was exceeded. 18066// Consider increasing your provisioning level for the under-provisioned 18067// global secondary indexes with the UpdateTable API. This message is returned 18068// when provisioned throughput is exceeded is on a provisioned GSI. 18069// 18070// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds 18071// the current capacity of your table or index. DynamoDB is automatically 18072// scaling your table or index so please try again shortly. If exceptions 18073// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. 18074// This message is returned when writes get throttled on an On-Demand table 18075// as DynamoDB is automatically scaling the table. Throughput exceeds the 18076// current capacity for one or more global secondary indexes. DynamoDB is 18077// automatically scaling your index so please try again shortly. This message 18078// is returned when when writes get throttled on an On-Demand GSI as DynamoDB 18079// is automatically scaling the GSI. 18080// 18081// * Validation Error: Code: ValidationError Messages: One or more parameter 18082// values were invalid. The update expression attempted to update the secondary 18083// index key beyond allowed size limits. The update expression attempted 18084// to update the secondary index key to unsupported type. An operand in the 18085// update expression has an incorrect data type. Item size to update has 18086// exceeded the maximum allowed size. Number overflow. Attempting to store 18087// a number with magnitude larger than supported range. Type mismatch for 18088// attribute to update. Nesting Levels have exceeded supported limits. The 18089// document path provided in the update expression is invalid for update. 18090// The provided expression refers to an attribute that does not exist in 18091// the item. 18092type TransactionCanceledException struct { 18093 _ struct{} `type:"structure"` 18094 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18095 18096 // A list of cancellation reasons. 18097 CancellationReasons []*CancellationReason `min:"1" type:"list"` 18098 18099 Message_ *string `locationName:"Message" type:"string"` 18100} 18101 18102// String returns the string representation 18103func (s TransactionCanceledException) String() string { 18104 return awsutil.Prettify(s) 18105} 18106 18107// GoString returns the string representation 18108func (s TransactionCanceledException) GoString() string { 18109 return s.String() 18110} 18111 18112func newErrorTransactionCanceledException(v protocol.ResponseMetadata) error { 18113 return &TransactionCanceledException{ 18114 RespMetadata: v, 18115 } 18116} 18117 18118// Code returns the exception type name. 18119func (s *TransactionCanceledException) Code() string { 18120 return "TransactionCanceledException" 18121} 18122 18123// Message returns the exception's message. 18124func (s *TransactionCanceledException) Message() string { 18125 if s.Message_ != nil { 18126 return *s.Message_ 18127 } 18128 return "" 18129} 18130 18131// OrigErr always returns nil, satisfies awserr.Error interface. 18132func (s *TransactionCanceledException) OrigErr() error { 18133 return nil 18134} 18135 18136func (s *TransactionCanceledException) Error() string { 18137 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 18138} 18139 18140// Status code returns the HTTP status code for the request's response error. 18141func (s *TransactionCanceledException) StatusCode() int { 18142 return s.RespMetadata.StatusCode 18143} 18144 18145// RequestID returns the service's response RequestID for request. 18146func (s *TransactionCanceledException) RequestID() string { 18147 return s.RespMetadata.RequestID 18148} 18149 18150// Operation was rejected because there is an ongoing transaction for the item. 18151type TransactionConflictException struct { 18152 _ struct{} `type:"structure"` 18153 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18154 18155 Message_ *string `locationName:"message" type:"string"` 18156} 18157 18158// String returns the string representation 18159func (s TransactionConflictException) String() string { 18160 return awsutil.Prettify(s) 18161} 18162 18163// GoString returns the string representation 18164func (s TransactionConflictException) GoString() string { 18165 return s.String() 18166} 18167 18168func newErrorTransactionConflictException(v protocol.ResponseMetadata) error { 18169 return &TransactionConflictException{ 18170 RespMetadata: v, 18171 } 18172} 18173 18174// Code returns the exception type name. 18175func (s *TransactionConflictException) Code() string { 18176 return "TransactionConflictException" 18177} 18178 18179// Message returns the exception's message. 18180func (s *TransactionConflictException) Message() string { 18181 if s.Message_ != nil { 18182 return *s.Message_ 18183 } 18184 return "" 18185} 18186 18187// OrigErr always returns nil, satisfies awserr.Error interface. 18188func (s *TransactionConflictException) OrigErr() error { 18189 return nil 18190} 18191 18192func (s *TransactionConflictException) Error() string { 18193 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18194} 18195 18196// Status code returns the HTTP status code for the request's response error. 18197func (s *TransactionConflictException) StatusCode() int { 18198 return s.RespMetadata.StatusCode 18199} 18200 18201// RequestID returns the service's response RequestID for request. 18202func (s *TransactionConflictException) RequestID() string { 18203 return s.RespMetadata.RequestID 18204} 18205 18206// The transaction with the given request token is already in progress. 18207type TransactionInProgressException struct { 18208 _ struct{} `type:"structure"` 18209 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18210 18211 Message_ *string `locationName:"Message" type:"string"` 18212} 18213 18214// String returns the string representation 18215func (s TransactionInProgressException) String() string { 18216 return awsutil.Prettify(s) 18217} 18218 18219// GoString returns the string representation 18220func (s TransactionInProgressException) GoString() string { 18221 return s.String() 18222} 18223 18224func newErrorTransactionInProgressException(v protocol.ResponseMetadata) error { 18225 return &TransactionInProgressException{ 18226 RespMetadata: v, 18227 } 18228} 18229 18230// Code returns the exception type name. 18231func (s *TransactionInProgressException) Code() string { 18232 return "TransactionInProgressException" 18233} 18234 18235// Message returns the exception's message. 18236func (s *TransactionInProgressException) Message() string { 18237 if s.Message_ != nil { 18238 return *s.Message_ 18239 } 18240 return "" 18241} 18242 18243// OrigErr always returns nil, satisfies awserr.Error interface. 18244func (s *TransactionInProgressException) OrigErr() error { 18245 return nil 18246} 18247 18248func (s *TransactionInProgressException) Error() string { 18249 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18250} 18251 18252// Status code returns the HTTP status code for the request's response error. 18253func (s *TransactionInProgressException) StatusCode() int { 18254 return s.RespMetadata.StatusCode 18255} 18256 18257// RequestID returns the service's response RequestID for request. 18258func (s *TransactionInProgressException) RequestID() string { 18259 return s.RespMetadata.RequestID 18260} 18261 18262type UntagResourceInput struct { 18263 _ struct{} `type:"structure"` 18264 18265 // The DynamoDB resource that the tags will be removed from. This value is an 18266 // Amazon Resource Name (ARN). 18267 // 18268 // ResourceArn is a required field 18269 ResourceArn *string `min:"1" type:"string" required:"true"` 18270 18271 // A list of tag keys. Existing tags of the resource whose keys are members 18272 // of this list will be removed from the DynamoDB resource. 18273 // 18274 // TagKeys is a required field 18275 TagKeys []*string `type:"list" required:"true"` 18276} 18277 18278// String returns the string representation 18279func (s UntagResourceInput) String() string { 18280 return awsutil.Prettify(s) 18281} 18282 18283// GoString returns the string representation 18284func (s UntagResourceInput) GoString() string { 18285 return s.String() 18286} 18287 18288// Validate inspects the fields of the type to determine if they are valid. 18289func (s *UntagResourceInput) Validate() error { 18290 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 18291 if s.ResourceArn == nil { 18292 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 18293 } 18294 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 18295 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 18296 } 18297 if s.TagKeys == nil { 18298 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 18299 } 18300 18301 if invalidParams.Len() > 0 { 18302 return invalidParams 18303 } 18304 return nil 18305} 18306 18307// SetResourceArn sets the ResourceArn field's value. 18308func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 18309 s.ResourceArn = &v 18310 return s 18311} 18312 18313// SetTagKeys sets the TagKeys field's value. 18314func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 18315 s.TagKeys = v 18316 return s 18317} 18318 18319type UntagResourceOutput struct { 18320 _ struct{} `type:"structure"` 18321} 18322 18323// String returns the string representation 18324func (s UntagResourceOutput) String() string { 18325 return awsutil.Prettify(s) 18326} 18327 18328// GoString returns the string representation 18329func (s UntagResourceOutput) GoString() string { 18330 return s.String() 18331} 18332 18333// Represents a request to perform an UpdateItem operation. 18334type Update struct { 18335 _ struct{} `type:"structure"` 18336 18337 // A condition that must be satisfied in order for a conditional update to succeed. 18338 ConditionExpression *string `type:"string"` 18339 18340 // One or more substitution tokens for attribute names in an expression. 18341 ExpressionAttributeNames map[string]*string `type:"map"` 18342 18343 // One or more values that can be substituted in an expression. 18344 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 18345 18346 // The primary key of the item to be updated. Each element consists of an attribute 18347 // name and a value for that attribute. 18348 // 18349 // Key is a required field 18350 Key map[string]*AttributeValue `type:"map" required:"true"` 18351 18352 // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the 18353 // Update condition fails. For ReturnValuesOnConditionCheckFailure, the valid 18354 // values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW. 18355 ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` 18356 18357 // Name of the table for the UpdateItem request. 18358 // 18359 // TableName is a required field 18360 TableName *string `min:"3" type:"string" required:"true"` 18361 18362 // An expression that defines one or more attributes to be updated, the action 18363 // to be performed on them, and new value(s) for them. 18364 // 18365 // UpdateExpression is a required field 18366 UpdateExpression *string `type:"string" required:"true"` 18367} 18368 18369// String returns the string representation 18370func (s Update) String() string { 18371 return awsutil.Prettify(s) 18372} 18373 18374// GoString returns the string representation 18375func (s Update) GoString() string { 18376 return s.String() 18377} 18378 18379// Validate inspects the fields of the type to determine if they are valid. 18380func (s *Update) Validate() error { 18381 invalidParams := request.ErrInvalidParams{Context: "Update"} 18382 if s.Key == nil { 18383 invalidParams.Add(request.NewErrParamRequired("Key")) 18384 } 18385 if s.TableName == nil { 18386 invalidParams.Add(request.NewErrParamRequired("TableName")) 18387 } 18388 if s.TableName != nil && len(*s.TableName) < 3 { 18389 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 18390 } 18391 if s.UpdateExpression == nil { 18392 invalidParams.Add(request.NewErrParamRequired("UpdateExpression")) 18393 } 18394 18395 if invalidParams.Len() > 0 { 18396 return invalidParams 18397 } 18398 return nil 18399} 18400 18401// SetConditionExpression sets the ConditionExpression field's value. 18402func (s *Update) SetConditionExpression(v string) *Update { 18403 s.ConditionExpression = &v 18404 return s 18405} 18406 18407// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 18408func (s *Update) SetExpressionAttributeNames(v map[string]*string) *Update { 18409 s.ExpressionAttributeNames = v 18410 return s 18411} 18412 18413// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 18414func (s *Update) SetExpressionAttributeValues(v map[string]*AttributeValue) *Update { 18415 s.ExpressionAttributeValues = v 18416 return s 18417} 18418 18419// SetKey sets the Key field's value. 18420func (s *Update) SetKey(v map[string]*AttributeValue) *Update { 18421 s.Key = v 18422 return s 18423} 18424 18425// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. 18426func (s *Update) SetReturnValuesOnConditionCheckFailure(v string) *Update { 18427 s.ReturnValuesOnConditionCheckFailure = &v 18428 return s 18429} 18430 18431// SetTableName sets the TableName field's value. 18432func (s *Update) SetTableName(v string) *Update { 18433 s.TableName = &v 18434 return s 18435} 18436 18437// SetUpdateExpression sets the UpdateExpression field's value. 18438func (s *Update) SetUpdateExpression(v string) *Update { 18439 s.UpdateExpression = &v 18440 return s 18441} 18442 18443type UpdateContinuousBackupsInput struct { 18444 _ struct{} `type:"structure"` 18445 18446 // Represents the settings used to enable point in time recovery. 18447 // 18448 // PointInTimeRecoverySpecification is a required field 18449 PointInTimeRecoverySpecification *PointInTimeRecoverySpecification `type:"structure" required:"true"` 18450 18451 // The name of the table. 18452 // 18453 // TableName is a required field 18454 TableName *string `min:"3" type:"string" required:"true"` 18455} 18456 18457// String returns the string representation 18458func (s UpdateContinuousBackupsInput) String() string { 18459 return awsutil.Prettify(s) 18460} 18461 18462// GoString returns the string representation 18463func (s UpdateContinuousBackupsInput) GoString() string { 18464 return s.String() 18465} 18466 18467// Validate inspects the fields of the type to determine if they are valid. 18468func (s *UpdateContinuousBackupsInput) Validate() error { 18469 invalidParams := request.ErrInvalidParams{Context: "UpdateContinuousBackupsInput"} 18470 if s.PointInTimeRecoverySpecification == nil { 18471 invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoverySpecification")) 18472 } 18473 if s.TableName == nil { 18474 invalidParams.Add(request.NewErrParamRequired("TableName")) 18475 } 18476 if s.TableName != nil && len(*s.TableName) < 3 { 18477 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 18478 } 18479 if s.PointInTimeRecoverySpecification != nil { 18480 if err := s.PointInTimeRecoverySpecification.Validate(); err != nil { 18481 invalidParams.AddNested("PointInTimeRecoverySpecification", err.(request.ErrInvalidParams)) 18482 } 18483 } 18484 18485 if invalidParams.Len() > 0 { 18486 return invalidParams 18487 } 18488 return nil 18489} 18490 18491// SetPointInTimeRecoverySpecification sets the PointInTimeRecoverySpecification field's value. 18492func (s *UpdateContinuousBackupsInput) SetPointInTimeRecoverySpecification(v *PointInTimeRecoverySpecification) *UpdateContinuousBackupsInput { 18493 s.PointInTimeRecoverySpecification = v 18494 return s 18495} 18496 18497// SetTableName sets the TableName field's value. 18498func (s *UpdateContinuousBackupsInput) SetTableName(v string) *UpdateContinuousBackupsInput { 18499 s.TableName = &v 18500 return s 18501} 18502 18503type UpdateContinuousBackupsOutput struct { 18504 _ struct{} `type:"structure"` 18505 18506 // Represents the continuous backups and point in time recovery settings on 18507 // the table. 18508 ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` 18509} 18510 18511// String returns the string representation 18512func (s UpdateContinuousBackupsOutput) String() string { 18513 return awsutil.Prettify(s) 18514} 18515 18516// GoString returns the string representation 18517func (s UpdateContinuousBackupsOutput) GoString() string { 18518 return s.String() 18519} 18520 18521// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. 18522func (s *UpdateContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *UpdateContinuousBackupsOutput { 18523 s.ContinuousBackupsDescription = v 18524 return s 18525} 18526 18527type UpdateContributorInsightsInput struct { 18528 _ struct{} `type:"structure"` 18529 18530 // Represents the contributor insights action. 18531 // 18532 // ContributorInsightsAction is a required field 18533 ContributorInsightsAction *string `type:"string" required:"true" enum:"ContributorInsightsAction"` 18534 18535 // The global secondary index name, if applicable. 18536 IndexName *string `min:"3" type:"string"` 18537 18538 // The name of the table. 18539 // 18540 // TableName is a required field 18541 TableName *string `min:"3" type:"string" required:"true"` 18542} 18543 18544// String returns the string representation 18545func (s UpdateContributorInsightsInput) String() string { 18546 return awsutil.Prettify(s) 18547} 18548 18549// GoString returns the string representation 18550func (s UpdateContributorInsightsInput) GoString() string { 18551 return s.String() 18552} 18553 18554// Validate inspects the fields of the type to determine if they are valid. 18555func (s *UpdateContributorInsightsInput) Validate() error { 18556 invalidParams := request.ErrInvalidParams{Context: "UpdateContributorInsightsInput"} 18557 if s.ContributorInsightsAction == nil { 18558 invalidParams.Add(request.NewErrParamRequired("ContributorInsightsAction")) 18559 } 18560 if s.IndexName != nil && len(*s.IndexName) < 3 { 18561 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 18562 } 18563 if s.TableName == nil { 18564 invalidParams.Add(request.NewErrParamRequired("TableName")) 18565 } 18566 if s.TableName != nil && len(*s.TableName) < 3 { 18567 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 18568 } 18569 18570 if invalidParams.Len() > 0 { 18571 return invalidParams 18572 } 18573 return nil 18574} 18575 18576// SetContributorInsightsAction sets the ContributorInsightsAction field's value. 18577func (s *UpdateContributorInsightsInput) SetContributorInsightsAction(v string) *UpdateContributorInsightsInput { 18578 s.ContributorInsightsAction = &v 18579 return s 18580} 18581 18582// SetIndexName sets the IndexName field's value. 18583func (s *UpdateContributorInsightsInput) SetIndexName(v string) *UpdateContributorInsightsInput { 18584 s.IndexName = &v 18585 return s 18586} 18587 18588// SetTableName sets the TableName field's value. 18589func (s *UpdateContributorInsightsInput) SetTableName(v string) *UpdateContributorInsightsInput { 18590 s.TableName = &v 18591 return s 18592} 18593 18594type UpdateContributorInsightsOutput struct { 18595 _ struct{} `type:"structure"` 18596 18597 // The status of contributor insights 18598 ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` 18599 18600 // The name of the global secondary index, if applicable. 18601 IndexName *string `min:"3" type:"string"` 18602 18603 // The name of the table. 18604 TableName *string `min:"3" type:"string"` 18605} 18606 18607// String returns the string representation 18608func (s UpdateContributorInsightsOutput) String() string { 18609 return awsutil.Prettify(s) 18610} 18611 18612// GoString returns the string representation 18613func (s UpdateContributorInsightsOutput) GoString() string { 18614 return s.String() 18615} 18616 18617// SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. 18618func (s *UpdateContributorInsightsOutput) SetContributorInsightsStatus(v string) *UpdateContributorInsightsOutput { 18619 s.ContributorInsightsStatus = &v 18620 return s 18621} 18622 18623// SetIndexName sets the IndexName field's value. 18624func (s *UpdateContributorInsightsOutput) SetIndexName(v string) *UpdateContributorInsightsOutput { 18625 s.IndexName = &v 18626 return s 18627} 18628 18629// SetTableName sets the TableName field's value. 18630func (s *UpdateContributorInsightsOutput) SetTableName(v string) *UpdateContributorInsightsOutput { 18631 s.TableName = &v 18632 return s 18633} 18634 18635// Represents the new provisioned throughput settings to be applied to a global 18636// secondary index. 18637type UpdateGlobalSecondaryIndexAction struct { 18638 _ struct{} `type:"structure"` 18639 18640 // The name of the global secondary index to be updated. 18641 // 18642 // IndexName is a required field 18643 IndexName *string `min:"3" type:"string" required:"true"` 18644 18645 // Represents the provisioned throughput settings for the specified global secondary 18646 // index. 18647 // 18648 // For current minimum and maximum provisioned throughput values, see Limits 18649 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) 18650 // in the Amazon DynamoDB Developer Guide. 18651 // 18652 // ProvisionedThroughput is a required field 18653 ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` 18654} 18655 18656// String returns the string representation 18657func (s UpdateGlobalSecondaryIndexAction) String() string { 18658 return awsutil.Prettify(s) 18659} 18660 18661// GoString returns the string representation 18662func (s UpdateGlobalSecondaryIndexAction) GoString() string { 18663 return s.String() 18664} 18665 18666// Validate inspects the fields of the type to determine if they are valid. 18667func (s *UpdateGlobalSecondaryIndexAction) Validate() error { 18668 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalSecondaryIndexAction"} 18669 if s.IndexName == nil { 18670 invalidParams.Add(request.NewErrParamRequired("IndexName")) 18671 } 18672 if s.IndexName != nil && len(*s.IndexName) < 3 { 18673 invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) 18674 } 18675 if s.ProvisionedThroughput == nil { 18676 invalidParams.Add(request.NewErrParamRequired("ProvisionedThroughput")) 18677 } 18678 if s.ProvisionedThroughput != nil { 18679 if err := s.ProvisionedThroughput.Validate(); err != nil { 18680 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 18681 } 18682 } 18683 18684 if invalidParams.Len() > 0 { 18685 return invalidParams 18686 } 18687 return nil 18688} 18689 18690// SetIndexName sets the IndexName field's value. 18691func (s *UpdateGlobalSecondaryIndexAction) SetIndexName(v string) *UpdateGlobalSecondaryIndexAction { 18692 s.IndexName = &v 18693 return s 18694} 18695 18696// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 18697func (s *UpdateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateGlobalSecondaryIndexAction { 18698 s.ProvisionedThroughput = v 18699 return s 18700} 18701 18702type UpdateGlobalTableInput struct { 18703 _ struct{} `type:"structure"` 18704 18705 // The global table name. 18706 // 18707 // GlobalTableName is a required field 18708 GlobalTableName *string `min:"3" type:"string" required:"true"` 18709 18710 // A list of Regions that should be added or removed from the global table. 18711 // 18712 // ReplicaUpdates is a required field 18713 ReplicaUpdates []*ReplicaUpdate `type:"list" required:"true"` 18714} 18715 18716// String returns the string representation 18717func (s UpdateGlobalTableInput) String() string { 18718 return awsutil.Prettify(s) 18719} 18720 18721// GoString returns the string representation 18722func (s UpdateGlobalTableInput) GoString() string { 18723 return s.String() 18724} 18725 18726// Validate inspects the fields of the type to determine if they are valid. 18727func (s *UpdateGlobalTableInput) Validate() error { 18728 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableInput"} 18729 if s.GlobalTableName == nil { 18730 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 18731 } 18732 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 18733 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 18734 } 18735 if s.ReplicaUpdates == nil { 18736 invalidParams.Add(request.NewErrParamRequired("ReplicaUpdates")) 18737 } 18738 if s.ReplicaUpdates != nil { 18739 for i, v := range s.ReplicaUpdates { 18740 if v == nil { 18741 continue 18742 } 18743 if err := v.Validate(); err != nil { 18744 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 18745 } 18746 } 18747 } 18748 18749 if invalidParams.Len() > 0 { 18750 return invalidParams 18751 } 18752 return nil 18753} 18754 18755// SetGlobalTableName sets the GlobalTableName field's value. 18756func (s *UpdateGlobalTableInput) SetGlobalTableName(v string) *UpdateGlobalTableInput { 18757 s.GlobalTableName = &v 18758 return s 18759} 18760 18761// SetReplicaUpdates sets the ReplicaUpdates field's value. 18762func (s *UpdateGlobalTableInput) SetReplicaUpdates(v []*ReplicaUpdate) *UpdateGlobalTableInput { 18763 s.ReplicaUpdates = v 18764 return s 18765} 18766 18767type UpdateGlobalTableOutput struct { 18768 _ struct{} `type:"structure"` 18769 18770 // Contains the details of the global table. 18771 GlobalTableDescription *GlobalTableDescription `type:"structure"` 18772} 18773 18774// String returns the string representation 18775func (s UpdateGlobalTableOutput) String() string { 18776 return awsutil.Prettify(s) 18777} 18778 18779// GoString returns the string representation 18780func (s UpdateGlobalTableOutput) GoString() string { 18781 return s.String() 18782} 18783 18784// SetGlobalTableDescription sets the GlobalTableDescription field's value. 18785func (s *UpdateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *UpdateGlobalTableOutput { 18786 s.GlobalTableDescription = v 18787 return s 18788} 18789 18790type UpdateGlobalTableSettingsInput struct { 18791 _ struct{} `type:"structure"` 18792 18793 // The billing mode of the global table. If GlobalTableBillingMode is not specified, 18794 // the global table defaults to PROVISIONED capacity billing mode. 18795 // 18796 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 18797 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 18798 // 18799 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 18800 // 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). 18801 GlobalTableBillingMode *string `type:"string" enum:"BillingMode"` 18802 18803 // Represents the settings of a global secondary index for a global table that 18804 // will be modified. 18805 GlobalTableGlobalSecondaryIndexSettingsUpdate []*GlobalTableGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"` 18806 18807 // The name of the global table 18808 // 18809 // GlobalTableName is a required field 18810 GlobalTableName *string `min:"3" type:"string" required:"true"` 18811 18812 // Auto scaling settings for managing provisioned write capacity for the global 18813 // table. 18814 GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` 18815 18816 // The maximum number of writes consumed per second before DynamoDB returns 18817 // a ThrottlingException. 18818 GlobalTableProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` 18819 18820 // Represents the settings for a global table in a Region that will be modified. 18821 ReplicaSettingsUpdate []*ReplicaSettingsUpdate `min:"1" type:"list"` 18822} 18823 18824// String returns the string representation 18825func (s UpdateGlobalTableSettingsInput) String() string { 18826 return awsutil.Prettify(s) 18827} 18828 18829// GoString returns the string representation 18830func (s UpdateGlobalTableSettingsInput) GoString() string { 18831 return s.String() 18832} 18833 18834// Validate inspects the fields of the type to determine if they are valid. 18835func (s *UpdateGlobalTableSettingsInput) Validate() error { 18836 invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableSettingsInput"} 18837 if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil && len(s.GlobalTableGlobalSecondaryIndexSettingsUpdate) < 1 { 18838 invalidParams.Add(request.NewErrParamMinLen("GlobalTableGlobalSecondaryIndexSettingsUpdate", 1)) 18839 } 18840 if s.GlobalTableName == nil { 18841 invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) 18842 } 18843 if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { 18844 invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) 18845 } 18846 if s.GlobalTableProvisionedWriteCapacityUnits != nil && *s.GlobalTableProvisionedWriteCapacityUnits < 1 { 18847 invalidParams.Add(request.NewErrParamMinValue("GlobalTableProvisionedWriteCapacityUnits", 1)) 18848 } 18849 if s.ReplicaSettingsUpdate != nil && len(s.ReplicaSettingsUpdate) < 1 { 18850 invalidParams.Add(request.NewErrParamMinLen("ReplicaSettingsUpdate", 1)) 18851 } 18852 if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil { 18853 for i, v := range s.GlobalTableGlobalSecondaryIndexSettingsUpdate { 18854 if v == nil { 18855 continue 18856 } 18857 if err := v.Validate(); err != nil { 18858 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalTableGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams)) 18859 } 18860 } 18861 } 18862 if s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate != nil { 18863 if err := s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil { 18864 invalidParams.AddNested("GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams)) 18865 } 18866 } 18867 if s.ReplicaSettingsUpdate != nil { 18868 for i, v := range s.ReplicaSettingsUpdate { 18869 if v == nil { 18870 continue 18871 } 18872 if err := v.Validate(); err != nil { 18873 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaSettingsUpdate", i), err.(request.ErrInvalidParams)) 18874 } 18875 } 18876 } 18877 18878 if invalidParams.Len() > 0 { 18879 return invalidParams 18880 } 18881 return nil 18882} 18883 18884// SetGlobalTableBillingMode sets the GlobalTableBillingMode field's value. 18885func (s *UpdateGlobalTableSettingsInput) SetGlobalTableBillingMode(v string) *UpdateGlobalTableSettingsInput { 18886 s.GlobalTableBillingMode = &v 18887 return s 18888} 18889 18890// SetGlobalTableGlobalSecondaryIndexSettingsUpdate sets the GlobalTableGlobalSecondaryIndexSettingsUpdate field's value. 18891func (s *UpdateGlobalTableSettingsInput) SetGlobalTableGlobalSecondaryIndexSettingsUpdate(v []*GlobalTableGlobalSecondaryIndexSettingsUpdate) *UpdateGlobalTableSettingsInput { 18892 s.GlobalTableGlobalSecondaryIndexSettingsUpdate = v 18893 return s 18894} 18895 18896// SetGlobalTableName sets the GlobalTableName field's value. 18897func (s *UpdateGlobalTableSettingsInput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsInput { 18898 s.GlobalTableName = &v 18899 return s 18900} 18901 18902// SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate sets the GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate field's value. 18903func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *UpdateGlobalTableSettingsInput { 18904 s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = v 18905 return s 18906} 18907 18908// SetGlobalTableProvisionedWriteCapacityUnits sets the GlobalTableProvisionedWriteCapacityUnits field's value. 18909func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityUnits(v int64) *UpdateGlobalTableSettingsInput { 18910 s.GlobalTableProvisionedWriteCapacityUnits = &v 18911 return s 18912} 18913 18914// SetReplicaSettingsUpdate sets the ReplicaSettingsUpdate field's value. 18915func (s *UpdateGlobalTableSettingsInput) SetReplicaSettingsUpdate(v []*ReplicaSettingsUpdate) *UpdateGlobalTableSettingsInput { 18916 s.ReplicaSettingsUpdate = v 18917 return s 18918} 18919 18920type UpdateGlobalTableSettingsOutput struct { 18921 _ struct{} `type:"structure"` 18922 18923 // The name of the global table. 18924 GlobalTableName *string `min:"3" type:"string"` 18925 18926 // The Region-specific settings for the global table. 18927 ReplicaSettings []*ReplicaSettingsDescription `type:"list"` 18928} 18929 18930// String returns the string representation 18931func (s UpdateGlobalTableSettingsOutput) String() string { 18932 return awsutil.Prettify(s) 18933} 18934 18935// GoString returns the string representation 18936func (s UpdateGlobalTableSettingsOutput) GoString() string { 18937 return s.String() 18938} 18939 18940// SetGlobalTableName sets the GlobalTableName field's value. 18941func (s *UpdateGlobalTableSettingsOutput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsOutput { 18942 s.GlobalTableName = &v 18943 return s 18944} 18945 18946// SetReplicaSettings sets the ReplicaSettings field's value. 18947func (s *UpdateGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *UpdateGlobalTableSettingsOutput { 18948 s.ReplicaSettings = v 18949 return s 18950} 18951 18952// Represents the input of an UpdateItem operation. 18953type UpdateItemInput struct { 18954 _ struct{} `type:"structure"` 18955 18956 // This is a legacy parameter. Use UpdateExpression instead. For more information, 18957 // see AttributeUpdates (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html) 18958 // in the Amazon DynamoDB Developer Guide. 18959 AttributeUpdates map[string]*AttributeValueUpdate `type:"map"` 18960 18961 // A condition that must be satisfied in order for a conditional update to succeed. 18962 // 18963 // An expression can contain any of the following: 18964 // 18965 // * Functions: attribute_exists | attribute_not_exists | attribute_type 18966 // | contains | begins_with | size These function names are case-sensitive. 18967 // 18968 // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN 18969 // 18970 // * Logical operators: AND | OR | NOT 18971 // 18972 // For more information about condition expressions, see Specifying Conditions 18973 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 18974 // in the Amazon DynamoDB Developer Guide. 18975 ConditionExpression *string `type:"string"` 18976 18977 // This is a legacy parameter. Use ConditionExpression instead. For more information, 18978 // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) 18979 // in the Amazon DynamoDB Developer Guide. 18980 ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` 18981 18982 // This is a legacy parameter. Use ConditionExpression instead. For more information, 18983 // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) 18984 // in the Amazon DynamoDB Developer Guide. 18985 Expected map[string]*ExpectedAttributeValue `type:"map"` 18986 18987 // One or more substitution tokens for attribute names in an expression. The 18988 // following are some use cases for using ExpressionAttributeNames: 18989 // 18990 // * To access an attribute whose name conflicts with a DynamoDB reserved 18991 // word. 18992 // 18993 // * To create a placeholder for repeating occurrences of an attribute name 18994 // in an expression. 18995 // 18996 // * To prevent special characters in an attribute name from being misinterpreted 18997 // in an expression. 18998 // 18999 // Use the # character in an expression to dereference an attribute name. For 19000 // example, consider the following attribute name: 19001 // 19002 // * Percentile 19003 // 19004 // The name of this attribute conflicts with a reserved word, so it cannot be 19005 // used directly in an expression. (For the complete list of reserved words, 19006 // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) 19007 // in the Amazon DynamoDB Developer Guide.) To work around this, you could specify 19008 // the following for ExpressionAttributeNames: 19009 // 19010 // * {"#P":"Percentile"} 19011 // 19012 // You could then use this substitution in an expression, as in this example: 19013 // 19014 // * #P = :val 19015 // 19016 // Tokens that begin with the : character are expression attribute values, which 19017 // are placeholders for the actual value at runtime. 19018 // 19019 // For more information about expression attribute names, see Specifying Item 19020 // Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 19021 // in the Amazon DynamoDB Developer Guide. 19022 ExpressionAttributeNames map[string]*string `type:"map"` 19023 19024 // One or more values that can be substituted in an expression. 19025 // 19026 // Use the : (colon) character in an expression to dereference an attribute 19027 // value. For example, suppose that you wanted to check whether the value of 19028 // the ProductStatus attribute was one of the following: 19029 // 19030 // Available | Backordered | Discontinued 19031 // 19032 // You would first need to specify ExpressionAttributeValues as follows: 19033 // 19034 // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} 19035 // } 19036 // 19037 // You could then use these values in an expression, such as this: 19038 // 19039 // ProductStatus IN (:avail, :back, :disc) 19040 // 19041 // For more information on expression attribute values, see Condition Expressions 19042 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 19043 // in the Amazon DynamoDB Developer Guide. 19044 ExpressionAttributeValues map[string]*AttributeValue `type:"map"` 19045 19046 // The primary key of the item to be updated. Each element consists of an attribute 19047 // name and a value for that attribute. 19048 // 19049 // For the primary key, you must provide all of the attributes. For example, 19050 // with a simple primary key, you only need to provide a value for the partition 19051 // key. For a composite primary key, you must provide values for both the partition 19052 // key and the sort key. 19053 // 19054 // Key is a required field 19055 Key map[string]*AttributeValue `type:"map" required:"true"` 19056 19057 // Determines the level of detail about provisioned throughput consumption that 19058 // is returned in the response: 19059 // 19060 // * INDEXES - The response includes the aggregate ConsumedCapacity for the 19061 // operation, together with ConsumedCapacity for each table and secondary 19062 // index that was accessed. Note that some operations, such as GetItem and 19063 // BatchGetItem, do not access any indexes at all. In these cases, specifying 19064 // INDEXES will only return ConsumedCapacity information for table(s). 19065 // 19066 // * TOTAL - The response includes only the aggregate ConsumedCapacity for 19067 // the operation. 19068 // 19069 // * NONE - No ConsumedCapacity details are included in the response. 19070 ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` 19071 19072 // Determines whether item collection metrics are returned. If set to SIZE, 19073 // the response includes statistics about item collections, if any, that were 19074 // modified during the operation are returned in the response. If set to NONE 19075 // (the default), no statistics are returned. 19076 ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` 19077 19078 // Use ReturnValues if you want to get the item attributes as they appear before 19079 // or after they are updated. For UpdateItem, the valid values are: 19080 // 19081 // * NONE - If ReturnValues is not specified, or if its value is NONE, then 19082 // nothing is returned. (This setting is the default for ReturnValues.) 19083 // 19084 // * ALL_OLD - Returns all of the attributes of the item, as they appeared 19085 // before the UpdateItem operation. 19086 // 19087 // * UPDATED_OLD - Returns only the updated attributes, as they appeared 19088 // before the UpdateItem operation. 19089 // 19090 // * ALL_NEW - Returns all of the attributes of the item, as they appear 19091 // after the UpdateItem operation. 19092 // 19093 // * UPDATED_NEW - Returns only the updated attributes, as they appear after 19094 // the UpdateItem operation. 19095 // 19096 // There is no additional cost associated with requesting a return value aside 19097 // from the small network and processing overhead of receiving a larger response. 19098 // No read capacity units are consumed. 19099 // 19100 // The values returned are strongly consistent. 19101 ReturnValues *string `type:"string" enum:"ReturnValue"` 19102 19103 // The name of the table containing the item to update. 19104 // 19105 // TableName is a required field 19106 TableName *string `min:"3" type:"string" required:"true"` 19107 19108 // An expression that defines one or more attributes to be updated, the action 19109 // to be performed on them, and new values for them. 19110 // 19111 // The following action values are available for UpdateExpression. 19112 // 19113 // * SET - Adds one or more attributes and values to an item. If any of these 19114 // attributes already exist, they are replaced by the new values. You can 19115 // also use SET to add or subtract from an attribute that is of type Number. 19116 // For example: SET myNum = myNum + :val SET supports the following functions: 19117 // if_not_exists (path, operand) - if the item does not contain an attribute 19118 // at the specified path, then if_not_exists evaluates to operand; otherwise, 19119 // it evaluates to path. You can use this function to avoid overwriting an 19120 // attribute that may already be present in the item. list_append (operand, 19121 // operand) - evaluates to a list with a new element added to it. You can 19122 // append the new element to the start or the end of the list by reversing 19123 // the order of the operands. These function names are case-sensitive. 19124 // 19125 // * REMOVE - Removes one or more attributes from an item. 19126 // 19127 // * ADD - Adds the specified value to the item, if the attribute does not 19128 // already exist. If the attribute does exist, then the behavior of ADD depends 19129 // on the data type of the attribute: If the existing attribute is a number, 19130 // and if Value is also a number, then Value is mathematically added to the 19131 // existing attribute. If Value is a negative number, then it is subtracted 19132 // from the existing attribute. If you use ADD to increment or decrement 19133 // a number value for an item that doesn't exist before the update, DynamoDB 19134 // uses 0 as the initial value. Similarly, if you use ADD for an existing 19135 // item to increment or decrement an attribute value that doesn't exist before 19136 // the update, DynamoDB uses 0 as the initial value. For example, suppose 19137 // that the item you want to update doesn't have an attribute named itemcount, 19138 // but you decide to ADD the number 3 to this attribute anyway. DynamoDB 19139 // will create the itemcount attribute, set its initial value to 0, and finally 19140 // add 3 to it. The result will be a new itemcount attribute in the item, 19141 // with a value of 3. If the existing data type is a set and if Value is 19142 // also a set, then Value is added to the existing set. For example, if the 19143 // attribute value is the set [1,2], and the ADD action specified [3], then 19144 // the final attribute value is [1,2,3]. An error occurs if an ADD action 19145 // is specified for a set attribute and the attribute type specified does 19146 // not match the existing set type. Both sets must have the same primitive 19147 // data type. For example, if the existing data type is a set of strings, 19148 // the Value must also be a set of strings. The ADD action only supports 19149 // Number and set data types. In addition, ADD can only be used on top-level 19150 // attributes, not nested attributes. 19151 // 19152 // * DELETE - Deletes an element from a set. If a set of values is specified, 19153 // then those values are subtracted from the old set. For example, if the 19154 // attribute value was the set [a,b,c] and the DELETE action specifies [a,c], 19155 // then the final attribute value is [b]. Specifying an empty set is an error. 19156 // The DELETE action only supports set data types. In addition, DELETE can 19157 // only be used on top-level attributes, not nested attributes. 19158 // 19159 // You can have many actions in a single expression, such as the following: 19160 // SET a=:value1, b=:value2 DELETE :value3, :value4, :value5 19161 // 19162 // For more information on update expressions, see Modifying Items and Attributes 19163 // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) 19164 // in the Amazon DynamoDB Developer Guide. 19165 UpdateExpression *string `type:"string"` 19166} 19167 19168// String returns the string representation 19169func (s UpdateItemInput) String() string { 19170 return awsutil.Prettify(s) 19171} 19172 19173// GoString returns the string representation 19174func (s UpdateItemInput) GoString() string { 19175 return s.String() 19176} 19177 19178// Validate inspects the fields of the type to determine if they are valid. 19179func (s *UpdateItemInput) Validate() error { 19180 invalidParams := request.ErrInvalidParams{Context: "UpdateItemInput"} 19181 if s.Key == nil { 19182 invalidParams.Add(request.NewErrParamRequired("Key")) 19183 } 19184 if s.TableName == nil { 19185 invalidParams.Add(request.NewErrParamRequired("TableName")) 19186 } 19187 if s.TableName != nil && len(*s.TableName) < 3 { 19188 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 19189 } 19190 19191 if invalidParams.Len() > 0 { 19192 return invalidParams 19193 } 19194 return nil 19195} 19196 19197// SetAttributeUpdates sets the AttributeUpdates field's value. 19198func (s *UpdateItemInput) SetAttributeUpdates(v map[string]*AttributeValueUpdate) *UpdateItemInput { 19199 s.AttributeUpdates = v 19200 return s 19201} 19202 19203// SetConditionExpression sets the ConditionExpression field's value. 19204func (s *UpdateItemInput) SetConditionExpression(v string) *UpdateItemInput { 19205 s.ConditionExpression = &v 19206 return s 19207} 19208 19209// SetConditionalOperator sets the ConditionalOperator field's value. 19210func (s *UpdateItemInput) SetConditionalOperator(v string) *UpdateItemInput { 19211 s.ConditionalOperator = &v 19212 return s 19213} 19214 19215// SetExpected sets the Expected field's value. 19216func (s *UpdateItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *UpdateItemInput { 19217 s.Expected = v 19218 return s 19219} 19220 19221// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. 19222func (s *UpdateItemInput) SetExpressionAttributeNames(v map[string]*string) *UpdateItemInput { 19223 s.ExpressionAttributeNames = v 19224 return s 19225} 19226 19227// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. 19228func (s *UpdateItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *UpdateItemInput { 19229 s.ExpressionAttributeValues = v 19230 return s 19231} 19232 19233// SetKey sets the Key field's value. 19234func (s *UpdateItemInput) SetKey(v map[string]*AttributeValue) *UpdateItemInput { 19235 s.Key = v 19236 return s 19237} 19238 19239// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. 19240func (s *UpdateItemInput) SetReturnConsumedCapacity(v string) *UpdateItemInput { 19241 s.ReturnConsumedCapacity = &v 19242 return s 19243} 19244 19245// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. 19246func (s *UpdateItemInput) SetReturnItemCollectionMetrics(v string) *UpdateItemInput { 19247 s.ReturnItemCollectionMetrics = &v 19248 return s 19249} 19250 19251// SetReturnValues sets the ReturnValues field's value. 19252func (s *UpdateItemInput) SetReturnValues(v string) *UpdateItemInput { 19253 s.ReturnValues = &v 19254 return s 19255} 19256 19257// SetTableName sets the TableName field's value. 19258func (s *UpdateItemInput) SetTableName(v string) *UpdateItemInput { 19259 s.TableName = &v 19260 return s 19261} 19262 19263// SetUpdateExpression sets the UpdateExpression field's value. 19264func (s *UpdateItemInput) SetUpdateExpression(v string) *UpdateItemInput { 19265 s.UpdateExpression = &v 19266 return s 19267} 19268 19269// Represents the output of an UpdateItem operation. 19270type UpdateItemOutput struct { 19271 _ struct{} `type:"structure"` 19272 19273 // A map of attribute values as they appear before or after the UpdateItem operation, 19274 // as determined by the ReturnValues parameter. 19275 // 19276 // The Attributes map is only present if ReturnValues was specified as something 19277 // other than NONE in the request. Each element represents one attribute. 19278 Attributes map[string]*AttributeValue `type:"map"` 19279 19280 // The capacity units consumed by the UpdateItem operation. The data returned 19281 // includes the total provisioned throughput consumed, along with statistics 19282 // for the table and any indexes involved in the operation. ConsumedCapacity 19283 // is only returned if the ReturnConsumedCapacity parameter was specified. For 19284 // more information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) 19285 // in the Amazon DynamoDB Developer Guide. 19286 ConsumedCapacity *ConsumedCapacity `type:"structure"` 19287 19288 // Information about item collections, if any, that were affected by the UpdateItem 19289 // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics 19290 // parameter was specified. If the table does not have any local secondary indexes, 19291 // this information is not returned in the response. 19292 // 19293 // Each ItemCollectionMetrics element consists of: 19294 // 19295 // * ItemCollectionKey - The partition key value of the item collection. 19296 // This is the same as the partition key value of the item itself. 19297 // 19298 // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. 19299 // This value is a two-element array containing a lower bound and an upper 19300 // bound for the estimate. The estimate includes the size of all the items 19301 // in the table, plus the size of all attributes projected into all of the 19302 // local secondary indexes on that table. Use this estimate to measure whether 19303 // a local secondary index is approaching its size limit. The estimate is 19304 // subject to change over time; therefore, do not rely on the precision or 19305 // accuracy of the estimate. 19306 ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` 19307} 19308 19309// String returns the string representation 19310func (s UpdateItemOutput) String() string { 19311 return awsutil.Prettify(s) 19312} 19313 19314// GoString returns the string representation 19315func (s UpdateItemOutput) GoString() string { 19316 return s.String() 19317} 19318 19319// SetAttributes sets the Attributes field's value. 19320func (s *UpdateItemOutput) SetAttributes(v map[string]*AttributeValue) *UpdateItemOutput { 19321 s.Attributes = v 19322 return s 19323} 19324 19325// SetConsumedCapacity sets the ConsumedCapacity field's value. 19326func (s *UpdateItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *UpdateItemOutput { 19327 s.ConsumedCapacity = v 19328 return s 19329} 19330 19331// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. 19332func (s *UpdateItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *UpdateItemOutput { 19333 s.ItemCollectionMetrics = v 19334 return s 19335} 19336 19337// Represents a replica to be modified. 19338type UpdateReplicationGroupMemberAction struct { 19339 _ struct{} `type:"structure"` 19340 19341 // Replica-specific global secondary index settings. 19342 GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` 19343 19344 // The AWS KMS customer master key (CMK) of the replica that should be used 19345 // for AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource 19346 // Name (ARN), alias name, or alias ARN. Note that you should only provide this 19347 // parameter if the key is different from the default DynamoDB KMS master key 19348 // alias/aws/dynamodb. 19349 KMSMasterKeyId *string `type:"string"` 19350 19351 // Replica-specific provisioned throughput. If not specified, uses the source 19352 // table's provisioned throughput settings. 19353 ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` 19354 19355 // The Region where the replica exists. 19356 // 19357 // RegionName is a required field 19358 RegionName *string `type:"string" required:"true"` 19359} 19360 19361// String returns the string representation 19362func (s UpdateReplicationGroupMemberAction) String() string { 19363 return awsutil.Prettify(s) 19364} 19365 19366// GoString returns the string representation 19367func (s UpdateReplicationGroupMemberAction) GoString() string { 19368 return s.String() 19369} 19370 19371// Validate inspects the fields of the type to determine if they are valid. 19372func (s *UpdateReplicationGroupMemberAction) Validate() error { 19373 invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationGroupMemberAction"} 19374 if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { 19375 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) 19376 } 19377 if s.RegionName == nil { 19378 invalidParams.Add(request.NewErrParamRequired("RegionName")) 19379 } 19380 if s.GlobalSecondaryIndexes != nil { 19381 for i, v := range s.GlobalSecondaryIndexes { 19382 if v == nil { 19383 continue 19384 } 19385 if err := v.Validate(); err != nil { 19386 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) 19387 } 19388 } 19389 } 19390 if s.ProvisionedThroughputOverride != nil { 19391 if err := s.ProvisionedThroughputOverride.Validate(); err != nil { 19392 invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) 19393 } 19394 } 19395 19396 if invalidParams.Len() > 0 { 19397 return invalidParams 19398 } 19399 return nil 19400} 19401 19402// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. 19403func (s *UpdateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *UpdateReplicationGroupMemberAction { 19404 s.GlobalSecondaryIndexes = v 19405 return s 19406} 19407 19408// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. 19409func (s *UpdateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *UpdateReplicationGroupMemberAction { 19410 s.KMSMasterKeyId = &v 19411 return s 19412} 19413 19414// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. 19415func (s *UpdateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *UpdateReplicationGroupMemberAction { 19416 s.ProvisionedThroughputOverride = v 19417 return s 19418} 19419 19420// SetRegionName sets the RegionName field's value. 19421func (s *UpdateReplicationGroupMemberAction) SetRegionName(v string) *UpdateReplicationGroupMemberAction { 19422 s.RegionName = &v 19423 return s 19424} 19425 19426// Represents the input of an UpdateTable operation. 19427type UpdateTableInput struct { 19428 _ struct{} `type:"structure"` 19429 19430 // An array of attributes that describe the key schema for the table and indexes. 19431 // If you are adding a new global secondary index to the table, AttributeDefinitions 19432 // must include the key element(s) of the new index. 19433 AttributeDefinitions []*AttributeDefinition `type:"list"` 19434 19435 // Controls how you are charged for read and write throughput and how you manage 19436 // capacity. When switching from pay-per-request to provisioned capacity, initial 19437 // provisioned capacity values must be set. The initial provisioned capacity 19438 // values are estimated based on the consumed read and write capacity of your 19439 // table and global secondary indexes over the past 30 minutes. 19440 // 19441 // * PROVISIONED - We recommend using PROVISIONED for predictable workloads. 19442 // PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). 19443 // 19444 // * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable 19445 // 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). 19446 BillingMode *string `type:"string" enum:"BillingMode"` 19447 19448 // An array of one or more global secondary indexes for the table. For each 19449 // index in the array, you can request one action: 19450 // 19451 // * Create - add a new global secondary index to the table. 19452 // 19453 // * Update - modify the provisioned throughput settings of an existing global 19454 // secondary index. 19455 // 19456 // * Delete - remove a global secondary index from the table. 19457 // 19458 // You can create or delete only one global secondary index per UpdateTable 19459 // operation. 19460 // 19461 // For more information, see Managing Global Secondary Indexes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) 19462 // in the Amazon DynamoDB Developer Guide. 19463 GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"` 19464 19465 // The new provisioned throughput settings for the specified table or index. 19466 ProvisionedThroughput *ProvisionedThroughput `type:"structure"` 19467 19468 // A list of replica update actions (create, delete, or update) for the table. 19469 // 19470 // This property only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) 19471 // of global tables. 19472 ReplicaUpdates []*ReplicationGroupUpdate `min:"1" type:"list"` 19473 19474 // The new server-side encryption settings for the specified table. 19475 SSESpecification *SSESpecification `type:"structure"` 19476 19477 // Represents the DynamoDB Streams configuration for the table. 19478 // 19479 // You receive a ResourceInUseException if you try to enable a stream on a table 19480 // that already has a stream, or if you try to disable a stream on a table that 19481 // doesn't have a stream. 19482 StreamSpecification *StreamSpecification `type:"structure"` 19483 19484 // The name of the table to be updated. 19485 // 19486 // TableName is a required field 19487 TableName *string `min:"3" type:"string" required:"true"` 19488} 19489 19490// String returns the string representation 19491func (s UpdateTableInput) String() string { 19492 return awsutil.Prettify(s) 19493} 19494 19495// GoString returns the string representation 19496func (s UpdateTableInput) GoString() string { 19497 return s.String() 19498} 19499 19500// Validate inspects the fields of the type to determine if they are valid. 19501func (s *UpdateTableInput) Validate() error { 19502 invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"} 19503 if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { 19504 invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) 19505 } 19506 if s.TableName == nil { 19507 invalidParams.Add(request.NewErrParamRequired("TableName")) 19508 } 19509 if s.TableName != nil && len(*s.TableName) < 3 { 19510 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 19511 } 19512 if s.AttributeDefinitions != nil { 19513 for i, v := range s.AttributeDefinitions { 19514 if v == nil { 19515 continue 19516 } 19517 if err := v.Validate(); err != nil { 19518 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams)) 19519 } 19520 } 19521 } 19522 if s.GlobalSecondaryIndexUpdates != nil { 19523 for i, v := range s.GlobalSecondaryIndexUpdates { 19524 if v == nil { 19525 continue 19526 } 19527 if err := v.Validate(); err != nil { 19528 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 19529 } 19530 } 19531 } 19532 if s.ProvisionedThroughput != nil { 19533 if err := s.ProvisionedThroughput.Validate(); err != nil { 19534 invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) 19535 } 19536 } 19537 if s.ReplicaUpdates != nil { 19538 for i, v := range s.ReplicaUpdates { 19539 if v == nil { 19540 continue 19541 } 19542 if err := v.Validate(); err != nil { 19543 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 19544 } 19545 } 19546 } 19547 if s.StreamSpecification != nil { 19548 if err := s.StreamSpecification.Validate(); err != nil { 19549 invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) 19550 } 19551 } 19552 19553 if invalidParams.Len() > 0 { 19554 return invalidParams 19555 } 19556 return nil 19557} 19558 19559// SetAttributeDefinitions sets the AttributeDefinitions field's value. 19560func (s *UpdateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *UpdateTableInput { 19561 s.AttributeDefinitions = v 19562 return s 19563} 19564 19565// SetBillingMode sets the BillingMode field's value. 19566func (s *UpdateTableInput) SetBillingMode(v string) *UpdateTableInput { 19567 s.BillingMode = &v 19568 return s 19569} 19570 19571// SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value. 19572func (s *UpdateTableInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexUpdate) *UpdateTableInput { 19573 s.GlobalSecondaryIndexUpdates = v 19574 return s 19575} 19576 19577// SetProvisionedThroughput sets the ProvisionedThroughput field's value. 19578func (s *UpdateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateTableInput { 19579 s.ProvisionedThroughput = v 19580 return s 19581} 19582 19583// SetReplicaUpdates sets the ReplicaUpdates field's value. 19584func (s *UpdateTableInput) SetReplicaUpdates(v []*ReplicationGroupUpdate) *UpdateTableInput { 19585 s.ReplicaUpdates = v 19586 return s 19587} 19588 19589// SetSSESpecification sets the SSESpecification field's value. 19590func (s *UpdateTableInput) SetSSESpecification(v *SSESpecification) *UpdateTableInput { 19591 s.SSESpecification = v 19592 return s 19593} 19594 19595// SetStreamSpecification sets the StreamSpecification field's value. 19596func (s *UpdateTableInput) SetStreamSpecification(v *StreamSpecification) *UpdateTableInput { 19597 s.StreamSpecification = v 19598 return s 19599} 19600 19601// SetTableName sets the TableName field's value. 19602func (s *UpdateTableInput) SetTableName(v string) *UpdateTableInput { 19603 s.TableName = &v 19604 return s 19605} 19606 19607// Represents the output of an UpdateTable operation. 19608type UpdateTableOutput struct { 19609 _ struct{} `type:"structure"` 19610 19611 // Represents the properties of the table. 19612 TableDescription *TableDescription `type:"structure"` 19613} 19614 19615// String returns the string representation 19616func (s UpdateTableOutput) String() string { 19617 return awsutil.Prettify(s) 19618} 19619 19620// GoString returns the string representation 19621func (s UpdateTableOutput) GoString() string { 19622 return s.String() 19623} 19624 19625// SetTableDescription sets the TableDescription field's value. 19626func (s *UpdateTableOutput) SetTableDescription(v *TableDescription) *UpdateTableOutput { 19627 s.TableDescription = v 19628 return s 19629} 19630 19631type UpdateTableReplicaAutoScalingInput struct { 19632 _ struct{} `type:"structure"` 19633 19634 // Represents the auto scaling settings of the global secondary indexes of the 19635 // replica to be updated. 19636 GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexAutoScalingUpdate `min:"1" type:"list"` 19637 19638 // Represents the auto scaling settings to be modified for a global table or 19639 // global secondary index. 19640 ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` 19641 19642 // Represents the auto scaling settings of replicas of the table that will be 19643 // modified. 19644 ReplicaUpdates []*ReplicaAutoScalingUpdate `min:"1" type:"list"` 19645 19646 // The name of the global table to be updated. 19647 // 19648 // TableName is a required field 19649 TableName *string `min:"3" type:"string" required:"true"` 19650} 19651 19652// String returns the string representation 19653func (s UpdateTableReplicaAutoScalingInput) String() string { 19654 return awsutil.Prettify(s) 19655} 19656 19657// GoString returns the string representation 19658func (s UpdateTableReplicaAutoScalingInput) GoString() string { 19659 return s.String() 19660} 19661 19662// Validate inspects the fields of the type to determine if they are valid. 19663func (s *UpdateTableReplicaAutoScalingInput) Validate() error { 19664 invalidParams := request.ErrInvalidParams{Context: "UpdateTableReplicaAutoScalingInput"} 19665 if s.GlobalSecondaryIndexUpdates != nil && len(s.GlobalSecondaryIndexUpdates) < 1 { 19666 invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexUpdates", 1)) 19667 } 19668 if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { 19669 invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) 19670 } 19671 if s.TableName == nil { 19672 invalidParams.Add(request.NewErrParamRequired("TableName")) 19673 } 19674 if s.TableName != nil && len(*s.TableName) < 3 { 19675 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 19676 } 19677 if s.GlobalSecondaryIndexUpdates != nil { 19678 for i, v := range s.GlobalSecondaryIndexUpdates { 19679 if v == nil { 19680 continue 19681 } 19682 if err := v.Validate(); err != nil { 19683 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) 19684 } 19685 } 19686 } 19687 if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { 19688 if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { 19689 invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) 19690 } 19691 } 19692 if s.ReplicaUpdates != nil { 19693 for i, v := range s.ReplicaUpdates { 19694 if v == nil { 19695 continue 19696 } 19697 if err := v.Validate(); err != nil { 19698 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) 19699 } 19700 } 19701 } 19702 19703 if invalidParams.Len() > 0 { 19704 return invalidParams 19705 } 19706 return nil 19707} 19708 19709// SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value. 19710func (s *UpdateTableReplicaAutoScalingInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { 19711 s.GlobalSecondaryIndexUpdates = v 19712 return s 19713} 19714 19715// SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. 19716func (s *UpdateTableReplicaAutoScalingInput) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *UpdateTableReplicaAutoScalingInput { 19717 s.ProvisionedWriteCapacityAutoScalingUpdate = v 19718 return s 19719} 19720 19721// SetReplicaUpdates sets the ReplicaUpdates field's value. 19722func (s *UpdateTableReplicaAutoScalingInput) SetReplicaUpdates(v []*ReplicaAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { 19723 s.ReplicaUpdates = v 19724 return s 19725} 19726 19727// SetTableName sets the TableName field's value. 19728func (s *UpdateTableReplicaAutoScalingInput) SetTableName(v string) *UpdateTableReplicaAutoScalingInput { 19729 s.TableName = &v 19730 return s 19731} 19732 19733type UpdateTableReplicaAutoScalingOutput struct { 19734 _ struct{} `type:"structure"` 19735 19736 // Returns information about the auto scaling settings of a table with replicas. 19737 TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` 19738} 19739 19740// String returns the string representation 19741func (s UpdateTableReplicaAutoScalingOutput) String() string { 19742 return awsutil.Prettify(s) 19743} 19744 19745// GoString returns the string representation 19746func (s UpdateTableReplicaAutoScalingOutput) GoString() string { 19747 return s.String() 19748} 19749 19750// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. 19751func (s *UpdateTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *UpdateTableReplicaAutoScalingOutput { 19752 s.TableAutoScalingDescription = v 19753 return s 19754} 19755 19756// Represents the input of an UpdateTimeToLive operation. 19757type UpdateTimeToLiveInput struct { 19758 _ struct{} `type:"structure"` 19759 19760 // The name of the table to be configured. 19761 // 19762 // TableName is a required field 19763 TableName *string `min:"3" type:"string" required:"true"` 19764 19765 // Represents the settings used to enable or disable Time to Live for the specified 19766 // table. 19767 // 19768 // TimeToLiveSpecification is a required field 19769 TimeToLiveSpecification *TimeToLiveSpecification `type:"structure" required:"true"` 19770} 19771 19772// String returns the string representation 19773func (s UpdateTimeToLiveInput) String() string { 19774 return awsutil.Prettify(s) 19775} 19776 19777// GoString returns the string representation 19778func (s UpdateTimeToLiveInput) GoString() string { 19779 return s.String() 19780} 19781 19782// Validate inspects the fields of the type to determine if they are valid. 19783func (s *UpdateTimeToLiveInput) Validate() error { 19784 invalidParams := request.ErrInvalidParams{Context: "UpdateTimeToLiveInput"} 19785 if s.TableName == nil { 19786 invalidParams.Add(request.NewErrParamRequired("TableName")) 19787 } 19788 if s.TableName != nil && len(*s.TableName) < 3 { 19789 invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) 19790 } 19791 if s.TimeToLiveSpecification == nil { 19792 invalidParams.Add(request.NewErrParamRequired("TimeToLiveSpecification")) 19793 } 19794 if s.TimeToLiveSpecification != nil { 19795 if err := s.TimeToLiveSpecification.Validate(); err != nil { 19796 invalidParams.AddNested("TimeToLiveSpecification", err.(request.ErrInvalidParams)) 19797 } 19798 } 19799 19800 if invalidParams.Len() > 0 { 19801 return invalidParams 19802 } 19803 return nil 19804} 19805 19806// SetTableName sets the TableName field's value. 19807func (s *UpdateTimeToLiveInput) SetTableName(v string) *UpdateTimeToLiveInput { 19808 s.TableName = &v 19809 return s 19810} 19811 19812// SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value. 19813func (s *UpdateTimeToLiveInput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveInput { 19814 s.TimeToLiveSpecification = v 19815 return s 19816} 19817 19818type UpdateTimeToLiveOutput struct { 19819 _ struct{} `type:"structure"` 19820 19821 // Represents the output of an UpdateTimeToLive operation. 19822 TimeToLiveSpecification *TimeToLiveSpecification `type:"structure"` 19823} 19824 19825// String returns the string representation 19826func (s UpdateTimeToLiveOutput) String() string { 19827 return awsutil.Prettify(s) 19828} 19829 19830// GoString returns the string representation 19831func (s UpdateTimeToLiveOutput) GoString() string { 19832 return s.String() 19833} 19834 19835// SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value. 19836func (s *UpdateTimeToLiveOutput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveOutput { 19837 s.TimeToLiveSpecification = v 19838 return s 19839} 19840 19841// Represents an operation to perform - either DeleteItem or PutItem. You can 19842// only request one of these operations, not both, in a single WriteRequest. 19843// If you do need to perform both of these operations, you need to provide two 19844// separate WriteRequest objects. 19845type WriteRequest struct { 19846 _ struct{} `type:"structure"` 19847 19848 // A request to perform a DeleteItem operation. 19849 DeleteRequest *DeleteRequest `type:"structure"` 19850 19851 // A request to perform a PutItem operation. 19852 PutRequest *PutRequest `type:"structure"` 19853} 19854 19855// String returns the string representation 19856func (s WriteRequest) String() string { 19857 return awsutil.Prettify(s) 19858} 19859 19860// GoString returns the string representation 19861func (s WriteRequest) GoString() string { 19862 return s.String() 19863} 19864 19865// SetDeleteRequest sets the DeleteRequest field's value. 19866func (s *WriteRequest) SetDeleteRequest(v *DeleteRequest) *WriteRequest { 19867 s.DeleteRequest = v 19868 return s 19869} 19870 19871// SetPutRequest sets the PutRequest field's value. 19872func (s *WriteRequest) SetPutRequest(v *PutRequest) *WriteRequest { 19873 s.PutRequest = v 19874 return s 19875} 19876 19877const ( 19878 // AttributeActionAdd is a AttributeAction enum value 19879 AttributeActionAdd = "ADD" 19880 19881 // AttributeActionPut is a AttributeAction enum value 19882 AttributeActionPut = "PUT" 19883 19884 // AttributeActionDelete is a AttributeAction enum value 19885 AttributeActionDelete = "DELETE" 19886) 19887 19888const ( 19889 // BackupStatusCreating is a BackupStatus enum value 19890 BackupStatusCreating = "CREATING" 19891 19892 // BackupStatusDeleted is a BackupStatus enum value 19893 BackupStatusDeleted = "DELETED" 19894 19895 // BackupStatusAvailable is a BackupStatus enum value 19896 BackupStatusAvailable = "AVAILABLE" 19897) 19898 19899const ( 19900 // BackupTypeUser is a BackupType enum value 19901 BackupTypeUser = "USER" 19902 19903 // BackupTypeSystem is a BackupType enum value 19904 BackupTypeSystem = "SYSTEM" 19905 19906 // BackupTypeAwsBackup is a BackupType enum value 19907 BackupTypeAwsBackup = "AWS_BACKUP" 19908) 19909 19910const ( 19911 // BackupTypeFilterUser is a BackupTypeFilter enum value 19912 BackupTypeFilterUser = "USER" 19913 19914 // BackupTypeFilterSystem is a BackupTypeFilter enum value 19915 BackupTypeFilterSystem = "SYSTEM" 19916 19917 // BackupTypeFilterAwsBackup is a BackupTypeFilter enum value 19918 BackupTypeFilterAwsBackup = "AWS_BACKUP" 19919 19920 // BackupTypeFilterAll is a BackupTypeFilter enum value 19921 BackupTypeFilterAll = "ALL" 19922) 19923 19924const ( 19925 // BillingModeProvisioned is a BillingMode enum value 19926 BillingModeProvisioned = "PROVISIONED" 19927 19928 // BillingModePayPerRequest is a BillingMode enum value 19929 BillingModePayPerRequest = "PAY_PER_REQUEST" 19930) 19931 19932const ( 19933 // ComparisonOperatorEq is a ComparisonOperator enum value 19934 ComparisonOperatorEq = "EQ" 19935 19936 // ComparisonOperatorNe is a ComparisonOperator enum value 19937 ComparisonOperatorNe = "NE" 19938 19939 // ComparisonOperatorIn is a ComparisonOperator enum value 19940 ComparisonOperatorIn = "IN" 19941 19942 // ComparisonOperatorLe is a ComparisonOperator enum value 19943 ComparisonOperatorLe = "LE" 19944 19945 // ComparisonOperatorLt is a ComparisonOperator enum value 19946 ComparisonOperatorLt = "LT" 19947 19948 // ComparisonOperatorGe is a ComparisonOperator enum value 19949 ComparisonOperatorGe = "GE" 19950 19951 // ComparisonOperatorGt is a ComparisonOperator enum value 19952 ComparisonOperatorGt = "GT" 19953 19954 // ComparisonOperatorBetween is a ComparisonOperator enum value 19955 ComparisonOperatorBetween = "BETWEEN" 19956 19957 // ComparisonOperatorNotNull is a ComparisonOperator enum value 19958 ComparisonOperatorNotNull = "NOT_NULL" 19959 19960 // ComparisonOperatorNull is a ComparisonOperator enum value 19961 ComparisonOperatorNull = "NULL" 19962 19963 // ComparisonOperatorContains is a ComparisonOperator enum value 19964 ComparisonOperatorContains = "CONTAINS" 19965 19966 // ComparisonOperatorNotContains is a ComparisonOperator enum value 19967 ComparisonOperatorNotContains = "NOT_CONTAINS" 19968 19969 // ComparisonOperatorBeginsWith is a ComparisonOperator enum value 19970 ComparisonOperatorBeginsWith = "BEGINS_WITH" 19971) 19972 19973const ( 19974 // ConditionalOperatorAnd is a ConditionalOperator enum value 19975 ConditionalOperatorAnd = "AND" 19976 19977 // ConditionalOperatorOr is a ConditionalOperator enum value 19978 ConditionalOperatorOr = "OR" 19979) 19980 19981const ( 19982 // ContinuousBackupsStatusEnabled is a ContinuousBackupsStatus enum value 19983 ContinuousBackupsStatusEnabled = "ENABLED" 19984 19985 // ContinuousBackupsStatusDisabled is a ContinuousBackupsStatus enum value 19986 ContinuousBackupsStatusDisabled = "DISABLED" 19987) 19988 19989const ( 19990 // ContributorInsightsActionEnable is a ContributorInsightsAction enum value 19991 ContributorInsightsActionEnable = "ENABLE" 19992 19993 // ContributorInsightsActionDisable is a ContributorInsightsAction enum value 19994 ContributorInsightsActionDisable = "DISABLE" 19995) 19996 19997const ( 19998 // ContributorInsightsStatusEnabling is a ContributorInsightsStatus enum value 19999 ContributorInsightsStatusEnabling = "ENABLING" 20000 20001 // ContributorInsightsStatusEnabled is a ContributorInsightsStatus enum value 20002 ContributorInsightsStatusEnabled = "ENABLED" 20003 20004 // ContributorInsightsStatusDisabling is a ContributorInsightsStatus enum value 20005 ContributorInsightsStatusDisabling = "DISABLING" 20006 20007 // ContributorInsightsStatusDisabled is a ContributorInsightsStatus enum value 20008 ContributorInsightsStatusDisabled = "DISABLED" 20009 20010 // ContributorInsightsStatusFailed is a ContributorInsightsStatus enum value 20011 ContributorInsightsStatusFailed = "FAILED" 20012) 20013 20014const ( 20015 // GlobalTableStatusCreating is a GlobalTableStatus enum value 20016 GlobalTableStatusCreating = "CREATING" 20017 20018 // GlobalTableStatusActive is a GlobalTableStatus enum value 20019 GlobalTableStatusActive = "ACTIVE" 20020 20021 // GlobalTableStatusDeleting is a GlobalTableStatus enum value 20022 GlobalTableStatusDeleting = "DELETING" 20023 20024 // GlobalTableStatusUpdating is a GlobalTableStatus enum value 20025 GlobalTableStatusUpdating = "UPDATING" 20026) 20027 20028const ( 20029 // IndexStatusCreating is a IndexStatus enum value 20030 IndexStatusCreating = "CREATING" 20031 20032 // IndexStatusUpdating is a IndexStatus enum value 20033 IndexStatusUpdating = "UPDATING" 20034 20035 // IndexStatusDeleting is a IndexStatus enum value 20036 IndexStatusDeleting = "DELETING" 20037 20038 // IndexStatusActive is a IndexStatus enum value 20039 IndexStatusActive = "ACTIVE" 20040) 20041 20042const ( 20043 // KeyTypeHash is a KeyType enum value 20044 KeyTypeHash = "HASH" 20045 20046 // KeyTypeRange is a KeyType enum value 20047 KeyTypeRange = "RANGE" 20048) 20049 20050const ( 20051 // PointInTimeRecoveryStatusEnabled is a PointInTimeRecoveryStatus enum value 20052 PointInTimeRecoveryStatusEnabled = "ENABLED" 20053 20054 // PointInTimeRecoveryStatusDisabled is a PointInTimeRecoveryStatus enum value 20055 PointInTimeRecoveryStatusDisabled = "DISABLED" 20056) 20057 20058const ( 20059 // ProjectionTypeAll is a ProjectionType enum value 20060 ProjectionTypeAll = "ALL" 20061 20062 // ProjectionTypeKeysOnly is a ProjectionType enum value 20063 ProjectionTypeKeysOnly = "KEYS_ONLY" 20064 20065 // ProjectionTypeInclude is a ProjectionType enum value 20066 ProjectionTypeInclude = "INCLUDE" 20067) 20068 20069const ( 20070 // ReplicaStatusCreating is a ReplicaStatus enum value 20071 ReplicaStatusCreating = "CREATING" 20072 20073 // ReplicaStatusCreationFailed is a ReplicaStatus enum value 20074 ReplicaStatusCreationFailed = "CREATION_FAILED" 20075 20076 // ReplicaStatusUpdating is a ReplicaStatus enum value 20077 ReplicaStatusUpdating = "UPDATING" 20078 20079 // ReplicaStatusDeleting is a ReplicaStatus enum value 20080 ReplicaStatusDeleting = "DELETING" 20081 20082 // ReplicaStatusActive is a ReplicaStatus enum value 20083 ReplicaStatusActive = "ACTIVE" 20084) 20085 20086// Determines the level of detail about provisioned throughput consumption that 20087// is returned in the response: 20088// 20089// * INDEXES - The response includes the aggregate ConsumedCapacity for the 20090// operation, together with ConsumedCapacity for each table and secondary 20091// index that was accessed. Note that some operations, such as GetItem and 20092// BatchGetItem, do not access any indexes at all. In these cases, specifying 20093// INDEXES will only return ConsumedCapacity information for table(s). 20094// 20095// * TOTAL - The response includes only the aggregate ConsumedCapacity for 20096// the operation. 20097// 20098// * NONE - No ConsumedCapacity details are included in the response. 20099const ( 20100 // ReturnConsumedCapacityIndexes is a ReturnConsumedCapacity enum value 20101 ReturnConsumedCapacityIndexes = "INDEXES" 20102 20103 // ReturnConsumedCapacityTotal is a ReturnConsumedCapacity enum value 20104 ReturnConsumedCapacityTotal = "TOTAL" 20105 20106 // ReturnConsumedCapacityNone is a ReturnConsumedCapacity enum value 20107 ReturnConsumedCapacityNone = "NONE" 20108) 20109 20110const ( 20111 // ReturnItemCollectionMetricsSize is a ReturnItemCollectionMetrics enum value 20112 ReturnItemCollectionMetricsSize = "SIZE" 20113 20114 // ReturnItemCollectionMetricsNone is a ReturnItemCollectionMetrics enum value 20115 ReturnItemCollectionMetricsNone = "NONE" 20116) 20117 20118const ( 20119 // ReturnValueNone is a ReturnValue enum value 20120 ReturnValueNone = "NONE" 20121 20122 // ReturnValueAllOld is a ReturnValue enum value 20123 ReturnValueAllOld = "ALL_OLD" 20124 20125 // ReturnValueUpdatedOld is a ReturnValue enum value 20126 ReturnValueUpdatedOld = "UPDATED_OLD" 20127 20128 // ReturnValueAllNew is a ReturnValue enum value 20129 ReturnValueAllNew = "ALL_NEW" 20130 20131 // ReturnValueUpdatedNew is a ReturnValue enum value 20132 ReturnValueUpdatedNew = "UPDATED_NEW" 20133) 20134 20135const ( 20136 // ReturnValuesOnConditionCheckFailureAllOld is a ReturnValuesOnConditionCheckFailure enum value 20137 ReturnValuesOnConditionCheckFailureAllOld = "ALL_OLD" 20138 20139 // ReturnValuesOnConditionCheckFailureNone is a ReturnValuesOnConditionCheckFailure enum value 20140 ReturnValuesOnConditionCheckFailureNone = "NONE" 20141) 20142 20143const ( 20144 // SSEStatusEnabling is a SSEStatus enum value 20145 SSEStatusEnabling = "ENABLING" 20146 20147 // SSEStatusEnabled is a SSEStatus enum value 20148 SSEStatusEnabled = "ENABLED" 20149 20150 // SSEStatusDisabling is a SSEStatus enum value 20151 SSEStatusDisabling = "DISABLING" 20152 20153 // SSEStatusDisabled is a SSEStatus enum value 20154 SSEStatusDisabled = "DISABLED" 20155 20156 // SSEStatusUpdating is a SSEStatus enum value 20157 SSEStatusUpdating = "UPDATING" 20158) 20159 20160const ( 20161 // SSETypeAes256 is a SSEType enum value 20162 SSETypeAes256 = "AES256" 20163 20164 // SSETypeKms is a SSEType enum value 20165 SSETypeKms = "KMS" 20166) 20167 20168const ( 20169 // ScalarAttributeTypeS is a ScalarAttributeType enum value 20170 ScalarAttributeTypeS = "S" 20171 20172 // ScalarAttributeTypeN is a ScalarAttributeType enum value 20173 ScalarAttributeTypeN = "N" 20174 20175 // ScalarAttributeTypeB is a ScalarAttributeType enum value 20176 ScalarAttributeTypeB = "B" 20177) 20178 20179const ( 20180 // SelectAllAttributes is a Select enum value 20181 SelectAllAttributes = "ALL_ATTRIBUTES" 20182 20183 // SelectAllProjectedAttributes is a Select enum value 20184 SelectAllProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES" 20185 20186 // SelectSpecificAttributes is a Select enum value 20187 SelectSpecificAttributes = "SPECIFIC_ATTRIBUTES" 20188 20189 // SelectCount is a Select enum value 20190 SelectCount = "COUNT" 20191) 20192 20193const ( 20194 // StreamViewTypeNewImage is a StreamViewType enum value 20195 StreamViewTypeNewImage = "NEW_IMAGE" 20196 20197 // StreamViewTypeOldImage is a StreamViewType enum value 20198 StreamViewTypeOldImage = "OLD_IMAGE" 20199 20200 // StreamViewTypeNewAndOldImages is a StreamViewType enum value 20201 StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES" 20202 20203 // StreamViewTypeKeysOnly is a StreamViewType enum value 20204 StreamViewTypeKeysOnly = "KEYS_ONLY" 20205) 20206 20207const ( 20208 // TableStatusCreating is a TableStatus enum value 20209 TableStatusCreating = "CREATING" 20210 20211 // TableStatusUpdating is a TableStatus enum value 20212 TableStatusUpdating = "UPDATING" 20213 20214 // TableStatusDeleting is a TableStatus enum value 20215 TableStatusDeleting = "DELETING" 20216 20217 // TableStatusActive is a TableStatus enum value 20218 TableStatusActive = "ACTIVE" 20219 20220 // TableStatusInaccessibleEncryptionCredentials is a TableStatus enum value 20221 TableStatusInaccessibleEncryptionCredentials = "INACCESSIBLE_ENCRYPTION_CREDENTIALS" 20222 20223 // TableStatusArchiving is a TableStatus enum value 20224 TableStatusArchiving = "ARCHIVING" 20225 20226 // TableStatusArchived is a TableStatus enum value 20227 TableStatusArchived = "ARCHIVED" 20228) 20229 20230const ( 20231 // TimeToLiveStatusEnabling is a TimeToLiveStatus enum value 20232 TimeToLiveStatusEnabling = "ENABLING" 20233 20234 // TimeToLiveStatusDisabling is a TimeToLiveStatus enum value 20235 TimeToLiveStatusDisabling = "DISABLING" 20236 20237 // TimeToLiveStatusEnabled is a TimeToLiveStatus enum value 20238 TimeToLiveStatusEnabled = "ENABLED" 20239 20240 // TimeToLiveStatusDisabled is a TimeToLiveStatus enum value 20241 TimeToLiveStatusDisabled = "DISABLED" 20242) 20243