16074 lines
573 KiB
Go
16074 lines
573 KiB
Go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
||
|
||
package dynamodb
|
||
|
||
import (
|
||
"fmt"
|
||
"net/url"
|
||
"time"
|
||
|
||
"github.com/aws/aws-sdk-go/aws"
|
||
"github.com/aws/aws-sdk-go/aws/awsutil"
|
||
"github.com/aws/aws-sdk-go/aws/crr"
|
||
"github.com/aws/aws-sdk-go/aws/request"
|
||
"github.com/aws/aws-sdk-go/private/protocol"
|
||
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
|
||
)
|
||
|
||
const opBatchGetItem = "BatchGetItem"
|
||
|
||
// BatchGetItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the BatchGetItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See BatchGetItem for more information on using the BatchGetItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the BatchGetItemRequest method.
|
||
// req, resp := client.BatchGetItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem
|
||
func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.Request, output *BatchGetItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opBatchGetItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
Paginator: &request.Paginator{
|
||
InputTokens: []string{"RequestItems"},
|
||
OutputTokens: []string{"UnprocessedKeys"},
|
||
LimitToken: "",
|
||
TruncationToken: "",
|
||
},
|
||
}
|
||
|
||
if input == nil {
|
||
input = &BatchGetItemInput{}
|
||
}
|
||
|
||
output = &BatchGetItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// BatchGetItem API operation for Amazon DynamoDB.
|
||
//
|
||
// The BatchGetItem operation returns the attributes of one or more items from
|
||
// one or more tables. You identify requested items by primary key.
|
||
//
|
||
// A single operation can retrieve up to 16 MB of data, which can contain as
|
||
// many as 100 items. BatchGetItem will return a partial result if the response
|
||
// size limit is exceeded, the table's provisioned throughput is exceeded, or
|
||
// an internal processing failure occurs. If a partial result is returned, the
|
||
// operation returns a value for UnprocessedKeys. You can use this value to
|
||
// retry the operation starting with the next item to get.
|
||
//
|
||
// If you request more than 100 items BatchGetItem will return a ValidationException
|
||
// with the message "Too many items requested for the BatchGetItem call".
|
||
//
|
||
// For example, if you ask to retrieve 100 items, but each individual item is
|
||
// 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB
|
||
// limit). It also returns an appropriate UnprocessedKeys value so you can get
|
||
// the next page of results. If desired, your application can include its own
|
||
// logic to assemble the pages of results into one data set.
|
||
//
|
||
// If none of the items can be processed due to insufficient provisioned throughput
|
||
// on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException.
|
||
// If at least one of the items is successfully processed, then BatchGetItem
|
||
// completes successfully, while returning the keys of the unread items in UnprocessedKeys.
|
||
//
|
||
// If DynamoDB returns any unprocessed items, you should retry the batch operation
|
||
// on those items. However, we strongly recommend that you use an exponential
|
||
// backoff algorithm. If you retry the batch operation immediately, the underlying
|
||
// read or write requests can still fail due to throttling on the individual
|
||
// tables. If you delay the batch operation using exponential backoff, the individual
|
||
// requests in the batch are much more likely to succeed.
|
||
//
|
||
// For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// By default, BatchGetItem performs eventually consistent reads on every table
|
||
// in the request. If you want strongly consistent reads instead, you can set
|
||
// ConsistentRead to true for any or all tables.
|
||
//
|
||
// In order to minimize response latency, BatchGetItem retrieves items in parallel.
|
||
//
|
||
// When designing your application, keep in mind that DynamoDB does not return
|
||
// items in any particular order. To help parse the response by item, include
|
||
// the primary key values for the items in your request in the ProjectionExpression
|
||
// parameter.
|
||
//
|
||
// If a requested item does not exist, it is not returned in the result. Requests
|
||
// for nonexistent items consume the minimum read capacity units according to
|
||
// the type of read. For more information, see Capacity Units Calculations (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation BatchGetItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem
|
||
func (c *DynamoDB) BatchGetItem(input *BatchGetItemInput) (*BatchGetItemOutput, error) {
|
||
req, out := c.BatchGetItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// BatchGetItemWithContext is the same as BatchGetItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See BatchGetItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) BatchGetItemWithContext(ctx aws.Context, input *BatchGetItemInput, opts ...request.Option) (*BatchGetItemOutput, error) {
|
||
req, out := c.BatchGetItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// BatchGetItemPages iterates over the pages of a BatchGetItem operation,
|
||
// calling the "fn" function with the response data for each page. To stop
|
||
// iterating, return false from the fn function.
|
||
//
|
||
// See BatchGetItem method for more information on how to use this operation.
|
||
//
|
||
// Note: This operation can generate multiple requests to a service.
|
||
//
|
||
// // Example iterating over at most 3 pages of a BatchGetItem operation.
|
||
// pageNum := 0
|
||
// err := client.BatchGetItemPages(params,
|
||
// func(page *BatchGetItemOutput, lastPage bool) bool {
|
||
// pageNum++
|
||
// fmt.Println(page)
|
||
// return pageNum <= 3
|
||
// })
|
||
//
|
||
func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool) error {
|
||
return c.BatchGetItemPagesWithContext(aws.BackgroundContext(), input, fn)
|
||
}
|
||
|
||
// BatchGetItemPagesWithContext same as BatchGetItemPages except
|
||
// it takes a Context and allows setting request options on the pages.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) BatchGetItemPagesWithContext(ctx aws.Context, input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool, opts ...request.Option) error {
|
||
p := request.Pagination{
|
||
NewRequest: func() (*request.Request, error) {
|
||
var inCpy *BatchGetItemInput
|
||
if input != nil {
|
||
tmp := *input
|
||
inCpy = &tmp
|
||
}
|
||
req, _ := c.BatchGetItemRequest(inCpy)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return req, nil
|
||
},
|
||
}
|
||
|
||
cont := true
|
||
for p.Next() && cont {
|
||
cont = fn(p.Page().(*BatchGetItemOutput), !p.HasNextPage())
|
||
}
|
||
return p.Err()
|
||
}
|
||
|
||
const opBatchWriteItem = "BatchWriteItem"
|
||
|
||
// BatchWriteItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the BatchWriteItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See BatchWriteItem for more information on using the BatchWriteItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the BatchWriteItemRequest method.
|
||
// req, resp := client.BatchWriteItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem
|
||
func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *request.Request, output *BatchWriteItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opBatchWriteItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &BatchWriteItemInput{}
|
||
}
|
||
|
||
output = &BatchWriteItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// BatchWriteItem API operation for Amazon DynamoDB.
|
||
//
|
||
// The BatchWriteItem operation puts or deletes multiple items in one or more
|
||
// tables. A single call to BatchWriteItem can write up to 16 MB of data, which
|
||
// can comprise as many as 25 put or delete requests. Individual items to be
|
||
// written can be as large as 400 KB.
|
||
//
|
||
// BatchWriteItem cannot update items. To update items, use the UpdateItem action.
|
||
//
|
||
// The individual PutItem and DeleteItem operations specified in BatchWriteItem
|
||
// are atomic; however BatchWriteItem as a whole is not. If any requested operations
|
||
// fail because the table's provisioned throughput is exceeded or an internal
|
||
// processing failure occurs, the failed operations are returned in the UnprocessedItems
|
||
// response parameter. You can investigate and optionally resend the requests.
|
||
// Typically, you would call BatchWriteItem in a loop. Each iteration would
|
||
// check for unprocessed items and submit a new BatchWriteItem request with
|
||
// those unprocessed items until all items have been processed.
|
||
//
|
||
// Note that if none of the items can be processed due to insufficient provisioned
|
||
// throughput on all of the tables in the request, then BatchWriteItem will
|
||
// return a ProvisionedThroughputExceededException.
|
||
//
|
||
// If DynamoDB returns any unprocessed items, you should retry the batch operation
|
||
// on those items. However, we strongly recommend that you use an exponential
|
||
// backoff algorithm. If you retry the batch operation immediately, the underlying
|
||
// read or write requests can still fail due to throttling on the individual
|
||
// tables. If you delay the batch operation using exponential backoff, the individual
|
||
// requests in the batch are much more likely to succeed.
|
||
//
|
||
// For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// With BatchWriteItem, you can efficiently write or delete large amounts of
|
||
// data, such as from Amazon Elastic MapReduce (EMR), or copy data from another
|
||
// database into DynamoDB. In order to improve performance with these large-scale
|
||
// operations, BatchWriteItem does not behave in the same way as individual
|
||
// PutItem and DeleteItem calls would. For example, you cannot specify conditions
|
||
// on individual put and delete requests, and BatchWriteItem does not return
|
||
// deleted items in the response.
|
||
//
|
||
// If you use a programming language that supports concurrency, you can use
|
||
// threads to write items in parallel. Your application must include the necessary
|
||
// logic to manage the threads. With languages that don't support threading,
|
||
// you must update or delete the specified items one at a time. In both situations,
|
||
// BatchWriteItem performs the specified put and delete operations in parallel,
|
||
// giving you the power of the thread pool approach without having to introduce
|
||
// complexity into your application.
|
||
//
|
||
// Parallel processing reduces latency, but each specified put and delete request
|
||
// consumes the same number of write capacity units whether it is processed
|
||
// in parallel or not. Delete operations on nonexistent items consume one write
|
||
// capacity unit.
|
||
//
|
||
// If one or more of the following is true, DynamoDB rejects the entire batch
|
||
// write operation:
|
||
//
|
||
// * One or more tables specified in the BatchWriteItem request does not
|
||
// exist.
|
||
//
|
||
// * Primary key attributes specified on an item in the request do not match
|
||
// those in the corresponding table's primary key schema.
|
||
//
|
||
// * You try to perform multiple operations on the same item in the same
|
||
// BatchWriteItem request. For example, you cannot put and delete the same
|
||
// item in the same BatchWriteItem request.
|
||
//
|
||
// * Your request contains at least two items with identical hash and range
|
||
// keys (which essentially is two put operations).
|
||
//
|
||
// * There are more than 25 requests in the batch.
|
||
//
|
||
// * Any individual item in a batch exceeds 400 KB.
|
||
//
|
||
// * The total request size exceeds 16 MB.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation BatchWriteItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
|
||
// An item collection is too large. This exception is only returned for tables
|
||
// that have one or more local secondary indexes.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem
|
||
func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOutput, error) {
|
||
req, out := c.BatchWriteItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// BatchWriteItemWithContext is the same as BatchWriteItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See BatchWriteItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) BatchWriteItemWithContext(ctx aws.Context, input *BatchWriteItemInput, opts ...request.Option) (*BatchWriteItemOutput, error) {
|
||
req, out := c.BatchWriteItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opCreateBackup = "CreateBackup"
|
||
|
||
// CreateBackupRequest generates a "aws/request.Request" representing the
|
||
// client's request for the CreateBackup operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See CreateBackup for more information on using the CreateBackup
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the CreateBackupRequest method.
|
||
// req, resp := client.CreateBackupRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup
|
||
func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) {
|
||
op := &request.Operation{
|
||
Name: opCreateBackup,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &CreateBackupInput{}
|
||
}
|
||
|
||
output = &CreateBackupOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// CreateBackup API operation for Amazon DynamoDB.
|
||
//
|
||
// Creates a backup for an existing table.
|
||
//
|
||
// Each time you create an On-Demand Backup, the entire table data is backed
|
||
// up. There is no limit to the number of on-demand backups that can be taken.
|
||
//
|
||
// When you create an On-Demand Backup, a time marker of the request is cataloged,
|
||
// and the backup is created asynchronously, by applying all changes until the
|
||
// time of the request to the last full table snapshot. Backup requests are
|
||
// processed instantaneously and become available for restore within minutes.
|
||
//
|
||
// You can call CreateBackup at a maximum rate of 50 times per second.
|
||
//
|
||
// All backups in DynamoDB work without consuming any provisioned throughput
|
||
// on the table.
|
||
//
|
||
// If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed
|
||
// to contain all data committed to the table up to 14:24:00, and data committed
|
||
// after 14:26:00 will not be. The backup may or may not contain data modifications
|
||
// made between 14:24:00 and 14:26:00. On-Demand Backup does not support causal
|
||
// consistency.
|
||
//
|
||
// Along with data, the following are also included on the backups:
|
||
//
|
||
// * Global secondary indexes (GSIs)
|
||
//
|
||
// * Local secondary indexes (LSIs)
|
||
//
|
||
// * Streams
|
||
//
|
||
// * Provisioned read and write capacity
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation CreateBackup for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// * ErrCodeTableInUseException "TableInUseException"
|
||
// A target table with the specified name is either being created or deleted.
|
||
//
|
||
// * ErrCodeContinuousBackupsUnavailableException "ContinuousBackupsUnavailableException"
|
||
// Backups have not yet been enabled for this table.
|
||
//
|
||
// * ErrCodeBackupInUseException "BackupInUseException"
|
||
// There is another ongoing conflicting backup control plane operation on the
|
||
// table. The backup is either being created, deleted or restored to a table.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup
|
||
func (c *DynamoDB) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) {
|
||
req, out := c.CreateBackupRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// CreateBackupWithContext is the same as CreateBackup with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See CreateBackup for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) {
|
||
req, out := c.CreateBackupRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opCreateGlobalTable = "CreateGlobalTable"
|
||
|
||
// CreateGlobalTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the CreateGlobalTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See CreateGlobalTable for more information on using the CreateGlobalTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the CreateGlobalTableRequest method.
|
||
// req, resp := client.CreateGlobalTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable
|
||
func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req *request.Request, output *CreateGlobalTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opCreateGlobalTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &CreateGlobalTableInput{}
|
||
}
|
||
|
||
output = &CreateGlobalTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// CreateGlobalTable API operation for Amazon DynamoDB.
|
||
//
|
||
// Creates a global table from an existing table. A global table creates a replication
|
||
// relationship between two or more DynamoDB tables with the same table name
|
||
// in the provided regions.
|
||
//
|
||
// If you want to add a new replica table to a global table, each of the following
|
||
// conditions must be true:
|
||
//
|
||
// * The table must have the same primary key as all of the other replicas.
|
||
//
|
||
// * The table must have the same name as all of the other replicas.
|
||
//
|
||
// * The table must have DynamoDB Streams enabled, with the stream containing
|
||
// both the new and the old images of the item.
|
||
//
|
||
// * None of the replica tables in the global table can contain any data.
|
||
//
|
||
// If global secondary indexes are specified, then the following conditions
|
||
// must also be met:
|
||
//
|
||
// * The global secondary indexes must have the same name.
|
||
//
|
||
// * The global secondary indexes must have the same hash key and sort key
|
||
// (if present).
|
||
//
|
||
// Write capacity settings should be set consistently across your replica tables
|
||
// and secondary indexes. DynamoDB strongly recommends enabling auto scaling
|
||
// to manage the write capacity settings for all of your global tables replicas
|
||
// and indexes.
|
||
//
|
||
// If you prefer to manage write capacity settings manually, you should provision
|
||
// equal replicated write capacity units to your replica tables. You should
|
||
// also provision equal replicated write capacity units to matching secondary
|
||
// indexes across your global table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation CreateGlobalTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// * ErrCodeGlobalTableAlreadyExistsException "GlobalTableAlreadyExistsException"
|
||
// The specified global table already exists.
|
||
//
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable
|
||
func (c *DynamoDB) CreateGlobalTable(input *CreateGlobalTableInput) (*CreateGlobalTableOutput, error) {
|
||
req, out := c.CreateGlobalTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// CreateGlobalTableWithContext is the same as CreateGlobalTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See CreateGlobalTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) CreateGlobalTableWithContext(ctx aws.Context, input *CreateGlobalTableInput, opts ...request.Option) (*CreateGlobalTableOutput, error) {
|
||
req, out := c.CreateGlobalTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opCreateTable = "CreateTable"
|
||
|
||
// CreateTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the CreateTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See CreateTable for more information on using the CreateTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the CreateTableRequest method.
|
||
// req, resp := client.CreateTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable
|
||
func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opCreateTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &CreateTableInput{}
|
||
}
|
||
|
||
output = &CreateTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// CreateTable API operation for Amazon DynamoDB.
|
||
//
|
||
// The CreateTable operation adds a new table to your account. In an AWS account,
|
||
// table names must be unique within each region. That is, you can have two
|
||
// tables with same name if you create the tables in different regions.
|
||
//
|
||
// CreateTable is an asynchronous operation. Upon receiving a CreateTable request,
|
||
// DynamoDB immediately returns a response with a TableStatus of CREATING. After
|
||
// the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform
|
||
// read and write operations only on an ACTIVE table.
|
||
//
|
||
// You can optionally define secondary indexes on the new table, as part of
|
||
// the CreateTable operation. If you want to create multiple tables with secondary
|
||
// indexes on them, you must create the tables sequentially. Only one table
|
||
// with secondary indexes can be in the CREATING state at any given time.
|
||
//
|
||
// You can use the DescribeTable action to check the table status.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation CreateTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable
|
||
func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) {
|
||
req, out := c.CreateTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// CreateTableWithContext is the same as CreateTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See CreateTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) {
|
||
req, out := c.CreateTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDeleteBackup = "DeleteBackup"
|
||
|
||
// DeleteBackupRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DeleteBackup operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DeleteBackup for more information on using the DeleteBackup
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DeleteBackupRequest method.
|
||
// req, resp := client.DeleteBackupRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup
|
||
func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) {
|
||
op := &request.Operation{
|
||
Name: opDeleteBackup,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DeleteBackupInput{}
|
||
}
|
||
|
||
output = &DeleteBackupOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DeleteBackup API operation for Amazon DynamoDB.
|
||
//
|
||
// Deletes an existing backup of a table.
|
||
//
|
||
// You can call DeleteBackup at a maximum rate of 10 times per second.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DeleteBackup for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeBackupNotFoundException "BackupNotFoundException"
|
||
// Backup not found for the given BackupARN.
|
||
//
|
||
// * ErrCodeBackupInUseException "BackupInUseException"
|
||
// There is another ongoing conflicting backup control plane operation on the
|
||
// table. The backup is either being created, deleted or restored to a table.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup
|
||
func (c *DynamoDB) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) {
|
||
req, out := c.DeleteBackupRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DeleteBackupWithContext is the same as DeleteBackup with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DeleteBackup for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) {
|
||
req, out := c.DeleteBackupRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDeleteItem = "DeleteItem"
|
||
|
||
// DeleteItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DeleteItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DeleteItem for more information on using the DeleteItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DeleteItemRequest method.
|
||
// req, resp := client.DeleteItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem
|
||
func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Request, output *DeleteItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opDeleteItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DeleteItemInput{}
|
||
}
|
||
|
||
output = &DeleteItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DeleteItem API operation for Amazon DynamoDB.
|
||
//
|
||
// Deletes a single item in a table by primary key. You can perform a conditional
|
||
// delete operation that deletes the item if it exists, or if it has an expected
|
||
// attribute value.
|
||
//
|
||
// In addition to deleting an item, you can also return the item's attribute
|
||
// values in the same operation, using the ReturnValues parameter.
|
||
//
|
||
// Unless you specify conditions, the DeleteItem is an idempotent operation;
|
||
// running it multiple times on the same item or attribute does not result in
|
||
// an error response.
|
||
//
|
||
// Conditional deletes are useful for deleting items only if specific conditions
|
||
// are met. If those conditions are met, DynamoDB performs the delete. Otherwise,
|
||
// the item is not deleted.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DeleteItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
|
||
// A condition specified in the operation could not be evaluated.
|
||
//
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
|
||
// An item collection is too large. This exception is only returned for tables
|
||
// that have one or more local secondary indexes.
|
||
//
|
||
// * ErrCodeTransactionConflictException "TransactionConflictException"
|
||
// Operation was rejected because there is an ongoing transaction for the item.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem
|
||
func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) {
|
||
req, out := c.DeleteItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DeleteItemWithContext is the same as DeleteItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DeleteItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DeleteItemWithContext(ctx aws.Context, input *DeleteItemInput, opts ...request.Option) (*DeleteItemOutput, error) {
|
||
req, out := c.DeleteItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDeleteTable = "DeleteTable"
|
||
|
||
// DeleteTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DeleteTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DeleteTable for more information on using the DeleteTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DeleteTableRequest method.
|
||
// req, resp := client.DeleteTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable
|
||
func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opDeleteTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DeleteTableInput{}
|
||
}
|
||
|
||
output = &DeleteTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DeleteTable API operation for Amazon DynamoDB.
|
||
//
|
||
// The DeleteTable operation deletes a table and all of its items. After a DeleteTable
|
||
// request, the specified table is in the DELETING state until DynamoDB completes
|
||
// the deletion. If the table is in the ACTIVE state, you can delete it. If
|
||
// a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException.
|
||
// If the specified table does not exist, DynamoDB returns a ResourceNotFoundException.
|
||
// If table is already in the DELETING state, no error is returned.
|
||
//
|
||
// DynamoDB might continue to accept data read and write operations, such as
|
||
// GetItem and PutItem, on a table in the DELETING state until the table deletion
|
||
// is complete.
|
||
//
|
||
// When you delete a table, any indexes on that table are also deleted.
|
||
//
|
||
// If you have DynamoDB Streams enabled on the table, then the corresponding
|
||
// stream on that table goes into the DISABLED state, and the stream is automatically
|
||
// deleted after 24 hours.
|
||
//
|
||
// Use the DescribeTable action to check the status of the table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DeleteTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable
|
||
func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) {
|
||
req, out := c.DeleteTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DeleteTableWithContext is the same as DeleteTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DeleteTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) {
|
||
req, out := c.DeleteTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeBackup = "DescribeBackup"
|
||
|
||
// DescribeBackupRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeBackup operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeBackup for more information on using the DescribeBackup
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeBackupRequest method.
|
||
// req, resp := client.DescribeBackupRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup
|
||
func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *request.Request, output *DescribeBackupOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeBackup,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeBackupInput{}
|
||
}
|
||
|
||
output = &DescribeBackupOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeBackup API operation for Amazon DynamoDB.
|
||
//
|
||
// Describes an existing backup of a table.
|
||
//
|
||
// You can call DescribeBackup at a maximum rate of 10 times per second.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeBackup for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeBackupNotFoundException "BackupNotFoundException"
|
||
// Backup not found for the given BackupARN.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup
|
||
func (c *DynamoDB) DescribeBackup(input *DescribeBackupInput) (*DescribeBackupOutput, error) {
|
||
req, out := c.DescribeBackupRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeBackupWithContext is the same as DescribeBackup with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeBackup for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeBackupWithContext(ctx aws.Context, input *DescribeBackupInput, opts ...request.Option) (*DescribeBackupOutput, error) {
|
||
req, out := c.DescribeBackupRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeContinuousBackups = "DescribeContinuousBackups"
|
||
|
||
// DescribeContinuousBackupsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeContinuousBackups operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeContinuousBackups for more information on using the DescribeContinuousBackups
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeContinuousBackupsRequest method.
|
||
// req, resp := client.DescribeContinuousBackupsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups
|
||
func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBackupsInput) (req *request.Request, output *DescribeContinuousBackupsOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeContinuousBackups,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeContinuousBackupsInput{}
|
||
}
|
||
|
||
output = &DescribeContinuousBackupsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeContinuousBackups API operation for Amazon DynamoDB.
|
||
//
|
||
// Checks the status of continuous backups and point in time recovery on the
|
||
// specified table. Continuous backups are ENABLED on all tables at table creation.
|
||
// If point in time recovery is enabled, PointInTimeRecoveryStatus will be set
|
||
// to ENABLED.
|
||
//
|
||
// Once continuous backups and point in time recovery are enabled, you can restore
|
||
// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.
|
||
//
|
||
// LatestRestorableDateTime is typically 5 minutes before the current time.
|
||
// You can restore your table to any point in time during the last 35 days.
|
||
//
|
||
// You can call DescribeContinuousBackups at a maximum rate of 10 times per
|
||
// second.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeContinuousBackups for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups
|
||
func (c *DynamoDB) DescribeContinuousBackups(input *DescribeContinuousBackupsInput) (*DescribeContinuousBackupsOutput, error) {
|
||
req, out := c.DescribeContinuousBackupsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeContinuousBackupsWithContext is the same as DescribeContinuousBackups with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeContinuousBackups for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeContinuousBackupsWithContext(ctx aws.Context, input *DescribeContinuousBackupsInput, opts ...request.Option) (*DescribeContinuousBackupsOutput, error) {
|
||
req, out := c.DescribeContinuousBackupsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeEndpoints = "DescribeEndpoints"
|
||
|
||
// DescribeEndpointsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeEndpoints operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeEndpoints for more information on using the DescribeEndpoints
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeEndpointsRequest method.
|
||
// req, resp := client.DescribeEndpointsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints
|
||
func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeEndpoints,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeEndpointsInput{}
|
||
}
|
||
|
||
output = &DescribeEndpointsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
return
|
||
}
|
||
|
||
// DescribeEndpoints API operation for Amazon DynamoDB.
|
||
//
|
||
// Returns the regional endpoint information.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeEndpoints for usage and error information.
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints
|
||
func (c *DynamoDB) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
|
||
req, out := c.DescribeEndpointsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeEndpoints for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
|
||
req, out := c.DescribeEndpointsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
type discovererDescribeEndpoints struct {
|
||
Client *DynamoDB
|
||
Required bool
|
||
EndpointCache *crr.EndpointCache
|
||
Params map[string]*string
|
||
Key string
|
||
}
|
||
|
||
func (d *discovererDescribeEndpoints) Discover() (crr.Endpoint, error) {
|
||
input := &DescribeEndpointsInput{}
|
||
|
||
resp, err := d.Client.DescribeEndpoints(input)
|
||
if err != nil {
|
||
return crr.Endpoint{}, err
|
||
}
|
||
|
||
endpoint := crr.Endpoint{
|
||
Key: d.Key,
|
||
}
|
||
|
||
for _, e := range resp.Endpoints {
|
||
if e.Address == nil {
|
||
continue
|
||
}
|
||
|
||
cachedInMinutes := aws.Int64Value(e.CachePeriodInMinutes)
|
||
u, err := url.Parse(*e.Address)
|
||
if err != nil {
|
||
continue
|
||
}
|
||
|
||
addr := crr.WeightedAddress{
|
||
URL: u,
|
||
Expired: time.Now().Add(time.Duration(cachedInMinutes) * time.Minute),
|
||
}
|
||
|
||
endpoint.Add(addr)
|
||
}
|
||
|
||
d.EndpointCache.Add(endpoint)
|
||
|
||
return endpoint, nil
|
||
}
|
||
|
||
func (d *discovererDescribeEndpoints) Handler(r *request.Request) {
|
||
endpointKey := crr.BuildEndpointKey(d.Params)
|
||
d.Key = endpointKey
|
||
|
||
endpoint, err := d.EndpointCache.Get(d, endpointKey, d.Required)
|
||
if err != nil {
|
||
r.Error = err
|
||
return
|
||
}
|
||
|
||
if endpoint.URL != nil && len(endpoint.URL.String()) > 0 {
|
||
r.HTTPRequest.URL = endpoint.URL
|
||
}
|
||
}
|
||
|
||
const opDescribeGlobalTable = "DescribeGlobalTable"
|
||
|
||
// DescribeGlobalTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeGlobalTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeGlobalTable for more information on using the DescribeGlobalTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeGlobalTableRequest method.
|
||
// req, resp := client.DescribeGlobalTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable
|
||
func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) (req *request.Request, output *DescribeGlobalTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeGlobalTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeGlobalTableInput{}
|
||
}
|
||
|
||
output = &DescribeGlobalTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeGlobalTable API operation for Amazon DynamoDB.
|
||
//
|
||
// Returns information about the specified global table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeGlobalTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
|
||
// The specified global table does not exist.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable
|
||
func (c *DynamoDB) DescribeGlobalTable(input *DescribeGlobalTableInput) (*DescribeGlobalTableOutput, error) {
|
||
req, out := c.DescribeGlobalTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeGlobalTableWithContext is the same as DescribeGlobalTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeGlobalTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeGlobalTableWithContext(ctx aws.Context, input *DescribeGlobalTableInput, opts ...request.Option) (*DescribeGlobalTableOutput, error) {
|
||
req, out := c.DescribeGlobalTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeGlobalTableSettings = "DescribeGlobalTableSettings"
|
||
|
||
// DescribeGlobalTableSettingsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeGlobalTableSettings operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeGlobalTableSettings for more information on using the DescribeGlobalTableSettings
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeGlobalTableSettingsRequest method.
|
||
// req, resp := client.DescribeGlobalTableSettingsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings
|
||
func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTableSettingsInput) (req *request.Request, output *DescribeGlobalTableSettingsOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeGlobalTableSettings,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeGlobalTableSettingsInput{}
|
||
}
|
||
|
||
output = &DescribeGlobalTableSettingsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeGlobalTableSettings API operation for Amazon DynamoDB.
|
||
//
|
||
// Describes region specific settings for a global table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeGlobalTableSettings for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
|
||
// The specified global table does not exist.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings
|
||
func (c *DynamoDB) DescribeGlobalTableSettings(input *DescribeGlobalTableSettingsInput) (*DescribeGlobalTableSettingsOutput, error) {
|
||
req, out := c.DescribeGlobalTableSettingsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeGlobalTableSettingsWithContext is the same as DescribeGlobalTableSettings with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeGlobalTableSettings for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeGlobalTableSettingsWithContext(ctx aws.Context, input *DescribeGlobalTableSettingsInput, opts ...request.Option) (*DescribeGlobalTableSettingsOutput, error) {
|
||
req, out := c.DescribeGlobalTableSettingsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeLimits = "DescribeLimits"
|
||
|
||
// DescribeLimitsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeLimits operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeLimits for more information on using the DescribeLimits
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeLimitsRequest method.
|
||
// req, resp := client.DescribeLimitsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits
|
||
func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *request.Request, output *DescribeLimitsOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeLimits,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeLimitsInput{}
|
||
}
|
||
|
||
output = &DescribeLimitsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeLimits API operation for Amazon DynamoDB.
|
||
//
|
||
// Returns the current provisioned-capacity limits for your AWS account in a
|
||
// region, both for the region as a whole and for any one DynamoDB table that
|
||
// you create there.
|
||
//
|
||
// When you establish an AWS account, the account has initial limits on the
|
||
// maximum read capacity units and write capacity units that you can provision
|
||
// across all of your DynamoDB tables in a given region. Also, there are per-table
|
||
// limits that apply when you create a table there. For more information, see
|
||
// Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// page in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Although you can increase these limits by filing a case at AWS Support Center
|
||
// (https://console.aws.amazon.com/support/home#/), obtaining the increase is
|
||
// not instantaneous. The DescribeLimits action lets you write code to compare
|
||
// the capacity you are currently using to those limits imposed by your account
|
||
// so that you have enough time to apply for an increase before you hit a limit.
|
||
//
|
||
// For example, you could use one of the AWS SDKs to do the following:
|
||
//
|
||
// Call DescribeLimits for a particular region to obtain your current account
|
||
// limits on provisioned capacity there.
|
||
//
|
||
// Create a variable to hold the aggregate read capacity units provisioned for
|
||
// all your tables in that region, and one to hold the aggregate write capacity
|
||
// units. Zero them both.
|
||
//
|
||
// Call ListTables to obtain a list of all your DynamoDB tables.
|
||
//
|
||
// For each table name listed by ListTables, do the following:
|
||
//
|
||
// Call DescribeTable with the table name.
|
||
//
|
||
// Use the data returned by DescribeTable to add the read capacity units and
|
||
// write capacity units provisioned for the table itself to your variables.
|
||
//
|
||
// If the table has one or more global secondary indexes (GSIs), loop over these
|
||
// GSIs and add their provisioned capacity values to your variables as well.
|
||
//
|
||
// Report the account limits for that region returned by DescribeLimits, along
|
||
// with the total current provisioned capacity levels you have calculated.
|
||
//
|
||
// This will let you see whether you are getting close to your account-level
|
||
// limits.
|
||
//
|
||
// The per-table limits apply only when you are creating a new table. They restrict
|
||
// the sum of the provisioned capacity of the new table itself and all its global
|
||
// secondary indexes.
|
||
//
|
||
// For existing tables and their GSIs, DynamoDB will not let you increase provisioned
|
||
// capacity extremely rapidly, but the only upper limit that applies is that
|
||
// the aggregate provisioned capacity over all your tables and GSIs cannot exceed
|
||
// either of the per-account limits.
|
||
//
|
||
// DescribeLimits should only be called periodically. You can expect throttling
|
||
// errors if you call it more than once in a minute.
|
||
//
|
||
// The DescribeLimits Request element has no content.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeLimits for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits
|
||
func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOutput, error) {
|
||
req, out := c.DescribeLimitsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeLimitsWithContext is the same as DescribeLimits with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeLimits for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeLimitsWithContext(ctx aws.Context, input *DescribeLimitsInput, opts ...request.Option) (*DescribeLimitsOutput, error) {
|
||
req, out := c.DescribeLimitsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeTable = "DescribeTable"
|
||
|
||
// DescribeTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeTable for more information on using the DescribeTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeTableRequest method.
|
||
// req, resp := client.DescribeTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable
|
||
func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request.Request, output *DescribeTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeTableInput{}
|
||
}
|
||
|
||
output = &DescribeTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeTable API operation for Amazon DynamoDB.
|
||
//
|
||
// Returns information about the table, including the current status of the
|
||
// table, when it was created, the primary key schema, and any indexes on the
|
||
// table.
|
||
//
|
||
// If you issue a DescribeTable request immediately after a CreateTable request,
|
||
// DynamoDB might return a ResourceNotFoundException. This is because DescribeTable
|
||
// uses an eventually consistent query, and the metadata for your table might
|
||
// not be available at that moment. Wait for a few seconds, and then try the
|
||
// DescribeTable request again.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable
|
||
func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) {
|
||
req, out := c.DescribeTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeTableWithContext is the same as DescribeTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeTableWithContext(ctx aws.Context, input *DescribeTableInput, opts ...request.Option) (*DescribeTableOutput, error) {
|
||
req, out := c.DescribeTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opDescribeTimeToLive = "DescribeTimeToLive"
|
||
|
||
// DescribeTimeToLiveRequest generates a "aws/request.Request" representing the
|
||
// client's request for the DescribeTimeToLive operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See DescribeTimeToLive for more information on using the DescribeTimeToLive
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the DescribeTimeToLiveRequest method.
|
||
// req, resp := client.DescribeTimeToLiveRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive
|
||
func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (req *request.Request, output *DescribeTimeToLiveOutput) {
|
||
op := &request.Operation{
|
||
Name: opDescribeTimeToLive,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &DescribeTimeToLiveInput{}
|
||
}
|
||
|
||
output = &DescribeTimeToLiveOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// DescribeTimeToLive API operation for Amazon DynamoDB.
|
||
//
|
||
// Gives a description of the Time to Live (TTL) status on the specified table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation DescribeTimeToLive for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive
|
||
func (c *DynamoDB) DescribeTimeToLive(input *DescribeTimeToLiveInput) (*DescribeTimeToLiveOutput, error) {
|
||
req, out := c.DescribeTimeToLiveRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// DescribeTimeToLiveWithContext is the same as DescribeTimeToLive with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See DescribeTimeToLive for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) DescribeTimeToLiveWithContext(ctx aws.Context, input *DescribeTimeToLiveInput, opts ...request.Option) (*DescribeTimeToLiveOutput, error) {
|
||
req, out := c.DescribeTimeToLiveRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opGetItem = "GetItem"
|
||
|
||
// GetItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the GetItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See GetItem for more information on using the GetItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the GetItemRequest method.
|
||
// req, resp := client.GetItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem
|
||
func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opGetItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &GetItemInput{}
|
||
}
|
||
|
||
output = &GetItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// GetItem API operation for Amazon DynamoDB.
|
||
//
|
||
// The GetItem operation returns a set of attributes for the item with the given
|
||
// primary key. If there is no matching item, GetItem does not return any data
|
||
// and there will be no Item element in the response.
|
||
//
|
||
// GetItem provides an eventually consistent read by default. If your application
|
||
// requires a strongly consistent read, set ConsistentRead to true. Although
|
||
// a strongly consistent read might take more time than an eventually consistent
|
||
// read, it always returns the last updated value.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation GetItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem
|
||
func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) {
|
||
req, out := c.GetItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// GetItemWithContext is the same as GetItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See GetItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) {
|
||
req, out := c.GetItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opListBackups = "ListBackups"
|
||
|
||
// ListBackupsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the ListBackups operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See ListBackups for more information on using the ListBackups
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the ListBackupsRequest method.
|
||
// req, resp := client.ListBackupsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups
|
||
func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) {
|
||
op := &request.Operation{
|
||
Name: opListBackups,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &ListBackupsInput{}
|
||
}
|
||
|
||
output = &ListBackupsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// ListBackups API operation for Amazon DynamoDB.
|
||
//
|
||
// List backups associated with an AWS account. To list backups for a given
|
||
// table, specify TableName. ListBackups returns a paginated list of results
|
||
// with at most 1MB worth of items in a page. You can also specify a limit for
|
||
// the maximum number of entries to be returned in a page.
|
||
//
|
||
// In the request, start time is inclusive but end time is exclusive. Note that
|
||
// these limits are for the time at which the original backup was requested.
|
||
//
|
||
// You can call ListBackups a maximum of 5 times per second.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation ListBackups for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups
|
||
func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) {
|
||
req, out := c.ListBackupsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ListBackupsWithContext is the same as ListBackups with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See ListBackups for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) {
|
||
req, out := c.ListBackupsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opListGlobalTables = "ListGlobalTables"
|
||
|
||
// ListGlobalTablesRequest generates a "aws/request.Request" representing the
|
||
// client's request for the ListGlobalTables operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See ListGlobalTables for more information on using the ListGlobalTables
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the ListGlobalTablesRequest method.
|
||
// req, resp := client.ListGlobalTablesRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables
|
||
func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) {
|
||
op := &request.Operation{
|
||
Name: opListGlobalTables,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &ListGlobalTablesInput{}
|
||
}
|
||
|
||
output = &ListGlobalTablesOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// ListGlobalTables API operation for Amazon DynamoDB.
|
||
//
|
||
// Lists all global tables that have a replica in the specified region.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation ListGlobalTables for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables
|
||
func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) {
|
||
req, out := c.ListGlobalTablesRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See ListGlobalTables for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) {
|
||
req, out := c.ListGlobalTablesRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opListTables = "ListTables"
|
||
|
||
// ListTablesRequest generates a "aws/request.Request" representing the
|
||
// client's request for the ListTables operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See ListTables for more information on using the ListTables
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the ListTablesRequest method.
|
||
// req, resp := client.ListTablesRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables
|
||
func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) {
|
||
op := &request.Operation{
|
||
Name: opListTables,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
Paginator: &request.Paginator{
|
||
InputTokens: []string{"ExclusiveStartTableName"},
|
||
OutputTokens: []string{"LastEvaluatedTableName"},
|
||
LimitToken: "Limit",
|
||
TruncationToken: "",
|
||
},
|
||
}
|
||
|
||
if input == nil {
|
||
input = &ListTablesInput{}
|
||
}
|
||
|
||
output = &ListTablesOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// ListTables API operation for Amazon DynamoDB.
|
||
//
|
||
// Returns an array of table names associated with the current account and endpoint.
|
||
// The output from ListTables is paginated, with each page returning a maximum
|
||
// of 100 table names.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation ListTables for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables
|
||
func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) {
|
||
req, out := c.ListTablesRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ListTablesWithContext is the same as ListTables with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See ListTables for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) {
|
||
req, out := c.ListTablesRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ListTablesPages iterates over the pages of a ListTables operation,
|
||
// calling the "fn" function with the response data for each page. To stop
|
||
// iterating, return false from the fn function.
|
||
//
|
||
// See ListTables method for more information on how to use this operation.
|
||
//
|
||
// Note: This operation can generate multiple requests to a service.
|
||
//
|
||
// // Example iterating over at most 3 pages of a ListTables operation.
|
||
// pageNum := 0
|
||
// err := client.ListTablesPages(params,
|
||
// func(page *ListTablesOutput, lastPage bool) bool {
|
||
// pageNum++
|
||
// fmt.Println(page)
|
||
// return pageNum <= 3
|
||
// })
|
||
//
|
||
func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error {
|
||
return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn)
|
||
}
|
||
|
||
// ListTablesPagesWithContext same as ListTablesPages except
|
||
// it takes a Context and allows setting request options on the pages.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error {
|
||
p := request.Pagination{
|
||
NewRequest: func() (*request.Request, error) {
|
||
var inCpy *ListTablesInput
|
||
if input != nil {
|
||
tmp := *input
|
||
inCpy = &tmp
|
||
}
|
||
req, _ := c.ListTablesRequest(inCpy)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return req, nil
|
||
},
|
||
}
|
||
|
||
cont := true
|
||
for p.Next() && cont {
|
||
cont = fn(p.Page().(*ListTablesOutput), !p.HasNextPage())
|
||
}
|
||
return p.Err()
|
||
}
|
||
|
||
const opListTagsOfResource = "ListTagsOfResource"
|
||
|
||
// ListTagsOfResourceRequest generates a "aws/request.Request" representing the
|
||
// client's request for the ListTagsOfResource operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See ListTagsOfResource for more information on using the ListTagsOfResource
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the ListTagsOfResourceRequest method.
|
||
// req, resp := client.ListTagsOfResourceRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource
|
||
func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) {
|
||
op := &request.Operation{
|
||
Name: opListTagsOfResource,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &ListTagsOfResourceInput{}
|
||
}
|
||
|
||
output = &ListTagsOfResourceOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// ListTagsOfResource API operation for Amazon DynamoDB.
|
||
//
|
||
// List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource
|
||
// up to 10 times per second, per account.
|
||
//
|
||
// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation ListTagsOfResource for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource
|
||
func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) {
|
||
req, out := c.ListTagsOfResourceRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See ListTagsOfResource for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) {
|
||
req, out := c.ListTagsOfResourceRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opPutItem = "PutItem"
|
||
|
||
// PutItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the PutItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See PutItem for more information on using the PutItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the PutItemRequest method.
|
||
// req, resp := client.PutItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem
|
||
func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opPutItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &PutItemInput{}
|
||
}
|
||
|
||
output = &PutItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// PutItem API operation for Amazon DynamoDB.
|
||
//
|
||
// Creates a new item, or replaces an old item with a new item. If an item that
|
||
// has the same primary key as the new item already exists in the specified
|
||
// table, the new item completely replaces the existing item. You can perform
|
||
// a conditional put operation (add a new item if one with the specified primary
|
||
// key doesn't exist), or replace an existing item if it has certain attribute
|
||
// values. You can return the item's attribute values in the same operation,
|
||
// using the ReturnValues parameter.
|
||
//
|
||
// This topic provides general information about the PutItem API.
|
||
//
|
||
// For information on how to call the PutItem API using the AWS SDK in specific
|
||
// languages, see the following:
|
||
//
|
||
// PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem)
|
||
//
|
||
// When you add an item, the primary key attribute(s) are the only required
|
||
// attributes. Attribute values cannot be null. String and Binary type attributes
|
||
// must have lengths greater than zero. Set type attributes cannot be empty.
|
||
// Requests with empty values will be rejected with a ValidationException exception.
|
||
//
|
||
// To prevent a new item from replacing an existing item, use a conditional
|
||
// expression that contains the attribute_not_exists function with the name
|
||
// of the attribute being used as the partition key for the table. Since every
|
||
// record must contain that attribute, the attribute_not_exists function will
|
||
// only succeed if no matching item exists.
|
||
//
|
||
// For more information about PutItem, see Working with Items (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation PutItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
|
||
// A condition specified in the operation could not be evaluated.
|
||
//
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
|
||
// An item collection is too large. This exception is only returned for tables
|
||
// that have one or more local secondary indexes.
|
||
//
|
||
// * ErrCodeTransactionConflictException "TransactionConflictException"
|
||
// Operation was rejected because there is an ongoing transaction for the item.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem
|
||
func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) {
|
||
req, out := c.PutItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// PutItemWithContext is the same as PutItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See PutItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) {
|
||
req, out := c.PutItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opQuery = "Query"
|
||
|
||
// QueryRequest generates a "aws/request.Request" representing the
|
||
// client's request for the Query operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See Query for more information on using the Query
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the QueryRequest method.
|
||
// req, resp := client.QueryRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query
|
||
func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) {
|
||
op := &request.Operation{
|
||
Name: opQuery,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
Paginator: &request.Paginator{
|
||
InputTokens: []string{"ExclusiveStartKey"},
|
||
OutputTokens: []string{"LastEvaluatedKey"},
|
||
LimitToken: "Limit",
|
||
TruncationToken: "",
|
||
},
|
||
}
|
||
|
||
if input == nil {
|
||
input = &QueryInput{}
|
||
}
|
||
|
||
output = &QueryOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// Query API operation for Amazon DynamoDB.
|
||
//
|
||
// The Query operation finds items based on primary key values. You can query
|
||
// any table or secondary index that has a composite primary key (a partition
|
||
// key and a sort key).
|
||
//
|
||
// Use the KeyConditionExpression parameter to provide a specific value for
|
||
// the partition key. The Query operation will return all of the items from
|
||
// the table or index with that partition key value. You can optionally narrow
|
||
// the scope of the Query operation by specifying a sort key value and a comparison
|
||
// operator in KeyConditionExpression. To further refine the Query results,
|
||
// you can optionally provide a FilterExpression. A FilterExpression determines
|
||
// which items within the results should be returned to you. All of the other
|
||
// results are discarded.
|
||
//
|
||
// A Query operation always returns a result set. If no matching items are found,
|
||
// the result set will be empty. Queries that do not return results consume
|
||
// the minimum number of read capacity units for that type of read operation.
|
||
//
|
||
// DynamoDB calculates the number of read capacity units consumed based on item
|
||
// size, not on the amount of data that is returned to an application. The number
|
||
// of capacity units consumed will be the same whether you request all of the
|
||
// attributes (the default behavior) or just some of them (using a projection
|
||
// expression). The number will also be the same whether or not you use a FilterExpression.
|
||
//
|
||
// Query results are always sorted by the sort key value. If the data type of
|
||
// the sort key is Number, the results are returned in numeric order; otherwise,
|
||
// the results are returned in order of UTF-8 bytes. By default, the sort order
|
||
// is ascending. To reverse the order, set the ScanIndexForward parameter to
|
||
// false.
|
||
//
|
||
// A single Query operation will read up to the maximum number of items set
|
||
// (if using the Limit parameter) or a maximum of 1 MB of data and then apply
|
||
// any filtering to the results using FilterExpression. If LastEvaluatedKey
|
||
// is present in the response, you will need to paginate the result set. For
|
||
// more information, see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// FilterExpression is applied after a Query finishes, but before the results
|
||
// are returned. A FilterExpression cannot contain partition key or sort key
|
||
// attributes. You need to specify those attributes in the KeyConditionExpression.
|
||
//
|
||
// A Query operation can return an empty result set and a LastEvaluatedKey if
|
||
// all the items read for the page of results are filtered out.
|
||
//
|
||
// You can query a table, a local secondary index, or a global secondary index.
|
||
// For a query on a table or on a local secondary index, you can set the ConsistentRead
|
||
// parameter to true and obtain a strongly consistent result. Global secondary
|
||
// indexes support eventually consistent reads only, so do not specify ConsistentRead
|
||
// when querying a global secondary index.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation Query for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query
|
||
func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) {
|
||
req, out := c.QueryRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// QueryWithContext is the same as Query with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See Query for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) {
|
||
req, out := c.QueryRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// QueryPages iterates over the pages of a Query operation,
|
||
// calling the "fn" function with the response data for each page. To stop
|
||
// iterating, return false from the fn function.
|
||
//
|
||
// See Query method for more information on how to use this operation.
|
||
//
|
||
// Note: This operation can generate multiple requests to a service.
|
||
//
|
||
// // Example iterating over at most 3 pages of a Query operation.
|
||
// pageNum := 0
|
||
// err := client.QueryPages(params,
|
||
// func(page *QueryOutput, lastPage bool) bool {
|
||
// pageNum++
|
||
// fmt.Println(page)
|
||
// return pageNum <= 3
|
||
// })
|
||
//
|
||
func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error {
|
||
return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn)
|
||
}
|
||
|
||
// QueryPagesWithContext same as QueryPages except
|
||
// it takes a Context and allows setting request options on the pages.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error {
|
||
p := request.Pagination{
|
||
NewRequest: func() (*request.Request, error) {
|
||
var inCpy *QueryInput
|
||
if input != nil {
|
||
tmp := *input
|
||
inCpy = &tmp
|
||
}
|
||
req, _ := c.QueryRequest(inCpy)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return req, nil
|
||
},
|
||
}
|
||
|
||
cont := true
|
||
for p.Next() && cont {
|
||
cont = fn(p.Page().(*QueryOutput), !p.HasNextPage())
|
||
}
|
||
return p.Err()
|
||
}
|
||
|
||
const opRestoreTableFromBackup = "RestoreTableFromBackup"
|
||
|
||
// RestoreTableFromBackupRequest generates a "aws/request.Request" representing the
|
||
// client's request for the RestoreTableFromBackup operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See RestoreTableFromBackup for more information on using the RestoreTableFromBackup
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the RestoreTableFromBackupRequest method.
|
||
// req, resp := client.RestoreTableFromBackupRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup
|
||
func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) {
|
||
op := &request.Operation{
|
||
Name: opRestoreTableFromBackup,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &RestoreTableFromBackupInput{}
|
||
}
|
||
|
||
output = &RestoreTableFromBackupOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// RestoreTableFromBackup API operation for Amazon DynamoDB.
|
||
//
|
||
// Creates a new table from an existing backup. Any number of users can execute
|
||
// up to 4 concurrent restores (any type of restore) in a given account.
|
||
//
|
||
// You can call RestoreTableFromBackup at a maximum rate of 10 times per second.
|
||
//
|
||
// You must manually set up the following on the restored table:
|
||
//
|
||
// * Auto scaling policies
|
||
//
|
||
// * IAM policies
|
||
//
|
||
// * Cloudwatch metrics and alarms
|
||
//
|
||
// * Tags
|
||
//
|
||
// * Stream settings
|
||
//
|
||
// * Time to Live (TTL) settings
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation RestoreTableFromBackup for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeTableAlreadyExistsException "TableAlreadyExistsException"
|
||
// A target table with the specified name already exists.
|
||
//
|
||
// * ErrCodeTableInUseException "TableInUseException"
|
||
// A target table with the specified name is either being created or deleted.
|
||
//
|
||
// * ErrCodeBackupNotFoundException "BackupNotFoundException"
|
||
// Backup not found for the given BackupARN.
|
||
//
|
||
// * ErrCodeBackupInUseException "BackupInUseException"
|
||
// There is another ongoing conflicting backup control plane operation on the
|
||
// table. The backup is either being created, deleted or restored to a table.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup
|
||
func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) {
|
||
req, out := c.RestoreTableFromBackupRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See RestoreTableFromBackup for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) {
|
||
req, out := c.RestoreTableFromBackupRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opRestoreTableToPointInTime = "RestoreTableToPointInTime"
|
||
|
||
// RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the
|
||
// client's request for the RestoreTableToPointInTime operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the RestoreTableToPointInTimeRequest method.
|
||
// req, resp := client.RestoreTableToPointInTimeRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime
|
||
func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) {
|
||
op := &request.Operation{
|
||
Name: opRestoreTableToPointInTime,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &RestoreTableToPointInTimeInput{}
|
||
}
|
||
|
||
output = &RestoreTableToPointInTimeOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// RestoreTableToPointInTime API operation for Amazon DynamoDB.
|
||
//
|
||
// Restores the specified table to the specified point in time within EarliestRestorableDateTime
|
||
// and LatestRestorableDateTime. You can restore your table to any point in
|
||
// time during the last 35 days. Any number of users can execute up to 4 concurrent
|
||
// restores (any type of restore) in a given account.
|
||
//
|
||
// When you restore using point in time recovery, DynamoDB restores your table
|
||
// data to the state based on the selected date and time (day:hour:minute:second)
|
||
// to a new table.
|
||
//
|
||
// Along with data, the following are also included on the new restored table
|
||
// using point in time recovery:
|
||
//
|
||
// * Global secondary indexes (GSIs)
|
||
//
|
||
// * Local secondary indexes (LSIs)
|
||
//
|
||
// * Provisioned read and write capacity
|
||
//
|
||
// * Encryption settings
|
||
//
|
||
// All these settings come from the current settings of the source table at
|
||
// the time of restore.
|
||
//
|
||
// You must manually set up the following on the restored table:
|
||
//
|
||
// * Auto scaling policies
|
||
//
|
||
// * IAM policies
|
||
//
|
||
// * Cloudwatch metrics and alarms
|
||
//
|
||
// * Tags
|
||
//
|
||
// * Stream settings
|
||
//
|
||
// * Time to Live (TTL) settings
|
||
//
|
||
// * Point in time recovery settings
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation RestoreTableToPointInTime for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeTableAlreadyExistsException "TableAlreadyExistsException"
|
||
// A target table with the specified name already exists.
|
||
//
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// * ErrCodeTableInUseException "TableInUseException"
|
||
// A target table with the specified name is either being created or deleted.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInvalidRestoreTimeException "InvalidRestoreTimeException"
|
||
// An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime
|
||
// and LatestRestorableDateTime.
|
||
//
|
||
// * ErrCodePointInTimeRecoveryUnavailableException "PointInTimeRecoveryUnavailableException"
|
||
// Point in time recovery has not yet been enabled for this source table.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime
|
||
func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) {
|
||
req, out := c.RestoreTableToPointInTimeRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See RestoreTableToPointInTime for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) {
|
||
req, out := c.RestoreTableToPointInTimeRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opScan = "Scan"
|
||
|
||
// ScanRequest generates a "aws/request.Request" representing the
|
||
// client's request for the Scan operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See Scan for more information on using the Scan
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the ScanRequest method.
|
||
// req, resp := client.ScanRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan
|
||
func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) {
|
||
op := &request.Operation{
|
||
Name: opScan,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
Paginator: &request.Paginator{
|
||
InputTokens: []string{"ExclusiveStartKey"},
|
||
OutputTokens: []string{"LastEvaluatedKey"},
|
||
LimitToken: "Limit",
|
||
TruncationToken: "",
|
||
},
|
||
}
|
||
|
||
if input == nil {
|
||
input = &ScanInput{}
|
||
}
|
||
|
||
output = &ScanOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// Scan API operation for Amazon DynamoDB.
|
||
//
|
||
// The Scan operation returns one or more items and item attributes by accessing
|
||
// every item in a table or a secondary index. To have DynamoDB return fewer
|
||
// items, you can provide a FilterExpression operation.
|
||
//
|
||
// If the total number of scanned items exceeds the maximum data set size limit
|
||
// of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey
|
||
// value to continue the scan in a subsequent operation. The results also include
|
||
// the number of items exceeding the limit. A scan can result in no table data
|
||
// meeting the filter criteria.
|
||
//
|
||
// A single Scan operation will read up to the maximum number of items set (if
|
||
// using the Limit parameter) or a maximum of 1 MB of data and then apply any
|
||
// filtering to the results using FilterExpression. If LastEvaluatedKey is present
|
||
// in the response, you will need to paginate the result set. For more information,
|
||
// see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Scan operations proceed sequentially; however, for faster performance on
|
||
// a large table or secondary index, applications can request a parallel Scan
|
||
// operation by providing the Segment and TotalSegments parameters. For more
|
||
// information, see Parallel Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Scan uses eventually consistent reads when accessing the data in a table;
|
||
// therefore, the result set might not include the changes to data in the table
|
||
// immediately before the operation began. If you need a consistent copy of
|
||
// the data, as of the time that the Scan begins, you can set the ConsistentRead
|
||
// parameter to true.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation Scan for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan
|
||
func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) {
|
||
req, out := c.ScanRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ScanWithContext is the same as Scan with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See Scan for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) {
|
||
req, out := c.ScanRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// ScanPages iterates over the pages of a Scan operation,
|
||
// calling the "fn" function with the response data for each page. To stop
|
||
// iterating, return false from the fn function.
|
||
//
|
||
// See Scan method for more information on how to use this operation.
|
||
//
|
||
// Note: This operation can generate multiple requests to a service.
|
||
//
|
||
// // Example iterating over at most 3 pages of a Scan operation.
|
||
// pageNum := 0
|
||
// err := client.ScanPages(params,
|
||
// func(page *ScanOutput, lastPage bool) bool {
|
||
// pageNum++
|
||
// fmt.Println(page)
|
||
// return pageNum <= 3
|
||
// })
|
||
//
|
||
func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error {
|
||
return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn)
|
||
}
|
||
|
||
// ScanPagesWithContext same as ScanPages except
|
||
// it takes a Context and allows setting request options on the pages.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error {
|
||
p := request.Pagination{
|
||
NewRequest: func() (*request.Request, error) {
|
||
var inCpy *ScanInput
|
||
if input != nil {
|
||
tmp := *input
|
||
inCpy = &tmp
|
||
}
|
||
req, _ := c.ScanRequest(inCpy)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return req, nil
|
||
},
|
||
}
|
||
|
||
cont := true
|
||
for p.Next() && cont {
|
||
cont = fn(p.Page().(*ScanOutput), !p.HasNextPage())
|
||
}
|
||
return p.Err()
|
||
}
|
||
|
||
const opTagResource = "TagResource"
|
||
|
||
// TagResourceRequest generates a "aws/request.Request" representing the
|
||
// client's request for the TagResource operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See TagResource for more information on using the TagResource
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the TagResourceRequest method.
|
||
// req, resp := client.TagResourceRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource
|
||
func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
|
||
op := &request.Operation{
|
||
Name: opTagResource,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &TagResourceInput{}
|
||
}
|
||
|
||
output = &TagResourceOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// TagResource API operation for Amazon DynamoDB.
|
||
//
|
||
// Associate a set of tags with an Amazon DynamoDB resource. You can then activate
|
||
// these user-defined tags so that they appear on the Billing and Cost Management
|
||
// console for cost allocation tracking. You can call TagResource up to 5 times
|
||
// per second, per account.
|
||
//
|
||
// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation TagResource for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource
|
||
func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
|
||
req, out := c.TagResourceRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// TagResourceWithContext is the same as TagResource with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See TagResource for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
|
||
req, out := c.TagResourceRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opTransactGetItems = "TransactGetItems"
|
||
|
||
// TransactGetItemsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the TransactGetItems operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See TransactGetItems for more information on using the TransactGetItems
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the TransactGetItemsRequest method.
|
||
// req, resp := client.TransactGetItemsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems
|
||
func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) {
|
||
op := &request.Operation{
|
||
Name: opTransactGetItems,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &TransactGetItemsInput{}
|
||
}
|
||
|
||
output = &TransactGetItemsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// TransactGetItems API operation for Amazon DynamoDB.
|
||
//
|
||
// TransactGetItems is a synchronous operation that atomically retrieves multiple
|
||
// items from one or more tables (but not from indexes) in a single account
|
||
// and region. A TransactGetItems call can contain up to 10 TransactGetItem
|
||
// objects, each of which contains a Get structure that specifies an item to
|
||
// retrieve from a table in the account and region. A call to TransactGetItems
|
||
// cannot retrieve items from tables in more than one AWS account or region.
|
||
//
|
||
// DynamoDB rejects the entire TransactGetItems request if any of the following
|
||
// is true:
|
||
//
|
||
// * A conflicting operation is in the process of updating an item to be
|
||
// read.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation TransactGetItems for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeTransactionCanceledException "TransactionCanceledException"
|
||
// The entire transaction request was rejected.
|
||
//
|
||
// DynamoDB rejects a TransactWriteItems request under the following circumstances:
|
||
//
|
||
// * A condition in one of the condition expressions is not met.
|
||
//
|
||
// * A table in the TransactWriteItems request is in a different account
|
||
// or region.
|
||
//
|
||
// * More than one action in the TransactWriteItems operation targets the
|
||
// same item.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * An item size becomes too large (larger than 400 KB), or a local secondary
|
||
// index (LSI) becomes too large, or a similar validation error occurs because
|
||
// of changes made by the transaction.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// DynamoDB rejects a TransactGetItems request under the following circumstances:
|
||
//
|
||
// * There is an ongoing TransactGetItems operation that conflicts with a
|
||
// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request.
|
||
// In this case the TransactGetItems operation fails with a TransactionCanceledException.
|
||
//
|
||
// * A table in the TransactGetItems request is in a different account or
|
||
// region.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems
|
||
func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) {
|
||
req, out := c.TransactGetItemsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// TransactGetItemsWithContext is the same as TransactGetItems with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See TransactGetItems for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) {
|
||
req, out := c.TransactGetItemsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opTransactWriteItems = "TransactWriteItems"
|
||
|
||
// TransactWriteItemsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the TransactWriteItems operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See TransactWriteItems for more information on using the TransactWriteItems
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the TransactWriteItemsRequest method.
|
||
// req, resp := client.TransactWriteItemsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems
|
||
func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) {
|
||
op := &request.Operation{
|
||
Name: opTransactWriteItems,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &TransactWriteItemsInput{}
|
||
}
|
||
|
||
output = &TransactWriteItemsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// TransactWriteItems API operation for Amazon DynamoDB.
|
||
//
|
||
// TransactWriteItems is a synchronous write operation that groups up to 10
|
||
// action requests. These actions can target items in different tables, but
|
||
// not in different AWS accounts or regions, and no two actions can target the
|
||
// same item. For example, you cannot both ConditionCheck and Update the same
|
||
// item.
|
||
//
|
||
// The actions are completed atomically so that either all of them succeed,
|
||
// or all of them fail. They are defined by the following objects:
|
||
//
|
||
// * Put — Initiates a PutItem operation to write a new item. This structure
|
||
// specifies the primary key of the item to be written, the name of the table
|
||
// to write it in, an optional condition expression that must be satisfied
|
||
// for the write to succeed, a list of the item's attributes, and a field
|
||
// indicating whether or not to retrieve the item's attributes if the condition
|
||
// is not met.
|
||
//
|
||
// * Update — Initiates an UpdateItem operation to update an existing
|
||
// item. This structure specifies the primary key of the item to be updated,
|
||
// the name of the table where it resides, an optional condition expression
|
||
// that must be satisfied for the update to succeed, an expression that defines
|
||
// one or more attributes to be updated, and a field indicating whether or
|
||
// not to retrieve the item's attributes if the condition is not met.
|
||
//
|
||
// * Delete — Initiates a DeleteItem operation to delete an existing item.
|
||
// This structure specifies the primary key of the item to be deleted, the
|
||
// name of the table where it resides, an optional condition expression that
|
||
// must be satisfied for the deletion to succeed, and a field indicating
|
||
// whether or not to retrieve the item's attributes if the condition is not
|
||
// met.
|
||
//
|
||
// * ConditionCheck — Applies a condition to an item that is not being
|
||
// modified by the transaction. This structure specifies the primary key
|
||
// of the item to be checked, the name of the table where it resides, a condition
|
||
// expression that must be satisfied for the transaction to succeed, and
|
||
// a field indicating whether or not to retrieve the item's attributes if
|
||
// the condition is not met.
|
||
//
|
||
// DynamoDB rejects the entire TransactWriteItems request if any of the following
|
||
// is true:
|
||
//
|
||
// * A condition in one of the condition expressions is not met.
|
||
//
|
||
// * A conflicting operation is in the process of updating the same item.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * An item size becomes too large (bigger than 400 KB), a Local Secondary
|
||
// Index (LSI) becomes too large, or a similar validation error occurs because
|
||
// of changes made by the transaction.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation TransactWriteItems for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeTransactionCanceledException "TransactionCanceledException"
|
||
// The entire transaction request was rejected.
|
||
//
|
||
// DynamoDB rejects a TransactWriteItems request under the following circumstances:
|
||
//
|
||
// * A condition in one of the condition expressions is not met.
|
||
//
|
||
// * A table in the TransactWriteItems request is in a different account
|
||
// or region.
|
||
//
|
||
// * More than one action in the TransactWriteItems operation targets the
|
||
// same item.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * An item size becomes too large (larger than 400 KB), or a local secondary
|
||
// index (LSI) becomes too large, or a similar validation error occurs because
|
||
// of changes made by the transaction.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// DynamoDB rejects a TransactGetItems request under the following circumstances:
|
||
//
|
||
// * There is an ongoing TransactGetItems operation that conflicts with a
|
||
// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request.
|
||
// In this case the TransactGetItems operation fails with a TransactionCanceledException.
|
||
//
|
||
// * A table in the TransactGetItems request is in a different account or
|
||
// region.
|
||
//
|
||
// * There is insufficient provisioned capacity for the transaction to be
|
||
// completed.
|
||
//
|
||
// * There is a user error, such as an invalid data format.
|
||
//
|
||
// * ErrCodeTransactionInProgressException "TransactionInProgressException"
|
||
// The transaction with the given request token is already in progress.
|
||
//
|
||
// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
|
||
// DynamoDB rejected the request because you retried a request with a different
|
||
// payload but with an idempotent token that was already used.
|
||
//
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems
|
||
func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) {
|
||
req, out := c.TransactWriteItemsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See TransactWriteItems for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) {
|
||
req, out := c.TransactWriteItemsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUntagResource = "UntagResource"
|
||
|
||
// UntagResourceRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UntagResource operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UntagResource for more information on using the UntagResource
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UntagResourceRequest method.
|
||
// req, resp := client.UntagResourceRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource
|
||
func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
|
||
op := &request.Operation{
|
||
Name: opUntagResource,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UntagResourceInput{}
|
||
}
|
||
|
||
output = &UntagResourceOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UntagResource API operation for Amazon DynamoDB.
|
||
//
|
||
// Removes the association of tags from an Amazon DynamoDB resource. You can
|
||
// call UntagResource up to 5 times per second, per account.
|
||
//
|
||
// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UntagResource for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource
|
||
func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
|
||
req, out := c.UntagResourceRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UntagResourceWithContext is the same as UntagResource with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UntagResource for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
|
||
req, out := c.UntagResourceRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateContinuousBackups = "UpdateContinuousBackups"
|
||
|
||
// UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateContinuousBackups operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateContinuousBackups for more information on using the UpdateContinuousBackups
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateContinuousBackupsRequest method.
|
||
// req, resp := client.UpdateContinuousBackupsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups
|
||
func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateContinuousBackups,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateContinuousBackupsInput{}
|
||
}
|
||
|
||
output = &UpdateContinuousBackupsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateContinuousBackups API operation for Amazon DynamoDB.
|
||
//
|
||
// UpdateContinuousBackups enables or disables point in time recovery for the
|
||
// specified table. A successful UpdateContinuousBackups call returns the current
|
||
// ContinuousBackupsDescription. Continuous backups are ENABLED on all tables
|
||
// at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus
|
||
// will be set to ENABLED.
|
||
//
|
||
// Once continuous backups and point in time recovery are enabled, you can restore
|
||
// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.
|
||
//
|
||
// LatestRestorableDateTime is typically 5 minutes before the current time.
|
||
// You can restore your table to any point in time during the last 35 days..
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateContinuousBackups for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// * ErrCodeContinuousBackupsUnavailableException "ContinuousBackupsUnavailableException"
|
||
// Backups have not yet been enabled for this table.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups
|
||
func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) {
|
||
req, out := c.UpdateContinuousBackupsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateContinuousBackups for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) {
|
||
req, out := c.UpdateContinuousBackupsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateGlobalTable = "UpdateGlobalTable"
|
||
|
||
// UpdateGlobalTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateGlobalTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateGlobalTable for more information on using the UpdateGlobalTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateGlobalTableRequest method.
|
||
// req, resp := client.UpdateGlobalTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable
|
||
func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateGlobalTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateGlobalTableInput{}
|
||
}
|
||
|
||
output = &UpdateGlobalTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateGlobalTable API operation for Amazon DynamoDB.
|
||
//
|
||
// Adds or removes replicas in the specified global table. The global table
|
||
// must already exist to be able to use this operation. Any replica to be added
|
||
// must be empty, must have the same name as the global table, must have the
|
||
// same key schema, and must have DynamoDB Streams enabled and must have same
|
||
// provisioned and maximum write capacity units.
|
||
//
|
||
// Although you can use UpdateGlobalTable to add replicas and remove replicas
|
||
// in a single request, for simplicity we recommend that you issue separate
|
||
// requests for adding or removing replicas.
|
||
//
|
||
// If global secondary indexes are specified, then the following conditions
|
||
// must also be met:
|
||
//
|
||
// * The global secondary indexes must have the same name.
|
||
//
|
||
// * The global secondary indexes must have the same hash key and sort key
|
||
// (if present).
|
||
//
|
||
// * The global secondary indexes must have the same provisioned and maximum
|
||
// write capacity units.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateGlobalTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
|
||
// The specified global table does not exist.
|
||
//
|
||
// * ErrCodeReplicaAlreadyExistsException "ReplicaAlreadyExistsException"
|
||
// The specified replica is already part of the global table.
|
||
//
|
||
// * ErrCodeReplicaNotFoundException "ReplicaNotFoundException"
|
||
// The specified replica is no longer part of the global table.
|
||
//
|
||
// * ErrCodeTableNotFoundException "TableNotFoundException"
|
||
// A source table with the name TableName does not currently exist within the
|
||
// subscriber's account.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable
|
||
func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) {
|
||
req, out := c.UpdateGlobalTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateGlobalTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) {
|
||
req, out := c.UpdateGlobalTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings"
|
||
|
||
// UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateGlobalTableSettings operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateGlobalTableSettingsRequest method.
|
||
// req, resp := client.UpdateGlobalTableSettingsRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings
|
||
func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateGlobalTableSettings,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateGlobalTableSettingsInput{}
|
||
}
|
||
|
||
output = &UpdateGlobalTableSettingsOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateGlobalTableSettings API operation for Amazon DynamoDB.
|
||
//
|
||
// Updates settings for a global table.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateGlobalTableSettings for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
|
||
// The specified global table does not exist.
|
||
//
|
||
// * ErrCodeReplicaNotFoundException "ReplicaNotFoundException"
|
||
// The specified replica is no longer part of the global table.
|
||
//
|
||
// * ErrCodeIndexNotFoundException "IndexNotFoundException"
|
||
// The operation tried to access a nonexistent index.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings
|
||
func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) {
|
||
req, out := c.UpdateGlobalTableSettingsRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateGlobalTableSettings for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) {
|
||
req, out := c.UpdateGlobalTableSettingsRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateItem = "UpdateItem"
|
||
|
||
// UpdateItemRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateItem operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateItem for more information on using the UpdateItem
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateItemRequest method.
|
||
// req, resp := client.UpdateItemRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem
|
||
func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateItem,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateItemInput{}
|
||
}
|
||
|
||
output = &UpdateItemOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateItem API operation for Amazon DynamoDB.
|
||
//
|
||
// Edits an existing item's attributes, or adds a new item to the table if it
|
||
// does not already exist. You can put, delete, or add attribute values. You
|
||
// can also perform a conditional update on an existing item (insert a new attribute
|
||
// name-value pair if it doesn't exist, or replace an existing name-value pair
|
||
// if it has certain expected attribute values).
|
||
//
|
||
// You can also return the item's attribute values in the same UpdateItem operation
|
||
// using the ReturnValues parameter.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateItem for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
|
||
// A condition specified in the operation could not be evaluated.
|
||
//
|
||
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
|
||
// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
|
||
// requests that receive this exception. Your request is eventually successful,
|
||
// unless your retry queue is too large to finish. Reduce the frequency of requests
|
||
// and use exponential backoff. For more information, go to Error Retries and
|
||
// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
|
||
// An item collection is too large. This exception is only returned for tables
|
||
// that have one or more local secondary indexes.
|
||
//
|
||
// * ErrCodeTransactionConflictException "TransactionConflictException"
|
||
// Operation was rejected because there is an ongoing transaction for the item.
|
||
//
|
||
// * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
|
||
// Throughput exceeds the current throughput limit for your account. Please
|
||
// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
|
||
// to request a limit increase.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem
|
||
func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) {
|
||
req, out := c.UpdateItemRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateItemWithContext is the same as UpdateItem with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateItem for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) {
|
||
req, out := c.UpdateItemRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateTable = "UpdateTable"
|
||
|
||
// UpdateTableRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateTable operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateTable for more information on using the UpdateTable
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateTableRequest method.
|
||
// req, resp := client.UpdateTableRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable
|
||
func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateTable,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateTableInput{}
|
||
}
|
||
|
||
output = &UpdateTableOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateTable API operation for Amazon DynamoDB.
|
||
//
|
||
// Modifies the provisioned throughput settings, global secondary indexes, or
|
||
// DynamoDB Streams settings for a given table.
|
||
//
|
||
// You can only perform one of the following operations at once:
|
||
//
|
||
// * Modify the provisioned throughput settings of the table.
|
||
//
|
||
// * Enable or disable Streams on the table.
|
||
//
|
||
// * Remove a global secondary index from the table.
|
||
//
|
||
// * Create a new global secondary index on the table. Once the index begins
|
||
// backfilling, you can use UpdateTable to perform other operations.
|
||
//
|
||
// UpdateTable is an asynchronous operation; while it is executing, the table
|
||
// status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot
|
||
// issue another UpdateTable request. When the table returns to the ACTIVE state,
|
||
// the UpdateTable operation is complete.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateTable for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable
|
||
func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) {
|
||
req, out := c.UpdateTableRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateTableWithContext is the same as UpdateTable with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateTable for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) {
|
||
req, out := c.UpdateTableRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
const opUpdateTimeToLive = "UpdateTimeToLive"
|
||
|
||
// UpdateTimeToLiveRequest generates a "aws/request.Request" representing the
|
||
// client's request for the UpdateTimeToLive operation. The "output" return
|
||
// value will be populated with the request's response once the request completes
|
||
// successfully.
|
||
//
|
||
// Use "Send" method on the returned Request to send the API call to the service.
|
||
// the "output" return value is not valid until after Send returns without error.
|
||
//
|
||
// See UpdateTimeToLive for more information on using the UpdateTimeToLive
|
||
// API call, and error handling.
|
||
//
|
||
// This method is useful when you want to inject custom logic or configuration
|
||
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
||
//
|
||
//
|
||
// // Example sending a request using the UpdateTimeToLiveRequest method.
|
||
// req, resp := client.UpdateTimeToLiveRequest(params)
|
||
//
|
||
// err := req.Send()
|
||
// if err == nil { // resp is now filled
|
||
// fmt.Println(resp)
|
||
// }
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive
|
||
func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) {
|
||
op := &request.Operation{
|
||
Name: opUpdateTimeToLive,
|
||
HTTPMethod: "POST",
|
||
HTTPPath: "/",
|
||
}
|
||
|
||
if input == nil {
|
||
input = &UpdateTimeToLiveInput{}
|
||
}
|
||
|
||
output = &UpdateTimeToLiveOutput{}
|
||
req = c.newRequest(op, input, output)
|
||
if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
|
||
de := discovererDescribeEndpoints{
|
||
Required: false,
|
||
EndpointCache: c.endpointCache,
|
||
Params: map[string]*string{
|
||
"op": aws.String(req.Operation.Name),
|
||
},
|
||
Client: c,
|
||
}
|
||
|
||
for k, v := range de.Params {
|
||
if v == nil {
|
||
delete(de.Params, k)
|
||
}
|
||
}
|
||
|
||
req.Handlers.Build.PushFrontNamed(request.NamedHandler{
|
||
Name: "crr.endpointdiscovery",
|
||
Fn: de.Handler,
|
||
})
|
||
}
|
||
return
|
||
}
|
||
|
||
// UpdateTimeToLive API operation for Amazon DynamoDB.
|
||
//
|
||
// The UpdateTimeToLive method will enable or disable TTL for the specified
|
||
// table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification;
|
||
// it may take up to one hour for the change to fully process. Any additional
|
||
// UpdateTimeToLive calls for the same table during this one hour duration result
|
||
// in a ValidationException.
|
||
//
|
||
// TTL compares the current time in epoch time format to the time stored in
|
||
// the TTL attribute of an item. If the epoch time value stored in the attribute
|
||
// is less than the current time, the item is marked as expired and subsequently
|
||
// deleted.
|
||
//
|
||
// The epoch time format is the number of seconds elapsed since 12:00:00 AM
|
||
// January 1st, 1970 UTC.
|
||
//
|
||
// DynamoDB deletes expired items on a best-effort basis to ensure availability
|
||
// of throughput for other data operations.
|
||
//
|
||
// DynamoDB typically deletes expired items within two days of expiration. The
|
||
// exact duration within which an item gets deleted after expiration is specific
|
||
// to the nature of the workload. Items that have expired and not been deleted
|
||
// will still show up in reads, queries, and scans.
|
||
//
|
||
// As items are deleted, they are removed from any Local Secondary Index and
|
||
// Global Secondary Index immediately in the same eventually consistent way
|
||
// as a standard delete operation.
|
||
//
|
||
// For more information, see Time To Live (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||
// with awserr.Error's Code and Message methods to get detailed information about
|
||
// the error.
|
||
//
|
||
// See the AWS API reference guide for Amazon DynamoDB's
|
||
// API operation UpdateTimeToLive for usage and error information.
|
||
//
|
||
// Returned Error Codes:
|
||
// * ErrCodeResourceInUseException "ResourceInUseException"
|
||
// The operation conflicts with the resource's availability. For example, you
|
||
// attempted to recreate an existing table, or tried to delete a table currently
|
||
// in the CREATING state.
|
||
//
|
||
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
||
// The operation tried to access a nonexistent table or index. The resource
|
||
// might not be specified correctly, or its status might not be ACTIVE.
|
||
//
|
||
// * ErrCodeLimitExceededException "LimitExceededException"
|
||
// There is no limit to the number of daily on-demand backups that can be taken.
|
||
//
|
||
// Up to 10 simultaneous table operations are allowed per account. These operations
|
||
// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
|
||
// and RestoreTableToPointInTime.
|
||
//
|
||
// For tables with secondary indexes, only one of those tables can be in the
|
||
// CREATING state at any point in time. Do not attempt to create more than one
|
||
// such table simultaneously.
|
||
//
|
||
// The total limit of tables in the ACTIVE state is 250.
|
||
//
|
||
// * ErrCodeInternalServerError "InternalServerError"
|
||
// An error occurred on the server side.
|
||
//
|
||
// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive
|
||
func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) {
|
||
req, out := c.UpdateTimeToLiveRequest(input)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of
|
||
// the ability to pass a context and additional request options.
|
||
//
|
||
// See UpdateTimeToLive for details on how to use this API operation.
|
||
//
|
||
// The context must be non-nil and will be used for request cancellation. If
|
||
// the context is nil a panic will occur. In the future the SDK may create
|
||
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
||
// for more information on using Contexts.
|
||
func (c *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) {
|
||
req, out := c.UpdateTimeToLiveRequest(input)
|
||
req.SetContext(ctx)
|
||
req.ApplyOptions(opts...)
|
||
return out, req.Send()
|
||
}
|
||
|
||
// Represents an attribute for describing the key schema for the table and indexes.
|
||
type AttributeDefinition struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A name for the attribute.
|
||
//
|
||
// AttributeName is a required field
|
||
AttributeName *string `min:"1" type:"string" required:"true"`
|
||
|
||
// The data type for the attribute, where:
|
||
//
|
||
// * S - the attribute is of type String
|
||
//
|
||
// * N - the attribute is of type Number
|
||
//
|
||
// * B - the attribute is of type Binary
|
||
//
|
||
// AttributeType is a required field
|
||
AttributeType *string `type:"string" required:"true" enum:"ScalarAttributeType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AttributeDefinition) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AttributeDefinition) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *AttributeDefinition) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "AttributeDefinition"}
|
||
if s.AttributeName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("AttributeName"))
|
||
}
|
||
if s.AttributeName != nil && len(*s.AttributeName) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
|
||
}
|
||
if s.AttributeType == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("AttributeType"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeName sets the AttributeName field's value.
|
||
func (s *AttributeDefinition) SetAttributeName(v string) *AttributeDefinition {
|
||
s.AttributeName = &v
|
||
return s
|
||
}
|
||
|
||
// SetAttributeType sets the AttributeType field's value.
|
||
func (s *AttributeDefinition) SetAttributeType(v string) *AttributeDefinition {
|
||
s.AttributeType = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the data for an attribute.
|
||
//
|
||
// Each attribute value is described as a name-value pair. The name is the data
|
||
// type, and the value is the data itself.
|
||
//
|
||
// For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
type AttributeValue struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// An attribute of type Binary. For example:
|
||
//
|
||
// "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"
|
||
//
|
||
// B is automatically base64 encoded/decoded by the SDK.
|
||
B []byte `type:"blob"`
|
||
|
||
// An attribute of type Boolean. For example:
|
||
//
|
||
// "BOOL": true
|
||
BOOL *bool `type:"boolean"`
|
||
|
||
// An attribute of type Binary Set. For example:
|
||
//
|
||
// "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
|
||
BS [][]byte `type:"list"`
|
||
|
||
// An attribute of type List. For example:
|
||
//
|
||
// "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}]
|
||
L []*AttributeValue `type:"list"`
|
||
|
||
// An attribute of type Map. For example:
|
||
//
|
||
// "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}
|
||
M map[string]*AttributeValue `type:"map"`
|
||
|
||
// An attribute of type Number. For example:
|
||
//
|
||
// "N": "123.45"
|
||
//
|
||
// Numbers are sent across the network to DynamoDB as strings, to maximize compatibility
|
||
// across languages and libraries. However, DynamoDB treats them as number type
|
||
// attributes for mathematical operations.
|
||
N *string `type:"string"`
|
||
|
||
// An attribute of type Number Set. For example:
|
||
//
|
||
// "NS": ["42.2", "-19", "7.5", "3.14"]
|
||
//
|
||
// Numbers are sent across the network to DynamoDB as strings, to maximize compatibility
|
||
// across languages and libraries. However, DynamoDB treats them as number type
|
||
// attributes for mathematical operations.
|
||
NS []*string `type:"list"`
|
||
|
||
// An attribute of type Null. For example:
|
||
//
|
||
// "NULL": true
|
||
NULL *bool `type:"boolean"`
|
||
|
||
// An attribute of type String. For example:
|
||
//
|
||
// "S": "Hello"
|
||
S *string `type:"string"`
|
||
|
||
// An attribute of type String Set. For example:
|
||
//
|
||
// "SS": ["Giraffe", "Hippo" ,"Zebra"]
|
||
SS []*string `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AttributeValue) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AttributeValue) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetB sets the B field's value.
|
||
func (s *AttributeValue) SetB(v []byte) *AttributeValue {
|
||
s.B = v
|
||
return s
|
||
}
|
||
|
||
// SetBOOL sets the BOOL field's value.
|
||
func (s *AttributeValue) SetBOOL(v bool) *AttributeValue {
|
||
s.BOOL = &v
|
||
return s
|
||
}
|
||
|
||
// SetBS sets the BS field's value.
|
||
func (s *AttributeValue) SetBS(v [][]byte) *AttributeValue {
|
||
s.BS = v
|
||
return s
|
||
}
|
||
|
||
// SetL sets the L field's value.
|
||
func (s *AttributeValue) SetL(v []*AttributeValue) *AttributeValue {
|
||
s.L = v
|
||
return s
|
||
}
|
||
|
||
// SetM sets the M field's value.
|
||
func (s *AttributeValue) SetM(v map[string]*AttributeValue) *AttributeValue {
|
||
s.M = v
|
||
return s
|
||
}
|
||
|
||
// SetN sets the N field's value.
|
||
func (s *AttributeValue) SetN(v string) *AttributeValue {
|
||
s.N = &v
|
||
return s
|
||
}
|
||
|
||
// SetNS sets the NS field's value.
|
||
func (s *AttributeValue) SetNS(v []*string) *AttributeValue {
|
||
s.NS = v
|
||
return s
|
||
}
|
||
|
||
// SetNULL sets the NULL field's value.
|
||
func (s *AttributeValue) SetNULL(v bool) *AttributeValue {
|
||
s.NULL = &v
|
||
return s
|
||
}
|
||
|
||
// SetS sets the S field's value.
|
||
func (s *AttributeValue) SetS(v string) *AttributeValue {
|
||
s.S = &v
|
||
return s
|
||
}
|
||
|
||
// SetSS sets the SS field's value.
|
||
func (s *AttributeValue) SetSS(v []*string) *AttributeValue {
|
||
s.SS = v
|
||
return s
|
||
}
|
||
|
||
// For the UpdateItem operation, represents the attributes to be modified, the
|
||
// action to perform on each, and the new value for each.
|
||
//
|
||
// You cannot use UpdateItem to update any primary key attributes. Instead,
|
||
// you will need to delete the item, and then use PutItem to create a new item
|
||
// with new attributes.
|
||
//
|
||
// Attribute values cannot be null; string and binary type attributes must have
|
||
// lengths greater than zero; and set type attributes must not be empty. Requests
|
||
// with empty values will be rejected with a ValidationException exception.
|
||
type AttributeValueUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Specifies how to perform the update. Valid values are PUT (default), DELETE,
|
||
// and ADD. The behavior depends on whether the specified primary key already
|
||
// exists in the table.
|
||
//
|
||
// If an item with the specified Key is found in the table:
|
||
//
|
||
// * PUT - Adds the specified attribute to the item. If the attribute already
|
||
// exists, it is replaced by the new value.
|
||
//
|
||
// * DELETE - If no value is specified, the attribute and its value are removed
|
||
// from the item. The data type of the specified value must match the existing
|
||
// value's data type.
|
||
//
|
||
// If a set of values is specified, then those values are subtracted from the
|
||
// old set. For example, if the attribute value was the set [a,b,c] and the
|
||
// DELETE action specified [a,c], then the final attribute value would be
|
||
// [b]. Specifying an empty set is an error.
|
||
//
|
||
// * ADD - If the attribute does not already exist, then the attribute and
|
||
// its values are added to the item. If the attribute does exist, then the
|
||
// behavior of ADD depends on the data type of the attribute:
|
||
//
|
||
// If the existing attribute is a number, and if Value is also a number, then
|
||
// the Value is mathematically added to the existing attribute. If Value
|
||
// is a negative number, then it is subtracted from the existing attribute.
|
||
//
|
||
// If you use ADD to increment or decrement a number value for an item that
|
||
// doesn't exist before the update, DynamoDB uses 0 as the initial value.
|
||
//
|
||
// In addition, if you use ADD to update an existing item, and intend to increment
|
||
// or decrement an attribute value which does not yet exist, DynamoDB uses
|
||
// 0 as the initial value. For example, suppose that the item you want to
|
||
// update does not yet have an attribute named itemcount, but you decide
|
||
// to ADD the number 3 to this attribute anyway, even though it currently
|
||
// does not exist. DynamoDB will create the itemcount attribute, set its
|
||
// initial value to 0, and finally add 3 to it. The result will be a new
|
||
// itemcount attribute in the item, with a value of 3.
|
||
//
|
||
// If the existing data type is a set, and if the Value is also a set, then
|
||
// the Value is added to the existing set. (This is a set operation, not
|
||
// mathematical addition.) For example, if the attribute value was the set
|
||
// [1,2], and the ADD action specified [3], then the final attribute value
|
||
// would be [1,2,3]. An error occurs if an Add action is specified for a
|
||
// set attribute and the attribute type specified does not match the existing
|
||
// set type.
|
||
//
|
||
// Both sets must have the same primitive data type. For example, if the existing
|
||
// data type is a set of strings, the Value must also be a set of strings.
|
||
// The same holds true for number sets and binary sets.
|
||
//
|
||
// This action is only valid for an existing attribute whose data type is number
|
||
// or is a set. Do not use ADD for any other data types.
|
||
//
|
||
// If no item with the specified Key is found:
|
||
//
|
||
// * PUT - DynamoDB creates a new item with the specified primary key, and
|
||
// then adds the attribute.
|
||
//
|
||
// * DELETE - Nothing happens; there is no attribute to delete.
|
||
//
|
||
// * ADD - DynamoDB creates an item with the supplied primary key and number
|
||
// (or set of numbers) for the attribute value. The only data types allowed
|
||
// are number and number set; no other data types can be specified.
|
||
Action *string `type:"string" enum:"AttributeAction"`
|
||
|
||
// Represents the data for an attribute.
|
||
//
|
||
// Each attribute value is described as a name-value pair. The name is the data
|
||
// type, and the value is the data itself.
|
||
//
|
||
// For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Value *AttributeValue `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AttributeValueUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AttributeValueUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAction sets the Action field's value.
|
||
func (s *AttributeValueUpdate) SetAction(v string) *AttributeValueUpdate {
|
||
s.Action = &v
|
||
return s
|
||
}
|
||
|
||
// SetValue sets the Value field's value.
|
||
func (s *AttributeValueUpdate) SetValue(v *AttributeValue) *AttributeValueUpdate {
|
||
s.Value = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of the scaling policy.
|
||
type AutoScalingPolicyDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the scaling policy.
|
||
PolicyName *string `min:"1" type:"string"`
|
||
|
||
// Represents a target tracking scaling policy configuration.
|
||
TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingPolicyDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingPolicyDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetPolicyName sets the PolicyName field's value.
|
||
func (s *AutoScalingPolicyDescription) SetPolicyName(v string) *AutoScalingPolicyDescription {
|
||
s.PolicyName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value.
|
||
func (s *AutoScalingPolicyDescription) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) *AutoScalingPolicyDescription {
|
||
s.TargetTrackingScalingPolicyConfiguration = v
|
||
return s
|
||
}
|
||
|
||
// Represents the autoscaling policy to be modified.
|
||
type AutoScalingPolicyUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the scaling policy.
|
||
PolicyName *string `min:"1" type:"string"`
|
||
|
||
// Represents a target tracking scaling policy configuration.
|
||
//
|
||
// TargetTrackingScalingPolicyConfiguration is a required field
|
||
TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate `type:"structure" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingPolicyUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingPolicyUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *AutoScalingPolicyUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicyUpdate"}
|
||
if s.PolicyName != nil && len(*s.PolicyName) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
|
||
}
|
||
if s.TargetTrackingScalingPolicyConfiguration == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TargetTrackingScalingPolicyConfiguration"))
|
||
}
|
||
if s.TargetTrackingScalingPolicyConfiguration != nil {
|
||
if err := s.TargetTrackingScalingPolicyConfiguration.Validate(); err != nil {
|
||
invalidParams.AddNested("TargetTrackingScalingPolicyConfiguration", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetPolicyName sets the PolicyName field's value.
|
||
func (s *AutoScalingPolicyUpdate) SetPolicyName(v string) *AutoScalingPolicyUpdate {
|
||
s.PolicyName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value.
|
||
func (s *AutoScalingPolicyUpdate) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) *AutoScalingPolicyUpdate {
|
||
s.TargetTrackingScalingPolicyConfiguration = v
|
||
return s
|
||
}
|
||
|
||
// Represents the autoscaling settings for a global table or global secondary
|
||
// index.
|
||
type AutoScalingSettingsDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Disabled autoscaling for this global table or global secondary index.
|
||
AutoScalingDisabled *bool `type:"boolean"`
|
||
|
||
// Role ARN used for configuring autoScaling policy.
|
||
AutoScalingRoleArn *string `type:"string"`
|
||
|
||
// The maximum capacity units that a global table or global secondary index
|
||
// should be scaled up to.
|
||
MaximumUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The minimum capacity units that a global table or global secondary index
|
||
// should be scaled down to.
|
||
MinimumUnits *int64 `min:"1" type:"long"`
|
||
|
||
// Information about the scaling policies.
|
||
ScalingPolicies []*AutoScalingPolicyDescription `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingSettingsDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingSettingsDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAutoScalingDisabled sets the AutoScalingDisabled field's value.
|
||
func (s *AutoScalingSettingsDescription) SetAutoScalingDisabled(v bool) *AutoScalingSettingsDescription {
|
||
s.AutoScalingDisabled = &v
|
||
return s
|
||
}
|
||
|
||
// SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value.
|
||
func (s *AutoScalingSettingsDescription) SetAutoScalingRoleArn(v string) *AutoScalingSettingsDescription {
|
||
s.AutoScalingRoleArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetMaximumUnits sets the MaximumUnits field's value.
|
||
func (s *AutoScalingSettingsDescription) SetMaximumUnits(v int64) *AutoScalingSettingsDescription {
|
||
s.MaximumUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetMinimumUnits sets the MinimumUnits field's value.
|
||
func (s *AutoScalingSettingsDescription) SetMinimumUnits(v int64) *AutoScalingSettingsDescription {
|
||
s.MinimumUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetScalingPolicies sets the ScalingPolicies field's value.
|
||
func (s *AutoScalingSettingsDescription) SetScalingPolicies(v []*AutoScalingPolicyDescription) *AutoScalingSettingsDescription {
|
||
s.ScalingPolicies = v
|
||
return s
|
||
}
|
||
|
||
// Represents the autoscaling settings to be modified for a global table or
|
||
// global secondary index.
|
||
type AutoScalingSettingsUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Disabled autoscaling for this global table or global secondary index.
|
||
AutoScalingDisabled *bool `type:"boolean"`
|
||
|
||
// Role ARN used for configuring autoscaling policy.
|
||
AutoScalingRoleArn *string `min:"1" type:"string"`
|
||
|
||
// The maximum capacity units that a global table or global secondary index
|
||
// should be scaled up to.
|
||
MaximumUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The minimum capacity units that a global table or global secondary index
|
||
// should be scaled down to.
|
||
MinimumUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The scaling policy to apply for scaling target global table or global secondary
|
||
// index capacity units.
|
||
ScalingPolicyUpdate *AutoScalingPolicyUpdate `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingSettingsUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingSettingsUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *AutoScalingSettingsUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "AutoScalingSettingsUpdate"}
|
||
if s.AutoScalingRoleArn != nil && len(*s.AutoScalingRoleArn) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AutoScalingRoleArn", 1))
|
||
}
|
||
if s.MaximumUnits != nil && *s.MaximumUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("MaximumUnits", 1))
|
||
}
|
||
if s.MinimumUnits != nil && *s.MinimumUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("MinimumUnits", 1))
|
||
}
|
||
if s.ScalingPolicyUpdate != nil {
|
||
if err := s.ScalingPolicyUpdate.Validate(); err != nil {
|
||
invalidParams.AddNested("ScalingPolicyUpdate", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAutoScalingDisabled sets the AutoScalingDisabled field's value.
|
||
func (s *AutoScalingSettingsUpdate) SetAutoScalingDisabled(v bool) *AutoScalingSettingsUpdate {
|
||
s.AutoScalingDisabled = &v
|
||
return s
|
||
}
|
||
|
||
// SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value.
|
||
func (s *AutoScalingSettingsUpdate) SetAutoScalingRoleArn(v string) *AutoScalingSettingsUpdate {
|
||
s.AutoScalingRoleArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetMaximumUnits sets the MaximumUnits field's value.
|
||
func (s *AutoScalingSettingsUpdate) SetMaximumUnits(v int64) *AutoScalingSettingsUpdate {
|
||
s.MaximumUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetMinimumUnits sets the MinimumUnits field's value.
|
||
func (s *AutoScalingSettingsUpdate) SetMinimumUnits(v int64) *AutoScalingSettingsUpdate {
|
||
s.MinimumUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetScalingPolicyUpdate sets the ScalingPolicyUpdate field's value.
|
||
func (s *AutoScalingSettingsUpdate) SetScalingPolicyUpdate(v *AutoScalingPolicyUpdate) *AutoScalingSettingsUpdate {
|
||
s.ScalingPolicyUpdate = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a target tracking scaling policy.
|
||
type AutoScalingTargetTrackingScalingPolicyConfigurationDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether scale in by the target tracking policy is disabled. If
|
||
// the value is true, scale in is disabled and the target tracking policy won't
|
||
// remove capacity from the scalable resource. Otherwise, scale in is enabled
|
||
// and the target tracking policy can remove capacity from the scalable resource.
|
||
// The default value is false.
|
||
DisableScaleIn *bool `type:"boolean"`
|
||
|
||
// The amount of time, in seconds, after a scale in activity completes before
|
||
// another scale in activity can start. The cooldown period is used to block
|
||
// subsequent scale in requests until it has expired. You should scale in conservatively
|
||
// to protect your application's availability. However, if another alarm triggers
|
||
// a scale out policy during the cooldown period after a scale-in, application
|
||
// autoscaling scales out your scalable target immediately.
|
||
ScaleInCooldown *int64 `type:"integer"`
|
||
|
||
// The amount of time, in seconds, after a scale out activity completes before
|
||
// another scale out activity can start. While the cooldown period is in effect,
|
||
// the capacity that has been added by the previous scale out event that initiated
|
||
// the cooldown is calculated as part of the desired capacity for the next scale
|
||
// out. You should continuously (but not excessively) scale out.
|
||
ScaleOutCooldown *int64 `type:"integer"`
|
||
|
||
// The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
|
||
// (Base 10) or 2e-360 to 2e360 (Base 2).
|
||
//
|
||
// TargetValue is a required field
|
||
TargetValue *float64 `type:"double" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetDisableScaleIn sets the DisableScaleIn field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
|
||
s.DisableScaleIn = &v
|
||
return s
|
||
}
|
||
|
||
// SetScaleInCooldown sets the ScaleInCooldown field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
|
||
s.ScaleInCooldown = &v
|
||
return s
|
||
}
|
||
|
||
// SetScaleOutCooldown sets the ScaleOutCooldown field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
|
||
s.ScaleOutCooldown = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetValue sets the TargetValue field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
|
||
s.TargetValue = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings of a target tracking scaling policy that will be
|
||
// modified.
|
||
type AutoScalingTargetTrackingScalingPolicyConfigurationUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether scale in by the target tracking policy is disabled. If
|
||
// the value is true, scale in is disabled and the target tracking policy won't
|
||
// remove capacity from the scalable resource. Otherwise, scale in is enabled
|
||
// and the target tracking policy can remove capacity from the scalable resource.
|
||
// The default value is false.
|
||
DisableScaleIn *bool `type:"boolean"`
|
||
|
||
// The amount of time, in seconds, after a scale in activity completes before
|
||
// another scale in activity can start. The cooldown period is used to block
|
||
// subsequent scale in requests until it has expired. You should scale in conservatively
|
||
// to protect your application's availability. However, if another alarm triggers
|
||
// a scale out policy during the cooldown period after a scale-in, application
|
||
// autoscaling scales out your scalable target immediately.
|
||
ScaleInCooldown *int64 `type:"integer"`
|
||
|
||
// The amount of time, in seconds, after a scale out activity completes before
|
||
// another scale out activity can start. While the cooldown period is in effect,
|
||
// the capacity that has been added by the previous scale out event that initiated
|
||
// the cooldown is calculated as part of the desired capacity for the next scale
|
||
// out. You should continuously (but not excessively) scale out.
|
||
ScaleOutCooldown *int64 `type:"integer"`
|
||
|
||
// The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
|
||
// (Base 10) or 2e-360 to 2e360 (Base 2).
|
||
//
|
||
// TargetValue is a required field
|
||
TargetValue *float64 `type:"double" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate"}
|
||
if s.TargetValue == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TargetValue"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetDisableScaleIn sets the DisableScaleIn field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
|
||
s.DisableScaleIn = &v
|
||
return s
|
||
}
|
||
|
||
// SetScaleInCooldown sets the ScaleInCooldown field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
|
||
s.ScaleInCooldown = &v
|
||
return s
|
||
}
|
||
|
||
// SetScaleOutCooldown sets the ScaleOutCooldown field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
|
||
s.ScaleOutCooldown = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetValue sets the TargetValue field's value.
|
||
func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
|
||
s.TargetValue = &v
|
||
return s
|
||
}
|
||
|
||
// Contains the description of the backup created for the table.
|
||
type BackupDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the details of the backup created for the table.
|
||
BackupDetails *BackupDetails `type:"structure"`
|
||
|
||
// Contains the details of the table when the backup was created.
|
||
SourceTableDetails *SourceTableDetails `type:"structure"`
|
||
|
||
// Contains the details of the features enabled on the table when the backup
|
||
// was created. For example, LSIs, GSIs, streams, TTL.
|
||
SourceTableFeatureDetails *SourceTableFeatureDetails `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BackupDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BackupDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupDetails sets the BackupDetails field's value.
|
||
func (s *BackupDescription) SetBackupDetails(v *BackupDetails) *BackupDescription {
|
||
s.BackupDetails = v
|
||
return s
|
||
}
|
||
|
||
// SetSourceTableDetails sets the SourceTableDetails field's value.
|
||
func (s *BackupDescription) SetSourceTableDetails(v *SourceTableDetails) *BackupDescription {
|
||
s.SourceTableDetails = v
|
||
return s
|
||
}
|
||
|
||
// SetSourceTableFeatureDetails sets the SourceTableFeatureDetails field's value.
|
||
func (s *BackupDescription) SetSourceTableFeatureDetails(v *SourceTableFeatureDetails) *BackupDescription {
|
||
s.SourceTableFeatureDetails = v
|
||
return s
|
||
}
|
||
|
||
// Contains the details of the backup created for the table.
|
||
type BackupDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// ARN associated with the backup.
|
||
//
|
||
// BackupArn is a required field
|
||
BackupArn *string `min:"37" type:"string" required:"true"`
|
||
|
||
// Time at which the backup was created. This is the request time of the backup.
|
||
//
|
||
// BackupCreationDateTime is a required field
|
||
BackupCreationDateTime *time.Time `type:"timestamp" required:"true"`
|
||
|
||
// Time at which the automatic on-demand backup created by DynamoDB will expire.
|
||
// This SYSTEM on-demand backup expires automatically 35 days after its creation.
|
||
BackupExpiryDateTime *time.Time `type:"timestamp"`
|
||
|
||
// Name of the requested backup.
|
||
//
|
||
// BackupName is a required field
|
||
BackupName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Size of the backup in bytes.
|
||
BackupSizeBytes *int64 `type:"long"`
|
||
|
||
// Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
|
||
//
|
||
// BackupStatus is a required field
|
||
BackupStatus *string `type:"string" required:"true" enum:"BackupStatus"`
|
||
|
||
// BackupType:
|
||
//
|
||
// * USER - You create and manage these using the on-demand backup feature.
|
||
//
|
||
// * SYSTEM - If you delete a table with point-in-time recovery enabled,
|
||
// a SYSTEM backup is automatically created and is retained for 35 days (at
|
||
// no additional cost). System backups allow you to restore the deleted table
|
||
// to the state it was in just before the point of deletion.
|
||
//
|
||
// * AWS_BACKUP - On-demand backup created by you from AWS Backup service.
|
||
//
|
||
// BackupType is a required field
|
||
BackupType *string `type:"string" required:"true" enum:"BackupType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BackupDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BackupDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupArn sets the BackupArn field's value.
|
||
func (s *BackupDetails) SetBackupArn(v string) *BackupDetails {
|
||
s.BackupArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupCreationDateTime sets the BackupCreationDateTime field's value.
|
||
func (s *BackupDetails) SetBackupCreationDateTime(v time.Time) *BackupDetails {
|
||
s.BackupCreationDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value.
|
||
func (s *BackupDetails) SetBackupExpiryDateTime(v time.Time) *BackupDetails {
|
||
s.BackupExpiryDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupName sets the BackupName field's value.
|
||
func (s *BackupDetails) SetBackupName(v string) *BackupDetails {
|
||
s.BackupName = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupSizeBytes sets the BackupSizeBytes field's value.
|
||
func (s *BackupDetails) SetBackupSizeBytes(v int64) *BackupDetails {
|
||
s.BackupSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupStatus sets the BackupStatus field's value.
|
||
func (s *BackupDetails) SetBackupStatus(v string) *BackupDetails {
|
||
s.BackupStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupType sets the BackupType field's value.
|
||
func (s *BackupDetails) SetBackupType(v string) *BackupDetails {
|
||
s.BackupType = &v
|
||
return s
|
||
}
|
||
|
||
// Contains details for the backup.
|
||
type BackupSummary struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// ARN associated with the backup.
|
||
BackupArn *string `min:"37" type:"string"`
|
||
|
||
// Time at which the backup was created.
|
||
BackupCreationDateTime *time.Time `type:"timestamp"`
|
||
|
||
// Time at which the automatic on-demand backup created by DynamoDB will expire.
|
||
// This SYSTEM on-demand backup expires automatically 35 days after its creation.
|
||
BackupExpiryDateTime *time.Time `type:"timestamp"`
|
||
|
||
// Name of the specified backup.
|
||
BackupName *string `min:"3" type:"string"`
|
||
|
||
// Size of the backup in bytes.
|
||
BackupSizeBytes *int64 `type:"long"`
|
||
|
||
// Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
|
||
BackupStatus *string `type:"string" enum:"BackupStatus"`
|
||
|
||
// BackupType:
|
||
//
|
||
// * USER - You create and manage these using the on-demand backup feature.
|
||
//
|
||
// * SYSTEM - If you delete a table with point-in-time recovery enabled,
|
||
// a SYSTEM backup is automatically created and is retained for 35 days (at
|
||
// no additional cost). System backups allow you to restore the deleted table
|
||
// to the state it was in just before the point of deletion.
|
||
//
|
||
// * AWS_BACKUP - On-demand backup created by you from AWS Backup service.
|
||
BackupType *string `type:"string" enum:"BackupType"`
|
||
|
||
// ARN associated with the table.
|
||
TableArn *string `type:"string"`
|
||
|
||
// Unique identifier for the table.
|
||
TableId *string `type:"string"`
|
||
|
||
// Name of the table.
|
||
TableName *string `min:"3" type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BackupSummary) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BackupSummary) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupArn sets the BackupArn field's value.
|
||
func (s *BackupSummary) SetBackupArn(v string) *BackupSummary {
|
||
s.BackupArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupCreationDateTime sets the BackupCreationDateTime field's value.
|
||
func (s *BackupSummary) SetBackupCreationDateTime(v time.Time) *BackupSummary {
|
||
s.BackupCreationDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value.
|
||
func (s *BackupSummary) SetBackupExpiryDateTime(v time.Time) *BackupSummary {
|
||
s.BackupExpiryDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupName sets the BackupName field's value.
|
||
func (s *BackupSummary) SetBackupName(v string) *BackupSummary {
|
||
s.BackupName = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupSizeBytes sets the BackupSizeBytes field's value.
|
||
func (s *BackupSummary) SetBackupSizeBytes(v int64) *BackupSummary {
|
||
s.BackupSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupStatus sets the BackupStatus field's value.
|
||
func (s *BackupSummary) SetBackupStatus(v string) *BackupSummary {
|
||
s.BackupStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetBackupType sets the BackupType field's value.
|
||
func (s *BackupSummary) SetBackupType(v string) *BackupSummary {
|
||
s.BackupType = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableArn sets the TableArn field's value.
|
||
func (s *BackupSummary) SetTableArn(v string) *BackupSummary {
|
||
s.TableArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableId sets the TableId field's value.
|
||
func (s *BackupSummary) SetTableId(v string) *BackupSummary {
|
||
s.TableId = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *BackupSummary) SetTableName(v string) *BackupSummary {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a BatchGetItem operation.
|
||
type BatchGetItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of one or more table names and, for each table, a map that describes
|
||
// one or more items to retrieve from that table. Each table name can be used
|
||
// only once per BatchGetItem request.
|
||
//
|
||
// Each element in the map of items to retrieve consists of the following:
|
||
//
|
||
// * ConsistentRead - If true, a strongly consistent read is used; if false
|
||
// (the default), an eventually consistent read is used.
|
||
//
|
||
// * ExpressionAttributeNames - One or more substitution tokens for attribute
|
||
// names in the ProjectionExpression parameter. The following are some use
|
||
// cases for using ExpressionAttributeNames:
|
||
//
|
||
// To access an attribute whose name conflicts with a DynamoDB reserved word.
|
||
//
|
||
// To create a placeholder for repeating occurrences of an attribute name in
|
||
// an expression.
|
||
//
|
||
// To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could
|
||
// specify the following for ExpressionAttributeNames:
|
||
//
|
||
// {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * Keys - An array of primary key attribute values that define specific
|
||
// items in the table. For each primary key, you must provide all of the
|
||
// key attributes. For example, with a simple primary key, you only need
|
||
// to provide the partition key value. For a composite key, you must provide
|
||
// both the partition key value and the sort key value.
|
||
//
|
||
// * ProjectionExpression - A string that identifies one or more attributes
|
||
// to retrieve from the table. These attributes can include scalars, sets,
|
||
// or elements of a JSON document. The attributes in the expression must
|
||
// be separated by commas.
|
||
//
|
||
// If no attribute names are specified, then all attributes will be returned.
|
||
// If any of the requested attributes are not found, they will not appear
|
||
// in the result.
|
||
//
|
||
// For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// * AttributesToGet - This is a legacy parameter. Use ProjectionExpression
|
||
// instead. For more information, see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// RequestItems is a required field
|
||
RequestItems map[string]*KeysAndAttributes `min:"1" type:"map" required:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BatchGetItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BatchGetItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *BatchGetItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "BatchGetItemInput"}
|
||
if s.RequestItems == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("RequestItems"))
|
||
}
|
||
if s.RequestItems != nil && len(s.RequestItems) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1))
|
||
}
|
||
if s.RequestItems != nil {
|
||
for i, v := range s.RequestItems {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequestItems", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRequestItems sets the RequestItems field's value.
|
||
func (s *BatchGetItemInput) SetRequestItems(v map[string]*KeysAndAttributes) *BatchGetItemInput {
|
||
s.RequestItems = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *BatchGetItemInput) SetReturnConsumedCapacity(v string) *BatchGetItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a BatchGetItem operation.
|
||
type BatchGetItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The read capacity units consumed by the entire BatchGetItem operation.
|
||
//
|
||
// Each element consists of:
|
||
//
|
||
// * TableName - The table that consumed the provisioned throughput.
|
||
//
|
||
// * CapacityUnits - The total number of capacity units consumed.
|
||
ConsumedCapacity []*ConsumedCapacity `type:"list"`
|
||
|
||
// A map of table name to a list of items. Each object in Responses consists
|
||
// of a table name, along with a map of attribute data consisting of the data
|
||
// type and attribute value.
|
||
Responses map[string][]map[string]*AttributeValue `type:"map"`
|
||
|
||
// A map of tables and their respective keys that were not processed with the
|
||
// current response. The UnprocessedKeys value is in the same form as RequestItems,
|
||
// so the value can be provided directly to a subsequent BatchGetItem operation.
|
||
// For more information, see RequestItems in the Request Parameters section.
|
||
//
|
||
// Each element consists of:
|
||
//
|
||
// * Keys - An array of primary key attribute values that define specific
|
||
// items in the table.
|
||
//
|
||
// * ProjectionExpression - One or more attributes to be retrieved from the
|
||
// table or index. By default, all attributes are returned. If a requested
|
||
// attribute is not found, it does not appear in the result.
|
||
//
|
||
// * ConsistentRead - The consistency of a read operation. If set to true,
|
||
// then a strongly consistent read is used; otherwise, an eventually consistent
|
||
// read is used.
|
||
//
|
||
// If there are no unprocessed keys remaining, the response contains an empty
|
||
// UnprocessedKeys map.
|
||
UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BatchGetItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BatchGetItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetResponses sets the Responses field's value.
|
||
func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput {
|
||
s.Responses = v
|
||
return s
|
||
}
|
||
|
||
// SetUnprocessedKeys sets the UnprocessedKeys field's value.
|
||
func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput {
|
||
s.UnprocessedKeys = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a BatchWriteItem operation.
|
||
type BatchWriteItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of one or more table names and, for each table, a list of operations
|
||
// to be performed (DeleteRequest or PutRequest). Each element in the map consists
|
||
// of the following:
|
||
//
|
||
// * DeleteRequest - Perform a DeleteItem operation on the specified item.
|
||
// The item to be deleted is identified by a Key subelement:
|
||
//
|
||
// Key - A map of primary key attribute values that uniquely identify the item.
|
||
// Each entry in this map consists of an attribute name and an attribute
|
||
// value. For each primary key, you must provide all of the key attributes.
|
||
// For example, with a simple primary key, you only need to provide a value
|
||
// for the partition key. For a composite primary key, you must provide values
|
||
// for both the partition key and the sort key.
|
||
//
|
||
// * PutRequest - Perform a PutItem operation on the specified item. The
|
||
// item to be put is identified by an Item subelement:
|
||
//
|
||
// Item - A map of attributes and their values. Each entry in this map consists
|
||
// of an attribute name and an attribute value. Attribute values must not
|
||
// be null; string and binary type attributes must have lengths greater than
|
||
// zero; and set type attributes must not be empty. Requests that contain
|
||
// empty values will be rejected with a ValidationException exception.
|
||
//
|
||
// If you specify any attributes that are part of an index key, then the data
|
||
// types for those attributes must match those of the schema in the table's
|
||
// attribute definition.
|
||
//
|
||
// RequestItems is a required field
|
||
RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Determines whether item collection metrics are returned. If set to SIZE,
|
||
// the response includes statistics about item collections, if any, that were
|
||
// modified during the operation are returned in the response. If set to NONE
|
||
// (the default), no statistics are returned.
|
||
ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BatchWriteItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BatchWriteItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *BatchWriteItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "BatchWriteItemInput"}
|
||
if s.RequestItems == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("RequestItems"))
|
||
}
|
||
if s.RequestItems != nil && len(s.RequestItems) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRequestItems sets the RequestItems field's value.
|
||
func (s *BatchWriteItemInput) SetRequestItems(v map[string][]*WriteRequest) *BatchWriteItemInput {
|
||
s.RequestItems = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *BatchWriteItemInput) SetReturnConsumedCapacity(v string) *BatchWriteItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
|
||
func (s *BatchWriteItemInput) SetReturnItemCollectionMetrics(v string) *BatchWriteItemInput {
|
||
s.ReturnItemCollectionMetrics = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a BatchWriteItem operation.
|
||
type BatchWriteItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The capacity units consumed by the entire BatchWriteItem operation.
|
||
//
|
||
// Each element consists of:
|
||
//
|
||
// * TableName - The table that consumed the provisioned throughput.
|
||
//
|
||
// * CapacityUnits - The total number of capacity units consumed.
|
||
ConsumedCapacity []*ConsumedCapacity `type:"list"`
|
||
|
||
// A list of tables that were processed by BatchWriteItem and, for each table,
|
||
// information about any item collections that were affected by individual DeleteItem
|
||
// or PutItem operations.
|
||
//
|
||
// Each entry consists of the following subelements:
|
||
//
|
||
// * ItemCollectionKey - The partition key value of the item collection.
|
||
// This is the same as the partition key value of the item.
|
||
//
|
||
// * SizeEstimateRangeGB - An estimate of item collection size, expressed
|
||
// in GB. This is a two-element array containing a lower bound and an upper
|
||
// bound for the estimate. The estimate includes the size of all the items
|
||
// in the table, plus the size of all attributes projected into all of the
|
||
// local secondary indexes on the table. Use this estimate to measure whether
|
||
// a local secondary index is approaching its size limit.
|
||
//
|
||
// The estimate is subject to change over time; therefore, do not rely on the
|
||
// precision or accuracy of the estimate.
|
||
ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"`
|
||
|
||
// A map of tables and requests against those tables that were not processed.
|
||
// The UnprocessedItems value is in the same form as RequestItems, so you can
|
||
// provide this value directly to a subsequent BatchGetItem operation. For more
|
||
// information, see RequestItems in the Request Parameters section.
|
||
//
|
||
// Each UnprocessedItems entry consists of a table name and, for that table,
|
||
// a list of operations to perform (DeleteRequest or PutRequest).
|
||
//
|
||
// * DeleteRequest - Perform a DeleteItem operation on the specified item.
|
||
// The item to be deleted is identified by a Key subelement:
|
||
//
|
||
// Key - A map of primary key attribute values that uniquely identify the item.
|
||
// Each entry in this map consists of an attribute name and an attribute
|
||
// value.
|
||
//
|
||
// * PutRequest - Perform a PutItem operation on the specified item. The
|
||
// item to be put is identified by an Item subelement:
|
||
//
|
||
// Item - A map of attributes and their values. Each entry in this map consists
|
||
// of an attribute name and an attribute value. Attribute values must not
|
||
// be null; string and binary type attributes must have lengths greater than
|
||
// zero; and set type attributes must not be empty. Requests that contain
|
||
// empty values will be rejected with a ValidationException exception.
|
||
//
|
||
// If you specify any attributes that are part of an index key, then the data
|
||
// types for those attributes must match those of the schema in the table's
|
||
// attribute definition.
|
||
//
|
||
// If there are no unprocessed items remaining, the response contains an empty
|
||
// UnprocessedItems map.
|
||
UnprocessedItems map[string][]*WriteRequest `min:"1" type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BatchWriteItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BatchWriteItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *BatchWriteItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchWriteItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
|
||
func (s *BatchWriteItemOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *BatchWriteItemOutput {
|
||
s.ItemCollectionMetrics = v
|
||
return s
|
||
}
|
||
|
||
// SetUnprocessedItems sets the UnprocessedItems field's value.
|
||
func (s *BatchWriteItemOutput) SetUnprocessedItems(v map[string][]*WriteRequest) *BatchWriteItemOutput {
|
||
s.UnprocessedItems = v
|
||
return s
|
||
}
|
||
|
||
// Contains the details for the read/write capacity mode.
|
||
type BillingModeSummary struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Controls how you are charged for read and write throughput and how you manage
|
||
// capacity. This setting can be changed later.
|
||
//
|
||
// * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend
|
||
// using PROVISIONED for predictable workloads.
|
||
//
|
||
// * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST.
|
||
// We recommend using PAY_PER_REQUEST for unpredictable workloads.
|
||
BillingMode *string `type:"string" enum:"BillingMode"`
|
||
|
||
// Represents the time when PAY_PER_REQUEST was last set as the read/write capacity
|
||
// mode.
|
||
LastUpdateToPayPerRequestDateTime *time.Time `type:"timestamp"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s BillingModeSummary) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s BillingModeSummary) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBillingMode sets the BillingMode field's value.
|
||
func (s *BillingModeSummary) SetBillingMode(v string) *BillingModeSummary {
|
||
s.BillingMode = &v
|
||
return s
|
||
}
|
||
|
||
// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
|
||
func (s *BillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v time.Time) *BillingModeSummary {
|
||
s.LastUpdateToPayPerRequestDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// An ordered list of errors for each item in the request which caused the transaction
|
||
// to get cancelled. The values of the list are ordered according to the ordering
|
||
// of the TransactWriteItems request parameter. If no error occurred for the
|
||
// associated item an error with a Null code and Null message will be present.
|
||
type CancellationReason struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Status code for the result of the cancelled transaction.
|
||
Code *string `type:"string"`
|
||
|
||
// Item in the request which caused the transaction to get cancelled.
|
||
Item map[string]*AttributeValue `type:"map"`
|
||
|
||
// Cancellation reason message description.
|
||
Message *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CancellationReason) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CancellationReason) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCode sets the Code field's value.
|
||
func (s *CancellationReason) SetCode(v string) *CancellationReason {
|
||
s.Code = &v
|
||
return s
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *CancellationReason) SetItem(v map[string]*AttributeValue) *CancellationReason {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// SetMessage sets the Message field's value.
|
||
func (s *CancellationReason) SetMessage(v string) *CancellationReason {
|
||
s.Message = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the amount of provisioned throughput capacity consumed on a table
|
||
// or an index.
|
||
type Capacity struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The total number of capacity units consumed on a table or an index.
|
||
CapacityUnits *float64 `type:"double"`
|
||
|
||
// The total number of read capacity units consumed on a table or an index.
|
||
ReadCapacityUnits *float64 `type:"double"`
|
||
|
||
// The total number of write capacity units consumed on a table or an index.
|
||
WriteCapacityUnits *float64 `type:"double"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Capacity) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Capacity) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCapacityUnits sets the CapacityUnits field's value.
|
||
func (s *Capacity) SetCapacityUnits(v float64) *Capacity {
|
||
s.CapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
|
||
func (s *Capacity) SetReadCapacityUnits(v float64) *Capacity {
|
||
s.ReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
|
||
func (s *Capacity) SetWriteCapacityUnits(v float64) *Capacity {
|
||
s.WriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the selection criteria for a Query or Scan operation:
|
||
//
|
||
// * For a Query operation, Condition is used for specifying the KeyConditions
|
||
// to use when querying a table or an index. For KeyConditions, only the
|
||
// following comparison operators are supported:
|
||
//
|
||
// EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN
|
||
//
|
||
// Condition is also used in a QueryFilter, which evaluates the query results
|
||
// and returns only the desired values.
|
||
//
|
||
// * For a Scan operation, Condition is used in a ScanFilter, which evaluates
|
||
// the scan results and returns only the desired values.
|
||
type Condition struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// One or more values to evaluate against the supplied attribute. The number
|
||
// of values in the list depends on the ComparisonOperator being used.
|
||
//
|
||
// For type Number, value comparisons are numeric.
|
||
//
|
||
// String value comparisons for greater than, equals, or less than are based
|
||
// on ASCII character code values. For example, a is greater than A, and a is
|
||
// greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
|
||
// (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
|
||
//
|
||
// For Binary, DynamoDB treats each byte of the binary data as unsigned when
|
||
// it compares binary values.
|
||
AttributeValueList []*AttributeValue `type:"list"`
|
||
|
||
// A comparator for evaluating attributes. For example, equals, greater than,
|
||
// less than, etc.
|
||
//
|
||
// The following comparison operators are available:
|
||
//
|
||
// EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
|
||
// BEGINS_WITH | IN | BETWEEN
|
||
//
|
||
// The following are descriptions of each comparison operator.
|
||
//
|
||
// * EQ : Equal. EQ is supported for all data types, including lists and
|
||
// maps.
|
||
//
|
||
// AttributeValueList can contain only one AttributeValue element of type String,
|
||
// Number, Binary, String Set, Number Set, or Binary Set. If an item contains
|
||
// an AttributeValue element of a different type than the one provided in
|
||
// the request, the value does not match. For example, {"S":"6"} does not
|
||
// equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
|
||
//
|
||
// * NE : Not equal. NE is supported for all data types, including lists
|
||
// and maps.
|
||
//
|
||
// * AttributeValueList can contain only one AttributeValue of type String,
|
||
// Number, Binary, String Set, Number Set, or Binary Set. If an item contains
|
||
// an AttributeValue of a different type than the one provided in the request,
|
||
// the value does not match. For example, {"S":"6"} does not equal {"N":"6"}.
|
||
// Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
|
||
//
|
||
// * LE : Less than or equal.
|
||
//
|
||
// AttributeValueList can contain only one AttributeValue element of type String,
|
||
// Number, or Binary (not a set type). If an item contains an AttributeValue
|
||
// element of a different type than the one provided in the request, the value
|
||
// does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"}
|
||
// does not compare to {"NS":["6", "2", "1"]}.
|
||
//
|
||
// LT: Less than.
|
||
//
|
||
// AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an
|
||
// AttributeValueelement of a different type than the one provided in the request, the value
|
||
// does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]}
|
||
//
|
||
// ComparisonOperator is a required field
|
||
ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Condition) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Condition) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Condition) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Condition"}
|
||
if s.ComparisonOperator == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeValueList sets the AttributeValueList field's value.
|
||
func (s *Condition) SetAttributeValueList(v []*AttributeValue) *Condition {
|
||
s.AttributeValueList = v
|
||
return s
|
||
}
|
||
|
||
// SetComparisonOperator sets the ComparisonOperator field's value.
|
||
func (s *Condition) SetComparisonOperator(v string) *Condition {
|
||
s.ComparisonOperator = &v
|
||
return s
|
||
}
|
||
|
||
// Represents a request to perform a check that an item exists or to check the
|
||
// condition of specific attributes of the item..
|
||
type ConditionCheck struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional update to succeed.
|
||
//
|
||
// ConditionExpression is a required field
|
||
ConditionExpression *string `type:"string" required:"true"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// The primary key of the item to be checked. Each element consists of an attribute
|
||
// name and a value for that attribute.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
|
||
// ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure,
|
||
// the valid values are: NONE and ALL_OLD.
|
||
ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
|
||
|
||
// Name of the table for the check item request.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ConditionCheck) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ConditionCheck) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ConditionCheck) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ConditionCheck"}
|
||
if s.ConditionExpression == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ConditionExpression"))
|
||
}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *ConditionCheck) SetConditionExpression(v string) *ConditionCheck {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *ConditionCheck) SetExpressionAttributeNames(v map[string]*string) *ConditionCheck {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *ConditionCheck) SetExpressionAttributeValues(v map[string]*AttributeValue) *ConditionCheck {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *ConditionCheck) SetKey(v map[string]*AttributeValue) *ConditionCheck {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
|
||
func (s *ConditionCheck) SetReturnValuesOnConditionCheckFailure(v string) *ConditionCheck {
|
||
s.ReturnValuesOnConditionCheckFailure = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *ConditionCheck) SetTableName(v string) *ConditionCheck {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// The capacity units consumed by an operation. The data returned includes the
|
||
// total provisioned throughput consumed, along with statistics for the table
|
||
// and any indexes involved in the operation. ConsumedCapacity is only returned
|
||
// if the request asked for it. For more information, see Provisioned Throughput
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
type ConsumedCapacity struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The total number of capacity units consumed by the operation.
|
||
CapacityUnits *float64 `type:"double"`
|
||
|
||
// The amount of throughput consumed on each global index affected by the operation.
|
||
GlobalSecondaryIndexes map[string]*Capacity `type:"map"`
|
||
|
||
// The amount of throughput consumed on each local index affected by the operation.
|
||
LocalSecondaryIndexes map[string]*Capacity `type:"map"`
|
||
|
||
// The total number of read capacity units consumed by the operation.
|
||
ReadCapacityUnits *float64 `type:"double"`
|
||
|
||
// The amount of throughput consumed on the table affected by the operation.
|
||
Table *Capacity `type:"structure"`
|
||
|
||
// The name of the table that was affected by the operation.
|
||
TableName *string `min:"3" type:"string"`
|
||
|
||
// The total number of write capacity units consumed by the operation.
|
||
WriteCapacityUnits *float64 `type:"double"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ConsumedCapacity) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ConsumedCapacity) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCapacityUnits sets the CapacityUnits field's value.
|
||
func (s *ConsumedCapacity) SetCapacityUnits(v float64) *ConsumedCapacity {
|
||
s.CapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
|
||
func (s *ConsumedCapacity) SetGlobalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity {
|
||
s.GlobalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
|
||
func (s *ConsumedCapacity) SetLocalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity {
|
||
s.LocalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
|
||
func (s *ConsumedCapacity) SetReadCapacityUnits(v float64) *ConsumedCapacity {
|
||
s.ReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetTable sets the Table field's value.
|
||
func (s *ConsumedCapacity) SetTable(v *Capacity) *ConsumedCapacity {
|
||
s.Table = v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *ConsumedCapacity) SetTableName(v string) *ConsumedCapacity {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
|
||
func (s *ConsumedCapacity) SetWriteCapacityUnits(v float64) *ConsumedCapacity {
|
||
s.WriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the continuous backups and point in time recovery settings on
|
||
// the table.
|
||
type ContinuousBackupsDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED
|
||
//
|
||
// ContinuousBackupsStatus is a required field
|
||
ContinuousBackupsStatus *string `type:"string" required:"true" enum:"ContinuousBackupsStatus"`
|
||
|
||
// The description of the point in time recovery settings applied to the table.
|
||
PointInTimeRecoveryDescription *PointInTimeRecoveryDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ContinuousBackupsDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ContinuousBackupsDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetContinuousBackupsStatus sets the ContinuousBackupsStatus field's value.
|
||
func (s *ContinuousBackupsDescription) SetContinuousBackupsStatus(v string) *ContinuousBackupsDescription {
|
||
s.ContinuousBackupsStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetPointInTimeRecoveryDescription sets the PointInTimeRecoveryDescription field's value.
|
||
func (s *ContinuousBackupsDescription) SetPointInTimeRecoveryDescription(v *PointInTimeRecoveryDescription) *ContinuousBackupsDescription {
|
||
s.PointInTimeRecoveryDescription = v
|
||
return s
|
||
}
|
||
|
||
type CreateBackupInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Specified name for the backup.
|
||
//
|
||
// BackupName is a required field
|
||
BackupName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The name of the table.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateBackupInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateBackupInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *CreateBackupInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"}
|
||
if s.BackupName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("BackupName"))
|
||
}
|
||
if s.BackupName != nil && len(*s.BackupName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("BackupName", 3))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetBackupName sets the BackupName field's value.
|
||
func (s *CreateBackupInput) SetBackupName(v string) *CreateBackupInput {
|
||
s.BackupName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *CreateBackupInput) SetTableName(v string) *CreateBackupInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
type CreateBackupOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the details of the backup created for the table.
|
||
BackupDetails *BackupDetails `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateBackupOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateBackupOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupDetails sets the BackupDetails field's value.
|
||
func (s *CreateBackupOutput) SetBackupDetails(v *BackupDetails) *CreateBackupOutput {
|
||
s.BackupDetails = v
|
||
return s
|
||
}
|
||
|
||
// Represents a new global secondary index to be added to an existing table.
|
||
type CreateGlobalSecondaryIndexAction struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index to be created.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The key schema for the global secondary index.
|
||
//
|
||
// KeySchema is a required field
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into an
|
||
// index. These are in addition to the primary key attributes and index key
|
||
// attributes, which are automatically projected.
|
||
//
|
||
// Projection is a required field
|
||
Projection *Projection `type:"structure" required:"true"`
|
||
|
||
// Represents the provisioned throughput settings for the specified global secondary
|
||
// index.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateGlobalSecondaryIndexAction) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateGlobalSecondaryIndexAction) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *CreateGlobalSecondaryIndexAction) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "CreateGlobalSecondaryIndexAction"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.KeySchema == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("KeySchema"))
|
||
}
|
||
if s.KeySchema != nil && len(s.KeySchema) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
|
||
}
|
||
if s.Projection == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Projection"))
|
||
}
|
||
if s.KeySchema != nil {
|
||
for i, v := range s.KeySchema {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.Projection != nil {
|
||
if err := s.Projection.Validate(); err != nil {
|
||
invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.ProvisionedThroughput != nil {
|
||
if err := s.ProvisionedThroughput.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *CreateGlobalSecondaryIndexAction) SetIndexName(v string) *CreateGlobalSecondaryIndexAction {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *CreateGlobalSecondaryIndexAction) SetKeySchema(v []*KeySchemaElement) *CreateGlobalSecondaryIndexAction {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *CreateGlobalSecondaryIndexAction) SetProjection(v *Projection) *CreateGlobalSecondaryIndexAction {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *CreateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateGlobalSecondaryIndexAction {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
type CreateGlobalTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The global table name.
|
||
//
|
||
// GlobalTableName is a required field
|
||
GlobalTableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The regions where the global table needs to be created.
|
||
//
|
||
// ReplicationGroup is a required field
|
||
ReplicationGroup []*Replica `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateGlobalTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateGlobalTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *CreateGlobalTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "CreateGlobalTableInput"}
|
||
if s.GlobalTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
|
||
}
|
||
if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
|
||
}
|
||
if s.ReplicationGroup == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ReplicationGroup"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *CreateGlobalTableInput) SetGlobalTableName(v string) *CreateGlobalTableInput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicationGroup sets the ReplicationGroup field's value.
|
||
func (s *CreateGlobalTableInput) SetReplicationGroup(v []*Replica) *CreateGlobalTableInput {
|
||
s.ReplicationGroup = v
|
||
return s
|
||
}
|
||
|
||
type CreateGlobalTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the details of the global table.
|
||
GlobalTableDescription *GlobalTableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateGlobalTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateGlobalTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableDescription sets the GlobalTableDescription field's value.
|
||
func (s *CreateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *CreateGlobalTableOutput {
|
||
s.GlobalTableDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents a replica to be added.
|
||
type CreateReplicaAction struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The region of the replica to be added.
|
||
//
|
||
// RegionName is a required field
|
||
RegionName *string `type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateReplicaAction) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateReplicaAction) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *CreateReplicaAction) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "CreateReplicaAction"}
|
||
if s.RegionName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("RegionName"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *CreateReplicaAction) SetRegionName(v string) *CreateReplicaAction {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a CreateTable operation.
|
||
type CreateTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// An array of attributes that describe the key schema for the table and indexes.
|
||
//
|
||
// AttributeDefinitions is a required field
|
||
AttributeDefinitions []*AttributeDefinition `type:"list" required:"true"`
|
||
|
||
// Controls how you are charged for read and write throughput and how you manage
|
||
// capacity. This setting can be changed later.
|
||
//
|
||
// * PROVISIONED - Sets the billing mode to PROVISIONED. We recommend using
|
||
// PROVISIONED for predictable workloads.
|
||
//
|
||
// * PAY_PER_REQUEST - Sets the billing mode to PAY_PER_REQUEST. We recommend
|
||
// using PAY_PER_REQUEST for unpredictable workloads.
|
||
BillingMode *string `type:"string" enum:"BillingMode"`
|
||
|
||
// One or more global secondary indexes (the maximum is 20) to be created on
|
||
// the table. Each global secondary index in the array includes the following:
|
||
//
|
||
// * IndexName - The name of the global secondary index. Must be unique only
|
||
// for this table.
|
||
//
|
||
// * KeySchema - Specifies the key schema for the global secondary index.
|
||
//
|
||
// * Projection - Specifies attributes that are copied (projected) from the
|
||
// table into the index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected. Each attribute
|
||
// specification is composed of:
|
||
//
|
||
// * ProjectionType - One of the following:
|
||
//
|
||
// KEYS_ONLY - Only the index and primary keys are projected into the index.
|
||
//
|
||
// INCLUDE - Only the specified table attributes are projected into the index.
|
||
// The list of projected attributes are in NonKeyAttributes.
|
||
//
|
||
// ALL - All of the table attributes are projected into the index.
|
||
//
|
||
// NonKeyAttributes - A list of one or more non-key attribute names that are
|
||
// projected into the secondary index. The total count of attributes provided
|
||
// in NonKeyAttributes, summed across all of the secondary indexes, must
|
||
// not exceed 100. If you project the same attribute into two different indexes,
|
||
// this counts as two distinct attributes when determining the total.
|
||
//
|
||
// * ProvisionedThroughput - The provisioned throughput settings for the
|
||
// global secondary index, consisting of read and write capacity units.
|
||
GlobalSecondaryIndexes []*GlobalSecondaryIndex `type:"list"`
|
||
|
||
// Specifies the attributes that make up the primary key for a table or an index.
|
||
// The attributes in KeySchema must also be defined in the AttributeDefinitions
|
||
// array. For more information, see Data Model (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Each KeySchemaElement in the array is composed of:
|
||
//
|
||
// * AttributeName - The name of this key attribute.
|
||
//
|
||
// * KeyType - The role that the key attribute will assume:
|
||
//
|
||
// HASH - partition key
|
||
//
|
||
// RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
//
|
||
// For a simple primary key (partition key), you must provide exactly one element
|
||
// with a KeyType of HASH.
|
||
//
|
||
// For a composite primary key (partition key and sort key), you must provide
|
||
// exactly two elements, in this order: The first element must have a KeyType
|
||
// of HASH, and the second element must have a KeyType of RANGE.
|
||
//
|
||
// For more information, see Specifying the Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// KeySchema is a required field
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
|
||
|
||
// One or more local secondary indexes (the maximum is 5) to be created on the
|
||
// table. Each index is scoped to a given partition key value. There is a 10
|
||
// GB size limit per partition key value; otherwise, the size of a local secondary
|
||
// index is unconstrained.
|
||
//
|
||
// Each local secondary index in the array includes the following:
|
||
//
|
||
// * IndexName - The name of the local secondary index. Must be unique only
|
||
// for this table.
|
||
//
|
||
// * KeySchema - Specifies the key schema for the local secondary index.
|
||
// The key schema must begin with the same partition key as the table.
|
||
//
|
||
// * Projection - Specifies attributes that are copied (projected) from the
|
||
// table into the index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected. Each attribute
|
||
// specification is composed of:
|
||
//
|
||
// * ProjectionType - One of the following:
|
||
//
|
||
// KEYS_ONLY - Only the index and primary keys are projected into the index.
|
||
//
|
||
// INCLUDE - Only the specified table attributes are projected into the index.
|
||
// The list of projected attributes are in NonKeyAttributes.
|
||
//
|
||
// ALL - All of the table attributes are projected into the index.
|
||
//
|
||
// NonKeyAttributes - A list of one or more non-key attribute names that are
|
||
// projected into the secondary index. The total count of attributes provided
|
||
// in NonKeyAttributes, summed across all of the secondary indexes, must
|
||
// not exceed 100. If you project the same attribute into two different indexes,
|
||
// this counts as two distinct attributes when determining the total.
|
||
LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"`
|
||
|
||
// Represents the provisioned throughput settings for a specified table or index.
|
||
// The settings can be modified using the UpdateTable operation.
|
||
//
|
||
// If you set BillingMode as PROVISIONED, you must specify this property. If
|
||
// you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
|
||
|
||
// Represents the settings used to enable server-side encryption.
|
||
SSESpecification *SSESpecification `type:"structure"`
|
||
|
||
// The settings for DynamoDB Streams on the table. These settings consist of:
|
||
//
|
||
// * StreamEnabled - Indicates whether Streams is to be enabled (true) or
|
||
// disabled (false).
|
||
//
|
||
// * StreamViewType - When an item in the table is modified, StreamViewType
|
||
// determines what information is written to the table's stream. Valid values
|
||
// for StreamViewType are:
|
||
//
|
||
// KEYS_ONLY - Only the key attributes of the modified item are written to the
|
||
// stream.
|
||
//
|
||
// NEW_IMAGE - The entire item, as it appears after it was modified, is written
|
||
// to the stream.
|
||
//
|
||
// OLD_IMAGE - The entire item, as it appeared before it was modified, is written
|
||
// to the stream.
|
||
//
|
||
// NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are
|
||
// written to the stream.
|
||
StreamSpecification *StreamSpecification `type:"structure"`
|
||
|
||
// The name of the table to create.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *CreateTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"}
|
||
if s.AttributeDefinitions == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("AttributeDefinitions"))
|
||
}
|
||
if s.KeySchema == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("KeySchema"))
|
||
}
|
||
if s.KeySchema != nil && len(s.KeySchema) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.AttributeDefinitions != nil {
|
||
for i, v := range s.AttributeDefinitions {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.GlobalSecondaryIndexes != nil {
|
||
for i, v := range s.GlobalSecondaryIndexes {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.KeySchema != nil {
|
||
for i, v := range s.KeySchema {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.LocalSecondaryIndexes != nil {
|
||
for i, v := range s.LocalSecondaryIndexes {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexes", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.ProvisionedThroughput != nil {
|
||
if err := s.ProvisionedThroughput.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeDefinitions sets the AttributeDefinitions field's value.
|
||
func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput {
|
||
s.AttributeDefinitions = v
|
||
return s
|
||
}
|
||
|
||
// SetBillingMode sets the BillingMode field's value.
|
||
func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput {
|
||
s.BillingMode = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
|
||
func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput {
|
||
s.GlobalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
|
||
func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput {
|
||
s.LocalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// SetSSESpecification sets the SSESpecification field's value.
|
||
func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput {
|
||
s.SSESpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetStreamSpecification sets the StreamSpecification field's value.
|
||
func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput {
|
||
s.StreamSpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *CreateTableInput) SetTableName(v string) *CreateTableInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a CreateTable operation.
|
||
type CreateTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the properties of the table.
|
||
TableDescription *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s CreateTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s CreateTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTableDescription sets the TableDescription field's value.
|
||
func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput {
|
||
s.TableDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents a request to perform a DeleteItem operation.
|
||
type Delete struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional delete to succeed.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// The primary key of the item to be deleted. Each element consists of an attribute
|
||
// name and a value for that attribute.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
|
||
// Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid
|
||
// values are: NONE and ALL_OLD.
|
||
ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
|
||
|
||
// Name of the table in which the item to be deleted resides.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Delete) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Delete) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Delete) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Delete"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *Delete) SetConditionExpression(v string) *Delete {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
|
||
func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete {
|
||
s.ReturnValuesOnConditionCheckFailure = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *Delete) SetTableName(v string) *Delete {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
type DeleteBackupInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The ARN associated with the backup.
|
||
//
|
||
// BackupArn is a required field
|
||
BackupArn *string `min:"37" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteBackupInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteBackupInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DeleteBackupInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"}
|
||
if s.BackupArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("BackupArn"))
|
||
}
|
||
if s.BackupArn != nil && len(*s.BackupArn) < 37 {
|
||
invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetBackupArn sets the BackupArn field's value.
|
||
func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput {
|
||
s.BackupArn = &v
|
||
return s
|
||
}
|
||
|
||
type DeleteBackupOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the description of the backup created for the table.
|
||
BackupDescription *BackupDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteBackupOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteBackupOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupDescription sets the BackupDescription field's value.
|
||
func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput {
|
||
s.BackupDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents a global secondary index to be deleted from an existing table.
|
||
type DeleteGlobalSecondaryIndexAction struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index to be deleted.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteGlobalSecondaryIndexAction) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteGlobalSecondaryIndexAction) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DeleteGlobalSecondaryIndexAction) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a DeleteItem operation.
|
||
type DeleteItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional DeleteItem
|
||
// to succeed.
|
||
//
|
||
// An expression can contain any of the following:
|
||
//
|
||
// * Functions: attribute_exists | attribute_not_exists | attribute_type
|
||
// | contains | begins_with | size
|
||
//
|
||
// These function names are case-sensitive.
|
||
//
|
||
// * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
|
||
//
|
||
// * Logical operators: AND | OR | NOT
|
||
//
|
||
// For more information on condition expressions, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Expected map[string]*ExpectedAttributeValue `type:"map"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
//
|
||
// Use the : (colon) character in an expression to dereference an attribute
|
||
// value. For example, suppose that you wanted to check whether the value of
|
||
// the ProductStatus attribute was one of the following:
|
||
//
|
||
// Available | Backordered | Discontinued
|
||
//
|
||
// You would first need to specify ExpressionAttributeValues as follows:
|
||
//
|
||
// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
|
||
// }
|
||
//
|
||
// You could then use these values in an expression, such as this:
|
||
//
|
||
// ProductStatus IN (:avail, :back, :disc)
|
||
//
|
||
// For more information on expression attribute values, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// A map of attribute names to AttributeValue objects, representing the primary
|
||
// key of the item to delete.
|
||
//
|
||
// For the primary key, you must provide all of the attributes. For example,
|
||
// with a simple primary key, you only need to provide a value for the partition
|
||
// key. For a composite primary key, you must provide values for both the partition
|
||
// key and the sort key.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Determines whether item collection metrics are returned. If set to SIZE,
|
||
// the response includes statistics about item collections, if any, that were
|
||
// modified during the operation are returned in the response. If set to NONE
|
||
// (the default), no statistics are returned.
|
||
ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
|
||
|
||
// Use ReturnValues if you want to get the item attributes as they appeared
|
||
// before they were deleted. For DeleteItem, the valid values are:
|
||
//
|
||
// * NONE - If ReturnValues is not specified, or if its value is NONE, then
|
||
// nothing is returned. (This setting is the default for ReturnValues.)
|
||
//
|
||
// * ALL_OLD - The content of the old item is returned.
|
||
//
|
||
// The ReturnValues parameter is used by several DynamoDB operations; however,
|
||
// DeleteItem does not recognize any values other than NONE or ALL_OLD.
|
||
ReturnValues *string `type:"string" enum:"ReturnValue"`
|
||
|
||
// The name of the table from which to delete the item.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DeleteItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetConditionalOperator sets the ConditionalOperator field's value.
|
||
func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput {
|
||
s.ConditionalOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpected sets the Expected field's value.
|
||
func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput {
|
||
s.Expected = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
|
||
func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput {
|
||
s.ReturnItemCollectionMetrics = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValues sets the ReturnValues field's value.
|
||
func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput {
|
||
s.ReturnValues = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a DeleteItem operation.
|
||
type DeleteItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of attribute names to AttributeValue objects, representing the item
|
||
// as it appeared before the DeleteItem operation. This map appears in the response
|
||
// only if ReturnValues was specified as ALL_OLD in the request.
|
||
Attributes map[string]*AttributeValue `type:"map"`
|
||
|
||
// The capacity units consumed by the DeleteItem operation. The data returned
|
||
// includes the total provisioned throughput consumed, along with statistics
|
||
// for the table and any indexes involved in the operation. ConsumedCapacity
|
||
// is only returned if the ReturnConsumedCapacity parameter was specified. For
|
||
// more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// Information about item collections, if any, that were affected by the DeleteItem
|
||
// operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
|
||
// parameter was specified. If the table does not have any local secondary indexes,
|
||
// this information is not returned in the response.
|
||
//
|
||
// Each ItemCollectionMetrics element consists of:
|
||
//
|
||
// * ItemCollectionKey - The partition key value of the item collection.
|
||
// This is the same as the partition key value of the item itself.
|
||
//
|
||
// * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
|
||
// This value is a two-element array containing a lower bound and an upper
|
||
// bound for the estimate. The estimate includes the size of all the items
|
||
// in the table, plus the size of all attributes projected into all of the
|
||
// local secondary indexes on that table. Use this estimate to measure whether
|
||
// a local secondary index is approaching its size limit.
|
||
//
|
||
// The estimate is subject to change over time; therefore, do not rely on the
|
||
// precision or accuracy of the estimate.
|
||
ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
|
||
func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput {
|
||
s.ItemCollectionMetrics = v
|
||
return s
|
||
}
|
||
|
||
// Represents a replica to be removed.
|
||
type DeleteReplicaAction struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The region of the replica to be removed.
|
||
//
|
||
// RegionName is a required field
|
||
RegionName *string `type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteReplicaAction) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteReplicaAction) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DeleteReplicaAction) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"}
|
||
if s.RegionName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("RegionName"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents a request to perform a DeleteItem operation on an item.
|
||
type DeleteRequest struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of attribute name to attribute values, representing the primary key
|
||
// of the item to delete. All of the table's primary key attributes must be
|
||
// specified, and their data types must match those of the table's key schema.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteRequest) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteRequest) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a DeleteTable operation.
|
||
type DeleteTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the table to delete.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DeleteTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a DeleteTable operation.
|
||
type DeleteTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the properties of a table.
|
||
TableDescription *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DeleteTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DeleteTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTableDescription sets the TableDescription field's value.
|
||
func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput {
|
||
s.TableDescription = v
|
||
return s
|
||
}
|
||
|
||
type DescribeBackupInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The ARN associated with the backup.
|
||
//
|
||
// BackupArn is a required field
|
||
BackupArn *string `min:"37" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeBackupInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeBackupInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeBackupInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"}
|
||
if s.BackupArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("BackupArn"))
|
||
}
|
||
if s.BackupArn != nil && len(*s.BackupArn) < 37 {
|
||
invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetBackupArn sets the BackupArn field's value.
|
||
func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput {
|
||
s.BackupArn = &v
|
||
return s
|
||
}
|
||
|
||
type DescribeBackupOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the description of the backup created for the table.
|
||
BackupDescription *BackupDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeBackupOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeBackupOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupDescription sets the BackupDescription field's value.
|
||
func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput {
|
||
s.BackupDescription = v
|
||
return s
|
||
}
|
||
|
||
type DescribeContinuousBackupsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Name of the table for which the customer wants to check the continuous backups
|
||
// and point in time recovery settings.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeContinuousBackupsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeContinuousBackupsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeContinuousBackupsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
type DescribeContinuousBackupsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the continuous backups and point in time recovery settings on
|
||
// the table.
|
||
ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeContinuousBackupsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeContinuousBackupsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value.
|
||
func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput {
|
||
s.ContinuousBackupsDescription = v
|
||
return s
|
||
}
|
||
|
||
type DescribeEndpointsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeEndpointsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeEndpointsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
type DescribeEndpointsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// List of endpoints.
|
||
//
|
||
// Endpoints is a required field
|
||
Endpoints []*Endpoint `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeEndpointsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeEndpointsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEndpoints sets the Endpoints field's value.
|
||
func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
|
||
s.Endpoints = v
|
||
return s
|
||
}
|
||
|
||
type DescribeGlobalTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global table.
|
||
//
|
||
// GlobalTableName is a required field
|
||
GlobalTableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeGlobalTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeGlobalTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeGlobalTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"}
|
||
if s.GlobalTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
|
||
}
|
||
if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
type DescribeGlobalTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the details of the global table.
|
||
GlobalTableDescription *GlobalTableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeGlobalTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeGlobalTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableDescription sets the GlobalTableDescription field's value.
|
||
func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput {
|
||
s.GlobalTableDescription = v
|
||
return s
|
||
}
|
||
|
||
type DescribeGlobalTableSettingsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global table to describe.
|
||
//
|
||
// GlobalTableName is a required field
|
||
GlobalTableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeGlobalTableSettingsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeGlobalTableSettingsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeGlobalTableSettingsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"}
|
||
if s.GlobalTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
|
||
}
|
||
if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
type DescribeGlobalTableSettingsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global table.
|
||
GlobalTableName *string `min:"3" type:"string"`
|
||
|
||
// The region specific settings for the global table.
|
||
ReplicaSettings []*ReplicaSettingsDescription `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeGlobalTableSettingsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeGlobalTableSettingsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaSettings sets the ReplicaSettings field's value.
|
||
func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput {
|
||
s.ReplicaSettings = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a DescribeLimits operation. Has no content.
|
||
type DescribeLimitsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeLimitsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeLimitsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Represents the output of a DescribeLimits operation.
|
||
type DescribeLimitsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The maximum total read capacity units that your account allows you to provision
|
||
// across all of your tables in this region.
|
||
AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The maximum total write capacity units that your account allows you to provision
|
||
// across all of your tables in this region.
|
||
AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The maximum read capacity units that your account allows you to provision
|
||
// for a new table that you are creating in this region, including the read
|
||
// capacity units provisioned for its global secondary indexes (GSIs).
|
||
TableMaxReadCapacityUnits *int64 `min:"1" type:"long"`
|
||
|
||
// The maximum write capacity units that your account allows you to provision
|
||
// for a new table that you are creating in this region, including the write
|
||
// capacity units provisioned for its global secondary indexes (GSIs).
|
||
TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeLimitsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeLimitsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value.
|
||
func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput {
|
||
s.AccountMaxReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value.
|
||
func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput {
|
||
s.AccountMaxWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value.
|
||
func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput {
|
||
s.TableMaxReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value.
|
||
func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput {
|
||
s.TableMaxWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a DescribeTable operation.
|
||
type DescribeTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the table to describe.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a DescribeTable operation.
|
||
type DescribeTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The properties of the table.
|
||
Table *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTable sets the Table field's value.
|
||
func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput {
|
||
s.Table = v
|
||
return s
|
||
}
|
||
|
||
type DescribeTimeToLiveInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the table to be described.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeTimeToLiveInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeTimeToLiveInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *DescribeTimeToLiveInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
type DescribeTimeToLiveOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The description of the Time to Live (TTL) status on the specified table.
|
||
TimeToLiveDescription *TimeToLiveDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s DescribeTimeToLiveOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s DescribeTimeToLiveOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTimeToLiveDescription sets the TimeToLiveDescription field's value.
|
||
func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput {
|
||
s.TimeToLiveDescription = v
|
||
return s
|
||
}
|
||
|
||
// An endpoint information details.
|
||
type Endpoint struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// IP address of the endpoint.
|
||
//
|
||
// Address is a required field
|
||
Address *string `type:"string" required:"true"`
|
||
|
||
// Endpoint cache time to live (TTL) value.
|
||
//
|
||
// CachePeriodInMinutes is a required field
|
||
CachePeriodInMinutes *int64 `type:"long" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Endpoint) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Endpoint) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAddress sets the Address field's value.
|
||
func (s *Endpoint) SetAddress(v string) *Endpoint {
|
||
s.Address = &v
|
||
return s
|
||
}
|
||
|
||
// SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value.
|
||
func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint {
|
||
s.CachePeriodInMinutes = &v
|
||
return s
|
||
}
|
||
|
||
// Represents a condition to be compared with an attribute value. This condition
|
||
// can be used with DeleteItem, PutItem or UpdateItem operations; if the comparison
|
||
// evaluates to true, the operation succeeds; if not, the operation fails. You
|
||
// can use ExpectedAttributeValue in one of two different ways:
|
||
//
|
||
// * Use AttributeValueList to specify one or more values to compare against
|
||
// an attribute. Use ComparisonOperator to specify how you want to perform
|
||
// the comparison. If the comparison evaluates to true, then the conditional
|
||
// operation succeeds.
|
||
//
|
||
// * Use Value to specify a value that DynamoDB will compare against an attribute.
|
||
// If the values match, then ExpectedAttributeValue evaluates to true and
|
||
// the conditional operation succeeds. Optionally, you can also set Exists
|
||
// to false, indicating that you do not expect to find the attribute value
|
||
// in the table. In this case, the conditional operation succeeds only if
|
||
// the comparison evaluates to false.
|
||
//
|
||
// Value and Exists are incompatible with AttributeValueList and ComparisonOperator.
|
||
// Note that if you use both sets of parameters at once, DynamoDB will return
|
||
// a ValidationException exception.
|
||
type ExpectedAttributeValue struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// One or more values to evaluate against the supplied attribute. The number
|
||
// of values in the list depends on the ComparisonOperator being used.
|
||
//
|
||
// For type Number, value comparisons are numeric.
|
||
//
|
||
// String value comparisons for greater than, equals, or less than are based
|
||
// on ASCII character code values. For example, a is greater than A, and a is
|
||
// greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
|
||
// (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
|
||
//
|
||
// For Binary, DynamoDB treats each byte of the binary data as unsigned when
|
||
// it compares binary values.
|
||
//
|
||
// For information on specifying data types in JSON, see JSON Data Format (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributeValueList []*AttributeValue `type:"list"`
|
||
|
||
// A comparator for evaluating attributes in the AttributeValueList. For example,
|
||
// equals, greater than, less than, etc.
|
||
//
|
||
// The following comparison operators are available:
|
||
//
|
||
// EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
|
||
// BEGINS_WITH | IN | BETWEEN
|
||
//
|
||
// The following are descriptions of each comparison operator.
|
||
//
|
||
// * EQ : Equal. EQ is supported for all data types, including lists and
|
||
// maps.
|
||
//
|
||
// AttributeValueList can contain only one AttributeValue element of type String,
|
||
// Number, Binary, String Set, Number Set, or Binary Set. If an item contains
|
||
// an AttributeValue element of a different type than the one provided in
|
||
// the request, the value does not match. For example, {"S":"6"} does not
|
||
// equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
|
||
//
|
||
// * NE : Not equal. NE is supported for all data types, including lists
|
||
// and maps.
|
||
//
|
||
// * AttributeValueList can contain only one AttributeValue of type String,
|
||
// Number, Binary, String Set, Number Set, or Binary Set. If an item contains
|
||
// an AttributeValue of a different type than the one provided in the request,
|
||
// the value does not match. For example, {"S":"6"} does not equal {"N":"6"}.
|
||
// Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
|
||
//
|
||
// * LE : Less than or equal.
|
||
//
|
||
// AttributeValueList can contain only one AttributeValue element of type String,
|
||
// Number, or Binary (not a set type). If an item contains an AttributeValue
|
||
// element of a different type than the one provided in the request, the value
|
||
// does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"}
|
||
// does not compare to {"NS":["6", "2", "1"]}.
|
||
//
|
||
// LT: Less than.
|
||
//
|
||
// AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an
|
||
// AttributeValueelement of a different type than the one provided in the request, the value
|
||
// does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]}
|
||
ComparisonOperator *string `type:"string" enum:"ComparisonOperator"`
|
||
|
||
// Causes DynamoDB to evaluate the value before attempting a conditional operation:
|
||
//
|
||
// * If Exists is true, DynamoDB will check to see if that attribute value
|
||
// already exists in the table. If it is found, then the operation succeeds.
|
||
// If it is not found, the operation fails with a ConditionCheckFailedException.
|
||
//
|
||
// * If Exists is false, DynamoDB assumes that the attribute value does not
|
||
// exist in the table. If in fact the value does not exist, then the assumption
|
||
// is valid and the operation succeeds. If the value is found, despite the
|
||
// assumption that it does not exist, the operation fails with a ConditionCheckFailedException.
|
||
//
|
||
// The default setting for Exists is true. If you supply a Value all by itself,
|
||
// DynamoDB assumes the attribute exists: You don't have to set Exists to true,
|
||
// because it is implied.
|
||
//
|
||
// DynamoDB returns a ValidationException if:
|
||
//
|
||
// * Exists is true but there is no Value to check. (You expect a value to
|
||
// exist, but don't specify what that value is.)
|
||
//
|
||
// * Exists is false but you also provide a Value. (You cannot expect an
|
||
// attribute to have a value, while also expecting it not to exist.)
|
||
Exists *bool `type:"boolean"`
|
||
|
||
// Represents the data for the expected attribute.
|
||
//
|
||
// Each attribute value is described as a name-value pair. The name is the data
|
||
// type, and the value is the data itself.
|
||
//
|
||
// For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Value *AttributeValue `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ExpectedAttributeValue) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ExpectedAttributeValue) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributeValueList sets the AttributeValueList field's value.
|
||
func (s *ExpectedAttributeValue) SetAttributeValueList(v []*AttributeValue) *ExpectedAttributeValue {
|
||
s.AttributeValueList = v
|
||
return s
|
||
}
|
||
|
||
// SetComparisonOperator sets the ComparisonOperator field's value.
|
||
func (s *ExpectedAttributeValue) SetComparisonOperator(v string) *ExpectedAttributeValue {
|
||
s.ComparisonOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetExists sets the Exists field's value.
|
||
func (s *ExpectedAttributeValue) SetExists(v bool) *ExpectedAttributeValue {
|
||
s.Exists = &v
|
||
return s
|
||
}
|
||
|
||
// SetValue sets the Value field's value.
|
||
func (s *ExpectedAttributeValue) SetValue(v *AttributeValue) *ExpectedAttributeValue {
|
||
s.Value = v
|
||
return s
|
||
}
|
||
|
||
// Specifies an item and related attribute values to retrieve in a TransactGetItem
|
||
// object.
|
||
type Get struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// One or more substitution tokens for attribute names in the ProjectionExpression
|
||
// parameter.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// A map of attribute names to AttributeValue objects that specifies the primary
|
||
// key of the item to retrieve.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// A string that identifies one or more attributes of the specified item to
|
||
// retrieve from the table. The attributes in the expression must be separated
|
||
// by commas. If no attribute names are specified, then all attributes of the
|
||
// specified item are returned. If any of the requested attributes are not found,
|
||
// they do not appear in the result.
|
||
ProjectionExpression *string `type:"string"`
|
||
|
||
// The name of the table from which to retrieve the specified item.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Get) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Get) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Get) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Get"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *Get) SetExpressionAttributeNames(v map[string]*string) *Get {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *Get) SetKey(v map[string]*AttributeValue) *Get {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionExpression sets the ProjectionExpression field's value.
|
||
func (s *Get) SetProjectionExpression(v string) *Get {
|
||
s.ProjectionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *Get) SetTableName(v string) *Get {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a GetItem operation.
|
||
type GetItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// This is a legacy parameter. Use ProjectionExpression instead. For more information,
|
||
// see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributesToGet []*string `min:"1" type:"list"`
|
||
|
||
// Determines the read consistency model: If set to true, then the operation
|
||
// uses strongly consistent reads; otherwise, the operation uses eventually
|
||
// consistent reads.
|
||
ConsistentRead *bool `type:"boolean"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// A map of attribute names to AttributeValue objects, representing the primary
|
||
// key of the item to retrieve.
|
||
//
|
||
// For the primary key, you must provide all of the attributes. For example,
|
||
// with a simple primary key, you only need to provide a value for the partition
|
||
// key. For a composite primary key, you must provide values for both the partition
|
||
// key and the sort key.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// A string that identifies one or more attributes to retrieve from the table.
|
||
// These attributes can include scalars, sets, or elements of a JSON document.
|
||
// The attributes in the expression must be separated by commas.
|
||
//
|
||
// If no attribute names are specified, then all attributes will be returned.
|
||
// If any of the requested attributes are not found, they will not appear in
|
||
// the result.
|
||
//
|
||
// For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProjectionExpression *string `type:"string"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// The name of the table containing the requested item.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GetItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GetItemInput"}
|
||
if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
|
||
}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributesToGet sets the AttributesToGet field's value.
|
||
func (s *GetItemInput) SetAttributesToGet(v []*string) *GetItemInput {
|
||
s.AttributesToGet = v
|
||
return s
|
||
}
|
||
|
||
// SetConsistentRead sets the ConsistentRead field's value.
|
||
func (s *GetItemInput) SetConsistentRead(v bool) *GetItemInput {
|
||
s.ConsistentRead = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionExpression sets the ProjectionExpression field's value.
|
||
func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput {
|
||
s.ProjectionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *GetItemInput) SetTableName(v string) *GetItemInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a GetItem operation.
|
||
type GetItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The capacity units consumed by the GetItem operation. The data returned includes
|
||
// the total provisioned throughput consumed, along with statistics for the
|
||
// table and any indexes involved in the operation. ConsumedCapacity is only
|
||
// returned if the ReturnConsumedCapacity parameter was specified. For more
|
||
// information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.
|
||
Item map[string]*AttributeValue `type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GetItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GetItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a global secondary index.
|
||
type GlobalSecondaryIndex struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index. The name must be unique among all
|
||
// other indexes on this table.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The complete key schema for a global secondary index, which consists of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
//
|
||
// KeySchema is a required field
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// global secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
//
|
||
// Projection is a required field
|
||
Projection *Projection `type:"structure" required:"true"`
|
||
|
||
// Represents the provisioned throughput settings for the specified global secondary
|
||
// index.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalSecondaryIndex) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalSecondaryIndex) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GlobalSecondaryIndex) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndex"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.KeySchema == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("KeySchema"))
|
||
}
|
||
if s.KeySchema != nil && len(s.KeySchema) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
|
||
}
|
||
if s.Projection == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Projection"))
|
||
}
|
||
if s.KeySchema != nil {
|
||
for i, v := range s.KeySchema {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.Projection != nil {
|
||
if err := s.Projection.Validate(); err != nil {
|
||
invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.ProvisionedThroughput != nil {
|
||
if err := s.ProvisionedThroughput.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *GlobalSecondaryIndex) SetIndexName(v string) *GlobalSecondaryIndex {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *GlobalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndex {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *GlobalSecondaryIndex) SetProjection(v *Projection) *GlobalSecondaryIndex {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *GlobalSecondaryIndex) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndex {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a global secondary index.
|
||
type GlobalSecondaryIndexDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether the index is currently backfilling. Backfilling is the
|
||
// process of reading items from the table and determining whether they can
|
||
// be added to the index. (Not all items will qualify: For example, a partition
|
||
// key cannot have any duplicate values.) If an item can be added to the index,
|
||
// DynamoDB will do so. After all items have been processed, the backfilling
|
||
// operation is complete and Backfilling is false.
|
||
//
|
||
// For indexes that were created during a CreateTable operation, the Backfilling
|
||
// attribute does not appear in the DescribeTable output.
|
||
Backfilling *bool `type:"boolean"`
|
||
|
||
// The Amazon Resource Name (ARN) that uniquely identifies the index.
|
||
IndexArn *string `type:"string"`
|
||
|
||
// The name of the global secondary index.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The total size of the specified index, in bytes. DynamoDB updates this value
|
||
// approximately every six hours. Recent changes might not be reflected in this
|
||
// value.
|
||
IndexSizeBytes *int64 `type:"long"`
|
||
|
||
// The current state of the global secondary index:
|
||
//
|
||
// * CREATING - The index is being created.
|
||
//
|
||
// * UPDATING - The index is being updated.
|
||
//
|
||
// * DELETING - The index is being deleted.
|
||
//
|
||
// * ACTIVE - The index is ready for use.
|
||
IndexStatus *string `type:"string" enum:"IndexStatus"`
|
||
|
||
// The number of items in the specified index. DynamoDB updates this value approximately
|
||
// every six hours. Recent changes might not be reflected in this value.
|
||
ItemCount *int64 `type:"long"`
|
||
|
||
// The complete key schema for a global secondary index, which consists of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// global secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
Projection *Projection `type:"structure"`
|
||
|
||
// Represents the provisioned throughput settings for the specified global secondary
|
||
// index.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalSecondaryIndexDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalSecondaryIndexDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackfilling sets the Backfilling field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetBackfilling(v bool) *GlobalSecondaryIndexDescription {
|
||
s.Backfilling = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexArn sets the IndexArn field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetIndexArn(v string) *GlobalSecondaryIndexDescription {
|
||
s.IndexArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetIndexName(v string) *GlobalSecondaryIndexDescription {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexSizeBytes sets the IndexSizeBytes field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *GlobalSecondaryIndexDescription {
|
||
s.IndexSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexStatus sets the IndexStatus field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetIndexStatus(v string) *GlobalSecondaryIndexDescription {
|
||
s.IndexStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetItemCount sets the ItemCount field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetItemCount(v int64) *GlobalSecondaryIndexDescription {
|
||
s.ItemCount = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexDescription {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetProjection(v *Projection) *GlobalSecondaryIndexDescription {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *GlobalSecondaryIndexDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *GlobalSecondaryIndexDescription {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a global secondary index for the table when
|
||
// the backup was created.
|
||
type GlobalSecondaryIndexInfo struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The complete key schema for a global secondary index, which consists of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// global secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
Projection *Projection `type:"structure"`
|
||
|
||
// Represents the provisioned throughput settings for the specified global secondary
|
||
// index.
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalSecondaryIndexInfo) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalSecondaryIndexInfo) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *GlobalSecondaryIndexInfo) SetIndexName(v string) *GlobalSecondaryIndexInfo {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *GlobalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexInfo {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *GlobalSecondaryIndexInfo) SetProjection(v *Projection) *GlobalSecondaryIndexInfo {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *GlobalSecondaryIndexInfo) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndexInfo {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// Represents one of the following:
|
||
//
|
||
// * A new global secondary index to be added to an existing table.
|
||
//
|
||
// * New provisioned throughput parameters for an existing global secondary
|
||
// index.
|
||
//
|
||
// * An existing global secondary index to be removed from an existing table.
|
||
type GlobalSecondaryIndexUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The parameters required for creating a global secondary index on an existing
|
||
// table:
|
||
//
|
||
// * IndexName
|
||
//
|
||
// * KeySchema
|
||
//
|
||
// * AttributeDefinitions
|
||
//
|
||
// * Projection
|
||
//
|
||
// * ProvisionedThroughput
|
||
Create *CreateGlobalSecondaryIndexAction `type:"structure"`
|
||
|
||
// The name of an existing global secondary index to be removed.
|
||
Delete *DeleteGlobalSecondaryIndexAction `type:"structure"`
|
||
|
||
// The name of an existing global secondary index, along with new provisioned
|
||
// throughput settings to be applied to that index.
|
||
Update *UpdateGlobalSecondaryIndexAction `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalSecondaryIndexUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalSecondaryIndexUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GlobalSecondaryIndexUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexUpdate"}
|
||
if s.Create != nil {
|
||
if err := s.Create.Validate(); err != nil {
|
||
invalidParams.AddNested("Create", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Delete != nil {
|
||
if err := s.Delete.Validate(); err != nil {
|
||
invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Update != nil {
|
||
if err := s.Update.Validate(); err != nil {
|
||
invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetCreate sets the Create field's value.
|
||
func (s *GlobalSecondaryIndexUpdate) SetCreate(v *CreateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
|
||
s.Create = v
|
||
return s
|
||
}
|
||
|
||
// SetDelete sets the Delete field's value.
|
||
func (s *GlobalSecondaryIndexUpdate) SetDelete(v *DeleteGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
|
||
s.Delete = v
|
||
return s
|
||
}
|
||
|
||
// SetUpdate sets the Update field's value.
|
||
func (s *GlobalSecondaryIndexUpdate) SetUpdate(v *UpdateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
|
||
s.Update = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a global table.
|
||
type GlobalTable struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The global table name.
|
||
GlobalTableName *string `min:"3" type:"string"`
|
||
|
||
// The regions where the global table has replicas.
|
||
ReplicationGroup []*Replica `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalTable) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalTable) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *GlobalTable) SetGlobalTableName(v string) *GlobalTable {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicationGroup sets the ReplicationGroup field's value.
|
||
func (s *GlobalTable) SetReplicationGroup(v []*Replica) *GlobalTable {
|
||
s.ReplicationGroup = v
|
||
return s
|
||
}
|
||
|
||
// Contains details about the global table.
|
||
type GlobalTableDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The creation time of the global table.
|
||
CreationDateTime *time.Time `type:"timestamp"`
|
||
|
||
// The unique identifier of the global table.
|
||
GlobalTableArn *string `type:"string"`
|
||
|
||
// The global table name.
|
||
GlobalTableName *string `min:"3" type:"string"`
|
||
|
||
// The current state of the global table:
|
||
//
|
||
// * CREATING - The global table is being created.
|
||
//
|
||
// * UPDATING - The global table is being updated.
|
||
//
|
||
// * DELETING - The global table is being deleted.
|
||
//
|
||
// * ACTIVE - The global table is ready for use.
|
||
GlobalTableStatus *string `type:"string" enum:"GlobalTableStatus"`
|
||
|
||
// The regions where the global table has replicas.
|
||
ReplicationGroup []*ReplicaDescription `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalTableDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalTableDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetCreationDateTime sets the CreationDateTime field's value.
|
||
func (s *GlobalTableDescription) SetCreationDateTime(v time.Time) *GlobalTableDescription {
|
||
s.CreationDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableArn sets the GlobalTableArn field's value.
|
||
func (s *GlobalTableDescription) SetGlobalTableArn(v string) *GlobalTableDescription {
|
||
s.GlobalTableArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *GlobalTableDescription) SetGlobalTableName(v string) *GlobalTableDescription {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableStatus sets the GlobalTableStatus field's value.
|
||
func (s *GlobalTableDescription) SetGlobalTableStatus(v string) *GlobalTableDescription {
|
||
s.GlobalTableStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicationGroup sets the ReplicationGroup field's value.
|
||
func (s *GlobalTableDescription) SetReplicationGroup(v []*ReplicaDescription) *GlobalTableDescription {
|
||
s.ReplicationGroup = v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings of a global secondary index for a global table that
|
||
// will be modified.
|
||
type GlobalTableGlobalSecondaryIndexSettingsUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index. The name must be unique among all
|
||
// other indexes on this table.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// AutoScaling settings for managing a global secondary index's write capacity
|
||
// units.
|
||
ProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException.
|
||
ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "GlobalTableGlobalSecondaryIndexSettingsUpdate"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.ProvisionedWriteCapacityUnits != nil && *s.ProvisionedWriteCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("ProvisionedWriteCapacityUnits", 1))
|
||
}
|
||
if s.ProvisionedWriteCapacityAutoScalingSettingsUpdate != nil {
|
||
if err := s.ProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedWriteCapacityAutoScalingSettingsUpdate sets the ProvisionedWriteCapacityAutoScalingSettingsUpdate field's value.
|
||
func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
|
||
s.ProvisionedWriteCapacityAutoScalingSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value.
|
||
func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityUnits(v int64) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
|
||
s.ProvisionedWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Information about item collections, if any, that were affected by the operation.
|
||
// ItemCollectionMetrics is only returned if the request asked for it. If the
|
||
// table does not have any local secondary indexes, this information is not
|
||
// returned in the response.
|
||
type ItemCollectionMetrics struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The partition key value of the item collection. This value is the same as
|
||
// the partition key value of the item.
|
||
ItemCollectionKey map[string]*AttributeValue `type:"map"`
|
||
|
||
// An estimate of item collection size, in gigabytes. This value is a two-element
|
||
// array containing a lower bound and an upper bound for the estimate. The estimate
|
||
// includes the size of all the items in the table, plus the size of all attributes
|
||
// projected into all of the local secondary indexes on that table. Use this
|
||
// estimate to measure whether a local secondary index is approaching its size
|
||
// limit.
|
||
//
|
||
// The estimate is subject to change over time; therefore, do not rely on the
|
||
// precision or accuracy of the estimate.
|
||
SizeEstimateRangeGB []*float64 `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ItemCollectionMetrics) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ItemCollectionMetrics) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetItemCollectionKey sets the ItemCollectionKey field's value.
|
||
func (s *ItemCollectionMetrics) SetItemCollectionKey(v map[string]*AttributeValue) *ItemCollectionMetrics {
|
||
s.ItemCollectionKey = v
|
||
return s
|
||
}
|
||
|
||
// SetSizeEstimateRangeGB sets the SizeEstimateRangeGB field's value.
|
||
func (s *ItemCollectionMetrics) SetSizeEstimateRangeGB(v []*float64) *ItemCollectionMetrics {
|
||
s.SizeEstimateRangeGB = v
|
||
return s
|
||
}
|
||
|
||
// Details for the requested item.
|
||
type ItemResponse struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Map of attribute data consisting of the data type and attribute value.
|
||
Item map[string]*AttributeValue `type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ItemResponse) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ItemResponse) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *ItemResponse) SetItem(v map[string]*AttributeValue) *ItemResponse {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// Represents a single element of a key schema. A key schema specifies the attributes
|
||
// that make up the primary key of a table, or the key attributes of an index.
|
||
//
|
||
// A KeySchemaElement represents exactly one attribute of the primary key. For
|
||
// example, a simple primary key would be represented by one KeySchemaElement
|
||
// (for the partition key). A composite primary key would require one KeySchemaElement
|
||
// for the partition key, and another KeySchemaElement for the sort key.
|
||
//
|
||
// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
|
||
// The data type must be one of String, Number, or Binary. The attribute cannot
|
||
// be nested within a List or a Map.
|
||
type KeySchemaElement struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of a key attribute.
|
||
//
|
||
// AttributeName is a required field
|
||
AttributeName *string `min:"1" type:"string" required:"true"`
|
||
|
||
// The role that this key attribute will assume:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
//
|
||
// KeyType is a required field
|
||
KeyType *string `type:"string" required:"true" enum:"KeyType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s KeySchemaElement) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s KeySchemaElement) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *KeySchemaElement) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "KeySchemaElement"}
|
||
if s.AttributeName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("AttributeName"))
|
||
}
|
||
if s.AttributeName != nil && len(*s.AttributeName) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
|
||
}
|
||
if s.KeyType == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("KeyType"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeName sets the AttributeName field's value.
|
||
func (s *KeySchemaElement) SetAttributeName(v string) *KeySchemaElement {
|
||
s.AttributeName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeyType sets the KeyType field's value.
|
||
func (s *KeySchemaElement) SetKeyType(v string) *KeySchemaElement {
|
||
s.KeyType = &v
|
||
return s
|
||
}
|
||
|
||
// Represents a set of primary keys and, for each key, the attributes to retrieve
|
||
// from the table.
|
||
//
|
||
// For each primary key, you must provide all of the key attributes. For example,
|
||
// with a simple primary key, you only need to provide the partition key. For
|
||
// a composite primary key, you must provide both the partition key and the
|
||
// sort key.
|
||
type KeysAndAttributes struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// This is a legacy parameter. Use ProjectionExpression instead. For more information,
|
||
// see Legacy Conditional Parameters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributesToGet []*string `min:"1" type:"list"`
|
||
|
||
// The consistency of a read operation. If set to true, then a strongly consistent
|
||
// read is used; otherwise, an eventually consistent read is used.
|
||
ConsistentRead *bool `type:"boolean"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// The primary key attribute values that define the items and the attributes
|
||
// associated with the items.
|
||
//
|
||
// Keys is a required field
|
||
Keys []map[string]*AttributeValue `min:"1" type:"list" required:"true"`
|
||
|
||
// A string that identifies one or more attributes to retrieve from the table.
|
||
// These attributes can include scalars, sets, or elements of a JSON document.
|
||
// The attributes in the ProjectionExpression must be separated by commas.
|
||
//
|
||
// If no attribute names are specified, then all attributes will be returned.
|
||
// If any of the requested attributes are not found, they will not appear in
|
||
// the result.
|
||
//
|
||
// For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProjectionExpression *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s KeysAndAttributes) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s KeysAndAttributes) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *KeysAndAttributes) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "KeysAndAttributes"}
|
||
if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
|
||
}
|
||
if s.Keys == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Keys"))
|
||
}
|
||
if s.Keys != nil && len(s.Keys) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("Keys", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributesToGet sets the AttributesToGet field's value.
|
||
func (s *KeysAndAttributes) SetAttributesToGet(v []*string) *KeysAndAttributes {
|
||
s.AttributesToGet = v
|
||
return s
|
||
}
|
||
|
||
// SetConsistentRead sets the ConsistentRead field's value.
|
||
func (s *KeysAndAttributes) SetConsistentRead(v bool) *KeysAndAttributes {
|
||
s.ConsistentRead = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *KeysAndAttributes) SetExpressionAttributeNames(v map[string]*string) *KeysAndAttributes {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetKeys sets the Keys field's value.
|
||
func (s *KeysAndAttributes) SetKeys(v []map[string]*AttributeValue) *KeysAndAttributes {
|
||
s.Keys = v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionExpression sets the ProjectionExpression field's value.
|
||
func (s *KeysAndAttributes) SetProjectionExpression(v string) *KeysAndAttributes {
|
||
s.ProjectionExpression = &v
|
||
return s
|
||
}
|
||
|
||
type ListBackupsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The backups from the table specified by BackupType are listed.
|
||
//
|
||
// Where BackupType can be:
|
||
//
|
||
// * USER - On-demand backup created by you.
|
||
//
|
||
// * SYSTEM - On-demand backup automatically created by DynamoDB.
|
||
//
|
||
// * ALL - All types of on-demand backups (USER and SYSTEM).
|
||
BackupType *string `type:"string" enum:"BackupTypeFilter"`
|
||
|
||
// LastEvaluatedBackupArn is the ARN of the backup last evaluated when the current
|
||
// page of results was returned, inclusive of the current page of results. This
|
||
// value may be specified as the ExclusiveStartBackupArn of a new ListBackups
|
||
// operation in order to fetch the next page of results.
|
||
ExclusiveStartBackupArn *string `min:"37" type:"string"`
|
||
|
||
// Maximum number of backups to return at once.
|
||
Limit *int64 `min:"1" type:"integer"`
|
||
|
||
// The backups from the table specified by TableName are listed.
|
||
TableName *string `min:"3" type:"string"`
|
||
|
||
// Only backups created after this time are listed. TimeRangeLowerBound is inclusive.
|
||
TimeRangeLowerBound *time.Time `type:"timestamp"`
|
||
|
||
// Only backups created before this time are listed. TimeRangeUpperBound is
|
||
// exclusive.
|
||
TimeRangeUpperBound *time.Time `type:"timestamp"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListBackupsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListBackupsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ListBackupsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ListBackupsInput"}
|
||
if s.ExclusiveStartBackupArn != nil && len(*s.ExclusiveStartBackupArn) < 37 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartBackupArn", 37))
|
||
}
|
||
if s.Limit != nil && *s.Limit < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetBackupType sets the BackupType field's value.
|
||
func (s *ListBackupsInput) SetBackupType(v string) *ListBackupsInput {
|
||
s.BackupType = &v
|
||
return s
|
||
}
|
||
|
||
// SetExclusiveStartBackupArn sets the ExclusiveStartBackupArn field's value.
|
||
func (s *ListBackupsInput) SetExclusiveStartBackupArn(v string) *ListBackupsInput {
|
||
s.ExclusiveStartBackupArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetLimit sets the Limit field's value.
|
||
func (s *ListBackupsInput) SetLimit(v int64) *ListBackupsInput {
|
||
s.Limit = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *ListBackupsInput) SetTableName(v string) *ListBackupsInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimeRangeLowerBound sets the TimeRangeLowerBound field's value.
|
||
func (s *ListBackupsInput) SetTimeRangeLowerBound(v time.Time) *ListBackupsInput {
|
||
s.TimeRangeLowerBound = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimeRangeUpperBound sets the TimeRangeUpperBound field's value.
|
||
func (s *ListBackupsInput) SetTimeRangeUpperBound(v time.Time) *ListBackupsInput {
|
||
s.TimeRangeUpperBound = &v
|
||
return s
|
||
}
|
||
|
||
type ListBackupsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// List of BackupSummary objects.
|
||
BackupSummaries []*BackupSummary `type:"list"`
|
||
|
||
// The ARN of the backup last evaluated when the current page of results was
|
||
// returned, inclusive of the current page of results. This value may be specified
|
||
// as the ExclusiveStartBackupArn of a new ListBackups operation in order to
|
||
// fetch the next page of results.
|
||
//
|
||
// If LastEvaluatedBackupArn is empty, then the last page of results has been
|
||
// processed and there are no more results to be retrieved.
|
||
//
|
||
// If LastEvaluatedBackupArn is not empty, this may or may not indicate there
|
||
// is more data to be returned. All results are guaranteed to have been returned
|
||
// if and only if no value for LastEvaluatedBackupArn is returned.
|
||
LastEvaluatedBackupArn *string `min:"37" type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListBackupsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListBackupsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBackupSummaries sets the BackupSummaries field's value.
|
||
func (s *ListBackupsOutput) SetBackupSummaries(v []*BackupSummary) *ListBackupsOutput {
|
||
s.BackupSummaries = v
|
||
return s
|
||
}
|
||
|
||
// SetLastEvaluatedBackupArn sets the LastEvaluatedBackupArn field's value.
|
||
func (s *ListBackupsOutput) SetLastEvaluatedBackupArn(v string) *ListBackupsOutput {
|
||
s.LastEvaluatedBackupArn = &v
|
||
return s
|
||
}
|
||
|
||
type ListGlobalTablesInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The first global table name that this operation will evaluate.
|
||
ExclusiveStartGlobalTableName *string `min:"3" type:"string"`
|
||
|
||
// The maximum number of table names to return.
|
||
Limit *int64 `min:"1" type:"integer"`
|
||
|
||
// Lists the global tables in a specific region.
|
||
RegionName *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListGlobalTablesInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListGlobalTablesInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ListGlobalTablesInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ListGlobalTablesInput"}
|
||
if s.ExclusiveStartGlobalTableName != nil && len(*s.ExclusiveStartGlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartGlobalTableName", 3))
|
||
}
|
||
if s.Limit != nil && *s.Limit < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetExclusiveStartGlobalTableName sets the ExclusiveStartGlobalTableName field's value.
|
||
func (s *ListGlobalTablesInput) SetExclusiveStartGlobalTableName(v string) *ListGlobalTablesInput {
|
||
s.ExclusiveStartGlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetLimit sets the Limit field's value.
|
||
func (s *ListGlobalTablesInput) SetLimit(v int64) *ListGlobalTablesInput {
|
||
s.Limit = &v
|
||
return s
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *ListGlobalTablesInput) SetRegionName(v string) *ListGlobalTablesInput {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
type ListGlobalTablesOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// List of global table names.
|
||
GlobalTables []*GlobalTable `type:"list"`
|
||
|
||
// Last evaluated global table name.
|
||
LastEvaluatedGlobalTableName *string `min:"3" type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListGlobalTablesOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListGlobalTablesOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTables sets the GlobalTables field's value.
|
||
func (s *ListGlobalTablesOutput) SetGlobalTables(v []*GlobalTable) *ListGlobalTablesOutput {
|
||
s.GlobalTables = v
|
||
return s
|
||
}
|
||
|
||
// SetLastEvaluatedGlobalTableName sets the LastEvaluatedGlobalTableName field's value.
|
||
func (s *ListGlobalTablesOutput) SetLastEvaluatedGlobalTableName(v string) *ListGlobalTablesOutput {
|
||
s.LastEvaluatedGlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a ListTables operation.
|
||
type ListTablesInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The first table name that this operation will evaluate. Use the value that
|
||
// was returned for LastEvaluatedTableName in a previous operation, so that
|
||
// you can obtain the next page of results.
|
||
ExclusiveStartTableName *string `min:"3" type:"string"`
|
||
|
||
// A maximum number of table names to return. If this parameter is not specified,
|
||
// the limit is 100.
|
||
Limit *int64 `min:"1" type:"integer"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListTablesInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListTablesInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ListTablesInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"}
|
||
if s.ExclusiveStartTableName != nil && len(*s.ExclusiveStartTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTableName", 3))
|
||
}
|
||
if s.Limit != nil && *s.Limit < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetExclusiveStartTableName sets the ExclusiveStartTableName field's value.
|
||
func (s *ListTablesInput) SetExclusiveStartTableName(v string) *ListTablesInput {
|
||
s.ExclusiveStartTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetLimit sets the Limit field's value.
|
||
func (s *ListTablesInput) SetLimit(v int64) *ListTablesInput {
|
||
s.Limit = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a ListTables operation.
|
||
type ListTablesOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the last table in the current page of results. Use this value
|
||
// as the ExclusiveStartTableName in a new request to obtain the next page of
|
||
// results, until all the table names are returned.
|
||
//
|
||
// If you do not receive a LastEvaluatedTableName value in the response, this
|
||
// means that there are no more table names to be retrieved.
|
||
LastEvaluatedTableName *string `min:"3" type:"string"`
|
||
|
||
// The names of the tables associated with the current account at the current
|
||
// endpoint. The maximum size of this array is 100.
|
||
//
|
||
// If LastEvaluatedTableName also appears in the output, you can use this value
|
||
// as the ExclusiveStartTableName parameter in a subsequent ListTables request
|
||
// and obtain the next page of results.
|
||
TableNames []*string `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListTablesOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListTablesOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetLastEvaluatedTableName sets the LastEvaluatedTableName field's value.
|
||
func (s *ListTablesOutput) SetLastEvaluatedTableName(v string) *ListTablesOutput {
|
||
s.LastEvaluatedTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableNames sets the TableNames field's value.
|
||
func (s *ListTablesOutput) SetTableNames(v []*string) *ListTablesOutput {
|
||
s.TableNames = v
|
||
return s
|
||
}
|
||
|
||
type ListTagsOfResourceInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// An optional string that, if supplied, must be copied from the output of a
|
||
// previous call to ListTagOfResource. When provided in this manner, this API
|
||
// fetches the next page of results.
|
||
NextToken *string `type:"string"`
|
||
|
||
// The Amazon DynamoDB resource with tags to be listed. This value is an Amazon
|
||
// Resource Name (ARN).
|
||
//
|
||
// ResourceArn is a required field
|
||
ResourceArn *string `min:"1" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListTagsOfResourceInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListTagsOfResourceInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ListTagsOfResourceInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ListTagsOfResourceInput"}
|
||
if s.ResourceArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
|
||
}
|
||
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetNextToken sets the NextToken field's value.
|
||
func (s *ListTagsOfResourceInput) SetNextToken(v string) *ListTagsOfResourceInput {
|
||
s.NextToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetResourceArn sets the ResourceArn field's value.
|
||
func (s *ListTagsOfResourceInput) SetResourceArn(v string) *ListTagsOfResourceInput {
|
||
s.ResourceArn = &v
|
||
return s
|
||
}
|
||
|
||
type ListTagsOfResourceOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// If this value is returned, there are additional results to be displayed.
|
||
// To retrieve them, call ListTagsOfResource again, with NextToken set to this
|
||
// value.
|
||
NextToken *string `type:"string"`
|
||
|
||
// The tags currently associated with the Amazon DynamoDB resource.
|
||
Tags []*Tag `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ListTagsOfResourceOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ListTagsOfResourceOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetNextToken sets the NextToken field's value.
|
||
func (s *ListTagsOfResourceOutput) SetNextToken(v string) *ListTagsOfResourceOutput {
|
||
s.NextToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetTags sets the Tags field's value.
|
||
func (s *ListTagsOfResourceOutput) SetTags(v []*Tag) *ListTagsOfResourceOutput {
|
||
s.Tags = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a local secondary index.
|
||
type LocalSecondaryIndex struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the local secondary index. The name must be unique among all
|
||
// other indexes on this table.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The complete key schema for the local secondary index, consisting of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
//
|
||
// KeySchema is a required field
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// local secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
//
|
||
// Projection is a required field
|
||
Projection *Projection `type:"structure" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s LocalSecondaryIndex) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s LocalSecondaryIndex) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *LocalSecondaryIndex) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "LocalSecondaryIndex"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.KeySchema == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("KeySchema"))
|
||
}
|
||
if s.KeySchema != nil && len(s.KeySchema) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
|
||
}
|
||
if s.Projection == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Projection"))
|
||
}
|
||
if s.KeySchema != nil {
|
||
for i, v := range s.KeySchema {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.Projection != nil {
|
||
if err := s.Projection.Validate(); err != nil {
|
||
invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *LocalSecondaryIndex) SetIndexName(v string) *LocalSecondaryIndex {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *LocalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndex {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *LocalSecondaryIndex) SetProjection(v *Projection) *LocalSecondaryIndex {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a local secondary index.
|
||
type LocalSecondaryIndexDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The Amazon Resource Name (ARN) that uniquely identifies the index.
|
||
IndexArn *string `type:"string"`
|
||
|
||
// Represents the name of the local secondary index.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The total size of the specified index, in bytes. DynamoDB updates this value
|
||
// approximately every six hours. Recent changes might not be reflected in this
|
||
// value.
|
||
IndexSizeBytes *int64 `type:"long"`
|
||
|
||
// The number of items in the specified index. DynamoDB updates this value approximately
|
||
// every six hours. Recent changes might not be reflected in this value.
|
||
ItemCount *int64 `type:"long"`
|
||
|
||
// The complete key schema for the local secondary index, consisting of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// global secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
Projection *Projection `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s LocalSecondaryIndexDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s LocalSecondaryIndexDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetIndexArn sets the IndexArn field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetIndexArn(v string) *LocalSecondaryIndexDescription {
|
||
s.IndexArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetIndexName(v string) *LocalSecondaryIndexDescription {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexSizeBytes sets the IndexSizeBytes field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *LocalSecondaryIndexDescription {
|
||
s.IndexSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// SetItemCount sets the ItemCount field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetItemCount(v int64) *LocalSecondaryIndexDescription {
|
||
s.ItemCount = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexDescription {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *LocalSecondaryIndexDescription) SetProjection(v *Projection) *LocalSecondaryIndexDescription {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a local secondary index for the table when the
|
||
// backup was created.
|
||
type LocalSecondaryIndexInfo struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the name of the local secondary index.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The complete key schema for a local secondary index, which consists of one
|
||
// or more pairs of attribute names and key types:
|
||
//
|
||
// * HASH - partition key
|
||
//
|
||
// * RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list"`
|
||
|
||
// Represents attributes that are copied (projected) from the table into the
|
||
// global secondary index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected.
|
||
Projection *Projection `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s LocalSecondaryIndexInfo) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s LocalSecondaryIndexInfo) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *LocalSecondaryIndexInfo) SetIndexName(v string) *LocalSecondaryIndexInfo {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *LocalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexInfo {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProjection sets the Projection field's value.
|
||
func (s *LocalSecondaryIndexInfo) SetProjection(v *Projection) *LocalSecondaryIndexInfo {
|
||
s.Projection = v
|
||
return s
|
||
}
|
||
|
||
// The description of the point in time settings applied to the table.
|
||
type PointInTimeRecoveryDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Specifies the earliest point in time you can restore your table to. It You
|
||
// can restore your table to any point in time during the last 35 days.
|
||
EarliestRestorableDateTime *time.Time `type:"timestamp"`
|
||
|
||
// LatestRestorableDateTime is typically 5 minutes before the current time.
|
||
LatestRestorableDateTime *time.Time `type:"timestamp"`
|
||
|
||
// The current state of point in time recovery:
|
||
//
|
||
// * ENABLING - Point in time recovery is being enabled.
|
||
//
|
||
// * ENABLED - Point in time recovery is enabled.
|
||
//
|
||
// * DISABLED - Point in time recovery is disabled.
|
||
PointInTimeRecoveryStatus *string `type:"string" enum:"PointInTimeRecoveryStatus"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s PointInTimeRecoveryDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s PointInTimeRecoveryDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEarliestRestorableDateTime sets the EarliestRestorableDateTime field's value.
|
||
func (s *PointInTimeRecoveryDescription) SetEarliestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription {
|
||
s.EarliestRestorableDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetLatestRestorableDateTime sets the LatestRestorableDateTime field's value.
|
||
func (s *PointInTimeRecoveryDescription) SetLatestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription {
|
||
s.LatestRestorableDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetPointInTimeRecoveryStatus sets the PointInTimeRecoveryStatus field's value.
|
||
func (s *PointInTimeRecoveryDescription) SetPointInTimeRecoveryStatus(v string) *PointInTimeRecoveryDescription {
|
||
s.PointInTimeRecoveryStatus = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings used to enable point in time recovery.
|
||
type PointInTimeRecoverySpecification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether point in time recovery is enabled (true) or disabled (false)
|
||
// on the table.
|
||
//
|
||
// PointInTimeRecoveryEnabled is a required field
|
||
PointInTimeRecoveryEnabled *bool `type:"boolean" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s PointInTimeRecoverySpecification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s PointInTimeRecoverySpecification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *PointInTimeRecoverySpecification) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "PointInTimeRecoverySpecification"}
|
||
if s.PointInTimeRecoveryEnabled == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoveryEnabled"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetPointInTimeRecoveryEnabled sets the PointInTimeRecoveryEnabled field's value.
|
||
func (s *PointInTimeRecoverySpecification) SetPointInTimeRecoveryEnabled(v bool) *PointInTimeRecoverySpecification {
|
||
s.PointInTimeRecoveryEnabled = &v
|
||
return s
|
||
}
|
||
|
||
// Represents attributes that are copied (projected) from the table into an
|
||
// index. These are in addition to the primary key attributes and index key
|
||
// attributes, which are automatically projected.
|
||
type Projection struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the non-key attribute names which will be projected into the index.
|
||
//
|
||
// For local secondary indexes, the total count of NonKeyAttributes summed across
|
||
// all of the local secondary indexes, must not exceed 20. If you project the
|
||
// same attribute into two different indexes, this counts as two distinct attributes
|
||
// when determining the total.
|
||
NonKeyAttributes []*string `min:"1" type:"list"`
|
||
|
||
// The set of attributes that are projected into the index:
|
||
//
|
||
// * KEYS_ONLY - Only the index and primary keys are projected into the index.
|
||
//
|
||
// * INCLUDE - Only the specified table attributes are projected into the
|
||
// index. The list of projected attributes are in NonKeyAttributes.
|
||
//
|
||
// * ALL - All of the table attributes are projected into the index.
|
||
ProjectionType *string `type:"string" enum:"ProjectionType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Projection) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Projection) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Projection) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Projection"}
|
||
if s.NonKeyAttributes != nil && len(s.NonKeyAttributes) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("NonKeyAttributes", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetNonKeyAttributes sets the NonKeyAttributes field's value.
|
||
func (s *Projection) SetNonKeyAttributes(v []*string) *Projection {
|
||
s.NonKeyAttributes = v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionType sets the ProjectionType field's value.
|
||
func (s *Projection) SetProjectionType(v string) *Projection {
|
||
s.ProjectionType = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the provisioned throughput settings for a specified table or index.
|
||
// The settings can be modified using the UpdateTable operation.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
type ProvisionedThroughput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException. For more information, see Specifying
|
||
// Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.
|
||
//
|
||
// ReadCapacityUnits is a required field
|
||
ReadCapacityUnits *int64 `min:"1" type:"long" required:"true"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException. For more information, see Specifying Read and Write
|
||
// Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.
|
||
//
|
||
// WriteCapacityUnits is a required field
|
||
WriteCapacityUnits *int64 `min:"1" type:"long" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ProvisionedThroughput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ProvisionedThroughput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ProvisionedThroughput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughput"}
|
||
if s.ReadCapacityUnits == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ReadCapacityUnits"))
|
||
}
|
||
if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1))
|
||
}
|
||
if s.WriteCapacityUnits == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("WriteCapacityUnits"))
|
||
}
|
||
if s.WriteCapacityUnits != nil && *s.WriteCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("WriteCapacityUnits", 1))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
|
||
func (s *ProvisionedThroughput) SetReadCapacityUnits(v int64) *ProvisionedThroughput {
|
||
s.ReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
|
||
func (s *ProvisionedThroughput) SetWriteCapacityUnits(v int64) *ProvisionedThroughput {
|
||
s.WriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the provisioned throughput settings for the table, consisting
|
||
// of read and write capacity units, along with data about increases and decreases.
|
||
type ProvisionedThroughputDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The date and time of the last provisioned throughput decrease for this table.
|
||
LastDecreaseDateTime *time.Time `type:"timestamp"`
|
||
|
||
// The date and time of the last provisioned throughput increase for this table.
|
||
LastIncreaseDateTime *time.Time `type:"timestamp"`
|
||
|
||
// The number of provisioned throughput decreases for this table during this
|
||
// UTC calendar day. For current maximums on provisioned throughput decreases,
|
||
// see Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
NumberOfDecreasesToday *int64 `min:"1" type:"long"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException. Eventually consistent reads require
|
||
// less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits
|
||
// per second provides 100 eventually consistent ReadCapacityUnits per second.
|
||
ReadCapacityUnits *int64 `type:"long"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException.
|
||
WriteCapacityUnits *int64 `type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ProvisionedThroughputDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ProvisionedThroughputDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
|
||
func (s *ProvisionedThroughputDescription) SetLastDecreaseDateTime(v time.Time) *ProvisionedThroughputDescription {
|
||
s.LastDecreaseDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
|
||
func (s *ProvisionedThroughputDescription) SetLastIncreaseDateTime(v time.Time) *ProvisionedThroughputDescription {
|
||
s.LastIncreaseDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
|
||
func (s *ProvisionedThroughputDescription) SetNumberOfDecreasesToday(v int64) *ProvisionedThroughputDescription {
|
||
s.NumberOfDecreasesToday = &v
|
||
return s
|
||
}
|
||
|
||
// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
|
||
func (s *ProvisionedThroughputDescription) SetReadCapacityUnits(v int64) *ProvisionedThroughputDescription {
|
||
s.ReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
|
||
func (s *ProvisionedThroughputDescription) SetWriteCapacityUnits(v int64) *ProvisionedThroughputDescription {
|
||
s.WriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents a request to perform a PutItem operation.
|
||
type Put struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional update to succeed.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// A map of attribute name to attribute values, representing the primary key
|
||
// of the item to be written by PutItem. All of the table's primary key attributes
|
||
// must be specified, and their data types must match those of the table's key
|
||
// schema. If any attributes are present in the item that are part of an index
|
||
// key schema for the table, their types must match the index key schema.
|
||
//
|
||
// Item is a required field
|
||
Item map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
|
||
// Put condition fails. For ReturnValuesOnConditionCheckFailure, the valid values
|
||
// are: NONE and ALL_OLD.
|
||
ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
|
||
|
||
// Name of the table in which to write the item.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Put) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Put) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Put) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Put"}
|
||
if s.Item == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Item"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *Put) SetConditionExpression(v string) *Put {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *Put) SetExpressionAttributeNames(v map[string]*string) *Put {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *Put) SetExpressionAttributeValues(v map[string]*AttributeValue) *Put {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *Put) SetItem(v map[string]*AttributeValue) *Put {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
|
||
func (s *Put) SetReturnValuesOnConditionCheckFailure(v string) *Put {
|
||
s.ReturnValuesOnConditionCheckFailure = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *Put) SetTableName(v string) *Put {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a PutItem operation.
|
||
type PutItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional PutItem operation
|
||
// to succeed.
|
||
//
|
||
// An expression can contain any of the following:
|
||
//
|
||
// * Functions: attribute_exists | attribute_not_exists | attribute_type
|
||
// | contains | begins_with | size
|
||
//
|
||
// These function names are case-sensitive.
|
||
//
|
||
// * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
|
||
//
|
||
// * Logical operators: AND | OR | NOT
|
||
//
|
||
// For more information on condition expressions, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Expected map[string]*ExpectedAttributeValue `type:"map"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
//
|
||
// Use the : (colon) character in an expression to dereference an attribute
|
||
// value. For example, suppose that you wanted to check whether the value of
|
||
// the ProductStatus attribute was one of the following:
|
||
//
|
||
// Available | Backordered | Discontinued
|
||
//
|
||
// You would first need to specify ExpressionAttributeValues as follows:
|
||
//
|
||
// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
|
||
// }
|
||
//
|
||
// You could then use these values in an expression, such as this:
|
||
//
|
||
// ProductStatus IN (:avail, :back, :disc)
|
||
//
|
||
// For more information on expression attribute values, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// A map of attribute name/value pairs, one for each attribute. Only the primary
|
||
// key attributes are required; you can optionally provide other attribute name-value
|
||
// pairs for the item.
|
||
//
|
||
// You must provide all of the attributes for the primary key. For example,
|
||
// with a simple primary key, you only need to provide a value for the partition
|
||
// key. For a composite primary key, you must provide both values for both the
|
||
// partition key and the sort key.
|
||
//
|
||
// If you specify any attributes that are part of an index key, then the data
|
||
// types for those attributes must match those of the schema in the table's
|
||
// attribute definition.
|
||
//
|
||
// For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// Each element in the Item map is an AttributeValue object.
|
||
//
|
||
// Item is a required field
|
||
Item map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Determines whether item collection metrics are returned. If set to SIZE,
|
||
// the response includes statistics about item collections, if any, that were
|
||
// modified during the operation are returned in the response. If set to NONE
|
||
// (the default), no statistics are returned.
|
||
ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
|
||
|
||
// Use ReturnValues if you want to get the item attributes as they appeared
|
||
// before they were updated with the PutItem request. For PutItem, the valid
|
||
// values are:
|
||
//
|
||
// * NONE - If ReturnValues is not specified, or if its value is NONE, then
|
||
// nothing is returned. (This setting is the default for ReturnValues.)
|
||
//
|
||
// * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the
|
||
// content of the old item is returned.
|
||
//
|
||
// The ReturnValues parameter is used by several DynamoDB operations; however,
|
||
// PutItem does not recognize any values other than NONE or ALL_OLD.
|
||
ReturnValues *string `type:"string" enum:"ReturnValue"`
|
||
|
||
// The name of the table to contain the item.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s PutItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s PutItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *PutItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "PutItemInput"}
|
||
if s.Item == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Item"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *PutItemInput) SetConditionExpression(v string) *PutItemInput {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetConditionalOperator sets the ConditionalOperator field's value.
|
||
func (s *PutItemInput) SetConditionalOperator(v string) *PutItemInput {
|
||
s.ConditionalOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpected sets the Expected field's value.
|
||
func (s *PutItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *PutItemInput {
|
||
s.Expected = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *PutItemInput) SetExpressionAttributeNames(v map[string]*string) *PutItemInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *PutItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *PutItemInput {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *PutItemInput) SetItem(v map[string]*AttributeValue) *PutItemInput {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *PutItemInput) SetReturnConsumedCapacity(v string) *PutItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
|
||
func (s *PutItemInput) SetReturnItemCollectionMetrics(v string) *PutItemInput {
|
||
s.ReturnItemCollectionMetrics = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValues sets the ReturnValues field's value.
|
||
func (s *PutItemInput) SetReturnValues(v string) *PutItemInput {
|
||
s.ReturnValues = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *PutItemInput) SetTableName(v string) *PutItemInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a PutItem operation.
|
||
type PutItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The attribute values as they appeared before the PutItem operation, but only
|
||
// if ReturnValues is specified as ALL_OLD in the request. Each element consists
|
||
// of an attribute name and an attribute value.
|
||
Attributes map[string]*AttributeValue `type:"map"`
|
||
|
||
// The capacity units consumed by the PutItem operation. The data returned includes
|
||
// the total provisioned throughput consumed, along with statistics for the
|
||
// table and any indexes involved in the operation. ConsumedCapacity is only
|
||
// returned if the ReturnConsumedCapacity parameter was specified. For more
|
||
// information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// Information about item collections, if any, that were affected by the PutItem
|
||
// operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
|
||
// parameter was specified. If the table does not have any local secondary indexes,
|
||
// this information is not returned in the response.
|
||
//
|
||
// Each ItemCollectionMetrics element consists of:
|
||
//
|
||
// * ItemCollectionKey - The partition key value of the item collection.
|
||
// This is the same as the partition key value of the item itself.
|
||
//
|
||
// * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
|
||
// This value is a two-element array containing a lower bound and an upper
|
||
// bound for the estimate. The estimate includes the size of all the items
|
||
// in the table, plus the size of all attributes projected into all of the
|
||
// local secondary indexes on that table. Use this estimate to measure whether
|
||
// a local secondary index is approaching its size limit.
|
||
//
|
||
// The estimate is subject to change over time; therefore, do not rely on the
|
||
// precision or accuracy of the estimate.
|
||
ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s PutItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s PutItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *PutItemOutput) SetAttributes(v map[string]*AttributeValue) *PutItemOutput {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *PutItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *PutItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
|
||
func (s *PutItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *PutItemOutput {
|
||
s.ItemCollectionMetrics = v
|
||
return s
|
||
}
|
||
|
||
// Represents a request to perform a PutItem operation on an item.
|
||
type PutRequest struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of attribute name to attribute values, representing the primary key
|
||
// of an item to be processed by PutItem. All of the table's primary key attributes
|
||
// must be specified, and their data types must match those of the table's key
|
||
// schema. If any attributes are present in the item which are part of an index
|
||
// key schema for the table, their types must match the index key schema.
|
||
//
|
||
// Item is a required field
|
||
Item map[string]*AttributeValue `type:"map" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s PutRequest) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s PutRequest) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetItem sets the Item field's value.
|
||
func (s *PutRequest) SetItem(v map[string]*AttributeValue) *PutRequest {
|
||
s.Item = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a Query operation.
|
||
type QueryInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// This is a legacy parameter. Use ProjectionExpression instead. For more information,
|
||
// see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributesToGet []*string `min:"1" type:"list"`
|
||
|
||
// This is a legacy parameter. Use FilterExpression instead. For more information,
|
||
// see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
|
||
|
||
// Determines the read consistency model: If set to true, then the operation
|
||
// uses strongly consistent reads; otherwise, the operation uses eventually
|
||
// consistent reads.
|
||
//
|
||
// Strongly consistent reads are not supported on global secondary indexes.
|
||
// If you query a global secondary index with ConsistentRead set to true, you
|
||
// will receive a ValidationException.
|
||
ConsistentRead *bool `type:"boolean"`
|
||
|
||
// The primary key of the first item that this operation will evaluate. Use
|
||
// the value that was returned for LastEvaluatedKey in the previous operation.
|
||
//
|
||
// The data type for ExclusiveStartKey must be String, Number or Binary. No
|
||
// set data types are allowed.
|
||
ExclusiveStartKey map[string]*AttributeValue `type:"map"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
//
|
||
// Use the : (colon) character in an expression to dereference an attribute
|
||
// value. For example, suppose that you wanted to check whether the value of
|
||
// the ProductStatus attribute was one of the following:
|
||
//
|
||
// Available | Backordered | Discontinued
|
||
//
|
||
// You would first need to specify ExpressionAttributeValues as follows:
|
||
//
|
||
// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
|
||
// }
|
||
//
|
||
// You could then use these values in an expression, such as this:
|
||
//
|
||
// ProductStatus IN (:avail, :back, :disc)
|
||
//
|
||
// For more information on expression attribute values, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// A string that contains conditions that DynamoDB applies after the Query operation,
|
||
// but before the data is returned to you. Items that do not satisfy the FilterExpression
|
||
// criteria are not returned.
|
||
//
|
||
// A FilterExpression does not allow key attributes. You cannot define a filter
|
||
// expression based on a partition key or a sort key.
|
||
//
|
||
// A FilterExpression is applied after the items have already been read; the
|
||
// process of filtering does not consume any additional read capacity units.
|
||
//
|
||
// For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
FilterExpression *string `type:"string"`
|
||
|
||
// The name of an index to query. This index can be any local secondary index
|
||
// or global secondary index on the table. Note that if you use the IndexName
|
||
// parameter, you must also provide TableName.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The condition that specifies the key value(s) for items to be retrieved by
|
||
// the Query action.
|
||
//
|
||
// The condition must perform an equality test on a single partition key value.
|
||
//
|
||
// The condition can optionally perform one of several comparison tests on a
|
||
// single sort key value. This allows Query to retrieve one item with a given
|
||
// partition key value and sort key value, or several items that have the same
|
||
// partition key value but different sort key values.
|
||
//
|
||
// The partition key equality test is required, and must be specified in the
|
||
// following format:
|
||
//
|
||
// partitionKeyName=:partitionkeyval
|
||
//
|
||
// If you also want to provide a condition for the sort key, it must be combined
|
||
// using AND with the condition for the sort key. Following is an example, using
|
||
// the = comparison operator for the sort key:
|
||
//
|
||
// partitionKeyName=:partitionkeyvalANDsortKeyName=:sortkeyval
|
||
//
|
||
// Valid comparisons for the sort key condition are as follows:
|
||
//
|
||
// * sortKeyName=:sortkeyval - true if the sort key value is equal to :sortkeyval.
|
||
//
|
||
// * sortKeyName<:sortkeyval - true if the sort key value is less than :sortkeyval.
|
||
//
|
||
// * sortKeyName<=:sortkeyval - true if the sort key value is less than or
|
||
// equal to :sortkeyval.
|
||
//
|
||
// * sortKeyName>:sortkeyval - true if the sort key value is greater than
|
||
// :sortkeyval.
|
||
//
|
||
// * sortKeyName>= :sortkeyval - true if the sort key value is greater than
|
||
// or equal to :sortkeyval.
|
||
//
|
||
// * sortKeyNameBETWEEN:sortkeyval1AND:sortkeyval2 - true if the sort key
|
||
// value is greater than or equal to :sortkeyval1, and less than or equal
|
||
// to :sortkeyval2.
|
||
//
|
||
// * begins_with (sortKeyName, :sortkeyval) - true if the sort key value
|
||
// begins with a particular operand. (You cannot use this function with a
|
||
// sort key that is of type Number.) Note that the function name begins_with
|
||
// is case-sensitive.
|
||
//
|
||
// Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval
|
||
// and :sortval with actual values at runtime.
|
||
//
|
||
// You can optionally use the ExpressionAttributeNames parameter to replace
|
||
// the names of the partition key and sort key with placeholder tokens. This
|
||
// option might be necessary if an attribute name conflicts with a DynamoDB
|
||
// reserved word. For example, the following KeyConditionExpression parameter
|
||
// causes an error because Size is a reserved word:
|
||
//
|
||
// * Size = :myval
|
||
//
|
||
// To work around this, define a placeholder (such a #S) to represent the attribute
|
||
// name Size. KeyConditionExpression then is as follows:
|
||
//
|
||
// * #S = :myval
|
||
//
|
||
// For a list of reserved words, see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// For more information on ExpressionAttributeNames and ExpressionAttributeValues,
|
||
// see Using Placeholders for Attribute Names and Values (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
KeyConditionExpression *string `type:"string"`
|
||
|
||
// This is a legacy parameter. Use KeyConditionExpression instead. For more
|
||
// information, see KeyConditions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
KeyConditions map[string]*Condition `type:"map"`
|
||
|
||
// The maximum number of items to evaluate (not necessarily the number of matching
|
||
// items). If DynamoDB processes the number of items up to the limit while processing
|
||
// the results, it stops the operation and returns the matching values up to
|
||
// that point, and a key in LastEvaluatedKey to apply in a subsequent operation,
|
||
// so that you can pick up where you left off. Also, if the processed data set
|
||
// size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation
|
||
// and returns the matching values up to the limit, and a key in LastEvaluatedKey
|
||
// to apply in a subsequent operation to continue the operation. For more information,
|
||
// see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Limit *int64 `min:"1" type:"integer"`
|
||
|
||
// A string that identifies one or more attributes to retrieve from the table.
|
||
// These attributes can include scalars, sets, or elements of a JSON document.
|
||
// The attributes in the expression must be separated by commas.
|
||
//
|
||
// If no attribute names are specified, then all attributes will be returned.
|
||
// If any of the requested attributes are not found, they will not appear in
|
||
// the result.
|
||
//
|
||
// For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProjectionExpression *string `type:"string"`
|
||
|
||
// This is a legacy parameter. Use FilterExpression instead. For more information,
|
||
// see QueryFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
QueryFilter map[string]*Condition `type:"map"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Specifies the order for index traversal: If true (default), the traversal
|
||
// is performed in ascending order; if false, the traversal is performed in
|
||
// descending order.
|
||
//
|
||
// Items with the same partition key value are stored in sorted order by sort
|
||
// key. If the sort key data type is Number, the results are stored in numeric
|
||
// order. For type String, the results are stored in order of UTF-8 bytes. For
|
||
// type Binary, DynamoDB treats each byte of the binary data as unsigned.
|
||
//
|
||
// If ScanIndexForward is true, DynamoDB returns the results in the order in
|
||
// which they are stored (by sort key value). This is the default behavior.
|
||
// If ScanIndexForward is false, DynamoDB reads the results in reverse order
|
||
// by sort key value, and then returns the results to the client.
|
||
ScanIndexForward *bool `type:"boolean"`
|
||
|
||
// The attributes to be returned in the result. You can retrieve all item attributes,
|
||
// specific item attributes, the count of matching items, or in the case of
|
||
// an index, some or all of the attributes projected into the index.
|
||
//
|
||
// * ALL_ATTRIBUTES - Returns all of the item attributes from the specified
|
||
// table or index. If you query a local secondary index, then for each matching
|
||
// item in the index DynamoDB will fetch the entire item from the parent
|
||
// table. If the index is configured to project all item attributes, then
|
||
// all of the data can be obtained from the local secondary index, and no
|
||
// fetching is required.
|
||
//
|
||
// * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves
|
||
// all attributes that have been projected into the index. If the index is
|
||
// configured to project all attributes, this return value is equivalent
|
||
// to specifying ALL_ATTRIBUTES.
|
||
//
|
||
// * COUNT - Returns the number of matching items, rather than the matching
|
||
// items themselves.
|
||
//
|
||
// * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet.
|
||
// This return value is equivalent to specifying AttributesToGet without
|
||
// specifying any value for Select.
|
||
//
|
||
// If you query or scan a local secondary index and request only attributes
|
||
// that are projected into that index, the operation will read only the index
|
||
// and not the table. If any of the requested attributes are not projected
|
||
// into the local secondary index, DynamoDB will fetch each of these attributes
|
||
// from the parent table. This extra fetching incurs additional throughput
|
||
// cost and latency.
|
||
//
|
||
// If you query or scan a global secondary index, you can only request attributes
|
||
// that are projected into the index. Global secondary index queries cannot
|
||
// fetch attributes from the parent table.
|
||
//
|
||
// If neither Select nor AttributesToGet are specified, DynamoDB defaults to
|
||
// ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when
|
||
// accessing an index. You cannot use both Select and AttributesToGet together
|
||
// in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES.
|
||
// (This usage is equivalent to specifying AttributesToGet without any value
|
||
// for Select.)
|
||
//
|
||
// If you use the ProjectionExpression parameter, then the value for Select
|
||
// can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an
|
||
// error.
|
||
Select *string `type:"string" enum:"Select"`
|
||
|
||
// The name of the table containing the requested items.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s QueryInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s QueryInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *QueryInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "QueryInput"}
|
||
if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.Limit != nil && *s.Limit < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.KeyConditions != nil {
|
||
for i, v := range s.KeyConditions {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeyConditions", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.QueryFilter != nil {
|
||
for i, v := range s.QueryFilter {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryFilter", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributesToGet sets the AttributesToGet field's value.
|
||
func (s *QueryInput) SetAttributesToGet(v []*string) *QueryInput {
|
||
s.AttributesToGet = v
|
||
return s
|
||
}
|
||
|
||
// SetConditionalOperator sets the ConditionalOperator field's value.
|
||
func (s *QueryInput) SetConditionalOperator(v string) *QueryInput {
|
||
s.ConditionalOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetConsistentRead sets the ConsistentRead field's value.
|
||
func (s *QueryInput) SetConsistentRead(v bool) *QueryInput {
|
||
s.ConsistentRead = &v
|
||
return s
|
||
}
|
||
|
||
// SetExclusiveStartKey sets the ExclusiveStartKey field's value.
|
||
func (s *QueryInput) SetExclusiveStartKey(v map[string]*AttributeValue) *QueryInput {
|
||
s.ExclusiveStartKey = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *QueryInput) SetExpressionAttributeNames(v map[string]*string) *QueryInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *QueryInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *QueryInput {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetFilterExpression sets the FilterExpression field's value.
|
||
func (s *QueryInput) SetFilterExpression(v string) *QueryInput {
|
||
s.FilterExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *QueryInput) SetIndexName(v string) *QueryInput {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeyConditionExpression sets the KeyConditionExpression field's value.
|
||
func (s *QueryInput) SetKeyConditionExpression(v string) *QueryInput {
|
||
s.KeyConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeyConditions sets the KeyConditions field's value.
|
||
func (s *QueryInput) SetKeyConditions(v map[string]*Condition) *QueryInput {
|
||
s.KeyConditions = v
|
||
return s
|
||
}
|
||
|
||
// SetLimit sets the Limit field's value.
|
||
func (s *QueryInput) SetLimit(v int64) *QueryInput {
|
||
s.Limit = &v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionExpression sets the ProjectionExpression field's value.
|
||
func (s *QueryInput) SetProjectionExpression(v string) *QueryInput {
|
||
s.ProjectionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetQueryFilter sets the QueryFilter field's value.
|
||
func (s *QueryInput) SetQueryFilter(v map[string]*Condition) *QueryInput {
|
||
s.QueryFilter = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *QueryInput) SetReturnConsumedCapacity(v string) *QueryInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetScanIndexForward sets the ScanIndexForward field's value.
|
||
func (s *QueryInput) SetScanIndexForward(v bool) *QueryInput {
|
||
s.ScanIndexForward = &v
|
||
return s
|
||
}
|
||
|
||
// SetSelect sets the Select field's value.
|
||
func (s *QueryInput) SetSelect(v string) *QueryInput {
|
||
s.Select = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *QueryInput) SetTableName(v string) *QueryInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a Query operation.
|
||
type QueryOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The capacity units consumed by the Query operation. The data returned includes
|
||
// the total provisioned throughput consumed, along with statistics for the
|
||
// table and any indexes involved in the operation. ConsumedCapacity is only
|
||
// returned if the ReturnConsumedCapacity parameter was specified For more information,
|
||
// see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// The number of items in the response.
|
||
//
|
||
// If you used a QueryFilter in the request, then Count is the number of items
|
||
// returned after the filter was applied, and ScannedCount is the number of
|
||
// matching items before the filter was applied.
|
||
//
|
||
// If you did not use a filter in the request, then Count and ScannedCount are
|
||
// the same.
|
||
Count *int64 `type:"integer"`
|
||
|
||
// An array of item attributes that match the query criteria. Each element in
|
||
// this array consists of an attribute name and the value for that attribute.
|
||
Items []map[string]*AttributeValue `type:"list"`
|
||
|
||
// The primary key of the item where the operation stopped, inclusive of the
|
||
// previous result set. Use this value to start a new operation, excluding this
|
||
// value in the new request.
|
||
//
|
||
// If LastEvaluatedKey is empty, then the "last page" of results has been processed
|
||
// and there is no more data to be retrieved.
|
||
//
|
||
// If LastEvaluatedKey is not empty, it does not necessarily mean that there
|
||
// is more data in the result set. The only way to know when you have reached
|
||
// the end of the result set is when LastEvaluatedKey is empty.
|
||
LastEvaluatedKey map[string]*AttributeValue `type:"map"`
|
||
|
||
// The number of items evaluated, before any QueryFilter is applied. A high
|
||
// ScannedCount value with few, or no, Count results indicates an inefficient
|
||
// Query operation. For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// If you did not use a filter in the request, then ScannedCount is the same
|
||
// as Count.
|
||
ScannedCount *int64 `type:"integer"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s QueryOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s QueryOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *QueryOutput) SetConsumedCapacity(v *ConsumedCapacity) *QueryOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetCount sets the Count field's value.
|
||
func (s *QueryOutput) SetCount(v int64) *QueryOutput {
|
||
s.Count = &v
|
||
return s
|
||
}
|
||
|
||
// SetItems sets the Items field's value.
|
||
func (s *QueryOutput) SetItems(v []map[string]*AttributeValue) *QueryOutput {
|
||
s.Items = v
|
||
return s
|
||
}
|
||
|
||
// SetLastEvaluatedKey sets the LastEvaluatedKey field's value.
|
||
func (s *QueryOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *QueryOutput {
|
||
s.LastEvaluatedKey = v
|
||
return s
|
||
}
|
||
|
||
// SetScannedCount sets the ScannedCount field's value.
|
||
func (s *QueryOutput) SetScannedCount(v int64) *QueryOutput {
|
||
s.ScannedCount = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a replica.
|
||
type Replica struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The region where the replica needs to be created.
|
||
RegionName *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Replica) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Replica) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *Replica) SetRegionName(v string) *Replica {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// Contains the details of the replica.
|
||
type ReplicaDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the region.
|
||
RegionName *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *ReplicaDescription) SetRegionName(v string) *ReplicaDescription {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a global secondary index.
|
||
type ReplicaGlobalSecondaryIndexSettingsDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index. The name must be unique among all
|
||
// other indexes on this table.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The current status of the global secondary index:
|
||
//
|
||
// * CREATING - The global secondary index is being created.
|
||
//
|
||
// * UPDATING - The global secondary index is being updated.
|
||
//
|
||
// * DELETING - The global secondary index is being deleted.
|
||
//
|
||
// * ACTIVE - The global secondary index is ready for use.
|
||
IndexStatus *string `type:"string" enum:"IndexStatus"`
|
||
|
||
// Autoscaling settings for a global secondary index replica's read capacity
|
||
// units.
|
||
ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException.
|
||
ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
|
||
|
||
// AutoScaling settings for a global secondary index replica's write capacity
|
||
// units.
|
||
ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException.
|
||
ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaGlobalSecondaryIndexSettingsDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaGlobalSecondaryIndexSettingsDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexStatus sets the IndexStatus field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.IndexStatus = &v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.ProvisionedReadCapacityAutoScalingSettings = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.ProvisionedReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.ProvisionedWriteCapacityAutoScalingSettings = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription {
|
||
s.ProvisionedWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings of a global secondary index for a global table that
|
||
// will be modified.
|
||
type ReplicaGlobalSecondaryIndexSettingsUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index. The name must be unique among all
|
||
// other indexes on this table.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Autoscaling settings for managing a global secondary index replica's read
|
||
// capacity units.
|
||
ProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException.
|
||
ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaGlobalSecondaryIndexSettingsUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaGlobalSecondaryIndexSettingsUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexSettingsUpdate"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.ProvisionedReadCapacityUnits != nil && *s.ProvisionedReadCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("ProvisionedReadCapacityUnits", 1))
|
||
}
|
||
if s.ProvisionedReadCapacityAutoScalingSettingsUpdate != nil {
|
||
if err := s.ProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsUpdate {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedReadCapacityAutoScalingSettingsUpdate sets the ProvisionedReadCapacityAutoScalingSettingsUpdate field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexSettingsUpdate {
|
||
s.ProvisionedReadCapacityAutoScalingSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value.
|
||
func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsUpdate {
|
||
s.ProvisionedReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a replica.
|
||
type ReplicaSettingsDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The region name of the replica.
|
||
//
|
||
// RegionName is a required field
|
||
RegionName *string `type:"string" required:"true"`
|
||
|
||
// The read/write capacity mode of the replica.
|
||
ReplicaBillingModeSummary *BillingModeSummary `type:"structure"`
|
||
|
||
// Replica global secondary index settings for the global table.
|
||
ReplicaGlobalSecondaryIndexSettings []*ReplicaGlobalSecondaryIndexSettingsDescription `type:"list"`
|
||
|
||
// Autoscaling settings for a global table replica's read capacity units.
|
||
ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException. For more information, see Specifying
|
||
// Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ReplicaProvisionedReadCapacityUnits *int64 `type:"long"`
|
||
|
||
// AutoScaling settings for a global table replica's write capacity units.
|
||
ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException. For more information, see Specifying Read and Write
|
||
// Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ReplicaProvisionedWriteCapacityUnits *int64 `type:"long"`
|
||
|
||
// The current state of the region:
|
||
//
|
||
// * CREATING - The region is being created.
|
||
//
|
||
// * UPDATING - The region is being updated.
|
||
//
|
||
// * DELETING - The region is being deleted.
|
||
//
|
||
// * ACTIVE - The region is ready for use.
|
||
ReplicaStatus *string `type:"string" enum:"ReplicaStatus"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaSettingsDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaSettingsDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *ReplicaSettingsDescription) SetRegionName(v string) *ReplicaSettingsDescription {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaBillingModeSummary sets the ReplicaBillingModeSummary field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaBillingModeSummary(v *BillingModeSummary) *ReplicaSettingsDescription {
|
||
s.ReplicaBillingModeSummary = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaGlobalSecondaryIndexSettings sets the ReplicaGlobalSecondaryIndexSettings field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaGlobalSecondaryIndexSettings(v []*ReplicaGlobalSecondaryIndexSettingsDescription) *ReplicaSettingsDescription {
|
||
s.ReplicaGlobalSecondaryIndexSettings = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription {
|
||
s.ReplicaProvisionedReadCapacityAutoScalingSettings = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsDescription {
|
||
s.ReplicaProvisionedReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription {
|
||
s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedWriteCapacityUnits sets the ReplicaProvisionedWriteCapacityUnits field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityUnits(v int64) *ReplicaSettingsDescription {
|
||
s.ReplicaProvisionedWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaStatus sets the ReplicaStatus field's value.
|
||
func (s *ReplicaSettingsDescription) SetReplicaStatus(v string) *ReplicaSettingsDescription {
|
||
s.ReplicaStatus = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings for a global table in a region that will be modified.
|
||
type ReplicaSettingsUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The region of the replica to be added.
|
||
//
|
||
// RegionName is a required field
|
||
RegionName *string `type:"string" required:"true"`
|
||
|
||
// Represents the settings of a global secondary index for a global table that
|
||
// will be modified.
|
||
ReplicaGlobalSecondaryIndexSettingsUpdate []*ReplicaGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"`
|
||
|
||
// Autoscaling settings for managing a global table replica's read capacity
|
||
// units.
|
||
ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
|
||
|
||
// The maximum number of strongly consistent reads consumed per second before
|
||
// DynamoDB returns a ThrottlingException. For more information, see Specifying
|
||
// Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ReplicaProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaSettingsUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaSettingsUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ReplicaSettingsUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ReplicaSettingsUpdate"}
|
||
if s.RegionName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("RegionName"))
|
||
}
|
||
if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil && len(s.ReplicaGlobalSecondaryIndexSettingsUpdate) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ReplicaGlobalSecondaryIndexSettingsUpdate", 1))
|
||
}
|
||
if s.ReplicaProvisionedReadCapacityUnits != nil && *s.ReplicaProvisionedReadCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("ReplicaProvisionedReadCapacityUnits", 1))
|
||
}
|
||
if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil {
|
||
for i, v := range s.ReplicaGlobalSecondaryIndexSettingsUpdate {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate != nil {
|
||
if err := s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
|
||
invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRegionName sets the RegionName field's value.
|
||
func (s *ReplicaSettingsUpdate) SetRegionName(v string) *ReplicaSettingsUpdate {
|
||
s.RegionName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaGlobalSecondaryIndexSettingsUpdate sets the ReplicaGlobalSecondaryIndexSettingsUpdate field's value.
|
||
func (s *ReplicaSettingsUpdate) SetReplicaGlobalSecondaryIndexSettingsUpdate(v []*ReplicaGlobalSecondaryIndexSettingsUpdate) *ReplicaSettingsUpdate {
|
||
s.ReplicaGlobalSecondaryIndexSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate sets the ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate field's value.
|
||
func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaSettingsUpdate {
|
||
s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value.
|
||
func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsUpdate {
|
||
s.ReplicaProvisionedReadCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// Represents one of the following:
|
||
//
|
||
// * A new replica to be added to an existing global table.
|
||
//
|
||
// * New parameters for an existing replica.
|
||
//
|
||
// * An existing replica to be removed from an existing global table.
|
||
type ReplicaUpdate struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The parameters required for creating a replica on an existing global table.
|
||
Create *CreateReplicaAction `type:"structure"`
|
||
|
||
// The name of the existing replica to be removed.
|
||
Delete *DeleteReplicaAction `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ReplicaUpdate) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ReplicaUpdate) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ReplicaUpdate) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"}
|
||
if s.Create != nil {
|
||
if err := s.Create.Validate(); err != nil {
|
||
invalidParams.AddNested("Create", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Delete != nil {
|
||
if err := s.Delete.Validate(); err != nil {
|
||
invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetCreate sets the Create field's value.
|
||
func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate {
|
||
s.Create = v
|
||
return s
|
||
}
|
||
|
||
// SetDelete sets the Delete field's value.
|
||
func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate {
|
||
s.Delete = v
|
||
return s
|
||
}
|
||
|
||
// Contains details for the restore.
|
||
type RestoreSummary struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Point in time or source backup time.
|
||
//
|
||
// RestoreDateTime is a required field
|
||
RestoreDateTime *time.Time `type:"timestamp" required:"true"`
|
||
|
||
// Indicates if a restore is in progress or not.
|
||
//
|
||
// RestoreInProgress is a required field
|
||
RestoreInProgress *bool `type:"boolean" required:"true"`
|
||
|
||
// ARN of the backup from which the table was restored.
|
||
SourceBackupArn *string `min:"37" type:"string"`
|
||
|
||
// ARN of the source table of the backup that is being restored.
|
||
SourceTableArn *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RestoreSummary) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RestoreSummary) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetRestoreDateTime sets the RestoreDateTime field's value.
|
||
func (s *RestoreSummary) SetRestoreDateTime(v time.Time) *RestoreSummary {
|
||
s.RestoreDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetRestoreInProgress sets the RestoreInProgress field's value.
|
||
func (s *RestoreSummary) SetRestoreInProgress(v bool) *RestoreSummary {
|
||
s.RestoreInProgress = &v
|
||
return s
|
||
}
|
||
|
||
// SetSourceBackupArn sets the SourceBackupArn field's value.
|
||
func (s *RestoreSummary) SetSourceBackupArn(v string) *RestoreSummary {
|
||
s.SourceBackupArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetSourceTableArn sets the SourceTableArn field's value.
|
||
func (s *RestoreSummary) SetSourceTableArn(v string) *RestoreSummary {
|
||
s.SourceTableArn = &v
|
||
return s
|
||
}
|
||
|
||
type RestoreTableFromBackupInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The ARN associated with the backup.
|
||
//
|
||
// BackupArn is a required field
|
||
BackupArn *string `min:"37" type:"string" required:"true"`
|
||
|
||
// The name of the new table to which the backup must be restored.
|
||
//
|
||
// TargetTableName is a required field
|
||
TargetTableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RestoreTableFromBackupInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RestoreTableFromBackupInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *RestoreTableFromBackupInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromBackupInput"}
|
||
if s.BackupArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("BackupArn"))
|
||
}
|
||
if s.BackupArn != nil && len(*s.BackupArn) < 37 {
|
||
invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
|
||
}
|
||
if s.TargetTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TargetTableName"))
|
||
}
|
||
if s.TargetTableName != nil && len(*s.TargetTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetBackupArn sets the BackupArn field's value.
|
||
func (s *RestoreTableFromBackupInput) SetBackupArn(v string) *RestoreTableFromBackupInput {
|
||
s.BackupArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetTableName sets the TargetTableName field's value.
|
||
func (s *RestoreTableFromBackupInput) SetTargetTableName(v string) *RestoreTableFromBackupInput {
|
||
s.TargetTableName = &v
|
||
return s
|
||
}
|
||
|
||
type RestoreTableFromBackupOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The description of the table created from an existing backup.
|
||
TableDescription *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RestoreTableFromBackupOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RestoreTableFromBackupOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTableDescription sets the TableDescription field's value.
|
||
func (s *RestoreTableFromBackupOutput) SetTableDescription(v *TableDescription) *RestoreTableFromBackupOutput {
|
||
s.TableDescription = v
|
||
return s
|
||
}
|
||
|
||
type RestoreTableToPointInTimeInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Time in the past to restore the table to.
|
||
RestoreDateTime *time.Time `type:"timestamp"`
|
||
|
||
// Name of the source table that is being restored.
|
||
//
|
||
// SourceTableName is a required field
|
||
SourceTableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// The name of the new table to which it must be restored to.
|
||
//
|
||
// TargetTableName is a required field
|
||
TargetTableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Restore the table to the latest possible time. LatestRestorableDateTime is
|
||
// typically 5 minutes before the current time.
|
||
UseLatestRestorableTime *bool `type:"boolean"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RestoreTableToPointInTimeInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RestoreTableToPointInTimeInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *RestoreTableToPointInTimeInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "RestoreTableToPointInTimeInput"}
|
||
if s.SourceTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("SourceTableName"))
|
||
}
|
||
if s.SourceTableName != nil && len(*s.SourceTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 3))
|
||
}
|
||
if s.TargetTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TargetTableName"))
|
||
}
|
||
if s.TargetTableName != nil && len(*s.TargetTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetRestoreDateTime sets the RestoreDateTime field's value.
|
||
func (s *RestoreTableToPointInTimeInput) SetRestoreDateTime(v time.Time) *RestoreTableToPointInTimeInput {
|
||
s.RestoreDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetSourceTableName sets the SourceTableName field's value.
|
||
func (s *RestoreTableToPointInTimeInput) SetSourceTableName(v string) *RestoreTableToPointInTimeInput {
|
||
s.SourceTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTargetTableName sets the TargetTableName field's value.
|
||
func (s *RestoreTableToPointInTimeInput) SetTargetTableName(v string) *RestoreTableToPointInTimeInput {
|
||
s.TargetTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
|
||
func (s *RestoreTableToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreTableToPointInTimeInput {
|
||
s.UseLatestRestorableTime = &v
|
||
return s
|
||
}
|
||
|
||
type RestoreTableToPointInTimeOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the properties of a table.
|
||
TableDescription *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s RestoreTableToPointInTimeOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s RestoreTableToPointInTimeOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTableDescription sets the TableDescription field's value.
|
||
func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescription) *RestoreTableToPointInTimeOutput {
|
||
s.TableDescription = v
|
||
return s
|
||
}
|
||
|
||
// The description of the server-side encryption status on the specified table.
|
||
type SSEDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The KMS master key ARN used for the KMS encryption.
|
||
KMSMasterKeyArn *string `type:"string"`
|
||
|
||
// Server-side encryption type:
|
||
//
|
||
// * AES256 - Server-side encryption which uses the AES256 algorithm (not
|
||
// applicable).
|
||
//
|
||
// * KMS - Server-side encryption which uses AWS Key Management Service.
|
||
// Key is stored in your account and is managed by AWS KMS (KMS charges apply).
|
||
SSEType *string `type:"string" enum:"SSEType"`
|
||
|
||
// The current state of server-side encryption:
|
||
//
|
||
// * ENABLING - Server-side encryption is being enabled.
|
||
//
|
||
// * ENABLED - Server-side encryption is enabled.
|
||
//
|
||
// * DISABLING - Server-side encryption is being disabled.
|
||
//
|
||
// * DISABLED - Server-side encryption is disabled.
|
||
//
|
||
// * UPDATING - Server-side encryption is being updated.
|
||
Status *string `type:"string" enum:"SSEStatus"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s SSEDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s SSEDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetKMSMasterKeyArn sets the KMSMasterKeyArn field's value.
|
||
func (s *SSEDescription) SetKMSMasterKeyArn(v string) *SSEDescription {
|
||
s.KMSMasterKeyArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetSSEType sets the SSEType field's value.
|
||
func (s *SSEDescription) SetSSEType(v string) *SSEDescription {
|
||
s.SSEType = &v
|
||
return s
|
||
}
|
||
|
||
// SetStatus sets the Status field's value.
|
||
func (s *SSEDescription) SetStatus(v string) *SSEDescription {
|
||
s.Status = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings used to enable server-side encryption.
|
||
type SSESpecification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether server-side encryption is enabled (true) or disabled (false)
|
||
// on the table. If enabled (true), server-side encryption type is set to KMS.
|
||
// If disabled (false) or not specified, server-side encryption is set to AWS
|
||
// owned CMK.
|
||
Enabled *bool `type:"boolean"`
|
||
|
||
// The KMS Master Key (CMK) which should be used for the KMS encryption. To
|
||
// specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or
|
||
// alias ARN. Note that you should only provide this parameter if the key is
|
||
// different from the default DynamoDB KMS Master Key alias/aws/dynamodb.
|
||
KMSMasterKeyId *string `type:"string"`
|
||
|
||
// Server-side encryption type:
|
||
//
|
||
// * AES256 - Server-side encryption which uses the AES256 algorithm (not
|
||
// applicable).
|
||
//
|
||
// * KMS - Server-side encryption which uses AWS Key Management Service.
|
||
// Key is stored in your account and is managed by AWS KMS (KMS charges apply).
|
||
SSEType *string `type:"string" enum:"SSEType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s SSESpecification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s SSESpecification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetEnabled sets the Enabled field's value.
|
||
func (s *SSESpecification) SetEnabled(v bool) *SSESpecification {
|
||
s.Enabled = &v
|
||
return s
|
||
}
|
||
|
||
// SetKMSMasterKeyId sets the KMSMasterKeyId field's value.
|
||
func (s *SSESpecification) SetKMSMasterKeyId(v string) *SSESpecification {
|
||
s.KMSMasterKeyId = &v
|
||
return s
|
||
}
|
||
|
||
// SetSSEType sets the SSEType field's value.
|
||
func (s *SSESpecification) SetSSEType(v string) *SSESpecification {
|
||
s.SSEType = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of a Scan operation.
|
||
type ScanInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// This is a legacy parameter. Use ProjectionExpression instead. For more information,
|
||
// see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributesToGet []*string `min:"1" type:"list"`
|
||
|
||
// This is a legacy parameter. Use FilterExpression instead. For more information,
|
||
// see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
|
||
|
||
// A Boolean value that determines the read consistency model during the scan:
|
||
//
|
||
// * If ConsistentRead is false, then the data returned from Scan might not
|
||
// contain the results from other recently completed write operations (PutItem,
|
||
// UpdateItem or DeleteItem).
|
||
//
|
||
// * If ConsistentRead is true, then all of the write operations that completed
|
||
// before the Scan began are guaranteed to be contained in the Scan response.
|
||
//
|
||
// The default setting for ConsistentRead is false.
|
||
//
|
||
// The ConsistentRead parameter is not supported on global secondary indexes.
|
||
// If you scan a global secondary index with ConsistentRead set to true, you
|
||
// will receive a ValidationException.
|
||
ConsistentRead *bool `type:"boolean"`
|
||
|
||
// The primary key of the first item that this operation will evaluate. Use
|
||
// the value that was returned for LastEvaluatedKey in the previous operation.
|
||
//
|
||
// The data type for ExclusiveStartKey must be String, Number or Binary. No
|
||
// set data types are allowed.
|
||
//
|
||
// In a parallel scan, a Scan request that includes ExclusiveStartKey must specify
|
||
// the same segment whose previous Scan returned the corresponding value of
|
||
// LastEvaluatedKey.
|
||
ExclusiveStartKey map[string]*AttributeValue `type:"map"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
//
|
||
// Use the : (colon) character in an expression to dereference an attribute
|
||
// value. For example, suppose that you wanted to check whether the value of
|
||
// the ProductStatus attribute was one of the following:
|
||
//
|
||
// Available | Backordered | Discontinued
|
||
//
|
||
// You would first need to specify ExpressionAttributeValues as follows:
|
||
//
|
||
// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
|
||
// }
|
||
//
|
||
// You could then use these values in an expression, such as this:
|
||
//
|
||
// ProductStatus IN (:avail, :back, :disc)
|
||
//
|
||
// For more information on expression attribute values, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// A string that contains conditions that DynamoDB applies after the Scan operation,
|
||
// but before the data is returned to you. Items that do not satisfy the FilterExpression
|
||
// criteria are not returned.
|
||
//
|
||
// A FilterExpression is applied after the items have already been read; the
|
||
// process of filtering does not consume any additional read capacity units.
|
||
//
|
||
// For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
FilterExpression *string `type:"string"`
|
||
|
||
// The name of a secondary index to scan. This index can be any local secondary
|
||
// index or global secondary index. Note that if you use the IndexName parameter,
|
||
// you must also provide TableName.
|
||
IndexName *string `min:"3" type:"string"`
|
||
|
||
// The maximum number of items to evaluate (not necessarily the number of matching
|
||
// items). If DynamoDB processes the number of items up to the limit while processing
|
||
// the results, it stops the operation and returns the matching values up to
|
||
// that point, and a key in LastEvaluatedKey to apply in a subsequent operation,
|
||
// so that you can pick up where you left off. Also, if the processed data set
|
||
// size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation
|
||
// and returns the matching values up to the limit, and a key in LastEvaluatedKey
|
||
// to apply in a subsequent operation to continue the operation. For more information,
|
||
// see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Limit *int64 `min:"1" type:"integer"`
|
||
|
||
// A string that identifies one or more attributes to retrieve from the specified
|
||
// table or index. These attributes can include scalars, sets, or elements of
|
||
// a JSON document. The attributes in the expression must be separated by commas.
|
||
//
|
||
// If no attribute names are specified, then all attributes will be returned.
|
||
// If any of the requested attributes are not found, they will not appear in
|
||
// the result.
|
||
//
|
||
// For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ProjectionExpression *string `type:"string"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// This is a legacy parameter. Use FilterExpression instead. For more information,
|
||
// see ScanFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ScanFilter map[string]*Condition `type:"map"`
|
||
|
||
// For a parallel Scan request, Segment identifies an individual segment to
|
||
// be scanned by an application worker.
|
||
//
|
||
// Segment IDs are zero-based, so the first segment is always 0. For example,
|
||
// if you want to use four application threads to scan a table or an index,
|
||
// then the first thread specifies a Segment value of 0, the second thread specifies
|
||
// 1, and so on.
|
||
//
|
||
// The value of LastEvaluatedKey returned from a parallel Scan request must
|
||
// be used as ExclusiveStartKey with the same segment ID in a subsequent Scan
|
||
// operation.
|
||
//
|
||
// The value for Segment must be greater than or equal to 0, and less than the
|
||
// value provided for TotalSegments.
|
||
//
|
||
// If you provide Segment, you must also provide TotalSegments.
|
||
Segment *int64 `type:"integer"`
|
||
|
||
// The attributes to be returned in the result. You can retrieve all item attributes,
|
||
// specific item attributes, the count of matching items, or in the case of
|
||
// an index, some or all of the attributes projected into the index.
|
||
//
|
||
// * ALL_ATTRIBUTES - Returns all of the item attributes from the specified
|
||
// table or index. If you query a local secondary index, then for each matching
|
||
// item in the index DynamoDB will fetch the entire item from the parent
|
||
// table. If the index is configured to project all item attributes, then
|
||
// all of the data can be obtained from the local secondary index, and no
|
||
// fetching is required.
|
||
//
|
||
// * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves
|
||
// all attributes that have been projected into the index. If the index is
|
||
// configured to project all attributes, this return value is equivalent
|
||
// to specifying ALL_ATTRIBUTES.
|
||
//
|
||
// * COUNT - Returns the number of matching items, rather than the matching
|
||
// items themselves.
|
||
//
|
||
// * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet.
|
||
// This return value is equivalent to specifying AttributesToGet without
|
||
// specifying any value for Select.
|
||
//
|
||
// If you query or scan a local secondary index and request only attributes
|
||
// that are projected into that index, the operation will read only the index
|
||
// and not the table. If any of the requested attributes are not projected
|
||
// into the local secondary index, DynamoDB will fetch each of these attributes
|
||
// from the parent table. This extra fetching incurs additional throughput
|
||
// cost and latency.
|
||
//
|
||
// If you query or scan a global secondary index, you can only request attributes
|
||
// that are projected into the index. Global secondary index queries cannot
|
||
// fetch attributes from the parent table.
|
||
//
|
||
// If neither Select nor AttributesToGet are specified, DynamoDB defaults to
|
||
// ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when
|
||
// accessing an index. You cannot use both Select and AttributesToGet together
|
||
// in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES.
|
||
// (This usage is equivalent to specifying AttributesToGet without any value
|
||
// for Select.)
|
||
//
|
||
// If you use the ProjectionExpression parameter, then the value for Select
|
||
// can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an
|
||
// error.
|
||
Select *string `type:"string" enum:"Select"`
|
||
|
||
// The name of the table containing the requested items; or, if you provide
|
||
// IndexName, the name of the table to which that index belongs.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// For a parallel Scan request, TotalSegments represents the total number of
|
||
// segments into which the Scan operation will be divided. The value of TotalSegments
|
||
// corresponds to the number of application workers that will perform the parallel
|
||
// scan. For example, if you want to use four application threads to scan a
|
||
// table or an index, specify a TotalSegments value of 4.
|
||
//
|
||
// The value for TotalSegments must be greater than or equal to 1, and less
|
||
// than or equal to 1000000. If you specify a TotalSegments value of 1, the
|
||
// Scan operation will be sequential rather than parallel.
|
||
//
|
||
// If you specify TotalSegments, you must also specify Segment.
|
||
TotalSegments *int64 `min:"1" type:"integer"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ScanInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ScanInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *ScanInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "ScanInput"}
|
||
if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.Limit != nil && *s.Limit < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.TotalSegments != nil && *s.TotalSegments < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1))
|
||
}
|
||
if s.ScanFilter != nil {
|
||
for i, v := range s.ScanFilter {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanFilter", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributesToGet sets the AttributesToGet field's value.
|
||
func (s *ScanInput) SetAttributesToGet(v []*string) *ScanInput {
|
||
s.AttributesToGet = v
|
||
return s
|
||
}
|
||
|
||
// SetConditionalOperator sets the ConditionalOperator field's value.
|
||
func (s *ScanInput) SetConditionalOperator(v string) *ScanInput {
|
||
s.ConditionalOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetConsistentRead sets the ConsistentRead field's value.
|
||
func (s *ScanInput) SetConsistentRead(v bool) *ScanInput {
|
||
s.ConsistentRead = &v
|
||
return s
|
||
}
|
||
|
||
// SetExclusiveStartKey sets the ExclusiveStartKey field's value.
|
||
func (s *ScanInput) SetExclusiveStartKey(v map[string]*AttributeValue) *ScanInput {
|
||
s.ExclusiveStartKey = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *ScanInput) SetExpressionAttributeNames(v map[string]*string) *ScanInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *ScanInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *ScanInput {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetFilterExpression sets the FilterExpression field's value.
|
||
func (s *ScanInput) SetFilterExpression(v string) *ScanInput {
|
||
s.FilterExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *ScanInput) SetIndexName(v string) *ScanInput {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetLimit sets the Limit field's value.
|
||
func (s *ScanInput) SetLimit(v int64) *ScanInput {
|
||
s.Limit = &v
|
||
return s
|
||
}
|
||
|
||
// SetProjectionExpression sets the ProjectionExpression field's value.
|
||
func (s *ScanInput) SetProjectionExpression(v string) *ScanInput {
|
||
s.ProjectionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *ScanInput) SetReturnConsumedCapacity(v string) *ScanInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetScanFilter sets the ScanFilter field's value.
|
||
func (s *ScanInput) SetScanFilter(v map[string]*Condition) *ScanInput {
|
||
s.ScanFilter = v
|
||
return s
|
||
}
|
||
|
||
// SetSegment sets the Segment field's value.
|
||
func (s *ScanInput) SetSegment(v int64) *ScanInput {
|
||
s.Segment = &v
|
||
return s
|
||
}
|
||
|
||
// SetSelect sets the Select field's value.
|
||
func (s *ScanInput) SetSelect(v string) *ScanInput {
|
||
s.Select = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *ScanInput) SetTableName(v string) *ScanInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTotalSegments sets the TotalSegments field's value.
|
||
func (s *ScanInput) SetTotalSegments(v int64) *ScanInput {
|
||
s.TotalSegments = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of a Scan operation.
|
||
type ScanOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The capacity units consumed by the Scan operation. The data returned includes
|
||
// the total provisioned throughput consumed, along with statistics for the
|
||
// table and any indexes involved in the operation. ConsumedCapacity is only
|
||
// returned if the ReturnConsumedCapacity parameter was specified. For more
|
||
// information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// The number of items in the response.
|
||
//
|
||
// If you set ScanFilter in the request, then Count is the number of items returned
|
||
// after the filter was applied, and ScannedCount is the number of matching
|
||
// items before the filter was applied.
|
||
//
|
||
// If you did not use a filter in the request, then Count is the same as ScannedCount.
|
||
Count *int64 `type:"integer"`
|
||
|
||
// An array of item attributes that match the scan criteria. Each element in
|
||
// this array consists of an attribute name and the value for that attribute.
|
||
Items []map[string]*AttributeValue `type:"list"`
|
||
|
||
// The primary key of the item where the operation stopped, inclusive of the
|
||
// previous result set. Use this value to start a new operation, excluding this
|
||
// value in the new request.
|
||
//
|
||
// If LastEvaluatedKey is empty, then the "last page" of results has been processed
|
||
// and there is no more data to be retrieved.
|
||
//
|
||
// If LastEvaluatedKey is not empty, it does not necessarily mean that there
|
||
// is more data in the result set. The only way to know when you have reached
|
||
// the end of the result set is when LastEvaluatedKey is empty.
|
||
LastEvaluatedKey map[string]*AttributeValue `type:"map"`
|
||
|
||
// The number of items evaluated, before any ScanFilter is applied. A high ScannedCount
|
||
// value with few, or no, Count results indicates an inefficient Scan operation.
|
||
// For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// If you did not use a filter in the request, then ScannedCount is the same
|
||
// as Count.
|
||
ScannedCount *int64 `type:"integer"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s ScanOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s ScanOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *ScanOutput) SetConsumedCapacity(v *ConsumedCapacity) *ScanOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetCount sets the Count field's value.
|
||
func (s *ScanOutput) SetCount(v int64) *ScanOutput {
|
||
s.Count = &v
|
||
return s
|
||
}
|
||
|
||
// SetItems sets the Items field's value.
|
||
func (s *ScanOutput) SetItems(v []map[string]*AttributeValue) *ScanOutput {
|
||
s.Items = v
|
||
return s
|
||
}
|
||
|
||
// SetLastEvaluatedKey sets the LastEvaluatedKey field's value.
|
||
func (s *ScanOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *ScanOutput {
|
||
s.LastEvaluatedKey = v
|
||
return s
|
||
}
|
||
|
||
// SetScannedCount sets the ScannedCount field's value.
|
||
func (s *ScanOutput) SetScannedCount(v int64) *ScanOutput {
|
||
s.ScannedCount = &v
|
||
return s
|
||
}
|
||
|
||
// Contains the details of the table when the backup was created.
|
||
type SourceTableDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Controls how you are charged for read and write throughput and how you manage
|
||
// capacity. This setting can be changed later.
|
||
//
|
||
// * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend
|
||
// using PROVISIONED for predictable workloads.
|
||
//
|
||
// * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST.
|
||
// We recommend using PAY_PER_REQUEST for unpredictable workloads.
|
||
BillingMode *string `type:"string" enum:"BillingMode"`
|
||
|
||
// Number of items in the table. Please note this is an approximate value.
|
||
ItemCount *int64 `type:"long"`
|
||
|
||
// Schema of the table.
|
||
//
|
||
// KeySchema is a required field
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
|
||
|
||
// Read IOPs and Write IOPS on the table when the backup was created.
|
||
//
|
||
// ProvisionedThroughput is a required field
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"`
|
||
|
||
// ARN of the table for which backup was created.
|
||
TableArn *string `type:"string"`
|
||
|
||
// Time when the source table was created.
|
||
//
|
||
// TableCreationDateTime is a required field
|
||
TableCreationDateTime *time.Time `type:"timestamp" required:"true"`
|
||
|
||
// Unique identifier for the table for which the backup was created.
|
||
//
|
||
// TableId is a required field
|
||
TableId *string `type:"string" required:"true"`
|
||
|
||
// The name of the table for which the backup was created.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Size of the table in bytes. Please note this is an approximate value.
|
||
TableSizeBytes *int64 `type:"long"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s SourceTableDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s SourceTableDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetBillingMode sets the BillingMode field's value.
|
||
func (s *SourceTableDetails) SetBillingMode(v string) *SourceTableDetails {
|
||
s.BillingMode = &v
|
||
return s
|
||
}
|
||
|
||
// SetItemCount sets the ItemCount field's value.
|
||
func (s *SourceTableDetails) SetItemCount(v int64) *SourceTableDetails {
|
||
s.ItemCount = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *SourceTableDetails) SetKeySchema(v []*KeySchemaElement) *SourceTableDetails {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *SourceTableDetails) SetProvisionedThroughput(v *ProvisionedThroughput) *SourceTableDetails {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// SetTableArn sets the TableArn field's value.
|
||
func (s *SourceTableDetails) SetTableArn(v string) *SourceTableDetails {
|
||
s.TableArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableCreationDateTime sets the TableCreationDateTime field's value.
|
||
func (s *SourceTableDetails) SetTableCreationDateTime(v time.Time) *SourceTableDetails {
|
||
s.TableCreationDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableId sets the TableId field's value.
|
||
func (s *SourceTableDetails) SetTableId(v string) *SourceTableDetails {
|
||
s.TableId = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *SourceTableDetails) SetTableName(v string) *SourceTableDetails {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableSizeBytes sets the TableSizeBytes field's value.
|
||
func (s *SourceTableDetails) SetTableSizeBytes(v int64) *SourceTableDetails {
|
||
s.TableSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// Contains the details of the features enabled on the table when the backup
|
||
// was created. For example, LSIs, GSIs, streams, TTL.
|
||
type SourceTableFeatureDetails struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the GSI properties for the table when the backup was created.
|
||
// It includes the IndexName, KeySchema, Projection and ProvisionedThroughput
|
||
// for the GSIs on the table at the time of backup.
|
||
GlobalSecondaryIndexes []*GlobalSecondaryIndexInfo `type:"list"`
|
||
|
||
// Represents the LSI properties for the table when the backup was created.
|
||
// It includes the IndexName, KeySchema and Projection for the LSIs on the table
|
||
// at the time of backup.
|
||
LocalSecondaryIndexes []*LocalSecondaryIndexInfo `type:"list"`
|
||
|
||
// The description of the server-side encryption status on the table when the
|
||
// backup was created.
|
||
SSEDescription *SSEDescription `type:"structure"`
|
||
|
||
// Stream settings on the table when the backup was created.
|
||
StreamDescription *StreamSpecification `type:"structure"`
|
||
|
||
// Time to Live settings on the table when the backup was created.
|
||
TimeToLiveDescription *TimeToLiveDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s SourceTableFeatureDetails) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s SourceTableFeatureDetails) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
|
||
func (s *SourceTableFeatureDetails) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexInfo) *SourceTableFeatureDetails {
|
||
s.GlobalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
|
||
func (s *SourceTableFeatureDetails) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexInfo) *SourceTableFeatureDetails {
|
||
s.LocalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetSSEDescription sets the SSEDescription field's value.
|
||
func (s *SourceTableFeatureDetails) SetSSEDescription(v *SSEDescription) *SourceTableFeatureDetails {
|
||
s.SSEDescription = v
|
||
return s
|
||
}
|
||
|
||
// SetStreamDescription sets the StreamDescription field's value.
|
||
func (s *SourceTableFeatureDetails) SetStreamDescription(v *StreamSpecification) *SourceTableFeatureDetails {
|
||
s.StreamDescription = v
|
||
return s
|
||
}
|
||
|
||
// SetTimeToLiveDescription sets the TimeToLiveDescription field's value.
|
||
func (s *SourceTableFeatureDetails) SetTimeToLiveDescription(v *TimeToLiveDescription) *SourceTableFeatureDetails {
|
||
s.TimeToLiveDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents the DynamoDB Streams configuration for a table in DynamoDB.
|
||
type StreamSpecification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Indicates whether DynamoDB Streams is enabled (true) or disabled (false)
|
||
// on the table.
|
||
StreamEnabled *bool `type:"boolean"`
|
||
|
||
// When an item in the table is modified, StreamViewType determines what information
|
||
// is written to the stream for this table. Valid values for StreamViewType
|
||
// are:
|
||
//
|
||
// * KEYS_ONLY - Only the key attributes of the modified item are written
|
||
// to the stream.
|
||
//
|
||
// * NEW_IMAGE - The entire item, as it appears after it was modified, is
|
||
// written to the stream.
|
||
//
|
||
// * OLD_IMAGE - The entire item, as it appeared before it was modified,
|
||
// is written to the stream.
|
||
//
|
||
// * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item
|
||
// are written to the stream.
|
||
StreamViewType *string `type:"string" enum:"StreamViewType"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s StreamSpecification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s StreamSpecification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetStreamEnabled sets the StreamEnabled field's value.
|
||
func (s *StreamSpecification) SetStreamEnabled(v bool) *StreamSpecification {
|
||
s.StreamEnabled = &v
|
||
return s
|
||
}
|
||
|
||
// SetStreamViewType sets the StreamViewType field's value.
|
||
func (s *StreamSpecification) SetStreamViewType(v string) *StreamSpecification {
|
||
s.StreamViewType = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the properties of a table.
|
||
type TableDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// An array of AttributeDefinition objects. Each of these objects describes
|
||
// one attribute in the table and index key schema.
|
||
//
|
||
// Each AttributeDefinition object in this array is composed of:
|
||
//
|
||
// * AttributeName - The name of the attribute.
|
||
//
|
||
// * AttributeType - The data type for the attribute.
|
||
AttributeDefinitions []*AttributeDefinition `type:"list"`
|
||
|
||
// Contains the details for the read/write capacity mode.
|
||
BillingModeSummary *BillingModeSummary `type:"structure"`
|
||
|
||
// The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/)
|
||
// format.
|
||
CreationDateTime *time.Time `type:"timestamp"`
|
||
|
||
// The global secondary indexes, if any, on the table. Each index is scoped
|
||
// to a given partition key value. Each element is composed of:
|
||
//
|
||
// * Backfilling - If true, then the index is currently in the backfilling
|
||
// phase. Backfilling occurs only when a new global secondary index is added
|
||
// to the table; it is the process by which DynamoDB populates the new index
|
||
// with data from the table. (This attribute does not appear for indexes
|
||
// that were created during a CreateTable operation.)
|
||
//
|
||
// * IndexName - The name of the global secondary index.
|
||
//
|
||
// * IndexSizeBytes - The total size of the global secondary index, in bytes.
|
||
// DynamoDB updates this value approximately every six hours. Recent changes
|
||
// might not be reflected in this value.
|
||
//
|
||
// * IndexStatus - The current status of the global secondary index:
|
||
//
|
||
// CREATING - The index is being created.
|
||
//
|
||
// UPDATING - The index is being updated.
|
||
//
|
||
// DELETING - The index is being deleted.
|
||
//
|
||
// ACTIVE - The index is ready for use.
|
||
//
|
||
// * ItemCount - The number of items in the global secondary index. DynamoDB
|
||
// updates this value approximately every six hours. Recent changes might
|
||
// not be reflected in this value.
|
||
//
|
||
// * KeySchema - Specifies the complete index key schema. The attribute names
|
||
// in the key schema must be between 1 and 255 characters (inclusive). The
|
||
// key schema must begin with the same partition key as the table.
|
||
//
|
||
// * Projection - Specifies attributes that are copied (projected) from the
|
||
// table into the index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected. Each attribute
|
||
// specification is composed of:
|
||
//
|
||
// ProjectionType - One of the following:
|
||
//
|
||
// KEYS_ONLY - Only the index and primary keys are projected into the index.
|
||
//
|
||
// INCLUDE - Only the specified table attributes are projected into the index.
|
||
// The list of projected attributes are in NonKeyAttributes.
|
||
//
|
||
// ALL - All of the table attributes are projected into the index.
|
||
//
|
||
// NonKeyAttributes - A list of one or more non-key attribute names that are
|
||
// projected into the secondary index. The total count of attributes provided
|
||
// in NonKeyAttributes, summed across all of the secondary indexes, must
|
||
// not exceed 20. If you project the same attribute into two different indexes,
|
||
// this counts as two distinct attributes when determining the total.
|
||
//
|
||
// * ProvisionedThroughput - The provisioned throughput settings for the
|
||
// global secondary index, consisting of read and write capacity units, along
|
||
// with data about increases and decreases.
|
||
//
|
||
// If the table is in the DELETING state, no information about indexes will
|
||
// be returned.
|
||
GlobalSecondaryIndexes []*GlobalSecondaryIndexDescription `type:"list"`
|
||
|
||
// The number of items in the specified table. DynamoDB updates this value approximately
|
||
// every six hours. Recent changes might not be reflected in this value.
|
||
ItemCount *int64 `type:"long"`
|
||
|
||
// The primary key structure for the table. Each KeySchemaElement consists of:
|
||
//
|
||
// * AttributeName - The name of the attribute.
|
||
//
|
||
// * KeyType - The role of the attribute:
|
||
//
|
||
// HASH - partition key
|
||
//
|
||
// RANGE - sort key
|
||
//
|
||
// The partition key of an item is also known as its hash attribute. The term
|
||
// "hash attribute" derives from DynamoDB' usage of an internal hash function
|
||
// to evenly distribute data items across partitions, based on their partition
|
||
// key values.
|
||
//
|
||
// The sort key of an item is also known as its range attribute. The term "range
|
||
// attribute" derives from the way DynamoDB stores items with the same partition
|
||
// key physically close together, in sorted order by the sort key value.
|
||
//
|
||
// For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
KeySchema []*KeySchemaElement `min:"1" type:"list"`
|
||
|
||
// The Amazon Resource Name (ARN) that uniquely identifies the latest stream
|
||
// for this table.
|
||
LatestStreamArn *string `min:"37" type:"string"`
|
||
|
||
// A timestamp, in ISO 8601 format, for this stream.
|
||
//
|
||
// Note that LatestStreamLabel is not a unique identifier for the stream, because
|
||
// it is possible that a stream from another table might have the same timestamp.
|
||
// However, the combination of the following three elements is guaranteed to
|
||
// be unique:
|
||
//
|
||
// * the AWS customer ID.
|
||
//
|
||
// * the table name.
|
||
//
|
||
// * the StreamLabel.
|
||
LatestStreamLabel *string `type:"string"`
|
||
|
||
// Represents one or more local secondary indexes on the table. Each index is
|
||
// scoped to a given partition key value. Tables with one or more local secondary
|
||
// indexes are subject to an item collection size limit, where the amount of
|
||
// data within a given item collection cannot exceed 10 GB. Each element is
|
||
// composed of:
|
||
//
|
||
// * IndexName - The name of the local secondary index.
|
||
//
|
||
// * KeySchema - Specifies the complete index key schema. The attribute names
|
||
// in the key schema must be between 1 and 255 characters (inclusive). The
|
||
// key schema must begin with the same partition key as the table.
|
||
//
|
||
// * Projection - Specifies attributes that are copied (projected) from the
|
||
// table into the index. These are in addition to the primary key attributes
|
||
// and index key attributes, which are automatically projected. Each attribute
|
||
// specification is composed of:
|
||
//
|
||
// ProjectionType - One of the following:
|
||
//
|
||
// KEYS_ONLY - Only the index and primary keys are projected into the index.
|
||
//
|
||
// INCLUDE - Only the specified table attributes are projected into the index.
|
||
// The list of projected attributes are in NonKeyAttributes.
|
||
//
|
||
// ALL - All of the table attributes are projected into the index.
|
||
//
|
||
// NonKeyAttributes - A list of one or more non-key attribute names that are
|
||
// projected into the secondary index. The total count of attributes provided
|
||
// in NonKeyAttributes, summed across all of the secondary indexes, must
|
||
// not exceed 20. If you project the same attribute into two different indexes,
|
||
// this counts as two distinct attributes when determining the total.
|
||
//
|
||
// * IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB
|
||
// updates this value approximately every six hours. Recent changes might
|
||
// not be reflected in this value.
|
||
//
|
||
// * ItemCount - Represents the number of items in the index. DynamoDB updates
|
||
// this value approximately every six hours. Recent changes might not be
|
||
// reflected in this value.
|
||
//
|
||
// If the table is in the DELETING state, no information about indexes will
|
||
// be returned.
|
||
LocalSecondaryIndexes []*LocalSecondaryIndexDescription `type:"list"`
|
||
|
||
// The provisioned throughput settings for the table, consisting of read and
|
||
// write capacity units, along with data about increases and decreases.
|
||
ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"`
|
||
|
||
// Contains details for the restore.
|
||
RestoreSummary *RestoreSummary `type:"structure"`
|
||
|
||
// The description of the server-side encryption status on the specified table.
|
||
SSEDescription *SSEDescription `type:"structure"`
|
||
|
||
// The current DynamoDB Streams configuration for the table.
|
||
StreamSpecification *StreamSpecification `type:"structure"`
|
||
|
||
// The Amazon Resource Name (ARN) that uniquely identifies the table.
|
||
TableArn *string `type:"string"`
|
||
|
||
// Unique identifier for the table for which the backup was created.
|
||
TableId *string `type:"string"`
|
||
|
||
// The name of the table.
|
||
TableName *string `min:"3" type:"string"`
|
||
|
||
// The total size of the specified table, in bytes. DynamoDB updates this value
|
||
// approximately every six hours. Recent changes might not be reflected in this
|
||
// value.
|
||
TableSizeBytes *int64 `type:"long"`
|
||
|
||
// The current state of the table:
|
||
//
|
||
// * CREATING - The table is being created.
|
||
//
|
||
// * UPDATING - The table is being updated.
|
||
//
|
||
// * DELETING - The table is being deleted.
|
||
//
|
||
// * ACTIVE - The table is ready for use.
|
||
TableStatus *string `type:"string" enum:"TableStatus"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TableDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TableDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributeDefinitions sets the AttributeDefinitions field's value.
|
||
func (s *TableDescription) SetAttributeDefinitions(v []*AttributeDefinition) *TableDescription {
|
||
s.AttributeDefinitions = v
|
||
return s
|
||
}
|
||
|
||
// SetBillingModeSummary sets the BillingModeSummary field's value.
|
||
func (s *TableDescription) SetBillingModeSummary(v *BillingModeSummary) *TableDescription {
|
||
s.BillingModeSummary = v
|
||
return s
|
||
}
|
||
|
||
// SetCreationDateTime sets the CreationDateTime field's value.
|
||
func (s *TableDescription) SetCreationDateTime(v time.Time) *TableDescription {
|
||
s.CreationDateTime = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
|
||
func (s *TableDescription) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexDescription) *TableDescription {
|
||
s.GlobalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCount sets the ItemCount field's value.
|
||
func (s *TableDescription) SetItemCount(v int64) *TableDescription {
|
||
s.ItemCount = &v
|
||
return s
|
||
}
|
||
|
||
// SetKeySchema sets the KeySchema field's value.
|
||
func (s *TableDescription) SetKeySchema(v []*KeySchemaElement) *TableDescription {
|
||
s.KeySchema = v
|
||
return s
|
||
}
|
||
|
||
// SetLatestStreamArn sets the LatestStreamArn field's value.
|
||
func (s *TableDescription) SetLatestStreamArn(v string) *TableDescription {
|
||
s.LatestStreamArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetLatestStreamLabel sets the LatestStreamLabel field's value.
|
||
func (s *TableDescription) SetLatestStreamLabel(v string) *TableDescription {
|
||
s.LatestStreamLabel = &v
|
||
return s
|
||
}
|
||
|
||
// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
|
||
func (s *TableDescription) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexDescription) *TableDescription {
|
||
s.LocalSecondaryIndexes = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *TableDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *TableDescription {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// SetRestoreSummary sets the RestoreSummary field's value.
|
||
func (s *TableDescription) SetRestoreSummary(v *RestoreSummary) *TableDescription {
|
||
s.RestoreSummary = v
|
||
return s
|
||
}
|
||
|
||
// SetSSEDescription sets the SSEDescription field's value.
|
||
func (s *TableDescription) SetSSEDescription(v *SSEDescription) *TableDescription {
|
||
s.SSEDescription = v
|
||
return s
|
||
}
|
||
|
||
// SetStreamSpecification sets the StreamSpecification field's value.
|
||
func (s *TableDescription) SetStreamSpecification(v *StreamSpecification) *TableDescription {
|
||
s.StreamSpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTableArn sets the TableArn field's value.
|
||
func (s *TableDescription) SetTableArn(v string) *TableDescription {
|
||
s.TableArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableId sets the TableId field's value.
|
||
func (s *TableDescription) SetTableId(v string) *TableDescription {
|
||
s.TableId = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *TableDescription) SetTableName(v string) *TableDescription {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableSizeBytes sets the TableSizeBytes field's value.
|
||
func (s *TableDescription) SetTableSizeBytes(v int64) *TableDescription {
|
||
s.TableSizeBytes = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableStatus sets the TableStatus field's value.
|
||
func (s *TableDescription) SetTableStatus(v string) *TableDescription {
|
||
s.TableStatus = &v
|
||
return s
|
||
}
|
||
|
||
// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to
|
||
// a single DynamoDB table.
|
||
//
|
||
// AWS-assigned tag names and values are automatically assigned the aws: prefix,
|
||
// which the user cannot assign. AWS-assigned tag names do not count towards
|
||
// the tag limit of 50. User-assigned tag names have the prefix user: in the
|
||
// Cost Allocation Report. You cannot backdate the application of a tag.
|
||
//
|
||
// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
type Tag struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only
|
||
// have up to one tag with the same key. If you try to add an existing tag (same
|
||
// key), the existing tag value will be updated to the new value.
|
||
//
|
||
// Key is a required field
|
||
Key *string `min:"1" type:"string" required:"true"`
|
||
|
||
// The value of the tag. Tag values are case-sensitive and can be null.
|
||
//
|
||
// Value is a required field
|
||
Value *string `type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Tag) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Tag) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Tag) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Tag"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.Key != nil && len(*s.Key) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("Key", 1))
|
||
}
|
||
if s.Value == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Value"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *Tag) SetKey(v string) *Tag {
|
||
s.Key = &v
|
||
return s
|
||
}
|
||
|
||
// SetValue sets the Value field's value.
|
||
func (s *Tag) SetValue(v string) *Tag {
|
||
s.Value = &v
|
||
return s
|
||
}
|
||
|
||
type TagResourceInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Identifies the Amazon DynamoDB resource to which tags should be added. This
|
||
// value is an Amazon Resource Name (ARN).
|
||
//
|
||
// ResourceArn is a required field
|
||
ResourceArn *string `min:"1" type:"string" required:"true"`
|
||
|
||
// The tags to be assigned to the Amazon DynamoDB resource.
|
||
//
|
||
// Tags is a required field
|
||
Tags []*Tag `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TagResourceInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TagResourceInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TagResourceInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
|
||
if s.ResourceArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
|
||
}
|
||
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
|
||
}
|
||
if s.Tags == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Tags"))
|
||
}
|
||
if s.Tags != nil {
|
||
for i, v := range s.Tags {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetResourceArn sets the ResourceArn field's value.
|
||
func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
|
||
s.ResourceArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTags sets the Tags field's value.
|
||
func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
|
||
s.Tags = v
|
||
return s
|
||
}
|
||
|
||
type TagResourceOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TagResourceOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TagResourceOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// The description of the Time to Live (TTL) status on the specified table.
|
||
type TimeToLiveDescription struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the Time to Live attribute for items in the table.
|
||
AttributeName *string `min:"1" type:"string"`
|
||
|
||
// The Time to Live status for the table.
|
||
TimeToLiveStatus *string `type:"string" enum:"TimeToLiveStatus"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TimeToLiveDescription) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TimeToLiveDescription) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributeName sets the AttributeName field's value.
|
||
func (s *TimeToLiveDescription) SetAttributeName(v string) *TimeToLiveDescription {
|
||
s.AttributeName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimeToLiveStatus sets the TimeToLiveStatus field's value.
|
||
func (s *TimeToLiveDescription) SetTimeToLiveStatus(v string) *TimeToLiveDescription {
|
||
s.TimeToLiveStatus = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the settings used to enable or disable Time to Live for the specified
|
||
// table.
|
||
type TimeToLiveSpecification struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the Time to Live attribute used to store the expiration time
|
||
// for items in the table.
|
||
//
|
||
// AttributeName is a required field
|
||
AttributeName *string `min:"1" type:"string" required:"true"`
|
||
|
||
// Indicates whether Time To Live is to be enabled (true) or disabled (false)
|
||
// on the table.
|
||
//
|
||
// Enabled is a required field
|
||
Enabled *bool `type:"boolean" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TimeToLiveSpecification) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TimeToLiveSpecification) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TimeToLiveSpecification) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TimeToLiveSpecification"}
|
||
if s.AttributeName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("AttributeName"))
|
||
}
|
||
if s.AttributeName != nil && len(*s.AttributeName) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
|
||
}
|
||
if s.Enabled == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Enabled"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeName sets the AttributeName field's value.
|
||
func (s *TimeToLiveSpecification) SetAttributeName(v string) *TimeToLiveSpecification {
|
||
s.AttributeName = &v
|
||
return s
|
||
}
|
||
|
||
// SetEnabled sets the Enabled field's value.
|
||
func (s *TimeToLiveSpecification) SetEnabled(v bool) *TimeToLiveSpecification {
|
||
s.Enabled = &v
|
||
return s
|
||
}
|
||
|
||
// Specifies an item to be retrieved as part of the transaction.
|
||
type TransactGetItem struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the primary key that identifies the item to get, together with the
|
||
// name of the table that contains the item, and optionally the specific attributes
|
||
// of the item to retrieve.
|
||
//
|
||
// Get is a required field
|
||
Get *Get `type:"structure" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactGetItem) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactGetItem) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TransactGetItem) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TransactGetItem"}
|
||
if s.Get == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Get"))
|
||
}
|
||
if s.Get != nil {
|
||
if err := s.Get.Validate(); err != nil {
|
||
invalidParams.AddNested("Get", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGet sets the Get field's value.
|
||
func (s *TransactGetItem) SetGet(v *Get) *TransactGetItem {
|
||
s.Get = v
|
||
return s
|
||
}
|
||
|
||
type TransactGetItemsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A value of TOTAL causes consumed capacity information to be returned, and
|
||
// a value of NONE prevents that information from being returned. No other value
|
||
// is valid.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// An ordered array of up to 10 TransactGetItem objects, each of which contains
|
||
// a Get structure.
|
||
//
|
||
// TransactItems is a required field
|
||
TransactItems []*TransactGetItem `min:"1" type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactGetItemsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactGetItemsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TransactGetItemsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TransactGetItemsInput"}
|
||
if s.TransactItems == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TransactItems"))
|
||
}
|
||
if s.TransactItems != nil && len(s.TransactItems) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1))
|
||
}
|
||
if s.TransactItems != nil {
|
||
for i, v := range s.TransactItems {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *TransactGetItemsInput) SetReturnConsumedCapacity(v string) *TransactGetItemsInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetTransactItems sets the TransactItems field's value.
|
||
func (s *TransactGetItemsInput) SetTransactItems(v []*TransactGetItem) *TransactGetItemsInput {
|
||
s.TransactItems = v
|
||
return s
|
||
}
|
||
|
||
type TransactGetItemsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// If the ReturnConsumedCapacity value was TOTAL, this is an array of ConsumedCapacity
|
||
// objects, one for each table addressed by TransactGetItem objects in the TransactItems
|
||
// parameter. These ConsumedCapacity objects report the read-capacity units
|
||
// consumed by the TransactGetItems call in that table.
|
||
ConsumedCapacity []*ConsumedCapacity `type:"list"`
|
||
|
||
// An ordered array of up to 10 ItemResponse objects, each of which corresponds
|
||
// to the TransactGetItem object in the same position in the TransactItems array.
|
||
// Each ItemResponse object contains a Map of the name-value pairs that are
|
||
// the projected attributes of the requested item.
|
||
//
|
||
// If a requested item could not be retrieved, the corresponding ItemResponse
|
||
// object is Null, or if the requested item has no projected attributes, the
|
||
// corresponding ItemResponse object is an empty Map.
|
||
Responses []*ItemResponse `min:"1" type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactGetItemsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactGetItemsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *TransactGetItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactGetItemsOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetResponses sets the Responses field's value.
|
||
func (s *TransactGetItemsOutput) SetResponses(v []*ItemResponse) *TransactGetItemsOutput {
|
||
s.Responses = v
|
||
return s
|
||
}
|
||
|
||
// A list of requests that can perform update, put, delete, or check operations
|
||
// on multiple items in one or more tables atomically.
|
||
type TransactWriteItem struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A request to perform a check item operation.
|
||
ConditionCheck *ConditionCheck `type:"structure"`
|
||
|
||
// A request to perform a DeleteItem operation.
|
||
Delete *Delete `type:"structure"`
|
||
|
||
// A request to perform a PutItem operation.
|
||
Put *Put `type:"structure"`
|
||
|
||
// A request to perform an UpdateItem operation.
|
||
Update *Update `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactWriteItem) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactWriteItem) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TransactWriteItem) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TransactWriteItem"}
|
||
if s.ConditionCheck != nil {
|
||
if err := s.ConditionCheck.Validate(); err != nil {
|
||
invalidParams.AddNested("ConditionCheck", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Delete != nil {
|
||
if err := s.Delete.Validate(); err != nil {
|
||
invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Put != nil {
|
||
if err := s.Put.Validate(); err != nil {
|
||
invalidParams.AddNested("Put", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.Update != nil {
|
||
if err := s.Update.Validate(); err != nil {
|
||
invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionCheck sets the ConditionCheck field's value.
|
||
func (s *TransactWriteItem) SetConditionCheck(v *ConditionCheck) *TransactWriteItem {
|
||
s.ConditionCheck = v
|
||
return s
|
||
}
|
||
|
||
// SetDelete sets the Delete field's value.
|
||
func (s *TransactWriteItem) SetDelete(v *Delete) *TransactWriteItem {
|
||
s.Delete = v
|
||
return s
|
||
}
|
||
|
||
// SetPut sets the Put field's value.
|
||
func (s *TransactWriteItem) SetPut(v *Put) *TransactWriteItem {
|
||
s.Put = v
|
||
return s
|
||
}
|
||
|
||
// SetUpdate sets the Update field's value.
|
||
func (s *TransactWriteItem) SetUpdate(v *Update) *TransactWriteItem {
|
||
s.Update = v
|
||
return s
|
||
}
|
||
|
||
type TransactWriteItemsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Providing a ClientRequestToken makes the call to TransactWriteItems idempotent,
|
||
// meaning that multiple identical calls have the same effect as one single
|
||
// call.
|
||
//
|
||
// Although multiple identical calls using the same client request token produce
|
||
// the same result on the server (no side effects), the responses to the calls
|
||
// may not be the same. If the ReturnConsumedCapacity> parameter is set, then
|
||
// the initial TransactWriteItems call returns the amount of write capacity
|
||
// units consumed in making the changes, and subsequent TransactWriteItems calls
|
||
// with the same client token return the amount of read capacity units consumed
|
||
// in reading the item.
|
||
//
|
||
// A client request token is valid for 10 minutes after the first request that
|
||
// uses it completes. After 10 minutes, any request with the same client token
|
||
// is treated as a new request. Do not resubmit the same request with the same
|
||
// client token for more than 10 minutes or the result may not be idempotent.
|
||
//
|
||
// If you submit a request with the same client token but a change in other
|
||
// parameters within the 10 minute idempotency window, DynamoDB returns an IdempotentParameterMismatch
|
||
// exception.
|
||
ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Determines whether item collection metrics are returned. If set to SIZE,
|
||
// the response includes statistics about item collections (if any), that were
|
||
// modified during the operation and are returned in the response. If set to
|
||
// NONE (the default), no statistics are returned.
|
||
ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
|
||
|
||
// An ordered array of up to 10 TransactWriteItem objects, each of which contains
|
||
// a ConditionCheck, Put, Update, or Delete object. These can operate on items
|
||
// in different tables, but the tables must reside in the same AWS account and
|
||
// region, and no two of them can operate on the same item.
|
||
//
|
||
// TransactItems is a required field
|
||
TransactItems []*TransactWriteItem `min:"1" type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactWriteItemsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactWriteItemsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *TransactWriteItemsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"}
|
||
if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
|
||
}
|
||
if s.TransactItems == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TransactItems"))
|
||
}
|
||
if s.TransactItems != nil && len(s.TransactItems) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1))
|
||
}
|
||
if s.TransactItems != nil {
|
||
for i, v := range s.TransactItems {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetClientRequestToken sets the ClientRequestToken field's value.
|
||
func (s *TransactWriteItemsInput) SetClientRequestToken(v string) *TransactWriteItemsInput {
|
||
s.ClientRequestToken = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *TransactWriteItemsInput) SetReturnConsumedCapacity(v string) *TransactWriteItemsInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
|
||
func (s *TransactWriteItemsInput) SetReturnItemCollectionMetrics(v string) *TransactWriteItemsInput {
|
||
s.ReturnItemCollectionMetrics = &v
|
||
return s
|
||
}
|
||
|
||
// SetTransactItems sets the TransactItems field's value.
|
||
func (s *TransactWriteItemsInput) SetTransactItems(v []*TransactWriteItem) *TransactWriteItemsInput {
|
||
s.TransactItems = v
|
||
return s
|
||
}
|
||
|
||
type TransactWriteItemsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The capacity units consumed by the entire TransactWriteItems operation. The
|
||
// values of the list are ordered according to the ordering of the TransactItems
|
||
// request parameter.
|
||
ConsumedCapacity []*ConsumedCapacity `type:"list"`
|
||
|
||
// A list of tables that were processed by TransactWriteItems and, for each
|
||
// table, information about any item collections that were affected by individual
|
||
// UpdateItem, PutItem or DeleteItem operations.
|
||
ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s TransactWriteItemsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s TransactWriteItemsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *TransactWriteItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactWriteItemsOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
|
||
func (s *TransactWriteItemsOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *TransactWriteItemsOutput {
|
||
s.ItemCollectionMetrics = v
|
||
return s
|
||
}
|
||
|
||
type UntagResourceInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The Amazon DyanamoDB resource the tags will be removed from. This value is
|
||
// an Amazon Resource Name (ARN).
|
||
//
|
||
// ResourceArn is a required field
|
||
ResourceArn *string `min:"1" type:"string" required:"true"`
|
||
|
||
// A list of tag keys. Existing tags of the resource whose keys are members
|
||
// of this list will be removed from the Amazon DynamoDB resource.
|
||
//
|
||
// TagKeys is a required field
|
||
TagKeys []*string `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UntagResourceInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UntagResourceInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UntagResourceInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
|
||
if s.ResourceArn == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
|
||
}
|
||
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
|
||
}
|
||
if s.TagKeys == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetResourceArn sets the ResourceArn field's value.
|
||
func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
|
||
s.ResourceArn = &v
|
||
return s
|
||
}
|
||
|
||
// SetTagKeys sets the TagKeys field's value.
|
||
func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
|
||
s.TagKeys = v
|
||
return s
|
||
}
|
||
|
||
type UntagResourceOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UntagResourceOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UntagResourceOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Represents a request to perform an UpdateItem operation.
|
||
type Update struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A condition that must be satisfied in order for a conditional update to succeed.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// The primary key of the item to be updated. Each element consists of an attribute
|
||
// name and a value for that attribute.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
|
||
// Update condition fails. For ReturnValuesOnConditionCheckFailure, the valid
|
||
// values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.
|
||
ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
|
||
|
||
// Name of the table for the UpdateItem request.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// An expression that defines one or more attributes to be updated, the action
|
||
// to be performed on them, and new value(s) for them.
|
||
//
|
||
// UpdateExpression is a required field
|
||
UpdateExpression *string `type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s Update) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s Update) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *Update) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "Update"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.UpdateExpression == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("UpdateExpression"))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *Update) SetConditionExpression(v string) *Update {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *Update) SetExpressionAttributeNames(v map[string]*string) *Update {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *Update) SetExpressionAttributeValues(v map[string]*AttributeValue) *Update {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *Update) SetKey(v map[string]*AttributeValue) *Update {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
|
||
func (s *Update) SetReturnValuesOnConditionCheckFailure(v string) *Update {
|
||
s.ReturnValuesOnConditionCheckFailure = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *Update) SetTableName(v string) *Update {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetUpdateExpression sets the UpdateExpression field's value.
|
||
func (s *Update) SetUpdateExpression(v string) *Update {
|
||
s.UpdateExpression = &v
|
||
return s
|
||
}
|
||
|
||
type UpdateContinuousBackupsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the settings used to enable point in time recovery.
|
||
//
|
||
// PointInTimeRecoverySpecification is a required field
|
||
PointInTimeRecoverySpecification *PointInTimeRecoverySpecification `type:"structure" required:"true"`
|
||
|
||
// The name of the table.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateContinuousBackupsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateContinuousBackupsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateContinuousBackupsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateContinuousBackupsInput"}
|
||
if s.PointInTimeRecoverySpecification == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoverySpecification"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.PointInTimeRecoverySpecification != nil {
|
||
if err := s.PointInTimeRecoverySpecification.Validate(); err != nil {
|
||
invalidParams.AddNested("PointInTimeRecoverySpecification", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetPointInTimeRecoverySpecification sets the PointInTimeRecoverySpecification field's value.
|
||
func (s *UpdateContinuousBackupsInput) SetPointInTimeRecoverySpecification(v *PointInTimeRecoverySpecification) *UpdateContinuousBackupsInput {
|
||
s.PointInTimeRecoverySpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *UpdateContinuousBackupsInput) SetTableName(v string) *UpdateContinuousBackupsInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
type UpdateContinuousBackupsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the continuous backups and point in time recovery settings on
|
||
// the table.
|
||
ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateContinuousBackupsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateContinuousBackupsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value.
|
||
func (s *UpdateContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *UpdateContinuousBackupsOutput {
|
||
s.ContinuousBackupsDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents the new provisioned throughput settings to be applied to a global
|
||
// secondary index.
|
||
type UpdateGlobalSecondaryIndexAction struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global secondary index to be updated.
|
||
//
|
||
// IndexName is a required field
|
||
IndexName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Represents the provisioned throughput settings for the specified global secondary
|
||
// index.
|
||
//
|
||
// For current minimum and maximum provisioned throughput values, see Limits
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
//
|
||
// ProvisionedThroughput is a required field
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateGlobalSecondaryIndexAction) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateGlobalSecondaryIndexAction) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateGlobalSecondaryIndexAction) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalSecondaryIndexAction"}
|
||
if s.IndexName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("IndexName"))
|
||
}
|
||
if s.IndexName != nil && len(*s.IndexName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
|
||
}
|
||
if s.ProvisionedThroughput == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ProvisionedThroughput"))
|
||
}
|
||
if s.ProvisionedThroughput != nil {
|
||
if err := s.ProvisionedThroughput.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetIndexName sets the IndexName field's value.
|
||
func (s *UpdateGlobalSecondaryIndexAction) SetIndexName(v string) *UpdateGlobalSecondaryIndexAction {
|
||
s.IndexName = &v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *UpdateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateGlobalSecondaryIndexAction {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
type UpdateGlobalTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The global table name.
|
||
//
|
||
// GlobalTableName is a required field
|
||
GlobalTableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// A list of regions that should be added or removed from the global table.
|
||
//
|
||
// ReplicaUpdates is a required field
|
||
ReplicaUpdates []*ReplicaUpdate `type:"list" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateGlobalTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateGlobalTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateGlobalTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableInput"}
|
||
if s.GlobalTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
|
||
}
|
||
if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
|
||
}
|
||
if s.ReplicaUpdates == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("ReplicaUpdates"))
|
||
}
|
||
if s.ReplicaUpdates != nil {
|
||
for i, v := range s.ReplicaUpdates {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *UpdateGlobalTableInput) SetGlobalTableName(v string) *UpdateGlobalTableInput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaUpdates sets the ReplicaUpdates field's value.
|
||
func (s *UpdateGlobalTableInput) SetReplicaUpdates(v []*ReplicaUpdate) *UpdateGlobalTableInput {
|
||
s.ReplicaUpdates = v
|
||
return s
|
||
}
|
||
|
||
type UpdateGlobalTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Contains the details of the global table.
|
||
GlobalTableDescription *GlobalTableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateGlobalTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateGlobalTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableDescription sets the GlobalTableDescription field's value.
|
||
func (s *UpdateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *UpdateGlobalTableOutput {
|
||
s.GlobalTableDescription = v
|
||
return s
|
||
}
|
||
|
||
type UpdateGlobalTableSettingsInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The billing mode of the global table. If GlobalTableBillingMode is not specified,
|
||
// the global table defaults to PROVISIONED capacity billing mode.
|
||
GlobalTableBillingMode *string `type:"string" enum:"BillingMode"`
|
||
|
||
// Represents the settings of a global secondary index for a global table that
|
||
// will be modified.
|
||
GlobalTableGlobalSecondaryIndexSettingsUpdate []*GlobalTableGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"`
|
||
|
||
// The name of the global table
|
||
//
|
||
// GlobalTableName is a required field
|
||
GlobalTableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// AutoScaling settings for managing provisioned write capacity for the global
|
||
// table.
|
||
GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
|
||
|
||
// The maximum number of writes consumed per second before DynamoDB returns
|
||
// a ThrottlingException.
|
||
GlobalTableProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
|
||
|
||
// Represents the settings for a global table in a region that will be modified.
|
||
ReplicaSettingsUpdate []*ReplicaSettingsUpdate `min:"1" type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateGlobalTableSettingsInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateGlobalTableSettingsInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateGlobalTableSettingsInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableSettingsInput"}
|
||
if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil && len(s.GlobalTableGlobalSecondaryIndexSettingsUpdate) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableGlobalSecondaryIndexSettingsUpdate", 1))
|
||
}
|
||
if s.GlobalTableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
|
||
}
|
||
if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
|
||
}
|
||
if s.GlobalTableProvisionedWriteCapacityUnits != nil && *s.GlobalTableProvisionedWriteCapacityUnits < 1 {
|
||
invalidParams.Add(request.NewErrParamMinValue("GlobalTableProvisionedWriteCapacityUnits", 1))
|
||
}
|
||
if s.ReplicaSettingsUpdate != nil && len(s.ReplicaSettingsUpdate) < 1 {
|
||
invalidParams.Add(request.NewErrParamMinLen("ReplicaSettingsUpdate", 1))
|
||
}
|
||
if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil {
|
||
for i, v := range s.GlobalTableGlobalSecondaryIndexSettingsUpdate {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalTableGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate != nil {
|
||
if err := s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
|
||
invalidParams.AddNested("GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
if s.ReplicaSettingsUpdate != nil {
|
||
for i, v := range s.ReplicaSettingsUpdate {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaSettingsUpdate", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetGlobalTableBillingMode sets the GlobalTableBillingMode field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetGlobalTableBillingMode(v string) *UpdateGlobalTableSettingsInput {
|
||
s.GlobalTableBillingMode = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableGlobalSecondaryIndexSettingsUpdate sets the GlobalTableGlobalSecondaryIndexSettingsUpdate field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetGlobalTableGlobalSecondaryIndexSettingsUpdate(v []*GlobalTableGlobalSecondaryIndexSettingsUpdate) *UpdateGlobalTableSettingsInput {
|
||
s.GlobalTableGlobalSecondaryIndexSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsInput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate sets the GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *UpdateGlobalTableSettingsInput {
|
||
s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalTableProvisionedWriteCapacityUnits sets the GlobalTableProvisionedWriteCapacityUnits field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityUnits(v int64) *UpdateGlobalTableSettingsInput {
|
||
s.GlobalTableProvisionedWriteCapacityUnits = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaSettingsUpdate sets the ReplicaSettingsUpdate field's value.
|
||
func (s *UpdateGlobalTableSettingsInput) SetReplicaSettingsUpdate(v []*ReplicaSettingsUpdate) *UpdateGlobalTableSettingsInput {
|
||
s.ReplicaSettingsUpdate = v
|
||
return s
|
||
}
|
||
|
||
type UpdateGlobalTableSettingsOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the global table.
|
||
GlobalTableName *string `min:"3" type:"string"`
|
||
|
||
// The region specific settings for the global table.
|
||
ReplicaSettings []*ReplicaSettingsDescription `type:"list"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateGlobalTableSettingsOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateGlobalTableSettingsOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetGlobalTableName sets the GlobalTableName field's value.
|
||
func (s *UpdateGlobalTableSettingsOutput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsOutput {
|
||
s.GlobalTableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetReplicaSettings sets the ReplicaSettings field's value.
|
||
func (s *UpdateGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *UpdateGlobalTableSettingsOutput {
|
||
s.ReplicaSettings = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of an UpdateItem operation.
|
||
type UpdateItemInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// This is a legacy parameter. Use UpdateExpression instead. For more information,
|
||
// see AttributeUpdates (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
AttributeUpdates map[string]*AttributeValueUpdate `type:"map"`
|
||
|
||
// A condition that must be satisfied in order for a conditional update to succeed.
|
||
//
|
||
// An expression can contain any of the following:
|
||
//
|
||
// * Functions: attribute_exists | attribute_not_exists | attribute_type
|
||
// | contains | begins_with | size
|
||
//
|
||
// These function names are case-sensitive.
|
||
//
|
||
// * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
|
||
//
|
||
// * Logical operators: AND | OR | NOT
|
||
//
|
||
// For more information on condition expressions, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionExpression *string `type:"string"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
|
||
|
||
// This is a legacy parameter. Use ConditionExpression instead. For more information,
|
||
// see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
Expected map[string]*ExpectedAttributeValue `type:"map"`
|
||
|
||
// One or more substitution tokens for attribute names in an expression. The
|
||
// following are some use cases for using ExpressionAttributeNames:
|
||
//
|
||
// * To access an attribute whose name conflicts with a DynamoDB reserved
|
||
// word.
|
||
//
|
||
// * To create a placeholder for repeating occurrences of an attribute name
|
||
// in an expression.
|
||
//
|
||
// * To prevent special characters in an attribute name from being misinterpreted
|
||
// in an expression.
|
||
//
|
||
// Use the # character in an expression to dereference an attribute name. For
|
||
// example, consider the following attribute name:
|
||
//
|
||
// * Percentile
|
||
//
|
||
// The name of this attribute conflicts with a reserved word, so it cannot be
|
||
// used directly in an expression. (For the complete list of reserved words,
|
||
// see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
|
||
// in the Amazon DynamoDB Developer Guide). To work around this, you could specify
|
||
// the following for ExpressionAttributeNames:
|
||
//
|
||
// * {"#P":"Percentile"}
|
||
//
|
||
// You could then use this substitution in an expression, as in this example:
|
||
//
|
||
// * #P = :val
|
||
//
|
||
// Tokens that begin with the : character are expression attribute values, which
|
||
// are placeholders for the actual value at runtime.
|
||
//
|
||
// For more information on expression attribute names, see Accessing Item Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeNames map[string]*string `type:"map"`
|
||
|
||
// One or more values that can be substituted in an expression.
|
||
//
|
||
// Use the : (colon) character in an expression to dereference an attribute
|
||
// value. For example, suppose that you wanted to check whether the value of
|
||
// the ProductStatus attribute was one of the following:
|
||
//
|
||
// Available | Backordered | Discontinued
|
||
//
|
||
// You would first need to specify ExpressionAttributeValues as follows:
|
||
//
|
||
// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
|
||
// }
|
||
//
|
||
// You could then use these values in an expression, such as this:
|
||
//
|
||
// ProductStatus IN (:avail, :back, :disc)
|
||
//
|
||
// For more information on expression attribute values, see Specifying Conditions
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
|
||
|
||
// The primary key of the item to be updated. Each element consists of an attribute
|
||
// name and a value for that attribute.
|
||
//
|
||
// For the primary key, you must provide all of the attributes. For example,
|
||
// with a simple primary key, you only need to provide a value for the partition
|
||
// key. For a composite primary key, you must provide values for both the partition
|
||
// key and the sort key.
|
||
//
|
||
// Key is a required field
|
||
Key map[string]*AttributeValue `type:"map" required:"true"`
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
|
||
|
||
// Determines whether item collection metrics are returned. If set to SIZE,
|
||
// the response includes statistics about item collections, if any, that were
|
||
// modified during the operation are returned in the response. If set to NONE
|
||
// (the default), no statistics are returned.
|
||
ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
|
||
|
||
// Use ReturnValues if you want to get the item attributes as they appear before
|
||
// or after they are updated. For UpdateItem, the valid values are:
|
||
//
|
||
// * NONE - If ReturnValues is not specified, or if its value is NONE, then
|
||
// nothing is returned. (This setting is the default for ReturnValues.)
|
||
//
|
||
// * ALL_OLD - Returns all of the attributes of the item, as they appeared
|
||
// before the UpdateItem operation.
|
||
//
|
||
// * UPDATED_OLD - Returns only the updated attributes, as they appeared
|
||
// before the UpdateItem operation.
|
||
//
|
||
// * ALL_NEW - Returns all of the attributes of the item, as they appear
|
||
// after the UpdateItem operation.
|
||
//
|
||
// * UPDATED_NEW - Returns only the updated attributes, as they appear after
|
||
// the UpdateItem operation.
|
||
//
|
||
// There is no additional cost associated with requesting a return value aside
|
||
// from the small network and processing overhead of receiving a larger response.
|
||
// No read capacity units are consumed.
|
||
//
|
||
// The values returned are strongly consistent.
|
||
ReturnValues *string `type:"string" enum:"ReturnValue"`
|
||
|
||
// The name of the table containing the item to update.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// An expression that defines one or more attributes to be updated, the action
|
||
// to be performed on them, and new value(s) for them.
|
||
//
|
||
// The following action values are available for UpdateExpression.
|
||
//
|
||
// * SET - Adds one or more attributes and values to an item. If any of these
|
||
// attribute already exist, they are replaced by the new values. You can
|
||
// also use SET to add or subtract from an attribute that is of type Number.
|
||
// For example: SET myNum = myNum + :val
|
||
//
|
||
// SET supports the following functions:
|
||
//
|
||
// if_not_exists (path, operand) - if the item does not contain an attribute
|
||
// at the specified path, then if_not_exists evaluates to operand; otherwise,
|
||
// it evaluates to path. You can use this function to avoid overwriting an
|
||
// attribute that may already be present in the item.
|
||
//
|
||
// list_append (operand, operand) - evaluates to a list with a new element added
|
||
// to it. You can append the new element to the start or the end of the list
|
||
// by reversing the order of the operands.
|
||
//
|
||
// These function names are case-sensitive.
|
||
//
|
||
// * REMOVE - Removes one or more attributes from an item.
|
||
//
|
||
// * ADD - Adds the specified value to the item, if the attribute does not
|
||
// already exist. If the attribute does exist, then the behavior of ADD depends
|
||
// on the data type of the attribute:
|
||
//
|
||
// If the existing attribute is a number, and if Value is also a number, then
|
||
// Value is mathematically added to the existing attribute. If Value is a
|
||
// negative number, then it is subtracted from the existing attribute.
|
||
//
|
||
// If you use ADD to increment or decrement a number value for an item that
|
||
// doesn't exist before the update, DynamoDB uses 0 as the initial value.
|
||
//
|
||
// Similarly, if you use ADD for an existing item to increment or decrement
|
||
// an attribute value that doesn't exist before the update, DynamoDB uses
|
||
// 0 as the initial value. For example, suppose that the item you want to
|
||
// update doesn't have an attribute named itemcount, but you decide to ADD
|
||
// the number 3 to this attribute anyway. DynamoDB will create the itemcount
|
||
// attribute, set its initial value to 0, and finally add 3 to it. The result
|
||
// will be a new itemcount attribute in the item, with a value of 3.
|
||
//
|
||
// If the existing data type is a set and if Value is also a set, then Value
|
||
// is added to the existing set. For example, if the attribute value is the
|
||
// set [1,2], and the ADD action specified [3], then the final attribute
|
||
// value is [1,2,3]. An error occurs if an ADD action is specified for a
|
||
// set attribute and the attribute type specified does not match the existing
|
||
// set type.
|
||
//
|
||
// Both sets must have the same primitive data type. For example, if the existing
|
||
// data type is a set of strings, the Value must also be a set of strings.
|
||
//
|
||
// The ADD action only supports Number and set data types. In addition, ADD
|
||
// can only be used on top-level attributes, not nested attributes.
|
||
//
|
||
// * DELETE - Deletes an element from a set.
|
||
//
|
||
// If a set of values is specified, then those values are subtracted from the
|
||
// old set. For example, if the attribute value was the set [a,b,c] and the
|
||
// DELETE action specifies [a,c], then the final attribute value is [b].
|
||
// Specifying an empty set is an error.
|
||
//
|
||
// The DELETE action only supports set data types. In addition, DELETE can only
|
||
// be used on top-level attributes, not nested attributes.
|
||
//
|
||
// You can have many actions in a single expression, such as the following:
|
||
// SET a=:value1, b=:value2 DELETE :value3, :value4, :value5
|
||
//
|
||
// For more information on update expressions, see Modifying Items and Attributes
|
||
// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
UpdateExpression *string `type:"string"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateItemInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateItemInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateItemInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateItemInput"}
|
||
if s.Key == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||
}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeUpdates sets the AttributeUpdates field's value.
|
||
func (s *UpdateItemInput) SetAttributeUpdates(v map[string]*AttributeValueUpdate) *UpdateItemInput {
|
||
s.AttributeUpdates = v
|
||
return s
|
||
}
|
||
|
||
// SetConditionExpression sets the ConditionExpression field's value.
|
||
func (s *UpdateItemInput) SetConditionExpression(v string) *UpdateItemInput {
|
||
s.ConditionExpression = &v
|
||
return s
|
||
}
|
||
|
||
// SetConditionalOperator sets the ConditionalOperator field's value.
|
||
func (s *UpdateItemInput) SetConditionalOperator(v string) *UpdateItemInput {
|
||
s.ConditionalOperator = &v
|
||
return s
|
||
}
|
||
|
||
// SetExpected sets the Expected field's value.
|
||
func (s *UpdateItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *UpdateItemInput {
|
||
s.Expected = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
|
||
func (s *UpdateItemInput) SetExpressionAttributeNames(v map[string]*string) *UpdateItemInput {
|
||
s.ExpressionAttributeNames = v
|
||
return s
|
||
}
|
||
|
||
// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
|
||
func (s *UpdateItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *UpdateItemInput {
|
||
s.ExpressionAttributeValues = v
|
||
return s
|
||
}
|
||
|
||
// SetKey sets the Key field's value.
|
||
func (s *UpdateItemInput) SetKey(v map[string]*AttributeValue) *UpdateItemInput {
|
||
s.Key = v
|
||
return s
|
||
}
|
||
|
||
// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
|
||
func (s *UpdateItemInput) SetReturnConsumedCapacity(v string) *UpdateItemInput {
|
||
s.ReturnConsumedCapacity = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
|
||
func (s *UpdateItemInput) SetReturnItemCollectionMetrics(v string) *UpdateItemInput {
|
||
s.ReturnItemCollectionMetrics = &v
|
||
return s
|
||
}
|
||
|
||
// SetReturnValues sets the ReturnValues field's value.
|
||
func (s *UpdateItemInput) SetReturnValues(v string) *UpdateItemInput {
|
||
s.ReturnValues = &v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *UpdateItemInput) SetTableName(v string) *UpdateItemInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetUpdateExpression sets the UpdateExpression field's value.
|
||
func (s *UpdateItemInput) SetUpdateExpression(v string) *UpdateItemInput {
|
||
s.UpdateExpression = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of an UpdateItem operation.
|
||
type UpdateItemOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A map of attribute values as they appear before or after the UpdateItem operation,
|
||
// as determined by the ReturnValues parameter.
|
||
//
|
||
// The Attributes map is only present if ReturnValues was specified as something
|
||
// other than NONE in the request. Each element represents one attribute.
|
||
Attributes map[string]*AttributeValue `type:"map"`
|
||
|
||
// The capacity units consumed by the UpdateItem operation. The data returned
|
||
// includes the total provisioned throughput consumed, along with statistics
|
||
// for the table and any indexes involved in the operation. ConsumedCapacity
|
||
// is only returned if the ReturnConsumedCapacity parameter was specified. For
|
||
// more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
ConsumedCapacity *ConsumedCapacity `type:"structure"`
|
||
|
||
// Information about item collections, if any, that were affected by the UpdateItem
|
||
// operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
|
||
// parameter was specified. If the table does not have any local secondary indexes,
|
||
// this information is not returned in the response.
|
||
//
|
||
// Each ItemCollectionMetrics element consists of:
|
||
//
|
||
// * ItemCollectionKey - The partition key value of the item collection.
|
||
// This is the same as the partition key value of the item itself.
|
||
//
|
||
// * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
|
||
// This value is a two-element array containing a lower bound and an upper
|
||
// bound for the estimate. The estimate includes the size of all the items
|
||
// in the table, plus the size of all attributes projected into all of the
|
||
// local secondary indexes on that table. Use this estimate to measure whether
|
||
// a local secondary index is approaching its size limit.
|
||
//
|
||
// The estimate is subject to change over time; therefore, do not rely on the
|
||
// precision or accuracy of the estimate.
|
||
ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateItemOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateItemOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetAttributes sets the Attributes field's value.
|
||
func (s *UpdateItemOutput) SetAttributes(v map[string]*AttributeValue) *UpdateItemOutput {
|
||
s.Attributes = v
|
||
return s
|
||
}
|
||
|
||
// SetConsumedCapacity sets the ConsumedCapacity field's value.
|
||
func (s *UpdateItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *UpdateItemOutput {
|
||
s.ConsumedCapacity = v
|
||
return s
|
||
}
|
||
|
||
// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
|
||
func (s *UpdateItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *UpdateItemOutput {
|
||
s.ItemCollectionMetrics = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of an UpdateTable operation.
|
||
type UpdateTableInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// An array of attributes that describe the key schema for the table and indexes.
|
||
// If you are adding a new global secondary index to the table, AttributeDefinitions
|
||
// must include the key element(s) of the new index.
|
||
AttributeDefinitions []*AttributeDefinition `type:"list"`
|
||
|
||
// Controls how you are charged for read and write throughput and how you manage
|
||
// capacity. When switching from pay-per-request to provisioned capacity, initial
|
||
// provisioned capacity values must be set. The initial provisioned capacity
|
||
// values are estimated based on the consumed read and write capacity of your
|
||
// table and global secondary indexes over the past 30 minutes.
|
||
//
|
||
// * PROVISIONED - Sets the billing mode to PROVISIONED. We recommend using
|
||
// PROVISIONED for predictable workloads.
|
||
//
|
||
// * PAY_PER_REQUEST - Sets the billing mode to PAY_PER_REQUEST. We recommend
|
||
// using PAY_PER_REQUEST for unpredictable workloads.
|
||
BillingMode *string `type:"string" enum:"BillingMode"`
|
||
|
||
// An array of one or more global secondary indexes for the table. For each
|
||
// index in the array, you can request one action:
|
||
//
|
||
// * Create - add a new global secondary index to the table.
|
||
//
|
||
// * Update - modify the provisioned throughput settings of an existing global
|
||
// secondary index.
|
||
//
|
||
// * Delete - remove a global secondary index from the table.
|
||
//
|
||
// For more information, see Managing Global Secondary Indexes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html)
|
||
// in the Amazon DynamoDB Developer Guide.
|
||
GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"`
|
||
|
||
// The new provisioned throughput settings for the specified table or index.
|
||
ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
|
||
|
||
// The new server-side encryption settings for the specified table.
|
||
SSESpecification *SSESpecification `type:"structure"`
|
||
|
||
// Represents the DynamoDB Streams configuration for the table.
|
||
//
|
||
// You will receive a ResourceInUseException if you attempt to enable a stream
|
||
// on a table that already has a stream, or if you attempt to disable a stream
|
||
// on a table which does not have a stream.
|
||
StreamSpecification *StreamSpecification `type:"structure"`
|
||
|
||
// The name of the table to be updated.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateTableInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateTableInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateTableInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.AttributeDefinitions != nil {
|
||
for i, v := range s.AttributeDefinitions {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.GlobalSecondaryIndexUpdates != nil {
|
||
for i, v := range s.GlobalSecondaryIndexUpdates {
|
||
if v == nil {
|
||
continue
|
||
}
|
||
if err := v.Validate(); err != nil {
|
||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
}
|
||
if s.ProvisionedThroughput != nil {
|
||
if err := s.ProvisionedThroughput.Validate(); err != nil {
|
||
invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetAttributeDefinitions sets the AttributeDefinitions field's value.
|
||
func (s *UpdateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *UpdateTableInput {
|
||
s.AttributeDefinitions = v
|
||
return s
|
||
}
|
||
|
||
// SetBillingMode sets the BillingMode field's value.
|
||
func (s *UpdateTableInput) SetBillingMode(v string) *UpdateTableInput {
|
||
s.BillingMode = &v
|
||
return s
|
||
}
|
||
|
||
// SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value.
|
||
func (s *UpdateTableInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexUpdate) *UpdateTableInput {
|
||
s.GlobalSecondaryIndexUpdates = v
|
||
return s
|
||
}
|
||
|
||
// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
|
||
func (s *UpdateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateTableInput {
|
||
s.ProvisionedThroughput = v
|
||
return s
|
||
}
|
||
|
||
// SetSSESpecification sets the SSESpecification field's value.
|
||
func (s *UpdateTableInput) SetSSESpecification(v *SSESpecification) *UpdateTableInput {
|
||
s.SSESpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetStreamSpecification sets the StreamSpecification field's value.
|
||
func (s *UpdateTableInput) SetStreamSpecification(v *StreamSpecification) *UpdateTableInput {
|
||
s.StreamSpecification = v
|
||
return s
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *UpdateTableInput) SetTableName(v string) *UpdateTableInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// Represents the output of an UpdateTable operation.
|
||
type UpdateTableOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the properties of the table.
|
||
TableDescription *TableDescription `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateTableOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateTableOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTableDescription sets the TableDescription field's value.
|
||
func (s *UpdateTableOutput) SetTableDescription(v *TableDescription) *UpdateTableOutput {
|
||
s.TableDescription = v
|
||
return s
|
||
}
|
||
|
||
// Represents the input of an UpdateTimeToLive operation.
|
||
type UpdateTimeToLiveInput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// The name of the table to be configured.
|
||
//
|
||
// TableName is a required field
|
||
TableName *string `min:"3" type:"string" required:"true"`
|
||
|
||
// Represents the settings used to enable or disable Time to Live for the specified
|
||
// table.
|
||
//
|
||
// TimeToLiveSpecification is a required field
|
||
TimeToLiveSpecification *TimeToLiveSpecification `type:"structure" required:"true"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateTimeToLiveInput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateTimeToLiveInput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// Validate inspects the fields of the type to determine if they are valid.
|
||
func (s *UpdateTimeToLiveInput) Validate() error {
|
||
invalidParams := request.ErrInvalidParams{Context: "UpdateTimeToLiveInput"}
|
||
if s.TableName == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TableName"))
|
||
}
|
||
if s.TableName != nil && len(*s.TableName) < 3 {
|
||
invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
|
||
}
|
||
if s.TimeToLiveSpecification == nil {
|
||
invalidParams.Add(request.NewErrParamRequired("TimeToLiveSpecification"))
|
||
}
|
||
if s.TimeToLiveSpecification != nil {
|
||
if err := s.TimeToLiveSpecification.Validate(); err != nil {
|
||
invalidParams.AddNested("TimeToLiveSpecification", err.(request.ErrInvalidParams))
|
||
}
|
||
}
|
||
|
||
if invalidParams.Len() > 0 {
|
||
return invalidParams
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SetTableName sets the TableName field's value.
|
||
func (s *UpdateTimeToLiveInput) SetTableName(v string) *UpdateTimeToLiveInput {
|
||
s.TableName = &v
|
||
return s
|
||
}
|
||
|
||
// SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value.
|
||
func (s *UpdateTimeToLiveInput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveInput {
|
||
s.TimeToLiveSpecification = v
|
||
return s
|
||
}
|
||
|
||
type UpdateTimeToLiveOutput struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// Represents the output of an UpdateTimeToLive operation.
|
||
TimeToLiveSpecification *TimeToLiveSpecification `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s UpdateTimeToLiveOutput) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s UpdateTimeToLiveOutput) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value.
|
||
func (s *UpdateTimeToLiveOutput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveOutput {
|
||
s.TimeToLiveSpecification = v
|
||
return s
|
||
}
|
||
|
||
// Represents an operation to perform - either DeleteItem or PutItem. You can
|
||
// only request one of these operations, not both, in a single WriteRequest.
|
||
// If you do need to perform both of these operations, you will need to provide
|
||
// two separate WriteRequest objects.
|
||
type WriteRequest struct {
|
||
_ struct{} `type:"structure"`
|
||
|
||
// A request to perform a DeleteItem operation.
|
||
DeleteRequest *DeleteRequest `type:"structure"`
|
||
|
||
// A request to perform a PutItem operation.
|
||
PutRequest *PutRequest `type:"structure"`
|
||
}
|
||
|
||
// String returns the string representation
|
||
func (s WriteRequest) String() string {
|
||
return awsutil.Prettify(s)
|
||
}
|
||
|
||
// GoString returns the string representation
|
||
func (s WriteRequest) GoString() string {
|
||
return s.String()
|
||
}
|
||
|
||
// SetDeleteRequest sets the DeleteRequest field's value.
|
||
func (s *WriteRequest) SetDeleteRequest(v *DeleteRequest) *WriteRequest {
|
||
s.DeleteRequest = v
|
||
return s
|
||
}
|
||
|
||
// SetPutRequest sets the PutRequest field's value.
|
||
func (s *WriteRequest) SetPutRequest(v *PutRequest) *WriteRequest {
|
||
s.PutRequest = v
|
||
return s
|
||
}
|
||
|
||
const (
|
||
// AttributeActionAdd is a AttributeAction enum value
|
||
AttributeActionAdd = "ADD"
|
||
|
||
// AttributeActionPut is a AttributeAction enum value
|
||
AttributeActionPut = "PUT"
|
||
|
||
// AttributeActionDelete is a AttributeAction enum value
|
||
AttributeActionDelete = "DELETE"
|
||
)
|
||
|
||
const (
|
||
// BackupStatusCreating is a BackupStatus enum value
|
||
BackupStatusCreating = "CREATING"
|
||
|
||
// BackupStatusDeleted is a BackupStatus enum value
|
||
BackupStatusDeleted = "DELETED"
|
||
|
||
// BackupStatusAvailable is a BackupStatus enum value
|
||
BackupStatusAvailable = "AVAILABLE"
|
||
)
|
||
|
||
const (
|
||
// BackupTypeUser is a BackupType enum value
|
||
BackupTypeUser = "USER"
|
||
|
||
// BackupTypeSystem is a BackupType enum value
|
||
BackupTypeSystem = "SYSTEM"
|
||
|
||
// BackupTypeAwsBackup is a BackupType enum value
|
||
BackupTypeAwsBackup = "AWS_BACKUP"
|
||
)
|
||
|
||
const (
|
||
// BackupTypeFilterUser is a BackupTypeFilter enum value
|
||
BackupTypeFilterUser = "USER"
|
||
|
||
// BackupTypeFilterSystem is a BackupTypeFilter enum value
|
||
BackupTypeFilterSystem = "SYSTEM"
|
||
|
||
// BackupTypeFilterAwsBackup is a BackupTypeFilter enum value
|
||
BackupTypeFilterAwsBackup = "AWS_BACKUP"
|
||
|
||
// BackupTypeFilterAll is a BackupTypeFilter enum value
|
||
BackupTypeFilterAll = "ALL"
|
||
)
|
||
|
||
const (
|
||
// BillingModeProvisioned is a BillingMode enum value
|
||
BillingModeProvisioned = "PROVISIONED"
|
||
|
||
// BillingModePayPerRequest is a BillingMode enum value
|
||
BillingModePayPerRequest = "PAY_PER_REQUEST"
|
||
)
|
||
|
||
const (
|
||
// ComparisonOperatorEq is a ComparisonOperator enum value
|
||
ComparisonOperatorEq = "EQ"
|
||
|
||
// ComparisonOperatorNe is a ComparisonOperator enum value
|
||
ComparisonOperatorNe = "NE"
|
||
|
||
// ComparisonOperatorIn is a ComparisonOperator enum value
|
||
ComparisonOperatorIn = "IN"
|
||
|
||
// ComparisonOperatorLe is a ComparisonOperator enum value
|
||
ComparisonOperatorLe = "LE"
|
||
|
||
// ComparisonOperatorLt is a ComparisonOperator enum value
|
||
ComparisonOperatorLt = "LT"
|
||
|
||
// ComparisonOperatorGe is a ComparisonOperator enum value
|
||
ComparisonOperatorGe = "GE"
|
||
|
||
// ComparisonOperatorGt is a ComparisonOperator enum value
|
||
ComparisonOperatorGt = "GT"
|
||
|
||
// ComparisonOperatorBetween is a ComparisonOperator enum value
|
||
ComparisonOperatorBetween = "BETWEEN"
|
||
|
||
// ComparisonOperatorNotNull is a ComparisonOperator enum value
|
||
ComparisonOperatorNotNull = "NOT_NULL"
|
||
|
||
// ComparisonOperatorNull is a ComparisonOperator enum value
|
||
ComparisonOperatorNull = "NULL"
|
||
|
||
// ComparisonOperatorContains is a ComparisonOperator enum value
|
||
ComparisonOperatorContains = "CONTAINS"
|
||
|
||
// ComparisonOperatorNotContains is a ComparisonOperator enum value
|
||
ComparisonOperatorNotContains = "NOT_CONTAINS"
|
||
|
||
// ComparisonOperatorBeginsWith is a ComparisonOperator enum value
|
||
ComparisonOperatorBeginsWith = "BEGINS_WITH"
|
||
)
|
||
|
||
const (
|
||
// ConditionalOperatorAnd is a ConditionalOperator enum value
|
||
ConditionalOperatorAnd = "AND"
|
||
|
||
// ConditionalOperatorOr is a ConditionalOperator enum value
|
||
ConditionalOperatorOr = "OR"
|
||
)
|
||
|
||
const (
|
||
// ContinuousBackupsStatusEnabled is a ContinuousBackupsStatus enum value
|
||
ContinuousBackupsStatusEnabled = "ENABLED"
|
||
|
||
// ContinuousBackupsStatusDisabled is a ContinuousBackupsStatus enum value
|
||
ContinuousBackupsStatusDisabled = "DISABLED"
|
||
)
|
||
|
||
const (
|
||
// GlobalTableStatusCreating is a GlobalTableStatus enum value
|
||
GlobalTableStatusCreating = "CREATING"
|
||
|
||
// GlobalTableStatusActive is a GlobalTableStatus enum value
|
||
GlobalTableStatusActive = "ACTIVE"
|
||
|
||
// GlobalTableStatusDeleting is a GlobalTableStatus enum value
|
||
GlobalTableStatusDeleting = "DELETING"
|
||
|
||
// GlobalTableStatusUpdating is a GlobalTableStatus enum value
|
||
GlobalTableStatusUpdating = "UPDATING"
|
||
)
|
||
|
||
const (
|
||
// IndexStatusCreating is a IndexStatus enum value
|
||
IndexStatusCreating = "CREATING"
|
||
|
||
// IndexStatusUpdating is a IndexStatus enum value
|
||
IndexStatusUpdating = "UPDATING"
|
||
|
||
// IndexStatusDeleting is a IndexStatus enum value
|
||
IndexStatusDeleting = "DELETING"
|
||
|
||
// IndexStatusActive is a IndexStatus enum value
|
||
IndexStatusActive = "ACTIVE"
|
||
)
|
||
|
||
const (
|
||
// KeyTypeHash is a KeyType enum value
|
||
KeyTypeHash = "HASH"
|
||
|
||
// KeyTypeRange is a KeyType enum value
|
||
KeyTypeRange = "RANGE"
|
||
)
|
||
|
||
const (
|
||
// PointInTimeRecoveryStatusEnabled is a PointInTimeRecoveryStatus enum value
|
||
PointInTimeRecoveryStatusEnabled = "ENABLED"
|
||
|
||
// PointInTimeRecoveryStatusDisabled is a PointInTimeRecoveryStatus enum value
|
||
PointInTimeRecoveryStatusDisabled = "DISABLED"
|
||
)
|
||
|
||
const (
|
||
// ProjectionTypeAll is a ProjectionType enum value
|
||
ProjectionTypeAll = "ALL"
|
||
|
||
// ProjectionTypeKeysOnly is a ProjectionType enum value
|
||
ProjectionTypeKeysOnly = "KEYS_ONLY"
|
||
|
||
// ProjectionTypeInclude is a ProjectionType enum value
|
||
ProjectionTypeInclude = "INCLUDE"
|
||
)
|
||
|
||
const (
|
||
// ReplicaStatusCreating is a ReplicaStatus enum value
|
||
ReplicaStatusCreating = "CREATING"
|
||
|
||
// ReplicaStatusUpdating is a ReplicaStatus enum value
|
||
ReplicaStatusUpdating = "UPDATING"
|
||
|
||
// ReplicaStatusDeleting is a ReplicaStatus enum value
|
||
ReplicaStatusDeleting = "DELETING"
|
||
|
||
// ReplicaStatusActive is a ReplicaStatus enum value
|
||
ReplicaStatusActive = "ACTIVE"
|
||
)
|
||
|
||
// Determines the level of detail about provisioned throughput consumption that
|
||
// is returned in the response:
|
||
//
|
||
// * INDEXES - The response includes the aggregate ConsumedCapacity for the
|
||
// operation, together with ConsumedCapacity for each table and secondary
|
||
// index that was accessed.
|
||
//
|
||
// Note that some operations, such as GetItem and BatchGetItem, do not access
|
||
// any indexes at all. In these cases, specifying INDEXES will only return
|
||
// ConsumedCapacity information for table(s).
|
||
//
|
||
// * TOTAL - The response includes only the aggregate ConsumedCapacity for
|
||
// the operation.
|
||
//
|
||
// * NONE - No ConsumedCapacity details are included in the response.
|
||
const (
|
||
// ReturnConsumedCapacityIndexes is a ReturnConsumedCapacity enum value
|
||
ReturnConsumedCapacityIndexes = "INDEXES"
|
||
|
||
// ReturnConsumedCapacityTotal is a ReturnConsumedCapacity enum value
|
||
ReturnConsumedCapacityTotal = "TOTAL"
|
||
|
||
// ReturnConsumedCapacityNone is a ReturnConsumedCapacity enum value
|
||
ReturnConsumedCapacityNone = "NONE"
|
||
)
|
||
|
||
const (
|
||
// ReturnItemCollectionMetricsSize is a ReturnItemCollectionMetrics enum value
|
||
ReturnItemCollectionMetricsSize = "SIZE"
|
||
|
||
// ReturnItemCollectionMetricsNone is a ReturnItemCollectionMetrics enum value
|
||
ReturnItemCollectionMetricsNone = "NONE"
|
||
)
|
||
|
||
const (
|
||
// ReturnValueNone is a ReturnValue enum value
|
||
ReturnValueNone = "NONE"
|
||
|
||
// ReturnValueAllOld is a ReturnValue enum value
|
||
ReturnValueAllOld = "ALL_OLD"
|
||
|
||
// ReturnValueUpdatedOld is a ReturnValue enum value
|
||
ReturnValueUpdatedOld = "UPDATED_OLD"
|
||
|
||
// ReturnValueAllNew is a ReturnValue enum value
|
||
ReturnValueAllNew = "ALL_NEW"
|
||
|
||
// ReturnValueUpdatedNew is a ReturnValue enum value
|
||
ReturnValueUpdatedNew = "UPDATED_NEW"
|
||
)
|
||
|
||
const (
|
||
// ReturnValuesOnConditionCheckFailureAllOld is a ReturnValuesOnConditionCheckFailure enum value
|
||
ReturnValuesOnConditionCheckFailureAllOld = "ALL_OLD"
|
||
|
||
// ReturnValuesOnConditionCheckFailureNone is a ReturnValuesOnConditionCheckFailure enum value
|
||
ReturnValuesOnConditionCheckFailureNone = "NONE"
|
||
)
|
||
|
||
const (
|
||
// SSEStatusEnabling is a SSEStatus enum value
|
||
SSEStatusEnabling = "ENABLING"
|
||
|
||
// SSEStatusEnabled is a SSEStatus enum value
|
||
SSEStatusEnabled = "ENABLED"
|
||
|
||
// SSEStatusDisabling is a SSEStatus enum value
|
||
SSEStatusDisabling = "DISABLING"
|
||
|
||
// SSEStatusDisabled is a SSEStatus enum value
|
||
SSEStatusDisabled = "DISABLED"
|
||
|
||
// SSEStatusUpdating is a SSEStatus enum value
|
||
SSEStatusUpdating = "UPDATING"
|
||
)
|
||
|
||
const (
|
||
// SSETypeAes256 is a SSEType enum value
|
||
SSETypeAes256 = "AES256"
|
||
|
||
// SSETypeKms is a SSEType enum value
|
||
SSETypeKms = "KMS"
|
||
)
|
||
|
||
const (
|
||
// ScalarAttributeTypeS is a ScalarAttributeType enum value
|
||
ScalarAttributeTypeS = "S"
|
||
|
||
// ScalarAttributeTypeN is a ScalarAttributeType enum value
|
||
ScalarAttributeTypeN = "N"
|
||
|
||
// ScalarAttributeTypeB is a ScalarAttributeType enum value
|
||
ScalarAttributeTypeB = "B"
|
||
)
|
||
|
||
const (
|
||
// SelectAllAttributes is a Select enum value
|
||
SelectAllAttributes = "ALL_ATTRIBUTES"
|
||
|
||
// SelectAllProjectedAttributes is a Select enum value
|
||
SelectAllProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES"
|
||
|
||
// SelectSpecificAttributes is a Select enum value
|
||
SelectSpecificAttributes = "SPECIFIC_ATTRIBUTES"
|
||
|
||
// SelectCount is a Select enum value
|
||
SelectCount = "COUNT"
|
||
)
|
||
|
||
const (
|
||
// StreamViewTypeNewImage is a StreamViewType enum value
|
||
StreamViewTypeNewImage = "NEW_IMAGE"
|
||
|
||
// StreamViewTypeOldImage is a StreamViewType enum value
|
||
StreamViewTypeOldImage = "OLD_IMAGE"
|
||
|
||
// StreamViewTypeNewAndOldImages is a StreamViewType enum value
|
||
StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES"
|
||
|
||
// StreamViewTypeKeysOnly is a StreamViewType enum value
|
||
StreamViewTypeKeysOnly = "KEYS_ONLY"
|
||
)
|
||
|
||
const (
|
||
// TableStatusCreating is a TableStatus enum value
|
||
TableStatusCreating = "CREATING"
|
||
|
||
// TableStatusUpdating is a TableStatus enum value
|
||
TableStatusUpdating = "UPDATING"
|
||
|
||
// TableStatusDeleting is a TableStatus enum value
|
||
TableStatusDeleting = "DELETING"
|
||
|
||
// TableStatusActive is a TableStatus enum value
|
||
TableStatusActive = "ACTIVE"
|
||
)
|
||
|
||
const (
|
||
// TimeToLiveStatusEnabling is a TimeToLiveStatus enum value
|
||
TimeToLiveStatusEnabling = "ENABLING"
|
||
|
||
// TimeToLiveStatusDisabling is a TimeToLiveStatus enum value
|
||
TimeToLiveStatusDisabling = "DISABLING"
|
||
|
||
// TimeToLiveStatusEnabled is a TimeToLiveStatus enum value
|
||
TimeToLiveStatusEnabled = "ENABLED"
|
||
|
||
// TimeToLiveStatusDisabled is a TimeToLiveStatus enum value
|
||
TimeToLiveStatusDisabled = "DISABLED"
|
||
)
|