/
api_op_TransactGetItems.go
190 lines (161 loc) · 5.88 KB
/
api_op_TransactGetItems.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package dynamodb
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
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 ReturnConsumedCapacity `type:"string" enum:"true"`
// An ordered array of up to 25 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)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TransactGetItemsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "TransactGetItemsInput"}
if s.TransactItems == nil {
invalidParams.Add(aws.NewErrParamRequired("TransactItems"))
}
if s.TransactItems != nil && len(s.TransactItems) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("TransactItems", 1))
}
if s.TransactItems != nil {
for i, v := range s.TransactItems {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
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 25 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)
}
const opTransactGetItems = "TransactGetItems"
// TransactGetItemsRequest returns a request value for making 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 25 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.
// The aggregate size of the items in the transaction cannot exceed 4 MB.
//
// 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.
//
// * The aggregate size of the items in the transaction cannot exceed 4 MB.
//
// // Example sending a request using TransactGetItemsRequest.
// req := client.TransactGetItemsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems
func (c *Client) TransactGetItemsRequest(input *TransactGetItemsInput) TransactGetItemsRequest {
op := &aws.Operation{
Name: opTransactGetItems,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &TransactGetItemsInput{}
}
req := c.newRequest(op, input, &TransactGetItemsOutput{})
if req.Config.EnableEndpointDiscovery {
de := discovererDescribeEndpoints{
Client: c,
Required: false,
EndpointCache: c.endpointCache,
Params: map[string]*string{
"op": &req.Operation.Name,
},
}
for k, v := range de.Params {
if v == nil {
delete(de.Params, k)
}
}
req.Handlers.Build.PushFrontNamed(aws.NamedHandler{
Name: "crr.endpointdiscovery",
Fn: de.Handler,
})
}
return TransactGetItemsRequest{Request: req, Input: input, Copy: c.TransactGetItemsRequest}
}
// TransactGetItemsRequest is the request type for the
// TransactGetItems API operation.
type TransactGetItemsRequest struct {
*aws.Request
Input *TransactGetItemsInput
Copy func(*TransactGetItemsInput) TransactGetItemsRequest
}
// Send marshals and sends the TransactGetItems API request.
func (r TransactGetItemsRequest) Send(ctx context.Context) (*TransactGetItemsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &TransactGetItemsResponse{
TransactGetItemsOutput: r.Request.Data.(*TransactGetItemsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// TransactGetItemsResponse is the response type for the
// TransactGetItems API operation.
type TransactGetItemsResponse struct {
*TransactGetItemsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// TransactGetItems request.
func (r *TransactGetItemsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}