]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/aws/aws-sdk-go/service/s3/api.go
update vendor and go.mod
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / service / s3 / api.go
CommitLineData
bae9f6d2
JC
1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package s3
4
5import (
15c0b25d 6 "bytes"
bae9f6d2
JC
7 "fmt"
8 "io"
15c0b25d
AP
9 "sync"
10 "sync/atomic"
bae9f6d2
JC
11 "time"
12
13 "github.com/aws/aws-sdk-go/aws"
15c0b25d 14 "github.com/aws/aws-sdk-go/aws/awserr"
bae9f6d2 15 "github.com/aws/aws-sdk-go/aws/awsutil"
15c0b25d 16 "github.com/aws/aws-sdk-go/aws/client"
bae9f6d2
JC
17 "github.com/aws/aws-sdk-go/aws/request"
18 "github.com/aws/aws-sdk-go/private/protocol"
15c0b25d
AP
19 "github.com/aws/aws-sdk-go/private/protocol/eventstream"
20 "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
21 "github.com/aws/aws-sdk-go/private/protocol/rest"
bae9f6d2
JC
22 "github.com/aws/aws-sdk-go/private/protocol/restxml"
23)
24
25const opAbortMultipartUpload = "AbortMultipartUpload"
26
27// AbortMultipartUploadRequest generates a "aws/request.Request" representing the
28// client's request for the AbortMultipartUpload operation. The "output" return
15c0b25d 29// value will be populated with the request's response once the request completes
107c1cdb 30// successfully.
bae9f6d2 31//
15c0b25d
AP
32// Use "Send" method on the returned Request to send the API call to the service.
33// the "output" return value is not valid until after Send returns without error.
bae9f6d2 34//
15c0b25d
AP
35// See AbortMultipartUpload for more information on using the AbortMultipartUpload
36// API call, and error handling.
37//
38// This method is useful when you want to inject custom logic or configuration
39// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 40//
bae9f6d2
JC
41//
42// // Example sending a request using the AbortMultipartUploadRequest method.
43// req, resp := client.AbortMultipartUploadRequest(params)
44//
45// err := req.Send()
46// if err == nil { // resp is now filled
47// fmt.Println(resp)
48// }
49//
15c0b25d 50// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
bae9f6d2
JC
51func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) {
52 op := &request.Operation{
53 Name: opAbortMultipartUpload,
54 HTTPMethod: "DELETE",
55 HTTPPath: "/{Bucket}/{Key+}",
56 }
57
58 if input == nil {
59 input = &AbortMultipartUploadInput{}
60 }
61
62 output = &AbortMultipartUploadOutput{}
63 req = c.newRequest(op, input, output)
64 return
65}
66
67// AbortMultipartUpload API operation for Amazon Simple Storage Service.
68//
69// Aborts a multipart upload.
70//
71// To verify that all parts have been removed, so you don't get charged for
72// the part storage, you should call the List Parts operation and ensure the
73// parts list is empty.
74//
75// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
76// with awserr.Error's Code and Message methods to get detailed information about
77// the error.
78//
79// See the AWS API reference guide for Amazon Simple Storage Service's
80// API operation AbortMultipartUpload for usage and error information.
81//
82// Returned Error Codes:
83// * ErrCodeNoSuchUpload "NoSuchUpload"
84// The specified multipart upload does not exist.
85//
15c0b25d 86// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
bae9f6d2
JC
87func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
88 req, out := c.AbortMultipartUploadRequest(input)
89 return out, req.Send()
90}
91
92// AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of
93// the ability to pass a context and additional request options.
94//
95// See AbortMultipartUpload for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *S3) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput, opts ...request.Option) (*AbortMultipartUploadOutput, error) {
102 req, out := c.AbortMultipartUploadRequest(input)
103 req.SetContext(ctx)
104 req.ApplyOptions(opts...)
105 return out, req.Send()
106}
107
108const opCompleteMultipartUpload = "CompleteMultipartUpload"
109
110// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the
111// client's request for the CompleteMultipartUpload operation. The "output" return
15c0b25d 112// value will be populated with the request's response once the request completes
107c1cdb 113// successfully.
15c0b25d
AP
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
bae9f6d2 117//
15c0b25d
AP
118// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
119// API call, and error handling.
bae9f6d2 120//
15c0b25d
AP
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 123//
bae9f6d2
JC
124//
125// // Example sending a request using the CompleteMultipartUploadRequest method.
126// req, resp := client.CompleteMultipartUploadRequest(params)
127//
128// err := req.Send()
129// if err == nil { // resp is now filled
130// fmt.Println(resp)
131// }
132//
15c0b25d 133// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
bae9f6d2
JC
134func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) {
135 op := &request.Operation{
136 Name: opCompleteMultipartUpload,
137 HTTPMethod: "POST",
138 HTTPPath: "/{Bucket}/{Key+}",
139 }
140
141 if input == nil {
142 input = &CompleteMultipartUploadInput{}
143 }
144
145 output = &CompleteMultipartUploadOutput{}
146 req = c.newRequest(op, input, output)
147 return
148}
149
150// CompleteMultipartUpload API operation for Amazon Simple Storage Service.
151//
152// Completes a multipart upload by assembling previously uploaded parts.
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for Amazon Simple Storage Service's
159// API operation CompleteMultipartUpload for usage and error information.
15c0b25d 160// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
bae9f6d2
JC
161func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) {
162 req, out := c.CompleteMultipartUploadRequest(input)
163 return out, req.Send()
164}
165
166// CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of
167// the ability to pass a context and additional request options.
168//
169// See CompleteMultipartUpload for details on how to use this API operation.
170//
171// The context must be non-nil and will be used for request cancellation. If
172// the context is nil a panic will occur. In the future the SDK may create
173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
174// for more information on using Contexts.
175func (c *S3) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput, opts ...request.Option) (*CompleteMultipartUploadOutput, error) {
176 req, out := c.CompleteMultipartUploadRequest(input)
177 req.SetContext(ctx)
178 req.ApplyOptions(opts...)
179 return out, req.Send()
180}
181
182const opCopyObject = "CopyObject"
183
184// CopyObjectRequest generates a "aws/request.Request" representing the
185// client's request for the CopyObject operation. The "output" return
15c0b25d 186// value will be populated with the request's response once the request completes
107c1cdb 187// successfully.
bae9f6d2 188//
15c0b25d
AP
189// Use "Send" method on the returned Request to send the API call to the service.
190// the "output" return value is not valid until after Send returns without error.
bae9f6d2 191//
15c0b25d
AP
192// See CopyObject for more information on using the CopyObject
193// API call, and error handling.
194//
195// This method is useful when you want to inject custom logic or configuration
196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 197//
bae9f6d2
JC
198//
199// // Example sending a request using the CopyObjectRequest method.
200// req, resp := client.CopyObjectRequest(params)
201//
202// err := req.Send()
203// if err == nil { // resp is now filled
204// fmt.Println(resp)
205// }
206//
15c0b25d 207// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
bae9f6d2
JC
208func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) {
209 op := &request.Operation{
210 Name: opCopyObject,
211 HTTPMethod: "PUT",
212 HTTPPath: "/{Bucket}/{Key+}",
213 }
214
215 if input == nil {
216 input = &CopyObjectInput{}
217 }
218
219 output = &CopyObjectOutput{}
220 req = c.newRequest(op, input, output)
221 return
222}
223
224// CopyObject API operation for Amazon Simple Storage Service.
225//
226// Creates a copy of an object that is already stored in Amazon S3.
227//
228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
229// with awserr.Error's Code and Message methods to get detailed information about
230// the error.
231//
232// See the AWS API reference guide for Amazon Simple Storage Service's
233// API operation CopyObject for usage and error information.
234//
235// Returned Error Codes:
236// * ErrCodeObjectNotInActiveTierError "ObjectNotInActiveTierError"
237// The source object of the COPY operation is not in the active tier and is
238// only stored in Amazon Glacier.
239//
15c0b25d 240// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
bae9f6d2
JC
241func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) {
242 req, out := c.CopyObjectRequest(input)
243 return out, req.Send()
244}
245
246// CopyObjectWithContext is the same as CopyObject with the addition of
247// the ability to pass a context and additional request options.
248//
249// See CopyObject for details on how to use this API operation.
250//
251// The context must be non-nil and will be used for request cancellation. If
252// the context is nil a panic will occur. In the future the SDK may create
253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
254// for more information on using Contexts.
255func (c *S3) CopyObjectWithContext(ctx aws.Context, input *CopyObjectInput, opts ...request.Option) (*CopyObjectOutput, error) {
256 req, out := c.CopyObjectRequest(input)
257 req.SetContext(ctx)
258 req.ApplyOptions(opts...)
259 return out, req.Send()
260}
261
262const opCreateBucket = "CreateBucket"
263
264// CreateBucketRequest generates a "aws/request.Request" representing the
265// client's request for the CreateBucket operation. The "output" return
15c0b25d 266// value will be populated with the request's response once the request completes
107c1cdb 267// successfully.
15c0b25d
AP
268//
269// Use "Send" method on the returned Request to send the API call to the service.
270// the "output" return value is not valid until after Send returns without error.
bae9f6d2 271//
15c0b25d
AP
272// See CreateBucket for more information on using the CreateBucket
273// API call, and error handling.
bae9f6d2 274//
15c0b25d
AP
275// This method is useful when you want to inject custom logic or configuration
276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 277//
bae9f6d2
JC
278//
279// // Example sending a request using the CreateBucketRequest method.
280// req, resp := client.CreateBucketRequest(params)
281//
282// err := req.Send()
283// if err == nil { // resp is now filled
284// fmt.Println(resp)
285// }
286//
15c0b25d 287// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
bae9f6d2
JC
288func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) {
289 op := &request.Operation{
290 Name: opCreateBucket,
291 HTTPMethod: "PUT",
292 HTTPPath: "/{Bucket}",
293 }
294
295 if input == nil {
296 input = &CreateBucketInput{}
297 }
298
299 output = &CreateBucketOutput{}
300 req = c.newRequest(op, input, output)
301 return
302}
303
304// CreateBucket API operation for Amazon Simple Storage Service.
305//
306// Creates a new bucket.
307//
308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
309// with awserr.Error's Code and Message methods to get detailed information about
310// the error.
311//
312// See the AWS API reference guide for Amazon Simple Storage Service's
313// API operation CreateBucket for usage and error information.
314//
315// Returned Error Codes:
316// * ErrCodeBucketAlreadyExists "BucketAlreadyExists"
317// The requested bucket name is not available. The bucket namespace is shared
318// by all users of the system. Please select a different name and try again.
319//
320// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou"
321//
15c0b25d 322// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
bae9f6d2
JC
323func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
324 req, out := c.CreateBucketRequest(input)
325 return out, req.Send()
326}
327
328// CreateBucketWithContext is the same as CreateBucket with the addition of
329// the ability to pass a context and additional request options.
330//
331// See CreateBucket for details on how to use this API operation.
332//
333// The context must be non-nil and will be used for request cancellation. If
334// the context is nil a panic will occur. In the future the SDK may create
335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
336// for more information on using Contexts.
337func (c *S3) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) {
338 req, out := c.CreateBucketRequest(input)
339 req.SetContext(ctx)
340 req.ApplyOptions(opts...)
341 return out, req.Send()
342}
343
344const opCreateMultipartUpload = "CreateMultipartUpload"
345
346// CreateMultipartUploadRequest generates a "aws/request.Request" representing the
347// client's request for the CreateMultipartUpload operation. The "output" return
15c0b25d 348// value will be populated with the request's response once the request completes
107c1cdb 349// successfully.
bae9f6d2 350//
15c0b25d
AP
351// Use "Send" method on the returned Request to send the API call to the service.
352// the "output" return value is not valid until after Send returns without error.
bae9f6d2 353//
15c0b25d
AP
354// See CreateMultipartUpload for more information on using the CreateMultipartUpload
355// API call, and error handling.
356//
357// This method is useful when you want to inject custom logic or configuration
358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 359//
bae9f6d2
JC
360//
361// // Example sending a request using the CreateMultipartUploadRequest method.
362// req, resp := client.CreateMultipartUploadRequest(params)
363//
364// err := req.Send()
365// if err == nil { // resp is now filled
366// fmt.Println(resp)
367// }
368//
15c0b25d 369// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
bae9f6d2
JC
370func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) {
371 op := &request.Operation{
372 Name: opCreateMultipartUpload,
373 HTTPMethod: "POST",
374 HTTPPath: "/{Bucket}/{Key+}?uploads",
375 }
376
377 if input == nil {
378 input = &CreateMultipartUploadInput{}
379 }
380
381 output = &CreateMultipartUploadOutput{}
382 req = c.newRequest(op, input, output)
383 return
384}
385
386// CreateMultipartUpload API operation for Amazon Simple Storage Service.
387//
388// Initiates a multipart upload and returns an upload ID.
389//
390// Note: After you initiate multipart upload and upload one or more parts, you
391// must either complete or abort multipart upload in order to stop getting charged
392// for storage of the uploaded parts. Only after you either complete or abort
393// multipart upload, Amazon S3 frees up the parts storage and stops charging
394// you for the parts storage.
395//
396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
397// with awserr.Error's Code and Message methods to get detailed information about
398// the error.
399//
400// See the AWS API reference guide for Amazon Simple Storage Service's
401// API operation CreateMultipartUpload for usage and error information.
15c0b25d 402// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
bae9f6d2
JC
403func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) {
404 req, out := c.CreateMultipartUploadRequest(input)
405 return out, req.Send()
406}
407
408// CreateMultipartUploadWithContext is the same as CreateMultipartUpload with the addition of
409// the ability to pass a context and additional request options.
410//
411// See CreateMultipartUpload for details on how to use this API operation.
412//
413// The context must be non-nil and will be used for request cancellation. If
414// the context is nil a panic will occur. In the future the SDK may create
415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
416// for more information on using Contexts.
417func (c *S3) CreateMultipartUploadWithContext(ctx aws.Context, input *CreateMultipartUploadInput, opts ...request.Option) (*CreateMultipartUploadOutput, error) {
418 req, out := c.CreateMultipartUploadRequest(input)
419 req.SetContext(ctx)
420 req.ApplyOptions(opts...)
421 return out, req.Send()
422}
423
424const opDeleteBucket = "DeleteBucket"
425
426// DeleteBucketRequest generates a "aws/request.Request" representing the
427// client's request for the DeleteBucket operation. The "output" return
15c0b25d 428// value will be populated with the request's response once the request completes
107c1cdb 429// successfully.
15c0b25d
AP
430//
431// Use "Send" method on the returned Request to send the API call to the service.
432// the "output" return value is not valid until after Send returns without error.
bae9f6d2 433//
15c0b25d
AP
434// See DeleteBucket for more information on using the DeleteBucket
435// API call, and error handling.
bae9f6d2 436//
15c0b25d
AP
437// This method is useful when you want to inject custom logic or configuration
438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 439//
bae9f6d2
JC
440//
441// // Example sending a request using the DeleteBucketRequest method.
442// req, resp := client.DeleteBucketRequest(params)
443//
444// err := req.Send()
445// if err == nil { // resp is now filled
446// fmt.Println(resp)
447// }
448//
15c0b25d 449// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
bae9f6d2
JC
450func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) {
451 op := &request.Operation{
452 Name: opDeleteBucket,
453 HTTPMethod: "DELETE",
454 HTTPPath: "/{Bucket}",
455 }
456
457 if input == nil {
458 input = &DeleteBucketInput{}
459 }
460
461 output = &DeleteBucketOutput{}
462 req = c.newRequest(op, input, output)
107c1cdb 463 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
464 return
465}
466
467// DeleteBucket API operation for Amazon Simple Storage Service.
468//
469// Deletes the bucket. All objects (including all object versions and Delete
470// Markers) in the bucket must be deleted before the bucket itself can be deleted.
471//
472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
473// with awserr.Error's Code and Message methods to get detailed information about
474// the error.
475//
476// See the AWS API reference guide for Amazon Simple Storage Service's
477// API operation DeleteBucket for usage and error information.
15c0b25d 478// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
bae9f6d2
JC
479func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
480 req, out := c.DeleteBucketRequest(input)
481 return out, req.Send()
482}
483
484// DeleteBucketWithContext is the same as DeleteBucket with the addition of
485// the ability to pass a context and additional request options.
486//
487// See DeleteBucket for details on how to use this API operation.
488//
489// The context must be non-nil and will be used for request cancellation. If
490// the context is nil a panic will occur. In the future the SDK may create
491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
492// for more information on using Contexts.
493func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
494 req, out := c.DeleteBucketRequest(input)
495 req.SetContext(ctx)
496 req.ApplyOptions(opts...)
497 return out, req.Send()
498}
499
500const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
501
502// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
503// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
15c0b25d 504// value will be populated with the request's response once the request completes
107c1cdb 505// successfully.
bae9f6d2 506//
15c0b25d
AP
507// Use "Send" method on the returned Request to send the API call to the service.
508// the "output" return value is not valid until after Send returns without error.
bae9f6d2 509//
15c0b25d
AP
510// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
511// API call, and error handling.
512//
513// This method is useful when you want to inject custom logic or configuration
514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 515//
bae9f6d2
JC
516//
517// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
518// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
519//
520// err := req.Send()
521// if err == nil { // resp is now filled
522// fmt.Println(resp)
523// }
524//
15c0b25d 525// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
bae9f6d2
JC
526func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) {
527 op := &request.Operation{
528 Name: opDeleteBucketAnalyticsConfiguration,
529 HTTPMethod: "DELETE",
530 HTTPPath: "/{Bucket}?analytics",
531 }
532
533 if input == nil {
534 input = &DeleteBucketAnalyticsConfigurationInput{}
535 }
536
537 output = &DeleteBucketAnalyticsConfigurationOutput{}
538 req = c.newRequest(op, input, output)
107c1cdb 539 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
540 return
541}
542
543// DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
544//
545// Deletes an analytics configuration for the bucket (specified by the analytics
546// configuration ID).
547//
863486a6
AG
548// To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration
549// action. The bucket owner has this permission by default. The bucket owner
550// can grant this permission to others.
551//
bae9f6d2
JC
552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
553// with awserr.Error's Code and Message methods to get detailed information about
554// the error.
555//
556// See the AWS API reference guide for Amazon Simple Storage Service's
557// API operation DeleteBucketAnalyticsConfiguration for usage and error information.
15c0b25d 558// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
bae9f6d2
JC
559func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
560 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
561 return out, req.Send()
562}
563
564// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
565// the ability to pass a context and additional request options.
566//
567// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
568//
569// The context must be non-nil and will be used for request cancellation. If
570// the context is nil a panic will occur. In the future the SDK may create
571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
572// for more information on using Contexts.
573func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
574 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
575 req.SetContext(ctx)
576 req.ApplyOptions(opts...)
577 return out, req.Send()
578}
579
580const opDeleteBucketCors = "DeleteBucketCors"
581
582// DeleteBucketCorsRequest generates a "aws/request.Request" representing the
583// client's request for the DeleteBucketCors operation. The "output" return
15c0b25d 584// value will be populated with the request's response once the request completes
107c1cdb 585// successfully.
15c0b25d
AP
586//
587// Use "Send" method on the returned Request to send the API call to the service.
588// the "output" return value is not valid until after Send returns without error.
bae9f6d2 589//
15c0b25d
AP
590// See DeleteBucketCors for more information on using the DeleteBucketCors
591// API call, and error handling.
bae9f6d2 592//
15c0b25d
AP
593// This method is useful when you want to inject custom logic or configuration
594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 595//
bae9f6d2
JC
596//
597// // Example sending a request using the DeleteBucketCorsRequest method.
598// req, resp := client.DeleteBucketCorsRequest(params)
599//
600// err := req.Send()
601// if err == nil { // resp is now filled
602// fmt.Println(resp)
603// }
604//
15c0b25d 605// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
bae9f6d2
JC
606func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
607 op := &request.Operation{
608 Name: opDeleteBucketCors,
609 HTTPMethod: "DELETE",
610 HTTPPath: "/{Bucket}?cors",
611 }
612
613 if input == nil {
614 input = &DeleteBucketCorsInput{}
615 }
616
617 output = &DeleteBucketCorsOutput{}
618 req = c.newRequest(op, input, output)
107c1cdb 619 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
620 return
621}
622
623// DeleteBucketCors API operation for Amazon Simple Storage Service.
624//
107c1cdb 625// Deletes the CORS configuration information set for the bucket.
bae9f6d2
JC
626//
627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
628// with awserr.Error's Code and Message methods to get detailed information about
629// the error.
630//
631// See the AWS API reference guide for Amazon Simple Storage Service's
632// API operation DeleteBucketCors for usage and error information.
15c0b25d 633// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
bae9f6d2
JC
634func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
635 req, out := c.DeleteBucketCorsRequest(input)
636 return out, req.Send()
637}
638
639// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
640// the ability to pass a context and additional request options.
641//
642// See DeleteBucketCors for details on how to use this API operation.
643//
644// The context must be non-nil and will be used for request cancellation. If
645// the context is nil a panic will occur. In the future the SDK may create
646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
647// for more information on using Contexts.
648func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
649 req, out := c.DeleteBucketCorsRequest(input)
650 req.SetContext(ctx)
651 req.ApplyOptions(opts...)
652 return out, req.Send()
653}
654
15c0b25d
AP
655const opDeleteBucketEncryption = "DeleteBucketEncryption"
656
657// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
658// client's request for the DeleteBucketEncryption operation. The "output" return
659// value will be populated with the request's response once the request completes
107c1cdb 660// successfully.
15c0b25d
AP
661//
662// Use "Send" method on the returned Request to send the API call to the service.
663// the "output" return value is not valid until after Send returns without error.
664//
665// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
666// API call, and error handling.
667//
668// This method is useful when you want to inject custom logic or configuration
669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
670//
671//
672// // Example sending a request using the DeleteBucketEncryptionRequest method.
673// req, resp := client.DeleteBucketEncryptionRequest(params)
674//
675// err := req.Send()
676// if err == nil { // resp is now filled
677// fmt.Println(resp)
678// }
679//
680// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
681func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
682 op := &request.Operation{
683 Name: opDeleteBucketEncryption,
684 HTTPMethod: "DELETE",
685 HTTPPath: "/{Bucket}?encryption",
686 }
687
688 if input == nil {
689 input = &DeleteBucketEncryptionInput{}
690 }
691
692 output = &DeleteBucketEncryptionOutput{}
693 req = c.newRequest(op, input, output)
107c1cdb 694 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15c0b25d
AP
695 return
696}
697
698// DeleteBucketEncryption API operation for Amazon Simple Storage Service.
699//
700// Deletes the server-side encryption configuration from the bucket.
701//
702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
703// with awserr.Error's Code and Message methods to get detailed information about
704// the error.
705//
706// See the AWS API reference guide for Amazon Simple Storage Service's
707// API operation DeleteBucketEncryption for usage and error information.
708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
709func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
710 req, out := c.DeleteBucketEncryptionRequest(input)
711 return out, req.Send()
712}
713
714// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
715// the ability to pass a context and additional request options.
716//
717// See DeleteBucketEncryption for details on how to use this API operation.
718//
719// The context must be non-nil and will be used for request cancellation. If
720// the context is nil a panic will occur. In the future the SDK may create
721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
722// for more information on using Contexts.
723func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
724 req, out := c.DeleteBucketEncryptionRequest(input)
725 req.SetContext(ctx)
726 req.ApplyOptions(opts...)
727 return out, req.Send()
728}
729
bae9f6d2
JC
730const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
731
732// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
733// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
15c0b25d 734// value will be populated with the request's response once the request completes
107c1cdb 735// successfully.
15c0b25d
AP
736//
737// Use "Send" method on the returned Request to send the API call to the service.
738// the "output" return value is not valid until after Send returns without error.
bae9f6d2 739//
15c0b25d
AP
740// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
741// API call, and error handling.
bae9f6d2 742//
15c0b25d
AP
743// This method is useful when you want to inject custom logic or configuration
744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 745//
bae9f6d2
JC
746//
747// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
748// req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
749//
750// err := req.Send()
751// if err == nil { // resp is now filled
752// fmt.Println(resp)
753// }
754//
15c0b25d 755// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
bae9f6d2
JC
756func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
757 op := &request.Operation{
758 Name: opDeleteBucketInventoryConfiguration,
759 HTTPMethod: "DELETE",
760 HTTPPath: "/{Bucket}?inventory",
761 }
762
763 if input == nil {
764 input = &DeleteBucketInventoryConfigurationInput{}
765 }
766
767 output = &DeleteBucketInventoryConfigurationOutput{}
768 req = c.newRequest(op, input, output)
107c1cdb 769 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
770 return
771}
772
773// DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
774//
775// Deletes an inventory configuration (identified by the inventory ID) from
776// the bucket.
777//
778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
779// with awserr.Error's Code and Message methods to get detailed information about
780// the error.
781//
782// See the AWS API reference guide for Amazon Simple Storage Service's
783// API operation DeleteBucketInventoryConfiguration for usage and error information.
15c0b25d 784// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
bae9f6d2
JC
785func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
786 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
787 return out, req.Send()
788}
789
790// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
791// the ability to pass a context and additional request options.
792//
793// See DeleteBucketInventoryConfiguration for details on how to use this API operation.
794//
795// The context must be non-nil and will be used for request cancellation. If
796// the context is nil a panic will occur. In the future the SDK may create
797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
798// for more information on using Contexts.
799func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
800 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
801 req.SetContext(ctx)
802 req.ApplyOptions(opts...)
803 return out, req.Send()
804}
805
806const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
807
808// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
809// client's request for the DeleteBucketLifecycle operation. The "output" return
15c0b25d 810// value will be populated with the request's response once the request completes
107c1cdb 811// successfully.
bae9f6d2 812//
15c0b25d
AP
813// Use "Send" method on the returned Request to send the API call to the service.
814// the "output" return value is not valid until after Send returns without error.
bae9f6d2 815//
15c0b25d
AP
816// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
817// API call, and error handling.
818//
819// This method is useful when you want to inject custom logic or configuration
820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 821//
bae9f6d2
JC
822//
823// // Example sending a request using the DeleteBucketLifecycleRequest method.
824// req, resp := client.DeleteBucketLifecycleRequest(params)
825//
826// err := req.Send()
827// if err == nil { // resp is now filled
828// fmt.Println(resp)
829// }
830//
15c0b25d 831// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
bae9f6d2
JC
832func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
833 op := &request.Operation{
834 Name: opDeleteBucketLifecycle,
835 HTTPMethod: "DELETE",
836 HTTPPath: "/{Bucket}?lifecycle",
837 }
838
839 if input == nil {
840 input = &DeleteBucketLifecycleInput{}
841 }
842
843 output = &DeleteBucketLifecycleOutput{}
844 req = c.newRequest(op, input, output)
107c1cdb 845 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
846 return
847}
848
849// DeleteBucketLifecycle API operation for Amazon Simple Storage Service.
850//
851// Deletes the lifecycle configuration from the bucket.
852//
853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
854// with awserr.Error's Code and Message methods to get detailed information about
855// the error.
856//
857// See the AWS API reference guide for Amazon Simple Storage Service's
858// API operation DeleteBucketLifecycle for usage and error information.
15c0b25d 859// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
bae9f6d2
JC
860func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
861 req, out := c.DeleteBucketLifecycleRequest(input)
862 return out, req.Send()
863}
864
865// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
866// the ability to pass a context and additional request options.
867//
868// See DeleteBucketLifecycle for details on how to use this API operation.
869//
870// The context must be non-nil and will be used for request cancellation. If
871// the context is nil a panic will occur. In the future the SDK may create
872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
873// for more information on using Contexts.
874func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
875 req, out := c.DeleteBucketLifecycleRequest(input)
876 req.SetContext(ctx)
877 req.ApplyOptions(opts...)
878 return out, req.Send()
879}
880
881const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
882
883// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
884// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
15c0b25d 885// value will be populated with the request's response once the request completes
107c1cdb 886// successfully.
15c0b25d
AP
887//
888// Use "Send" method on the returned Request to send the API call to the service.
889// the "output" return value is not valid until after Send returns without error.
bae9f6d2 890//
15c0b25d
AP
891// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
892// API call, and error handling.
bae9f6d2 893//
15c0b25d
AP
894// This method is useful when you want to inject custom logic or configuration
895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 896//
bae9f6d2
JC
897//
898// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
899// req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
900//
901// err := req.Send()
902// if err == nil { // resp is now filled
903// fmt.Println(resp)
904// }
905//
15c0b25d 906// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
bae9f6d2
JC
907func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
908 op := &request.Operation{
909 Name: opDeleteBucketMetricsConfiguration,
910 HTTPMethod: "DELETE",
911 HTTPPath: "/{Bucket}?metrics",
912 }
913
914 if input == nil {
915 input = &DeleteBucketMetricsConfigurationInput{}
916 }
917
918 output = &DeleteBucketMetricsConfigurationOutput{}
919 req = c.newRequest(op, input, output)
107c1cdb 920 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
921 return
922}
923
924// DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
925//
926// Deletes a metrics configuration (specified by the metrics configuration ID)
927// from the bucket.
928//
929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
930// with awserr.Error's Code and Message methods to get detailed information about
931// the error.
932//
933// See the AWS API reference guide for Amazon Simple Storage Service's
934// API operation DeleteBucketMetricsConfiguration for usage and error information.
15c0b25d 935// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
bae9f6d2
JC
936func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
937 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
938 return out, req.Send()
939}
940
941// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
942// the ability to pass a context and additional request options.
943//
944// See DeleteBucketMetricsConfiguration for details on how to use this API operation.
945//
946// The context must be non-nil and will be used for request cancellation. If
947// the context is nil a panic will occur. In the future the SDK may create
948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
949// for more information on using Contexts.
950func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
951 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
952 req.SetContext(ctx)
953 req.ApplyOptions(opts...)
954 return out, req.Send()
955}
956
957const opDeleteBucketPolicy = "DeleteBucketPolicy"
958
959// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
960// client's request for the DeleteBucketPolicy operation. The "output" return
15c0b25d 961// value will be populated with the request's response once the request completes
107c1cdb 962// successfully.
bae9f6d2 963//
15c0b25d
AP
964// Use "Send" method on the returned Request to send the API call to the service.
965// the "output" return value is not valid until after Send returns without error.
bae9f6d2 966//
15c0b25d
AP
967// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
968// API call, and error handling.
969//
970// This method is useful when you want to inject custom logic or configuration
971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 972//
bae9f6d2
JC
973//
974// // Example sending a request using the DeleteBucketPolicyRequest method.
975// req, resp := client.DeleteBucketPolicyRequest(params)
976//
977// err := req.Send()
978// if err == nil { // resp is now filled
979// fmt.Println(resp)
980// }
981//
15c0b25d 982// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
bae9f6d2
JC
983func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
984 op := &request.Operation{
985 Name: opDeleteBucketPolicy,
986 HTTPMethod: "DELETE",
987 HTTPPath: "/{Bucket}?policy",
988 }
989
990 if input == nil {
991 input = &DeleteBucketPolicyInput{}
992 }
993
994 output = &DeleteBucketPolicyOutput{}
995 req = c.newRequest(op, input, output)
107c1cdb 996 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
997 return
998}
999
1000// DeleteBucketPolicy API operation for Amazon Simple Storage Service.
1001//
1002// Deletes the policy from the bucket.
1003//
1004// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1005// with awserr.Error's Code and Message methods to get detailed information about
1006// the error.
1007//
1008// See the AWS API reference guide for Amazon Simple Storage Service's
1009// API operation DeleteBucketPolicy for usage and error information.
15c0b25d 1010// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
bae9f6d2
JC
1011func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
1012 req, out := c.DeleteBucketPolicyRequest(input)
1013 return out, req.Send()
1014}
1015
1016// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
1017// the ability to pass a context and additional request options.
1018//
1019// See DeleteBucketPolicy for details on how to use this API operation.
1020//
1021// The context must be non-nil and will be used for request cancellation. If
1022// the context is nil a panic will occur. In the future the SDK may create
1023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1024// for more information on using Contexts.
1025func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
1026 req, out := c.DeleteBucketPolicyRequest(input)
1027 req.SetContext(ctx)
1028 req.ApplyOptions(opts...)
1029 return out, req.Send()
1030}
1031
1032const opDeleteBucketReplication = "DeleteBucketReplication"
1033
1034// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
1035// client's request for the DeleteBucketReplication operation. The "output" return
15c0b25d 1036// value will be populated with the request's response once the request completes
107c1cdb 1037// successfully.
15c0b25d
AP
1038//
1039// Use "Send" method on the returned Request to send the API call to the service.
1040// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1041//
15c0b25d
AP
1042// See DeleteBucketReplication for more information on using the DeleteBucketReplication
1043// API call, and error handling.
bae9f6d2 1044//
15c0b25d
AP
1045// This method is useful when you want to inject custom logic or configuration
1046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1047//
bae9f6d2
JC
1048//
1049// // Example sending a request using the DeleteBucketReplicationRequest method.
1050// req, resp := client.DeleteBucketReplicationRequest(params)
1051//
1052// err := req.Send()
1053// if err == nil { // resp is now filled
1054// fmt.Println(resp)
1055// }
1056//
15c0b25d 1057// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
bae9f6d2
JC
1058func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
1059 op := &request.Operation{
1060 Name: opDeleteBucketReplication,
1061 HTTPMethod: "DELETE",
1062 HTTPPath: "/{Bucket}?replication",
1063 }
1064
1065 if input == nil {
1066 input = &DeleteBucketReplicationInput{}
1067 }
1068
1069 output = &DeleteBucketReplicationOutput{}
1070 req = c.newRequest(op, input, output)
107c1cdb 1071 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1072 return
1073}
1074
1075// DeleteBucketReplication API operation for Amazon Simple Storage Service.
1076//
107c1cdb 1077// Deletes the replication configuration from the bucket. For information about
863486a6 1078// replication configuration, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
107c1cdb 1079// in the Amazon S3 Developer Guide.
bae9f6d2
JC
1080//
1081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1082// with awserr.Error's Code and Message methods to get detailed information about
1083// the error.
1084//
1085// See the AWS API reference guide for Amazon Simple Storage Service's
1086// API operation DeleteBucketReplication for usage and error information.
15c0b25d 1087// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
bae9f6d2
JC
1088func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1089 req, out := c.DeleteBucketReplicationRequest(input)
1090 return out, req.Send()
1091}
1092
1093// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
1094// the ability to pass a context and additional request options.
1095//
1096// See DeleteBucketReplication for details on how to use this API operation.
1097//
1098// The context must be non-nil and will be used for request cancellation. If
1099// the context is nil a panic will occur. In the future the SDK may create
1100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1101// for more information on using Contexts.
1102func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
1103 req, out := c.DeleteBucketReplicationRequest(input)
1104 req.SetContext(ctx)
1105 req.ApplyOptions(opts...)
1106 return out, req.Send()
1107}
1108
1109const opDeleteBucketTagging = "DeleteBucketTagging"
1110
1111// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1112// client's request for the DeleteBucketTagging operation. The "output" return
15c0b25d 1113// value will be populated with the request's response once the request completes
107c1cdb 1114// successfully.
bae9f6d2 1115//
15c0b25d
AP
1116// Use "Send" method on the returned Request to send the API call to the service.
1117// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1118//
15c0b25d
AP
1119// See DeleteBucketTagging for more information on using the DeleteBucketTagging
1120// API call, and error handling.
1121//
1122// This method is useful when you want to inject custom logic or configuration
1123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1124//
bae9f6d2
JC
1125//
1126// // Example sending a request using the DeleteBucketTaggingRequest method.
1127// req, resp := client.DeleteBucketTaggingRequest(params)
1128//
1129// err := req.Send()
1130// if err == nil { // resp is now filled
1131// fmt.Println(resp)
1132// }
1133//
15c0b25d 1134// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
bae9f6d2
JC
1135func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1136 op := &request.Operation{
1137 Name: opDeleteBucketTagging,
1138 HTTPMethod: "DELETE",
1139 HTTPPath: "/{Bucket}?tagging",
1140 }
1141
1142 if input == nil {
1143 input = &DeleteBucketTaggingInput{}
1144 }
1145
1146 output = &DeleteBucketTaggingOutput{}
1147 req = c.newRequest(op, input, output)
107c1cdb 1148 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1149 return
1150}
1151
1152// DeleteBucketTagging API operation for Amazon Simple Storage Service.
1153//
1154// Deletes the tags from the bucket.
1155//
1156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157// with awserr.Error's Code and Message methods to get detailed information about
1158// the error.
1159//
1160// See the AWS API reference guide for Amazon Simple Storage Service's
1161// API operation DeleteBucketTagging for usage and error information.
15c0b25d 1162// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
bae9f6d2
JC
1163func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1164 req, out := c.DeleteBucketTaggingRequest(input)
1165 return out, req.Send()
1166}
1167
1168// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
1169// the ability to pass a context and additional request options.
1170//
1171// See DeleteBucketTagging for details on how to use this API operation.
1172//
1173// The context must be non-nil and will be used for request cancellation. If
1174// the context is nil a panic will occur. In the future the SDK may create
1175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176// for more information on using Contexts.
1177func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
1178 req, out := c.DeleteBucketTaggingRequest(input)
1179 req.SetContext(ctx)
1180 req.ApplyOptions(opts...)
1181 return out, req.Send()
1182}
1183
1184const opDeleteBucketWebsite = "DeleteBucketWebsite"
1185
1186// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1187// client's request for the DeleteBucketWebsite operation. The "output" return
15c0b25d 1188// value will be populated with the request's response once the request completes
107c1cdb 1189// successfully.
15c0b25d
AP
1190//
1191// Use "Send" method on the returned Request to send the API call to the service.
1192// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1193//
15c0b25d
AP
1194// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1195// API call, and error handling.
bae9f6d2 1196//
15c0b25d
AP
1197// This method is useful when you want to inject custom logic or configuration
1198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1199//
bae9f6d2
JC
1200//
1201// // Example sending a request using the DeleteBucketWebsiteRequest method.
1202// req, resp := client.DeleteBucketWebsiteRequest(params)
1203//
1204// err := req.Send()
1205// if err == nil { // resp is now filled
1206// fmt.Println(resp)
1207// }
1208//
15c0b25d 1209// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
bae9f6d2
JC
1210func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1211 op := &request.Operation{
1212 Name: opDeleteBucketWebsite,
1213 HTTPMethod: "DELETE",
1214 HTTPPath: "/{Bucket}?website",
1215 }
1216
1217 if input == nil {
1218 input = &DeleteBucketWebsiteInput{}
1219 }
1220
1221 output = &DeleteBucketWebsiteOutput{}
1222 req = c.newRequest(op, input, output)
107c1cdb 1223 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
1224 return
1225}
1226
1227// DeleteBucketWebsite API operation for Amazon Simple Storage Service.
1228//
1229// This operation removes the website configuration from the bucket.
1230//
1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232// with awserr.Error's Code and Message methods to get detailed information about
1233// the error.
1234//
1235// See the AWS API reference guide for Amazon Simple Storage Service's
1236// API operation DeleteBucketWebsite for usage and error information.
15c0b25d 1237// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
bae9f6d2
JC
1238func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1239 req, out := c.DeleteBucketWebsiteRequest(input)
1240 return out, req.Send()
1241}
1242
1243// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
1244// the ability to pass a context and additional request options.
1245//
1246// See DeleteBucketWebsite for details on how to use this API operation.
1247//
1248// The context must be non-nil and will be used for request cancellation. If
1249// the context is nil a panic will occur. In the future the SDK may create
1250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1251// for more information on using Contexts.
1252func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
1253 req, out := c.DeleteBucketWebsiteRequest(input)
1254 req.SetContext(ctx)
1255 req.ApplyOptions(opts...)
1256 return out, req.Send()
1257}
1258
1259const opDeleteObject = "DeleteObject"
1260
1261// DeleteObjectRequest generates a "aws/request.Request" representing the
1262// client's request for the DeleteObject operation. The "output" return
15c0b25d 1263// value will be populated with the request's response once the request completes
107c1cdb 1264// successfully.
bae9f6d2 1265//
15c0b25d
AP
1266// Use "Send" method on the returned Request to send the API call to the service.
1267// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1268//
15c0b25d
AP
1269// See DeleteObject for more information on using the DeleteObject
1270// API call, and error handling.
1271//
1272// This method is useful when you want to inject custom logic or configuration
1273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1274//
bae9f6d2
JC
1275//
1276// // Example sending a request using the DeleteObjectRequest method.
1277// req, resp := client.DeleteObjectRequest(params)
1278//
1279// err := req.Send()
1280// if err == nil { // resp is now filled
1281// fmt.Println(resp)
1282// }
1283//
15c0b25d 1284// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
bae9f6d2
JC
1285func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1286 op := &request.Operation{
1287 Name: opDeleteObject,
1288 HTTPMethod: "DELETE",
1289 HTTPPath: "/{Bucket}/{Key+}",
1290 }
1291
1292 if input == nil {
1293 input = &DeleteObjectInput{}
1294 }
1295
1296 output = &DeleteObjectOutput{}
1297 req = c.newRequest(op, input, output)
1298 return
1299}
1300
1301// DeleteObject API operation for Amazon Simple Storage Service.
1302//
1303// Removes the null version (if there is one) of an object and inserts a delete
1304// marker, which becomes the latest version of the object. If there isn't a
1305// null version, Amazon S3 does not remove any objects.
1306//
1307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1308// with awserr.Error's Code and Message methods to get detailed information about
1309// the error.
1310//
1311// See the AWS API reference guide for Amazon Simple Storage Service's
1312// API operation DeleteObject for usage and error information.
15c0b25d 1313// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
bae9f6d2
JC
1314func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1315 req, out := c.DeleteObjectRequest(input)
1316 return out, req.Send()
1317}
1318
1319// DeleteObjectWithContext is the same as DeleteObject with the addition of
1320// the ability to pass a context and additional request options.
1321//
1322// See DeleteObject for details on how to use this API operation.
1323//
1324// The context must be non-nil and will be used for request cancellation. If
1325// the context is nil a panic will occur. In the future the SDK may create
1326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1327// for more information on using Contexts.
1328func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
1329 req, out := c.DeleteObjectRequest(input)
1330 req.SetContext(ctx)
1331 req.ApplyOptions(opts...)
1332 return out, req.Send()
1333}
1334
1335const opDeleteObjectTagging = "DeleteObjectTagging"
1336
1337// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1338// client's request for the DeleteObjectTagging operation. The "output" return
15c0b25d 1339// value will be populated with the request's response once the request completes
107c1cdb 1340// successfully.
15c0b25d
AP
1341//
1342// Use "Send" method on the returned Request to send the API call to the service.
1343// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1344//
15c0b25d
AP
1345// See DeleteObjectTagging for more information on using the DeleteObjectTagging
1346// API call, and error handling.
bae9f6d2 1347//
15c0b25d
AP
1348// This method is useful when you want to inject custom logic or configuration
1349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1350//
bae9f6d2
JC
1351//
1352// // Example sending a request using the DeleteObjectTaggingRequest method.
1353// req, resp := client.DeleteObjectTaggingRequest(params)
1354//
1355// err := req.Send()
1356// if err == nil { // resp is now filled
1357// fmt.Println(resp)
1358// }
1359//
15c0b25d 1360// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
bae9f6d2
JC
1361func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1362 op := &request.Operation{
1363 Name: opDeleteObjectTagging,
1364 HTTPMethod: "DELETE",
1365 HTTPPath: "/{Bucket}/{Key+}?tagging",
1366 }
1367
1368 if input == nil {
1369 input = &DeleteObjectTaggingInput{}
1370 }
1371
1372 output = &DeleteObjectTaggingOutput{}
1373 req = c.newRequest(op, input, output)
1374 return
1375}
1376
1377// DeleteObjectTagging API operation for Amazon Simple Storage Service.
1378//
1379// Removes the tag-set from an existing object.
1380//
1381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1382// with awserr.Error's Code and Message methods to get detailed information about
1383// the error.
1384//
1385// See the AWS API reference guide for Amazon Simple Storage Service's
1386// API operation DeleteObjectTagging for usage and error information.
15c0b25d 1387// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
bae9f6d2
JC
1388func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1389 req, out := c.DeleteObjectTaggingRequest(input)
1390 return out, req.Send()
1391}
1392
1393// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
1394// the ability to pass a context and additional request options.
1395//
1396// See DeleteObjectTagging for details on how to use this API operation.
1397//
1398// The context must be non-nil and will be used for request cancellation. If
1399// the context is nil a panic will occur. In the future the SDK may create
1400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1401// for more information on using Contexts.
1402func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
1403 req, out := c.DeleteObjectTaggingRequest(input)
1404 req.SetContext(ctx)
1405 req.ApplyOptions(opts...)
1406 return out, req.Send()
1407}
1408
1409const opDeleteObjects = "DeleteObjects"
1410
1411// DeleteObjectsRequest generates a "aws/request.Request" representing the
1412// client's request for the DeleteObjects operation. The "output" return
15c0b25d 1413// value will be populated with the request's response once the request completes
107c1cdb 1414// successfully.
bae9f6d2 1415//
15c0b25d
AP
1416// Use "Send" method on the returned Request to send the API call to the service.
1417// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1418//
15c0b25d
AP
1419// See DeleteObjects for more information on using the DeleteObjects
1420// API call, and error handling.
1421//
1422// This method is useful when you want to inject custom logic or configuration
1423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1424//
bae9f6d2
JC
1425//
1426// // Example sending a request using the DeleteObjectsRequest method.
1427// req, resp := client.DeleteObjectsRequest(params)
1428//
1429// err := req.Send()
1430// if err == nil { // resp is now filled
1431// fmt.Println(resp)
1432// }
1433//
15c0b25d 1434// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
bae9f6d2
JC
1435func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1436 op := &request.Operation{
1437 Name: opDeleteObjects,
1438 HTTPMethod: "POST",
1439 HTTPPath: "/{Bucket}?delete",
1440 }
1441
1442 if input == nil {
1443 input = &DeleteObjectsInput{}
1444 }
1445
1446 output = &DeleteObjectsOutput{}
1447 req = c.newRequest(op, input, output)
1448 return
1449}
1450
1451// DeleteObjects API operation for Amazon Simple Storage Service.
1452//
1453// This operation enables you to delete multiple objects from a bucket using
1454// a single HTTP request. You may specify up to 1000 keys.
1455//
1456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1457// with awserr.Error's Code and Message methods to get detailed information about
1458// the error.
1459//
1460// See the AWS API reference guide for Amazon Simple Storage Service's
1461// API operation DeleteObjects for usage and error information.
15c0b25d 1462// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
bae9f6d2
JC
1463func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1464 req, out := c.DeleteObjectsRequest(input)
1465 return out, req.Send()
1466}
1467
1468// DeleteObjectsWithContext is the same as DeleteObjects with the addition of
1469// the ability to pass a context and additional request options.
1470//
1471// See DeleteObjects for details on how to use this API operation.
1472//
1473// The context must be non-nil and will be used for request cancellation. If
1474// the context is nil a panic will occur. In the future the SDK may create
1475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1476// for more information on using Contexts.
1477func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
1478 req, out := c.DeleteObjectsRequest(input)
1479 req.SetContext(ctx)
1480 req.ApplyOptions(opts...)
1481 return out, req.Send()
1482}
1483
107c1cdb
ND
1484const opDeletePublicAccessBlock = "DeletePublicAccessBlock"
1485
1486// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the
1487// client's request for the DeletePublicAccessBlock operation. The "output" return
1488// value will be populated with the request's response once the request completes
1489// successfully.
1490//
1491// Use "Send" method on the returned Request to send the API call to the service.
1492// the "output" return value is not valid until after Send returns without error.
1493//
1494// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock
1495// API call, and error handling.
1496//
1497// This method is useful when you want to inject custom logic or configuration
1498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1499//
1500//
1501// // Example sending a request using the DeletePublicAccessBlockRequest method.
1502// req, resp := client.DeletePublicAccessBlockRequest(params)
1503//
1504// err := req.Send()
1505// if err == nil { // resp is now filled
1506// fmt.Println(resp)
1507// }
1508//
1509// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1510func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) {
1511 op := &request.Operation{
1512 Name: opDeletePublicAccessBlock,
1513 HTTPMethod: "DELETE",
1514 HTTPPath: "/{Bucket}?publicAccessBlock",
1515 }
1516
1517 if input == nil {
1518 input = &DeletePublicAccessBlockInput{}
1519 }
1520
1521 output = &DeletePublicAccessBlockOutput{}
1522 req = c.newRequest(op, input, output)
1523 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1524 return
1525}
1526
1527// DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
1528//
1529// Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
1530//
1531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1532// with awserr.Error's Code and Message methods to get detailed information about
1533// the error.
1534//
1535// See the AWS API reference guide for Amazon Simple Storage Service's
1536// API operation DeletePublicAccessBlock for usage and error information.
1537// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock
1538func (c *S3) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) {
1539 req, out := c.DeletePublicAccessBlockRequest(input)
1540 return out, req.Send()
1541}
1542
1543// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of
1544// the ability to pass a context and additional request options.
1545//
1546// See DeletePublicAccessBlock for details on how to use this API operation.
1547//
1548// The context must be non-nil and will be used for request cancellation. If
1549// the context is nil a panic will occur. In the future the SDK may create
1550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1551// for more information on using Contexts.
1552func (c *S3) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) {
1553 req, out := c.DeletePublicAccessBlockRequest(input)
1554 req.SetContext(ctx)
1555 req.ApplyOptions(opts...)
1556 return out, req.Send()
1557}
1558
bae9f6d2
JC
1559const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1560
1561// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1562// client's request for the GetBucketAccelerateConfiguration operation. The "output" return
15c0b25d 1563// value will be populated with the request's response once the request completes
107c1cdb 1564// successfully.
15c0b25d
AP
1565//
1566// Use "Send" method on the returned Request to send the API call to the service.
1567// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1568//
15c0b25d
AP
1569// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1570// API call, and error handling.
bae9f6d2 1571//
15c0b25d
AP
1572// This method is useful when you want to inject custom logic or configuration
1573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1574//
bae9f6d2
JC
1575//
1576// // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1577// req, resp := client.GetBucketAccelerateConfigurationRequest(params)
1578//
1579// err := req.Send()
1580// if err == nil { // resp is now filled
1581// fmt.Println(resp)
1582// }
1583//
15c0b25d 1584// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
bae9f6d2
JC
1585func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1586 op := &request.Operation{
1587 Name: opGetBucketAccelerateConfiguration,
1588 HTTPMethod: "GET",
1589 HTTPPath: "/{Bucket}?accelerate",
1590 }
1591
1592 if input == nil {
1593 input = &GetBucketAccelerateConfigurationInput{}
1594 }
1595
1596 output = &GetBucketAccelerateConfigurationOutput{}
1597 req = c.newRequest(op, input, output)
1598 return
1599}
1600
1601// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
1602//
1603// Returns the accelerate configuration of a bucket.
1604//
1605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1606// with awserr.Error's Code and Message methods to get detailed information about
1607// the error.
1608//
1609// See the AWS API reference guide for Amazon Simple Storage Service's
1610// API operation GetBucketAccelerateConfiguration for usage and error information.
15c0b25d 1611// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
bae9f6d2
JC
1612func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1613 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1614 return out, req.Send()
1615}
1616
1617// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
1618// the ability to pass a context and additional request options.
1619//
1620// See GetBucketAccelerateConfiguration for details on how to use this API operation.
1621//
1622// The context must be non-nil and will be used for request cancellation. If
1623// the context is nil a panic will occur. In the future the SDK may create
1624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1625// for more information on using Contexts.
1626func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
1627 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1628 req.SetContext(ctx)
1629 req.ApplyOptions(opts...)
1630 return out, req.Send()
1631}
1632
1633const opGetBucketAcl = "GetBucketAcl"
1634
1635// GetBucketAclRequest generates a "aws/request.Request" representing the
1636// client's request for the GetBucketAcl operation. The "output" return
15c0b25d 1637// value will be populated with the request's response once the request completes
107c1cdb 1638// successfully.
bae9f6d2 1639//
15c0b25d
AP
1640// Use "Send" method on the returned Request to send the API call to the service.
1641// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1642//
15c0b25d
AP
1643// See GetBucketAcl for more information on using the GetBucketAcl
1644// API call, and error handling.
1645//
1646// This method is useful when you want to inject custom logic or configuration
1647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1648//
bae9f6d2
JC
1649//
1650// // Example sending a request using the GetBucketAclRequest method.
1651// req, resp := client.GetBucketAclRequest(params)
1652//
1653// err := req.Send()
1654// if err == nil { // resp is now filled
1655// fmt.Println(resp)
1656// }
1657//
15c0b25d 1658// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
bae9f6d2
JC
1659func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1660 op := &request.Operation{
1661 Name: opGetBucketAcl,
1662 HTTPMethod: "GET",
1663 HTTPPath: "/{Bucket}?acl",
1664 }
1665
1666 if input == nil {
1667 input = &GetBucketAclInput{}
1668 }
1669
1670 output = &GetBucketAclOutput{}
1671 req = c.newRequest(op, input, output)
1672 return
1673}
1674
1675// GetBucketAcl API operation for Amazon Simple Storage Service.
1676//
1677// Gets the access control policy for the bucket.
1678//
1679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1680// with awserr.Error's Code and Message methods to get detailed information about
1681// the error.
1682//
1683// See the AWS API reference guide for Amazon Simple Storage Service's
1684// API operation GetBucketAcl for usage and error information.
15c0b25d 1685// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
bae9f6d2
JC
1686func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1687 req, out := c.GetBucketAclRequest(input)
1688 return out, req.Send()
1689}
1690
1691// GetBucketAclWithContext is the same as GetBucketAcl with the addition of
1692// the ability to pass a context and additional request options.
1693//
1694// See GetBucketAcl for details on how to use this API operation.
1695//
1696// The context must be non-nil and will be used for request cancellation. If
1697// the context is nil a panic will occur. In the future the SDK may create
1698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1699// for more information on using Contexts.
1700func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
1701 req, out := c.GetBucketAclRequest(input)
1702 req.SetContext(ctx)
1703 req.ApplyOptions(opts...)
1704 return out, req.Send()
1705}
1706
1707const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1708
1709// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1710// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
15c0b25d 1711// value will be populated with the request's response once the request completes
107c1cdb 1712// successfully.
15c0b25d
AP
1713//
1714// Use "Send" method on the returned Request to send the API call to the service.
1715// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1716//
15c0b25d
AP
1717// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1718// API call, and error handling.
bae9f6d2 1719//
15c0b25d
AP
1720// This method is useful when you want to inject custom logic or configuration
1721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1722//
bae9f6d2
JC
1723//
1724// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1725// req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
1726//
1727// err := req.Send()
1728// if err == nil { // resp is now filled
1729// fmt.Println(resp)
1730// }
1731//
15c0b25d 1732// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
bae9f6d2
JC
1733func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1734 op := &request.Operation{
1735 Name: opGetBucketAnalyticsConfiguration,
1736 HTTPMethod: "GET",
1737 HTTPPath: "/{Bucket}?analytics",
1738 }
1739
1740 if input == nil {
1741 input = &GetBucketAnalyticsConfigurationInput{}
1742 }
1743
1744 output = &GetBucketAnalyticsConfigurationOutput{}
1745 req = c.newRequest(op, input, output)
1746 return
1747}
1748
1749// GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
1750//
1751// Gets an analytics configuration for the bucket (specified by the analytics
1752// configuration ID).
1753//
1754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1755// with awserr.Error's Code and Message methods to get detailed information about
1756// the error.
1757//
1758// See the AWS API reference guide for Amazon Simple Storage Service's
1759// API operation GetBucketAnalyticsConfiguration for usage and error information.
15c0b25d 1760// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
bae9f6d2
JC
1761func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1762 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1763 return out, req.Send()
1764}
1765
1766// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
1767// the ability to pass a context and additional request options.
1768//
1769// See GetBucketAnalyticsConfiguration for details on how to use this API operation.
1770//
1771// The context must be non-nil and will be used for request cancellation. If
1772// the context is nil a panic will occur. In the future the SDK may create
1773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1774// for more information on using Contexts.
1775func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
1776 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1777 req.SetContext(ctx)
1778 req.ApplyOptions(opts...)
1779 return out, req.Send()
1780}
1781
1782const opGetBucketCors = "GetBucketCors"
1783
1784// GetBucketCorsRequest generates a "aws/request.Request" representing the
1785// client's request for the GetBucketCors operation. The "output" return
15c0b25d 1786// value will be populated with the request's response once the request completes
107c1cdb 1787// successfully.
bae9f6d2 1788//
15c0b25d
AP
1789// Use "Send" method on the returned Request to send the API call to the service.
1790// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1791//
15c0b25d
AP
1792// See GetBucketCors for more information on using the GetBucketCors
1793// API call, and error handling.
1794//
1795// This method is useful when you want to inject custom logic or configuration
1796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1797//
bae9f6d2
JC
1798//
1799// // Example sending a request using the GetBucketCorsRequest method.
1800// req, resp := client.GetBucketCorsRequest(params)
1801//
1802// err := req.Send()
1803// if err == nil { // resp is now filled
1804// fmt.Println(resp)
1805// }
1806//
15c0b25d 1807// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
bae9f6d2
JC
1808func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1809 op := &request.Operation{
1810 Name: opGetBucketCors,
1811 HTTPMethod: "GET",
1812 HTTPPath: "/{Bucket}?cors",
1813 }
1814
1815 if input == nil {
1816 input = &GetBucketCorsInput{}
1817 }
1818
1819 output = &GetBucketCorsOutput{}
1820 req = c.newRequest(op, input, output)
1821 return
1822}
1823
1824// GetBucketCors API operation for Amazon Simple Storage Service.
1825//
107c1cdb 1826// Returns the CORS configuration for the bucket.
bae9f6d2
JC
1827//
1828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1829// with awserr.Error's Code and Message methods to get detailed information about
1830// the error.
1831//
1832// See the AWS API reference guide for Amazon Simple Storage Service's
1833// API operation GetBucketCors for usage and error information.
15c0b25d 1834// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
bae9f6d2
JC
1835func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1836 req, out := c.GetBucketCorsRequest(input)
1837 return out, req.Send()
1838}
1839
1840// GetBucketCorsWithContext is the same as GetBucketCors with the addition of
1841// the ability to pass a context and additional request options.
1842//
1843// See GetBucketCors for details on how to use this API operation.
1844//
1845// The context must be non-nil and will be used for request cancellation. If
1846// the context is nil a panic will occur. In the future the SDK may create
1847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1848// for more information on using Contexts.
1849func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
1850 req, out := c.GetBucketCorsRequest(input)
1851 req.SetContext(ctx)
1852 req.ApplyOptions(opts...)
1853 return out, req.Send()
1854}
1855
15c0b25d
AP
1856const opGetBucketEncryption = "GetBucketEncryption"
1857
1858// GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1859// client's request for the GetBucketEncryption operation. The "output" return
1860// value will be populated with the request's response once the request completes
107c1cdb 1861// successfully.
15c0b25d
AP
1862//
1863// Use "Send" method on the returned Request to send the API call to the service.
1864// the "output" return value is not valid until after Send returns without error.
1865//
1866// See GetBucketEncryption for more information on using the GetBucketEncryption
1867// API call, and error handling.
1868//
1869// This method is useful when you want to inject custom logic or configuration
1870// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1871//
1872//
1873// // Example sending a request using the GetBucketEncryptionRequest method.
1874// req, resp := client.GetBucketEncryptionRequest(params)
1875//
1876// err := req.Send()
1877// if err == nil { // resp is now filled
1878// fmt.Println(resp)
1879// }
1880//
1881// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1882func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1883 op := &request.Operation{
1884 Name: opGetBucketEncryption,
1885 HTTPMethod: "GET",
1886 HTTPPath: "/{Bucket}?encryption",
1887 }
1888
1889 if input == nil {
1890 input = &GetBucketEncryptionInput{}
1891 }
1892
1893 output = &GetBucketEncryptionOutput{}
1894 req = c.newRequest(op, input, output)
1895 return
1896}
1897
1898// GetBucketEncryption API operation for Amazon Simple Storage Service.
1899//
1900// Returns the server-side encryption configuration of a bucket.
1901//
1902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1903// with awserr.Error's Code and Message methods to get detailed information about
1904// the error.
1905//
1906// See the AWS API reference guide for Amazon Simple Storage Service's
1907// API operation GetBucketEncryption for usage and error information.
1908// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1909func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1910 req, out := c.GetBucketEncryptionRequest(input)
1911 return out, req.Send()
1912}
1913
1914// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1915// the ability to pass a context and additional request options.
1916//
1917// See GetBucketEncryption for details on how to use this API operation.
1918//
1919// The context must be non-nil and will be used for request cancellation. If
1920// the context is nil a panic will occur. In the future the SDK may create
1921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1922// for more information on using Contexts.
1923func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1924 req, out := c.GetBucketEncryptionRequest(input)
1925 req.SetContext(ctx)
1926 req.ApplyOptions(opts...)
1927 return out, req.Send()
1928}
1929
bae9f6d2
JC
1930const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1931
1932// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1933// client's request for the GetBucketInventoryConfiguration operation. The "output" return
15c0b25d 1934// value will be populated with the request's response once the request completes
107c1cdb 1935// successfully.
bae9f6d2 1936//
15c0b25d
AP
1937// Use "Send" method on the returned Request to send the API call to the service.
1938// the "output" return value is not valid until after Send returns without error.
bae9f6d2 1939//
15c0b25d
AP
1940// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1941// API call, and error handling.
1942//
1943// This method is useful when you want to inject custom logic or configuration
1944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 1945//
bae9f6d2
JC
1946//
1947// // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1948// req, resp := client.GetBucketInventoryConfigurationRequest(params)
1949//
1950// err := req.Send()
1951// if err == nil { // resp is now filled
1952// fmt.Println(resp)
1953// }
1954//
15c0b25d 1955// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
bae9f6d2
JC
1956func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1957 op := &request.Operation{
1958 Name: opGetBucketInventoryConfiguration,
1959 HTTPMethod: "GET",
1960 HTTPPath: "/{Bucket}?inventory",
1961 }
1962
1963 if input == nil {
1964 input = &GetBucketInventoryConfigurationInput{}
1965 }
1966
1967 output = &GetBucketInventoryConfigurationOutput{}
1968 req = c.newRequest(op, input, output)
1969 return
1970}
1971
1972// GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
1973//
1974// Returns an inventory configuration (identified by the inventory ID) from
1975// the bucket.
1976//
1977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1978// with awserr.Error's Code and Message methods to get detailed information about
1979// the error.
1980//
1981// See the AWS API reference guide for Amazon Simple Storage Service's
1982// API operation GetBucketInventoryConfiguration for usage and error information.
15c0b25d 1983// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
bae9f6d2
JC
1984func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1985 req, out := c.GetBucketInventoryConfigurationRequest(input)
1986 return out, req.Send()
1987}
1988
1989// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
1990// the ability to pass a context and additional request options.
1991//
1992// See GetBucketInventoryConfiguration for details on how to use this API operation.
1993//
1994// The context must be non-nil and will be used for request cancellation. If
1995// the context is nil a panic will occur. In the future the SDK may create
1996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1997// for more information on using Contexts.
1998func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
1999 req, out := c.GetBucketInventoryConfigurationRequest(input)
2000 req.SetContext(ctx)
2001 req.ApplyOptions(opts...)
2002 return out, req.Send()
2003}
2004
2005const opGetBucketLifecycle = "GetBucketLifecycle"
2006
2007// GetBucketLifecycleRequest generates a "aws/request.Request" representing the
2008// client's request for the GetBucketLifecycle operation. The "output" return
15c0b25d 2009// value will be populated with the request's response once the request completes
107c1cdb 2010// successfully.
15c0b25d
AP
2011//
2012// Use "Send" method on the returned Request to send the API call to the service.
2013// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2014//
15c0b25d
AP
2015// See GetBucketLifecycle for more information on using the GetBucketLifecycle
2016// API call, and error handling.
bae9f6d2 2017//
15c0b25d
AP
2018// This method is useful when you want to inject custom logic or configuration
2019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2020//
bae9f6d2
JC
2021//
2022// // Example sending a request using the GetBucketLifecycleRequest method.
2023// req, resp := client.GetBucketLifecycleRequest(params)
2024//
2025// err := req.Send()
2026// if err == nil { // resp is now filled
2027// fmt.Println(resp)
2028// }
2029//
15c0b25d 2030// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
107c1cdb
ND
2031//
2032// Deprecated: GetBucketLifecycle has been deprecated
bae9f6d2
JC
2033func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
2034 if c.Client.Config.Logger != nil {
2035 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
2036 }
2037 op := &request.Operation{
2038 Name: opGetBucketLifecycle,
2039 HTTPMethod: "GET",
2040 HTTPPath: "/{Bucket}?lifecycle",
2041 }
2042
2043 if input == nil {
2044 input = &GetBucketLifecycleInput{}
2045 }
2046
2047 output = &GetBucketLifecycleOutput{}
2048 req = c.newRequest(op, input, output)
2049 return
2050}
2051
2052// GetBucketLifecycle API operation for Amazon Simple Storage Service.
2053//
107c1cdb 2054// No longer used, see the GetBucketLifecycleConfiguration operation.
bae9f6d2
JC
2055//
2056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2057// with awserr.Error's Code and Message methods to get detailed information about
2058// the error.
2059//
2060// See the AWS API reference guide for Amazon Simple Storage Service's
2061// API operation GetBucketLifecycle for usage and error information.
15c0b25d 2062// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
107c1cdb
ND
2063//
2064// Deprecated: GetBucketLifecycle has been deprecated
bae9f6d2
JC
2065func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
2066 req, out := c.GetBucketLifecycleRequest(input)
2067 return out, req.Send()
2068}
2069
2070// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
2071// the ability to pass a context and additional request options.
2072//
2073// See GetBucketLifecycle for details on how to use this API operation.
2074//
2075// The context must be non-nil and will be used for request cancellation. If
2076// the context is nil a panic will occur. In the future the SDK may create
2077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2078// for more information on using Contexts.
107c1cdb
ND
2079//
2080// Deprecated: GetBucketLifecycleWithContext has been deprecated
bae9f6d2
JC
2081func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
2082 req, out := c.GetBucketLifecycleRequest(input)
2083 req.SetContext(ctx)
2084 req.ApplyOptions(opts...)
2085 return out, req.Send()
2086}
2087
2088const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
2089
2090// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
2091// client's request for the GetBucketLifecycleConfiguration operation. The "output" return
15c0b25d 2092// value will be populated with the request's response once the request completes
107c1cdb 2093// successfully.
bae9f6d2 2094//
15c0b25d
AP
2095// Use "Send" method on the returned Request to send the API call to the service.
2096// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2097//
15c0b25d
AP
2098// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
2099// API call, and error handling.
2100//
2101// This method is useful when you want to inject custom logic or configuration
2102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2103//
bae9f6d2
JC
2104//
2105// // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
2106// req, resp := client.GetBucketLifecycleConfigurationRequest(params)
2107//
2108// err := req.Send()
2109// if err == nil { // resp is now filled
2110// fmt.Println(resp)
2111// }
2112//
15c0b25d 2113// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
bae9f6d2
JC
2114func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
2115 op := &request.Operation{
2116 Name: opGetBucketLifecycleConfiguration,
2117 HTTPMethod: "GET",
2118 HTTPPath: "/{Bucket}?lifecycle",
2119 }
2120
2121 if input == nil {
2122 input = &GetBucketLifecycleConfigurationInput{}
2123 }
2124
2125 output = &GetBucketLifecycleConfigurationOutput{}
2126 req = c.newRequest(op, input, output)
2127 return
2128}
2129
2130// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
2131//
2132// Returns the lifecycle configuration information set on the bucket.
2133//
2134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2135// with awserr.Error's Code and Message methods to get detailed information about
2136// the error.
2137//
2138// See the AWS API reference guide for Amazon Simple Storage Service's
2139// API operation GetBucketLifecycleConfiguration for usage and error information.
15c0b25d 2140// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
bae9f6d2
JC
2141func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
2142 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2143 return out, req.Send()
2144}
2145
2146// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
2147// the ability to pass a context and additional request options.
2148//
2149// See GetBucketLifecycleConfiguration for details on how to use this API operation.
2150//
2151// The context must be non-nil and will be used for request cancellation. If
2152// the context is nil a panic will occur. In the future the SDK may create
2153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2154// for more information on using Contexts.
2155func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
2156 req, out := c.GetBucketLifecycleConfigurationRequest(input)
2157 req.SetContext(ctx)
2158 req.ApplyOptions(opts...)
2159 return out, req.Send()
2160}
2161
2162const opGetBucketLocation = "GetBucketLocation"
2163
2164// GetBucketLocationRequest generates a "aws/request.Request" representing the
2165// client's request for the GetBucketLocation operation. The "output" return
15c0b25d 2166// value will be populated with the request's response once the request completes
107c1cdb 2167// successfully.
15c0b25d
AP
2168//
2169// Use "Send" method on the returned Request to send the API call to the service.
2170// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2171//
15c0b25d
AP
2172// See GetBucketLocation for more information on using the GetBucketLocation
2173// API call, and error handling.
bae9f6d2 2174//
15c0b25d
AP
2175// This method is useful when you want to inject custom logic or configuration
2176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2177//
bae9f6d2
JC
2178//
2179// // Example sending a request using the GetBucketLocationRequest method.
2180// req, resp := client.GetBucketLocationRequest(params)
2181//
2182// err := req.Send()
2183// if err == nil { // resp is now filled
2184// fmt.Println(resp)
2185// }
2186//
15c0b25d 2187// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
bae9f6d2
JC
2188func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
2189 op := &request.Operation{
2190 Name: opGetBucketLocation,
2191 HTTPMethod: "GET",
2192 HTTPPath: "/{Bucket}?location",
2193 }
2194
2195 if input == nil {
2196 input = &GetBucketLocationInput{}
2197 }
2198
2199 output = &GetBucketLocationOutput{}
2200 req = c.newRequest(op, input, output)
2201 return
2202}
2203
2204// GetBucketLocation API operation for Amazon Simple Storage Service.
2205//
2206// Returns the region the bucket resides in.
2207//
2208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2209// with awserr.Error's Code and Message methods to get detailed information about
2210// the error.
2211//
2212// See the AWS API reference guide for Amazon Simple Storage Service's
2213// API operation GetBucketLocation for usage and error information.
15c0b25d 2214// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
bae9f6d2
JC
2215func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2216 req, out := c.GetBucketLocationRequest(input)
2217 return out, req.Send()
2218}
2219
2220// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
2221// the ability to pass a context and additional request options.
2222//
2223// See GetBucketLocation for details on how to use this API operation.
2224//
2225// The context must be non-nil and will be used for request cancellation. If
2226// the context is nil a panic will occur. In the future the SDK may create
2227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2228// for more information on using Contexts.
2229func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
2230 req, out := c.GetBucketLocationRequest(input)
2231 req.SetContext(ctx)
2232 req.ApplyOptions(opts...)
2233 return out, req.Send()
2234}
2235
2236const opGetBucketLogging = "GetBucketLogging"
2237
2238// GetBucketLoggingRequest generates a "aws/request.Request" representing the
2239// client's request for the GetBucketLogging operation. The "output" return
15c0b25d 2240// value will be populated with the request's response once the request completes
107c1cdb 2241// successfully.
bae9f6d2 2242//
15c0b25d
AP
2243// Use "Send" method on the returned Request to send the API call to the service.
2244// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2245//
15c0b25d
AP
2246// See GetBucketLogging for more information on using the GetBucketLogging
2247// API call, and error handling.
2248//
2249// This method is useful when you want to inject custom logic or configuration
2250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2251//
bae9f6d2
JC
2252//
2253// // Example sending a request using the GetBucketLoggingRequest method.
2254// req, resp := client.GetBucketLoggingRequest(params)
2255//
2256// err := req.Send()
2257// if err == nil { // resp is now filled
2258// fmt.Println(resp)
2259// }
2260//
15c0b25d 2261// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
bae9f6d2
JC
2262func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2263 op := &request.Operation{
2264 Name: opGetBucketLogging,
2265 HTTPMethod: "GET",
2266 HTTPPath: "/{Bucket}?logging",
2267 }
2268
2269 if input == nil {
2270 input = &GetBucketLoggingInput{}
2271 }
2272
2273 output = &GetBucketLoggingOutput{}
2274 req = c.newRequest(op, input, output)
2275 return
2276}
2277
2278// GetBucketLogging API operation for Amazon Simple Storage Service.
2279//
2280// Returns the logging status of a bucket and the permissions users have to
2281// view and modify that status. To use GET, you must be the bucket owner.
2282//
2283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2284// with awserr.Error's Code and Message methods to get detailed information about
2285// the error.
2286//
2287// See the AWS API reference guide for Amazon Simple Storage Service's
2288// API operation GetBucketLogging for usage and error information.
15c0b25d 2289// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
bae9f6d2
JC
2290func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2291 req, out := c.GetBucketLoggingRequest(input)
2292 return out, req.Send()
2293}
2294
2295// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
2296// the ability to pass a context and additional request options.
2297//
2298// See GetBucketLogging for details on how to use this API operation.
2299//
2300// The context must be non-nil and will be used for request cancellation. If
2301// the context is nil a panic will occur. In the future the SDK may create
2302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2303// for more information on using Contexts.
2304func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
2305 req, out := c.GetBucketLoggingRequest(input)
2306 req.SetContext(ctx)
2307 req.ApplyOptions(opts...)
2308 return out, req.Send()
2309}
2310
2311const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2312
2313// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2314// client's request for the GetBucketMetricsConfiguration operation. The "output" return
15c0b25d 2315// value will be populated with the request's response once the request completes
107c1cdb 2316// successfully.
15c0b25d
AP
2317//
2318// Use "Send" method on the returned Request to send the API call to the service.
2319// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2320//
15c0b25d
AP
2321// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2322// API call, and error handling.
bae9f6d2 2323//
15c0b25d
AP
2324// This method is useful when you want to inject custom logic or configuration
2325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2326//
bae9f6d2
JC
2327//
2328// // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2329// req, resp := client.GetBucketMetricsConfigurationRequest(params)
2330//
2331// err := req.Send()
2332// if err == nil { // resp is now filled
2333// fmt.Println(resp)
2334// }
2335//
15c0b25d 2336// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
bae9f6d2
JC
2337func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2338 op := &request.Operation{
2339 Name: opGetBucketMetricsConfiguration,
2340 HTTPMethod: "GET",
2341 HTTPPath: "/{Bucket}?metrics",
2342 }
2343
2344 if input == nil {
2345 input = &GetBucketMetricsConfigurationInput{}
2346 }
2347
2348 output = &GetBucketMetricsConfigurationOutput{}
2349 req = c.newRequest(op, input, output)
2350 return
2351}
2352
2353// GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
2354//
2355// Gets a metrics configuration (specified by the metrics configuration ID)
2356// from the bucket.
2357//
2358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2359// with awserr.Error's Code and Message methods to get detailed information about
2360// the error.
2361//
2362// See the AWS API reference guide for Amazon Simple Storage Service's
2363// API operation GetBucketMetricsConfiguration for usage and error information.
15c0b25d 2364// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
bae9f6d2
JC
2365func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2366 req, out := c.GetBucketMetricsConfigurationRequest(input)
2367 return out, req.Send()
2368}
2369
2370// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
2371// the ability to pass a context and additional request options.
2372//
2373// See GetBucketMetricsConfiguration for details on how to use this API operation.
2374//
2375// The context must be non-nil and will be used for request cancellation. If
2376// the context is nil a panic will occur. In the future the SDK may create
2377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2378// for more information on using Contexts.
2379func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
2380 req, out := c.GetBucketMetricsConfigurationRequest(input)
2381 req.SetContext(ctx)
2382 req.ApplyOptions(opts...)
2383 return out, req.Send()
2384}
2385
2386const opGetBucketNotification = "GetBucketNotification"
2387
2388// GetBucketNotificationRequest generates a "aws/request.Request" representing the
2389// client's request for the GetBucketNotification operation. The "output" return
15c0b25d 2390// value will be populated with the request's response once the request completes
107c1cdb 2391// successfully.
bae9f6d2 2392//
15c0b25d
AP
2393// Use "Send" method on the returned Request to send the API call to the service.
2394// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2395//
15c0b25d
AP
2396// See GetBucketNotification for more information on using the GetBucketNotification
2397// API call, and error handling.
2398//
2399// This method is useful when you want to inject custom logic or configuration
2400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2401//
bae9f6d2
JC
2402//
2403// // Example sending a request using the GetBucketNotificationRequest method.
2404// req, resp := client.GetBucketNotificationRequest(params)
2405//
2406// err := req.Send()
2407// if err == nil { // resp is now filled
2408// fmt.Println(resp)
2409// }
2410//
15c0b25d 2411// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
107c1cdb
ND
2412//
2413// Deprecated: GetBucketNotification has been deprecated
bae9f6d2
JC
2414func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2415 if c.Client.Config.Logger != nil {
2416 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
2417 }
2418 op := &request.Operation{
2419 Name: opGetBucketNotification,
2420 HTTPMethod: "GET",
2421 HTTPPath: "/{Bucket}?notification",
2422 }
2423
2424 if input == nil {
2425 input = &GetBucketNotificationConfigurationRequest{}
2426 }
2427
2428 output = &NotificationConfigurationDeprecated{}
2429 req = c.newRequest(op, input, output)
2430 return
2431}
2432
2433// GetBucketNotification API operation for Amazon Simple Storage Service.
2434//
107c1cdb 2435// No longer used, see the GetBucketNotificationConfiguration operation.
bae9f6d2
JC
2436//
2437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2438// with awserr.Error's Code and Message methods to get detailed information about
2439// the error.
2440//
2441// See the AWS API reference guide for Amazon Simple Storage Service's
2442// API operation GetBucketNotification for usage and error information.
15c0b25d 2443// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
107c1cdb
ND
2444//
2445// Deprecated: GetBucketNotification has been deprecated
bae9f6d2
JC
2446func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2447 req, out := c.GetBucketNotificationRequest(input)
2448 return out, req.Send()
2449}
2450
2451// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
2452// the ability to pass a context and additional request options.
2453//
2454// See GetBucketNotification for details on how to use this API operation.
2455//
2456// The context must be non-nil and will be used for request cancellation. If
2457// the context is nil a panic will occur. In the future the SDK may create
2458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2459// for more information on using Contexts.
107c1cdb
ND
2460//
2461// Deprecated: GetBucketNotificationWithContext has been deprecated
bae9f6d2
JC
2462func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
2463 req, out := c.GetBucketNotificationRequest(input)
2464 req.SetContext(ctx)
2465 req.ApplyOptions(opts...)
2466 return out, req.Send()
2467}
2468
2469const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
2470
2471// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2472// client's request for the GetBucketNotificationConfiguration operation. The "output" return
15c0b25d 2473// value will be populated with the request's response once the request completes
107c1cdb 2474// successfully.
15c0b25d
AP
2475//
2476// Use "Send" method on the returned Request to send the API call to the service.
2477// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2478//
15c0b25d
AP
2479// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2480// API call, and error handling.
bae9f6d2 2481//
15c0b25d
AP
2482// This method is useful when you want to inject custom logic or configuration
2483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2484//
bae9f6d2
JC
2485//
2486// // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2487// req, resp := client.GetBucketNotificationConfigurationRequest(params)
2488//
2489// err := req.Send()
2490// if err == nil { // resp is now filled
2491// fmt.Println(resp)
2492// }
2493//
15c0b25d 2494// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
bae9f6d2
JC
2495func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2496 op := &request.Operation{
2497 Name: opGetBucketNotificationConfiguration,
2498 HTTPMethod: "GET",
2499 HTTPPath: "/{Bucket}?notification",
2500 }
2501
2502 if input == nil {
2503 input = &GetBucketNotificationConfigurationRequest{}
2504 }
2505
2506 output = &NotificationConfiguration{}
2507 req = c.newRequest(op, input, output)
2508 return
2509}
2510
2511// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
2512//
2513// Returns the notification configuration of a bucket.
2514//
2515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2516// with awserr.Error's Code and Message methods to get detailed information about
2517// the error.
2518//
2519// See the AWS API reference guide for Amazon Simple Storage Service's
2520// API operation GetBucketNotificationConfiguration for usage and error information.
15c0b25d 2521// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
bae9f6d2
JC
2522func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2523 req, out := c.GetBucketNotificationConfigurationRequest(input)
2524 return out, req.Send()
2525}
2526
2527// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
2528// the ability to pass a context and additional request options.
2529//
2530// See GetBucketNotificationConfiguration for details on how to use this API operation.
2531//
2532// The context must be non-nil and will be used for request cancellation. If
2533// the context is nil a panic will occur. In the future the SDK may create
2534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2535// for more information on using Contexts.
2536func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
2537 req, out := c.GetBucketNotificationConfigurationRequest(input)
2538 req.SetContext(ctx)
2539 req.ApplyOptions(opts...)
2540 return out, req.Send()
2541}
2542
2543const opGetBucketPolicy = "GetBucketPolicy"
2544
2545// GetBucketPolicyRequest generates a "aws/request.Request" representing the
2546// client's request for the GetBucketPolicy operation. The "output" return
15c0b25d 2547// value will be populated with the request's response once the request completes
107c1cdb 2548// successfully.
bae9f6d2 2549//
15c0b25d
AP
2550// Use "Send" method on the returned Request to send the API call to the service.
2551// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2552//
15c0b25d
AP
2553// See GetBucketPolicy for more information on using the GetBucketPolicy
2554// API call, and error handling.
2555//
2556// This method is useful when you want to inject custom logic or configuration
2557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2558//
bae9f6d2
JC
2559//
2560// // Example sending a request using the GetBucketPolicyRequest method.
2561// req, resp := client.GetBucketPolicyRequest(params)
2562//
2563// err := req.Send()
2564// if err == nil { // resp is now filled
2565// fmt.Println(resp)
2566// }
2567//
15c0b25d 2568// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
bae9f6d2
JC
2569func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2570 op := &request.Operation{
2571 Name: opGetBucketPolicy,
2572 HTTPMethod: "GET",
2573 HTTPPath: "/{Bucket}?policy",
2574 }
2575
2576 if input == nil {
2577 input = &GetBucketPolicyInput{}
2578 }
2579
2580 output = &GetBucketPolicyOutput{}
2581 req = c.newRequest(op, input, output)
2582 return
2583}
2584
2585// GetBucketPolicy API operation for Amazon Simple Storage Service.
2586//
2587// Returns the policy of a specified bucket.
2588//
2589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2590// with awserr.Error's Code and Message methods to get detailed information about
2591// the error.
2592//
2593// See the AWS API reference guide for Amazon Simple Storage Service's
2594// API operation GetBucketPolicy for usage and error information.
15c0b25d 2595// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
bae9f6d2
JC
2596func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2597 req, out := c.GetBucketPolicyRequest(input)
2598 return out, req.Send()
2599}
2600
2601// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
2602// the ability to pass a context and additional request options.
2603//
2604// See GetBucketPolicy for details on how to use this API operation.
2605//
2606// The context must be non-nil and will be used for request cancellation. If
2607// the context is nil a panic will occur. In the future the SDK may create
2608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2609// for more information on using Contexts.
2610func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
2611 req, out := c.GetBucketPolicyRequest(input)
2612 req.SetContext(ctx)
2613 req.ApplyOptions(opts...)
2614 return out, req.Send()
2615}
2616
107c1cdb
ND
2617const opGetBucketPolicyStatus = "GetBucketPolicyStatus"
2618
2619// GetBucketPolicyStatusRequest generates a "aws/request.Request" representing the
2620// client's request for the GetBucketPolicyStatus operation. The "output" return
2621// value will be populated with the request's response once the request completes
2622// successfully.
2623//
2624// Use "Send" method on the returned Request to send the API call to the service.
2625// the "output" return value is not valid until after Send returns without error.
2626//
2627// See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus
2628// API call, and error handling.
2629//
2630// This method is useful when you want to inject custom logic or configuration
2631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2632//
2633//
2634// // Example sending a request using the GetBucketPolicyStatusRequest method.
2635// req, resp := client.GetBucketPolicyStatusRequest(params)
2636//
2637// err := req.Send()
2638// if err == nil { // resp is now filled
2639// fmt.Println(resp)
2640// }
2641//
2642// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2643func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (req *request.Request, output *GetBucketPolicyStatusOutput) {
2644 op := &request.Operation{
2645 Name: opGetBucketPolicyStatus,
2646 HTTPMethod: "GET",
2647 HTTPPath: "/{Bucket}?policyStatus",
2648 }
2649
2650 if input == nil {
2651 input = &GetBucketPolicyStatusInput{}
2652 }
2653
2654 output = &GetBucketPolicyStatusOutput{}
2655 req = c.newRequest(op, input, output)
2656 return
2657}
2658
2659// GetBucketPolicyStatus API operation for Amazon Simple Storage Service.
2660//
2661// Retrieves the policy status for an Amazon S3 bucket, indicating whether the
2662// bucket is public.
2663//
2664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2665// with awserr.Error's Code and Message methods to get detailed information about
2666// the error.
2667//
2668// See the AWS API reference guide for Amazon Simple Storage Service's
2669// API operation GetBucketPolicyStatus for usage and error information.
2670// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus
2671func (c *S3) GetBucketPolicyStatus(input *GetBucketPolicyStatusInput) (*GetBucketPolicyStatusOutput, error) {
2672 req, out := c.GetBucketPolicyStatusRequest(input)
2673 return out, req.Send()
2674}
2675
2676// GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of
2677// the ability to pass a context and additional request options.
2678//
2679// See GetBucketPolicyStatus for details on how to use this API operation.
2680//
2681// The context must be non-nil and will be used for request cancellation. If
2682// the context is nil a panic will occur. In the future the SDK may create
2683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2684// for more information on using Contexts.
2685func (c *S3) GetBucketPolicyStatusWithContext(ctx aws.Context, input *GetBucketPolicyStatusInput, opts ...request.Option) (*GetBucketPolicyStatusOutput, error) {
2686 req, out := c.GetBucketPolicyStatusRequest(input)
2687 req.SetContext(ctx)
2688 req.ApplyOptions(opts...)
2689 return out, req.Send()
2690}
2691
bae9f6d2
JC
2692const opGetBucketReplication = "GetBucketReplication"
2693
2694// GetBucketReplicationRequest generates a "aws/request.Request" representing the
2695// client's request for the GetBucketReplication operation. The "output" return
15c0b25d 2696// value will be populated with the request's response once the request completes
107c1cdb 2697// successfully.
15c0b25d
AP
2698//
2699// Use "Send" method on the returned Request to send the API call to the service.
2700// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2701//
15c0b25d
AP
2702// See GetBucketReplication for more information on using the GetBucketReplication
2703// API call, and error handling.
bae9f6d2 2704//
15c0b25d
AP
2705// This method is useful when you want to inject custom logic or configuration
2706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2707//
bae9f6d2
JC
2708//
2709// // Example sending a request using the GetBucketReplicationRequest method.
2710// req, resp := client.GetBucketReplicationRequest(params)
2711//
2712// err := req.Send()
2713// if err == nil { // resp is now filled
2714// fmt.Println(resp)
2715// }
2716//
15c0b25d 2717// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
bae9f6d2
JC
2718func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2719 op := &request.Operation{
2720 Name: opGetBucketReplication,
2721 HTTPMethod: "GET",
2722 HTTPPath: "/{Bucket}?replication",
2723 }
2724
2725 if input == nil {
2726 input = &GetBucketReplicationInput{}
2727 }
2728
2729 output = &GetBucketReplicationOutput{}
2730 req = c.newRequest(op, input, output)
2731 return
2732}
2733
2734// GetBucketReplication API operation for Amazon Simple Storage Service.
2735//
2736// Returns the replication configuration of a bucket.
2737//
107c1cdb
ND
2738// It can take a while to propagate the put or delete a replication configuration
2739// to all Amazon S3 systems. Therefore, a get request soon after put or delete
2740// can return a wrong result.
2741//
bae9f6d2
JC
2742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2743// with awserr.Error's Code and Message methods to get detailed information about
2744// the error.
2745//
2746// See the AWS API reference guide for Amazon Simple Storage Service's
2747// API operation GetBucketReplication for usage and error information.
15c0b25d 2748// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
bae9f6d2
JC
2749func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2750 req, out := c.GetBucketReplicationRequest(input)
2751 return out, req.Send()
2752}
2753
2754// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
2755// the ability to pass a context and additional request options.
2756//
2757// See GetBucketReplication for details on how to use this API operation.
2758//
2759// The context must be non-nil and will be used for request cancellation. If
2760// the context is nil a panic will occur. In the future the SDK may create
2761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2762// for more information on using Contexts.
2763func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
2764 req, out := c.GetBucketReplicationRequest(input)
2765 req.SetContext(ctx)
2766 req.ApplyOptions(opts...)
2767 return out, req.Send()
2768}
2769
2770const opGetBucketRequestPayment = "GetBucketRequestPayment"
2771
2772// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2773// client's request for the GetBucketRequestPayment operation. The "output" return
15c0b25d 2774// value will be populated with the request's response once the request completes
107c1cdb 2775// successfully.
bae9f6d2 2776//
15c0b25d
AP
2777// Use "Send" method on the returned Request to send the API call to the service.
2778// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2779//
15c0b25d
AP
2780// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2781// API call, and error handling.
2782//
2783// This method is useful when you want to inject custom logic or configuration
2784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2785//
bae9f6d2
JC
2786//
2787// // Example sending a request using the GetBucketRequestPaymentRequest method.
2788// req, resp := client.GetBucketRequestPaymentRequest(params)
2789//
2790// err := req.Send()
2791// if err == nil { // resp is now filled
2792// fmt.Println(resp)
2793// }
2794//
15c0b25d 2795// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
bae9f6d2
JC
2796func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2797 op := &request.Operation{
2798 Name: opGetBucketRequestPayment,
2799 HTTPMethod: "GET",
2800 HTTPPath: "/{Bucket}?requestPayment",
2801 }
2802
2803 if input == nil {
2804 input = &GetBucketRequestPaymentInput{}
2805 }
2806
2807 output = &GetBucketRequestPaymentOutput{}
2808 req = c.newRequest(op, input, output)
2809 return
2810}
2811
2812// GetBucketRequestPayment API operation for Amazon Simple Storage Service.
2813//
2814// Returns the request payment configuration of a bucket.
2815//
2816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2817// with awserr.Error's Code and Message methods to get detailed information about
2818// the error.
2819//
2820// See the AWS API reference guide for Amazon Simple Storage Service's
2821// API operation GetBucketRequestPayment for usage and error information.
15c0b25d 2822// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
bae9f6d2
JC
2823func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2824 req, out := c.GetBucketRequestPaymentRequest(input)
2825 return out, req.Send()
2826}
2827
2828// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
2829// the ability to pass a context and additional request options.
2830//
2831// See GetBucketRequestPayment for details on how to use this API operation.
2832//
2833// The context must be non-nil and will be used for request cancellation. If
2834// the context is nil a panic will occur. In the future the SDK may create
2835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2836// for more information on using Contexts.
2837func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
2838 req, out := c.GetBucketRequestPaymentRequest(input)
2839 req.SetContext(ctx)
2840 req.ApplyOptions(opts...)
2841 return out, req.Send()
2842}
2843
2844const opGetBucketTagging = "GetBucketTagging"
2845
2846// GetBucketTaggingRequest generates a "aws/request.Request" representing the
2847// client's request for the GetBucketTagging operation. The "output" return
15c0b25d 2848// value will be populated with the request's response once the request completes
107c1cdb 2849// successfully.
15c0b25d
AP
2850//
2851// Use "Send" method on the returned Request to send the API call to the service.
2852// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2853//
15c0b25d
AP
2854// See GetBucketTagging for more information on using the GetBucketTagging
2855// API call, and error handling.
bae9f6d2 2856//
15c0b25d
AP
2857// This method is useful when you want to inject custom logic or configuration
2858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2859//
bae9f6d2
JC
2860//
2861// // Example sending a request using the GetBucketTaggingRequest method.
2862// req, resp := client.GetBucketTaggingRequest(params)
2863//
2864// err := req.Send()
2865// if err == nil { // resp is now filled
2866// fmt.Println(resp)
2867// }
2868//
15c0b25d 2869// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
bae9f6d2
JC
2870func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2871 op := &request.Operation{
2872 Name: opGetBucketTagging,
2873 HTTPMethod: "GET",
2874 HTTPPath: "/{Bucket}?tagging",
2875 }
2876
2877 if input == nil {
2878 input = &GetBucketTaggingInput{}
2879 }
2880
2881 output = &GetBucketTaggingOutput{}
2882 req = c.newRequest(op, input, output)
2883 return
2884}
2885
2886// GetBucketTagging API operation for Amazon Simple Storage Service.
2887//
2888// Returns the tag set associated with the bucket.
2889//
2890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2891// with awserr.Error's Code and Message methods to get detailed information about
2892// the error.
2893//
2894// See the AWS API reference guide for Amazon Simple Storage Service's
2895// API operation GetBucketTagging for usage and error information.
15c0b25d 2896// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
bae9f6d2
JC
2897func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2898 req, out := c.GetBucketTaggingRequest(input)
2899 return out, req.Send()
2900}
2901
2902// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
2903// the ability to pass a context and additional request options.
2904//
2905// See GetBucketTagging for details on how to use this API operation.
2906//
2907// The context must be non-nil and will be used for request cancellation. If
2908// the context is nil a panic will occur. In the future the SDK may create
2909// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2910// for more information on using Contexts.
2911func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
2912 req, out := c.GetBucketTaggingRequest(input)
2913 req.SetContext(ctx)
2914 req.ApplyOptions(opts...)
2915 return out, req.Send()
2916}
2917
2918const opGetBucketVersioning = "GetBucketVersioning"
2919
2920// GetBucketVersioningRequest generates a "aws/request.Request" representing the
2921// client's request for the GetBucketVersioning operation. The "output" return
15c0b25d 2922// value will be populated with the request's response once the request completes
107c1cdb 2923// successfully.
bae9f6d2 2924//
15c0b25d
AP
2925// Use "Send" method on the returned Request to send the API call to the service.
2926// the "output" return value is not valid until after Send returns without error.
bae9f6d2 2927//
15c0b25d
AP
2928// See GetBucketVersioning for more information on using the GetBucketVersioning
2929// API call, and error handling.
2930//
2931// This method is useful when you want to inject custom logic or configuration
2932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 2933//
bae9f6d2
JC
2934//
2935// // Example sending a request using the GetBucketVersioningRequest method.
2936// req, resp := client.GetBucketVersioningRequest(params)
2937//
2938// err := req.Send()
2939// if err == nil { // resp is now filled
2940// fmt.Println(resp)
2941// }
2942//
15c0b25d 2943// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
bae9f6d2
JC
2944func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2945 op := &request.Operation{
2946 Name: opGetBucketVersioning,
2947 HTTPMethod: "GET",
2948 HTTPPath: "/{Bucket}?versioning",
2949 }
2950
2951 if input == nil {
2952 input = &GetBucketVersioningInput{}
2953 }
2954
2955 output = &GetBucketVersioningOutput{}
2956 req = c.newRequest(op, input, output)
2957 return
2958}
2959
2960// GetBucketVersioning API operation for Amazon Simple Storage Service.
2961//
2962// Returns the versioning state of a bucket.
2963//
2964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2965// with awserr.Error's Code and Message methods to get detailed information about
2966// the error.
2967//
2968// See the AWS API reference guide for Amazon Simple Storage Service's
2969// API operation GetBucketVersioning for usage and error information.
15c0b25d 2970// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
bae9f6d2
JC
2971func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2972 req, out := c.GetBucketVersioningRequest(input)
2973 return out, req.Send()
2974}
2975
2976// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
2977// the ability to pass a context and additional request options.
2978//
2979// See GetBucketVersioning for details on how to use this API operation.
2980//
2981// The context must be non-nil and will be used for request cancellation. If
2982// the context is nil a panic will occur. In the future the SDK may create
2983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2984// for more information on using Contexts.
2985func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
2986 req, out := c.GetBucketVersioningRequest(input)
2987 req.SetContext(ctx)
2988 req.ApplyOptions(opts...)
2989 return out, req.Send()
2990}
2991
2992const opGetBucketWebsite = "GetBucketWebsite"
2993
2994// GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2995// client's request for the GetBucketWebsite operation. The "output" return
15c0b25d 2996// value will be populated with the request's response once the request completes
107c1cdb 2997// successfully.
15c0b25d
AP
2998//
2999// Use "Send" method on the returned Request to send the API call to the service.
3000// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3001//
15c0b25d
AP
3002// See GetBucketWebsite for more information on using the GetBucketWebsite
3003// API call, and error handling.
bae9f6d2 3004//
15c0b25d
AP
3005// This method is useful when you want to inject custom logic or configuration
3006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3007//
bae9f6d2
JC
3008//
3009// // Example sending a request using the GetBucketWebsiteRequest method.
3010// req, resp := client.GetBucketWebsiteRequest(params)
3011//
3012// err := req.Send()
3013// if err == nil { // resp is now filled
3014// fmt.Println(resp)
3015// }
3016//
15c0b25d 3017// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
bae9f6d2
JC
3018func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
3019 op := &request.Operation{
3020 Name: opGetBucketWebsite,
3021 HTTPMethod: "GET",
3022 HTTPPath: "/{Bucket}?website",
3023 }
3024
3025 if input == nil {
3026 input = &GetBucketWebsiteInput{}
3027 }
3028
3029 output = &GetBucketWebsiteOutput{}
3030 req = c.newRequest(op, input, output)
3031 return
3032}
3033
3034// GetBucketWebsite API operation for Amazon Simple Storage Service.
3035//
3036// Returns the website configuration for a bucket.
3037//
3038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3039// with awserr.Error's Code and Message methods to get detailed information about
3040// the error.
3041//
3042// See the AWS API reference guide for Amazon Simple Storage Service's
3043// API operation GetBucketWebsite for usage and error information.
15c0b25d 3044// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
bae9f6d2
JC
3045func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
3046 req, out := c.GetBucketWebsiteRequest(input)
3047 return out, req.Send()
3048}
3049
3050// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
3051// the ability to pass a context and additional request options.
3052//
3053// See GetBucketWebsite for details on how to use this API operation.
3054//
3055// The context must be non-nil and will be used for request cancellation. If
3056// the context is nil a panic will occur. In the future the SDK may create
3057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3058// for more information on using Contexts.
3059func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
3060 req, out := c.GetBucketWebsiteRequest(input)
3061 req.SetContext(ctx)
3062 req.ApplyOptions(opts...)
3063 return out, req.Send()
3064}
3065
3066const opGetObject = "GetObject"
3067
3068// GetObjectRequest generates a "aws/request.Request" representing the
3069// client's request for the GetObject operation. The "output" return
15c0b25d 3070// value will be populated with the request's response once the request completes
107c1cdb 3071// successfully.
bae9f6d2 3072//
15c0b25d
AP
3073// Use "Send" method on the returned Request to send the API call to the service.
3074// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3075//
15c0b25d
AP
3076// See GetObject for more information on using the GetObject
3077// API call, and error handling.
3078//
3079// This method is useful when you want to inject custom logic or configuration
3080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3081//
bae9f6d2
JC
3082//
3083// // Example sending a request using the GetObjectRequest method.
3084// req, resp := client.GetObjectRequest(params)
3085//
3086// err := req.Send()
3087// if err == nil { // resp is now filled
3088// fmt.Println(resp)
3089// }
3090//
15c0b25d 3091// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
bae9f6d2
JC
3092func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
3093 op := &request.Operation{
3094 Name: opGetObject,
3095 HTTPMethod: "GET",
3096 HTTPPath: "/{Bucket}/{Key+}",
3097 }
3098
3099 if input == nil {
3100 input = &GetObjectInput{}
3101 }
3102
3103 output = &GetObjectOutput{}
3104 req = c.newRequest(op, input, output)
3105 return
3106}
3107
3108// GetObject API operation for Amazon Simple Storage Service.
3109//
3110// Retrieves objects from Amazon S3.
3111//
3112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3113// with awserr.Error's Code and Message methods to get detailed information about
3114// the error.
3115//
3116// See the AWS API reference guide for Amazon Simple Storage Service's
3117// API operation GetObject for usage and error information.
3118//
3119// Returned Error Codes:
3120// * ErrCodeNoSuchKey "NoSuchKey"
3121// The specified key does not exist.
3122//
15c0b25d 3123// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
bae9f6d2
JC
3124func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
3125 req, out := c.GetObjectRequest(input)
3126 return out, req.Send()
3127}
3128
3129// GetObjectWithContext is the same as GetObject with the addition of
3130// the ability to pass a context and additional request options.
3131//
3132// See GetObject for details on how to use this API operation.
3133//
3134// The context must be non-nil and will be used for request cancellation. If
3135// the context is nil a panic will occur. In the future the SDK may create
3136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3137// for more information on using Contexts.
3138func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
3139 req, out := c.GetObjectRequest(input)
3140 req.SetContext(ctx)
3141 req.ApplyOptions(opts...)
3142 return out, req.Send()
3143}
3144
3145const opGetObjectAcl = "GetObjectAcl"
3146
3147// GetObjectAclRequest generates a "aws/request.Request" representing the
3148// client's request for the GetObjectAcl operation. The "output" return
15c0b25d 3149// value will be populated with the request's response once the request completes
107c1cdb 3150// successfully.
15c0b25d
AP
3151//
3152// Use "Send" method on the returned Request to send the API call to the service.
3153// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3154//
15c0b25d
AP
3155// See GetObjectAcl for more information on using the GetObjectAcl
3156// API call, and error handling.
bae9f6d2 3157//
15c0b25d
AP
3158// This method is useful when you want to inject custom logic or configuration
3159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3160//
bae9f6d2
JC
3161//
3162// // Example sending a request using the GetObjectAclRequest method.
3163// req, resp := client.GetObjectAclRequest(params)
3164//
3165// err := req.Send()
3166// if err == nil { // resp is now filled
3167// fmt.Println(resp)
3168// }
3169//
15c0b25d 3170// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
bae9f6d2
JC
3171func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
3172 op := &request.Operation{
3173 Name: opGetObjectAcl,
3174 HTTPMethod: "GET",
3175 HTTPPath: "/{Bucket}/{Key+}?acl",
3176 }
3177
3178 if input == nil {
3179 input = &GetObjectAclInput{}
3180 }
3181
3182 output = &GetObjectAclOutput{}
3183 req = c.newRequest(op, input, output)
3184 return
3185}
3186
3187// GetObjectAcl API operation for Amazon Simple Storage Service.
3188//
3189// Returns the access control list (ACL) of an object.
3190//
3191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3192// with awserr.Error's Code and Message methods to get detailed information about
3193// the error.
3194//
3195// See the AWS API reference guide for Amazon Simple Storage Service's
3196// API operation GetObjectAcl for usage and error information.
3197//
3198// Returned Error Codes:
3199// * ErrCodeNoSuchKey "NoSuchKey"
3200// The specified key does not exist.
3201//
15c0b25d 3202// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
bae9f6d2
JC
3203func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
3204 req, out := c.GetObjectAclRequest(input)
3205 return out, req.Send()
3206}
3207
3208// GetObjectAclWithContext is the same as GetObjectAcl with the addition of
3209// the ability to pass a context and additional request options.
3210//
3211// See GetObjectAcl for details on how to use this API operation.
3212//
3213// The context must be non-nil and will be used for request cancellation. If
3214// the context is nil a panic will occur. In the future the SDK may create
3215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3216// for more information on using Contexts.
3217func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
3218 req, out := c.GetObjectAclRequest(input)
3219 req.SetContext(ctx)
3220 req.ApplyOptions(opts...)
3221 return out, req.Send()
3222}
3223
107c1cdb 3224const opGetObjectLegalHold = "GetObjectLegalHold"
bae9f6d2 3225
107c1cdb
ND
3226// GetObjectLegalHoldRequest generates a "aws/request.Request" representing the
3227// client's request for the GetObjectLegalHold operation. The "output" return
15c0b25d 3228// value will be populated with the request's response once the request completes
107c1cdb 3229// successfully.
bae9f6d2 3230//
15c0b25d
AP
3231// Use "Send" method on the returned Request to send the API call to the service.
3232// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3233//
107c1cdb 3234// See GetObjectLegalHold for more information on using the GetObjectLegalHold
15c0b25d
AP
3235// API call, and error handling.
3236//
3237// This method is useful when you want to inject custom logic or configuration
3238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3239//
bae9f6d2 3240//
107c1cdb
ND
3241// // Example sending a request using the GetObjectLegalHoldRequest method.
3242// req, resp := client.GetObjectLegalHoldRequest(params)
bae9f6d2
JC
3243//
3244// err := req.Send()
3245// if err == nil { // resp is now filled
3246// fmt.Println(resp)
3247// }
3248//
107c1cdb
ND
3249// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3250func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *request.Request, output *GetObjectLegalHoldOutput) {
bae9f6d2 3251 op := &request.Operation{
107c1cdb 3252 Name: opGetObjectLegalHold,
bae9f6d2 3253 HTTPMethod: "GET",
107c1cdb 3254 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
bae9f6d2
JC
3255 }
3256
3257 if input == nil {
107c1cdb 3258 input = &GetObjectLegalHoldInput{}
bae9f6d2
JC
3259 }
3260
107c1cdb 3261 output = &GetObjectLegalHoldOutput{}
bae9f6d2
JC
3262 req = c.newRequest(op, input, output)
3263 return
3264}
3265
107c1cdb 3266// GetObjectLegalHold API operation for Amazon Simple Storage Service.
bae9f6d2 3267//
107c1cdb 3268// Gets an object's current Legal Hold status.
bae9f6d2
JC
3269//
3270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3271// with awserr.Error's Code and Message methods to get detailed information about
3272// the error.
3273//
3274// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3275// API operation GetObjectLegalHold for usage and error information.
3276// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold
3277func (c *S3) GetObjectLegalHold(input *GetObjectLegalHoldInput) (*GetObjectLegalHoldOutput, error) {
3278 req, out := c.GetObjectLegalHoldRequest(input)
bae9f6d2
JC
3279 return out, req.Send()
3280}
3281
107c1cdb 3282// GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of
bae9f6d2
JC
3283// the ability to pass a context and additional request options.
3284//
107c1cdb 3285// See GetObjectLegalHold for details on how to use this API operation.
bae9f6d2
JC
3286//
3287// The context must be non-nil and will be used for request cancellation. If
3288// the context is nil a panic will occur. In the future the SDK may create
3289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3290// for more information on using Contexts.
107c1cdb
ND
3291func (c *S3) GetObjectLegalHoldWithContext(ctx aws.Context, input *GetObjectLegalHoldInput, opts ...request.Option) (*GetObjectLegalHoldOutput, error) {
3292 req, out := c.GetObjectLegalHoldRequest(input)
bae9f6d2
JC
3293 req.SetContext(ctx)
3294 req.ApplyOptions(opts...)
3295 return out, req.Send()
3296}
3297
107c1cdb 3298const opGetObjectLockConfiguration = "GetObjectLockConfiguration"
bae9f6d2 3299
107c1cdb
ND
3300// GetObjectLockConfigurationRequest generates a "aws/request.Request" representing the
3301// client's request for the GetObjectLockConfiguration operation. The "output" return
15c0b25d 3302// value will be populated with the request's response once the request completes
107c1cdb 3303// successfully.
15c0b25d
AP
3304//
3305// Use "Send" method on the returned Request to send the API call to the service.
3306// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3307//
107c1cdb 3308// See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration
15c0b25d 3309// API call, and error handling.
bae9f6d2 3310//
15c0b25d
AP
3311// This method is useful when you want to inject custom logic or configuration
3312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3313//
bae9f6d2 3314//
107c1cdb
ND
3315// // Example sending a request using the GetObjectLockConfigurationRequest method.
3316// req, resp := client.GetObjectLockConfigurationRequest(params)
bae9f6d2
JC
3317//
3318// err := req.Send()
3319// if err == nil { // resp is now filled
3320// fmt.Println(resp)
3321// }
3322//
107c1cdb
ND
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3324func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfigurationInput) (req *request.Request, output *GetObjectLockConfigurationOutput) {
bae9f6d2 3325 op := &request.Operation{
107c1cdb 3326 Name: opGetObjectLockConfiguration,
bae9f6d2 3327 HTTPMethod: "GET",
107c1cdb 3328 HTTPPath: "/{Bucket}?object-lock",
bae9f6d2
JC
3329 }
3330
3331 if input == nil {
107c1cdb 3332 input = &GetObjectLockConfigurationInput{}
bae9f6d2
JC
3333 }
3334
107c1cdb 3335 output = &GetObjectLockConfigurationOutput{}
bae9f6d2
JC
3336 req = c.newRequest(op, input, output)
3337 return
3338}
3339
107c1cdb 3340// GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
bae9f6d2 3341//
863486a6
AG
3342// Gets the object lock configuration for a bucket. The rule specified in the
3343// object lock configuration will be applied by default to every new object
107c1cdb 3344// placed in the specified bucket.
bae9f6d2
JC
3345//
3346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3347// with awserr.Error's Code and Message methods to get detailed information about
3348// the error.
3349//
3350// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3351// API operation GetObjectLockConfiguration for usage and error information.
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration
3353func (c *S3) GetObjectLockConfiguration(input *GetObjectLockConfigurationInput) (*GetObjectLockConfigurationOutput, error) {
3354 req, out := c.GetObjectLockConfigurationRequest(input)
bae9f6d2
JC
3355 return out, req.Send()
3356}
3357
107c1cdb 3358// GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of
bae9f6d2
JC
3359// the ability to pass a context and additional request options.
3360//
107c1cdb 3361// See GetObjectLockConfiguration for details on how to use this API operation.
bae9f6d2
JC
3362//
3363// The context must be non-nil and will be used for request cancellation. If
3364// the context is nil a panic will occur. In the future the SDK may create
3365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3366// for more information on using Contexts.
107c1cdb
ND
3367func (c *S3) GetObjectLockConfigurationWithContext(ctx aws.Context, input *GetObjectLockConfigurationInput, opts ...request.Option) (*GetObjectLockConfigurationOutput, error) {
3368 req, out := c.GetObjectLockConfigurationRequest(input)
bae9f6d2
JC
3369 req.SetContext(ctx)
3370 req.ApplyOptions(opts...)
3371 return out, req.Send()
3372}
3373
107c1cdb 3374const opGetObjectRetention = "GetObjectRetention"
bae9f6d2 3375
107c1cdb
ND
3376// GetObjectRetentionRequest generates a "aws/request.Request" representing the
3377// client's request for the GetObjectRetention operation. The "output" return
15c0b25d 3378// value will be populated with the request's response once the request completes
107c1cdb 3379// successfully.
bae9f6d2 3380//
15c0b25d
AP
3381// Use "Send" method on the returned Request to send the API call to the service.
3382// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3383//
107c1cdb 3384// See GetObjectRetention for more information on using the GetObjectRetention
15c0b25d
AP
3385// API call, and error handling.
3386//
3387// This method is useful when you want to inject custom logic or configuration
3388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3389//
bae9f6d2 3390//
107c1cdb
ND
3391// // Example sending a request using the GetObjectRetentionRequest method.
3392// req, resp := client.GetObjectRetentionRequest(params)
bae9f6d2
JC
3393//
3394// err := req.Send()
3395// if err == nil { // resp is now filled
3396// fmt.Println(resp)
3397// }
3398//
107c1cdb
ND
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3400func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *request.Request, output *GetObjectRetentionOutput) {
bae9f6d2 3401 op := &request.Operation{
107c1cdb
ND
3402 Name: opGetObjectRetention,
3403 HTTPMethod: "GET",
3404 HTTPPath: "/{Bucket}/{Key+}?retention",
bae9f6d2
JC
3405 }
3406
3407 if input == nil {
107c1cdb 3408 input = &GetObjectRetentionInput{}
bae9f6d2
JC
3409 }
3410
107c1cdb 3411 output = &GetObjectRetentionOutput{}
bae9f6d2 3412 req = c.newRequest(op, input, output)
bae9f6d2
JC
3413 return
3414}
3415
107c1cdb 3416// GetObjectRetention API operation for Amazon Simple Storage Service.
bae9f6d2 3417//
107c1cdb 3418// Retrieves an object's retention settings.
bae9f6d2
JC
3419//
3420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3421// with awserr.Error's Code and Message methods to get detailed information about
3422// the error.
3423//
3424// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3425// API operation GetObjectRetention for usage and error information.
3426// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention
3427func (c *S3) GetObjectRetention(input *GetObjectRetentionInput) (*GetObjectRetentionOutput, error) {
3428 req, out := c.GetObjectRetentionRequest(input)
bae9f6d2
JC
3429 return out, req.Send()
3430}
3431
107c1cdb 3432// GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of
bae9f6d2
JC
3433// the ability to pass a context and additional request options.
3434//
107c1cdb 3435// See GetObjectRetention for details on how to use this API operation.
bae9f6d2
JC
3436//
3437// The context must be non-nil and will be used for request cancellation. If
3438// the context is nil a panic will occur. In the future the SDK may create
3439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3440// for more information on using Contexts.
107c1cdb
ND
3441func (c *S3) GetObjectRetentionWithContext(ctx aws.Context, input *GetObjectRetentionInput, opts ...request.Option) (*GetObjectRetentionOutput, error) {
3442 req, out := c.GetObjectRetentionRequest(input)
bae9f6d2
JC
3443 req.SetContext(ctx)
3444 req.ApplyOptions(opts...)
3445 return out, req.Send()
3446}
3447
107c1cdb 3448const opGetObjectTagging = "GetObjectTagging"
bae9f6d2 3449
107c1cdb
ND
3450// GetObjectTaggingRequest generates a "aws/request.Request" representing the
3451// client's request for the GetObjectTagging operation. The "output" return
15c0b25d 3452// value will be populated with the request's response once the request completes
107c1cdb 3453// successfully.
15c0b25d
AP
3454//
3455// Use "Send" method on the returned Request to send the API call to the service.
3456// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3457//
107c1cdb 3458// See GetObjectTagging for more information on using the GetObjectTagging
15c0b25d 3459// API call, and error handling.
bae9f6d2 3460//
15c0b25d
AP
3461// This method is useful when you want to inject custom logic or configuration
3462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3463//
bae9f6d2 3464//
107c1cdb
ND
3465// // Example sending a request using the GetObjectTaggingRequest method.
3466// req, resp := client.GetObjectTaggingRequest(params)
bae9f6d2
JC
3467//
3468// err := req.Send()
3469// if err == nil { // resp is now filled
3470// fmt.Println(resp)
3471// }
3472//
107c1cdb
ND
3473// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3474func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
bae9f6d2 3475 op := &request.Operation{
107c1cdb
ND
3476 Name: opGetObjectTagging,
3477 HTTPMethod: "GET",
3478 HTTPPath: "/{Bucket}/{Key+}?tagging",
bae9f6d2
JC
3479 }
3480
3481 if input == nil {
107c1cdb 3482 input = &GetObjectTaggingInput{}
bae9f6d2
JC
3483 }
3484
107c1cdb 3485 output = &GetObjectTaggingOutput{}
bae9f6d2
JC
3486 req = c.newRequest(op, input, output)
3487 return
3488}
3489
107c1cdb 3490// GetObjectTagging API operation for Amazon Simple Storage Service.
bae9f6d2 3491//
107c1cdb 3492// Returns the tag-set of an object.
bae9f6d2
JC
3493//
3494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3495// with awserr.Error's Code and Message methods to get detailed information about
3496// the error.
3497//
3498// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3499// API operation GetObjectTagging for usage and error information.
3500// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
3501func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
3502 req, out := c.GetObjectTaggingRequest(input)
bae9f6d2
JC
3503 return out, req.Send()
3504}
3505
107c1cdb 3506// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
bae9f6d2
JC
3507// the ability to pass a context and additional request options.
3508//
107c1cdb 3509// See GetObjectTagging for details on how to use this API operation.
bae9f6d2
JC
3510//
3511// The context must be non-nil and will be used for request cancellation. If
3512// the context is nil a panic will occur. In the future the SDK may create
3513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3514// for more information on using Contexts.
107c1cdb
ND
3515func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
3516 req, out := c.GetObjectTaggingRequest(input)
bae9f6d2
JC
3517 req.SetContext(ctx)
3518 req.ApplyOptions(opts...)
3519 return out, req.Send()
3520}
3521
107c1cdb 3522const opGetObjectTorrent = "GetObjectTorrent"
bae9f6d2 3523
107c1cdb
ND
3524// GetObjectTorrentRequest generates a "aws/request.Request" representing the
3525// client's request for the GetObjectTorrent operation. The "output" return
15c0b25d 3526// value will be populated with the request's response once the request completes
107c1cdb 3527// successfully.
bae9f6d2 3528//
15c0b25d
AP
3529// Use "Send" method on the returned Request to send the API call to the service.
3530// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3531//
107c1cdb 3532// See GetObjectTorrent for more information on using the GetObjectTorrent
15c0b25d
AP
3533// API call, and error handling.
3534//
3535// This method is useful when you want to inject custom logic or configuration
3536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3537//
bae9f6d2 3538//
107c1cdb
ND
3539// // Example sending a request using the GetObjectTorrentRequest method.
3540// req, resp := client.GetObjectTorrentRequest(params)
bae9f6d2
JC
3541//
3542// err := req.Send()
3543// if err == nil { // resp is now filled
3544// fmt.Println(resp)
3545// }
3546//
107c1cdb
ND
3547// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3548func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
bae9f6d2 3549 op := &request.Operation{
107c1cdb 3550 Name: opGetObjectTorrent,
bae9f6d2 3551 HTTPMethod: "GET",
107c1cdb 3552 HTTPPath: "/{Bucket}/{Key+}?torrent",
bae9f6d2
JC
3553 }
3554
3555 if input == nil {
107c1cdb 3556 input = &GetObjectTorrentInput{}
bae9f6d2
JC
3557 }
3558
107c1cdb 3559 output = &GetObjectTorrentOutput{}
bae9f6d2
JC
3560 req = c.newRequest(op, input, output)
3561 return
3562}
3563
107c1cdb 3564// GetObjectTorrent API operation for Amazon Simple Storage Service.
bae9f6d2 3565//
107c1cdb 3566// Return torrent files from a bucket.
bae9f6d2
JC
3567//
3568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3569// with awserr.Error's Code and Message methods to get detailed information about
3570// the error.
3571//
3572// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3573// API operation GetObjectTorrent for usage and error information.
3574// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3575func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3576 req, out := c.GetObjectTorrentRequest(input)
bae9f6d2
JC
3577 return out, req.Send()
3578}
3579
107c1cdb 3580// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
bae9f6d2
JC
3581// the ability to pass a context and additional request options.
3582//
107c1cdb 3583// See GetObjectTorrent for details on how to use this API operation.
bae9f6d2
JC
3584//
3585// The context must be non-nil and will be used for request cancellation. If
3586// the context is nil a panic will occur. In the future the SDK may create
3587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3588// for more information on using Contexts.
107c1cdb
ND
3589func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
3590 req, out := c.GetObjectTorrentRequest(input)
bae9f6d2
JC
3591 req.SetContext(ctx)
3592 req.ApplyOptions(opts...)
3593 return out, req.Send()
3594}
3595
107c1cdb 3596const opGetPublicAccessBlock = "GetPublicAccessBlock"
bae9f6d2 3597
107c1cdb
ND
3598// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the
3599// client's request for the GetPublicAccessBlock operation. The "output" return
15c0b25d 3600// value will be populated with the request's response once the request completes
107c1cdb 3601// successfully.
15c0b25d
AP
3602//
3603// Use "Send" method on the returned Request to send the API call to the service.
3604// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3605//
107c1cdb 3606// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock
15c0b25d 3607// API call, and error handling.
bae9f6d2 3608//
15c0b25d
AP
3609// This method is useful when you want to inject custom logic or configuration
3610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3611//
bae9f6d2 3612//
107c1cdb
ND
3613// // Example sending a request using the GetPublicAccessBlockRequest method.
3614// req, resp := client.GetPublicAccessBlockRequest(params)
bae9f6d2
JC
3615//
3616// err := req.Send()
3617// if err == nil { // resp is now filled
3618// fmt.Println(resp)
3619// }
3620//
107c1cdb
ND
3621// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3622func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) {
bae9f6d2 3623 op := &request.Operation{
107c1cdb 3624 Name: opGetPublicAccessBlock,
bae9f6d2 3625 HTTPMethod: "GET",
107c1cdb 3626 HTTPPath: "/{Bucket}?publicAccessBlock",
bae9f6d2
JC
3627 }
3628
3629 if input == nil {
107c1cdb 3630 input = &GetPublicAccessBlockInput{}
bae9f6d2
JC
3631 }
3632
107c1cdb 3633 output = &GetPublicAccessBlockOutput{}
bae9f6d2
JC
3634 req = c.newRequest(op, input, output)
3635 return
3636}
3637
107c1cdb 3638// GetPublicAccessBlock API operation for Amazon Simple Storage Service.
bae9f6d2 3639//
107c1cdb 3640// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
bae9f6d2
JC
3641//
3642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3643// with awserr.Error's Code and Message methods to get detailed information about
3644// the error.
3645//
3646// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3647// API operation GetPublicAccessBlock for usage and error information.
3648// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock
3649func (c *S3) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) {
3650 req, out := c.GetPublicAccessBlockRequest(input)
bae9f6d2
JC
3651 return out, req.Send()
3652}
3653
107c1cdb 3654// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of
bae9f6d2
JC
3655// the ability to pass a context and additional request options.
3656//
107c1cdb 3657// See GetPublicAccessBlock for details on how to use this API operation.
bae9f6d2
JC
3658//
3659// The context must be non-nil and will be used for request cancellation. If
3660// the context is nil a panic will occur. In the future the SDK may create
3661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3662// for more information on using Contexts.
107c1cdb
ND
3663func (c *S3) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) {
3664 req, out := c.GetPublicAccessBlockRequest(input)
bae9f6d2
JC
3665 req.SetContext(ctx)
3666 req.ApplyOptions(opts...)
3667 return out, req.Send()
3668}
3669
107c1cdb 3670const opHeadBucket = "HeadBucket"
bae9f6d2 3671
107c1cdb
ND
3672// HeadBucketRequest generates a "aws/request.Request" representing the
3673// client's request for the HeadBucket operation. The "output" return
15c0b25d 3674// value will be populated with the request's response once the request completes
107c1cdb 3675// successfully.
bae9f6d2 3676//
15c0b25d
AP
3677// Use "Send" method on the returned Request to send the API call to the service.
3678// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3679//
107c1cdb 3680// See HeadBucket for more information on using the HeadBucket
15c0b25d
AP
3681// API call, and error handling.
3682//
3683// This method is useful when you want to inject custom logic or configuration
3684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3685//
bae9f6d2 3686//
107c1cdb
ND
3687// // Example sending a request using the HeadBucketRequest method.
3688// req, resp := client.HeadBucketRequest(params)
bae9f6d2
JC
3689//
3690// err := req.Send()
3691// if err == nil { // resp is now filled
3692// fmt.Println(resp)
3693// }
3694//
107c1cdb
ND
3695// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3696func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
bae9f6d2 3697 op := &request.Operation{
107c1cdb
ND
3698 Name: opHeadBucket,
3699 HTTPMethod: "HEAD",
3700 HTTPPath: "/{Bucket}",
bae9f6d2
JC
3701 }
3702
3703 if input == nil {
107c1cdb 3704 input = &HeadBucketInput{}
bae9f6d2
JC
3705 }
3706
107c1cdb 3707 output = &HeadBucketOutput{}
bae9f6d2 3708 req = c.newRequest(op, input, output)
107c1cdb 3709 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
3710 return
3711}
3712
107c1cdb 3713// HeadBucket API operation for Amazon Simple Storage Service.
bae9f6d2 3714//
107c1cdb
ND
3715// This operation is useful to determine if a bucket exists and you have permission
3716// to access it.
bae9f6d2
JC
3717//
3718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3719// with awserr.Error's Code and Message methods to get detailed information about
3720// the error.
3721//
3722// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3723// API operation HeadBucket for usage and error information.
3724//
3725// Returned Error Codes:
3726// * ErrCodeNoSuchBucket "NoSuchBucket"
3727// The specified bucket does not exist.
3728//
3729// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3730func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3731 req, out := c.HeadBucketRequest(input)
bae9f6d2
JC
3732 return out, req.Send()
3733}
3734
107c1cdb 3735// HeadBucketWithContext is the same as HeadBucket with the addition of
bae9f6d2
JC
3736// the ability to pass a context and additional request options.
3737//
107c1cdb 3738// See HeadBucket for details on how to use this API operation.
bae9f6d2
JC
3739//
3740// The context must be non-nil and will be used for request cancellation. If
3741// the context is nil a panic will occur. In the future the SDK may create
3742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3743// for more information on using Contexts.
107c1cdb
ND
3744func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
3745 req, out := c.HeadBucketRequest(input)
bae9f6d2
JC
3746 req.SetContext(ctx)
3747 req.ApplyOptions(opts...)
3748 return out, req.Send()
3749}
3750
107c1cdb 3751const opHeadObject = "HeadObject"
bae9f6d2 3752
107c1cdb
ND
3753// HeadObjectRequest generates a "aws/request.Request" representing the
3754// client's request for the HeadObject operation. The "output" return
15c0b25d 3755// value will be populated with the request's response once the request completes
107c1cdb 3756// successfully.
15c0b25d
AP
3757//
3758// Use "Send" method on the returned Request to send the API call to the service.
3759// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3760//
107c1cdb 3761// See HeadObject for more information on using the HeadObject
15c0b25d 3762// API call, and error handling.
bae9f6d2 3763//
15c0b25d
AP
3764// This method is useful when you want to inject custom logic or configuration
3765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3766//
bae9f6d2 3767//
107c1cdb
ND
3768// // Example sending a request using the HeadObjectRequest method.
3769// req, resp := client.HeadObjectRequest(params)
bae9f6d2
JC
3770//
3771// err := req.Send()
3772// if err == nil { // resp is now filled
3773// fmt.Println(resp)
3774// }
3775//
107c1cdb
ND
3776// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3777func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
bae9f6d2 3778 op := &request.Operation{
107c1cdb
ND
3779 Name: opHeadObject,
3780 HTTPMethod: "HEAD",
3781 HTTPPath: "/{Bucket}/{Key+}",
bae9f6d2
JC
3782 }
3783
3784 if input == nil {
107c1cdb 3785 input = &HeadObjectInput{}
bae9f6d2
JC
3786 }
3787
107c1cdb 3788 output = &HeadObjectOutput{}
bae9f6d2
JC
3789 req = c.newRequest(op, input, output)
3790 return
3791}
3792
107c1cdb 3793// HeadObject API operation for Amazon Simple Storage Service.
bae9f6d2 3794//
107c1cdb
ND
3795// The HEAD operation retrieves metadata from an object without returning the
3796// object itself. This operation is useful if you're only interested in an object's
3797// metadata. To use HEAD, you must have READ access to the object.
3798//
3799// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
3800// for more information on returned errors.
bae9f6d2
JC
3801//
3802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3803// with awserr.Error's Code and Message methods to get detailed information about
3804// the error.
3805//
3806// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3807// API operation HeadObject for usage and error information.
3808// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3809func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3810 req, out := c.HeadObjectRequest(input)
bae9f6d2
JC
3811 return out, req.Send()
3812}
3813
107c1cdb 3814// HeadObjectWithContext is the same as HeadObject with the addition of
bae9f6d2
JC
3815// the ability to pass a context and additional request options.
3816//
107c1cdb 3817// See HeadObject for details on how to use this API operation.
bae9f6d2
JC
3818//
3819// The context must be non-nil and will be used for request cancellation. If
3820// the context is nil a panic will occur. In the future the SDK may create
3821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3822// for more information on using Contexts.
107c1cdb
ND
3823func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
3824 req, out := c.HeadObjectRequest(input)
bae9f6d2
JC
3825 req.SetContext(ctx)
3826 req.ApplyOptions(opts...)
3827 return out, req.Send()
3828}
3829
107c1cdb 3830const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
bae9f6d2 3831
107c1cdb
ND
3832// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3833// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
15c0b25d 3834// value will be populated with the request's response once the request completes
107c1cdb 3835// successfully.
bae9f6d2 3836//
15c0b25d
AP
3837// Use "Send" method on the returned Request to send the API call to the service.
3838// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3839//
107c1cdb 3840// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
15c0b25d
AP
3841// API call, and error handling.
3842//
3843// This method is useful when you want to inject custom logic or configuration
3844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3845//
bae9f6d2 3846//
107c1cdb
ND
3847// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3848// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
bae9f6d2
JC
3849//
3850// err := req.Send()
3851// if err == nil { // resp is now filled
3852// fmt.Println(resp)
3853// }
3854//
107c1cdb
ND
3855// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3856func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
bae9f6d2 3857 op := &request.Operation{
107c1cdb 3858 Name: opListBucketAnalyticsConfigurations,
bae9f6d2 3859 HTTPMethod: "GET",
107c1cdb 3860 HTTPPath: "/{Bucket}?analytics",
bae9f6d2
JC
3861 }
3862
3863 if input == nil {
107c1cdb 3864 input = &ListBucketAnalyticsConfigurationsInput{}
bae9f6d2
JC
3865 }
3866
107c1cdb 3867 output = &ListBucketAnalyticsConfigurationsOutput{}
bae9f6d2
JC
3868 req = c.newRequest(op, input, output)
3869 return
3870}
3871
107c1cdb 3872// ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 3873//
107c1cdb 3874// Lists the analytics configurations for the bucket.
bae9f6d2
JC
3875//
3876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3877// with awserr.Error's Code and Message methods to get detailed information about
3878// the error.
3879//
3880// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3881// API operation ListBucketAnalyticsConfigurations for usage and error information.
3882// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3883func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3884 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
bae9f6d2
JC
3885 return out, req.Send()
3886}
3887
107c1cdb 3888// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
bae9f6d2
JC
3889// the ability to pass a context and additional request options.
3890//
107c1cdb 3891// See ListBucketAnalyticsConfigurations for details on how to use this API operation.
bae9f6d2
JC
3892//
3893// The context must be non-nil and will be used for request cancellation. If
3894// the context is nil a panic will occur. In the future the SDK may create
3895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3896// for more information on using Contexts.
107c1cdb
ND
3897func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
3898 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
bae9f6d2
JC
3899 req.SetContext(ctx)
3900 req.ApplyOptions(opts...)
3901 return out, req.Send()
3902}
3903
107c1cdb 3904const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
bae9f6d2 3905
107c1cdb
ND
3906// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3907// client's request for the ListBucketInventoryConfigurations operation. The "output" return
15c0b25d 3908// value will be populated with the request's response once the request completes
107c1cdb 3909// successfully.
15c0b25d
AP
3910//
3911// Use "Send" method on the returned Request to send the API call to the service.
3912// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3913//
107c1cdb 3914// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
15c0b25d 3915// API call, and error handling.
bae9f6d2 3916//
15c0b25d
AP
3917// This method is useful when you want to inject custom logic or configuration
3918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3919//
bae9f6d2 3920//
107c1cdb
ND
3921// // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3922// req, resp := client.ListBucketInventoryConfigurationsRequest(params)
bae9f6d2
JC
3923//
3924// err := req.Send()
3925// if err == nil { // resp is now filled
3926// fmt.Println(resp)
3927// }
3928//
107c1cdb
ND
3929// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3930func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
bae9f6d2 3931 op := &request.Operation{
107c1cdb 3932 Name: opListBucketInventoryConfigurations,
bae9f6d2 3933 HTTPMethod: "GET",
107c1cdb 3934 HTTPPath: "/{Bucket}?inventory",
bae9f6d2
JC
3935 }
3936
3937 if input == nil {
107c1cdb 3938 input = &ListBucketInventoryConfigurationsInput{}
bae9f6d2
JC
3939 }
3940
107c1cdb 3941 output = &ListBucketInventoryConfigurationsOutput{}
bae9f6d2
JC
3942 req = c.newRequest(op, input, output)
3943 return
3944}
3945
107c1cdb 3946// ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 3947//
107c1cdb 3948// Returns a list of inventory configurations for the bucket.
bae9f6d2
JC
3949//
3950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3951// with awserr.Error's Code and Message methods to get detailed information about
3952// the error.
3953//
3954// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
3955// API operation ListBucketInventoryConfigurations for usage and error information.
3956// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3957func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3958 req, out := c.ListBucketInventoryConfigurationsRequest(input)
bae9f6d2
JC
3959 return out, req.Send()
3960}
3961
107c1cdb 3962// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
bae9f6d2
JC
3963// the ability to pass a context and additional request options.
3964//
107c1cdb 3965// See ListBucketInventoryConfigurations for details on how to use this API operation.
bae9f6d2
JC
3966//
3967// The context must be non-nil and will be used for request cancellation. If
3968// the context is nil a panic will occur. In the future the SDK may create
3969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3970// for more information on using Contexts.
107c1cdb
ND
3971func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
3972 req, out := c.ListBucketInventoryConfigurationsRequest(input)
bae9f6d2
JC
3973 req.SetContext(ctx)
3974 req.ApplyOptions(opts...)
3975 return out, req.Send()
3976}
3977
107c1cdb 3978const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
bae9f6d2 3979
107c1cdb
ND
3980// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3981// client's request for the ListBucketMetricsConfigurations operation. The "output" return
15c0b25d 3982// value will be populated with the request's response once the request completes
107c1cdb 3983// successfully.
bae9f6d2 3984//
15c0b25d
AP
3985// Use "Send" method on the returned Request to send the API call to the service.
3986// the "output" return value is not valid until after Send returns without error.
bae9f6d2 3987//
107c1cdb 3988// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
15c0b25d
AP
3989// API call, and error handling.
3990//
3991// This method is useful when you want to inject custom logic or configuration
3992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 3993//
bae9f6d2 3994//
107c1cdb
ND
3995// // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3996// req, resp := client.ListBucketMetricsConfigurationsRequest(params)
bae9f6d2
JC
3997//
3998// err := req.Send()
3999// if err == nil { // resp is now filled
4000// fmt.Println(resp)
4001// }
4002//
107c1cdb
ND
4003// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4004func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
bae9f6d2 4005 op := &request.Operation{
107c1cdb 4006 Name: opListBucketMetricsConfigurations,
bae9f6d2 4007 HTTPMethod: "GET",
107c1cdb 4008 HTTPPath: "/{Bucket}?metrics",
bae9f6d2
JC
4009 }
4010
4011 if input == nil {
107c1cdb 4012 input = &ListBucketMetricsConfigurationsInput{}
bae9f6d2
JC
4013 }
4014
107c1cdb 4015 output = &ListBucketMetricsConfigurationsOutput{}
bae9f6d2
JC
4016 req = c.newRequest(op, input, output)
4017 return
4018}
4019
107c1cdb 4020// ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service.
bae9f6d2 4021//
107c1cdb 4022// Lists the metrics configurations for the bucket.
bae9f6d2
JC
4023//
4024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4025// with awserr.Error's Code and Message methods to get detailed information about
4026// the error.
4027//
4028// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4029// API operation ListBucketMetricsConfigurations for usage and error information.
4030// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
4031func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
4032 req, out := c.ListBucketMetricsConfigurationsRequest(input)
bae9f6d2
JC
4033 return out, req.Send()
4034}
4035
107c1cdb 4036// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
bae9f6d2
JC
4037// the ability to pass a context and additional request options.
4038//
107c1cdb 4039// See ListBucketMetricsConfigurations for details on how to use this API operation.
bae9f6d2
JC
4040//
4041// The context must be non-nil and will be used for request cancellation. If
4042// the context is nil a panic will occur. In the future the SDK may create
4043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4044// for more information on using Contexts.
107c1cdb
ND
4045func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
4046 req, out := c.ListBucketMetricsConfigurationsRequest(input)
bae9f6d2
JC
4047 req.SetContext(ctx)
4048 req.ApplyOptions(opts...)
4049 return out, req.Send()
4050}
4051
107c1cdb 4052const opListBuckets = "ListBuckets"
bae9f6d2 4053
107c1cdb
ND
4054// ListBucketsRequest generates a "aws/request.Request" representing the
4055// client's request for the ListBuckets operation. The "output" return
15c0b25d 4056// value will be populated with the request's response once the request completes
107c1cdb 4057// successfully.
15c0b25d
AP
4058//
4059// Use "Send" method on the returned Request to send the API call to the service.
4060// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4061//
107c1cdb 4062// See ListBuckets for more information on using the ListBuckets
15c0b25d 4063// API call, and error handling.
bae9f6d2 4064//
15c0b25d
AP
4065// This method is useful when you want to inject custom logic or configuration
4066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4067//
bae9f6d2 4068//
107c1cdb
ND
4069// // Example sending a request using the ListBucketsRequest method.
4070// req, resp := client.ListBucketsRequest(params)
bae9f6d2
JC
4071//
4072// err := req.Send()
4073// if err == nil { // resp is now filled
4074// fmt.Println(resp)
4075// }
4076//
107c1cdb
ND
4077// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4078func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
bae9f6d2 4079 op := &request.Operation{
107c1cdb 4080 Name: opListBuckets,
bae9f6d2 4081 HTTPMethod: "GET",
107c1cdb 4082 HTTPPath: "/",
bae9f6d2
JC
4083 }
4084
4085 if input == nil {
107c1cdb 4086 input = &ListBucketsInput{}
bae9f6d2
JC
4087 }
4088
107c1cdb 4089 output = &ListBucketsOutput{}
bae9f6d2
JC
4090 req = c.newRequest(op, input, output)
4091 return
4092}
4093
107c1cdb 4094// ListBuckets API operation for Amazon Simple Storage Service.
bae9f6d2 4095//
107c1cdb 4096// Returns a list of all buckets owned by the authenticated sender of the request.
bae9f6d2
JC
4097//
4098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4099// with awserr.Error's Code and Message methods to get detailed information about
4100// the error.
4101//
4102// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4103// API operation ListBuckets for usage and error information.
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
4105func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
4106 req, out := c.ListBucketsRequest(input)
bae9f6d2
JC
4107 return out, req.Send()
4108}
4109
107c1cdb 4110// ListBucketsWithContext is the same as ListBuckets with the addition of
bae9f6d2
JC
4111// the ability to pass a context and additional request options.
4112//
107c1cdb 4113// See ListBuckets for details on how to use this API operation.
bae9f6d2
JC
4114//
4115// The context must be non-nil and will be used for request cancellation. If
4116// the context is nil a panic will occur. In the future the SDK may create
4117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118// for more information on using Contexts.
107c1cdb
ND
4119func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
4120 req, out := c.ListBucketsRequest(input)
bae9f6d2
JC
4121 req.SetContext(ctx)
4122 req.ApplyOptions(opts...)
4123 return out, req.Send()
4124}
4125
107c1cdb
ND
4126const opListMultipartUploads = "ListMultipartUploads"
4127
4128// ListMultipartUploadsRequest generates a "aws/request.Request" representing the
4129// client's request for the ListMultipartUploads operation. The "output" return
4130// value will be populated with the request's response once the request completes
4131// successfully.
4132//
4133// Use "Send" method on the returned Request to send the API call to the service.
4134// the "output" return value is not valid until after Send returns without error.
4135//
4136// See ListMultipartUploads for more information on using the ListMultipartUploads
4137// API call, and error handling.
4138//
4139// This method is useful when you want to inject custom logic or configuration
4140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141//
4142//
4143// // Example sending a request using the ListMultipartUploadsRequest method.
4144// req, resp := client.ListMultipartUploadsRequest(params)
4145//
4146// err := req.Send()
4147// if err == nil { // resp is now filled
4148// fmt.Println(resp)
4149// }
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4152func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
4153 op := &request.Operation{
4154 Name: opListMultipartUploads,
4155 HTTPMethod: "GET",
4156 HTTPPath: "/{Bucket}?uploads",
4157 Paginator: &request.Paginator{
4158 InputTokens: []string{"KeyMarker", "UploadIdMarker"},
4159 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"},
4160 LimitToken: "MaxUploads",
4161 TruncationToken: "IsTruncated",
4162 },
4163 }
4164
4165 if input == nil {
4166 input = &ListMultipartUploadsInput{}
4167 }
4168
4169 output = &ListMultipartUploadsOutput{}
4170 req = c.newRequest(op, input, output)
4171 return
4172}
4173
4174// ListMultipartUploads API operation for Amazon Simple Storage Service.
4175//
4176// This operation lists in-progress multipart uploads.
4177//
4178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4179// with awserr.Error's Code and Message methods to get detailed information about
4180// the error.
4181//
4182// See the AWS API reference guide for Amazon Simple Storage Service's
4183// API operation ListMultipartUploads for usage and error information.
4184// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
4185func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
4186 req, out := c.ListMultipartUploadsRequest(input)
4187 return out, req.Send()
4188}
4189
4190// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
4191// the ability to pass a context and additional request options.
4192//
4193// See ListMultipartUploads for details on how to use this API operation.
4194//
4195// The context must be non-nil and will be used for request cancellation. If
4196// the context is nil a panic will occur. In the future the SDK may create
4197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4198// for more information on using Contexts.
4199func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
4200 req, out := c.ListMultipartUploadsRequest(input)
4201 req.SetContext(ctx)
4202 req.ApplyOptions(opts...)
4203 return out, req.Send()
4204}
4205
4206// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
bae9f6d2
JC
4207// calling the "fn" function with the response data for each page. To stop
4208// iterating, return false from the fn function.
4209//
107c1cdb 4210// See ListMultipartUploads method for more information on how to use this operation.
bae9f6d2
JC
4211//
4212// Note: This operation can generate multiple requests to a service.
4213//
107c1cdb 4214// // Example iterating over at most 3 pages of a ListMultipartUploads operation.
bae9f6d2 4215// pageNum := 0
107c1cdb 4216// err := client.ListMultipartUploadsPages(params,
863486a6 4217// func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool {
bae9f6d2
JC
4218// pageNum++
4219// fmt.Println(page)
4220// return pageNum <= 3
4221// })
4222//
107c1cdb
ND
4223func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
4224 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
bae9f6d2
JC
4225}
4226
107c1cdb 4227// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
bae9f6d2
JC
4228// it takes a Context and allows setting request options on the pages.
4229//
4230// The context must be non-nil and will be used for request cancellation. If
4231// the context is nil a panic will occur. In the future the SDK may create
4232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4233// for more information on using Contexts.
107c1cdb 4234func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
bae9f6d2
JC
4235 p := request.Pagination{
4236 NewRequest: func() (*request.Request, error) {
107c1cdb 4237 var inCpy *ListMultipartUploadsInput
bae9f6d2
JC
4238 if input != nil {
4239 tmp := *input
4240 inCpy = &tmp
4241 }
107c1cdb 4242 req, _ := c.ListMultipartUploadsRequest(inCpy)
bae9f6d2
JC
4243 req.SetContext(ctx)
4244 req.ApplyOptions(opts...)
4245 return req, nil
4246 },
4247 }
4248
4249 cont := true
4250 for p.Next() && cont {
107c1cdb 4251 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
bae9f6d2
JC
4252 }
4253 return p.Err()
4254}
4255
107c1cdb 4256const opListObjectVersions = "ListObjectVersions"
bae9f6d2 4257
107c1cdb
ND
4258// ListObjectVersionsRequest generates a "aws/request.Request" representing the
4259// client's request for the ListObjectVersions operation. The "output" return
15c0b25d 4260// value will be populated with the request's response once the request completes
107c1cdb 4261// successfully.
bae9f6d2 4262//
15c0b25d
AP
4263// Use "Send" method on the returned Request to send the API call to the service.
4264// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4265//
107c1cdb 4266// See ListObjectVersions for more information on using the ListObjectVersions
15c0b25d
AP
4267// API call, and error handling.
4268//
4269// This method is useful when you want to inject custom logic or configuration
4270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4271//
bae9f6d2 4272//
107c1cdb
ND
4273// // Example sending a request using the ListObjectVersionsRequest method.
4274// req, resp := client.ListObjectVersionsRequest(params)
bae9f6d2
JC
4275//
4276// err := req.Send()
4277// if err == nil { // resp is now filled
4278// fmt.Println(resp)
4279// }
4280//
107c1cdb
ND
4281// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4282func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
bae9f6d2 4283 op := &request.Operation{
107c1cdb 4284 Name: opListObjectVersions,
bae9f6d2 4285 HTTPMethod: "GET",
107c1cdb 4286 HTTPPath: "/{Bucket}?versions",
bae9f6d2 4287 Paginator: &request.Paginator{
107c1cdb
ND
4288 InputTokens: []string{"KeyMarker", "VersionIdMarker"},
4289 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"},
4290 LimitToken: "MaxKeys",
bae9f6d2
JC
4291 TruncationToken: "IsTruncated",
4292 },
4293 }
4294
4295 if input == nil {
107c1cdb 4296 input = &ListObjectVersionsInput{}
bae9f6d2
JC
4297 }
4298
107c1cdb 4299 output = &ListObjectVersionsOutput{}
bae9f6d2
JC
4300 req = c.newRequest(op, input, output)
4301 return
4302}
4303
107c1cdb 4304// ListObjectVersions API operation for Amazon Simple Storage Service.
bae9f6d2 4305//
107c1cdb 4306// Returns metadata about all of the versions of objects in a bucket.
bae9f6d2
JC
4307//
4308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4309// with awserr.Error's Code and Message methods to get detailed information about
4310// the error.
4311//
4312// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4313// API operation ListObjectVersions for usage and error information.
4314// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
4315func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
4316 req, out := c.ListObjectVersionsRequest(input)
bae9f6d2
JC
4317 return out, req.Send()
4318}
4319
107c1cdb 4320// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
bae9f6d2
JC
4321// the ability to pass a context and additional request options.
4322//
107c1cdb 4323// See ListObjectVersions for details on how to use this API operation.
bae9f6d2
JC
4324//
4325// The context must be non-nil and will be used for request cancellation. If
4326// the context is nil a panic will occur. In the future the SDK may create
4327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4328// for more information on using Contexts.
107c1cdb
ND
4329func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
4330 req, out := c.ListObjectVersionsRequest(input)
bae9f6d2
JC
4331 req.SetContext(ctx)
4332 req.ApplyOptions(opts...)
4333 return out, req.Send()
4334}
4335
107c1cdb 4336// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
bae9f6d2
JC
4337// calling the "fn" function with the response data for each page. To stop
4338// iterating, return false from the fn function.
4339//
107c1cdb 4340// See ListObjectVersions method for more information on how to use this operation.
bae9f6d2
JC
4341//
4342// Note: This operation can generate multiple requests to a service.
4343//
107c1cdb 4344// // Example iterating over at most 3 pages of a ListObjectVersions operation.
bae9f6d2 4345// pageNum := 0
107c1cdb 4346// err := client.ListObjectVersionsPages(params,
863486a6 4347// func(page *s3.ListObjectVersionsOutput, lastPage bool) bool {
bae9f6d2
JC
4348// pageNum++
4349// fmt.Println(page)
4350// return pageNum <= 3
4351// })
4352//
107c1cdb
ND
4353func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
4354 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
bae9f6d2
JC
4355}
4356
107c1cdb 4357// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
bae9f6d2
JC
4358// it takes a Context and allows setting request options on the pages.
4359//
4360// The context must be non-nil and will be used for request cancellation. If
4361// the context is nil a panic will occur. In the future the SDK may create
4362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4363// for more information on using Contexts.
107c1cdb 4364func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
bae9f6d2
JC
4365 p := request.Pagination{
4366 NewRequest: func() (*request.Request, error) {
107c1cdb 4367 var inCpy *ListObjectVersionsInput
bae9f6d2
JC
4368 if input != nil {
4369 tmp := *input
4370 inCpy = &tmp
4371 }
107c1cdb 4372 req, _ := c.ListObjectVersionsRequest(inCpy)
bae9f6d2
JC
4373 req.SetContext(ctx)
4374 req.ApplyOptions(opts...)
4375 return req, nil
4376 },
4377 }
4378
4379 cont := true
4380 for p.Next() && cont {
107c1cdb 4381 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
bae9f6d2
JC
4382 }
4383 return p.Err()
4384}
4385
107c1cdb 4386const opListObjects = "ListObjects"
bae9f6d2 4387
107c1cdb
ND
4388// ListObjectsRequest generates a "aws/request.Request" representing the
4389// client's request for the ListObjects operation. The "output" return
15c0b25d 4390// value will be populated with the request's response once the request completes
107c1cdb 4391// successfully.
15c0b25d
AP
4392//
4393// Use "Send" method on the returned Request to send the API call to the service.
4394// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4395//
107c1cdb 4396// See ListObjects for more information on using the ListObjects
15c0b25d 4397// API call, and error handling.
bae9f6d2 4398//
15c0b25d
AP
4399// This method is useful when you want to inject custom logic or configuration
4400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4401//
bae9f6d2 4402//
107c1cdb
ND
4403// // Example sending a request using the ListObjectsRequest method.
4404// req, resp := client.ListObjectsRequest(params)
bae9f6d2
JC
4405//
4406// err := req.Send()
4407// if err == nil { // resp is now filled
4408// fmt.Println(resp)
4409// }
4410//
107c1cdb
ND
4411// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4412func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
bae9f6d2 4413 op := &request.Operation{
107c1cdb
ND
4414 Name: opListObjects,
4415 HTTPMethod: "GET",
4416 HTTPPath: "/{Bucket}",
4417 Paginator: &request.Paginator{
4418 InputTokens: []string{"Marker"},
4419 OutputTokens: []string{"NextMarker || Contents[-1].Key"},
4420 LimitToken: "MaxKeys",
4421 TruncationToken: "IsTruncated",
4422 },
bae9f6d2
JC
4423 }
4424
4425 if input == nil {
107c1cdb 4426 input = &ListObjectsInput{}
bae9f6d2
JC
4427 }
4428
107c1cdb 4429 output = &ListObjectsOutput{}
bae9f6d2 4430 req = c.newRequest(op, input, output)
bae9f6d2
JC
4431 return
4432}
4433
107c1cdb 4434// ListObjects API operation for Amazon Simple Storage Service.
bae9f6d2 4435//
107c1cdb
ND
4436// Returns some or all (up to 1000) of the objects in a bucket. You can use
4437// the request parameters as selection criteria to return a subset of the objects
4438// in a bucket.
bae9f6d2
JC
4439//
4440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4441// with awserr.Error's Code and Message methods to get detailed information about
4442// the error.
4443//
4444// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
4445// API operation ListObjects for usage and error information.
4446//
4447// Returned Error Codes:
4448// * ErrCodeNoSuchBucket "NoSuchBucket"
4449// The specified bucket does not exist.
4450//
4451// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
4452func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
4453 req, out := c.ListObjectsRequest(input)
bae9f6d2
JC
4454 return out, req.Send()
4455}
4456
107c1cdb 4457// ListObjectsWithContext is the same as ListObjects with the addition of
bae9f6d2
JC
4458// the ability to pass a context and additional request options.
4459//
107c1cdb 4460// See ListObjects for details on how to use this API operation.
bae9f6d2
JC
4461//
4462// The context must be non-nil and will be used for request cancellation. If
4463// the context is nil a panic will occur. In the future the SDK may create
4464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4465// for more information on using Contexts.
107c1cdb
ND
4466func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
4467 req, out := c.ListObjectsRequest(input)
bae9f6d2
JC
4468 req.SetContext(ctx)
4469 req.ApplyOptions(opts...)
4470 return out, req.Send()
4471}
4472
107c1cdb
ND
4473// ListObjectsPages iterates over the pages of a ListObjects operation,
4474// calling the "fn" function with the response data for each page. To stop
4475// iterating, return false from the fn function.
15c0b25d 4476//
107c1cdb 4477// See ListObjects method for more information on how to use this operation.
bae9f6d2 4478//
107c1cdb 4479// Note: This operation can generate multiple requests to a service.
bae9f6d2 4480//
107c1cdb
ND
4481// // Example iterating over at most 3 pages of a ListObjects operation.
4482// pageNum := 0
4483// err := client.ListObjectsPages(params,
863486a6 4484// func(page *s3.ListObjectsOutput, lastPage bool) bool {
107c1cdb
ND
4485// pageNum++
4486// fmt.Println(page)
4487// return pageNum <= 3
4488// })
4489//
4490func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
4491 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4492}
4493
4494// ListObjectsPagesWithContext same as ListObjectsPages except
4495// it takes a Context and allows setting request options on the pages.
4496//
4497// The context must be non-nil and will be used for request cancellation. If
4498// the context is nil a panic will occur. In the future the SDK may create
4499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4500// for more information on using Contexts.
4501func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
4502 p := request.Pagination{
4503 NewRequest: func() (*request.Request, error) {
4504 var inCpy *ListObjectsInput
4505 if input != nil {
4506 tmp := *input
4507 inCpy = &tmp
4508 }
4509 req, _ := c.ListObjectsRequest(inCpy)
4510 req.SetContext(ctx)
4511 req.ApplyOptions(opts...)
4512 return req, nil
4513 },
4514 }
4515
4516 cont := true
4517 for p.Next() && cont {
4518 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
4519 }
4520 return p.Err()
4521}
4522
4523const opListObjectsV2 = "ListObjectsV2"
4524
4525// ListObjectsV2Request generates a "aws/request.Request" representing the
4526// client's request for the ListObjectsV2 operation. The "output" return
4527// value will be populated with the request's response once the request completes
4528// successfully.
4529//
4530// Use "Send" method on the returned Request to send the API call to the service.
4531// the "output" return value is not valid until after Send returns without error.
4532//
4533// See ListObjectsV2 for more information on using the ListObjectsV2
4534// API call, and error handling.
4535//
4536// This method is useful when you want to inject custom logic or configuration
4537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4538//
4539//
4540// // Example sending a request using the ListObjectsV2Request method.
4541// req, resp := client.ListObjectsV2Request(params)
4542//
4543// err := req.Send()
4544// if err == nil { // resp is now filled
4545// fmt.Println(resp)
4546// }
4547//
4548// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4549func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
4550 op := &request.Operation{
4551 Name: opListObjectsV2,
4552 HTTPMethod: "GET",
4553 HTTPPath: "/{Bucket}?list-type=2",
4554 Paginator: &request.Paginator{
4555 InputTokens: []string{"ContinuationToken"},
4556 OutputTokens: []string{"NextContinuationToken"},
4557 LimitToken: "MaxKeys",
4558 TruncationToken: "",
4559 },
4560 }
4561
4562 if input == nil {
4563 input = &ListObjectsV2Input{}
4564 }
4565
4566 output = &ListObjectsV2Output{}
4567 req = c.newRequest(op, input, output)
4568 return
4569}
4570
4571// ListObjectsV2 API operation for Amazon Simple Storage Service.
4572//
4573// Returns some or all (up to 1000) of the objects in a bucket. You can use
4574// the request parameters as selection criteria to return a subset of the objects
4575// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend
4576// you use this revised API for new application development.
4577//
4578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4579// with awserr.Error's Code and Message methods to get detailed information about
4580// the error.
4581//
4582// See the AWS API reference guide for Amazon Simple Storage Service's
4583// API operation ListObjectsV2 for usage and error information.
4584//
4585// Returned Error Codes:
4586// * ErrCodeNoSuchBucket "NoSuchBucket"
4587// The specified bucket does not exist.
4588//
4589// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4590func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4591 req, out := c.ListObjectsV2Request(input)
4592 return out, req.Send()
4593}
4594
4595// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
4596// the ability to pass a context and additional request options.
4597//
4598// See ListObjectsV2 for details on how to use this API operation.
4599//
4600// The context must be non-nil and will be used for request cancellation. If
4601// the context is nil a panic will occur. In the future the SDK may create
4602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4603// for more information on using Contexts.
4604func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
4605 req, out := c.ListObjectsV2Request(input)
4606 req.SetContext(ctx)
4607 req.ApplyOptions(opts...)
4608 return out, req.Send()
4609}
4610
4611// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
4612// calling the "fn" function with the response data for each page. To stop
4613// iterating, return false from the fn function.
4614//
4615// See ListObjectsV2 method for more information on how to use this operation.
4616//
4617// Note: This operation can generate multiple requests to a service.
4618//
4619// // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4620// pageNum := 0
4621// err := client.ListObjectsV2Pages(params,
863486a6 4622// func(page *s3.ListObjectsV2Output, lastPage bool) bool {
107c1cdb
ND
4623// pageNum++
4624// fmt.Println(page)
4625// return pageNum <= 3
4626// })
4627//
4628func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
4629 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
4630}
4631
4632// ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
4633// it takes a Context and allows setting request options on the pages.
4634//
4635// The context must be non-nil and will be used for request cancellation. If
4636// the context is nil a panic will occur. In the future the SDK may create
4637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4638// for more information on using Contexts.
4639func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
4640 p := request.Pagination{
4641 NewRequest: func() (*request.Request, error) {
4642 var inCpy *ListObjectsV2Input
4643 if input != nil {
4644 tmp := *input
4645 inCpy = &tmp
4646 }
4647 req, _ := c.ListObjectsV2Request(inCpy)
4648 req.SetContext(ctx)
4649 req.ApplyOptions(opts...)
4650 return req, nil
4651 },
4652 }
4653
4654 cont := true
4655 for p.Next() && cont {
4656 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
4657 }
4658 return p.Err()
4659}
4660
4661const opListParts = "ListParts"
4662
4663// ListPartsRequest generates a "aws/request.Request" representing the
4664// client's request for the ListParts operation. The "output" return
4665// value will be populated with the request's response once the request completes
4666// successfully.
4667//
4668// Use "Send" method on the returned Request to send the API call to the service.
4669// the "output" return value is not valid until after Send returns without error.
4670//
4671// See ListParts for more information on using the ListParts
4672// API call, and error handling.
4673//
4674// This method is useful when you want to inject custom logic or configuration
4675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4676//
4677//
4678// // Example sending a request using the ListPartsRequest method.
4679// req, resp := client.ListPartsRequest(params)
4680//
4681// err := req.Send()
4682// if err == nil { // resp is now filled
4683// fmt.Println(resp)
4684// }
4685//
4686// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4687func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4688 op := &request.Operation{
4689 Name: opListParts,
4690 HTTPMethod: "GET",
4691 HTTPPath: "/{Bucket}/{Key+}",
4692 Paginator: &request.Paginator{
4693 InputTokens: []string{"PartNumberMarker"},
4694 OutputTokens: []string{"NextPartNumberMarker"},
4695 LimitToken: "MaxParts",
4696 TruncationToken: "IsTruncated",
4697 },
4698 }
4699
4700 if input == nil {
4701 input = &ListPartsInput{}
4702 }
4703
4704 output = &ListPartsOutput{}
4705 req = c.newRequest(op, input, output)
4706 return
4707}
4708
4709// ListParts API operation for Amazon Simple Storage Service.
4710//
4711// Lists the parts that have been uploaded for a specific multipart upload.
4712//
4713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4714// with awserr.Error's Code and Message methods to get detailed information about
4715// the error.
4716//
4717// See the AWS API reference guide for Amazon Simple Storage Service's
4718// API operation ListParts for usage and error information.
4719// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4720func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4721 req, out := c.ListPartsRequest(input)
4722 return out, req.Send()
4723}
4724
4725// ListPartsWithContext is the same as ListParts with the addition of
4726// the ability to pass a context and additional request options.
4727//
4728// See ListParts for details on how to use this API operation.
4729//
4730// The context must be non-nil and will be used for request cancellation. If
4731// the context is nil a panic will occur. In the future the SDK may create
4732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4733// for more information on using Contexts.
4734func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
4735 req, out := c.ListPartsRequest(input)
4736 req.SetContext(ctx)
4737 req.ApplyOptions(opts...)
4738 return out, req.Send()
4739}
4740
4741// ListPartsPages iterates over the pages of a ListParts operation,
4742// calling the "fn" function with the response data for each page. To stop
4743// iterating, return false from the fn function.
4744//
4745// See ListParts method for more information on how to use this operation.
4746//
4747// Note: This operation can generate multiple requests to a service.
4748//
4749// // Example iterating over at most 3 pages of a ListParts operation.
4750// pageNum := 0
4751// err := client.ListPartsPages(params,
863486a6 4752// func(page *s3.ListPartsOutput, lastPage bool) bool {
107c1cdb
ND
4753// pageNum++
4754// fmt.Println(page)
4755// return pageNum <= 3
4756// })
4757//
4758func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
4759 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
4760}
4761
4762// ListPartsPagesWithContext same as ListPartsPages except
4763// it takes a Context and allows setting request options on the pages.
4764//
4765// The context must be non-nil and will be used for request cancellation. If
4766// the context is nil a panic will occur. In the future the SDK may create
4767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4768// for more information on using Contexts.
4769func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
4770 p := request.Pagination{
4771 NewRequest: func() (*request.Request, error) {
4772 var inCpy *ListPartsInput
4773 if input != nil {
4774 tmp := *input
4775 inCpy = &tmp
4776 }
4777 req, _ := c.ListPartsRequest(inCpy)
4778 req.SetContext(ctx)
4779 req.ApplyOptions(opts...)
4780 return req, nil
4781 },
4782 }
4783
4784 cont := true
4785 for p.Next() && cont {
4786 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
4787 }
4788 return p.Err()
4789}
4790
4791const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4792
4793// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4794// client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4795// value will be populated with the request's response once the request completes
4796// successfully.
4797//
4798// Use "Send" method on the returned Request to send the API call to the service.
4799// the "output" return value is not valid until after Send returns without error.
4800//
4801// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4802// API call, and error handling.
4803//
4804// This method is useful when you want to inject custom logic or configuration
4805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4806//
4807//
4808// // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4809// req, resp := client.PutBucketAccelerateConfigurationRequest(params)
4810//
4811// err := req.Send()
4812// if err == nil { // resp is now filled
4813// fmt.Println(resp)
4814// }
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4817func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4818 op := &request.Operation{
4819 Name: opPutBucketAccelerateConfiguration,
4820 HTTPMethod: "PUT",
4821 HTTPPath: "/{Bucket}?accelerate",
4822 }
4823
4824 if input == nil {
4825 input = &PutBucketAccelerateConfigurationInput{}
4826 }
4827
4828 output = &PutBucketAccelerateConfigurationOutput{}
4829 req = c.newRequest(op, input, output)
4830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4831 return
4832}
4833
4834// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service.
4835//
4836// Sets the accelerate configuration of an existing bucket.
4837//
4838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4839// with awserr.Error's Code and Message methods to get detailed information about
4840// the error.
4841//
4842// See the AWS API reference guide for Amazon Simple Storage Service's
4843// API operation PutBucketAccelerateConfiguration for usage and error information.
4844// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4845func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4846 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4847 return out, req.Send()
4848}
4849
4850// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
4851// the ability to pass a context and additional request options.
4852//
4853// See PutBucketAccelerateConfiguration for details on how to use this API operation.
4854//
4855// The context must be non-nil and will be used for request cancellation. If
4856// the context is nil a panic will occur. In the future the SDK may create
4857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4858// for more information on using Contexts.
4859func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
4860 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4861 req.SetContext(ctx)
4862 req.ApplyOptions(opts...)
4863 return out, req.Send()
4864}
4865
4866const opPutBucketAcl = "PutBucketAcl"
4867
4868// PutBucketAclRequest generates a "aws/request.Request" representing the
4869// client's request for the PutBucketAcl operation. The "output" return
4870// value will be populated with the request's response once the request completes
4871// successfully.
4872//
4873// Use "Send" method on the returned Request to send the API call to the service.
4874// the "output" return value is not valid until after Send returns without error.
4875//
4876// See PutBucketAcl for more information on using the PutBucketAcl
4877// API call, and error handling.
4878//
4879// This method is useful when you want to inject custom logic or configuration
4880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4881//
4882//
4883// // Example sending a request using the PutBucketAclRequest method.
4884// req, resp := client.PutBucketAclRequest(params)
bae9f6d2
JC
4885//
4886// err := req.Send()
4887// if err == nil { // resp is now filled
4888// fmt.Println(resp)
4889// }
4890//
15c0b25d 4891// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
bae9f6d2
JC
4892func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4893 op := &request.Operation{
4894 Name: opPutBucketAcl,
4895 HTTPMethod: "PUT",
4896 HTTPPath: "/{Bucket}?acl",
4897 }
4898
4899 if input == nil {
4900 input = &PutBucketAclInput{}
4901 }
4902
4903 output = &PutBucketAclOutput{}
4904 req = c.newRequest(op, input, output)
107c1cdb 4905 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
4906 return
4907}
4908
4909// PutBucketAcl API operation for Amazon Simple Storage Service.
4910//
4911// Sets the permissions on a bucket using access control lists (ACL).
4912//
4913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4914// with awserr.Error's Code and Message methods to get detailed information about
4915// the error.
4916//
4917// See the AWS API reference guide for Amazon Simple Storage Service's
4918// API operation PutBucketAcl for usage and error information.
15c0b25d 4919// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
bae9f6d2
JC
4920func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4921 req, out := c.PutBucketAclRequest(input)
4922 return out, req.Send()
4923}
4924
4925// PutBucketAclWithContext is the same as PutBucketAcl with the addition of
4926// the ability to pass a context and additional request options.
4927//
4928// See PutBucketAcl for details on how to use this API operation.
4929//
4930// The context must be non-nil and will be used for request cancellation. If
4931// the context is nil a panic will occur. In the future the SDK may create
4932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4933// for more information on using Contexts.
4934func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
4935 req, out := c.PutBucketAclRequest(input)
4936 req.SetContext(ctx)
4937 req.ApplyOptions(opts...)
4938 return out, req.Send()
4939}
4940
4941const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4942
4943// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4944// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
15c0b25d 4945// value will be populated with the request's response once the request completes
107c1cdb 4946// successfully.
15c0b25d
AP
4947//
4948// Use "Send" method on the returned Request to send the API call to the service.
4949// the "output" return value is not valid until after Send returns without error.
bae9f6d2 4950//
15c0b25d
AP
4951// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4952// API call, and error handling.
bae9f6d2 4953//
15c0b25d
AP
4954// This method is useful when you want to inject custom logic or configuration
4955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 4956//
bae9f6d2
JC
4957//
4958// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4959// req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
4960//
4961// err := req.Send()
4962// if err == nil { // resp is now filled
4963// fmt.Println(resp)
4964// }
4965//
15c0b25d 4966// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
bae9f6d2
JC
4967func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4968 op := &request.Operation{
4969 Name: opPutBucketAnalyticsConfiguration,
4970 HTTPMethod: "PUT",
4971 HTTPPath: "/{Bucket}?analytics",
4972 }
4973
4974 if input == nil {
4975 input = &PutBucketAnalyticsConfigurationInput{}
4976 }
4977
4978 output = &PutBucketAnalyticsConfigurationOutput{}
4979 req = c.newRequest(op, input, output)
107c1cdb 4980 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
4981 return
4982}
4983
4984// PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service.
4985//
4986// Sets an analytics configuration for the bucket (specified by the analytics
4987// configuration ID).
4988//
4989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4990// with awserr.Error's Code and Message methods to get detailed information about
4991// the error.
4992//
4993// See the AWS API reference guide for Amazon Simple Storage Service's
4994// API operation PutBucketAnalyticsConfiguration for usage and error information.
15c0b25d 4995// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
bae9f6d2
JC
4996func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4997 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4998 return out, req.Send()
4999}
5000
5001// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
5002// the ability to pass a context and additional request options.
5003//
5004// See PutBucketAnalyticsConfiguration for details on how to use this API operation.
5005//
5006// The context must be non-nil and will be used for request cancellation. If
5007// the context is nil a panic will occur. In the future the SDK may create
5008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5009// for more information on using Contexts.
5010func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
5011 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
5012 req.SetContext(ctx)
5013 req.ApplyOptions(opts...)
5014 return out, req.Send()
5015}
5016
5017const opPutBucketCors = "PutBucketCors"
5018
5019// PutBucketCorsRequest generates a "aws/request.Request" representing the
5020// client's request for the PutBucketCors operation. The "output" return
15c0b25d 5021// value will be populated with the request's response once the request completes
107c1cdb 5022// successfully.
bae9f6d2 5023//
15c0b25d
AP
5024// Use "Send" method on the returned Request to send the API call to the service.
5025// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5026//
15c0b25d
AP
5027// See PutBucketCors for more information on using the PutBucketCors
5028// API call, and error handling.
5029//
5030// This method is useful when you want to inject custom logic or configuration
5031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5032//
bae9f6d2
JC
5033//
5034// // Example sending a request using the PutBucketCorsRequest method.
5035// req, resp := client.PutBucketCorsRequest(params)
5036//
5037// err := req.Send()
5038// if err == nil { // resp is now filled
5039// fmt.Println(resp)
5040// }
5041//
15c0b25d 5042// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
bae9f6d2
JC
5043func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
5044 op := &request.Operation{
5045 Name: opPutBucketCors,
5046 HTTPMethod: "PUT",
5047 HTTPPath: "/{Bucket}?cors",
5048 }
5049
5050 if input == nil {
5051 input = &PutBucketCorsInput{}
5052 }
5053
5054 output = &PutBucketCorsOutput{}
5055 req = c.newRequest(op, input, output)
107c1cdb 5056 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5057 return
5058}
5059
5060// PutBucketCors API operation for Amazon Simple Storage Service.
5061//
107c1cdb 5062// Sets the CORS configuration for a bucket.
bae9f6d2
JC
5063//
5064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5065// with awserr.Error's Code and Message methods to get detailed information about
5066// the error.
5067//
5068// See the AWS API reference guide for Amazon Simple Storage Service's
5069// API operation PutBucketCors for usage and error information.
15c0b25d 5070// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
bae9f6d2
JC
5071func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
5072 req, out := c.PutBucketCorsRequest(input)
5073 return out, req.Send()
5074}
5075
5076// PutBucketCorsWithContext is the same as PutBucketCors with the addition of
5077// the ability to pass a context and additional request options.
5078//
5079// See PutBucketCors for details on how to use this API operation.
5080//
5081// The context must be non-nil and will be used for request cancellation. If
5082// the context is nil a panic will occur. In the future the SDK may create
5083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5084// for more information on using Contexts.
5085func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
5086 req, out := c.PutBucketCorsRequest(input)
5087 req.SetContext(ctx)
5088 req.ApplyOptions(opts...)
5089 return out, req.Send()
5090}
5091
15c0b25d
AP
5092const opPutBucketEncryption = "PutBucketEncryption"
5093
5094// PutBucketEncryptionRequest generates a "aws/request.Request" representing the
5095// client's request for the PutBucketEncryption operation. The "output" return
5096// value will be populated with the request's response once the request completes
107c1cdb 5097// successfully.
15c0b25d
AP
5098//
5099// Use "Send" method on the returned Request to send the API call to the service.
5100// the "output" return value is not valid until after Send returns without error.
5101//
5102// See PutBucketEncryption for more information on using the PutBucketEncryption
5103// API call, and error handling.
5104//
5105// This method is useful when you want to inject custom logic or configuration
5106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5107//
5108//
5109// // Example sending a request using the PutBucketEncryptionRequest method.
5110// req, resp := client.PutBucketEncryptionRequest(params)
5111//
5112// err := req.Send()
5113// if err == nil { // resp is now filled
5114// fmt.Println(resp)
5115// }
5116//
5117// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5118func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
5119 op := &request.Operation{
5120 Name: opPutBucketEncryption,
5121 HTTPMethod: "PUT",
5122 HTTPPath: "/{Bucket}?encryption",
5123 }
5124
5125 if input == nil {
5126 input = &PutBucketEncryptionInput{}
5127 }
5128
5129 output = &PutBucketEncryptionOutput{}
5130 req = c.newRequest(op, input, output)
107c1cdb 5131 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15c0b25d
AP
5132 return
5133}
5134
5135// PutBucketEncryption API operation for Amazon Simple Storage Service.
5136//
5137// Creates a new server-side encryption configuration (or replaces an existing
5138// one, if present).
5139//
5140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5141// with awserr.Error's Code and Message methods to get detailed information about
5142// the error.
5143//
5144// See the AWS API reference guide for Amazon Simple Storage Service's
5145// API operation PutBucketEncryption for usage and error information.
5146// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
5147func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
5148 req, out := c.PutBucketEncryptionRequest(input)
5149 return out, req.Send()
5150}
5151
5152// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
5153// the ability to pass a context and additional request options.
5154//
5155// See PutBucketEncryption for details on how to use this API operation.
5156//
5157// The context must be non-nil and will be used for request cancellation. If
5158// the context is nil a panic will occur. In the future the SDK may create
5159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5160// for more information on using Contexts.
5161func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
5162 req, out := c.PutBucketEncryptionRequest(input)
5163 req.SetContext(ctx)
5164 req.ApplyOptions(opts...)
5165 return out, req.Send()
5166}
5167
bae9f6d2
JC
5168const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
5169
5170// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
5171// client's request for the PutBucketInventoryConfiguration operation. The "output" return
15c0b25d 5172// value will be populated with the request's response once the request completes
107c1cdb 5173// successfully.
bae9f6d2 5174//
15c0b25d
AP
5175// Use "Send" method on the returned Request to send the API call to the service.
5176// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5177//
15c0b25d
AP
5178// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
5179// API call, and error handling.
5180//
5181// This method is useful when you want to inject custom logic or configuration
5182// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5183//
bae9f6d2
JC
5184//
5185// // Example sending a request using the PutBucketInventoryConfigurationRequest method.
5186// req, resp := client.PutBucketInventoryConfigurationRequest(params)
5187//
5188// err := req.Send()
5189// if err == nil { // resp is now filled
5190// fmt.Println(resp)
5191// }
5192//
15c0b25d 5193// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
bae9f6d2
JC
5194func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
5195 op := &request.Operation{
5196 Name: opPutBucketInventoryConfiguration,
5197 HTTPMethod: "PUT",
5198 HTTPPath: "/{Bucket}?inventory",
5199 }
5200
5201 if input == nil {
5202 input = &PutBucketInventoryConfigurationInput{}
5203 }
5204
5205 output = &PutBucketInventoryConfigurationOutput{}
5206 req = c.newRequest(op, input, output)
107c1cdb 5207 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5208 return
5209}
5210
5211// PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service.
5212//
5213// Adds an inventory configuration (identified by the inventory ID) from the
5214// bucket.
5215//
5216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5217// with awserr.Error's Code and Message methods to get detailed information about
5218// the error.
5219//
5220// See the AWS API reference guide for Amazon Simple Storage Service's
5221// API operation PutBucketInventoryConfiguration for usage and error information.
15c0b25d 5222// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
bae9f6d2
JC
5223func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
5224 req, out := c.PutBucketInventoryConfigurationRequest(input)
5225 return out, req.Send()
5226}
5227
5228// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
5229// the ability to pass a context and additional request options.
5230//
5231// See PutBucketInventoryConfiguration for details on how to use this API operation.
5232//
5233// The context must be non-nil and will be used for request cancellation. If
5234// the context is nil a panic will occur. In the future the SDK may create
5235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5236// for more information on using Contexts.
5237func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
5238 req, out := c.PutBucketInventoryConfigurationRequest(input)
5239 req.SetContext(ctx)
5240 req.ApplyOptions(opts...)
5241 return out, req.Send()
5242}
5243
5244const opPutBucketLifecycle = "PutBucketLifecycle"
5245
5246// PutBucketLifecycleRequest generates a "aws/request.Request" representing the
5247// client's request for the PutBucketLifecycle operation. The "output" return
15c0b25d 5248// value will be populated with the request's response once the request completes
107c1cdb 5249// successfully.
15c0b25d
AP
5250//
5251// Use "Send" method on the returned Request to send the API call to the service.
5252// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5253//
15c0b25d
AP
5254// See PutBucketLifecycle for more information on using the PutBucketLifecycle
5255// API call, and error handling.
bae9f6d2 5256//
15c0b25d
AP
5257// This method is useful when you want to inject custom logic or configuration
5258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5259//
bae9f6d2
JC
5260//
5261// // Example sending a request using the PutBucketLifecycleRequest method.
5262// req, resp := client.PutBucketLifecycleRequest(params)
5263//
5264// err := req.Send()
5265// if err == nil { // resp is now filled
5266// fmt.Println(resp)
5267// }
5268//
15c0b25d 5269// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
107c1cdb
ND
5270//
5271// Deprecated: PutBucketLifecycle has been deprecated
bae9f6d2
JC
5272func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
5273 if c.Client.Config.Logger != nil {
5274 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
5275 }
5276 op := &request.Operation{
5277 Name: opPutBucketLifecycle,
5278 HTTPMethod: "PUT",
5279 HTTPPath: "/{Bucket}?lifecycle",
5280 }
5281
5282 if input == nil {
5283 input = &PutBucketLifecycleInput{}
5284 }
5285
5286 output = &PutBucketLifecycleOutput{}
5287 req = c.newRequest(op, input, output)
107c1cdb 5288 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5289 return
5290}
5291
5292// PutBucketLifecycle API operation for Amazon Simple Storage Service.
5293//
107c1cdb 5294// No longer used, see the PutBucketLifecycleConfiguration operation.
bae9f6d2
JC
5295//
5296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5297// with awserr.Error's Code and Message methods to get detailed information about
5298// the error.
5299//
5300// See the AWS API reference guide for Amazon Simple Storage Service's
5301// API operation PutBucketLifecycle for usage and error information.
15c0b25d 5302// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
107c1cdb
ND
5303//
5304// Deprecated: PutBucketLifecycle has been deprecated
bae9f6d2
JC
5305func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
5306 req, out := c.PutBucketLifecycleRequest(input)
5307 return out, req.Send()
5308}
5309
5310// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
5311// the ability to pass a context and additional request options.
5312//
5313// See PutBucketLifecycle for details on how to use this API operation.
5314//
5315// The context must be non-nil and will be used for request cancellation. If
5316// the context is nil a panic will occur. In the future the SDK may create
5317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5318// for more information on using Contexts.
107c1cdb
ND
5319//
5320// Deprecated: PutBucketLifecycleWithContext has been deprecated
bae9f6d2
JC
5321func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
5322 req, out := c.PutBucketLifecycleRequest(input)
5323 req.SetContext(ctx)
5324 req.ApplyOptions(opts...)
5325 return out, req.Send()
5326}
5327
5328const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
5329
5330// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
5331// client's request for the PutBucketLifecycleConfiguration operation. The "output" return
15c0b25d 5332// value will be populated with the request's response once the request completes
107c1cdb 5333// successfully.
bae9f6d2 5334//
15c0b25d
AP
5335// Use "Send" method on the returned Request to send the API call to the service.
5336// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5337//
15c0b25d
AP
5338// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
5339// API call, and error handling.
5340//
5341// This method is useful when you want to inject custom logic or configuration
5342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5343//
bae9f6d2
JC
5344//
5345// // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
5346// req, resp := client.PutBucketLifecycleConfigurationRequest(params)
5347//
5348// err := req.Send()
5349// if err == nil { // resp is now filled
5350// fmt.Println(resp)
5351// }
5352//
15c0b25d 5353// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
bae9f6d2
JC
5354func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
5355 op := &request.Operation{
5356 Name: opPutBucketLifecycleConfiguration,
5357 HTTPMethod: "PUT",
5358 HTTPPath: "/{Bucket}?lifecycle",
5359 }
5360
5361 if input == nil {
5362 input = &PutBucketLifecycleConfigurationInput{}
5363 }
5364
5365 output = &PutBucketLifecycleConfigurationOutput{}
5366 req = c.newRequest(op, input, output)
107c1cdb 5367 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5368 return
5369}
5370
5371// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
5372//
5373// Sets lifecycle configuration for your bucket. If a lifecycle configuration
5374// exists, it replaces it.
5375//
5376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5377// with awserr.Error's Code and Message methods to get detailed information about
5378// the error.
5379//
5380// See the AWS API reference guide for Amazon Simple Storage Service's
5381// API operation PutBucketLifecycleConfiguration for usage and error information.
15c0b25d 5382// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
bae9f6d2
JC
5383func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
5384 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5385 return out, req.Send()
5386}
5387
5388// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
5389// the ability to pass a context and additional request options.
5390//
5391// See PutBucketLifecycleConfiguration for details on how to use this API operation.
5392//
5393// The context must be non-nil and will be used for request cancellation. If
5394// the context is nil a panic will occur. In the future the SDK may create
5395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5396// for more information on using Contexts.
5397func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
5398 req, out := c.PutBucketLifecycleConfigurationRequest(input)
5399 req.SetContext(ctx)
5400 req.ApplyOptions(opts...)
5401 return out, req.Send()
5402}
5403
5404const opPutBucketLogging = "PutBucketLogging"
5405
5406// PutBucketLoggingRequest generates a "aws/request.Request" representing the
5407// client's request for the PutBucketLogging operation. The "output" return
15c0b25d 5408// value will be populated with the request's response once the request completes
107c1cdb 5409// successfully.
15c0b25d
AP
5410//
5411// Use "Send" method on the returned Request to send the API call to the service.
5412// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5413//
15c0b25d
AP
5414// See PutBucketLogging for more information on using the PutBucketLogging
5415// API call, and error handling.
bae9f6d2 5416//
15c0b25d
AP
5417// This method is useful when you want to inject custom logic or configuration
5418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5419//
bae9f6d2
JC
5420//
5421// // Example sending a request using the PutBucketLoggingRequest method.
5422// req, resp := client.PutBucketLoggingRequest(params)
5423//
5424// err := req.Send()
5425// if err == nil { // resp is now filled
5426// fmt.Println(resp)
5427// }
5428//
15c0b25d 5429// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
bae9f6d2
JC
5430func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
5431 op := &request.Operation{
5432 Name: opPutBucketLogging,
5433 HTTPMethod: "PUT",
5434 HTTPPath: "/{Bucket}?logging",
5435 }
5436
5437 if input == nil {
5438 input = &PutBucketLoggingInput{}
5439 }
5440
5441 output = &PutBucketLoggingOutput{}
5442 req = c.newRequest(op, input, output)
107c1cdb 5443 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5444 return
5445}
5446
5447// PutBucketLogging API operation for Amazon Simple Storage Service.
5448//
5449// Set the logging parameters for a bucket and to specify permissions for who
5450// can view and modify the logging parameters. To set the logging status of
5451// a bucket, you must be the bucket owner.
5452//
5453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5454// with awserr.Error's Code and Message methods to get detailed information about
5455// the error.
5456//
5457// See the AWS API reference guide for Amazon Simple Storage Service's
5458// API operation PutBucketLogging for usage and error information.
15c0b25d 5459// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
bae9f6d2
JC
5460func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
5461 req, out := c.PutBucketLoggingRequest(input)
5462 return out, req.Send()
5463}
5464
5465// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
5466// the ability to pass a context and additional request options.
5467//
5468// See PutBucketLogging for details on how to use this API operation.
5469//
5470// The context must be non-nil and will be used for request cancellation. If
5471// the context is nil a panic will occur. In the future the SDK may create
5472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5473// for more information on using Contexts.
5474func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
5475 req, out := c.PutBucketLoggingRequest(input)
5476 req.SetContext(ctx)
5477 req.ApplyOptions(opts...)
5478 return out, req.Send()
5479}
5480
5481const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
5482
5483// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
5484// client's request for the PutBucketMetricsConfiguration operation. The "output" return
15c0b25d 5485// value will be populated with the request's response once the request completes
107c1cdb 5486// successfully.
bae9f6d2 5487//
15c0b25d
AP
5488// Use "Send" method on the returned Request to send the API call to the service.
5489// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5490//
15c0b25d
AP
5491// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5492// API call, and error handling.
5493//
5494// This method is useful when you want to inject custom logic or configuration
5495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5496//
bae9f6d2
JC
5497//
5498// // Example sending a request using the PutBucketMetricsConfigurationRequest method.
5499// req, resp := client.PutBucketMetricsConfigurationRequest(params)
5500//
5501// err := req.Send()
5502// if err == nil { // resp is now filled
5503// fmt.Println(resp)
5504// }
5505//
15c0b25d 5506// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
bae9f6d2
JC
5507func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
5508 op := &request.Operation{
5509 Name: opPutBucketMetricsConfiguration,
5510 HTTPMethod: "PUT",
5511 HTTPPath: "/{Bucket}?metrics",
5512 }
5513
5514 if input == nil {
5515 input = &PutBucketMetricsConfigurationInput{}
5516 }
5517
5518 output = &PutBucketMetricsConfigurationOutput{}
5519 req = c.newRequest(op, input, output)
107c1cdb 5520 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5521 return
5522}
5523
5524// PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service.
5525//
5526// Sets a metrics configuration (specified by the metrics configuration ID)
5527// for the bucket.
5528//
5529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5530// with awserr.Error's Code and Message methods to get detailed information about
5531// the error.
5532//
5533// See the AWS API reference guide for Amazon Simple Storage Service's
5534// API operation PutBucketMetricsConfiguration for usage and error information.
15c0b25d 5535// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
bae9f6d2
JC
5536func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
5537 req, out := c.PutBucketMetricsConfigurationRequest(input)
5538 return out, req.Send()
5539}
5540
5541// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
5542// the ability to pass a context and additional request options.
5543//
5544// See PutBucketMetricsConfiguration for details on how to use this API operation.
5545//
5546// The context must be non-nil and will be used for request cancellation. If
5547// the context is nil a panic will occur. In the future the SDK may create
5548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5549// for more information on using Contexts.
5550func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
5551 req, out := c.PutBucketMetricsConfigurationRequest(input)
5552 req.SetContext(ctx)
5553 req.ApplyOptions(opts...)
5554 return out, req.Send()
5555}
5556
5557const opPutBucketNotification = "PutBucketNotification"
5558
5559// PutBucketNotificationRequest generates a "aws/request.Request" representing the
5560// client's request for the PutBucketNotification operation. The "output" return
15c0b25d 5561// value will be populated with the request's response once the request completes
107c1cdb 5562// successfully.
15c0b25d
AP
5563//
5564// Use "Send" method on the returned Request to send the API call to the service.
5565// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5566//
15c0b25d
AP
5567// See PutBucketNotification for more information on using the PutBucketNotification
5568// API call, and error handling.
bae9f6d2 5569//
15c0b25d
AP
5570// This method is useful when you want to inject custom logic or configuration
5571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5572//
bae9f6d2
JC
5573//
5574// // Example sending a request using the PutBucketNotificationRequest method.
5575// req, resp := client.PutBucketNotificationRequest(params)
5576//
5577// err := req.Send()
5578// if err == nil { // resp is now filled
5579// fmt.Println(resp)
5580// }
5581//
15c0b25d 5582// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
107c1cdb
ND
5583//
5584// Deprecated: PutBucketNotification has been deprecated
bae9f6d2
JC
5585func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
5586 if c.Client.Config.Logger != nil {
5587 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
5588 }
5589 op := &request.Operation{
5590 Name: opPutBucketNotification,
5591 HTTPMethod: "PUT",
5592 HTTPPath: "/{Bucket}?notification",
5593 }
5594
5595 if input == nil {
5596 input = &PutBucketNotificationInput{}
5597 }
5598
5599 output = &PutBucketNotificationOutput{}
5600 req = c.newRequest(op, input, output)
107c1cdb 5601 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5602 return
5603}
5604
5605// PutBucketNotification API operation for Amazon Simple Storage Service.
5606//
107c1cdb 5607// No longer used, see the PutBucketNotificationConfiguration operation.
bae9f6d2
JC
5608//
5609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5610// with awserr.Error's Code and Message methods to get detailed information about
5611// the error.
5612//
5613// See the AWS API reference guide for Amazon Simple Storage Service's
5614// API operation PutBucketNotification for usage and error information.
15c0b25d 5615// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
107c1cdb
ND
5616//
5617// Deprecated: PutBucketNotification has been deprecated
bae9f6d2
JC
5618func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
5619 req, out := c.PutBucketNotificationRequest(input)
5620 return out, req.Send()
5621}
5622
5623// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
5624// the ability to pass a context and additional request options.
5625//
5626// See PutBucketNotification for details on how to use this API operation.
5627//
5628// The context must be non-nil and will be used for request cancellation. If
5629// the context is nil a panic will occur. In the future the SDK may create
5630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5631// for more information on using Contexts.
107c1cdb
ND
5632//
5633// Deprecated: PutBucketNotificationWithContext has been deprecated
bae9f6d2
JC
5634func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
5635 req, out := c.PutBucketNotificationRequest(input)
5636 req.SetContext(ctx)
5637 req.ApplyOptions(opts...)
5638 return out, req.Send()
5639}
5640
5641const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
5642
5643// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5644// client's request for the PutBucketNotificationConfiguration operation. The "output" return
15c0b25d 5645// value will be populated with the request's response once the request completes
107c1cdb 5646// successfully.
bae9f6d2 5647//
15c0b25d
AP
5648// Use "Send" method on the returned Request to send the API call to the service.
5649// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5650//
15c0b25d
AP
5651// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5652// API call, and error handling.
5653//
5654// This method is useful when you want to inject custom logic or configuration
5655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5656//
bae9f6d2
JC
5657//
5658// // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5659// req, resp := client.PutBucketNotificationConfigurationRequest(params)
5660//
5661// err := req.Send()
5662// if err == nil { // resp is now filled
5663// fmt.Println(resp)
5664// }
5665//
15c0b25d 5666// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
bae9f6d2
JC
5667func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5668 op := &request.Operation{
5669 Name: opPutBucketNotificationConfiguration,
5670 HTTPMethod: "PUT",
5671 HTTPPath: "/{Bucket}?notification",
5672 }
5673
5674 if input == nil {
5675 input = &PutBucketNotificationConfigurationInput{}
5676 }
5677
5678 output = &PutBucketNotificationConfigurationOutput{}
5679 req = c.newRequest(op, input, output)
107c1cdb 5680 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5681 return
5682}
5683
5684// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service.
5685//
5686// Enables notifications of specified events for a bucket.
5687//
5688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5689// with awserr.Error's Code and Message methods to get detailed information about
5690// the error.
5691//
5692// See the AWS API reference guide for Amazon Simple Storage Service's
5693// API operation PutBucketNotificationConfiguration for usage and error information.
15c0b25d 5694// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
bae9f6d2
JC
5695func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5696 req, out := c.PutBucketNotificationConfigurationRequest(input)
5697 return out, req.Send()
5698}
5699
5700// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
5701// the ability to pass a context and additional request options.
5702//
5703// See PutBucketNotificationConfiguration for details on how to use this API operation.
5704//
5705// The context must be non-nil and will be used for request cancellation. If
5706// the context is nil a panic will occur. In the future the SDK may create
5707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5708// for more information on using Contexts.
5709func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
5710 req, out := c.PutBucketNotificationConfigurationRequest(input)
5711 req.SetContext(ctx)
5712 req.ApplyOptions(opts...)
5713 return out, req.Send()
5714}
5715
5716const opPutBucketPolicy = "PutBucketPolicy"
5717
5718// PutBucketPolicyRequest generates a "aws/request.Request" representing the
5719// client's request for the PutBucketPolicy operation. The "output" return
15c0b25d 5720// value will be populated with the request's response once the request completes
107c1cdb 5721// successfully.
15c0b25d
AP
5722//
5723// Use "Send" method on the returned Request to send the API call to the service.
5724// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5725//
15c0b25d
AP
5726// See PutBucketPolicy for more information on using the PutBucketPolicy
5727// API call, and error handling.
bae9f6d2 5728//
15c0b25d
AP
5729// This method is useful when you want to inject custom logic or configuration
5730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5731//
bae9f6d2
JC
5732//
5733// // Example sending a request using the PutBucketPolicyRequest method.
5734// req, resp := client.PutBucketPolicyRequest(params)
5735//
5736// err := req.Send()
5737// if err == nil { // resp is now filled
5738// fmt.Println(resp)
5739// }
5740//
15c0b25d 5741// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
bae9f6d2
JC
5742func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5743 op := &request.Operation{
5744 Name: opPutBucketPolicy,
5745 HTTPMethod: "PUT",
5746 HTTPPath: "/{Bucket}?policy",
5747 }
5748
5749 if input == nil {
5750 input = &PutBucketPolicyInput{}
5751 }
5752
5753 output = &PutBucketPolicyOutput{}
5754 req = c.newRequest(op, input, output)
107c1cdb 5755 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5756 return
5757}
5758
5759// PutBucketPolicy API operation for Amazon Simple Storage Service.
5760//
863486a6 5761// Applies an Amazon S3 bucket policy to an Amazon S3 bucket.
bae9f6d2
JC
5762//
5763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5764// with awserr.Error's Code and Message methods to get detailed information about
5765// the error.
5766//
5767// See the AWS API reference guide for Amazon Simple Storage Service's
5768// API operation PutBucketPolicy for usage and error information.
15c0b25d 5769// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
bae9f6d2
JC
5770func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5771 req, out := c.PutBucketPolicyRequest(input)
5772 return out, req.Send()
5773}
5774
5775// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
5776// the ability to pass a context and additional request options.
5777//
5778// See PutBucketPolicy for details on how to use this API operation.
5779//
5780// The context must be non-nil and will be used for request cancellation. If
5781// the context is nil a panic will occur. In the future the SDK may create
5782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5783// for more information on using Contexts.
5784func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
5785 req, out := c.PutBucketPolicyRequest(input)
5786 req.SetContext(ctx)
5787 req.ApplyOptions(opts...)
5788 return out, req.Send()
5789}
5790
5791const opPutBucketReplication = "PutBucketReplication"
5792
5793// PutBucketReplicationRequest generates a "aws/request.Request" representing the
5794// client's request for the PutBucketReplication operation. The "output" return
15c0b25d 5795// value will be populated with the request's response once the request completes
107c1cdb 5796// successfully.
bae9f6d2 5797//
15c0b25d
AP
5798// Use "Send" method on the returned Request to send the API call to the service.
5799// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5800//
15c0b25d
AP
5801// See PutBucketReplication for more information on using the PutBucketReplication
5802// API call, and error handling.
5803//
5804// This method is useful when you want to inject custom logic or configuration
5805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5806//
bae9f6d2
JC
5807//
5808// // Example sending a request using the PutBucketReplicationRequest method.
5809// req, resp := client.PutBucketReplicationRequest(params)
5810//
5811// err := req.Send()
5812// if err == nil { // resp is now filled
5813// fmt.Println(resp)
5814// }
5815//
15c0b25d 5816// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
bae9f6d2
JC
5817func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5818 op := &request.Operation{
5819 Name: opPutBucketReplication,
5820 HTTPMethod: "PUT",
5821 HTTPPath: "/{Bucket}?replication",
5822 }
5823
5824 if input == nil {
5825 input = &PutBucketReplicationInput{}
5826 }
5827
5828 output = &PutBucketReplicationOutput{}
5829 req = c.newRequest(op, input, output)
107c1cdb 5830 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5831 return
5832}
5833
5834// PutBucketReplication API operation for Amazon Simple Storage Service.
5835//
107c1cdb 5836// Creates a replication configuration or replaces an existing one. For more
863486a6 5837// information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
107c1cdb 5838// in the Amazon S3 Developer Guide.
bae9f6d2
JC
5839//
5840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5841// with awserr.Error's Code and Message methods to get detailed information about
5842// the error.
5843//
5844// See the AWS API reference guide for Amazon Simple Storage Service's
5845// API operation PutBucketReplication for usage and error information.
15c0b25d 5846// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
bae9f6d2
JC
5847func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5848 req, out := c.PutBucketReplicationRequest(input)
5849 return out, req.Send()
5850}
5851
5852// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
5853// the ability to pass a context and additional request options.
5854//
5855// See PutBucketReplication for details on how to use this API operation.
5856//
5857// The context must be non-nil and will be used for request cancellation. If
5858// the context is nil a panic will occur. In the future the SDK may create
5859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5860// for more information on using Contexts.
5861func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
5862 req, out := c.PutBucketReplicationRequest(input)
5863 req.SetContext(ctx)
5864 req.ApplyOptions(opts...)
5865 return out, req.Send()
5866}
5867
5868const opPutBucketRequestPayment = "PutBucketRequestPayment"
5869
5870// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5871// client's request for the PutBucketRequestPayment operation. The "output" return
15c0b25d 5872// value will be populated with the request's response once the request completes
107c1cdb 5873// successfully.
15c0b25d
AP
5874//
5875// Use "Send" method on the returned Request to send the API call to the service.
5876// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5877//
15c0b25d
AP
5878// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5879// API call, and error handling.
bae9f6d2 5880//
15c0b25d
AP
5881// This method is useful when you want to inject custom logic or configuration
5882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5883//
bae9f6d2
JC
5884//
5885// // Example sending a request using the PutBucketRequestPaymentRequest method.
5886// req, resp := client.PutBucketRequestPaymentRequest(params)
5887//
5888// err := req.Send()
5889// if err == nil { // resp is now filled
5890// fmt.Println(resp)
5891// }
5892//
15c0b25d 5893// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
bae9f6d2
JC
5894func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5895 op := &request.Operation{
5896 Name: opPutBucketRequestPayment,
5897 HTTPMethod: "PUT",
5898 HTTPPath: "/{Bucket}?requestPayment",
5899 }
5900
5901 if input == nil {
5902 input = &PutBucketRequestPaymentInput{}
5903 }
5904
5905 output = &PutBucketRequestPaymentOutput{}
5906 req = c.newRequest(op, input, output)
107c1cdb 5907 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5908 return
5909}
5910
5911// PutBucketRequestPayment API operation for Amazon Simple Storage Service.
5912//
5913// Sets the request payment configuration for a bucket. By default, the bucket
5914// owner pays for downloads from the bucket. This configuration parameter enables
5915// the bucket owner (only) to specify that the person requesting the download
5916// will be charged for the download. Documentation on requester pays buckets
5917// can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
5918//
5919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5920// with awserr.Error's Code and Message methods to get detailed information about
5921// the error.
5922//
5923// See the AWS API reference guide for Amazon Simple Storage Service's
5924// API operation PutBucketRequestPayment for usage and error information.
15c0b25d 5925// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
bae9f6d2
JC
5926func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5927 req, out := c.PutBucketRequestPaymentRequest(input)
5928 return out, req.Send()
5929}
5930
5931// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
5932// the ability to pass a context and additional request options.
5933//
5934// See PutBucketRequestPayment for details on how to use this API operation.
5935//
5936// The context must be non-nil and will be used for request cancellation. If
5937// the context is nil a panic will occur. In the future the SDK may create
5938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5939// for more information on using Contexts.
5940func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
5941 req, out := c.PutBucketRequestPaymentRequest(input)
5942 req.SetContext(ctx)
5943 req.ApplyOptions(opts...)
5944 return out, req.Send()
5945}
5946
5947const opPutBucketTagging = "PutBucketTagging"
5948
5949// PutBucketTaggingRequest generates a "aws/request.Request" representing the
5950// client's request for the PutBucketTagging operation. The "output" return
15c0b25d 5951// value will be populated with the request's response once the request completes
107c1cdb 5952// successfully.
bae9f6d2 5953//
15c0b25d
AP
5954// Use "Send" method on the returned Request to send the API call to the service.
5955// the "output" return value is not valid until after Send returns without error.
bae9f6d2 5956//
15c0b25d
AP
5957// See PutBucketTagging for more information on using the PutBucketTagging
5958// API call, and error handling.
5959//
5960// This method is useful when you want to inject custom logic or configuration
5961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 5962//
bae9f6d2
JC
5963//
5964// // Example sending a request using the PutBucketTaggingRequest method.
5965// req, resp := client.PutBucketTaggingRequest(params)
5966//
5967// err := req.Send()
5968// if err == nil { // resp is now filled
5969// fmt.Println(resp)
5970// }
5971//
15c0b25d 5972// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
bae9f6d2
JC
5973func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5974 op := &request.Operation{
5975 Name: opPutBucketTagging,
5976 HTTPMethod: "PUT",
5977 HTTPPath: "/{Bucket}?tagging",
5978 }
5979
5980 if input == nil {
5981 input = &PutBucketTaggingInput{}
5982 }
5983
5984 output = &PutBucketTaggingOutput{}
5985 req = c.newRequest(op, input, output)
107c1cdb 5986 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
5987 return
5988}
5989
5990// PutBucketTagging API operation for Amazon Simple Storage Service.
5991//
5992// Sets the tags for a bucket.
5993//
5994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5995// with awserr.Error's Code and Message methods to get detailed information about
5996// the error.
5997//
5998// See the AWS API reference guide for Amazon Simple Storage Service's
5999// API operation PutBucketTagging for usage and error information.
15c0b25d 6000// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
bae9f6d2
JC
6001func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
6002 req, out := c.PutBucketTaggingRequest(input)
6003 return out, req.Send()
6004}
6005
6006// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
6007// the ability to pass a context and additional request options.
6008//
6009// See PutBucketTagging for details on how to use this API operation.
6010//
6011// The context must be non-nil and will be used for request cancellation. If
6012// the context is nil a panic will occur. In the future the SDK may create
6013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6014// for more information on using Contexts.
6015func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
6016 req, out := c.PutBucketTaggingRequest(input)
6017 req.SetContext(ctx)
6018 req.ApplyOptions(opts...)
6019 return out, req.Send()
6020}
6021
6022const opPutBucketVersioning = "PutBucketVersioning"
6023
6024// PutBucketVersioningRequest generates a "aws/request.Request" representing the
6025// client's request for the PutBucketVersioning operation. The "output" return
15c0b25d 6026// value will be populated with the request's response once the request completes
107c1cdb 6027// successfully.
15c0b25d
AP
6028//
6029// Use "Send" method on the returned Request to send the API call to the service.
6030// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6031//
15c0b25d
AP
6032// See PutBucketVersioning for more information on using the PutBucketVersioning
6033// API call, and error handling.
bae9f6d2 6034//
15c0b25d
AP
6035// This method is useful when you want to inject custom logic or configuration
6036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6037//
bae9f6d2
JC
6038//
6039// // Example sending a request using the PutBucketVersioningRequest method.
6040// req, resp := client.PutBucketVersioningRequest(params)
6041//
6042// err := req.Send()
6043// if err == nil { // resp is now filled
6044// fmt.Println(resp)
6045// }
6046//
15c0b25d 6047// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
bae9f6d2
JC
6048func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
6049 op := &request.Operation{
6050 Name: opPutBucketVersioning,
6051 HTTPMethod: "PUT",
6052 HTTPPath: "/{Bucket}?versioning",
6053 }
6054
6055 if input == nil {
6056 input = &PutBucketVersioningInput{}
6057 }
6058
6059 output = &PutBucketVersioningOutput{}
6060 req = c.newRequest(op, input, output)
107c1cdb 6061 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6062 return
6063}
6064
6065// PutBucketVersioning API operation for Amazon Simple Storage Service.
6066//
6067// Sets the versioning state of an existing bucket. To set the versioning state,
6068// you must be the bucket owner.
6069//
6070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6071// with awserr.Error's Code and Message methods to get detailed information about
6072// the error.
6073//
6074// See the AWS API reference guide for Amazon Simple Storage Service's
6075// API operation PutBucketVersioning for usage and error information.
15c0b25d 6076// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
bae9f6d2
JC
6077func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
6078 req, out := c.PutBucketVersioningRequest(input)
6079 return out, req.Send()
6080}
6081
6082// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
6083// the ability to pass a context and additional request options.
6084//
6085// See PutBucketVersioning for details on how to use this API operation.
6086//
6087// The context must be non-nil and will be used for request cancellation. If
6088// the context is nil a panic will occur. In the future the SDK may create
6089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6090// for more information on using Contexts.
6091func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
6092 req, out := c.PutBucketVersioningRequest(input)
6093 req.SetContext(ctx)
6094 req.ApplyOptions(opts...)
6095 return out, req.Send()
6096}
6097
6098const opPutBucketWebsite = "PutBucketWebsite"
6099
6100// PutBucketWebsiteRequest generates a "aws/request.Request" representing the
6101// client's request for the PutBucketWebsite operation. The "output" return
15c0b25d 6102// value will be populated with the request's response once the request completes
107c1cdb 6103// successfully.
bae9f6d2 6104//
15c0b25d
AP
6105// Use "Send" method on the returned Request to send the API call to the service.
6106// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6107//
15c0b25d
AP
6108// See PutBucketWebsite for more information on using the PutBucketWebsite
6109// API call, and error handling.
6110//
6111// This method is useful when you want to inject custom logic or configuration
6112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6113//
bae9f6d2
JC
6114//
6115// // Example sending a request using the PutBucketWebsiteRequest method.
6116// req, resp := client.PutBucketWebsiteRequest(params)
6117//
6118// err := req.Send()
6119// if err == nil { // resp is now filled
6120// fmt.Println(resp)
6121// }
6122//
15c0b25d 6123// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
bae9f6d2
JC
6124func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
6125 op := &request.Operation{
6126 Name: opPutBucketWebsite,
6127 HTTPMethod: "PUT",
6128 HTTPPath: "/{Bucket}?website",
6129 }
6130
6131 if input == nil {
6132 input = &PutBucketWebsiteInput{}
6133 }
6134
6135 output = &PutBucketWebsiteOutput{}
6136 req = c.newRequest(op, input, output)
107c1cdb 6137 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6138 return
6139}
6140
6141// PutBucketWebsite API operation for Amazon Simple Storage Service.
6142//
6143// Set the website configuration for a bucket.
6144//
6145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6146// with awserr.Error's Code and Message methods to get detailed information about
6147// the error.
6148//
6149// See the AWS API reference guide for Amazon Simple Storage Service's
6150// API operation PutBucketWebsite for usage and error information.
15c0b25d 6151// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
bae9f6d2
JC
6152func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
6153 req, out := c.PutBucketWebsiteRequest(input)
6154 return out, req.Send()
6155}
6156
6157// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
6158// the ability to pass a context and additional request options.
6159//
6160// See PutBucketWebsite for details on how to use this API operation.
6161//
6162// The context must be non-nil and will be used for request cancellation. If
6163// the context is nil a panic will occur. In the future the SDK may create
6164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6165// for more information on using Contexts.
6166func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
6167 req, out := c.PutBucketWebsiteRequest(input)
6168 req.SetContext(ctx)
6169 req.ApplyOptions(opts...)
6170 return out, req.Send()
6171}
6172
6173const opPutObject = "PutObject"
6174
6175// PutObjectRequest generates a "aws/request.Request" representing the
6176// client's request for the PutObject operation. The "output" return
15c0b25d 6177// value will be populated with the request's response once the request completes
107c1cdb 6178// successfully.
15c0b25d
AP
6179//
6180// Use "Send" method on the returned Request to send the API call to the service.
6181// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6182//
15c0b25d
AP
6183// See PutObject for more information on using the PutObject
6184// API call, and error handling.
bae9f6d2 6185//
15c0b25d
AP
6186// This method is useful when you want to inject custom logic or configuration
6187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6188//
bae9f6d2
JC
6189//
6190// // Example sending a request using the PutObjectRequest method.
6191// req, resp := client.PutObjectRequest(params)
6192//
6193// err := req.Send()
6194// if err == nil { // resp is now filled
6195// fmt.Println(resp)
6196// }
6197//
15c0b25d 6198// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
bae9f6d2
JC
6199func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
6200 op := &request.Operation{
6201 Name: opPutObject,
6202 HTTPMethod: "PUT",
6203 HTTPPath: "/{Bucket}/{Key+}",
6204 }
6205
6206 if input == nil {
6207 input = &PutObjectInput{}
6208 }
6209
6210 output = &PutObjectOutput{}
6211 req = c.newRequest(op, input, output)
6212 return
6213}
6214
6215// PutObject API operation for Amazon Simple Storage Service.
6216//
6217// Adds an object to a bucket.
6218//
6219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6220// with awserr.Error's Code and Message methods to get detailed information about
6221// the error.
6222//
6223// See the AWS API reference guide for Amazon Simple Storage Service's
6224// API operation PutObject for usage and error information.
15c0b25d 6225// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
bae9f6d2
JC
6226func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
6227 req, out := c.PutObjectRequest(input)
6228 return out, req.Send()
6229}
6230
6231// PutObjectWithContext is the same as PutObject with the addition of
6232// the ability to pass a context and additional request options.
6233//
6234// See PutObject for details on how to use this API operation.
6235//
6236// The context must be non-nil and will be used for request cancellation. If
6237// the context is nil a panic will occur. In the future the SDK may create
6238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6239// for more information on using Contexts.
6240func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
6241 req, out := c.PutObjectRequest(input)
6242 req.SetContext(ctx)
6243 req.ApplyOptions(opts...)
6244 return out, req.Send()
6245}
6246
6247const opPutObjectAcl = "PutObjectAcl"
6248
6249// PutObjectAclRequest generates a "aws/request.Request" representing the
6250// client's request for the PutObjectAcl operation. The "output" return
15c0b25d 6251// value will be populated with the request's response once the request completes
107c1cdb 6252// successfully.
bae9f6d2 6253//
15c0b25d
AP
6254// Use "Send" method on the returned Request to send the API call to the service.
6255// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6256//
15c0b25d
AP
6257// See PutObjectAcl for more information on using the PutObjectAcl
6258// API call, and error handling.
6259//
6260// This method is useful when you want to inject custom logic or configuration
6261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6262//
bae9f6d2
JC
6263//
6264// // Example sending a request using the PutObjectAclRequest method.
6265// req, resp := client.PutObjectAclRequest(params)
6266//
6267// err := req.Send()
6268// if err == nil { // resp is now filled
6269// fmt.Println(resp)
6270// }
6271//
15c0b25d 6272// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
bae9f6d2
JC
6273func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
6274 op := &request.Operation{
6275 Name: opPutObjectAcl,
6276 HTTPMethod: "PUT",
6277 HTTPPath: "/{Bucket}/{Key+}?acl",
6278 }
6279
6280 if input == nil {
6281 input = &PutObjectAclInput{}
6282 }
6283
6284 output = &PutObjectAclOutput{}
6285 req = c.newRequest(op, input, output)
6286 return
6287}
6288
6289// PutObjectAcl API operation for Amazon Simple Storage Service.
6290//
6291// uses the acl subresource to set the access control list (ACL) permissions
6292// for an object that already exists in a bucket
6293//
6294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6295// with awserr.Error's Code and Message methods to get detailed information about
6296// the error.
6297//
6298// See the AWS API reference guide for Amazon Simple Storage Service's
6299// API operation PutObjectAcl for usage and error information.
6300//
6301// Returned Error Codes:
6302// * ErrCodeNoSuchKey "NoSuchKey"
6303// The specified key does not exist.
6304//
15c0b25d 6305// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
bae9f6d2
JC
6306func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
6307 req, out := c.PutObjectAclRequest(input)
6308 return out, req.Send()
6309}
6310
6311// PutObjectAclWithContext is the same as PutObjectAcl with the addition of
6312// the ability to pass a context and additional request options.
6313//
6314// See PutObjectAcl for details on how to use this API operation.
6315//
6316// The context must be non-nil and will be used for request cancellation. If
6317// the context is nil a panic will occur. In the future the SDK may create
6318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6319// for more information on using Contexts.
107c1cdb
ND
6320func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
6321 req, out := c.PutObjectAclRequest(input)
6322 req.SetContext(ctx)
6323 req.ApplyOptions(opts...)
6324 return out, req.Send()
6325}
6326
6327const opPutObjectLegalHold = "PutObjectLegalHold"
6328
6329// PutObjectLegalHoldRequest generates a "aws/request.Request" representing the
6330// client's request for the PutObjectLegalHold operation. The "output" return
6331// value will be populated with the request's response once the request completes
6332// successfully.
6333//
6334// Use "Send" method on the returned Request to send the API call to the service.
6335// the "output" return value is not valid until after Send returns without error.
6336//
6337// See PutObjectLegalHold for more information on using the PutObjectLegalHold
6338// API call, and error handling.
6339//
6340// This method is useful when you want to inject custom logic or configuration
6341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6342//
6343//
6344// // Example sending a request using the PutObjectLegalHoldRequest method.
6345// req, resp := client.PutObjectLegalHoldRequest(params)
6346//
6347// err := req.Send()
6348// if err == nil { // resp is now filled
6349// fmt.Println(resp)
6350// }
6351//
6352// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6353func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *request.Request, output *PutObjectLegalHoldOutput) {
6354 op := &request.Operation{
6355 Name: opPutObjectLegalHold,
6356 HTTPMethod: "PUT",
6357 HTTPPath: "/{Bucket}/{Key+}?legal-hold",
6358 }
6359
6360 if input == nil {
6361 input = &PutObjectLegalHoldInput{}
6362 }
6363
6364 output = &PutObjectLegalHoldOutput{}
6365 req = c.newRequest(op, input, output)
6366 return
6367}
6368
6369// PutObjectLegalHold API operation for Amazon Simple Storage Service.
6370//
6371// Applies a Legal Hold configuration to the specified object.
6372//
6373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6374// with awserr.Error's Code and Message methods to get detailed information about
6375// the error.
6376//
6377// See the AWS API reference guide for Amazon Simple Storage Service's
6378// API operation PutObjectLegalHold for usage and error information.
6379// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold
6380func (c *S3) PutObjectLegalHold(input *PutObjectLegalHoldInput) (*PutObjectLegalHoldOutput, error) {
6381 req, out := c.PutObjectLegalHoldRequest(input)
6382 return out, req.Send()
6383}
6384
6385// PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of
6386// the ability to pass a context and additional request options.
6387//
6388// See PutObjectLegalHold for details on how to use this API operation.
6389//
6390// The context must be non-nil and will be used for request cancellation. If
6391// the context is nil a panic will occur. In the future the SDK may create
6392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6393// for more information on using Contexts.
6394func (c *S3) PutObjectLegalHoldWithContext(ctx aws.Context, input *PutObjectLegalHoldInput, opts ...request.Option) (*PutObjectLegalHoldOutput, error) {
6395 req, out := c.PutObjectLegalHoldRequest(input)
6396 req.SetContext(ctx)
6397 req.ApplyOptions(opts...)
6398 return out, req.Send()
6399}
6400
6401const opPutObjectLockConfiguration = "PutObjectLockConfiguration"
6402
6403// PutObjectLockConfigurationRequest generates a "aws/request.Request" representing the
6404// client's request for the PutObjectLockConfiguration operation. The "output" return
6405// value will be populated with the request's response once the request completes
6406// successfully.
6407//
6408// Use "Send" method on the returned Request to send the API call to the service.
6409// the "output" return value is not valid until after Send returns without error.
6410//
6411// See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration
6412// API call, and error handling.
6413//
6414// This method is useful when you want to inject custom logic or configuration
6415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6416//
6417//
6418// // Example sending a request using the PutObjectLockConfigurationRequest method.
6419// req, resp := client.PutObjectLockConfigurationRequest(params)
6420//
6421// err := req.Send()
6422// if err == nil { // resp is now filled
6423// fmt.Println(resp)
6424// }
6425//
6426// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6427func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfigurationInput) (req *request.Request, output *PutObjectLockConfigurationOutput) {
6428 op := &request.Operation{
6429 Name: opPutObjectLockConfiguration,
6430 HTTPMethod: "PUT",
6431 HTTPPath: "/{Bucket}?object-lock",
6432 }
6433
6434 if input == nil {
6435 input = &PutObjectLockConfigurationInput{}
6436 }
6437
6438 output = &PutObjectLockConfigurationOutput{}
6439 req = c.newRequest(op, input, output)
6440 return
6441}
6442
6443// PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
6444//
863486a6
AG
6445// Places an object lock configuration on the specified bucket. The rule specified
6446// in the object lock configuration will be applied by default to every new
107c1cdb
ND
6447// object placed in the specified bucket.
6448//
6449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6450// with awserr.Error's Code and Message methods to get detailed information about
6451// the error.
6452//
6453// See the AWS API reference guide for Amazon Simple Storage Service's
6454// API operation PutObjectLockConfiguration for usage and error information.
6455// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration
6456func (c *S3) PutObjectLockConfiguration(input *PutObjectLockConfigurationInput) (*PutObjectLockConfigurationOutput, error) {
6457 req, out := c.PutObjectLockConfigurationRequest(input)
6458 return out, req.Send()
6459}
6460
6461// PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of
6462// the ability to pass a context and additional request options.
6463//
6464// See PutObjectLockConfiguration for details on how to use this API operation.
6465//
6466// The context must be non-nil and will be used for request cancellation. If
6467// the context is nil a panic will occur. In the future the SDK may create
6468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6469// for more information on using Contexts.
6470func (c *S3) PutObjectLockConfigurationWithContext(ctx aws.Context, input *PutObjectLockConfigurationInput, opts ...request.Option) (*PutObjectLockConfigurationOutput, error) {
6471 req, out := c.PutObjectLockConfigurationRequest(input)
6472 req.SetContext(ctx)
6473 req.ApplyOptions(opts...)
6474 return out, req.Send()
6475}
6476
6477const opPutObjectRetention = "PutObjectRetention"
6478
6479// PutObjectRetentionRequest generates a "aws/request.Request" representing the
6480// client's request for the PutObjectRetention operation. The "output" return
6481// value will be populated with the request's response once the request completes
6482// successfully.
6483//
6484// Use "Send" method on the returned Request to send the API call to the service.
6485// the "output" return value is not valid until after Send returns without error.
6486//
6487// See PutObjectRetention for more information on using the PutObjectRetention
6488// API call, and error handling.
6489//
6490// This method is useful when you want to inject custom logic or configuration
6491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6492//
6493//
6494// // Example sending a request using the PutObjectRetentionRequest method.
6495// req, resp := client.PutObjectRetentionRequest(params)
6496//
6497// err := req.Send()
6498// if err == nil { // resp is now filled
6499// fmt.Println(resp)
6500// }
6501//
6502// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6503func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *request.Request, output *PutObjectRetentionOutput) {
6504 op := &request.Operation{
6505 Name: opPutObjectRetention,
6506 HTTPMethod: "PUT",
6507 HTTPPath: "/{Bucket}/{Key+}?retention",
6508 }
6509
6510 if input == nil {
6511 input = &PutObjectRetentionInput{}
6512 }
6513
6514 output = &PutObjectRetentionOutput{}
6515 req = c.newRequest(op, input, output)
6516 return
6517}
6518
6519// PutObjectRetention API operation for Amazon Simple Storage Service.
6520//
6521// Places an Object Retention configuration on an object.
6522//
6523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6524// with awserr.Error's Code and Message methods to get detailed information about
6525// the error.
6526//
6527// See the AWS API reference guide for Amazon Simple Storage Service's
6528// API operation PutObjectRetention for usage and error information.
6529// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention
6530func (c *S3) PutObjectRetention(input *PutObjectRetentionInput) (*PutObjectRetentionOutput, error) {
6531 req, out := c.PutObjectRetentionRequest(input)
6532 return out, req.Send()
6533}
6534
6535// PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of
6536// the ability to pass a context and additional request options.
6537//
6538// See PutObjectRetention for details on how to use this API operation.
6539//
6540// The context must be non-nil and will be used for request cancellation. If
6541// the context is nil a panic will occur. In the future the SDK may create
6542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6543// for more information on using Contexts.
6544func (c *S3) PutObjectRetentionWithContext(ctx aws.Context, input *PutObjectRetentionInput, opts ...request.Option) (*PutObjectRetentionOutput, error) {
6545 req, out := c.PutObjectRetentionRequest(input)
6546 req.SetContext(ctx)
6547 req.ApplyOptions(opts...)
6548 return out, req.Send()
6549}
6550
6551const opPutObjectTagging = "PutObjectTagging"
6552
6553// PutObjectTaggingRequest generates a "aws/request.Request" representing the
6554// client's request for the PutObjectTagging operation. The "output" return
6555// value will be populated with the request's response once the request completes
6556// successfully.
6557//
6558// Use "Send" method on the returned Request to send the API call to the service.
6559// the "output" return value is not valid until after Send returns without error.
6560//
6561// See PutObjectTagging for more information on using the PutObjectTagging
6562// API call, and error handling.
6563//
6564// This method is useful when you want to inject custom logic or configuration
6565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6566//
6567//
6568// // Example sending a request using the PutObjectTaggingRequest method.
6569// req, resp := client.PutObjectTaggingRequest(params)
6570//
6571// err := req.Send()
6572// if err == nil { // resp is now filled
6573// fmt.Println(resp)
6574// }
6575//
6576// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6577func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
6578 op := &request.Operation{
6579 Name: opPutObjectTagging,
6580 HTTPMethod: "PUT",
6581 HTTPPath: "/{Bucket}/{Key+}?tagging",
6582 }
6583
6584 if input == nil {
6585 input = &PutObjectTaggingInput{}
6586 }
6587
6588 output = &PutObjectTaggingOutput{}
6589 req = c.newRequest(op, input, output)
6590 return
6591}
6592
6593// PutObjectTagging API operation for Amazon Simple Storage Service.
6594//
6595// Sets the supplied tag-set to an object that already exists in a bucket
6596//
6597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6598// with awserr.Error's Code and Message methods to get detailed information about
6599// the error.
6600//
6601// See the AWS API reference guide for Amazon Simple Storage Service's
6602// API operation PutObjectTagging for usage and error information.
6603// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
6604func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
6605 req, out := c.PutObjectTaggingRequest(input)
6606 return out, req.Send()
6607}
6608
6609// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
6610// the ability to pass a context and additional request options.
6611//
6612// See PutObjectTagging for details on how to use this API operation.
6613//
6614// The context must be non-nil and will be used for request cancellation. If
6615// the context is nil a panic will occur. In the future the SDK may create
6616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6617// for more information on using Contexts.
6618func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
6619 req, out := c.PutObjectTaggingRequest(input)
bae9f6d2
JC
6620 req.SetContext(ctx)
6621 req.ApplyOptions(opts...)
6622 return out, req.Send()
6623}
6624
107c1cdb 6625const opPutPublicAccessBlock = "PutPublicAccessBlock"
bae9f6d2 6626
107c1cdb
ND
6627// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the
6628// client's request for the PutPublicAccessBlock operation. The "output" return
15c0b25d 6629// value will be populated with the request's response once the request completes
107c1cdb 6630// successfully.
15c0b25d
AP
6631//
6632// Use "Send" method on the returned Request to send the API call to the service.
6633// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6634//
107c1cdb 6635// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock
15c0b25d 6636// API call, and error handling.
bae9f6d2 6637//
15c0b25d
AP
6638// This method is useful when you want to inject custom logic or configuration
6639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6640//
bae9f6d2 6641//
107c1cdb
ND
6642// // Example sending a request using the PutPublicAccessBlockRequest method.
6643// req, resp := client.PutPublicAccessBlockRequest(params)
bae9f6d2
JC
6644//
6645// err := req.Send()
6646// if err == nil { // resp is now filled
6647// fmt.Println(resp)
6648// }
6649//
107c1cdb
ND
6650// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6651func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) {
bae9f6d2 6652 op := &request.Operation{
107c1cdb 6653 Name: opPutPublicAccessBlock,
bae9f6d2 6654 HTTPMethod: "PUT",
107c1cdb 6655 HTTPPath: "/{Bucket}?publicAccessBlock",
bae9f6d2
JC
6656 }
6657
6658 if input == nil {
107c1cdb 6659 input = &PutPublicAccessBlockInput{}
bae9f6d2
JC
6660 }
6661
107c1cdb 6662 output = &PutPublicAccessBlockOutput{}
bae9f6d2 6663 req = c.newRequest(op, input, output)
107c1cdb 6664 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
bae9f6d2
JC
6665 return
6666}
6667
107c1cdb 6668// PutPublicAccessBlock API operation for Amazon Simple Storage Service.
bae9f6d2 6669//
107c1cdb
ND
6670// Creates or modifies the PublicAccessBlock configuration for an Amazon S3
6671// bucket.
bae9f6d2
JC
6672//
6673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6674// with awserr.Error's Code and Message methods to get detailed information about
6675// the error.
6676//
6677// See the AWS API reference guide for Amazon Simple Storage Service's
107c1cdb
ND
6678// API operation PutPublicAccessBlock for usage and error information.
6679// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock
6680func (c *S3) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) {
6681 req, out := c.PutPublicAccessBlockRequest(input)
bae9f6d2
JC
6682 return out, req.Send()
6683}
6684
107c1cdb 6685// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of
bae9f6d2
JC
6686// the ability to pass a context and additional request options.
6687//
107c1cdb 6688// See PutPublicAccessBlock for details on how to use this API operation.
bae9f6d2
JC
6689//
6690// The context must be non-nil and will be used for request cancellation. If
6691// the context is nil a panic will occur. In the future the SDK may create
6692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6693// for more information on using Contexts.
107c1cdb
ND
6694func (c *S3) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) {
6695 req, out := c.PutPublicAccessBlockRequest(input)
bae9f6d2
JC
6696 req.SetContext(ctx)
6697 req.ApplyOptions(opts...)
6698 return out, req.Send()
6699}
6700
6701const opRestoreObject = "RestoreObject"
6702
6703// RestoreObjectRequest generates a "aws/request.Request" representing the
6704// client's request for the RestoreObject operation. The "output" return
15c0b25d 6705// value will be populated with the request's response once the request completes
107c1cdb 6706// successfully.
bae9f6d2 6707//
15c0b25d
AP
6708// Use "Send" method on the returned Request to send the API call to the service.
6709// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6710//
15c0b25d
AP
6711// See RestoreObject for more information on using the RestoreObject
6712// API call, and error handling.
6713//
6714// This method is useful when you want to inject custom logic or configuration
6715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6716//
bae9f6d2
JC
6717//
6718// // Example sending a request using the RestoreObjectRequest method.
6719// req, resp := client.RestoreObjectRequest(params)
6720//
6721// err := req.Send()
6722// if err == nil { // resp is now filled
6723// fmt.Println(resp)
6724// }
6725//
15c0b25d 6726// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
bae9f6d2
JC
6727func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
6728 op := &request.Operation{
6729 Name: opRestoreObject,
6730 HTTPMethod: "POST",
6731 HTTPPath: "/{Bucket}/{Key+}?restore",
6732 }
6733
6734 if input == nil {
6735 input = &RestoreObjectInput{}
6736 }
6737
6738 output = &RestoreObjectOutput{}
6739 req = c.newRequest(op, input, output)
6740 return
6741}
6742
6743// RestoreObject API operation for Amazon Simple Storage Service.
6744//
6745// Restores an archived copy of an object back into Amazon S3
6746//
6747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6748// with awserr.Error's Code and Message methods to get detailed information about
6749// the error.
6750//
6751// See the AWS API reference guide for Amazon Simple Storage Service's
6752// API operation RestoreObject for usage and error information.
6753//
6754// Returned Error Codes:
6755// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
6756// This operation is not allowed against this storage tier
6757//
15c0b25d 6758// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
bae9f6d2
JC
6759func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
6760 req, out := c.RestoreObjectRequest(input)
6761 return out, req.Send()
6762}
6763
6764// RestoreObjectWithContext is the same as RestoreObject with the addition of
6765// the ability to pass a context and additional request options.
6766//
6767// See RestoreObject for details on how to use this API operation.
6768//
6769// The context must be non-nil and will be used for request cancellation. If
6770// the context is nil a panic will occur. In the future the SDK may create
6771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6772// for more information on using Contexts.
6773func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
6774 req, out := c.RestoreObjectRequest(input)
6775 req.SetContext(ctx)
6776 req.ApplyOptions(opts...)
6777 return out, req.Send()
6778}
6779
15c0b25d 6780const opSelectObjectContent = "SelectObjectContent"
bae9f6d2 6781
15c0b25d
AP
6782// SelectObjectContentRequest generates a "aws/request.Request" representing the
6783// client's request for the SelectObjectContent operation. The "output" return
6784// value will be populated with the request's response once the request completes
107c1cdb 6785// successfully.
bae9f6d2 6786//
15c0b25d
AP
6787// Use "Send" method on the returned Request to send the API call to the service.
6788// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6789//
15c0b25d
AP
6790// See SelectObjectContent for more information on using the SelectObjectContent
6791// API call, and error handling.
bae9f6d2 6792//
15c0b25d
AP
6793// This method is useful when you want to inject custom logic or configuration
6794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6795//
15c0b25d
AP
6796//
6797// // Example sending a request using the SelectObjectContentRequest method.
6798// req, resp := client.SelectObjectContentRequest(params)
bae9f6d2
JC
6799//
6800// err := req.Send()
6801// if err == nil { // resp is now filled
6802// fmt.Println(resp)
6803// }
6804//
15c0b25d
AP
6805// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6806func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
bae9f6d2 6807 op := &request.Operation{
15c0b25d
AP
6808 Name: opSelectObjectContent,
6809 HTTPMethod: "POST",
6810 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
bae9f6d2
JC
6811 }
6812
6813 if input == nil {
15c0b25d 6814 input = &SelectObjectContentInput{}
bae9f6d2
JC
6815 }
6816
15c0b25d 6817 output = &SelectObjectContentOutput{}
bae9f6d2 6818 req = c.newRequest(op, input, output)
15c0b25d
AP
6819 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6820 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6821 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
bae9f6d2
JC
6822 return
6823}
6824
15c0b25d 6825// SelectObjectContent API operation for Amazon Simple Storage Service.
bae9f6d2 6826//
15c0b25d
AP
6827// This operation filters the contents of an Amazon S3 object based on a simple
6828// Structured Query Language (SQL) statement. In the request, along with the
6829// SQL expression, you must also specify a data serialization format (JSON or
6830// CSV) of the object. Amazon S3 uses this to parse object data into records,
6831// and returns only records that match the specified SQL expression. You must
6832// also specify the data serialization format for the response.
bae9f6d2
JC
6833//
6834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6835// with awserr.Error's Code and Message methods to get detailed information about
6836// the error.
6837//
6838// See the AWS API reference guide for Amazon Simple Storage Service's
15c0b25d
AP
6839// API operation SelectObjectContent for usage and error information.
6840// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6841func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6842 req, out := c.SelectObjectContentRequest(input)
bae9f6d2
JC
6843 return out, req.Send()
6844}
6845
15c0b25d 6846// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
bae9f6d2
JC
6847// the ability to pass a context and additional request options.
6848//
15c0b25d 6849// See SelectObjectContent for details on how to use this API operation.
bae9f6d2
JC
6850//
6851// The context must be non-nil and will be used for request cancellation. If
6852// the context is nil a panic will occur. In the future the SDK may create
6853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6854// for more information on using Contexts.
15c0b25d
AP
6855func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6856 req, out := c.SelectObjectContentRequest(input)
bae9f6d2
JC
6857 req.SetContext(ctx)
6858 req.ApplyOptions(opts...)
6859 return out, req.Send()
6860}
6861
15c0b25d 6862const opUploadPart = "UploadPart"
bae9f6d2 6863
15c0b25d
AP
6864// UploadPartRequest generates a "aws/request.Request" representing the
6865// client's request for the UploadPart operation. The "output" return
6866// value will be populated with the request's response once the request completes
107c1cdb 6867// successfully.
bae9f6d2 6868//
15c0b25d
AP
6869// Use "Send" method on the returned Request to send the API call to the service.
6870// the "output" return value is not valid until after Send returns without error.
bae9f6d2 6871//
15c0b25d
AP
6872// See UploadPart for more information on using the UploadPart
6873// API call, and error handling.
bae9f6d2 6874//
15c0b25d
AP
6875// This method is useful when you want to inject custom logic or configuration
6876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
bae9f6d2 6877//
15c0b25d
AP
6878//
6879// // Example sending a request using the UploadPartRequest method.
6880// req, resp := client.UploadPartRequest(params)
bae9f6d2
JC
6881//
6882// err := req.Send()
6883// if err == nil { // resp is now filled
6884// fmt.Println(resp)
6885// }
6886//
15c0b25d
AP
6887// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6888func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
bae9f6d2 6889 op := &request.Operation{
15c0b25d 6890 Name: opUploadPart,
bae9f6d2
JC
6891 HTTPMethod: "PUT",
6892 HTTPPath: "/{Bucket}/{Key+}",
6893 }
6894
6895 if input == nil {
15c0b25d
AP
6896 input = &UploadPartInput{}
6897 }
6898
6899 output = &UploadPartOutput{}
6900 req = c.newRequest(op, input, output)
6901 return
6902}
6903
6904// UploadPart API operation for Amazon Simple Storage Service.
6905//
6906// Uploads a part in a multipart upload.
6907//
6908// Note: After you initiate multipart upload and upload one or more parts, you
6909// must either complete or abort multipart upload in order to stop getting charged
6910// for storage of the uploaded parts. Only after you either complete or abort
6911// multipart upload, Amazon S3 frees up the parts storage and stops charging
6912// you for the parts storage.
6913//
6914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6915// with awserr.Error's Code and Message methods to get detailed information about
6916// the error.
6917//
6918// See the AWS API reference guide for Amazon Simple Storage Service's
6919// API operation UploadPart for usage and error information.
6920// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
6921func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
6922 req, out := c.UploadPartRequest(input)
6923 return out, req.Send()
6924}
6925
6926// UploadPartWithContext is the same as UploadPart with the addition of
6927// the ability to pass a context and additional request options.
6928//
6929// See UploadPart for details on how to use this API operation.
6930//
6931// The context must be non-nil and will be used for request cancellation. If
6932// the context is nil a panic will occur. In the future the SDK may create
6933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6934// for more information on using Contexts.
6935func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
6936 req, out := c.UploadPartRequest(input)
6937 req.SetContext(ctx)
6938 req.ApplyOptions(opts...)
6939 return out, req.Send()
6940}
6941
6942const opUploadPartCopy = "UploadPartCopy"
6943
6944// UploadPartCopyRequest generates a "aws/request.Request" representing the
6945// client's request for the UploadPartCopy operation. The "output" return
6946// value will be populated with the request's response once the request completes
107c1cdb 6947// successfully.
15c0b25d
AP
6948//
6949// Use "Send" method on the returned Request to send the API call to the service.
6950// the "output" return value is not valid until after Send returns without error.
6951//
6952// See UploadPartCopy for more information on using the UploadPartCopy
6953// API call, and error handling.
6954//
6955// This method is useful when you want to inject custom logic or configuration
6956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6957//
6958//
6959// // Example sending a request using the UploadPartCopyRequest method.
6960// req, resp := client.UploadPartCopyRequest(params)
6961//
6962// err := req.Send()
6963// if err == nil { // resp is now filled
6964// fmt.Println(resp)
6965// }
6966//
6967// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6968func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
6969 op := &request.Operation{
6970 Name: opUploadPartCopy,
6971 HTTPMethod: "PUT",
6972 HTTPPath: "/{Bucket}/{Key+}",
6973 }
6974
6975 if input == nil {
6976 input = &UploadPartCopyInput{}
bae9f6d2
JC
6977 }
6978
6979 output = &UploadPartCopyOutput{}
6980 req = c.newRequest(op, input, output)
6981 return
6982}
6983
6984// UploadPartCopy API operation for Amazon Simple Storage Service.
6985//
6986// Uploads a part by copying data from an existing object as data source.
6987//
6988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6989// with awserr.Error's Code and Message methods to get detailed information about
6990// the error.
6991//
6992// See the AWS API reference guide for Amazon Simple Storage Service's
6993// API operation UploadPartCopy for usage and error information.
15c0b25d 6994// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
bae9f6d2
JC
6995func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6996 req, out := c.UploadPartCopyRequest(input)
6997 return out, req.Send()
6998}
6999
7000// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
7001// the ability to pass a context and additional request options.
7002//
7003// See UploadPartCopy for details on how to use this API operation.
7004//
7005// The context must be non-nil and will be used for request cancellation. If
7006// the context is nil a panic will occur. In the future the SDK may create
7007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7008// for more information on using Contexts.
7009func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
7010 req, out := c.UploadPartCopyRequest(input)
7011 req.SetContext(ctx)
7012 req.ApplyOptions(opts...)
7013 return out, req.Send()
7014}
7015
863486a6
AG
7016// Specifies the days since the initiation of an incomplete multipart upload
7017// that Amazon S3 will wait before permanently removing all parts of the upload.
7018// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
7019// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
7020// in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
7021type AbortIncompleteMultipartUpload struct {
7022 _ struct{} `type:"structure"`
7023
863486a6
AG
7024 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart
7025 // upload.
bae9f6d2
JC
7026 DaysAfterInitiation *int64 `type:"integer"`
7027}
7028
7029// String returns the string representation
7030func (s AbortIncompleteMultipartUpload) String() string {
7031 return awsutil.Prettify(s)
7032}
7033
7034// GoString returns the string representation
7035func (s AbortIncompleteMultipartUpload) GoString() string {
7036 return s.String()
7037}
7038
7039// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
7040func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload {
7041 s.DaysAfterInitiation = &v
7042 return s
7043}
7044
bae9f6d2
JC
7045type AbortMultipartUploadInput struct {
7046 _ struct{} `type:"structure"`
7047
863486a6
AG
7048 // Name of the bucket to which the multipart upload was initiated.
7049 //
bae9f6d2
JC
7050 // Bucket is a required field
7051 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7052
863486a6
AG
7053 // Key of the object for which the multipart upload was initiated.
7054 //
bae9f6d2
JC
7055 // Key is a required field
7056 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7057
7058 // Confirms that the requester knows that she or he will be charged for the
7059 // request. Bucket owners need not specify this parameter in their requests.
7060 // Documentation on downloading objects from requester pays buckets can be found
7061 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7062 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7063
863486a6
AG
7064 // Upload ID that identifies the multipart upload.
7065 //
bae9f6d2
JC
7066 // UploadId is a required field
7067 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7068}
7069
7070// String returns the string representation
7071func (s AbortMultipartUploadInput) String() string {
7072 return awsutil.Prettify(s)
7073}
7074
7075// GoString returns the string representation
7076func (s AbortMultipartUploadInput) GoString() string {
7077 return s.String()
7078}
7079
7080// Validate inspects the fields of the type to determine if they are valid.
7081func (s *AbortMultipartUploadInput) Validate() error {
7082 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"}
7083 if s.Bucket == nil {
7084 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7085 }
107c1cdb
ND
7086 if s.Bucket != nil && len(*s.Bucket) < 1 {
7087 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
7088 }
bae9f6d2
JC
7089 if s.Key == nil {
7090 invalidParams.Add(request.NewErrParamRequired("Key"))
7091 }
7092 if s.Key != nil && len(*s.Key) < 1 {
7093 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7094 }
7095 if s.UploadId == nil {
7096 invalidParams.Add(request.NewErrParamRequired("UploadId"))
7097 }
7098
7099 if invalidParams.Len() > 0 {
7100 return invalidParams
7101 }
7102 return nil
7103}
7104
7105// SetBucket sets the Bucket field's value.
7106func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput {
7107 s.Bucket = &v
7108 return s
7109}
7110
15c0b25d
AP
7111func (s *AbortMultipartUploadInput) getBucket() (v string) {
7112 if s.Bucket == nil {
7113 return v
7114 }
7115 return *s.Bucket
7116}
7117
bae9f6d2
JC
7118// SetKey sets the Key field's value.
7119func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
7120 s.Key = &v
7121 return s
7122}
7123
7124// SetRequestPayer sets the RequestPayer field's value.
7125func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput {
7126 s.RequestPayer = &v
7127 return s
7128}
7129
7130// SetUploadId sets the UploadId field's value.
7131func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput {
7132 s.UploadId = &v
7133 return s
7134}
7135
bae9f6d2
JC
7136type AbortMultipartUploadOutput struct {
7137 _ struct{} `type:"structure"`
7138
7139 // If present, indicates that the requester was successfully charged for the
7140 // request.
7141 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
7142}
7143
7144// String returns the string representation
7145func (s AbortMultipartUploadOutput) String() string {
7146 return awsutil.Prettify(s)
7147}
7148
7149// GoString returns the string representation
7150func (s AbortMultipartUploadOutput) GoString() string {
7151 return s.String()
7152}
7153
7154// SetRequestCharged sets the RequestCharged field's value.
7155func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput {
7156 s.RequestCharged = &v
7157 return s
7158}
7159
863486a6
AG
7160// Configures the transfer acceleration state for an Amazon S3 bucket. For more
7161// information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
7162// in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
7163type AccelerateConfiguration struct {
7164 _ struct{} `type:"structure"`
7165
863486a6 7166 // Specifies the transfer acceleration status of the bucket.
bae9f6d2
JC
7167 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7168}
7169
7170// String returns the string representation
7171func (s AccelerateConfiguration) String() string {
7172 return awsutil.Prettify(s)
7173}
7174
7175// GoString returns the string representation
7176func (s AccelerateConfiguration) GoString() string {
7177 return s.String()
7178}
7179
7180// SetStatus sets the Status field's value.
7181func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7182 s.Status = &v
7183 return s
7184}
7185
863486a6 7186// Contains the elements that set the ACL permissions for an object per grantee.
bae9f6d2
JC
7187type AccessControlPolicy struct {
7188 _ struct{} `type:"structure"`
7189
7190 // A list of grants.
7191 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7192
863486a6 7193 // Container for the bucket owner's display name and ID.
bae9f6d2
JC
7194 Owner *Owner `type:"structure"`
7195}
7196
7197// String returns the string representation
7198func (s AccessControlPolicy) String() string {
7199 return awsutil.Prettify(s)
7200}
7201
7202// GoString returns the string representation
7203func (s AccessControlPolicy) GoString() string {
7204 return s.String()
7205}
7206
7207// Validate inspects the fields of the type to determine if they are valid.
7208func (s *AccessControlPolicy) Validate() error {
7209 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"}
7210 if s.Grants != nil {
7211 for i, v := range s.Grants {
7212 if v == nil {
7213 continue
7214 }
7215 if err := v.Validate(); err != nil {
7216 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams))
7217 }
7218 }
7219 }
7220
7221 if invalidParams.Len() > 0 {
7222 return invalidParams
7223 }
7224 return nil
7225}
7226
7227// SetGrants sets the Grants field's value.
7228func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy {
7229 s.Grants = v
7230 return s
7231}
7232
7233// SetOwner sets the Owner field's value.
7234func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7235 s.Owner = v
7236 return s
7237}
7238
107c1cdb 7239// A container for information about access control for replicas.
15c0b25d
AP
7240type AccessControlTranslation struct {
7241 _ struct{} `type:"structure"`
7242
863486a6
AG
7243 // Specifies the replica ownership. For default and valid values, see PUT bucket
7244 // replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
7245 // in the Amazon Simple Storage Service API Reference.
15c0b25d
AP
7246 //
7247 // Owner is a required field
7248 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
7249}
7250
7251// String returns the string representation
7252func (s AccessControlTranslation) String() string {
7253 return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation
7257func (s AccessControlTranslation) GoString() string {
7258 return s.String()
7259}
7260
7261// Validate inspects the fields of the type to determine if they are valid.
7262func (s *AccessControlTranslation) Validate() error {
7263 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
7264 if s.Owner == nil {
7265 invalidParams.Add(request.NewErrParamRequired("Owner"))
7266 }
7267
7268 if invalidParams.Len() > 0 {
7269 return invalidParams
7270 }
7271 return nil
7272}
7273
7274// SetOwner sets the Owner field's value.
7275func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
7276 s.Owner = &v
7277 return s
7278}
7279
863486a6
AG
7280// A conjunction (logical AND) of predicates, which is used in evaluating a
7281// metrics filter. The operator must have at least two predicates in any combination,
7282// and an object must match all of the predicates for the filter to apply.
bae9f6d2
JC
7283type AnalyticsAndOperator struct {
7284 _ struct{} `type:"structure"`
7285
863486a6
AG
7286 // The prefix to use when evaluating an AND predicate: The prefix that an object
7287 // must have to be included in the metrics results.
bae9f6d2
JC
7288 Prefix *string `type:"string"`
7289
7290 // The list of tags to use when evaluating an AND predicate.
7291 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
7292}
7293
7294// String returns the string representation
7295func (s AnalyticsAndOperator) String() string {
7296 return awsutil.Prettify(s)
7297}
7298
7299// GoString returns the string representation
7300func (s AnalyticsAndOperator) GoString() string {
7301 return s.String()
7302}
7303
7304// Validate inspects the fields of the type to determine if they are valid.
7305func (s *AnalyticsAndOperator) Validate() error {
7306 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"}
7307 if s.Tags != nil {
7308 for i, v := range s.Tags {
7309 if v == nil {
7310 continue
7311 }
7312 if err := v.Validate(); err != nil {
7313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7314 }
7315 }
7316 }
7317
7318 if invalidParams.Len() > 0 {
7319 return invalidParams
7320 }
7321 return nil
7322}
7323
7324// SetPrefix sets the Prefix field's value.
7325func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator {
7326 s.Prefix = &v
7327 return s
7328}
7329
7330// SetTags sets the Tags field's value.
7331func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7332 s.Tags = v
7333 return s
7334}
7335
863486a6
AG
7336// Specifies the configuration and any analyses for the analytics filter of
7337// an Amazon S3 bucket.
7338//
7339// For more information, see GET Bucket analytics (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETAnalyticsConfig.html)
7340// in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
7341type AnalyticsConfiguration struct {
7342 _ struct{} `type:"structure"`
7343
7344 // The filter used to describe a set of objects for analyses. A filter must
7345 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
7346 // If no filter is provided, all objects will be considered in any analysis.
7347 Filter *AnalyticsFilter `type:"structure"`
7348
863486a6 7349 // The ID that identifies the analytics configuration.
bae9f6d2
JC
7350 //
7351 // Id is a required field
7352 Id *string `type:"string" required:"true"`
7353
863486a6
AG
7354 // Contains data related to access patterns to be collected and made available
7355 // to analyze the tradeoffs between different storage classes.
bae9f6d2
JC
7356 //
7357 // StorageClassAnalysis is a required field
7358 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
7359}
7360
7361// String returns the string representation
7362func (s AnalyticsConfiguration) String() string {
7363 return awsutil.Prettify(s)
7364}
7365
7366// GoString returns the string representation
7367func (s AnalyticsConfiguration) GoString() string {
7368 return s.String()
7369}
7370
7371// Validate inspects the fields of the type to determine if they are valid.
7372func (s *AnalyticsConfiguration) Validate() error {
7373 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"}
7374 if s.Id == nil {
7375 invalidParams.Add(request.NewErrParamRequired("Id"))
7376 }
7377 if s.StorageClassAnalysis == nil {
7378 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis"))
7379 }
7380 if s.Filter != nil {
7381 if err := s.Filter.Validate(); err != nil {
7382 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7383 }
7384 }
7385 if s.StorageClassAnalysis != nil {
7386 if err := s.StorageClassAnalysis.Validate(); err != nil {
7387 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams))
7388 }
7389 }
7390
7391 if invalidParams.Len() > 0 {
7392 return invalidParams
7393 }
7394 return nil
7395}
7396
7397// SetFilter sets the Filter field's value.
7398func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration {
7399 s.Filter = v
7400 return s
7401}
7402
7403// SetId sets the Id field's value.
7404func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration {
7405 s.Id = &v
7406 return s
7407}
7408
7409// SetStorageClassAnalysis sets the StorageClassAnalysis field's value.
7410func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration {
7411 s.StorageClassAnalysis = v
7412 return s
7413}
7414
863486a6 7415// Where to publish the analytics results.
bae9f6d2
JC
7416type AnalyticsExportDestination struct {
7417 _ struct{} `type:"structure"`
7418
7419 // A destination signifying output to an S3 bucket.
7420 //
7421 // S3BucketDestination is a required field
7422 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"`
7423}
7424
7425// String returns the string representation
7426func (s AnalyticsExportDestination) String() string {
7427 return awsutil.Prettify(s)
7428}
7429
7430// GoString returns the string representation
7431func (s AnalyticsExportDestination) GoString() string {
7432 return s.String()
7433}
7434
7435// Validate inspects the fields of the type to determine if they are valid.
7436func (s *AnalyticsExportDestination) Validate() error {
7437 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"}
7438 if s.S3BucketDestination == nil {
7439 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
7440 }
7441 if s.S3BucketDestination != nil {
7442 if err := s.S3BucketDestination.Validate(); err != nil {
7443 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
7444 }
7445 }
7446
7447 if invalidParams.Len() > 0 {
7448 return invalidParams
7449 }
7450 return nil
7451}
7452
7453// SetS3BucketDestination sets the S3BucketDestination field's value.
7454func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination {
7455 s.S3BucketDestination = v
7456 return s
7457}
7458
bae9f6d2
JC
7459type AnalyticsFilter struct {
7460 _ struct{} `type:"structure"`
7461
7462 // A conjunction (logical AND) of predicates, which is used in evaluating an
7463 // analytics filter. The operator must have at least two predicates.
7464 And *AnalyticsAndOperator `type:"structure"`
7465
7466 // The prefix to use when evaluating an analytics filter.
7467 Prefix *string `type:"string"`
7468
7469 // The tag to use when evaluating an analytics filter.
7470 Tag *Tag `type:"structure"`
7471}
7472
7473// String returns the string representation
7474func (s AnalyticsFilter) String() string {
7475 return awsutil.Prettify(s)
7476}
7477
7478// GoString returns the string representation
7479func (s AnalyticsFilter) GoString() string {
7480 return s.String()
7481}
7482
7483// Validate inspects the fields of the type to determine if they are valid.
7484func (s *AnalyticsFilter) Validate() error {
7485 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"}
7486 if s.And != nil {
7487 if err := s.And.Validate(); err != nil {
7488 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
7489 }
7490 }
7491 if s.Tag != nil {
7492 if err := s.Tag.Validate(); err != nil {
7493 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
7494 }
7495 }
7496
7497 if invalidParams.Len() > 0 {
7498 return invalidParams
7499 }
7500 return nil
7501}
7502
7503// SetAnd sets the And field's value.
7504func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter {
7505 s.And = v
7506 return s
7507}
7508
7509// SetPrefix sets the Prefix field's value.
7510func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter {
7511 s.Prefix = &v
7512 return s
7513}
7514
7515// SetTag sets the Tag field's value.
7516func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7517 s.Tag = v
7518 return s
7519}
7520
bae9f6d2
JC
7521type AnalyticsS3BucketDestination struct {
7522 _ struct{} `type:"structure"`
7523
863486a6 7524 // The Amazon Resource Name (ARN) of the bucket to which data is exported.
bae9f6d2
JC
7525 //
7526 // Bucket is a required field
7527 Bucket *string `type:"string" required:"true"`
7528
7529 // The account ID that owns the destination bucket. If no account ID is provided,
7530 // the owner will not be validated prior to exporting data.
7531 BucketAccountId *string `type:"string"`
7532
863486a6 7533 // Specifies the file format used when exporting data to Amazon S3.
bae9f6d2
JC
7534 //
7535 // Format is a required field
7536 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7537
863486a6 7538 // The prefix to use when exporting data. The prefix is prepended to all results.
bae9f6d2
JC
7539 Prefix *string `type:"string"`
7540}
7541
7542// String returns the string representation
7543func (s AnalyticsS3BucketDestination) String() string {
7544 return awsutil.Prettify(s)
7545}
7546
7547// GoString returns the string representation
7548func (s AnalyticsS3BucketDestination) GoString() string {
7549 return s.String()
7550}
7551
7552// Validate inspects the fields of the type to determine if they are valid.
7553func (s *AnalyticsS3BucketDestination) Validate() error {
7554 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"}
7555 if s.Bucket == nil {
7556 invalidParams.Add(request.NewErrParamRequired("Bucket"))
7557 }
7558 if s.Format == nil {
7559 invalidParams.Add(request.NewErrParamRequired("Format"))
7560 }
7561
7562 if invalidParams.Len() > 0 {
7563 return invalidParams
7564 }
7565 return nil
7566}
7567
7568// SetBucket sets the Bucket field's value.
7569func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination {
7570 s.Bucket = &v
7571 return s
7572}
7573
15c0b25d
AP
7574func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
7575 if s.Bucket == nil {
7576 return v
7577 }
7578 return *s.Bucket
7579}
7580
bae9f6d2
JC
7581// SetBucketAccountId sets the BucketAccountId field's value.
7582func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
7583 s.BucketAccountId = &v
7584 return s
7585}
7586
7587// SetFormat sets the Format field's value.
7588func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination {
7589 s.Format = &v
7590 return s
7591}
7592
7593// SetPrefix sets the Prefix field's value.
7594func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination {
7595 s.Prefix = &v
7596 return s
7597}
7598
bae9f6d2
JC
7599type Bucket struct {
7600 _ struct{} `type:"structure"`
7601
7602 // Date the bucket was created.
15c0b25d 7603 CreationDate *time.Time `type:"timestamp"`
bae9f6d2
JC
7604
7605 // The name of the bucket.
7606 Name *string `type:"string"`
7607}
7608
7609// String returns the string representation
7610func (s Bucket) String() string {
7611 return awsutil.Prettify(s)
7612}
7613
7614// GoString returns the string representation
7615func (s Bucket) GoString() string {
7616 return s.String()
7617}
7618
7619// SetCreationDate sets the CreationDate field's value.
7620func (s *Bucket) SetCreationDate(v time.Time) *Bucket {
7621 s.CreationDate = &v
7622 return s
7623}
7624
7625// SetName sets the Name field's value.
7626func (s *Bucket) SetName(v string) *Bucket {
7627 s.Name = &v
7628 return s
7629}
7630
863486a6
AG
7631// Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
7632// For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
7633// in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
7634type BucketLifecycleConfiguration struct {
7635 _ struct{} `type:"structure"`
7636
863486a6
AG
7637 // A lifecycle rule for individual objects in an Amazon S3 bucket.
7638 //
bae9f6d2
JC
7639 // Rules is a required field
7640 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7641}
7642
7643// String returns the string representation
7644func (s BucketLifecycleConfiguration) String() string {
7645 return awsutil.Prettify(s)
7646}
7647
7648// GoString returns the string representation
7649func (s BucketLifecycleConfiguration) GoString() string {
7650 return s.String()
7651}
7652
7653// Validate inspects the fields of the type to determine if they are valid.
7654func (s *BucketLifecycleConfiguration) Validate() error {
7655 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"}
7656 if s.Rules == nil {
7657 invalidParams.Add(request.NewErrParamRequired("Rules"))
7658 }
7659 if s.Rules != nil {
7660 for i, v := range s.Rules {
7661 if v == nil {
7662 continue
7663 }
7664 if err := v.Validate(); err != nil {
7665 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
7666 }
7667 }
7668 }
7669
7670 if invalidParams.Len() > 0 {
7671 return invalidParams
7672 }
7673 return nil
7674}
7675
7676// SetRules sets the Rules field's value.
7677func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration {
7678 s.Rules = v
7679 return s
7680}
7681
bae9f6d2
JC
7682type BucketLoggingStatus struct {
7683 _ struct{} `type:"structure"`
7684
863486a6
AG
7685 // Describes where logs are stored and the prefix that Amazon S3 assigns to
7686 // all log object keys for a bucket. For more information, see PUT Bucket logging
7687 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
7688 // in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
7689 LoggingEnabled *LoggingEnabled `type:"structure"`
7690}
7691
7692// String returns the string representation
7693func (s BucketLoggingStatus) String() string {
7694 return awsutil.Prettify(s)
7695}
7696
7697// GoString returns the string representation
7698func (s BucketLoggingStatus) GoString() string {
7699 return s.String()
7700}
7701
7702// Validate inspects the fields of the type to determine if they are valid.
7703func (s *BucketLoggingStatus) Validate() error {
7704 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"}
7705 if s.LoggingEnabled != nil {
7706 if err := s.LoggingEnabled.Validate(); err != nil {
7707 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams))
7708 }
7709 }
7710
7711 if invalidParams.Len() > 0 {
7712 return invalidParams
7713 }
7714 return nil
7715}
7716
7717// SetLoggingEnabled sets the LoggingEnabled field's value.
7718func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus {
7719 s.LoggingEnabled = v
7720 return s
7721}
7722
863486a6
AG
7723// Describes the cross-origin access configuration for objects in an Amazon
7724// S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
7725// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
7726// Simple Storage Service Developer Guide.
bae9f6d2
JC
7727type CORSConfiguration struct {
7728 _ struct{} `type:"structure"`
7729
863486a6
AG
7730 // A set of allowed origins and methods.
7731 //
bae9f6d2
JC
7732 // CORSRules is a required field
7733 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7734}
7735
7736// String returns the string representation
7737func (s CORSConfiguration) String() string {
7738 return awsutil.Prettify(s)
7739}
7740
7741// GoString returns the string representation
7742func (s CORSConfiguration) GoString() string {
7743 return s.String()
7744}
7745
7746// Validate inspects the fields of the type to determine if they are valid.
7747func (s *CORSConfiguration) Validate() error {
7748 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"}
7749 if s.CORSRules == nil {
7750 invalidParams.Add(request.NewErrParamRequired("CORSRules"))
7751 }
7752 if s.CORSRules != nil {
7753 for i, v := range s.CORSRules {
7754 if v == nil {
7755 continue
7756 }
7757 if err := v.Validate(); err != nil {
7758 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams))
7759 }
7760 }
7761 }
7762
7763 if invalidParams.Len() > 0 {
7764 return invalidParams
7765 }
7766 return nil
7767}
7768
7769// SetCORSRules sets the CORSRules field's value.
7770func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7771 s.CORSRules = v
7772 return s
7773}
7774
863486a6 7775// Specifies a cross-origin access rule for an Amazon S3 bucket.
bae9f6d2
JC
7776type CORSRule struct {
7777 _ struct{} `type:"structure"`
7778
863486a6
AG
7779 // Headers that are specified in the Access-Control-Request-Headers header.
7780 // These headers are allowed in a preflight OPTIONS request. In response to
7781 // any preflight OPTIONS request, Amazon S3 returns any requested headers that
7782 // are allowed.
bae9f6d2
JC
7783 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7784
863486a6
AG
7785 // An HTTP method that you allow the origin to execute. Valid values are GET,
7786 // PUT, HEAD, POST, and DELETE.
bae9f6d2
JC
7787 //
7788 // AllowedMethods is a required field
7789 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
7790
7791 // One or more origins you want customers to be able to access the bucket from.
7792 //
7793 // AllowedOrigins is a required field
7794 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"`
7795
7796 // One or more headers in the response that you want customers to be able to
7797 // access from their applications (for example, from a JavaScript XMLHttpRequest
7798 // object).
7799 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"`
7800
7801 // The time in seconds that your browser is to cache the preflight response
7802 // for the specified resource.
7803 MaxAgeSeconds *int64 `type:"integer"`
7804}
7805
7806// String returns the string representation
7807func (s CORSRule) String() string {
7808 return awsutil.Prettify(s)
7809}
7810
7811// GoString returns the string representation
7812func (s CORSRule) GoString() string {
7813 return s.String()
7814}
7815
7816// Validate inspects the fields of the type to determine if they are valid.
7817func (s *CORSRule) Validate() error {
7818 invalidParams := request.ErrInvalidParams{Context: "CORSRule"}
7819 if s.AllowedMethods == nil {
7820 invalidParams.Add(request.NewErrParamRequired("AllowedMethods"))
7821 }
7822 if s.AllowedOrigins == nil {
7823 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins"))
7824 }
7825
7826 if invalidParams.Len() > 0 {
7827 return invalidParams
7828 }
7829 return nil
7830}
7831
7832// SetAllowedHeaders sets the AllowedHeaders field's value.
7833func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule {
7834 s.AllowedHeaders = v
7835 return s
7836}
7837
7838// SetAllowedMethods sets the AllowedMethods field's value.
7839func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule {
7840 s.AllowedMethods = v
7841 return s
7842}
7843
7844// SetAllowedOrigins sets the AllowedOrigins field's value.
7845func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule {
7846 s.AllowedOrigins = v
7847 return s
7848}
7849
7850// SetExposeHeaders sets the ExposeHeaders field's value.
7851func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule {
7852 s.ExposeHeaders = v
7853 return s
7854}
7855
7856// SetMaxAgeSeconds sets the MaxAgeSeconds field's value.
7857func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
7858 s.MaxAgeSeconds = &v
7859 return s
7860}
7861
15c0b25d
AP
7862// Describes how a CSV-formatted input object is formatted.
7863type CSVInput struct {
7864 _ struct{} `type:"structure"`
7865
7866 // Specifies that CSV field values may contain quoted record delimiters and
7867 // such records should be allowed. Default value is FALSE. Setting this value
7868 // to TRUE may lower performance.
7869 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7870
107c1cdb
ND
7871 // The single character used to indicate a row should be ignored when present
7872 // at the start of a row.
15c0b25d
AP
7873 Comments *string `type:"string"`
7874
107c1cdb 7875 // The value used to separate individual fields in a record.
15c0b25d
AP
7876 FieldDelimiter *string `type:"string"`
7877
7878 // Describes the first line of input. Valid values: None, Ignore, Use.
7879 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7880
7881 // Value used for escaping where the field delimiter is part of the value.
7882 QuoteCharacter *string `type:"string"`
7883
107c1cdb 7884 // The single character used for escaping the quote character inside an already
15c0b25d
AP
7885 // escaped value.
7886 QuoteEscapeCharacter *string `type:"string"`
7887
107c1cdb 7888 // The value used to separate individual records.
15c0b25d
AP
7889 RecordDelimiter *string `type:"string"`
7890}
7891
7892// String returns the string representation
7893func (s CSVInput) String() string {
7894 return awsutil.Prettify(s)
7895}
7896
7897// GoString returns the string representation
7898func (s CSVInput) GoString() string {
7899 return s.String()
7900}
7901
7902// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7903func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7904 s.AllowQuotedRecordDelimiter = &v
7905 return s
7906}
7907
7908// SetComments sets the Comments field's value.
7909func (s *CSVInput) SetComments(v string) *CSVInput {
7910 s.Comments = &v
7911 return s
7912}
7913
7914// SetFieldDelimiter sets the FieldDelimiter field's value.
7915func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7916 s.FieldDelimiter = &v
7917 return s
7918}
7919
7920// SetFileHeaderInfo sets the FileHeaderInfo field's value.
7921func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7922 s.FileHeaderInfo = &v
7923 return s
7924}
7925
7926// SetQuoteCharacter sets the QuoteCharacter field's value.
7927func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7928 s.QuoteCharacter = &v
7929 return s
7930}
7931
7932// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7933func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7934 s.QuoteEscapeCharacter = &v
7935 return s
7936}
7937
7938// SetRecordDelimiter sets the RecordDelimiter field's value.
7939func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7940 s.RecordDelimiter = &v
7941 return s
7942}
7943
7944// Describes how CSV-formatted results are formatted.
7945type CSVOutput struct {
7946 _ struct{} `type:"structure"`
7947
107c1cdb 7948 // The value used to separate individual fields in a record.
15c0b25d
AP
7949 FieldDelimiter *string `type:"string"`
7950
107c1cdb 7951 // The value used for escaping where the field delimiter is part of the value.
15c0b25d
AP
7952 QuoteCharacter *string `type:"string"`
7953
107c1cdb 7954 // Th single character used for escaping the quote character inside an already
15c0b25d
AP
7955 // escaped value.
7956 QuoteEscapeCharacter *string `type:"string"`
7957
7958 // Indicates whether or not all output fields should be quoted.
7959 QuoteFields *string `type:"string" enum:"QuoteFields"`
7960
107c1cdb 7961 // The value used to separate individual records.
15c0b25d
AP
7962 RecordDelimiter *string `type:"string"`
7963}
7964
7965// String returns the string representation
7966func (s CSVOutput) String() string {
7967 return awsutil.Prettify(s)
7968}
7969
7970// GoString returns the string representation
7971func (s CSVOutput) GoString() string {
7972 return s.String()
7973}
7974
7975// SetFieldDelimiter sets the FieldDelimiter field's value.
7976func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7977 s.FieldDelimiter = &v
7978 return s
7979}
7980
7981// SetQuoteCharacter sets the QuoteCharacter field's value.
7982func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7983 s.QuoteCharacter = &v
7984 return s
7985}
7986
7987// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7988func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7989 s.QuoteEscapeCharacter = &v
7990 return s
7991}
7992
7993// SetQuoteFields sets the QuoteFields field's value.
7994func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7995 s.QuoteFields = &v
7996 return s
7997}
7998
7999// SetRecordDelimiter sets the RecordDelimiter field's value.
8000func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
8001 s.RecordDelimiter = &v
8002 return s
8003}
8004
bae9f6d2
JC
8005type CloudFunctionConfiguration struct {
8006 _ struct{} `type:"structure"`
8007
8008 CloudFunction *string `type:"string"`
8009
107c1cdb
ND
8010 // The bucket event for which to send notifications.
8011 //
8012 // Deprecated: Event has been deprecated
bae9f6d2
JC
8013 Event *string `deprecated:"true" type:"string" enum:"Event"`
8014
8015 Events []*string `locationName:"Event" type:"list" flattened:"true"`
8016
107c1cdb 8017 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
8018 // If you don't provide one, Amazon S3 will assign an ID.
8019 Id *string `type:"string"`
8020
8021 InvocationRole *string `type:"string"`
8022}
8023
8024// String returns the string representation
8025func (s CloudFunctionConfiguration) String() string {
8026 return awsutil.Prettify(s)
8027}
8028
8029// GoString returns the string representation
8030func (s CloudFunctionConfiguration) GoString() string {
8031 return s.String()
8032}
8033
8034// SetCloudFunction sets the CloudFunction field's value.
8035func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration {
8036 s.CloudFunction = &v
8037 return s
8038}
8039
8040// SetEvent sets the Event field's value.
8041func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration {
8042 s.Event = &v
8043 return s
8044}
8045
8046// SetEvents sets the Events field's value.
8047func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration {
8048 s.Events = v
8049 return s
8050}
8051
8052// SetId sets the Id field's value.
8053func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration {
8054 s.Id = &v
8055 return s
8056}
8057
8058// SetInvocationRole sets the InvocationRole field's value.
8059func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration {
8060 s.InvocationRole = &v
8061 return s
8062}
8063
bae9f6d2
JC
8064type CommonPrefix struct {
8065 _ struct{} `type:"structure"`
8066
8067 Prefix *string `type:"string"`
8068}
8069
8070// String returns the string representation
8071func (s CommonPrefix) String() string {
8072 return awsutil.Prettify(s)
8073}
8074
8075// GoString returns the string representation
8076func (s CommonPrefix) GoString() string {
8077 return s.String()
8078}
8079
8080// SetPrefix sets the Prefix field's value.
8081func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
8082 s.Prefix = &v
8083 return s
8084}
8085
bae9f6d2
JC
8086type CompleteMultipartUploadInput struct {
8087 _ struct{} `type:"structure" payload:"MultipartUpload"`
8088
8089 // Bucket is a required field
8090 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8091
8092 // Key is a required field
8093 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8094
15c0b25d 8095 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
8096
8097 // Confirms that the requester knows that she or he will be charged for the
8098 // request. Bucket owners need not specify this parameter in their requests.
8099 // Documentation on downloading objects from requester pays buckets can be found
8100 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8101 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8102
8103 // UploadId is a required field
8104 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
8105}
8106
8107// String returns the string representation
8108func (s CompleteMultipartUploadInput) String() string {
8109 return awsutil.Prettify(s)
8110}
8111
8112// GoString returns the string representation
8113func (s CompleteMultipartUploadInput) GoString() string {
8114 return s.String()
8115}
8116
8117// Validate inspects the fields of the type to determine if they are valid.
8118func (s *CompleteMultipartUploadInput) Validate() error {
8119 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"}
8120 if s.Bucket == nil {
8121 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8122 }
107c1cdb
ND
8123 if s.Bucket != nil && len(*s.Bucket) < 1 {
8124 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8125 }
bae9f6d2
JC
8126 if s.Key == nil {
8127 invalidParams.Add(request.NewErrParamRequired("Key"))
8128 }
8129 if s.Key != nil && len(*s.Key) < 1 {
8130 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8131 }
8132 if s.UploadId == nil {
8133 invalidParams.Add(request.NewErrParamRequired("UploadId"))
8134 }
8135
8136 if invalidParams.Len() > 0 {
8137 return invalidParams
8138 }
8139 return nil
8140}
8141
8142// SetBucket sets the Bucket field's value.
8143func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput {
8144 s.Bucket = &v
8145 return s
8146}
8147
15c0b25d
AP
8148func (s *CompleteMultipartUploadInput) getBucket() (v string) {
8149 if s.Bucket == nil {
8150 return v
8151 }
8152 return *s.Bucket
8153}
8154
bae9f6d2
JC
8155// SetKey sets the Key field's value.
8156func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
8157 s.Key = &v
8158 return s
8159}
8160
8161// SetMultipartUpload sets the MultipartUpload field's value.
8162func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput {
8163 s.MultipartUpload = v
8164 return s
8165}
8166
8167// SetRequestPayer sets the RequestPayer field's value.
8168func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput {
8169 s.RequestPayer = &v
8170 return s
8171}
8172
8173// SetUploadId sets the UploadId field's value.
8174func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
8175 s.UploadId = &v
8176 return s
8177}
8178
bae9f6d2
JC
8179type CompleteMultipartUploadOutput struct {
8180 _ struct{} `type:"structure"`
8181
8182 Bucket *string `type:"string"`
8183
8184 // Entity tag of the object.
8185 ETag *string `type:"string"`
8186
8187 // If the object expiration is configured, this will contain the expiration
8188 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
8189 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8190
8191 Key *string `min:"1" type:"string"`
8192
8193 Location *string `type:"string"`
8194
8195 // If present, indicates that the requester was successfully charged for the
8196 // request.
8197 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8198
8199 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8200 // encryption key that was used for the object.
107c1cdb 8201 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8202
8203 // The Server-side encryption algorithm used when storing this object in S3
8204 // (e.g., AES256, aws:kms).
8205 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8206
8207 // Version of the object.
8208 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8209}
8210
8211// String returns the string representation
8212func (s CompleteMultipartUploadOutput) String() string {
8213 return awsutil.Prettify(s)
8214}
8215
8216// GoString returns the string representation
8217func (s CompleteMultipartUploadOutput) GoString() string {
8218 return s.String()
8219}
8220
8221// SetBucket sets the Bucket field's value.
8222func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput {
8223 s.Bucket = &v
8224 return s
8225}
8226
15c0b25d
AP
8227func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
8228 if s.Bucket == nil {
8229 return v
8230 }
8231 return *s.Bucket
8232}
8233
bae9f6d2
JC
8234// SetETag sets the ETag field's value.
8235func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
8236 s.ETag = &v
8237 return s
8238}
8239
8240// SetExpiration sets the Expiration field's value.
8241func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput {
8242 s.Expiration = &v
8243 return s
8244}
8245
8246// SetKey sets the Key field's value.
8247func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput {
8248 s.Key = &v
8249 return s
8250}
8251
8252// SetLocation sets the Location field's value.
8253func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput {
8254 s.Location = &v
8255 return s
8256}
8257
8258// SetRequestCharged sets the RequestCharged field's value.
8259func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput {
8260 s.RequestCharged = &v
8261 return s
8262}
8263
8264// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8265func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput {
8266 s.SSEKMSKeyId = &v
8267 return s
8268}
8269
8270// SetServerSideEncryption sets the ServerSideEncryption field's value.
8271func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput {
8272 s.ServerSideEncryption = &v
8273 return s
8274}
8275
8276// SetVersionId sets the VersionId field's value.
8277func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput {
8278 s.VersionId = &v
8279 return s
8280}
8281
bae9f6d2
JC
8282type CompletedMultipartUpload struct {
8283 _ struct{} `type:"structure"`
8284
8285 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
8286}
8287
8288// String returns the string representation
8289func (s CompletedMultipartUpload) String() string {
8290 return awsutil.Prettify(s)
8291}
8292
8293// GoString returns the string representation
8294func (s CompletedMultipartUpload) GoString() string {
8295 return s.String()
8296}
8297
8298// SetParts sets the Parts field's value.
8299func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload {
8300 s.Parts = v
8301 return s
8302}
8303
bae9f6d2
JC
8304type CompletedPart struct {
8305 _ struct{} `type:"structure"`
8306
8307 // Entity tag returned when the part was uploaded.
8308 ETag *string `type:"string"`
8309
8310 // Part number that identifies the part. This is a positive integer between
8311 // 1 and 10,000.
8312 PartNumber *int64 `type:"integer"`
8313}
8314
8315// String returns the string representation
8316func (s CompletedPart) String() string {
8317 return awsutil.Prettify(s)
8318}
8319
8320// GoString returns the string representation
8321func (s CompletedPart) GoString() string {
8322 return s.String()
8323}
8324
8325// SetETag sets the ETag field's value.
8326func (s *CompletedPart) SetETag(v string) *CompletedPart {
8327 s.ETag = &v
8328 return s
8329}
8330
8331// SetPartNumber sets the PartNumber field's value.
8332func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8333 s.PartNumber = &v
8334 return s
8335}
8336
863486a6 8337// Specifies a condition that must be met for a redirect to apply.
bae9f6d2
JC
8338type Condition struct {
8339 _ struct{} `type:"structure"`
8340
8341 // The HTTP error code when the redirect is applied. In the event of an error,
8342 // if the error code equals this value, then the specified redirect is applied.
8343 // Required when parent element Condition is specified and sibling KeyPrefixEquals
8344 // is not specified. If both are specified, then both must be true for the redirect
8345 // to be applied.
8346 HttpErrorCodeReturnedEquals *string `type:"string"`
8347
8348 // The object key name prefix when the redirect is applied. For example, to
8349 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
8350 // To redirect request for all pages with the prefix docs/, the key prefix will
8351 // be /docs, which identifies all objects in the docs/ folder. Required when
8352 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
8353 // is not specified. If both conditions are specified, both must be true for
8354 // the redirect to be applied.
8355 KeyPrefixEquals *string `type:"string"`
8356}
8357
8358// String returns the string representation
8359func (s Condition) String() string {
8360 return awsutil.Prettify(s)
8361}
8362
8363// GoString returns the string representation
8364func (s Condition) GoString() string {
8365 return s.String()
8366}
8367
8368// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
8369func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition {
8370 s.HttpErrorCodeReturnedEquals = &v
8371 return s
8372}
8373
8374// SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
8375func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
8376 s.KeyPrefixEquals = &v
8377 return s
8378}
8379
15c0b25d
AP
8380type ContinuationEvent struct {
8381 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
8382}
8383
8384// String returns the string representation
8385func (s ContinuationEvent) String() string {
8386 return awsutil.Prettify(s)
8387}
8388
8389// GoString returns the string representation
8390func (s ContinuationEvent) GoString() string {
8391 return s.String()
8392}
8393
8394// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
8395func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
8396
8397// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
8398// This method is only used internally within the SDK's EventStream handling.
8399func (s *ContinuationEvent) UnmarshalEvent(
8400 payloadUnmarshaler protocol.PayloadUnmarshaler,
8401 msg eventstream.Message,
8402) error {
8403 return nil
8404}
8405
bae9f6d2
JC
8406type CopyObjectInput struct {
8407 _ struct{} `type:"structure"`
8408
8409 // The canned ACL to apply to the object.
8410 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
8411
8412 // Bucket is a required field
8413 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8414
8415 // Specifies caching behavior along the request/reply chain.
8416 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
8417
8418 // Specifies presentational information for the object.
8419 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
8420
8421 // Specifies what content encodings have been applied to the object and thus
8422 // what decoding mechanisms must be applied to obtain the media-type referenced
8423 // by the Content-Type header field.
8424 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
8425
8426 // The language the content is in.
8427 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
8428
8429 // A standard MIME type describing the format of the object data.
8430 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
8431
8432 // The name of the source bucket and key name of the source object, separated
8433 // by a slash (/). Must be URL-encoded.
8434 //
8435 // CopySource is a required field
8436 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
8437
8438 // Copies the object if its entity tag (ETag) matches the specified tag.
8439 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
8440
8441 // Copies the object if it has been modified since the specified time.
15c0b25d 8442 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
bae9f6d2
JC
8443
8444 // Copies the object if its entity tag (ETag) is different than the specified
8445 // ETag.
8446 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
8447
8448 // Copies the object if it hasn't been modified since the specified time.
15c0b25d 8449 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
bae9f6d2
JC
8450
8451 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
8452 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
8453
8454 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
8455 // the source object. The encryption key provided in this header must be one
8456 // that was used when the source object was created.
863486a6 8457 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
8458
8459 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8460 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8461 // key was transmitted without error.
8462 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
8463
8464 // The date and time at which the object is no longer cacheable.
15c0b25d 8465 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
8466
8467 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
8468 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
8469
8470 // Allows grantee to read the object data and its metadata.
8471 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
8472
8473 // Allows grantee to read the object ACL.
8474 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
8475
8476 // Allows grantee to write the ACL for the applicable object.
8477 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8478
8479 // Key is a required field
8480 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
8481
8482 // A map of metadata to store with the object in S3.
8483 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
8484
8485 // Specifies whether the metadata is copied from the source object or replaced
8486 // with metadata provided in the request.
8487 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
8488
107c1cdb
ND
8489 // Specifies whether you want to apply a Legal Hold to the copied object.
8490 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
8491
863486a6 8492 // The object lock mode that you want to apply to the copied object.
107c1cdb
ND
8493 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
8494
863486a6 8495 // The date and time when you want the copied object's object lock to expire.
107c1cdb
ND
8496 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
8497
bae9f6d2
JC
8498 // Confirms that the requester knows that she or he will be charged for the
8499 // request. Bucket owners need not specify this parameter in their requests.
8500 // Documentation on downloading objects from requester pays buckets can be found
8501 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8502 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
8503
8504 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
8505 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8506
8507 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
8508 // data. This value is used to store the object and then it is discarded; Amazon
8509 // does not store the encryption key. The key must be appropriate for use with
8510 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8511 // header.
863486a6 8512 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
8513
8514 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8515 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8516 // key was transmitted without error.
8517 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8518
863486a6
AG
8519 // Specifies the AWS KMS Encryption Context to use for object encryption. The
8520 // value of this header is a base64-encoded UTF-8 string holding JSON with the
8521 // encryption context key-value pairs.
8522 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8523
bae9f6d2
JC
8524 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8525 // requests for an object protected by AWS KMS will fail if not made via SSL
8526 // or using SigV4. Documentation on configuring any of the officially supported
8527 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 8528 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8529
8530 // The Server-side encryption algorithm used when storing this object in S3
8531 // (e.g., AES256, aws:kms).
8532 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8533
8534 // The type of storage to use for the object. Defaults to 'STANDARD'.
8535 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
8536
8537 // The tag-set for the object destination object this value must be used in
8538 // conjunction with the TaggingDirective. The tag-set must be encoded as URL
8539 // Query parameters
8540 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8541
8542 // Specifies whether the object tag-set are copied from the source object or
8543 // replaced with tag-set provided in the request.
8544 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"`
8545
8546 // If the bucket is configured as a website, redirects requests for this object
8547 // to another object in the same bucket or to an external URL. Amazon S3 stores
8548 // the value of this header in the object metadata.
8549 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
8550}
8551
8552// String returns the string representation
8553func (s CopyObjectInput) String() string {
8554 return awsutil.Prettify(s)
8555}
8556
8557// GoString returns the string representation
8558func (s CopyObjectInput) GoString() string {
8559 return s.String()
8560}
8561
8562// Validate inspects the fields of the type to determine if they are valid.
8563func (s *CopyObjectInput) Validate() error {
8564 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"}
8565 if s.Bucket == nil {
8566 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8567 }
107c1cdb
ND
8568 if s.Bucket != nil && len(*s.Bucket) < 1 {
8569 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8570 }
bae9f6d2
JC
8571 if s.CopySource == nil {
8572 invalidParams.Add(request.NewErrParamRequired("CopySource"))
8573 }
8574 if s.Key == nil {
8575 invalidParams.Add(request.NewErrParamRequired("Key"))
8576 }
8577 if s.Key != nil && len(*s.Key) < 1 {
8578 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8579 }
8580
8581 if invalidParams.Len() > 0 {
8582 return invalidParams
8583 }
8584 return nil
8585}
8586
8587// SetACL sets the ACL field's value.
8588func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput {
8589 s.ACL = &v
8590 return s
8591}
8592
8593// SetBucket sets the Bucket field's value.
8594func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
8595 s.Bucket = &v
8596 return s
8597}
8598
15c0b25d
AP
8599func (s *CopyObjectInput) getBucket() (v string) {
8600 if s.Bucket == nil {
8601 return v
8602 }
8603 return *s.Bucket
8604}
8605
bae9f6d2
JC
8606// SetCacheControl sets the CacheControl field's value.
8607func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
8608 s.CacheControl = &v
8609 return s
8610}
8611
8612// SetContentDisposition sets the ContentDisposition field's value.
8613func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
8614 s.ContentDisposition = &v
8615 return s
8616}
8617
8618// SetContentEncoding sets the ContentEncoding field's value.
8619func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput {
8620 s.ContentEncoding = &v
8621 return s
8622}
8623
8624// SetContentLanguage sets the ContentLanguage field's value.
8625func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput {
8626 s.ContentLanguage = &v
8627 return s
8628}
8629
8630// SetContentType sets the ContentType field's value.
8631func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput {
8632 s.ContentType = &v
8633 return s
8634}
8635
8636// SetCopySource sets the CopySource field's value.
8637func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput {
8638 s.CopySource = &v
8639 return s
8640}
8641
8642// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
8643func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput {
8644 s.CopySourceIfMatch = &v
8645 return s
8646}
8647
8648// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
8649func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput {
8650 s.CopySourceIfModifiedSince = &v
8651 return s
8652}
8653
8654// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
8655func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput {
8656 s.CopySourceIfNoneMatch = &v
8657 return s
8658}
8659
8660// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
8661func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput {
8662 s.CopySourceIfUnmodifiedSince = &v
8663 return s
8664}
8665
8666// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
8667func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput {
8668 s.CopySourceSSECustomerAlgorithm = &v
8669 return s
8670}
8671
8672// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
8673func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput {
8674 s.CopySourceSSECustomerKey = &v
8675 return s
8676}
8677
15c0b25d
AP
8678func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
8679 if s.CopySourceSSECustomerKey == nil {
8680 return v
8681 }
8682 return *s.CopySourceSSECustomerKey
8683}
8684
bae9f6d2
JC
8685// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
8686func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
8687 s.CopySourceSSECustomerKeyMD5 = &v
8688 return s
8689}
8690
8691// SetExpires sets the Expires field's value.
8692func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput {
8693 s.Expires = &v
8694 return s
8695}
8696
8697// SetGrantFullControl sets the GrantFullControl field's value.
8698func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput {
8699 s.GrantFullControl = &v
8700 return s
8701}
8702
8703// SetGrantRead sets the GrantRead field's value.
8704func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput {
8705 s.GrantRead = &v
8706 return s
8707}
8708
8709// SetGrantReadACP sets the GrantReadACP field's value.
8710func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput {
8711 s.GrantReadACP = &v
8712 return s
8713}
8714
8715// SetGrantWriteACP sets the GrantWriteACP field's value.
8716func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput {
8717 s.GrantWriteACP = &v
8718 return s
8719}
8720
8721// SetKey sets the Key field's value.
8722func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput {
8723 s.Key = &v
8724 return s
8725}
8726
8727// SetMetadata sets the Metadata field's value.
8728func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput {
8729 s.Metadata = v
8730 return s
8731}
8732
8733// SetMetadataDirective sets the MetadataDirective field's value.
8734func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput {
8735 s.MetadataDirective = &v
8736 return s
8737}
8738
107c1cdb
ND
8739// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
8740func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput {
8741 s.ObjectLockLegalHoldStatus = &v
8742 return s
8743}
8744
8745// SetObjectLockMode sets the ObjectLockMode field's value.
8746func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput {
8747 s.ObjectLockMode = &v
8748 return s
8749}
8750
8751// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
8752func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput {
8753 s.ObjectLockRetainUntilDate = &v
8754 return s
8755}
8756
bae9f6d2
JC
8757// SetRequestPayer sets the RequestPayer field's value.
8758func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput {
8759 s.RequestPayer = &v
8760 return s
8761}
8762
8763// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8764func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput {
8765 s.SSECustomerAlgorithm = &v
8766 return s
8767}
8768
8769// SetSSECustomerKey sets the SSECustomerKey field's value.
8770func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
8771 s.SSECustomerKey = &v
8772 return s
8773}
8774
15c0b25d
AP
8775func (s *CopyObjectInput) getSSECustomerKey() (v string) {
8776 if s.SSECustomerKey == nil {
8777 return v
8778 }
8779 return *s.SSECustomerKey
8780}
8781
bae9f6d2
JC
8782// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8783func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8784 s.SSECustomerKeyMD5 = &v
8785 return s
8786}
8787
863486a6
AG
8788// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8789func (s *CopyObjectInput) SetSSEKMSEncryptionContext(v string) *CopyObjectInput {
8790 s.SSEKMSEncryptionContext = &v
8791 return s
8792}
8793
bae9f6d2
JC
8794// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8795func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8796 s.SSEKMSKeyId = &v
8797 return s
8798}
8799
8800// SetServerSideEncryption sets the ServerSideEncryption field's value.
8801func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput {
8802 s.ServerSideEncryption = &v
8803 return s
8804}
8805
8806// SetStorageClass sets the StorageClass field's value.
8807func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput {
8808 s.StorageClass = &v
8809 return s
8810}
8811
8812// SetTagging sets the Tagging field's value.
8813func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput {
8814 s.Tagging = &v
8815 return s
8816}
8817
8818// SetTaggingDirective sets the TaggingDirective field's value.
8819func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput {
8820 s.TaggingDirective = &v
8821 return s
8822}
8823
8824// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8825func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput {
8826 s.WebsiteRedirectLocation = &v
8827 return s
8828}
8829
bae9f6d2
JC
8830type CopyObjectOutput struct {
8831 _ struct{} `type:"structure" payload:"CopyObjectResult"`
8832
8833 CopyObjectResult *CopyObjectResult `type:"structure"`
8834
8835 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
8836
8837 // If the object expiration is configured, the response includes this header.
8838 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
8839
8840 // If present, indicates that the requester was successfully charged for the
8841 // request.
8842 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
8843
8844 // If server-side encryption with a customer-provided encryption key was requested,
8845 // the response will include this header confirming the encryption algorithm
8846 // used.
8847 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
8848
8849 // If server-side encryption with a customer-provided encryption key was requested,
8850 // the response will include this header to provide round trip message integrity
8851 // verification of the customer-provided encryption key.
8852 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8853
863486a6
AG
8854 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
8855 // The value of this header is a base64-encoded UTF-8 string holding JSON with
8856 // the encryption context key-value pairs.
8857 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8858
bae9f6d2
JC
8859 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8860 // encryption key that was used for the object.
107c1cdb 8861 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
8862
8863 // The Server-side encryption algorithm used when storing this object in S3
8864 // (e.g., AES256, aws:kms).
8865 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
8866
8867 // Version ID of the newly created copy.
8868 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
8869}
8870
8871// String returns the string representation
8872func (s CopyObjectOutput) String() string {
8873 return awsutil.Prettify(s)
8874}
8875
8876// GoString returns the string representation
8877func (s CopyObjectOutput) GoString() string {
8878 return s.String()
8879}
8880
8881// SetCopyObjectResult sets the CopyObjectResult field's value.
8882func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
8883 s.CopyObjectResult = v
8884 return s
8885}
8886
8887// SetCopySourceVersionId sets the CopySourceVersionId field's value.
8888func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput {
8889 s.CopySourceVersionId = &v
8890 return s
8891}
8892
8893// SetExpiration sets the Expiration field's value.
8894func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput {
8895 s.Expiration = &v
8896 return s
8897}
8898
8899// SetRequestCharged sets the RequestCharged field's value.
8900func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput {
8901 s.RequestCharged = &v
8902 return s
8903}
8904
8905// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
8906func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput {
8907 s.SSECustomerAlgorithm = &v
8908 return s
8909}
8910
8911// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8912func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8913 s.SSECustomerKeyMD5 = &v
8914 return s
8915}
8916
863486a6
AG
8917// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8918func (s *CopyObjectOutput) SetSSEKMSEncryptionContext(v string) *CopyObjectOutput {
8919 s.SSEKMSEncryptionContext = &v
8920 return s
8921}
8922
bae9f6d2
JC
8923// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8924func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8925 s.SSEKMSKeyId = &v
8926 return s
8927}
8928
8929// SetServerSideEncryption sets the ServerSideEncryption field's value.
8930func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput {
8931 s.ServerSideEncryption = &v
8932 return s
8933}
8934
8935// SetVersionId sets the VersionId field's value.
8936func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
8937 s.VersionId = &v
8938 return s
8939}
8940
bae9f6d2
JC
8941type CopyObjectResult struct {
8942 _ struct{} `type:"structure"`
8943
8944 ETag *string `type:"string"`
8945
15c0b25d 8946 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
8947}
8948
8949// String returns the string representation
8950func (s CopyObjectResult) String() string {
8951 return awsutil.Prettify(s)
8952}
8953
8954// GoString returns the string representation
8955func (s CopyObjectResult) GoString() string {
8956 return s.String()
8957}
8958
8959// SetETag sets the ETag field's value.
8960func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
8961 s.ETag = &v
8962 return s
8963}
8964
8965// SetLastModified sets the LastModified field's value.
8966func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
8967 s.LastModified = &v
8968 return s
8969}
8970
bae9f6d2
JC
8971type CopyPartResult struct {
8972 _ struct{} `type:"structure"`
8973
8974 // Entity tag of the object.
8975 ETag *string `type:"string"`
8976
8977 // Date and time at which the object was uploaded.
15c0b25d 8978 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
8979}
8980
8981// String returns the string representation
8982func (s CopyPartResult) String() string {
8983 return awsutil.Prettify(s)
8984}
8985
8986// GoString returns the string representation
8987func (s CopyPartResult) GoString() string {
8988 return s.String()
8989}
8990
8991// SetETag sets the ETag field's value.
8992func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
8993 s.ETag = &v
8994 return s
8995}
8996
8997// SetLastModified sets the LastModified field's value.
8998func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
8999 s.LastModified = &v
9000 return s
9001}
9002
bae9f6d2
JC
9003type CreateBucketConfiguration struct {
9004 _ struct{} `type:"structure"`
9005
9006 // Specifies the region where the bucket will be created. If you don't specify
107c1cdb 9007 // a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
bae9f6d2
JC
9008 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
9009}
9010
9011// String returns the string representation
9012func (s CreateBucketConfiguration) String() string {
9013 return awsutil.Prettify(s)
9014}
9015
9016// GoString returns the string representation
9017func (s CreateBucketConfiguration) GoString() string {
9018 return s.String()
9019}
9020
9021// SetLocationConstraint sets the LocationConstraint field's value.
9022func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration {
9023 s.LocationConstraint = &v
9024 return s
9025}
9026
bae9f6d2
JC
9027type CreateBucketInput struct {
9028 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
9029
9030 // The canned ACL to apply to the bucket.
9031 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
9032
9033 // Bucket is a required field
9034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9035
15c0b25d 9036 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
9037
9038 // Allows grantee the read, write, read ACP, and write ACP permissions on the
9039 // bucket.
9040 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9041
9042 // Allows grantee to list the objects in the bucket.
9043 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9044
9045 // Allows grantee to read the bucket ACL.
9046 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9047
9048 // Allows grantee to create, overwrite, and delete any object in the bucket.
9049 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
9050
9051 // Allows grantee to write the ACL for the applicable bucket.
9052 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
107c1cdb 9053
863486a6
AG
9054 // Specifies whether you want Amazon S3 object lock to be enabled for the new
9055 // bucket.
107c1cdb 9056 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
bae9f6d2
JC
9057}
9058
9059// String returns the string representation
9060func (s CreateBucketInput) String() string {
9061 return awsutil.Prettify(s)
9062}
9063
9064// GoString returns the string representation
9065func (s CreateBucketInput) GoString() string {
9066 return s.String()
9067}
9068
9069// Validate inspects the fields of the type to determine if they are valid.
9070func (s *CreateBucketInput) Validate() error {
9071 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
9072 if s.Bucket == nil {
9073 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9074 }
107c1cdb
ND
9075 if s.Bucket != nil && len(*s.Bucket) < 1 {
9076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9077 }
bae9f6d2
JC
9078
9079 if invalidParams.Len() > 0 {
9080 return invalidParams
9081 }
9082 return nil
9083}
9084
9085// SetACL sets the ACL field's value.
9086func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput {
9087 s.ACL = &v
9088 return s
9089}
9090
9091// SetBucket sets the Bucket field's value.
9092func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
9093 s.Bucket = &v
9094 return s
9095}
9096
15c0b25d
AP
9097func (s *CreateBucketInput) getBucket() (v string) {
9098 if s.Bucket == nil {
9099 return v
9100 }
9101 return *s.Bucket
9102}
9103
bae9f6d2
JC
9104// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
9105func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
9106 s.CreateBucketConfiguration = v
9107 return s
9108}
9109
9110// SetGrantFullControl sets the GrantFullControl field's value.
9111func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput {
9112 s.GrantFullControl = &v
9113 return s
9114}
9115
9116// SetGrantRead sets the GrantRead field's value.
9117func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput {
9118 s.GrantRead = &v
9119 return s
9120}
9121
9122// SetGrantReadACP sets the GrantReadACP field's value.
9123func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput {
9124 s.GrantReadACP = &v
9125 return s
9126}
9127
9128// SetGrantWrite sets the GrantWrite field's value.
9129func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput {
9130 s.GrantWrite = &v
9131 return s
9132}
9133
9134// SetGrantWriteACP sets the GrantWriteACP field's value.
9135func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
9136 s.GrantWriteACP = &v
9137 return s
9138}
9139
107c1cdb
ND
9140// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value.
9141func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput {
9142 s.ObjectLockEnabledForBucket = &v
9143 return s
9144}
9145
bae9f6d2
JC
9146type CreateBucketOutput struct {
9147 _ struct{} `type:"structure"`
9148
9149 Location *string `location:"header" locationName:"Location" type:"string"`
9150}
9151
9152// String returns the string representation
9153func (s CreateBucketOutput) String() string {
9154 return awsutil.Prettify(s)
9155}
9156
9157// GoString returns the string representation
9158func (s CreateBucketOutput) GoString() string {
9159 return s.String()
9160}
9161
9162// SetLocation sets the Location field's value.
9163func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
9164 s.Location = &v
9165 return s
9166}
9167
bae9f6d2
JC
9168type CreateMultipartUploadInput struct {
9169 _ struct{} `type:"structure"`
9170
9171 // The canned ACL to apply to the object.
9172 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
9173
9174 // Bucket is a required field
9175 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9176
9177 // Specifies caching behavior along the request/reply chain.
9178 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
9179
9180 // Specifies presentational information for the object.
9181 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
9182
9183 // Specifies what content encodings have been applied to the object and thus
9184 // what decoding mechanisms must be applied to obtain the media-type referenced
9185 // by the Content-Type header field.
9186 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
9187
9188 // The language the content is in.
9189 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
9190
9191 // A standard MIME type describing the format of the object data.
9192 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9193
9194 // The date and time at which the object is no longer cacheable.
15c0b25d 9195 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
9196
9197 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
9198 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
9199
9200 // Allows grantee to read the object data and its metadata.
9201 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
9202
9203 // Allows grantee to read the object ACL.
9204 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
9205
9206 // Allows grantee to write the ACL for the applicable object.
9207 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
9208
9209 // Key is a required field
9210 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
9211
9212 // A map of metadata to store with the object in S3.
9213 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
9214
107c1cdb
ND
9215 // Specifies whether you want to apply a Legal Hold to the uploaded object.
9216 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
9217
863486a6 9218 // Specifies the object lock mode that you want to apply to the uploaded object.
107c1cdb
ND
9219 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
9220
863486a6 9221 // Specifies the date and time when you want the object lock to expire.
107c1cdb
ND
9222 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
9223
bae9f6d2
JC
9224 // Confirms that the requester knows that she or he will be charged for the
9225 // request. Bucket owners need not specify this parameter in their requests.
9226 // Documentation on downloading objects from requester pays buckets can be found
9227 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
9228 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
9229
9230 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
9231 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9232
9233 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
9234 // data. This value is used to store the object and then it is discarded; Amazon
9235 // does not store the encryption key. The key must be appropriate for use with
9236 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
9237 // header.
863486a6 9238 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
9239
9240 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
9241 // Amazon S3 uses this header for a message integrity check to ensure the encryption
9242 // key was transmitted without error.
9243 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9244
863486a6
AG
9245 // Specifies the AWS KMS Encryption Context to use for object encryption. The
9246 // value of this header is a base64-encoded UTF-8 string holding JSON with the
9247 // encryption context key-value pairs.
9248 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9249
bae9f6d2
JC
9250 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
9251 // requests for an object protected by AWS KMS will fail if not made via SSL
9252 // or using SigV4. Documentation on configuring any of the officially supported
9253 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 9254 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
9255
9256 // The Server-side encryption algorithm used when storing this object in S3
9257 // (e.g., AES256, aws:kms).
9258 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9259
9260 // The type of storage to use for the object. Defaults to 'STANDARD'.
9261 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
9262
15c0b25d
AP
9263 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
9264 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
9265
bae9f6d2
JC
9266 // If the bucket is configured as a website, redirects requests for this object
9267 // to another object in the same bucket or to an external URL. Amazon S3 stores
9268 // the value of this header in the object metadata.
9269 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
9270}
9271
9272// String returns the string representation
9273func (s CreateMultipartUploadInput) String() string {
9274 return awsutil.Prettify(s)
9275}
9276
9277// GoString returns the string representation
9278func (s CreateMultipartUploadInput) GoString() string {
9279 return s.String()
9280}
9281
9282// Validate inspects the fields of the type to determine if they are valid.
9283func (s *CreateMultipartUploadInput) Validate() error {
9284 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"}
9285 if s.Bucket == nil {
9286 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9287 }
107c1cdb
ND
9288 if s.Bucket != nil && len(*s.Bucket) < 1 {
9289 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9290 }
bae9f6d2
JC
9291 if s.Key == nil {
9292 invalidParams.Add(request.NewErrParamRequired("Key"))
9293 }
9294 if s.Key != nil && len(*s.Key) < 1 {
9295 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9296 }
9297
9298 if invalidParams.Len() > 0 {
9299 return invalidParams
9300 }
9301 return nil
9302}
9303
9304// SetACL sets the ACL field's value.
9305func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput {
9306 s.ACL = &v
9307 return s
9308}
9309
9310// SetBucket sets the Bucket field's value.
9311func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput {
9312 s.Bucket = &v
9313 return s
9314}
9315
15c0b25d
AP
9316func (s *CreateMultipartUploadInput) getBucket() (v string) {
9317 if s.Bucket == nil {
9318 return v
9319 }
9320 return *s.Bucket
9321}
9322
bae9f6d2
JC
9323// SetCacheControl sets the CacheControl field's value.
9324func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
9325 s.CacheControl = &v
9326 return s
9327}
9328
9329// SetContentDisposition sets the ContentDisposition field's value.
9330func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
9331 s.ContentDisposition = &v
9332 return s
9333}
9334
9335// SetContentEncoding sets the ContentEncoding field's value.
9336func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput {
9337 s.ContentEncoding = &v
9338 return s
9339}
9340
9341// SetContentLanguage sets the ContentLanguage field's value.
9342func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput {
9343 s.ContentLanguage = &v
9344 return s
9345}
9346
9347// SetContentType sets the ContentType field's value.
9348func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput {
9349 s.ContentType = &v
9350 return s
9351}
9352
9353// SetExpires sets the Expires field's value.
9354func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput {
9355 s.Expires = &v
9356 return s
9357}
9358
9359// SetGrantFullControl sets the GrantFullControl field's value.
9360func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput {
9361 s.GrantFullControl = &v
9362 return s
9363}
9364
9365// SetGrantRead sets the GrantRead field's value.
9366func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput {
9367 s.GrantRead = &v
9368 return s
9369}
9370
9371// SetGrantReadACP sets the GrantReadACP field's value.
9372func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput {
9373 s.GrantReadACP = &v
9374 return s
9375}
9376
9377// SetGrantWriteACP sets the GrantWriteACP field's value.
9378func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput {
9379 s.GrantWriteACP = &v
9380 return s
9381}
9382
9383// SetKey sets the Key field's value.
9384func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput {
9385 s.Key = &v
9386 return s
9387}
9388
9389// SetMetadata sets the Metadata field's value.
9390func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput {
9391 s.Metadata = v
9392 return s
9393}
9394
107c1cdb
ND
9395// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
9396func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput {
9397 s.ObjectLockLegalHoldStatus = &v
9398 return s
9399}
9400
9401// SetObjectLockMode sets the ObjectLockMode field's value.
9402func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput {
9403 s.ObjectLockMode = &v
9404 return s
9405}
9406
9407// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
9408func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput {
9409 s.ObjectLockRetainUntilDate = &v
9410 return s
9411}
9412
bae9f6d2
JC
9413// SetRequestPayer sets the RequestPayer field's value.
9414func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput {
9415 s.RequestPayer = &v
9416 return s
9417}
9418
9419// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9420func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput {
9421 s.SSECustomerAlgorithm = &v
9422 return s
9423}
9424
9425// SetSSECustomerKey sets the SSECustomerKey field's value.
9426func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput {
9427 s.SSECustomerKey = &v
9428 return s
9429}
9430
15c0b25d
AP
9431func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
9432 if s.SSECustomerKey == nil {
9433 return v
9434 }
9435 return *s.SSECustomerKey
9436}
9437
bae9f6d2
JC
9438// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9439func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
9440 s.SSECustomerKeyMD5 = &v
9441 return s
9442}
9443
863486a6
AG
9444// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9445func (s *CreateMultipartUploadInput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadInput {
9446 s.SSEKMSEncryptionContext = &v
9447 return s
9448}
9449
bae9f6d2
JC
9450// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9451func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9452 s.SSEKMSKeyId = &v
9453 return s
9454}
9455
9456// SetServerSideEncryption sets the ServerSideEncryption field's value.
9457func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput {
9458 s.ServerSideEncryption = &v
9459 return s
9460}
9461
9462// SetStorageClass sets the StorageClass field's value.
9463func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput {
9464 s.StorageClass = &v
9465 return s
9466}
9467
15c0b25d
AP
9468// SetTagging sets the Tagging field's value.
9469func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
9470 s.Tagging = &v
9471 return s
9472}
9473
bae9f6d2
JC
9474// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
9475func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
9476 s.WebsiteRedirectLocation = &v
9477 return s
9478}
9479
bae9f6d2
JC
9480type CreateMultipartUploadOutput struct {
9481 _ struct{} `type:"structure"`
9482
9483 // Date when multipart upload will become eligible for abort operation by lifecycle.
15c0b25d 9484 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
bae9f6d2
JC
9485
9486 // Id of the lifecycle rule that makes a multipart upload eligible for abort
9487 // operation.
9488 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
9489
9490 // Name of the bucket to which the multipart upload was initiated.
9491 Bucket *string `locationName:"Bucket" type:"string"`
9492
9493 // Object key for which the multipart upload was initiated.
9494 Key *string `min:"1" type:"string"`
9495
9496 // If present, indicates that the requester was successfully charged for the
9497 // request.
9498 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
9499
9500 // If server-side encryption with a customer-provided encryption key was requested,
9501 // the response will include this header confirming the encryption algorithm
9502 // used.
9503 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
9504
9505 // If server-side encryption with a customer-provided encryption key was requested,
9506 // the response will include this header to provide round trip message integrity
9507 // verification of the customer-provided encryption key.
9508 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9509
863486a6
AG
9510 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
9511 // The value of this header is a base64-encoded UTF-8 string holding JSON with
9512 // the encryption context key-value pairs.
9513 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9514
bae9f6d2
JC
9515 // If present, specifies the ID of the AWS Key Management Service (KMS) master
9516 // encryption key that was used for the object.
107c1cdb 9517 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
9518
9519 // The Server-side encryption algorithm used when storing this object in S3
9520 // (e.g., AES256, aws:kms).
9521 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
9522
9523 // ID for the initiated multipart upload.
9524 UploadId *string `type:"string"`
9525}
9526
9527// String returns the string representation
9528func (s CreateMultipartUploadOutput) String() string {
9529 return awsutil.Prettify(s)
9530}
9531
9532// GoString returns the string representation
9533func (s CreateMultipartUploadOutput) GoString() string {
9534 return s.String()
9535}
9536
9537// SetAbortDate sets the AbortDate field's value.
9538func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput {
9539 s.AbortDate = &v
9540 return s
9541}
9542
9543// SetAbortRuleId sets the AbortRuleId field's value.
9544func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput {
9545 s.AbortRuleId = &v
9546 return s
9547}
9548
9549// SetBucket sets the Bucket field's value.
9550func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput {
9551 s.Bucket = &v
9552 return s
9553}
9554
15c0b25d
AP
9555func (s *CreateMultipartUploadOutput) getBucket() (v string) {
9556 if s.Bucket == nil {
9557 return v
9558 }
9559 return *s.Bucket
9560}
9561
bae9f6d2
JC
9562// SetKey sets the Key field's value.
9563func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
9564 s.Key = &v
9565 return s
9566}
9567
9568// SetRequestCharged sets the RequestCharged field's value.
9569func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput {
9570 s.RequestCharged = &v
9571 return s
9572}
9573
9574// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
9575func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput {
9576 s.SSECustomerAlgorithm = &v
9577 return s
9578}
9579
9580// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
9581func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput {
9582 s.SSECustomerKeyMD5 = &v
9583 return s
9584}
9585
863486a6
AG
9586// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9587func (s *CreateMultipartUploadOutput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadOutput {
9588 s.SSEKMSEncryptionContext = &v
9589 return s
9590}
9591
bae9f6d2
JC
9592// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9593func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9594 s.SSEKMSKeyId = &v
9595 return s
9596}
9597
9598// SetServerSideEncryption sets the ServerSideEncryption field's value.
9599func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput {
9600 s.ServerSideEncryption = &v
9601 return s
9602}
9603
9604// SetUploadId sets the UploadId field's value.
9605func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput {
9606 s.UploadId = &v
9607 return s
9608}
9609
863486a6 9610// The container element for specifying the default object lock retention settings
107c1cdb
ND
9611// for new objects placed in the specified bucket.
9612type DefaultRetention struct {
9613 _ struct{} `type:"structure"`
9614
9615 // The number of days that you want to specify for the default retention period.
9616 Days *int64 `type:"integer"`
9617
863486a6 9618 // The default object lock retention mode you want to apply to new objects placed
107c1cdb
ND
9619 // in the specified bucket.
9620 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
9621
9622 // The number of years that you want to specify for the default retention period.
9623 Years *int64 `type:"integer"`
9624}
9625
9626// String returns the string representation
9627func (s DefaultRetention) String() string {
9628 return awsutil.Prettify(s)
9629}
9630
9631// GoString returns the string representation
9632func (s DefaultRetention) GoString() string {
9633 return s.String()
9634}
9635
9636// SetDays sets the Days field's value.
9637func (s *DefaultRetention) SetDays(v int64) *DefaultRetention {
9638 s.Days = &v
9639 return s
9640}
9641
9642// SetMode sets the Mode field's value.
9643func (s *DefaultRetention) SetMode(v string) *DefaultRetention {
9644 s.Mode = &v
9645 return s
9646}
9647
9648// SetYears sets the Years field's value.
9649func (s *DefaultRetention) SetYears(v int64) *DefaultRetention {
9650 s.Years = &v
9651 return s
9652}
9653
bae9f6d2
JC
9654type Delete struct {
9655 _ struct{} `type:"structure"`
9656
9657 // Objects is a required field
9658 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`
9659
9660 // Element to enable quiet mode for the request. When you add this element,
9661 // you must set its value to true.
9662 Quiet *bool `type:"boolean"`
9663}
9664
9665// String returns the string representation
9666func (s Delete) String() string {
9667 return awsutil.Prettify(s)
9668}
9669
9670// GoString returns the string representation
9671func (s Delete) GoString() string {
9672 return s.String()
9673}
9674
9675// Validate inspects the fields of the type to determine if they are valid.
9676func (s *Delete) Validate() error {
9677 invalidParams := request.ErrInvalidParams{Context: "Delete"}
9678 if s.Objects == nil {
9679 invalidParams.Add(request.NewErrParamRequired("Objects"))
9680 }
9681 if s.Objects != nil {
9682 for i, v := range s.Objects {
9683 if v == nil {
9684 continue
9685 }
9686 if err := v.Validate(); err != nil {
9687 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams))
9688 }
9689 }
9690 }
9691
9692 if invalidParams.Len() > 0 {
9693 return invalidParams
9694 }
9695 return nil
9696}
9697
9698// SetObjects sets the Objects field's value.
9699func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete {
9700 s.Objects = v
9701 return s
9702}
9703
9704// SetQuiet sets the Quiet field's value.
9705func (s *Delete) SetQuiet(v bool) *Delete {
9706 s.Quiet = &v
9707 return s
9708}
9709
bae9f6d2
JC
9710type DeleteBucketAnalyticsConfigurationInput struct {
9711 _ struct{} `type:"structure"`
9712
9713 // The name of the bucket from which an analytics configuration is deleted.
9714 //
9715 // Bucket is a required field
9716 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9717
863486a6 9718 // The ID that identifies the analytics configuration.
bae9f6d2
JC
9719 //
9720 // Id is a required field
9721 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9722}
9723
9724// String returns the string representation
9725func (s DeleteBucketAnalyticsConfigurationInput) String() string {
9726 return awsutil.Prettify(s)
9727}
9728
9729// GoString returns the string representation
9730func (s DeleteBucketAnalyticsConfigurationInput) GoString() string {
9731 return s.String()
9732}
9733
9734// Validate inspects the fields of the type to determine if they are valid.
9735func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error {
9736 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"}
9737 if s.Bucket == nil {
9738 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9739 }
107c1cdb
ND
9740 if s.Bucket != nil && len(*s.Bucket) < 1 {
9741 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9742 }
bae9f6d2
JC
9743 if s.Id == nil {
9744 invalidParams.Add(request.NewErrParamRequired("Id"))
9745 }
9746
9747 if invalidParams.Len() > 0 {
9748 return invalidParams
9749 }
9750 return nil
9751}
9752
9753// SetBucket sets the Bucket field's value.
9754func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput {
9755 s.Bucket = &v
9756 return s
9757}
9758
15c0b25d
AP
9759func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
9760 if s.Bucket == nil {
9761 return v
9762 }
9763 return *s.Bucket
9764}
9765
bae9f6d2
JC
9766// SetId sets the Id field's value.
9767func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
9768 s.Id = &v
9769 return s
9770}
9771
bae9f6d2
JC
9772type DeleteBucketAnalyticsConfigurationOutput struct {
9773 _ struct{} `type:"structure"`
9774}
9775
9776// String returns the string representation
9777func (s DeleteBucketAnalyticsConfigurationOutput) String() string {
9778 return awsutil.Prettify(s)
9779}
9780
9781// GoString returns the string representation
9782func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
9783 return s.String()
9784}
9785
bae9f6d2
JC
9786type DeleteBucketCorsInput struct {
9787 _ struct{} `type:"structure"`
9788
9789 // Bucket is a required field
9790 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9791}
9792
9793// String returns the string representation
9794func (s DeleteBucketCorsInput) String() string {
9795 return awsutil.Prettify(s)
9796}
9797
9798// GoString returns the string representation
9799func (s DeleteBucketCorsInput) GoString() string {
9800 return s.String()
9801}
9802
9803// Validate inspects the fields of the type to determine if they are valid.
9804func (s *DeleteBucketCorsInput) Validate() error {
9805 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"}
9806 if s.Bucket == nil {
9807 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9808 }
107c1cdb
ND
9809 if s.Bucket != nil && len(*s.Bucket) < 1 {
9810 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9811 }
bae9f6d2
JC
9812
9813 if invalidParams.Len() > 0 {
9814 return invalidParams
9815 }
9816 return nil
9817}
9818
9819// SetBucket sets the Bucket field's value.
9820func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
9821 s.Bucket = &v
9822 return s
9823}
9824
15c0b25d
AP
9825func (s *DeleteBucketCorsInput) getBucket() (v string) {
9826 if s.Bucket == nil {
9827 return v
9828 }
9829 return *s.Bucket
9830}
9831
bae9f6d2
JC
9832type DeleteBucketCorsOutput struct {
9833 _ struct{} `type:"structure"`
9834}
9835
9836// String returns the string representation
9837func (s DeleteBucketCorsOutput) String() string {
9838 return awsutil.Prettify(s)
9839}
9840
9841// GoString returns the string representation
9842func (s DeleteBucketCorsOutput) GoString() string {
9843 return s.String()
9844}
9845
15c0b25d 9846type DeleteBucketEncryptionInput struct {
bae9f6d2
JC
9847 _ struct{} `type:"structure"`
9848
15c0b25d
AP
9849 // The name of the bucket containing the server-side encryption configuration
9850 // to delete.
9851 //
bae9f6d2
JC
9852 // Bucket is a required field
9853 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9854}
9855
9856// String returns the string representation
15c0b25d 9857func (s DeleteBucketEncryptionInput) String() string {
bae9f6d2
JC
9858 return awsutil.Prettify(s)
9859}
9860
9861// GoString returns the string representation
15c0b25d 9862func (s DeleteBucketEncryptionInput) GoString() string {
bae9f6d2
JC
9863 return s.String()
9864}
9865
9866// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
9867func (s *DeleteBucketEncryptionInput) Validate() error {
9868 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
bae9f6d2
JC
9869 if s.Bucket == nil {
9870 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9871 }
107c1cdb
ND
9872 if s.Bucket != nil && len(*s.Bucket) < 1 {
9873 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9874 }
bae9f6d2
JC
9875
9876 if invalidParams.Len() > 0 {
9877 return invalidParams
9878 }
9879 return nil
9880}
9881
9882// SetBucket sets the Bucket field's value.
15c0b25d 9883func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
bae9f6d2
JC
9884 s.Bucket = &v
9885 return s
9886}
9887
15c0b25d
AP
9888func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
9889 if s.Bucket == nil {
9890 return v
9891 }
9892 return *s.Bucket
9893}
bae9f6d2 9894
15c0b25d
AP
9895type DeleteBucketEncryptionOutput struct {
9896 _ struct{} `type:"structure"`
9897}
bae9f6d2 9898
15c0b25d
AP
9899// String returns the string representation
9900func (s DeleteBucketEncryptionOutput) String() string {
9901 return awsutil.Prettify(s)
9902}
9903
9904// GoString returns the string representation
9905func (s DeleteBucketEncryptionOutput) GoString() string {
9906 return s.String()
9907}
9908
9909type DeleteBucketInput struct {
9910 _ struct{} `type:"structure"`
9911
9912 // Bucket is a required field
9913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9914}
9915
9916// String returns the string representation
9917func (s DeleteBucketInput) String() string {
9918 return awsutil.Prettify(s)
9919}
9920
9921// GoString returns the string representation
9922func (s DeleteBucketInput) GoString() string {
9923 return s.String()
9924}
9925
9926// Validate inspects the fields of the type to determine if they are valid.
9927func (s *DeleteBucketInput) Validate() error {
9928 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
9929 if s.Bucket == nil {
9930 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9931 }
107c1cdb
ND
9932 if s.Bucket != nil && len(*s.Bucket) < 1 {
9933 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9934 }
15c0b25d
AP
9935
9936 if invalidParams.Len() > 0 {
9937 return invalidParams
9938 }
9939 return nil
9940}
9941
9942// SetBucket sets the Bucket field's value.
9943func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
9944 s.Bucket = &v
9945 return s
9946}
9947
9948func (s *DeleteBucketInput) getBucket() (v string) {
9949 if s.Bucket == nil {
9950 return v
9951 }
9952 return *s.Bucket
9953}
9954
9955type DeleteBucketInventoryConfigurationInput struct {
9956 _ struct{} `type:"structure"`
9957
9958 // The name of the bucket containing the inventory configuration to delete.
9959 //
9960 // Bucket is a required field
9961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9962
9963 // The ID used to identify the inventory configuration.
bae9f6d2
JC
9964 //
9965 // Id is a required field
9966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
9967}
9968
9969// String returns the string representation
9970func (s DeleteBucketInventoryConfigurationInput) String() string {
9971 return awsutil.Prettify(s)
9972}
9973
9974// GoString returns the string representation
9975func (s DeleteBucketInventoryConfigurationInput) GoString() string {
9976 return s.String()
9977}
9978
9979// Validate inspects the fields of the type to determine if they are valid.
9980func (s *DeleteBucketInventoryConfigurationInput) Validate() error {
9981 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"}
9982 if s.Bucket == nil {
9983 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9984 }
107c1cdb
ND
9985 if s.Bucket != nil && len(*s.Bucket) < 1 {
9986 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
9987 }
bae9f6d2
JC
9988 if s.Id == nil {
9989 invalidParams.Add(request.NewErrParamRequired("Id"))
9990 }
9991
9992 if invalidParams.Len() > 0 {
9993 return invalidParams
9994 }
9995 return nil
9996}
9997
9998// SetBucket sets the Bucket field's value.
9999func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput {
10000 s.Bucket = &v
10001 return s
10002}
10003
15c0b25d
AP
10004func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
10005 if s.Bucket == nil {
10006 return v
10007 }
10008 return *s.Bucket
10009}
10010
bae9f6d2
JC
10011// SetId sets the Id field's value.
10012func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
10013 s.Id = &v
10014 return s
10015}
10016
bae9f6d2
JC
10017type DeleteBucketInventoryConfigurationOutput struct {
10018 _ struct{} `type:"structure"`
10019}
10020
10021// String returns the string representation
10022func (s DeleteBucketInventoryConfigurationOutput) String() string {
10023 return awsutil.Prettify(s)
10024}
10025
10026// GoString returns the string representation
10027func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
10028 return s.String()
10029}
10030
bae9f6d2
JC
10031type DeleteBucketLifecycleInput struct {
10032 _ struct{} `type:"structure"`
10033
10034 // Bucket is a required field
10035 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10036}
10037
10038// String returns the string representation
10039func (s DeleteBucketLifecycleInput) String() string {
10040 return awsutil.Prettify(s)
10041}
10042
10043// GoString returns the string representation
10044func (s DeleteBucketLifecycleInput) GoString() string {
10045 return s.String()
10046}
10047
10048// Validate inspects the fields of the type to determine if they are valid.
10049func (s *DeleteBucketLifecycleInput) Validate() error {
10050 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"}
10051 if s.Bucket == nil {
10052 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10053 }
107c1cdb
ND
10054 if s.Bucket != nil && len(*s.Bucket) < 1 {
10055 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10056 }
bae9f6d2
JC
10057
10058 if invalidParams.Len() > 0 {
10059 return invalidParams
10060 }
10061 return nil
10062}
10063
10064// SetBucket sets the Bucket field's value.
10065func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput {
10066 s.Bucket = &v
10067 return s
10068}
10069
15c0b25d
AP
10070func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
10071 if s.Bucket == nil {
10072 return v
10073 }
10074 return *s.Bucket
10075}
10076
bae9f6d2
JC
10077type DeleteBucketLifecycleOutput struct {
10078 _ struct{} `type:"structure"`
10079}
10080
10081// String returns the string representation
10082func (s DeleteBucketLifecycleOutput) String() string {
10083 return awsutil.Prettify(s)
10084}
10085
10086// GoString returns the string representation
10087func (s DeleteBucketLifecycleOutput) GoString() string {
10088 return s.String()
10089}
10090
bae9f6d2
JC
10091type DeleteBucketMetricsConfigurationInput struct {
10092 _ struct{} `type:"structure"`
10093
10094 // The name of the bucket containing the metrics configuration to delete.
10095 //
10096 // Bucket is a required field
10097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10098
10099 // The ID used to identify the metrics configuration.
10100 //
10101 // Id is a required field
10102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
10103}
10104
10105// String returns the string representation
10106func (s DeleteBucketMetricsConfigurationInput) String() string {
10107 return awsutil.Prettify(s)
10108}
10109
10110// GoString returns the string representation
10111func (s DeleteBucketMetricsConfigurationInput) GoString() string {
10112 return s.String()
10113}
10114
10115// Validate inspects the fields of the type to determine if they are valid.
10116func (s *DeleteBucketMetricsConfigurationInput) Validate() error {
10117 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"}
10118 if s.Bucket == nil {
10119 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10120 }
107c1cdb
ND
10121 if s.Bucket != nil && len(*s.Bucket) < 1 {
10122 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10123 }
bae9f6d2
JC
10124 if s.Id == nil {
10125 invalidParams.Add(request.NewErrParamRequired("Id"))
10126 }
10127
10128 if invalidParams.Len() > 0 {
10129 return invalidParams
10130 }
10131 return nil
10132}
10133
10134// SetBucket sets the Bucket field's value.
10135func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput {
10136 s.Bucket = &v
10137 return s
10138}
10139
15c0b25d
AP
10140func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
10141 if s.Bucket == nil {
10142 return v
10143 }
10144 return *s.Bucket
10145}
10146
bae9f6d2
JC
10147// SetId sets the Id field's value.
10148func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
10149 s.Id = &v
10150 return s
10151}
10152
bae9f6d2
JC
10153type DeleteBucketMetricsConfigurationOutput struct {
10154 _ struct{} `type:"structure"`
10155}
10156
10157// String returns the string representation
10158func (s DeleteBucketMetricsConfigurationOutput) String() string {
10159 return awsutil.Prettify(s)
10160}
10161
10162// GoString returns the string representation
10163func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
10164 return s.String()
10165}
10166
bae9f6d2
JC
10167type DeleteBucketOutput struct {
10168 _ struct{} `type:"structure"`
10169}
10170
10171// String returns the string representation
10172func (s DeleteBucketOutput) String() string {
10173 return awsutil.Prettify(s)
10174}
10175
10176// GoString returns the string representation
10177func (s DeleteBucketOutput) GoString() string {
10178 return s.String()
10179}
10180
bae9f6d2
JC
10181type DeleteBucketPolicyInput struct {
10182 _ struct{} `type:"structure"`
10183
10184 // Bucket is a required field
10185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10186}
10187
10188// String returns the string representation
10189func (s DeleteBucketPolicyInput) String() string {
10190 return awsutil.Prettify(s)
10191}
10192
10193// GoString returns the string representation
10194func (s DeleteBucketPolicyInput) GoString() string {
10195 return s.String()
10196}
10197
10198// Validate inspects the fields of the type to determine if they are valid.
10199func (s *DeleteBucketPolicyInput) Validate() error {
10200 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"}
10201 if s.Bucket == nil {
10202 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10203 }
107c1cdb
ND
10204 if s.Bucket != nil && len(*s.Bucket) < 1 {
10205 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10206 }
bae9f6d2
JC
10207
10208 if invalidParams.Len() > 0 {
10209 return invalidParams
10210 }
10211 return nil
10212}
10213
10214// SetBucket sets the Bucket field's value.
10215func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
10216 s.Bucket = &v
10217 return s
10218}
10219
15c0b25d
AP
10220func (s *DeleteBucketPolicyInput) getBucket() (v string) {
10221 if s.Bucket == nil {
10222 return v
10223 }
10224 return *s.Bucket
10225}
10226
bae9f6d2
JC
10227type DeleteBucketPolicyOutput struct {
10228 _ struct{} `type:"structure"`
10229}
10230
10231// String returns the string representation
10232func (s DeleteBucketPolicyOutput) String() string {
10233 return awsutil.Prettify(s)
10234}
10235
10236// GoString returns the string representation
10237func (s DeleteBucketPolicyOutput) GoString() string {
10238 return s.String()
10239}
10240
bae9f6d2
JC
10241type DeleteBucketReplicationInput struct {
10242 _ struct{} `type:"structure"`
10243
107c1cdb
ND
10244 // The bucket name.
10245 //
10246 // It can take a while to propagate the deletion of a replication configuration
10247 // to all Amazon S3 systems.
10248 //
bae9f6d2
JC
10249 // Bucket is a required field
10250 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10251}
10252
10253// String returns the string representation
10254func (s DeleteBucketReplicationInput) String() string {
10255 return awsutil.Prettify(s)
10256}
10257
10258// GoString returns the string representation
10259func (s DeleteBucketReplicationInput) GoString() string {
10260 return s.String()
10261}
10262
10263// Validate inspects the fields of the type to determine if they are valid.
10264func (s *DeleteBucketReplicationInput) Validate() error {
10265 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"}
10266 if s.Bucket == nil {
10267 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10268 }
107c1cdb
ND
10269 if s.Bucket != nil && len(*s.Bucket) < 1 {
10270 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10271 }
bae9f6d2
JC
10272
10273 if invalidParams.Len() > 0 {
10274 return invalidParams
10275 }
10276 return nil
10277}
10278
10279// SetBucket sets the Bucket field's value.
10280func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput {
10281 s.Bucket = &v
10282 return s
10283}
10284
15c0b25d
AP
10285func (s *DeleteBucketReplicationInput) getBucket() (v string) {
10286 if s.Bucket == nil {
10287 return v
10288 }
10289 return *s.Bucket
10290}
10291
bae9f6d2
JC
10292type DeleteBucketReplicationOutput struct {
10293 _ struct{} `type:"structure"`
10294}
10295
10296// String returns the string representation
10297func (s DeleteBucketReplicationOutput) String() string {
10298 return awsutil.Prettify(s)
10299}
10300
10301// GoString returns the string representation
10302func (s DeleteBucketReplicationOutput) GoString() string {
10303 return s.String()
10304}
10305
bae9f6d2
JC
10306type DeleteBucketTaggingInput struct {
10307 _ struct{} `type:"structure"`
10308
10309 // Bucket is a required field
10310 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10311}
10312
10313// String returns the string representation
10314func (s DeleteBucketTaggingInput) String() string {
10315 return awsutil.Prettify(s)
10316}
10317
10318// GoString returns the string representation
10319func (s DeleteBucketTaggingInput) GoString() string {
10320 return s.String()
10321}
10322
10323// Validate inspects the fields of the type to determine if they are valid.
10324func (s *DeleteBucketTaggingInput) Validate() error {
10325 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"}
10326 if s.Bucket == nil {
10327 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10328 }
107c1cdb
ND
10329 if s.Bucket != nil && len(*s.Bucket) < 1 {
10330 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10331 }
bae9f6d2
JC
10332
10333 if invalidParams.Len() > 0 {
10334 return invalidParams
10335 }
10336 return nil
10337}
10338
10339// SetBucket sets the Bucket field's value.
10340func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput {
10341 s.Bucket = &v
10342 return s
10343}
10344
15c0b25d
AP
10345func (s *DeleteBucketTaggingInput) getBucket() (v string) {
10346 if s.Bucket == nil {
10347 return v
10348 }
10349 return *s.Bucket
10350}
10351
bae9f6d2
JC
10352type DeleteBucketTaggingOutput struct {
10353 _ struct{} `type:"structure"`
10354}
10355
10356// String returns the string representation
10357func (s DeleteBucketTaggingOutput) String() string {
10358 return awsutil.Prettify(s)
10359}
10360
10361// GoString returns the string representation
10362func (s DeleteBucketTaggingOutput) GoString() string {
10363 return s.String()
10364}
10365
bae9f6d2
JC
10366type DeleteBucketWebsiteInput struct {
10367 _ struct{} `type:"structure"`
10368
10369 // Bucket is a required field
10370 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10371}
10372
10373// String returns the string representation
10374func (s DeleteBucketWebsiteInput) String() string {
10375 return awsutil.Prettify(s)
10376}
10377
10378// GoString returns the string representation
10379func (s DeleteBucketWebsiteInput) GoString() string {
10380 return s.String()
10381}
10382
10383// Validate inspects the fields of the type to determine if they are valid.
10384func (s *DeleteBucketWebsiteInput) Validate() error {
10385 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"}
10386 if s.Bucket == nil {
10387 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10388 }
107c1cdb
ND
10389 if s.Bucket != nil && len(*s.Bucket) < 1 {
10390 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10391 }
bae9f6d2
JC
10392
10393 if invalidParams.Len() > 0 {
10394 return invalidParams
10395 }
10396 return nil
10397}
10398
10399// SetBucket sets the Bucket field's value.
10400func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput {
10401 s.Bucket = &v
10402 return s
10403}
10404
15c0b25d
AP
10405func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
10406 if s.Bucket == nil {
10407 return v
10408 }
10409 return *s.Bucket
10410}
10411
bae9f6d2
JC
10412type DeleteBucketWebsiteOutput struct {
10413 _ struct{} `type:"structure"`
10414}
10415
10416// String returns the string representation
10417func (s DeleteBucketWebsiteOutput) String() string {
10418 return awsutil.Prettify(s)
10419}
10420
10421// GoString returns the string representation
10422func (s DeleteBucketWebsiteOutput) GoString() string {
10423 return s.String()
10424}
10425
bae9f6d2
JC
10426type DeleteMarkerEntry struct {
10427 _ struct{} `type:"structure"`
10428
10429 // Specifies whether the object is (true) or is not (false) the latest version
10430 // of an object.
10431 IsLatest *bool `type:"boolean"`
10432
10433 // The object key.
10434 Key *string `min:"1" type:"string"`
10435
10436 // Date and time the object was last modified.
15c0b25d 10437 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
10438
10439 Owner *Owner `type:"structure"`
10440
10441 // Version ID of an object.
10442 VersionId *string `type:"string"`
10443}
10444
10445// String returns the string representation
10446func (s DeleteMarkerEntry) String() string {
10447 return awsutil.Prettify(s)
10448}
10449
10450// GoString returns the string representation
10451func (s DeleteMarkerEntry) GoString() string {
10452 return s.String()
10453}
10454
10455// SetIsLatest sets the IsLatest field's value.
10456func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry {
10457 s.IsLatest = &v
10458 return s
10459}
10460
10461// SetKey sets the Key field's value.
10462func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry {
10463 s.Key = &v
10464 return s
10465}
10466
10467// SetLastModified sets the LastModified field's value.
10468func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry {
10469 s.LastModified = &v
10470 return s
10471}
10472
10473// SetOwner sets the Owner field's value.
10474func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry {
10475 s.Owner = v
10476 return s
10477}
10478
10479// SetVersionId sets the VersionId field's value.
10480func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
10481 s.VersionId = &v
10482 return s
10483}
10484
107c1cdb
ND
10485// Specifies whether Amazon S3 should replicate delete makers.
10486type DeleteMarkerReplication struct {
10487 _ struct{} `type:"structure"`
10488
10489 // The status of the delete marker replication.
10490 //
10491 // In the current implementation, Amazon S3 doesn't replicate the delete markers.
10492 // The status must be Disabled.
10493 Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"`
10494}
10495
10496// String returns the string representation
10497func (s DeleteMarkerReplication) String() string {
10498 return awsutil.Prettify(s)
10499}
10500
10501// GoString returns the string representation
10502func (s DeleteMarkerReplication) GoString() string {
10503 return s.String()
10504}
10505
10506// SetStatus sets the Status field's value.
10507func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication {
10508 s.Status = &v
10509 return s
10510}
10511
bae9f6d2
JC
10512type DeleteObjectInput struct {
10513 _ struct{} `type:"structure"`
10514
10515 // Bucket is a required field
10516 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10517
863486a6 10518 // Indicates whether Amazon S3 object lock should bypass governance-mode restrictions
107c1cdb
ND
10519 // to process this operation.
10520 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10521
bae9f6d2
JC
10522 // Key is a required field
10523 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10524
10525 // The concatenation of the authentication device's serial number, a space,
10526 // and the value that is displayed on your authentication device.
10527 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10528
10529 // Confirms that the requester knows that she or he will be charged for the
10530 // request. Bucket owners need not specify this parameter in their requests.
10531 // Documentation on downloading objects from requester pays buckets can be found
10532 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10533 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10534
10535 // VersionId used to reference a specific version of the object.
10536 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10537}
10538
10539// String returns the string representation
10540func (s DeleteObjectInput) String() string {
10541 return awsutil.Prettify(s)
10542}
10543
10544// GoString returns the string representation
10545func (s DeleteObjectInput) GoString() string {
10546 return s.String()
10547}
10548
10549// Validate inspects the fields of the type to determine if they are valid.
10550func (s *DeleteObjectInput) Validate() error {
10551 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"}
10552 if s.Bucket == nil {
10553 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10554 }
107c1cdb
ND
10555 if s.Bucket != nil && len(*s.Bucket) < 1 {
10556 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10557 }
bae9f6d2
JC
10558 if s.Key == nil {
10559 invalidParams.Add(request.NewErrParamRequired("Key"))
10560 }
10561 if s.Key != nil && len(*s.Key) < 1 {
10562 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10563 }
10564
10565 if invalidParams.Len() > 0 {
10566 return invalidParams
10567 }
10568 return nil
10569}
10570
10571// SetBucket sets the Bucket field's value.
10572func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
10573 s.Bucket = &v
10574 return s
10575}
10576
15c0b25d
AP
10577func (s *DeleteObjectInput) getBucket() (v string) {
10578 if s.Bucket == nil {
10579 return v
10580 }
10581 return *s.Bucket
10582}
10583
107c1cdb
ND
10584// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10585func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput {
10586 s.BypassGovernanceRetention = &v
10587 return s
10588}
10589
bae9f6d2
JC
10590// SetKey sets the Key field's value.
10591func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
10592 s.Key = &v
10593 return s
10594}
10595
10596// SetMFA sets the MFA field's value.
10597func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput {
10598 s.MFA = &v
10599 return s
10600}
10601
10602// SetRequestPayer sets the RequestPayer field's value.
10603func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput {
10604 s.RequestPayer = &v
10605 return s
10606}
10607
10608// SetVersionId sets the VersionId field's value.
10609func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
10610 s.VersionId = &v
10611 return s
10612}
10613
bae9f6d2
JC
10614type DeleteObjectOutput struct {
10615 _ struct{} `type:"structure"`
10616
10617 // Specifies whether the versioned object that was permanently deleted was (true)
10618 // or was not (false) a delete marker.
10619 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
10620
10621 // If present, indicates that the requester was successfully charged for the
10622 // request.
10623 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10624
10625 // Returns the version ID of the delete marker created as a result of the DELETE
10626 // operation.
10627 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10628}
10629
10630// String returns the string representation
10631func (s DeleteObjectOutput) String() string {
10632 return awsutil.Prettify(s)
10633}
10634
10635// GoString returns the string representation
10636func (s DeleteObjectOutput) GoString() string {
10637 return s.String()
10638}
10639
10640// SetDeleteMarker sets the DeleteMarker field's value.
10641func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput {
10642 s.DeleteMarker = &v
10643 return s
10644}
10645
10646// SetRequestCharged sets the RequestCharged field's value.
10647func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput {
10648 s.RequestCharged = &v
10649 return s
10650}
10651
10652// SetVersionId sets the VersionId field's value.
10653func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
10654 s.VersionId = &v
10655 return s
10656}
10657
bae9f6d2
JC
10658type DeleteObjectTaggingInput struct {
10659 _ struct{} `type:"structure"`
10660
10661 // Bucket is a required field
10662 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10663
10664 // Key is a required field
10665 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
10666
10667 // The versionId of the object that the tag-set will be removed from.
10668 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
10669}
10670
10671// String returns the string representation
10672func (s DeleteObjectTaggingInput) String() string {
10673 return awsutil.Prettify(s)
10674}
10675
10676// GoString returns the string representation
10677func (s DeleteObjectTaggingInput) GoString() string {
10678 return s.String()
10679}
10680
10681// Validate inspects the fields of the type to determine if they are valid.
10682func (s *DeleteObjectTaggingInput) Validate() error {
10683 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"}
10684 if s.Bucket == nil {
10685 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10686 }
107c1cdb
ND
10687 if s.Bucket != nil && len(*s.Bucket) < 1 {
10688 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10689 }
bae9f6d2
JC
10690 if s.Key == nil {
10691 invalidParams.Add(request.NewErrParamRequired("Key"))
10692 }
10693 if s.Key != nil && len(*s.Key) < 1 {
10694 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10695 }
10696
10697 if invalidParams.Len() > 0 {
10698 return invalidParams
10699 }
10700 return nil
10701}
10702
10703// SetBucket sets the Bucket field's value.
10704func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput {
10705 s.Bucket = &v
10706 return s
10707}
10708
15c0b25d
AP
10709func (s *DeleteObjectTaggingInput) getBucket() (v string) {
10710 if s.Bucket == nil {
10711 return v
10712 }
10713 return *s.Bucket
10714}
10715
bae9f6d2
JC
10716// SetKey sets the Key field's value.
10717func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
10718 s.Key = &v
10719 return s
10720}
10721
10722// SetVersionId sets the VersionId field's value.
10723func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput {
10724 s.VersionId = &v
10725 return s
10726}
10727
bae9f6d2
JC
10728type DeleteObjectTaggingOutput struct {
10729 _ struct{} `type:"structure"`
10730
10731 // The versionId of the object the tag-set was removed from.
10732 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
10733}
10734
10735// String returns the string representation
10736func (s DeleteObjectTaggingOutput) String() string {
10737 return awsutil.Prettify(s)
10738}
10739
10740// GoString returns the string representation
10741func (s DeleteObjectTaggingOutput) GoString() string {
10742 return s.String()
10743}
10744
10745// SetVersionId sets the VersionId field's value.
10746func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput {
10747 s.VersionId = &v
10748 return s
10749}
10750
bae9f6d2
JC
10751type DeleteObjectsInput struct {
10752 _ struct{} `type:"structure" payload:"Delete"`
10753
10754 // Bucket is a required field
10755 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10756
107c1cdb 10757 // Specifies whether you want to delete this object even if it has a Governance-type
863486a6 10758 // object lock in place. You must have sufficient permissions to perform this
107c1cdb
ND
10759 // operation.
10760 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10761
bae9f6d2 10762 // Delete is a required field
15c0b25d 10763 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
10764
10765 // The concatenation of the authentication device's serial number, a space,
10766 // and the value that is displayed on your authentication device.
10767 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
10768
10769 // Confirms that the requester knows that she or he will be charged for the
10770 // request. Bucket owners need not specify this parameter in their requests.
10771 // Documentation on downloading objects from requester pays buckets can be found
10772 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10773 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
10774}
10775
10776// String returns the string representation
10777func (s DeleteObjectsInput) String() string {
10778 return awsutil.Prettify(s)
10779}
10780
10781// GoString returns the string representation
10782func (s DeleteObjectsInput) GoString() string {
10783 return s.String()
10784}
10785
10786// Validate inspects the fields of the type to determine if they are valid.
10787func (s *DeleteObjectsInput) Validate() error {
10788 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"}
10789 if s.Bucket == nil {
10790 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10791 }
107c1cdb
ND
10792 if s.Bucket != nil && len(*s.Bucket) < 1 {
10793 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10794 }
bae9f6d2
JC
10795 if s.Delete == nil {
10796 invalidParams.Add(request.NewErrParamRequired("Delete"))
10797 }
10798 if s.Delete != nil {
10799 if err := s.Delete.Validate(); err != nil {
10800 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
10801 }
10802 }
10803
10804 if invalidParams.Len() > 0 {
10805 return invalidParams
10806 }
10807 return nil
10808}
10809
10810// SetBucket sets the Bucket field's value.
10811func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
10812 s.Bucket = &v
10813 return s
10814}
10815
15c0b25d
AP
10816func (s *DeleteObjectsInput) getBucket() (v string) {
10817 if s.Bucket == nil {
10818 return v
10819 }
10820 return *s.Bucket
10821}
10822
107c1cdb
ND
10823// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
10824func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput {
10825 s.BypassGovernanceRetention = &v
10826 return s
10827}
10828
bae9f6d2
JC
10829// SetDelete sets the Delete field's value.
10830func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
10831 s.Delete = v
10832 return s
10833}
10834
10835// SetMFA sets the MFA field's value.
10836func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput {
10837 s.MFA = &v
10838 return s
10839}
10840
10841// SetRequestPayer sets the RequestPayer field's value.
10842func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
10843 s.RequestPayer = &v
10844 return s
10845}
10846
bae9f6d2
JC
10847type DeleteObjectsOutput struct {
10848 _ struct{} `type:"structure"`
10849
10850 Deleted []*DeletedObject `type:"list" flattened:"true"`
10851
10852 Errors []*Error `locationName:"Error" type:"list" flattened:"true"`
10853
10854 // If present, indicates that the requester was successfully charged for the
10855 // request.
10856 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
10857}
10858
10859// String returns the string representation
10860func (s DeleteObjectsOutput) String() string {
10861 return awsutil.Prettify(s)
10862}
10863
10864// GoString returns the string representation
10865func (s DeleteObjectsOutput) GoString() string {
10866 return s.String()
10867}
10868
10869// SetDeleted sets the Deleted field's value.
10870func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput {
10871 s.Deleted = v
10872 return s
10873}
10874
10875// SetErrors sets the Errors field's value.
10876func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput {
10877 s.Errors = v
10878 return s
10879}
10880
10881// SetRequestCharged sets the RequestCharged field's value.
10882func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
10883 s.RequestCharged = &v
10884 return s
10885}
10886
107c1cdb
ND
10887type DeletePublicAccessBlockInput struct {
10888 _ struct{} `type:"structure"`
10889
10890 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
10891 //
10892 // Bucket is a required field
10893 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10894}
10895
10896// String returns the string representation
10897func (s DeletePublicAccessBlockInput) String() string {
10898 return awsutil.Prettify(s)
10899}
10900
10901// GoString returns the string representation
10902func (s DeletePublicAccessBlockInput) GoString() string {
10903 return s.String()
10904}
10905
10906// Validate inspects the fields of the type to determine if they are valid.
10907func (s *DeletePublicAccessBlockInput) Validate() error {
10908 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"}
10909 if s.Bucket == nil {
10910 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10911 }
10912 if s.Bucket != nil && len(*s.Bucket) < 1 {
10913 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
10914 }
10915
10916 if invalidParams.Len() > 0 {
10917 return invalidParams
10918 }
10919 return nil
10920}
10921
10922// SetBucket sets the Bucket field's value.
10923func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput {
10924 s.Bucket = &v
10925 return s
10926}
10927
10928func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
10929 if s.Bucket == nil {
10930 return v
10931 }
10932 return *s.Bucket
10933}
10934
10935type DeletePublicAccessBlockOutput struct {
10936 _ struct{} `type:"structure"`
10937}
10938
10939// String returns the string representation
10940func (s DeletePublicAccessBlockOutput) String() string {
10941 return awsutil.Prettify(s)
10942}
10943
10944// GoString returns the string representation
10945func (s DeletePublicAccessBlockOutput) GoString() string {
10946 return s.String()
10947}
10948
bae9f6d2
JC
10949type DeletedObject struct {
10950 _ struct{} `type:"structure"`
10951
10952 DeleteMarker *bool `type:"boolean"`
10953
10954 DeleteMarkerVersionId *string `type:"string"`
10955
10956 Key *string `min:"1" type:"string"`
10957
10958 VersionId *string `type:"string"`
10959}
10960
10961// String returns the string representation
10962func (s DeletedObject) String() string {
10963 return awsutil.Prettify(s)
10964}
10965
10966// GoString returns the string representation
10967func (s DeletedObject) GoString() string {
10968 return s.String()
10969}
10970
10971// SetDeleteMarker sets the DeleteMarker field's value.
10972func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject {
10973 s.DeleteMarker = &v
10974 return s
10975}
10976
10977// SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value.
10978func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject {
10979 s.DeleteMarkerVersionId = &v
10980 return s
10981}
10982
10983// SetKey sets the Key field's value.
10984func (s *DeletedObject) SetKey(v string) *DeletedObject {
10985 s.Key = &v
10986 return s
10987}
10988
10989// SetVersionId sets the VersionId field's value.
10990func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
10991 s.VersionId = &v
10992 return s
10993}
10994
863486a6
AG
10995// Specifies information about where to publish analysis or configuration results
10996// for an Amazon S3 bucket.
bae9f6d2
JC
10997type Destination struct {
10998 _ struct{} `type:"structure"`
10999
863486a6
AG
11000 // Specify this only in a cross-account scenario (where source and destination
11001 // bucket owners are not the same), and you want to change replica ownership
11002 // to the AWS account that owns the destination bucket. If this is not specified
11003 // in the replication configuration, the replicas are owned by same AWS account
11004 // that owns the source object.
15c0b25d
AP
11005 AccessControlTranslation *AccessControlTranslation `type:"structure"`
11006
863486a6
AG
11007 // Destination bucket owner account ID. In a cross-account scenario, if you
11008 // direct Amazon S3 to change replica ownership to the AWS account that owns
11009 // the destination bucket by specifying the AccessControlTranslation property,
11010 // this is the account ID of the destination bucket owner. For more information,
11011 // see Cross-Region Replication Additional Configuration: Change Replica Owner
11012 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in
11013 // the Amazon Simple Storage Service Developer Guide.
15c0b25d
AP
11014 Account *string `type:"string"`
11015
107c1cdb
ND
11016 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
11017 // store replicas of the object identified by the rule.
11018 //
863486a6
AG
11019 // A replication configuration can replicate objects to only one destination
11020 // bucket. If there are multiple rules in your replication configuration, all
11021 // rules must specify the same destination bucket.
bae9f6d2
JC
11022 //
11023 // Bucket is a required field
11024 Bucket *string `type:"string" required:"true"`
11025
107c1cdb
ND
11026 // A container that provides information about encryption. If SourceSelectionCriteria
11027 // is specified, you must specify this element.
15c0b25d
AP
11028 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
11029
863486a6
AG
11030 // The storage class to use when replicating objects, such as standard or reduced
11031 // redundancy. By default, Amazon S3 uses the storage class of the source object
11032 // to create the object replica.
11033 //
11034 // For valid values, see the StorageClass element of the PUT Bucket replication
11035 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
11036 // action in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
11037 StorageClass *string `type:"string" enum:"StorageClass"`
11038}
11039
11040// String returns the string representation
11041func (s Destination) String() string {
11042 return awsutil.Prettify(s)
11043}
11044
11045// GoString returns the string representation
11046func (s Destination) GoString() string {
11047 return s.String()
11048}
11049
11050// Validate inspects the fields of the type to determine if they are valid.
11051func (s *Destination) Validate() error {
11052 invalidParams := request.ErrInvalidParams{Context: "Destination"}
11053 if s.Bucket == nil {
11054 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11055 }
15c0b25d
AP
11056 if s.AccessControlTranslation != nil {
11057 if err := s.AccessControlTranslation.Validate(); err != nil {
11058 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
11059 }
11060 }
bae9f6d2
JC
11061
11062 if invalidParams.Len() > 0 {
11063 return invalidParams
11064 }
11065 return nil
11066}
11067
15c0b25d
AP
11068// SetAccessControlTranslation sets the AccessControlTranslation field's value.
11069func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
11070 s.AccessControlTranslation = v
11071 return s
11072}
11073
11074// SetAccount sets the Account field's value.
11075func (s *Destination) SetAccount(v string) *Destination {
11076 s.Account = &v
11077 return s
11078}
11079
bae9f6d2
JC
11080// SetBucket sets the Bucket field's value.
11081func (s *Destination) SetBucket(v string) *Destination {
11082 s.Bucket = &v
11083 return s
11084}
11085
15c0b25d
AP
11086func (s *Destination) getBucket() (v string) {
11087 if s.Bucket == nil {
11088 return v
11089 }
11090 return *s.Bucket
11091}
11092
11093// SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
11094func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
11095 s.EncryptionConfiguration = v
11096 return s
11097}
11098
bae9f6d2
JC
11099// SetStorageClass sets the StorageClass field's value.
11100func (s *Destination) SetStorageClass(v string) *Destination {
11101 s.StorageClass = &v
11102 return s
11103}
11104
15c0b25d
AP
11105// Describes the server-side encryption that will be applied to the restore
11106// results.
11107type Encryption struct {
11108 _ struct{} `type:"structure"`
11109
11110 // The server-side encryption algorithm used when storing job results in Amazon
11111 // S3 (e.g., AES256, aws:kms).
11112 //
11113 // EncryptionType is a required field
11114 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
11115
11116 // If the encryption type is aws:kms, this optional value can be used to specify
11117 // the encryption context for the restore results.
11118 KMSContext *string `type:"string"`
11119
11120 // If the encryption type is aws:kms, this optional value specifies the AWS
11121 // KMS key ID to use for encryption of job results.
107c1cdb 11122 KMSKeyId *string `type:"string" sensitive:"true"`
15c0b25d
AP
11123}
11124
11125// String returns the string representation
11126func (s Encryption) String() string {
11127 return awsutil.Prettify(s)
11128}
11129
11130// GoString returns the string representation
11131func (s Encryption) GoString() string {
11132 return s.String()
11133}
11134
11135// Validate inspects the fields of the type to determine if they are valid.
11136func (s *Encryption) Validate() error {
11137 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
11138 if s.EncryptionType == nil {
11139 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
11140 }
11141
11142 if invalidParams.Len() > 0 {
11143 return invalidParams
11144 }
11145 return nil
11146}
11147
11148// SetEncryptionType sets the EncryptionType field's value.
11149func (s *Encryption) SetEncryptionType(v string) *Encryption {
11150 s.EncryptionType = &v
11151 return s
11152}
11153
11154// SetKMSContext sets the KMSContext field's value.
11155func (s *Encryption) SetKMSContext(v string) *Encryption {
11156 s.KMSContext = &v
11157 return s
11158}
11159
11160// SetKMSKeyId sets the KMSKeyId field's value.
11161func (s *Encryption) SetKMSKeyId(v string) *Encryption {
11162 s.KMSKeyId = &v
11163 return s
11164}
11165
863486a6
AG
11166// Specifies encryption-related information for an Amazon S3 bucket that is
11167// a destination for replicated objects.
15c0b25d
AP
11168type EncryptionConfiguration struct {
11169 _ struct{} `type:"structure"`
11170
863486a6
AG
11171 // Specifies the AWS KMS Key ID (Key ARN or Alias ARN) for the destination bucket.
11172 // Amazon S3 uses this key to encrypt replica objects.
15c0b25d
AP
11173 ReplicaKmsKeyID *string `type:"string"`
11174}
11175
11176// String returns the string representation
11177func (s EncryptionConfiguration) String() string {
11178 return awsutil.Prettify(s)
11179}
11180
11181// GoString returns the string representation
11182func (s EncryptionConfiguration) GoString() string {
11183 return s.String()
11184}
11185
11186// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
11187func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
11188 s.ReplicaKmsKeyID = &v
11189 return s
11190}
11191
11192type EndEvent struct {
11193 _ struct{} `locationName:"EndEvent" type:"structure"`
11194}
11195
11196// String returns the string representation
11197func (s EndEvent) String() string {
11198 return awsutil.Prettify(s)
11199}
11200
11201// GoString returns the string representation
11202func (s EndEvent) GoString() string {
11203 return s.String()
11204}
11205
11206// The EndEvent is and event in the SelectObjectContentEventStream group of events.
11207func (s *EndEvent) eventSelectObjectContentEventStream() {}
11208
11209// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
11210// This method is only used internally within the SDK's EventStream handling.
11211func (s *EndEvent) UnmarshalEvent(
11212 payloadUnmarshaler protocol.PayloadUnmarshaler,
11213 msg eventstream.Message,
11214) error {
11215 return nil
11216}
11217
bae9f6d2
JC
11218type Error struct {
11219 _ struct{} `type:"structure"`
11220
11221 Code *string `type:"string"`
11222
11223 Key *string `min:"1" type:"string"`
11224
11225 Message *string `type:"string"`
11226
11227 VersionId *string `type:"string"`
11228}
11229
11230// String returns the string representation
11231func (s Error) String() string {
11232 return awsutil.Prettify(s)
11233}
11234
11235// GoString returns the string representation
11236func (s Error) GoString() string {
11237 return s.String()
11238}
11239
11240// SetCode sets the Code field's value.
11241func (s *Error) SetCode(v string) *Error {
11242 s.Code = &v
11243 return s
11244}
11245
11246// SetKey sets the Key field's value.
11247func (s *Error) SetKey(v string) *Error {
11248 s.Key = &v
11249 return s
11250}
11251
11252// SetMessage sets the Message field's value.
11253func (s *Error) SetMessage(v string) *Error {
11254 s.Message = &v
11255 return s
11256}
11257
11258// SetVersionId sets the VersionId field's value.
11259func (s *Error) SetVersionId(v string) *Error {
11260 s.VersionId = &v
11261 return s
11262}
11263
bae9f6d2
JC
11264type ErrorDocument struct {
11265 _ struct{} `type:"structure"`
11266
11267 // The object key name to use when a 4XX class error occurs.
11268 //
11269 // Key is a required field
11270 Key *string `min:"1" type:"string" required:"true"`
11271}
11272
11273// String returns the string representation
11274func (s ErrorDocument) String() string {
11275 return awsutil.Prettify(s)
11276}
11277
11278// GoString returns the string representation
11279func (s ErrorDocument) GoString() string {
11280 return s.String()
11281}
11282
11283// Validate inspects the fields of the type to determine if they are valid.
11284func (s *ErrorDocument) Validate() error {
11285 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"}
11286 if s.Key == nil {
11287 invalidParams.Add(request.NewErrParamRequired("Key"))
11288 }
11289 if s.Key != nil && len(*s.Key) < 1 {
11290 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11291 }
11292
11293 if invalidParams.Len() > 0 {
11294 return invalidParams
11295 }
11296 return nil
11297}
11298
11299// SetKey sets the Key field's value.
11300func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
11301 s.Key = &v
11302 return s
11303}
11304
863486a6
AG
11305// Specifies the Amazon S3 object key name to filter on and whether to filter
11306// on the suffix or prefix of the key name.
bae9f6d2
JC
11307type FilterRule struct {
11308 _ struct{} `type:"structure"`
11309
107c1cdb 11310 // The object key name prefix or suffix identifying one or more objects to which
863486a6
AG
11311 // the filtering rule applies. The maximum length is 1,024 characters. Overlapping
11312 // prefixes and suffixes are not supported. For more information, see Configuring
11313 // Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 11314 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
11315 Name *string `type:"string" enum:"FilterRuleName"`
11316
863486a6 11317 // The value that the filter searches for in object key names.
bae9f6d2
JC
11318 Value *string `type:"string"`
11319}
11320
11321// String returns the string representation
11322func (s FilterRule) String() string {
11323 return awsutil.Prettify(s)
11324}
11325
11326// GoString returns the string representation
11327func (s FilterRule) GoString() string {
11328 return s.String()
11329}
11330
11331// SetName sets the Name field's value.
11332func (s *FilterRule) SetName(v string) *FilterRule {
11333 s.Name = &v
11334 return s
11335}
11336
11337// SetValue sets the Value field's value.
11338func (s *FilterRule) SetValue(v string) *FilterRule {
11339 s.Value = &v
11340 return s
11341}
11342
bae9f6d2
JC
11343type GetBucketAccelerateConfigurationInput struct {
11344 _ struct{} `type:"structure"`
11345
11346 // Name of the bucket for which the accelerate configuration is retrieved.
11347 //
11348 // Bucket is a required field
11349 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11350}
11351
11352// String returns the string representation
11353func (s GetBucketAccelerateConfigurationInput) String() string {
11354 return awsutil.Prettify(s)
11355}
11356
11357// GoString returns the string representation
11358func (s GetBucketAccelerateConfigurationInput) GoString() string {
11359 return s.String()
11360}
11361
11362// Validate inspects the fields of the type to determine if they are valid.
11363func (s *GetBucketAccelerateConfigurationInput) Validate() error {
11364 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"}
11365 if s.Bucket == nil {
11366 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11367 }
107c1cdb
ND
11368 if s.Bucket != nil && len(*s.Bucket) < 1 {
11369 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11370 }
bae9f6d2
JC
11371
11372 if invalidParams.Len() > 0 {
11373 return invalidParams
11374 }
11375 return nil
11376}
11377
11378// SetBucket sets the Bucket field's value.
11379func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput {
11380 s.Bucket = &v
11381 return s
11382}
11383
15c0b25d
AP
11384func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
11385 if s.Bucket == nil {
11386 return v
11387 }
11388 return *s.Bucket
11389}
11390
bae9f6d2
JC
11391type GetBucketAccelerateConfigurationOutput struct {
11392 _ struct{} `type:"structure"`
11393
11394 // The accelerate configuration of the bucket.
11395 Status *string `type:"string" enum:"BucketAccelerateStatus"`
11396}
11397
11398// String returns the string representation
11399func (s GetBucketAccelerateConfigurationOutput) String() string {
11400 return awsutil.Prettify(s)
11401}
11402
11403// GoString returns the string representation
11404func (s GetBucketAccelerateConfigurationOutput) GoString() string {
11405 return s.String()
11406}
11407
11408// SetStatus sets the Status field's value.
11409func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput {
11410 s.Status = &v
11411 return s
11412}
11413
bae9f6d2
JC
11414type GetBucketAclInput struct {
11415 _ struct{} `type:"structure"`
11416
11417 // Bucket is a required field
11418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11419}
11420
11421// String returns the string representation
11422func (s GetBucketAclInput) String() string {
11423 return awsutil.Prettify(s)
11424}
11425
11426// GoString returns the string representation
11427func (s GetBucketAclInput) GoString() string {
11428 return s.String()
11429}
11430
11431// Validate inspects the fields of the type to determine if they are valid.
11432func (s *GetBucketAclInput) Validate() error {
11433 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"}
11434 if s.Bucket == nil {
11435 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11436 }
107c1cdb
ND
11437 if s.Bucket != nil && len(*s.Bucket) < 1 {
11438 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11439 }
bae9f6d2
JC
11440
11441 if invalidParams.Len() > 0 {
11442 return invalidParams
11443 }
11444 return nil
11445}
11446
11447// SetBucket sets the Bucket field's value.
11448func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
11449 s.Bucket = &v
11450 return s
11451}
11452
15c0b25d
AP
11453func (s *GetBucketAclInput) getBucket() (v string) {
11454 if s.Bucket == nil {
11455 return v
11456 }
11457 return *s.Bucket
11458}
11459
bae9f6d2
JC
11460type GetBucketAclOutput struct {
11461 _ struct{} `type:"structure"`
11462
11463 // A list of grants.
11464 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
11465
11466 Owner *Owner `type:"structure"`
11467}
11468
11469// String returns the string representation
11470func (s GetBucketAclOutput) String() string {
11471 return awsutil.Prettify(s)
11472}
11473
11474// GoString returns the string representation
11475func (s GetBucketAclOutput) GoString() string {
11476 return s.String()
11477}
11478
11479// SetGrants sets the Grants field's value.
11480func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput {
11481 s.Grants = v
11482 return s
11483}
11484
11485// SetOwner sets the Owner field's value.
11486func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
11487 s.Owner = v
11488 return s
11489}
11490
bae9f6d2
JC
11491type GetBucketAnalyticsConfigurationInput struct {
11492 _ struct{} `type:"structure"`
11493
11494 // The name of the bucket from which an analytics configuration is retrieved.
11495 //
11496 // Bucket is a required field
11497 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11498
863486a6 11499 // The ID that identifies the analytics configuration.
bae9f6d2
JC
11500 //
11501 // Id is a required field
11502 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11503}
11504
11505// String returns the string representation
11506func (s GetBucketAnalyticsConfigurationInput) String() string {
11507 return awsutil.Prettify(s)
11508}
11509
11510// GoString returns the string representation
11511func (s GetBucketAnalyticsConfigurationInput) GoString() string {
11512 return s.String()
11513}
11514
11515// Validate inspects the fields of the type to determine if they are valid.
11516func (s *GetBucketAnalyticsConfigurationInput) Validate() error {
11517 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"}
11518 if s.Bucket == nil {
11519 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11520 }
107c1cdb
ND
11521 if s.Bucket != nil && len(*s.Bucket) < 1 {
11522 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11523 }
bae9f6d2
JC
11524 if s.Id == nil {
11525 invalidParams.Add(request.NewErrParamRequired("Id"))
11526 }
11527
11528 if invalidParams.Len() > 0 {
11529 return invalidParams
11530 }
11531 return nil
11532}
11533
11534// SetBucket sets the Bucket field's value.
11535func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput {
11536 s.Bucket = &v
11537 return s
11538}
11539
15c0b25d
AP
11540func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
11541 if s.Bucket == nil {
11542 return v
11543 }
11544 return *s.Bucket
11545}
11546
bae9f6d2
JC
11547// SetId sets the Id field's value.
11548func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
11549 s.Id = &v
11550 return s
11551}
11552
bae9f6d2
JC
11553type GetBucketAnalyticsConfigurationOutput struct {
11554 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
11555
11556 // The configuration and any analyses for the analytics filter.
11557 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"`
11558}
11559
11560// String returns the string representation
11561func (s GetBucketAnalyticsConfigurationOutput) String() string {
11562 return awsutil.Prettify(s)
11563}
11564
11565// GoString returns the string representation
11566func (s GetBucketAnalyticsConfigurationOutput) GoString() string {
11567 return s.String()
11568}
11569
11570// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
11571func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput {
11572 s.AnalyticsConfiguration = v
11573 return s
11574}
11575
bae9f6d2
JC
11576type GetBucketCorsInput struct {
11577 _ struct{} `type:"structure"`
11578
11579 // Bucket is a required field
11580 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11581}
11582
11583// String returns the string representation
11584func (s GetBucketCorsInput) String() string {
11585 return awsutil.Prettify(s)
11586}
11587
11588// GoString returns the string representation
11589func (s GetBucketCorsInput) GoString() string {
11590 return s.String()
11591}
11592
11593// Validate inspects the fields of the type to determine if they are valid.
11594func (s *GetBucketCorsInput) Validate() error {
11595 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"}
11596 if s.Bucket == nil {
11597 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11598 }
107c1cdb
ND
11599 if s.Bucket != nil && len(*s.Bucket) < 1 {
11600 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11601 }
bae9f6d2
JC
11602
11603 if invalidParams.Len() > 0 {
11604 return invalidParams
11605 }
11606 return nil
11607}
11608
11609// SetBucket sets the Bucket field's value.
11610func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
11611 s.Bucket = &v
11612 return s
11613}
11614
15c0b25d
AP
11615func (s *GetBucketCorsInput) getBucket() (v string) {
11616 if s.Bucket == nil {
11617 return v
11618 }
11619 return *s.Bucket
11620}
11621
bae9f6d2
JC
11622type GetBucketCorsOutput struct {
11623 _ struct{} `type:"structure"`
11624
11625 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`
11626}
11627
11628// String returns the string representation
11629func (s GetBucketCorsOutput) String() string {
11630 return awsutil.Prettify(s)
11631}
11632
11633// GoString returns the string representation
11634func (s GetBucketCorsOutput) GoString() string {
11635 return s.String()
11636}
11637
11638// SetCORSRules sets the CORSRules field's value.
11639func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
11640 s.CORSRules = v
11641 return s
11642}
11643
15c0b25d
AP
11644type GetBucketEncryptionInput struct {
11645 _ struct{} `type:"structure"`
11646
11647 // The name of the bucket from which the server-side encryption configuration
11648 // is retrieved.
11649 //
11650 // Bucket is a required field
11651 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11652}
11653
11654// String returns the string representation
11655func (s GetBucketEncryptionInput) String() string {
11656 return awsutil.Prettify(s)
11657}
11658
11659// GoString returns the string representation
11660func (s GetBucketEncryptionInput) GoString() string {
11661 return s.String()
11662}
11663
11664// Validate inspects the fields of the type to determine if they are valid.
11665func (s *GetBucketEncryptionInput) Validate() error {
11666 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
11667 if s.Bucket == nil {
11668 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11669 }
107c1cdb
ND
11670 if s.Bucket != nil && len(*s.Bucket) < 1 {
11671 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11672 }
15c0b25d
AP
11673
11674 if invalidParams.Len() > 0 {
11675 return invalidParams
11676 }
11677 return nil
11678}
11679
11680// SetBucket sets the Bucket field's value.
11681func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
11682 s.Bucket = &v
11683 return s
11684}
11685
11686func (s *GetBucketEncryptionInput) getBucket() (v string) {
11687 if s.Bucket == nil {
11688 return v
11689 }
11690 return *s.Bucket
11691}
11692
11693type GetBucketEncryptionOutput struct {
11694 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11695
863486a6 11696 // Specifies the default server-side-encryption configuration.
15c0b25d
AP
11697 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11698}
11699
11700// String returns the string representation
11701func (s GetBucketEncryptionOutput) String() string {
11702 return awsutil.Prettify(s)
11703}
11704
11705// GoString returns the string representation
11706func (s GetBucketEncryptionOutput) GoString() string {
11707 return s.String()
11708}
11709
11710// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
11711func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
11712 s.ServerSideEncryptionConfiguration = v
11713 return s
11714}
11715
bae9f6d2
JC
11716type GetBucketInventoryConfigurationInput struct {
11717 _ struct{} `type:"structure"`
11718
11719 // The name of the bucket containing the inventory configuration to retrieve.
11720 //
11721 // Bucket is a required field
11722 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11723
11724 // The ID used to identify the inventory configuration.
11725 //
11726 // Id is a required field
11727 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
11728}
11729
11730// String returns the string representation
11731func (s GetBucketInventoryConfigurationInput) String() string {
11732 return awsutil.Prettify(s)
11733}
11734
11735// GoString returns the string representation
11736func (s GetBucketInventoryConfigurationInput) GoString() string {
11737 return s.String()
11738}
11739
11740// Validate inspects the fields of the type to determine if they are valid.
11741func (s *GetBucketInventoryConfigurationInput) Validate() error {
11742 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"}
11743 if s.Bucket == nil {
11744 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11745 }
107c1cdb
ND
11746 if s.Bucket != nil && len(*s.Bucket) < 1 {
11747 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11748 }
bae9f6d2
JC
11749 if s.Id == nil {
11750 invalidParams.Add(request.NewErrParamRequired("Id"))
11751 }
11752
11753 if invalidParams.Len() > 0 {
11754 return invalidParams
11755 }
11756 return nil
11757}
11758
11759// SetBucket sets the Bucket field's value.
11760func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput {
11761 s.Bucket = &v
11762 return s
11763}
11764
15c0b25d
AP
11765func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
11766 if s.Bucket == nil {
11767 return v
11768 }
11769 return *s.Bucket
11770}
11771
bae9f6d2
JC
11772// SetId sets the Id field's value.
11773func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
11774 s.Id = &v
11775 return s
11776}
11777
bae9f6d2
JC
11778type GetBucketInventoryConfigurationOutput struct {
11779 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
11780
11781 // Specifies the inventory configuration.
11782 InventoryConfiguration *InventoryConfiguration `type:"structure"`
11783}
11784
11785// String returns the string representation
11786func (s GetBucketInventoryConfigurationOutput) String() string {
11787 return awsutil.Prettify(s)
11788}
11789
11790// GoString returns the string representation
11791func (s GetBucketInventoryConfigurationOutput) GoString() string {
11792 return s.String()
11793}
11794
11795// SetInventoryConfiguration sets the InventoryConfiguration field's value.
11796func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput {
11797 s.InventoryConfiguration = v
11798 return s
11799}
11800
bae9f6d2
JC
11801type GetBucketLifecycleConfigurationInput struct {
11802 _ struct{} `type:"structure"`
11803
11804 // Bucket is a required field
11805 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11806}
11807
11808// String returns the string representation
11809func (s GetBucketLifecycleConfigurationInput) String() string {
11810 return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation
11814func (s GetBucketLifecycleConfigurationInput) GoString() string {
11815 return s.String()
11816}
11817
11818// Validate inspects the fields of the type to determine if they are valid.
11819func (s *GetBucketLifecycleConfigurationInput) Validate() error {
11820 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"}
11821 if s.Bucket == nil {
11822 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11823 }
107c1cdb
ND
11824 if s.Bucket != nil && len(*s.Bucket) < 1 {
11825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11826 }
bae9f6d2
JC
11827
11828 if invalidParams.Len() > 0 {
11829 return invalidParams
11830 }
11831 return nil
11832}
11833
11834// SetBucket sets the Bucket field's value.
11835func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput {
11836 s.Bucket = &v
11837 return s
11838}
11839
15c0b25d
AP
11840func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
11841 if s.Bucket == nil {
11842 return v
11843 }
11844 return *s.Bucket
11845}
11846
bae9f6d2
JC
11847type GetBucketLifecycleConfigurationOutput struct {
11848 _ struct{} `type:"structure"`
11849
11850 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`
11851}
11852
11853// String returns the string representation
11854func (s GetBucketLifecycleConfigurationOutput) String() string {
11855 return awsutil.Prettify(s)
11856}
11857
11858// GoString returns the string representation
11859func (s GetBucketLifecycleConfigurationOutput) GoString() string {
11860 return s.String()
11861}
11862
11863// SetRules sets the Rules field's value.
11864func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput {
11865 s.Rules = v
11866 return s
11867}
11868
bae9f6d2
JC
11869type GetBucketLifecycleInput struct {
11870 _ struct{} `type:"structure"`
11871
11872 // Bucket is a required field
11873 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11874}
11875
11876// String returns the string representation
11877func (s GetBucketLifecycleInput) String() string {
11878 return awsutil.Prettify(s)
11879}
11880
11881// GoString returns the string representation
11882func (s GetBucketLifecycleInput) GoString() string {
11883 return s.String()
11884}
11885
11886// Validate inspects the fields of the type to determine if they are valid.
11887func (s *GetBucketLifecycleInput) Validate() error {
11888 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"}
11889 if s.Bucket == nil {
11890 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11891 }
107c1cdb
ND
11892 if s.Bucket != nil && len(*s.Bucket) < 1 {
11893 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11894 }
bae9f6d2
JC
11895
11896 if invalidParams.Len() > 0 {
11897 return invalidParams
11898 }
11899 return nil
11900}
11901
11902// SetBucket sets the Bucket field's value.
11903func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
11904 s.Bucket = &v
11905 return s
11906}
11907
15c0b25d
AP
11908func (s *GetBucketLifecycleInput) getBucket() (v string) {
11909 if s.Bucket == nil {
11910 return v
11911 }
11912 return *s.Bucket
11913}
11914
bae9f6d2
JC
11915type GetBucketLifecycleOutput struct {
11916 _ struct{} `type:"structure"`
11917
11918 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"`
11919}
11920
11921// String returns the string representation
11922func (s GetBucketLifecycleOutput) String() string {
11923 return awsutil.Prettify(s)
11924}
11925
11926// GoString returns the string representation
11927func (s GetBucketLifecycleOutput) GoString() string {
11928 return s.String()
11929}
11930
11931// SetRules sets the Rules field's value.
11932func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput {
11933 s.Rules = v
11934 return s
11935}
11936
bae9f6d2
JC
11937type GetBucketLocationInput struct {
11938 _ struct{} `type:"structure"`
11939
11940 // Bucket is a required field
11941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11942}
11943
11944// String returns the string representation
11945func (s GetBucketLocationInput) String() string {
11946 return awsutil.Prettify(s)
11947}
11948
11949// GoString returns the string representation
11950func (s GetBucketLocationInput) GoString() string {
11951 return s.String()
11952}
11953
11954// Validate inspects the fields of the type to determine if they are valid.
11955func (s *GetBucketLocationInput) Validate() error {
11956 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"}
11957 if s.Bucket == nil {
11958 invalidParams.Add(request.NewErrParamRequired("Bucket"))
11959 }
107c1cdb
ND
11960 if s.Bucket != nil && len(*s.Bucket) < 1 {
11961 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
11962 }
bae9f6d2
JC
11963
11964 if invalidParams.Len() > 0 {
11965 return invalidParams
11966 }
11967 return nil
11968}
11969
11970// SetBucket sets the Bucket field's value.
11971func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
11972 s.Bucket = &v
11973 return s
11974}
11975
15c0b25d
AP
11976func (s *GetBucketLocationInput) getBucket() (v string) {
11977 if s.Bucket == nil {
11978 return v
11979 }
11980 return *s.Bucket
11981}
11982
11983type GetBucketLocationOutput struct {
11984 _ struct{} `type:"structure"`
bae9f6d2
JC
11985
11986 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
11987}
11988
11989// String returns the string representation
11990func (s GetBucketLocationOutput) String() string {
11991 return awsutil.Prettify(s)
11992}
11993
11994// GoString returns the string representation
11995func (s GetBucketLocationOutput) GoString() string {
11996 return s.String()
11997}
11998
11999// SetLocationConstraint sets the LocationConstraint field's value.
12000func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput {
12001 s.LocationConstraint = &v
12002 return s
12003}
12004
bae9f6d2
JC
12005type GetBucketLoggingInput struct {
12006 _ struct{} `type:"structure"`
12007
12008 // Bucket is a required field
12009 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12010}
12011
12012// String returns the string representation
12013func (s GetBucketLoggingInput) String() string {
12014 return awsutil.Prettify(s)
12015}
12016
12017// GoString returns the string representation
12018func (s GetBucketLoggingInput) GoString() string {
12019 return s.String()
12020}
12021
12022// Validate inspects the fields of the type to determine if they are valid.
12023func (s *GetBucketLoggingInput) Validate() error {
12024 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"}
12025 if s.Bucket == nil {
12026 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12027 }
107c1cdb
ND
12028 if s.Bucket != nil && len(*s.Bucket) < 1 {
12029 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12030 }
bae9f6d2
JC
12031
12032 if invalidParams.Len() > 0 {
12033 return invalidParams
12034 }
12035 return nil
12036}
12037
12038// SetBucket sets the Bucket field's value.
12039func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
12040 s.Bucket = &v
12041 return s
12042}
12043
15c0b25d
AP
12044func (s *GetBucketLoggingInput) getBucket() (v string) {
12045 if s.Bucket == nil {
12046 return v
12047 }
12048 return *s.Bucket
12049}
12050
bae9f6d2
JC
12051type GetBucketLoggingOutput struct {
12052 _ struct{} `type:"structure"`
12053
863486a6
AG
12054 // Describes where logs are stored and the prefix that Amazon S3 assigns to
12055 // all log object keys for a bucket. For more information, see PUT Bucket logging
12056 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
12057 // in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
12058 LoggingEnabled *LoggingEnabled `type:"structure"`
12059}
12060
12061// String returns the string representation
12062func (s GetBucketLoggingOutput) String() string {
12063 return awsutil.Prettify(s)
12064}
12065
12066// GoString returns the string representation
12067func (s GetBucketLoggingOutput) GoString() string {
12068 return s.String()
12069}
12070
12071// SetLoggingEnabled sets the LoggingEnabled field's value.
12072func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput {
12073 s.LoggingEnabled = v
12074 return s
12075}
12076
bae9f6d2
JC
12077type GetBucketMetricsConfigurationInput struct {
12078 _ struct{} `type:"structure"`
12079
12080 // The name of the bucket containing the metrics configuration to retrieve.
12081 //
12082 // Bucket is a required field
12083 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12084
12085 // The ID used to identify the metrics configuration.
12086 //
12087 // Id is a required field
12088 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
12089}
12090
12091// String returns the string representation
12092func (s GetBucketMetricsConfigurationInput) String() string {
12093 return awsutil.Prettify(s)
12094}
12095
12096// GoString returns the string representation
12097func (s GetBucketMetricsConfigurationInput) GoString() string {
12098 return s.String()
12099}
12100
12101// Validate inspects the fields of the type to determine if they are valid.
12102func (s *GetBucketMetricsConfigurationInput) Validate() error {
12103 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"}
12104 if s.Bucket == nil {
12105 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12106 }
107c1cdb
ND
12107 if s.Bucket != nil && len(*s.Bucket) < 1 {
12108 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12109 }
bae9f6d2
JC
12110 if s.Id == nil {
12111 invalidParams.Add(request.NewErrParamRequired("Id"))
12112 }
12113
12114 if invalidParams.Len() > 0 {
12115 return invalidParams
12116 }
12117 return nil
12118}
12119
12120// SetBucket sets the Bucket field's value.
12121func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput {
12122 s.Bucket = &v
12123 return s
12124}
12125
15c0b25d
AP
12126func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
12127 if s.Bucket == nil {
12128 return v
12129 }
12130 return *s.Bucket
12131}
12132
bae9f6d2
JC
12133// SetId sets the Id field's value.
12134func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
12135 s.Id = &v
12136 return s
12137}
12138
bae9f6d2
JC
12139type GetBucketMetricsConfigurationOutput struct {
12140 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
12141
12142 // Specifies the metrics configuration.
12143 MetricsConfiguration *MetricsConfiguration `type:"structure"`
12144}
12145
12146// String returns the string representation
12147func (s GetBucketMetricsConfigurationOutput) String() string {
12148 return awsutil.Prettify(s)
12149}
12150
12151// GoString returns the string representation
12152func (s GetBucketMetricsConfigurationOutput) GoString() string {
12153 return s.String()
12154}
12155
12156// SetMetricsConfiguration sets the MetricsConfiguration field's value.
12157func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput {
12158 s.MetricsConfiguration = v
12159 return s
12160}
12161
bae9f6d2
JC
12162type GetBucketNotificationConfigurationRequest struct {
12163 _ struct{} `type:"structure"`
12164
12165 // Name of the bucket to get the notification configuration for.
12166 //
12167 // Bucket is a required field
12168 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12169}
12170
12171// String returns the string representation
12172func (s GetBucketNotificationConfigurationRequest) String() string {
12173 return awsutil.Prettify(s)
12174}
12175
12176// GoString returns the string representation
12177func (s GetBucketNotificationConfigurationRequest) GoString() string {
12178 return s.String()
12179}
12180
12181// Validate inspects the fields of the type to determine if they are valid.
12182func (s *GetBucketNotificationConfigurationRequest) Validate() error {
12183 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"}
12184 if s.Bucket == nil {
12185 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12186 }
107c1cdb
ND
12187 if s.Bucket != nil && len(*s.Bucket) < 1 {
12188 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12189 }
bae9f6d2
JC
12190
12191 if invalidParams.Len() > 0 {
12192 return invalidParams
12193 }
12194 return nil
12195}
12196
12197// SetBucket sets the Bucket field's value.
12198func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest {
12199 s.Bucket = &v
12200 return s
12201}
12202
15c0b25d
AP
12203func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
12204 if s.Bucket == nil {
12205 return v
12206 }
12207 return *s.Bucket
12208}
12209
bae9f6d2
JC
12210type GetBucketPolicyInput struct {
12211 _ struct{} `type:"structure"`
12212
12213 // Bucket is a required field
12214 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12215}
12216
12217// String returns the string representation
12218func (s GetBucketPolicyInput) String() string {
12219 return awsutil.Prettify(s)
12220}
12221
12222// GoString returns the string representation
12223func (s GetBucketPolicyInput) GoString() string {
12224 return s.String()
12225}
12226
12227// Validate inspects the fields of the type to determine if they are valid.
12228func (s *GetBucketPolicyInput) Validate() error {
12229 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"}
12230 if s.Bucket == nil {
12231 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12232 }
107c1cdb
ND
12233 if s.Bucket != nil && len(*s.Bucket) < 1 {
12234 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12235 }
bae9f6d2
JC
12236
12237 if invalidParams.Len() > 0 {
12238 return invalidParams
12239 }
12240 return nil
12241}
12242
12243// SetBucket sets the Bucket field's value.
12244func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
12245 s.Bucket = &v
12246 return s
12247}
12248
15c0b25d
AP
12249func (s *GetBucketPolicyInput) getBucket() (v string) {
12250 if s.Bucket == nil {
12251 return v
12252 }
12253 return *s.Bucket
12254}
12255
bae9f6d2
JC
12256type GetBucketPolicyOutput struct {
12257 _ struct{} `type:"structure" payload:"Policy"`
12258
12259 // The bucket policy as a JSON document.
12260 Policy *string `type:"string"`
12261}
12262
12263// String returns the string representation
12264func (s GetBucketPolicyOutput) String() string {
12265 return awsutil.Prettify(s)
12266}
12267
12268// GoString returns the string representation
107c1cdb
ND
12269func (s GetBucketPolicyOutput) GoString() string {
12270 return s.String()
12271}
12272
12273// SetPolicy sets the Policy field's value.
12274func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
12275 s.Policy = &v
12276 return s
12277}
12278
12279type GetBucketPolicyStatusInput struct {
12280 _ struct{} `type:"structure"`
12281
12282 // The name of the Amazon S3 bucket whose policy status you want to retrieve.
12283 //
12284 // Bucket is a required field
12285 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12286}
12287
12288// String returns the string representation
12289func (s GetBucketPolicyStatusInput) String() string {
12290 return awsutil.Prettify(s)
12291}
12292
12293// GoString returns the string representation
12294func (s GetBucketPolicyStatusInput) GoString() string {
12295 return s.String()
12296}
12297
12298// Validate inspects the fields of the type to determine if they are valid.
12299func (s *GetBucketPolicyStatusInput) Validate() error {
12300 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyStatusInput"}
12301 if s.Bucket == nil {
12302 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12303 }
12304 if s.Bucket != nil && len(*s.Bucket) < 1 {
12305 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12306 }
12307
12308 if invalidParams.Len() > 0 {
12309 return invalidParams
12310 }
12311 return nil
12312}
12313
12314// SetBucket sets the Bucket field's value.
12315func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput {
12316 s.Bucket = &v
12317 return s
12318}
12319
12320func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
12321 if s.Bucket == nil {
12322 return v
12323 }
12324 return *s.Bucket
12325}
12326
12327type GetBucketPolicyStatusOutput struct {
12328 _ struct{} `type:"structure" payload:"PolicyStatus"`
12329
12330 // The policy status for the specified bucket.
12331 PolicyStatus *PolicyStatus `type:"structure"`
12332}
12333
12334// String returns the string representation
12335func (s GetBucketPolicyStatusOutput) String() string {
12336 return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s GetBucketPolicyStatusOutput) GoString() string {
bae9f6d2
JC
12341 return s.String()
12342}
12343
107c1cdb
ND
12344// SetPolicyStatus sets the PolicyStatus field's value.
12345func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput {
12346 s.PolicyStatus = v
bae9f6d2
JC
12347 return s
12348}
12349
bae9f6d2
JC
12350type GetBucketReplicationInput struct {
12351 _ struct{} `type:"structure"`
12352
12353 // Bucket is a required field
12354 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12355}
12356
12357// String returns the string representation
12358func (s GetBucketReplicationInput) String() string {
12359 return awsutil.Prettify(s)
12360}
12361
12362// GoString returns the string representation
12363func (s GetBucketReplicationInput) GoString() string {
12364 return s.String()
12365}
12366
12367// Validate inspects the fields of the type to determine if they are valid.
12368func (s *GetBucketReplicationInput) Validate() error {
12369 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"}
12370 if s.Bucket == nil {
12371 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12372 }
107c1cdb
ND
12373 if s.Bucket != nil && len(*s.Bucket) < 1 {
12374 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12375 }
bae9f6d2
JC
12376
12377 if invalidParams.Len() > 0 {
12378 return invalidParams
12379 }
12380 return nil
12381}
12382
12383// SetBucket sets the Bucket field's value.
12384func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput {
12385 s.Bucket = &v
12386 return s
12387}
12388
15c0b25d
AP
12389func (s *GetBucketReplicationInput) getBucket() (v string) {
12390 if s.Bucket == nil {
12391 return v
12392 }
12393 return *s.Bucket
12394}
12395
bae9f6d2
JC
12396type GetBucketReplicationOutput struct {
12397 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
12398
107c1cdb
ND
12399 // A container for replication rules. You can add up to 1,000 rules. The maximum
12400 // size of a replication configuration is 2 MB.
bae9f6d2
JC
12401 ReplicationConfiguration *ReplicationConfiguration `type:"structure"`
12402}
12403
12404// String returns the string representation
12405func (s GetBucketReplicationOutput) String() string {
12406 return awsutil.Prettify(s)
12407}
12408
12409// GoString returns the string representation
12410func (s GetBucketReplicationOutput) GoString() string {
12411 return s.String()
12412}
12413
12414// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
12415func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput {
12416 s.ReplicationConfiguration = v
12417 return s
12418}
12419
bae9f6d2
JC
12420type GetBucketRequestPaymentInput struct {
12421 _ struct{} `type:"structure"`
12422
12423 // Bucket is a required field
12424 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12425}
12426
12427// String returns the string representation
12428func (s GetBucketRequestPaymentInput) String() string {
12429 return awsutil.Prettify(s)
12430}
12431
12432// GoString returns the string representation
12433func (s GetBucketRequestPaymentInput) GoString() string {
12434 return s.String()
12435}
12436
12437// Validate inspects the fields of the type to determine if they are valid.
12438func (s *GetBucketRequestPaymentInput) Validate() error {
12439 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"}
12440 if s.Bucket == nil {
12441 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12442 }
107c1cdb
ND
12443 if s.Bucket != nil && len(*s.Bucket) < 1 {
12444 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12445 }
bae9f6d2
JC
12446
12447 if invalidParams.Len() > 0 {
12448 return invalidParams
12449 }
12450 return nil
12451}
12452
12453// SetBucket sets the Bucket field's value.
12454func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput {
12455 s.Bucket = &v
12456 return s
12457}
12458
15c0b25d
AP
12459func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
12460 if s.Bucket == nil {
12461 return v
12462 }
12463 return *s.Bucket
12464}
12465
bae9f6d2
JC
12466type GetBucketRequestPaymentOutput struct {
12467 _ struct{} `type:"structure"`
12468
12469 // Specifies who pays for the download and request fees.
12470 Payer *string `type:"string" enum:"Payer"`
12471}
12472
12473// String returns the string representation
12474func (s GetBucketRequestPaymentOutput) String() string {
12475 return awsutil.Prettify(s)
12476}
12477
12478// GoString returns the string representation
12479func (s GetBucketRequestPaymentOutput) GoString() string {
12480 return s.String()
12481}
12482
12483// SetPayer sets the Payer field's value.
12484func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput {
12485 s.Payer = &v
12486 return s
12487}
12488
bae9f6d2
JC
12489type GetBucketTaggingInput struct {
12490 _ struct{} `type:"structure"`
12491
12492 // Bucket is a required field
12493 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12494}
12495
12496// String returns the string representation
12497func (s GetBucketTaggingInput) String() string {
12498 return awsutil.Prettify(s)
12499}
12500
12501// GoString returns the string representation
12502func (s GetBucketTaggingInput) GoString() string {
12503 return s.String()
12504}
12505
12506// Validate inspects the fields of the type to determine if they are valid.
12507func (s *GetBucketTaggingInput) Validate() error {
12508 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"}
12509 if s.Bucket == nil {
12510 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12511 }
107c1cdb
ND
12512 if s.Bucket != nil && len(*s.Bucket) < 1 {
12513 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12514 }
bae9f6d2
JC
12515
12516 if invalidParams.Len() > 0 {
12517 return invalidParams
12518 }
12519 return nil
12520}
12521
12522// SetBucket sets the Bucket field's value.
12523func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
12524 s.Bucket = &v
12525 return s
12526}
12527
15c0b25d
AP
12528func (s *GetBucketTaggingInput) getBucket() (v string) {
12529 if s.Bucket == nil {
12530 return v
12531 }
12532 return *s.Bucket
12533}
12534
bae9f6d2
JC
12535type GetBucketTaggingOutput struct {
12536 _ struct{} `type:"structure"`
12537
12538 // TagSet is a required field
12539 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
12540}
12541
12542// String returns the string representation
12543func (s GetBucketTaggingOutput) String() string {
12544 return awsutil.Prettify(s)
12545}
12546
12547// GoString returns the string representation
12548func (s GetBucketTaggingOutput) GoString() string {
12549 return s.String()
12550}
12551
12552// SetTagSet sets the TagSet field's value.
12553func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
12554 s.TagSet = v
12555 return s
12556}
12557
bae9f6d2
JC
12558type GetBucketVersioningInput struct {
12559 _ struct{} `type:"structure"`
12560
12561 // Bucket is a required field
12562 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12563}
12564
12565// String returns the string representation
12566func (s GetBucketVersioningInput) String() string {
12567 return awsutil.Prettify(s)
12568}
12569
12570// GoString returns the string representation
12571func (s GetBucketVersioningInput) GoString() string {
12572 return s.String()
12573}
12574
12575// Validate inspects the fields of the type to determine if they are valid.
12576func (s *GetBucketVersioningInput) Validate() error {
12577 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"}
12578 if s.Bucket == nil {
12579 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12580 }
107c1cdb
ND
12581 if s.Bucket != nil && len(*s.Bucket) < 1 {
12582 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12583 }
bae9f6d2
JC
12584
12585 if invalidParams.Len() > 0 {
12586 return invalidParams
12587 }
12588 return nil
12589}
12590
12591// SetBucket sets the Bucket field's value.
12592func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput {
12593 s.Bucket = &v
12594 return s
12595}
12596
15c0b25d
AP
12597func (s *GetBucketVersioningInput) getBucket() (v string) {
12598 if s.Bucket == nil {
12599 return v
12600 }
12601 return *s.Bucket
12602}
12603
bae9f6d2
JC
12604type GetBucketVersioningOutput struct {
12605 _ struct{} `type:"structure"`
12606
12607 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
12608 // This element is only returned if the bucket has been configured with MFA
12609 // delete. If the bucket has never been so configured, this element is not returned.
12610 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"`
12611
12612 // The versioning state of the bucket.
12613 Status *string `type:"string" enum:"BucketVersioningStatus"`
12614}
12615
12616// String returns the string representation
12617func (s GetBucketVersioningOutput) String() string {
12618 return awsutil.Prettify(s)
12619}
12620
12621// GoString returns the string representation
12622func (s GetBucketVersioningOutput) GoString() string {
12623 return s.String()
12624}
12625
12626// SetMFADelete sets the MFADelete field's value.
12627func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput {
12628 s.MFADelete = &v
12629 return s
12630}
12631
12632// SetStatus sets the Status field's value.
12633func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput {
12634 s.Status = &v
12635 return s
12636}
12637
bae9f6d2
JC
12638type GetBucketWebsiteInput struct {
12639 _ struct{} `type:"structure"`
12640
12641 // Bucket is a required field
12642 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12643}
12644
12645// String returns the string representation
12646func (s GetBucketWebsiteInput) String() string {
12647 return awsutil.Prettify(s)
12648}
12649
12650// GoString returns the string representation
12651func (s GetBucketWebsiteInput) GoString() string {
12652 return s.String()
12653}
12654
12655// Validate inspects the fields of the type to determine if they are valid.
12656func (s *GetBucketWebsiteInput) Validate() error {
12657 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"}
12658 if s.Bucket == nil {
12659 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12660 }
107c1cdb
ND
12661 if s.Bucket != nil && len(*s.Bucket) < 1 {
12662 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12663 }
bae9f6d2
JC
12664
12665 if invalidParams.Len() > 0 {
12666 return invalidParams
12667 }
12668 return nil
12669}
12670
12671// SetBucket sets the Bucket field's value.
12672func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
12673 s.Bucket = &v
12674 return s
12675}
12676
15c0b25d
AP
12677func (s *GetBucketWebsiteInput) getBucket() (v string) {
12678 if s.Bucket == nil {
12679 return v
12680 }
12681 return *s.Bucket
12682}
12683
bae9f6d2
JC
12684type GetBucketWebsiteOutput struct {
12685 _ struct{} `type:"structure"`
12686
12687 ErrorDocument *ErrorDocument `type:"structure"`
12688
12689 IndexDocument *IndexDocument `type:"structure"`
12690
863486a6
AG
12691 // Specifies the redirect behavior of all requests to a website endpoint of
12692 // an Amazon S3 bucket.
bae9f6d2
JC
12693 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12694
12695 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
12696}
12697
12698// String returns the string representation
12699func (s GetBucketWebsiteOutput) String() string {
12700 return awsutil.Prettify(s)
12701}
12702
12703// GoString returns the string representation
12704func (s GetBucketWebsiteOutput) GoString() string {
12705 return s.String()
12706}
12707
12708// SetErrorDocument sets the ErrorDocument field's value.
12709func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput {
12710 s.ErrorDocument = v
12711 return s
12712}
12713
12714// SetIndexDocument sets the IndexDocument field's value.
12715func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput {
12716 s.IndexDocument = v
12717 return s
12718}
12719
12720// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
12721func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput {
12722 s.RedirectAllRequestsTo = v
12723 return s
12724}
12725
12726// SetRoutingRules sets the RoutingRules field's value.
12727func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput {
12728 s.RoutingRules = v
12729 return s
12730}
12731
bae9f6d2
JC
12732type GetObjectAclInput struct {
12733 _ struct{} `type:"structure"`
12734
12735 // Bucket is a required field
12736 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12737
12738 // Key is a required field
12739 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12740
12741 // Confirms that the requester knows that she or he will be charged for the
12742 // request. Bucket owners need not specify this parameter in their requests.
12743 // Documentation on downloading objects from requester pays buckets can be found
12744 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12745 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12746
12747 // VersionId used to reference a specific version of the object.
12748 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12749}
12750
12751// String returns the string representation
12752func (s GetObjectAclInput) String() string {
12753 return awsutil.Prettify(s)
12754}
12755
12756// GoString returns the string representation
12757func (s GetObjectAclInput) GoString() string {
12758 return s.String()
12759}
12760
12761// Validate inspects the fields of the type to determine if they are valid.
12762func (s *GetObjectAclInput) Validate() error {
12763 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"}
12764 if s.Bucket == nil {
12765 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12766 }
107c1cdb
ND
12767 if s.Bucket != nil && len(*s.Bucket) < 1 {
12768 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12769 }
bae9f6d2
JC
12770 if s.Key == nil {
12771 invalidParams.Add(request.NewErrParamRequired("Key"))
12772 }
12773 if s.Key != nil && len(*s.Key) < 1 {
12774 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12775 }
12776
12777 if invalidParams.Len() > 0 {
12778 return invalidParams
12779 }
12780 return nil
12781}
12782
12783// SetBucket sets the Bucket field's value.
12784func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
12785 s.Bucket = &v
12786 return s
12787}
12788
15c0b25d
AP
12789func (s *GetObjectAclInput) getBucket() (v string) {
12790 if s.Bucket == nil {
12791 return v
12792 }
12793 return *s.Bucket
12794}
12795
bae9f6d2
JC
12796// SetKey sets the Key field's value.
12797func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
12798 s.Key = &v
12799 return s
12800}
12801
12802// SetRequestPayer sets the RequestPayer field's value.
12803func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput {
12804 s.RequestPayer = &v
12805 return s
12806}
12807
12808// SetVersionId sets the VersionId field's value.
12809func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
12810 s.VersionId = &v
12811 return s
12812}
12813
bae9f6d2
JC
12814type GetObjectAclOutput struct {
12815 _ struct{} `type:"structure"`
12816
12817 // A list of grants.
12818 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
12819
12820 Owner *Owner `type:"structure"`
12821
12822 // If present, indicates that the requester was successfully charged for the
12823 // request.
12824 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
12825}
12826
12827// String returns the string representation
12828func (s GetObjectAclOutput) String() string {
12829 return awsutil.Prettify(s)
12830}
12831
12832// GoString returns the string representation
12833func (s GetObjectAclOutput) GoString() string {
12834 return s.String()
12835}
12836
12837// SetGrants sets the Grants field's value.
12838func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput {
12839 s.Grants = v
12840 return s
12841}
12842
12843// SetOwner sets the Owner field's value.
12844func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput {
12845 s.Owner = v
12846 return s
12847}
12848
12849// SetRequestCharged sets the RequestCharged field's value.
12850func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
12851 s.RequestCharged = &v
12852 return s
12853}
12854
bae9f6d2
JC
12855type GetObjectInput struct {
12856 _ struct{} `type:"structure"`
12857
12858 // Bucket is a required field
12859 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
12860
12861 // Return the object only if its entity tag (ETag) is the same as the one specified,
12862 // otherwise return a 412 (precondition failed).
12863 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
12864
12865 // Return the object only if it has been modified since the specified time,
12866 // otherwise return a 304 (not modified).
15c0b25d 12867 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
bae9f6d2
JC
12868
12869 // Return the object only if its entity tag (ETag) is different from the one
12870 // specified, otherwise return a 304 (not modified).
12871 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
12872
12873 // Return the object only if it has not been modified since the specified time,
12874 // otherwise return a 412 (precondition failed).
15c0b25d 12875 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
bae9f6d2
JC
12876
12877 // Key is a required field
12878 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
12879
12880 // Part number of the object being read. This is a positive integer between
12881 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified.
12882 // Useful for downloading just a part of an object.
12883 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
12884
12885 // Downloads the specified range bytes of an object. For more information about
12886 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
12887 Range *string `location:"header" locationName:"Range" type:"string"`
12888
12889 // Confirms that the requester knows that she or he will be charged for the
12890 // request. Bucket owners need not specify this parameter in their requests.
12891 // Documentation on downloading objects from requester pays buckets can be found
12892 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12893 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
12894
12895 // Sets the Cache-Control header of the response.
12896 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`
12897
12898 // Sets the Content-Disposition header of the response
12899 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`
12900
12901 // Sets the Content-Encoding header of the response.
12902 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`
12903
12904 // Sets the Content-Language header of the response.
12905 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`
12906
12907 // Sets the Content-Type header of the response.
12908 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
12909
12910 // Sets the Expires header of the response.
15c0b25d 12911 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
bae9f6d2
JC
12912
12913 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
12914 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
12915
12916 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
12917 // data. This value is used to store the object and then it is discarded; Amazon
12918 // does not store the encryption key. The key must be appropriate for use with
12919 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12920 // header.
863486a6 12921 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
12922
12923 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12924 // Amazon S3 uses this header for a message integrity check to ensure the encryption
12925 // key was transmitted without error.
12926 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
12927
12928 // VersionId used to reference a specific version of the object.
12929 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
12930}
12931
12932// String returns the string representation
12933func (s GetObjectInput) String() string {
12934 return awsutil.Prettify(s)
12935}
12936
12937// GoString returns the string representation
12938func (s GetObjectInput) GoString() string {
12939 return s.String()
12940}
12941
12942// Validate inspects the fields of the type to determine if they are valid.
12943func (s *GetObjectInput) Validate() error {
12944 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"}
12945 if s.Bucket == nil {
12946 invalidParams.Add(request.NewErrParamRequired("Bucket"))
12947 }
107c1cdb
ND
12948 if s.Bucket != nil && len(*s.Bucket) < 1 {
12949 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
12950 }
bae9f6d2
JC
12951 if s.Key == nil {
12952 invalidParams.Add(request.NewErrParamRequired("Key"))
12953 }
12954 if s.Key != nil && len(*s.Key) < 1 {
12955 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12956 }
12957
12958 if invalidParams.Len() > 0 {
12959 return invalidParams
12960 }
12961 return nil
12962}
12963
12964// SetBucket sets the Bucket field's value.
12965func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
12966 s.Bucket = &v
12967 return s
12968}
12969
15c0b25d
AP
12970func (s *GetObjectInput) getBucket() (v string) {
12971 if s.Bucket == nil {
12972 return v
12973 }
12974 return *s.Bucket
12975}
12976
bae9f6d2
JC
12977// SetIfMatch sets the IfMatch field's value.
12978func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
12979 s.IfMatch = &v
12980 return s
12981}
12982
12983// SetIfModifiedSince sets the IfModifiedSince field's value.
12984func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput {
12985 s.IfModifiedSince = &v
12986 return s
12987}
12988
12989// SetIfNoneMatch sets the IfNoneMatch field's value.
12990func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput {
12991 s.IfNoneMatch = &v
12992 return s
12993}
12994
12995// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
12996func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput {
12997 s.IfUnmodifiedSince = &v
12998 return s
12999}
13000
13001// SetKey sets the Key field's value.
13002func (s *GetObjectInput) SetKey(v string) *GetObjectInput {
13003 s.Key = &v
13004 return s
13005}
13006
13007// SetPartNumber sets the PartNumber field's value.
13008func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput {
13009 s.PartNumber = &v
13010 return s
13011}
13012
13013// SetRange sets the Range field's value.
13014func (s *GetObjectInput) SetRange(v string) *GetObjectInput {
13015 s.Range = &v
13016 return s
13017}
13018
13019// SetRequestPayer sets the RequestPayer field's value.
13020func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput {
13021 s.RequestPayer = &v
13022 return s
13023}
13024
13025// SetResponseCacheControl sets the ResponseCacheControl field's value.
13026func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput {
13027 s.ResponseCacheControl = &v
13028 return s
13029}
13030
13031// SetResponseContentDisposition sets the ResponseContentDisposition field's value.
13032func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput {
13033 s.ResponseContentDisposition = &v
13034 return s
13035}
13036
13037// SetResponseContentEncoding sets the ResponseContentEncoding field's value.
13038func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput {
13039 s.ResponseContentEncoding = &v
13040 return s
13041}
13042
13043// SetResponseContentLanguage sets the ResponseContentLanguage field's value.
13044func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput {
13045 s.ResponseContentLanguage = &v
13046 return s
13047}
13048
13049// SetResponseContentType sets the ResponseContentType field's value.
13050func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput {
13051 s.ResponseContentType = &v
13052 return s
13053}
13054
13055// SetResponseExpires sets the ResponseExpires field's value.
13056func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput {
13057 s.ResponseExpires = &v
13058 return s
13059}
13060
13061// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13062func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput {
13063 s.SSECustomerAlgorithm = &v
13064 return s
13065}
13066
13067// SetSSECustomerKey sets the SSECustomerKey field's value.
13068func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
13069 s.SSECustomerKey = &v
13070 return s
13071}
13072
15c0b25d
AP
13073func (s *GetObjectInput) getSSECustomerKey() (v string) {
13074 if s.SSECustomerKey == nil {
13075 return v
13076 }
13077 return *s.SSECustomerKey
13078}
13079
bae9f6d2
JC
13080// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13081func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
13082 s.SSECustomerKeyMD5 = &v
13083 return s
13084}
13085
13086// SetVersionId sets the VersionId field's value.
13087func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
13088 s.VersionId = &v
13089 return s
13090}
13091
107c1cdb
ND
13092type GetObjectLegalHoldInput struct {
13093 _ struct{} `type:"structure"`
13094
13095 // The bucket containing the object whose Legal Hold status you want to retrieve.
13096 //
13097 // Bucket is a required field
13098 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13099
13100 // The key name for the object whose Legal Hold status you want to retrieve.
13101 //
13102 // Key is a required field
13103 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13104
13105 // Confirms that the requester knows that she or he will be charged for the
13106 // request. Bucket owners need not specify this parameter in their requests.
13107 // Documentation on downloading objects from requester pays buckets can be found
13108 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13109 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13110
13111 // The version ID of the object whose Legal Hold status you want to retrieve.
13112 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13113}
13114
13115// String returns the string representation
13116func (s GetObjectLegalHoldInput) String() string {
13117 return awsutil.Prettify(s)
13118}
13119
13120// GoString returns the string representation
13121func (s GetObjectLegalHoldInput) GoString() string {
13122 return s.String()
13123}
13124
13125// Validate inspects the fields of the type to determine if they are valid.
13126func (s *GetObjectLegalHoldInput) Validate() error {
13127 invalidParams := request.ErrInvalidParams{Context: "GetObjectLegalHoldInput"}
13128 if s.Bucket == nil {
13129 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13130 }
13131 if s.Bucket != nil && len(*s.Bucket) < 1 {
13132 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13133 }
13134 if s.Key == nil {
13135 invalidParams.Add(request.NewErrParamRequired("Key"))
13136 }
13137 if s.Key != nil && len(*s.Key) < 1 {
13138 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13139 }
13140
13141 if invalidParams.Len() > 0 {
13142 return invalidParams
13143 }
13144 return nil
13145}
13146
13147// SetBucket sets the Bucket field's value.
13148func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput {
13149 s.Bucket = &v
13150 return s
13151}
13152
13153func (s *GetObjectLegalHoldInput) getBucket() (v string) {
13154 if s.Bucket == nil {
13155 return v
13156 }
13157 return *s.Bucket
13158}
13159
13160// SetKey sets the Key field's value.
13161func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput {
13162 s.Key = &v
13163 return s
13164}
13165
13166// SetRequestPayer sets the RequestPayer field's value.
13167func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput {
13168 s.RequestPayer = &v
13169 return s
13170}
13171
13172// SetVersionId sets the VersionId field's value.
13173func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput {
13174 s.VersionId = &v
13175 return s
13176}
13177
13178type GetObjectLegalHoldOutput struct {
13179 _ struct{} `type:"structure" payload:"LegalHold"`
13180
13181 // The current Legal Hold status for the specified object.
13182 LegalHold *ObjectLockLegalHold `type:"structure"`
13183}
13184
13185// String returns the string representation
13186func (s GetObjectLegalHoldOutput) String() string {
13187 return awsutil.Prettify(s)
13188}
13189
13190// GoString returns the string representation
13191func (s GetObjectLegalHoldOutput) GoString() string {
13192 return s.String()
13193}
13194
13195// SetLegalHold sets the LegalHold field's value.
13196func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput {
13197 s.LegalHold = v
13198 return s
13199}
13200
13201type GetObjectLockConfigurationInput struct {
13202 _ struct{} `type:"structure"`
13203
863486a6 13204 // The bucket whose object lock configuration you want to retrieve.
107c1cdb
ND
13205 //
13206 // Bucket is a required field
13207 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13208}
13209
13210// String returns the string representation
13211func (s GetObjectLockConfigurationInput) String() string {
13212 return awsutil.Prettify(s)
13213}
13214
13215// GoString returns the string representation
13216func (s GetObjectLockConfigurationInput) GoString() string {
13217 return s.String()
13218}
13219
13220// Validate inspects the fields of the type to determine if they are valid.
13221func (s *GetObjectLockConfigurationInput) Validate() error {
13222 invalidParams := request.ErrInvalidParams{Context: "GetObjectLockConfigurationInput"}
13223 if s.Bucket == nil {
13224 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13225 }
13226 if s.Bucket != nil && len(*s.Bucket) < 1 {
13227 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13228 }
13229
13230 if invalidParams.Len() > 0 {
13231 return invalidParams
13232 }
13233 return nil
13234}
13235
13236// SetBucket sets the Bucket field's value.
13237func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput {
13238 s.Bucket = &v
13239 return s
13240}
13241
13242func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13243 if s.Bucket == nil {
13244 return v
13245 }
13246 return *s.Bucket
13247}
13248
13249type GetObjectLockConfigurationOutput struct {
13250 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13251
863486a6 13252 // The specified bucket's object lock configuration.
107c1cdb
ND
13253 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13254}
13255
13256// String returns the string representation
13257func (s GetObjectLockConfigurationOutput) String() string {
13258 return awsutil.Prettify(s)
13259}
13260
13261// GoString returns the string representation
13262func (s GetObjectLockConfigurationOutput) GoString() string {
13263 return s.String()
13264}
13265
13266// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
13267func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput {
13268 s.ObjectLockConfiguration = v
13269 return s
13270}
13271
bae9f6d2
JC
13272type GetObjectOutput struct {
13273 _ struct{} `type:"structure" payload:"Body"`
13274
13275 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
13276
13277 // Object data.
13278 Body io.ReadCloser `type:"blob"`
13279
13280 // Specifies caching behavior along the request/reply chain.
13281 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
13282
13283 // Specifies presentational information for the object.
13284 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
13285
13286 // Specifies what content encodings have been applied to the object and thus
13287 // what decoding mechanisms must be applied to obtain the media-type referenced
13288 // by the Content-Type header field.
13289 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
13290
13291 // The language the content is in.
13292 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
13293
13294 // Size of the body in bytes.
13295 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
13296
13297 // The portion of the object returned in the response.
13298 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
13299
13300 // A standard MIME type describing the format of the object data.
13301 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
13302
13303 // Specifies whether the object retrieved was (true) or was not (false) a Delete
13304 // Marker. If false, this response header does not appear in the response.
13305 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
13306
13307 // An ETag is an opaque identifier assigned by a web server to a specific version
13308 // of a resource found at a URL
13309 ETag *string `location:"header" locationName:"ETag" type:"string"`
13310
13311 // If the object expiration is configured (see PUT Bucket lifecycle), the response
13312 // includes this header. It includes the expiry-date and rule-id key value pairs
13313 // providing object expiration information. The value of the rule-id is URL
13314 // encoded.
13315 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
13316
13317 // The date and time at which the object is no longer cacheable.
13318 Expires *string `location:"header" locationName:"Expires" type:"string"`
13319
13320 // Last modified date of the object
15c0b25d 13321 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
bae9f6d2
JC
13322
13323 // A map of metadata to store with the object in S3.
13324 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
13325
13326 // This is set to the number of metadata entries not returned in x-amz-meta
13327 // headers. This can happen if you create metadata using an API like SOAP that
13328 // supports more flexible metadata than the REST API. For example, using SOAP,
13329 // you can create metadata whose values are not legal HTTP headers.
13330 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
13331
107c1cdb
ND
13332 // Indicates whether this object has an active legal hold. This field is only
13333 // returned if you have permission to view an object's legal hold status.
13334 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
13335
863486a6 13336 // The object lock mode currently in place for this object.
107c1cdb
ND
13337 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
13338
863486a6 13339 // The date and time when this object's object lock will expire.
107c1cdb
ND
13340 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
13341
bae9f6d2
JC
13342 // The count of parts this object has.
13343 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
13344
13345 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
13346
13347 // If present, indicates that the requester was successfully charged for the
13348 // request.
13349 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13350
13351 // Provides information about object restoration operation and expiration time
13352 // of the restored object copy.
13353 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
13354
13355 // If server-side encryption with a customer-provided encryption key was requested,
13356 // the response will include this header confirming the encryption algorithm
13357 // used.
13358 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
13359
13360 // If server-side encryption with a customer-provided encryption key was requested,
13361 // the response will include this header to provide round trip message integrity
13362 // verification of the customer-provided encryption key.
13363 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
13364
13365 // If present, specifies the ID of the AWS Key Management Service (KMS) master
13366 // encryption key that was used for the object.
107c1cdb 13367 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
13368
13369 // The Server-side encryption algorithm used when storing this object in S3
13370 // (e.g., AES256, aws:kms).
13371 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
13372
13373 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
13374
13375 // The number of tags, if any, on the object.
13376 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"`
13377
13378 // Version of the object.
13379 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13380
13381 // If the bucket is configured as a website, redirects requests for this object
13382 // to another object in the same bucket or to an external URL. Amazon S3 stores
13383 // the value of this header in the object metadata.
13384 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
13385}
13386
13387// String returns the string representation
13388func (s GetObjectOutput) String() string {
13389 return awsutil.Prettify(s)
13390}
13391
13392// GoString returns the string representation
13393func (s GetObjectOutput) GoString() string {
13394 return s.String()
13395}
13396
13397// SetAcceptRanges sets the AcceptRanges field's value.
13398func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput {
13399 s.AcceptRanges = &v
13400 return s
13401}
13402
13403// SetBody sets the Body field's value.
13404func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput {
13405 s.Body = v
13406 return s
13407}
13408
13409// SetCacheControl sets the CacheControl field's value.
13410func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
13411 s.CacheControl = &v
13412 return s
13413}
13414
13415// SetContentDisposition sets the ContentDisposition field's value.
13416func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
13417 s.ContentDisposition = &v
13418 return s
13419}
13420
13421// SetContentEncoding sets the ContentEncoding field's value.
13422func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput {
13423 s.ContentEncoding = &v
13424 return s
13425}
13426
13427// SetContentLanguage sets the ContentLanguage field's value.
13428func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput {
13429 s.ContentLanguage = &v
13430 return s
13431}
13432
13433// SetContentLength sets the ContentLength field's value.
13434func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput {
13435 s.ContentLength = &v
13436 return s
13437}
13438
13439// SetContentRange sets the ContentRange field's value.
13440func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput {
13441 s.ContentRange = &v
13442 return s
13443}
13444
13445// SetContentType sets the ContentType field's value.
13446func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput {
13447 s.ContentType = &v
13448 return s
13449}
13450
13451// SetDeleteMarker sets the DeleteMarker field's value.
13452func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput {
13453 s.DeleteMarker = &v
13454 return s
13455}
13456
13457// SetETag sets the ETag field's value.
13458func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput {
13459 s.ETag = &v
13460 return s
13461}
13462
13463// SetExpiration sets the Expiration field's value.
13464func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput {
13465 s.Expiration = &v
13466 return s
13467}
13468
13469// SetExpires sets the Expires field's value.
13470func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput {
13471 s.Expires = &v
13472 return s
13473}
13474
13475// SetLastModified sets the LastModified field's value.
13476func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput {
13477 s.LastModified = &v
13478 return s
13479}
13480
13481// SetMetadata sets the Metadata field's value.
13482func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput {
13483 s.Metadata = v
13484 return s
13485}
13486
13487// SetMissingMeta sets the MissingMeta field's value.
13488func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput {
13489 s.MissingMeta = &v
13490 return s
13491}
13492
107c1cdb
ND
13493// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
13494func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput {
13495 s.ObjectLockLegalHoldStatus = &v
13496 return s
13497}
13498
13499// SetObjectLockMode sets the ObjectLockMode field's value.
13500func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput {
13501 s.ObjectLockMode = &v
13502 return s
13503}
13504
13505// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
13506func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput {
13507 s.ObjectLockRetainUntilDate = &v
13508 return s
13509}
13510
bae9f6d2
JC
13511// SetPartsCount sets the PartsCount field's value.
13512func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput {
13513 s.PartsCount = &v
13514 return s
13515}
13516
13517// SetReplicationStatus sets the ReplicationStatus field's value.
13518func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput {
13519 s.ReplicationStatus = &v
13520 return s
13521}
13522
13523// SetRequestCharged sets the RequestCharged field's value.
13524func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput {
13525 s.RequestCharged = &v
13526 return s
13527}
13528
13529// SetRestore sets the Restore field's value.
13530func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput {
13531 s.Restore = &v
13532 return s
13533}
13534
13535// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
13536func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput {
13537 s.SSECustomerAlgorithm = &v
13538 return s
13539}
13540
13541// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
13542func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput {
13543 s.SSECustomerKeyMD5 = &v
13544 return s
13545}
13546
107c1cdb
ND
13547// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
13548func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput {
13549 s.SSEKMSKeyId = &v
13550 return s
13551}
13552
13553// SetServerSideEncryption sets the ServerSideEncryption field's value.
13554func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput {
13555 s.ServerSideEncryption = &v
13556 return s
13557}
13558
13559// SetStorageClass sets the StorageClass field's value.
13560func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput {
13561 s.StorageClass = &v
13562 return s
13563}
13564
13565// SetTagCount sets the TagCount field's value.
13566func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput {
13567 s.TagCount = &v
13568 return s
13569}
13570
13571// SetVersionId sets the VersionId field's value.
13572func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput {
13573 s.VersionId = &v
13574 return s
13575}
13576
13577// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
13578func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput {
13579 s.WebsiteRedirectLocation = &v
13580 return s
13581}
13582
13583type GetObjectRetentionInput struct {
13584 _ struct{} `type:"structure"`
13585
13586 // The bucket containing the object whose retention settings you want to retrieve.
13587 //
13588 // Bucket is a required field
13589 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13590
13591 // The key name for the object whose retention settings you want to retrieve.
13592 //
13593 // Key is a required field
13594 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13595
13596 // Confirms that the requester knows that she or he will be charged for the
13597 // request. Bucket owners need not specify this parameter in their requests.
13598 // Documentation on downloading objects from requester pays buckets can be found
13599 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13600 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13601
13602 // The version ID for the object whose retention settings you want to retrieve.
13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13604}
13605
13606// String returns the string representation
13607func (s GetObjectRetentionInput) String() string {
13608 return awsutil.Prettify(s)
13609}
13610
13611// GoString returns the string representation
13612func (s GetObjectRetentionInput) GoString() string {
13613 return s.String()
13614}
13615
13616// Validate inspects the fields of the type to determine if they are valid.
13617func (s *GetObjectRetentionInput) Validate() error {
13618 invalidParams := request.ErrInvalidParams{Context: "GetObjectRetentionInput"}
13619 if s.Bucket == nil {
13620 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13621 }
13622 if s.Bucket != nil && len(*s.Bucket) < 1 {
13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13624 }
13625 if s.Key == nil {
13626 invalidParams.Add(request.NewErrParamRequired("Key"))
13627 }
13628 if s.Key != nil && len(*s.Key) < 1 {
13629 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13630 }
13631
13632 if invalidParams.Len() > 0 {
13633 return invalidParams
13634 }
13635 return nil
13636}
13637
13638// SetBucket sets the Bucket field's value.
13639func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput {
13640 s.Bucket = &v
13641 return s
13642}
13643
13644func (s *GetObjectRetentionInput) getBucket() (v string) {
13645 if s.Bucket == nil {
13646 return v
13647 }
13648 return *s.Bucket
13649}
13650
13651// SetKey sets the Key field's value.
13652func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput {
13653 s.Key = &v
13654 return s
13655}
13656
13657// SetRequestPayer sets the RequestPayer field's value.
13658func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput {
13659 s.RequestPayer = &v
bae9f6d2
JC
13660 return s
13661}
13662
107c1cdb
ND
13663// SetVersionId sets the VersionId field's value.
13664func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput {
13665 s.VersionId = &v
bae9f6d2
JC
13666 return s
13667}
13668
107c1cdb
ND
13669type GetObjectRetentionOutput struct {
13670 _ struct{} `type:"structure" payload:"Retention"`
13671
13672 // The container element for an object's retention settings.
13673 Retention *ObjectLockRetention `type:"structure"`
bae9f6d2
JC
13674}
13675
107c1cdb
ND
13676// String returns the string representation
13677func (s GetObjectRetentionOutput) String() string {
13678 return awsutil.Prettify(s)
bae9f6d2
JC
13679}
13680
107c1cdb
ND
13681// GoString returns the string representation
13682func (s GetObjectRetentionOutput) GoString() string {
13683 return s.String()
bae9f6d2
JC
13684}
13685
107c1cdb
ND
13686// SetRetention sets the Retention field's value.
13687func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput {
13688 s.Retention = v
bae9f6d2
JC
13689 return s
13690}
13691
bae9f6d2
JC
13692type GetObjectTaggingInput struct {
13693 _ struct{} `type:"structure"`
13694
13695 // Bucket is a required field
13696 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13697
13698 // Key is a required field
13699 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13700
13701 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
13702}
13703
13704// String returns the string representation
13705func (s GetObjectTaggingInput) String() string {
13706 return awsutil.Prettify(s)
13707}
13708
13709// GoString returns the string representation
13710func (s GetObjectTaggingInput) GoString() string {
13711 return s.String()
13712}
13713
13714// Validate inspects the fields of the type to determine if they are valid.
13715func (s *GetObjectTaggingInput) Validate() error {
13716 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"}
13717 if s.Bucket == nil {
13718 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13719 }
107c1cdb
ND
13720 if s.Bucket != nil && len(*s.Bucket) < 1 {
13721 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13722 }
bae9f6d2
JC
13723 if s.Key == nil {
13724 invalidParams.Add(request.NewErrParamRequired("Key"))
13725 }
13726 if s.Key != nil && len(*s.Key) < 1 {
13727 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13728 }
13729
13730 if invalidParams.Len() > 0 {
13731 return invalidParams
13732 }
13733 return nil
13734}
13735
13736// SetBucket sets the Bucket field's value.
13737func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
13738 s.Bucket = &v
13739 return s
13740}
13741
15c0b25d
AP
13742func (s *GetObjectTaggingInput) getBucket() (v string) {
13743 if s.Bucket == nil {
13744 return v
13745 }
13746 return *s.Bucket
13747}
13748
bae9f6d2
JC
13749// SetKey sets the Key field's value.
13750func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
13751 s.Key = &v
13752 return s
13753}
13754
13755// SetVersionId sets the VersionId field's value.
13756func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
13757 s.VersionId = &v
13758 return s
13759}
13760
bae9f6d2
JC
13761type GetObjectTaggingOutput struct {
13762 _ struct{} `type:"structure"`
13763
13764 // TagSet is a required field
13765 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13766
13767 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
13768}
13769
13770// String returns the string representation
13771func (s GetObjectTaggingOutput) String() string {
13772 return awsutil.Prettify(s)
13773}
13774
13775// GoString returns the string representation
13776func (s GetObjectTaggingOutput) GoString() string {
13777 return s.String()
13778}
13779
13780// SetTagSet sets the TagSet field's value.
13781func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput {
13782 s.TagSet = v
13783 return s
13784}
13785
13786// SetVersionId sets the VersionId field's value.
13787func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput {
13788 s.VersionId = &v
13789 return s
13790}
13791
bae9f6d2
JC
13792type GetObjectTorrentInput struct {
13793 _ struct{} `type:"structure"`
13794
13795 // Bucket is a required field
13796 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13797
13798 // Key is a required field
13799 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
13800
13801 // Confirms that the requester knows that she or he will be charged for the
13802 // request. Bucket owners need not specify this parameter in their requests.
13803 // Documentation on downloading objects from requester pays buckets can be found
13804 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13805 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
13806}
13807
13808// String returns the string representation
13809func (s GetObjectTorrentInput) String() string {
13810 return awsutil.Prettify(s)
13811}
13812
13813// GoString returns the string representation
13814func (s GetObjectTorrentInput) GoString() string {
13815 return s.String()
13816}
13817
13818// Validate inspects the fields of the type to determine if they are valid.
13819func (s *GetObjectTorrentInput) Validate() error {
13820 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"}
13821 if s.Bucket == nil {
13822 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13823 }
107c1cdb
ND
13824 if s.Bucket != nil && len(*s.Bucket) < 1 {
13825 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13826 }
bae9f6d2
JC
13827 if s.Key == nil {
13828 invalidParams.Add(request.NewErrParamRequired("Key"))
13829 }
13830 if s.Key != nil && len(*s.Key) < 1 {
13831 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13832 }
13833
13834 if invalidParams.Len() > 0 {
13835 return invalidParams
13836 }
13837 return nil
13838}
13839
13840// SetBucket sets the Bucket field's value.
13841func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
13842 s.Bucket = &v
13843 return s
13844}
13845
15c0b25d
AP
13846func (s *GetObjectTorrentInput) getBucket() (v string) {
13847 if s.Bucket == nil {
13848 return v
13849 }
13850 return *s.Bucket
13851}
13852
bae9f6d2
JC
13853// SetKey sets the Key field's value.
13854func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
13855 s.Key = &v
13856 return s
13857}
13858
13859// SetRequestPayer sets the RequestPayer field's value.
13860func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput {
13861 s.RequestPayer = &v
13862 return s
13863}
13864
bae9f6d2
JC
13865type GetObjectTorrentOutput struct {
13866 _ struct{} `type:"structure" payload:"Body"`
13867
13868 Body io.ReadCloser `type:"blob"`
13869
13870 // If present, indicates that the requester was successfully charged for the
13871 // request.
13872 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
13873}
13874
13875// String returns the string representation
13876func (s GetObjectTorrentOutput) String() string {
13877 return awsutil.Prettify(s)
13878}
13879
13880// GoString returns the string representation
13881func (s GetObjectTorrentOutput) GoString() string {
13882 return s.String()
13883}
13884
13885// SetBody sets the Body field's value.
13886func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput {
13887 s.Body = v
13888 return s
13889}
13890
13891// SetRequestCharged sets the RequestCharged field's value.
13892func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput {
13893 s.RequestCharged = &v
13894 return s
13895}
13896
107c1cdb
ND
13897type GetPublicAccessBlockInput struct {
13898 _ struct{} `type:"structure"`
13899
13900 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
13901 // want to retrieve.
13902 //
13903 // Bucket is a required field
13904 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
13905}
13906
13907// String returns the string representation
13908func (s GetPublicAccessBlockInput) String() string {
13909 return awsutil.Prettify(s)
13910}
13911
13912// GoString returns the string representation
13913func (s GetPublicAccessBlockInput) GoString() string {
13914 return s.String()
13915}
13916
13917// Validate inspects the fields of the type to determine if they are valid.
13918func (s *GetPublicAccessBlockInput) Validate() error {
13919 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"}
13920 if s.Bucket == nil {
13921 invalidParams.Add(request.NewErrParamRequired("Bucket"))
13922 }
13923 if s.Bucket != nil && len(*s.Bucket) < 1 {
13924 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
13925 }
13926
13927 if invalidParams.Len() > 0 {
13928 return invalidParams
13929 }
13930 return nil
13931}
13932
13933// SetBucket sets the Bucket field's value.
13934func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput {
13935 s.Bucket = &v
13936 return s
13937}
13938
13939func (s *GetPublicAccessBlockInput) getBucket() (v string) {
13940 if s.Bucket == nil {
13941 return v
13942 }
13943 return *s.Bucket
13944}
13945
13946type GetPublicAccessBlockOutput struct {
13947 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
13948
13949 // The PublicAccessBlock configuration currently in effect for this Amazon S3
13950 // bucket.
13951 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"`
13952}
13953
13954// String returns the string representation
13955func (s GetPublicAccessBlockOutput) String() string {
13956 return awsutil.Prettify(s)
13957}
13958
13959// GoString returns the string representation
13960func (s GetPublicAccessBlockOutput) GoString() string {
13961 return s.String()
13962}
13963
13964// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
13965func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput {
13966 s.PublicAccessBlockConfiguration = v
13967 return s
13968}
13969
bae9f6d2
JC
13970type GlacierJobParameters struct {
13971 _ struct{} `type:"structure"`
13972
13973 // Glacier retrieval tier at which the restore will be processed.
13974 //
13975 // Tier is a required field
13976 Tier *string `type:"string" required:"true" enum:"Tier"`
13977}
13978
13979// String returns the string representation
13980func (s GlacierJobParameters) String() string {
13981 return awsutil.Prettify(s)
13982}
13983
13984// GoString returns the string representation
13985func (s GlacierJobParameters) GoString() string {
13986 return s.String()
13987}
13988
13989// Validate inspects the fields of the type to determine if they are valid.
13990func (s *GlacierJobParameters) Validate() error {
13991 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"}
13992 if s.Tier == nil {
13993 invalidParams.Add(request.NewErrParamRequired("Tier"))
13994 }
13995
13996 if invalidParams.Len() > 0 {
13997 return invalidParams
13998 }
13999 return nil
14000}
14001
14002// SetTier sets the Tier field's value.
14003func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
14004 s.Tier = &v
14005 return s
14006}
14007
bae9f6d2
JC
14008type Grant struct {
14009 _ struct{} `type:"structure"`
14010
15c0b25d 14011 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
bae9f6d2
JC
14012
14013 // Specifies the permission given to the grantee.
14014 Permission *string `type:"string" enum:"Permission"`
14015}
14016
14017// String returns the string representation
14018func (s Grant) String() string {
14019 return awsutil.Prettify(s)
14020}
14021
14022// GoString returns the string representation
14023func (s Grant) GoString() string {
14024 return s.String()
14025}
14026
14027// Validate inspects the fields of the type to determine if they are valid.
14028func (s *Grant) Validate() error {
14029 invalidParams := request.ErrInvalidParams{Context: "Grant"}
14030 if s.Grantee != nil {
14031 if err := s.Grantee.Validate(); err != nil {
14032 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
14033 }
14034 }
14035
14036 if invalidParams.Len() > 0 {
14037 return invalidParams
14038 }
14039 return nil
14040}
14041
14042// SetGrantee sets the Grantee field's value.
14043func (s *Grant) SetGrantee(v *Grantee) *Grant {
14044 s.Grantee = v
14045 return s
14046}
14047
14048// SetPermission sets the Permission field's value.
14049func (s *Grant) SetPermission(v string) *Grant {
14050 s.Permission = &v
14051 return s
14052}
14053
bae9f6d2
JC
14054type Grantee struct {
14055 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
14056
14057 // Screen name of the grantee.
14058 DisplayName *string `type:"string"`
14059
14060 // Email address of the grantee.
14061 EmailAddress *string `type:"string"`
14062
14063 // The canonical user ID of the grantee.
14064 ID *string `type:"string"`
14065
14066 // Type of grantee
14067 //
14068 // Type is a required field
14069 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"`
14070
14071 // URI of the grantee group.
14072 URI *string `type:"string"`
14073}
14074
14075// String returns the string representation
14076func (s Grantee) String() string {
14077 return awsutil.Prettify(s)
14078}
14079
14080// GoString returns the string representation
14081func (s Grantee) GoString() string {
14082 return s.String()
14083}
14084
14085// Validate inspects the fields of the type to determine if they are valid.
14086func (s *Grantee) Validate() error {
14087 invalidParams := request.ErrInvalidParams{Context: "Grantee"}
14088 if s.Type == nil {
14089 invalidParams.Add(request.NewErrParamRequired("Type"))
14090 }
14091
14092 if invalidParams.Len() > 0 {
14093 return invalidParams
14094 }
14095 return nil
14096}
14097
14098// SetDisplayName sets the DisplayName field's value.
14099func (s *Grantee) SetDisplayName(v string) *Grantee {
14100 s.DisplayName = &v
14101 return s
14102}
14103
14104// SetEmailAddress sets the EmailAddress field's value.
14105func (s *Grantee) SetEmailAddress(v string) *Grantee {
14106 s.EmailAddress = &v
14107 return s
14108}
14109
14110// SetID sets the ID field's value.
14111func (s *Grantee) SetID(v string) *Grantee {
14112 s.ID = &v
14113 return s
14114}
14115
14116// SetType sets the Type field's value.
14117func (s *Grantee) SetType(v string) *Grantee {
14118 s.Type = &v
14119 return s
14120}
14121
14122// SetURI sets the URI field's value.
14123func (s *Grantee) SetURI(v string) *Grantee {
14124 s.URI = &v
14125 return s
14126}
14127
bae9f6d2
JC
14128type HeadBucketInput struct {
14129 _ struct{} `type:"structure"`
14130
14131 // Bucket is a required field
14132 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14133}
14134
14135// String returns the string representation
14136func (s HeadBucketInput) String() string {
14137 return awsutil.Prettify(s)
14138}
14139
14140// GoString returns the string representation
14141func (s HeadBucketInput) GoString() string {
14142 return s.String()
14143}
14144
14145// Validate inspects the fields of the type to determine if they are valid.
14146func (s *HeadBucketInput) Validate() error {
14147 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"}
14148 if s.Bucket == nil {
14149 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14150 }
107c1cdb
ND
14151 if s.Bucket != nil && len(*s.Bucket) < 1 {
14152 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14153 }
bae9f6d2
JC
14154
14155 if invalidParams.Len() > 0 {
14156 return invalidParams
14157 }
14158 return nil
14159}
14160
14161// SetBucket sets the Bucket field's value.
14162func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
14163 s.Bucket = &v
14164 return s
14165}
14166
15c0b25d
AP
14167func (s *HeadBucketInput) getBucket() (v string) {
14168 if s.Bucket == nil {
14169 return v
14170 }
14171 return *s.Bucket
14172}
14173
bae9f6d2
JC
14174type HeadBucketOutput struct {
14175 _ struct{} `type:"structure"`
14176}
14177
14178// String returns the string representation
14179func (s HeadBucketOutput) String() string {
14180 return awsutil.Prettify(s)
14181}
14182
14183// GoString returns the string representation
14184func (s HeadBucketOutput) GoString() string {
14185 return s.String()
14186}
14187
bae9f6d2
JC
14188type HeadObjectInput struct {
14189 _ struct{} `type:"structure"`
14190
14191 // Bucket is a required field
14192 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
14193
14194 // Return the object only if its entity tag (ETag) is the same as the one specified,
14195 // otherwise return a 412 (precondition failed).
14196 IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
14197
14198 // Return the object only if it has been modified since the specified time,
14199 // otherwise return a 304 (not modified).
15c0b25d 14200 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
bae9f6d2
JC
14201
14202 // Return the object only if its entity tag (ETag) is different from the one
14203 // specified, otherwise return a 304 (not modified).
14204 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
14205
14206 // Return the object only if it has not been modified since the specified time,
14207 // otherwise return a 412 (precondition failed).
15c0b25d 14208 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
bae9f6d2
JC
14209
14210 // Key is a required field
14211 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
14212
14213 // Part number of the object being read. This is a positive integer between
14214 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
14215 // Useful querying about the size of the part and the number of parts in this
14216 // object.
14217 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
14218
14219 // Downloads the specified range bytes of an object. For more information about
14220 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
14221 Range *string `location:"header" locationName:"Range" type:"string"`
14222
14223 // Confirms that the requester knows that she or he will be charged for the
14224 // request. Bucket owners need not specify this parameter in their requests.
14225 // Documentation on downloading objects from requester pays buckets can be found
14226 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
14227 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
14228
14229 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
14230 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14231
14232 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
14233 // data. This value is used to store the object and then it is discarded; Amazon
14234 // does not store the encryption key. The key must be appropriate for use with
14235 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
14236 // header.
863486a6 14237 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
14238
14239 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
14240 // Amazon S3 uses this header for a message integrity check to ensure the encryption
14241 // key was transmitted without error.
14242 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14243
14244 // VersionId used to reference a specific version of the object.
14245 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
14246}
14247
14248// String returns the string representation
14249func (s HeadObjectInput) String() string {
14250 return awsutil.Prettify(s)
14251}
14252
14253// GoString returns the string representation
14254func (s HeadObjectInput) GoString() string {
14255 return s.String()
14256}
14257
14258// Validate inspects the fields of the type to determine if they are valid.
14259func (s *HeadObjectInput) Validate() error {
14260 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"}
14261 if s.Bucket == nil {
14262 invalidParams.Add(request.NewErrParamRequired("Bucket"))
14263 }
107c1cdb
ND
14264 if s.Bucket != nil && len(*s.Bucket) < 1 {
14265 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
14266 }
bae9f6d2
JC
14267 if s.Key == nil {
14268 invalidParams.Add(request.NewErrParamRequired("Key"))
14269 }
14270 if s.Key != nil && len(*s.Key) < 1 {
14271 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14272 }
14273
14274 if invalidParams.Len() > 0 {
14275 return invalidParams
14276 }
14277 return nil
14278}
14279
14280// SetBucket sets the Bucket field's value.
14281func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
14282 s.Bucket = &v
14283 return s
14284}
14285
15c0b25d
AP
14286func (s *HeadObjectInput) getBucket() (v string) {
14287 if s.Bucket == nil {
14288 return v
14289 }
14290 return *s.Bucket
14291}
14292
bae9f6d2
JC
14293// SetIfMatch sets the IfMatch field's value.
14294func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
14295 s.IfMatch = &v
14296 return s
14297}
14298
14299// SetIfModifiedSince sets the IfModifiedSince field's value.
14300func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput {
14301 s.IfModifiedSince = &v
14302 return s
14303}
14304
14305// SetIfNoneMatch sets the IfNoneMatch field's value.
14306func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput {
14307 s.IfNoneMatch = &v
14308 return s
14309}
14310
14311// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value.
14312func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput {
14313 s.IfUnmodifiedSince = &v
14314 return s
14315}
14316
14317// SetKey sets the Key field's value.
14318func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput {
14319 s.Key = &v
14320 return s
14321}
14322
14323// SetPartNumber sets the PartNumber field's value.
14324func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput {
14325 s.PartNumber = &v
14326 return s
14327}
14328
14329// SetRange sets the Range field's value.
14330func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput {
14331 s.Range = &v
14332 return s
14333}
14334
14335// SetRequestPayer sets the RequestPayer field's value.
14336func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput {
14337 s.RequestPayer = &v
14338 return s
14339}
14340
14341// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14342func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput {
14343 s.SSECustomerAlgorithm = &v
14344 return s
14345}
14346
14347// SetSSECustomerKey sets the SSECustomerKey field's value.
14348func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
14349 s.SSECustomerKey = &v
14350 return s
14351}
14352
15c0b25d
AP
14353func (s *HeadObjectInput) getSSECustomerKey() (v string) {
14354 if s.SSECustomerKey == nil {
14355 return v
14356 }
14357 return *s.SSECustomerKey
14358}
14359
bae9f6d2
JC
14360// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14361func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
14362 s.SSECustomerKeyMD5 = &v
14363 return s
14364}
14365
14366// SetVersionId sets the VersionId field's value.
14367func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
14368 s.VersionId = &v
14369 return s
14370}
14371
bae9f6d2
JC
14372type HeadObjectOutput struct {
14373 _ struct{} `type:"structure"`
14374
14375 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
14376
14377 // Specifies caching behavior along the request/reply chain.
14378 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
14379
14380 // Specifies presentational information for the object.
14381 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
14382
14383 // Specifies what content encodings have been applied to the object and thus
14384 // what decoding mechanisms must be applied to obtain the media-type referenced
14385 // by the Content-Type header field.
14386 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
14387
14388 // The language the content is in.
14389 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
14390
14391 // Size of the body in bytes.
14392 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
14393
14394 // A standard MIME type describing the format of the object data.
14395 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
14396
14397 // Specifies whether the object retrieved was (true) or was not (false) a Delete
14398 // Marker. If false, this response header does not appear in the response.
14399 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
14400
14401 // An ETag is an opaque identifier assigned by a web server to a specific version
14402 // of a resource found at a URL
14403 ETag *string `location:"header" locationName:"ETag" type:"string"`
14404
14405 // If the object expiration is configured (see PUT Bucket lifecycle), the response
14406 // includes this header. It includes the expiry-date and rule-id key value pairs
14407 // providing object expiration information. The value of the rule-id is URL
14408 // encoded.
14409 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
14410
14411 // The date and time at which the object is no longer cacheable.
14412 Expires *string `location:"header" locationName:"Expires" type:"string"`
14413
14414 // Last modified date of the object
15c0b25d 14415 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
bae9f6d2
JC
14416
14417 // A map of metadata to store with the object in S3.
14418 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
14419
14420 // This is set to the number of metadata entries not returned in x-amz-meta
14421 // headers. This can happen if you create metadata using an API like SOAP that
14422 // supports more flexible metadata than the REST API. For example, using SOAP,
14423 // you can create metadata whose values are not legal HTTP headers.
14424 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`
14425
107c1cdb
ND
14426 // The Legal Hold status for the specified object.
14427 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
14428
863486a6 14429 // The object lock mode currently in place for this object.
107c1cdb
ND
14430 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
14431
863486a6 14432 // The date and time when this object's object lock expires.
107c1cdb
ND
14433 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
14434
bae9f6d2
JC
14435 // The count of parts this object has.
14436 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
14437
14438 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"`
14439
14440 // If present, indicates that the requester was successfully charged for the
14441 // request.
14442 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
14443
14444 // Provides information about object restoration operation and expiration time
14445 // of the restored object copy.
14446 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`
14447
14448 // If server-side encryption with a customer-provided encryption key was requested,
14449 // the response will include this header confirming the encryption algorithm
14450 // used.
14451 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
14452
14453 // If server-side encryption with a customer-provided encryption key was requested,
14454 // the response will include this header to provide round trip message integrity
14455 // verification of the customer-provided encryption key.
14456 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
14457
14458 // If present, specifies the ID of the AWS Key Management Service (KMS) master
14459 // encryption key that was used for the object.
107c1cdb 14460 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
14461
14462 // The Server-side encryption algorithm used when storing this object in S3
14463 // (e.g., AES256, aws:kms).
14464 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
14465
14466 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
14467
14468 // Version of the object.
14469 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
14470
14471 // If the bucket is configured as a website, redirects requests for this object
14472 // to another object in the same bucket or to an external URL. Amazon S3 stores
14473 // the value of this header in the object metadata.
14474 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
14475}
14476
14477// String returns the string representation
14478func (s HeadObjectOutput) String() string {
14479 return awsutil.Prettify(s)
14480}
14481
14482// GoString returns the string representation
14483func (s HeadObjectOutput) GoString() string {
14484 return s.String()
14485}
14486
14487// SetAcceptRanges sets the AcceptRanges field's value.
14488func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
14489 s.AcceptRanges = &v
14490 return s
14491}
14492
14493// SetCacheControl sets the CacheControl field's value.
14494func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
14495 s.CacheControl = &v
14496 return s
14497}
14498
14499// SetContentDisposition sets the ContentDisposition field's value.
14500func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
14501 s.ContentDisposition = &v
14502 return s
14503}
14504
14505// SetContentEncoding sets the ContentEncoding field's value.
14506func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput {
14507 s.ContentEncoding = &v
14508 return s
14509}
14510
14511// SetContentLanguage sets the ContentLanguage field's value.
14512func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput {
14513 s.ContentLanguage = &v
14514 return s
14515}
14516
14517// SetContentLength sets the ContentLength field's value.
14518func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput {
14519 s.ContentLength = &v
14520 return s
14521}
14522
14523// SetContentType sets the ContentType field's value.
14524func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput {
14525 s.ContentType = &v
14526 return s
14527}
14528
14529// SetDeleteMarker sets the DeleteMarker field's value.
14530func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput {
14531 s.DeleteMarker = &v
14532 return s
14533}
14534
14535// SetETag sets the ETag field's value.
14536func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput {
14537 s.ETag = &v
14538 return s
14539}
14540
14541// SetExpiration sets the Expiration field's value.
14542func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput {
14543 s.Expiration = &v
14544 return s
14545}
14546
14547// SetExpires sets the Expires field's value.
14548func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput {
14549 s.Expires = &v
14550 return s
14551}
14552
14553// SetLastModified sets the LastModified field's value.
14554func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput {
14555 s.LastModified = &v
14556 return s
14557}
14558
14559// SetMetadata sets the Metadata field's value.
14560func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput {
14561 s.Metadata = v
14562 return s
14563}
14564
14565// SetMissingMeta sets the MissingMeta field's value.
14566func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput {
14567 s.MissingMeta = &v
14568 return s
14569}
14570
107c1cdb
ND
14571// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
14572func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput {
14573 s.ObjectLockLegalHoldStatus = &v
14574 return s
14575}
14576
14577// SetObjectLockMode sets the ObjectLockMode field's value.
14578func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput {
14579 s.ObjectLockMode = &v
14580 return s
14581}
14582
14583// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
14584func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput {
14585 s.ObjectLockRetainUntilDate = &v
14586 return s
14587}
14588
bae9f6d2
JC
14589// SetPartsCount sets the PartsCount field's value.
14590func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput {
14591 s.PartsCount = &v
14592 return s
14593}
14594
14595// SetReplicationStatus sets the ReplicationStatus field's value.
14596func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput {
14597 s.ReplicationStatus = &v
14598 return s
14599}
14600
14601// SetRequestCharged sets the RequestCharged field's value.
14602func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput {
14603 s.RequestCharged = &v
14604 return s
14605}
14606
14607// SetRestore sets the Restore field's value.
14608func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput {
14609 s.Restore = &v
14610 return s
14611}
14612
14613// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
14614func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput {
14615 s.SSECustomerAlgorithm = &v
14616 return s
14617}
14618
14619// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
14620func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput {
14621 s.SSECustomerKeyMD5 = &v
14622 return s
14623}
14624
14625// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
14626func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput {
14627 s.SSEKMSKeyId = &v
14628 return s
14629}
14630
14631// SetServerSideEncryption sets the ServerSideEncryption field's value.
14632func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput {
14633 s.ServerSideEncryption = &v
14634 return s
14635}
14636
14637// SetStorageClass sets the StorageClass field's value.
14638func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput {
14639 s.StorageClass = &v
14640 return s
14641}
14642
14643// SetVersionId sets the VersionId field's value.
14644func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput {
14645 s.VersionId = &v
14646 return s
14647}
14648
14649// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
14650func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput {
14651 s.WebsiteRedirectLocation = &v
14652 return s
14653}
14654
bae9f6d2
JC
14655type IndexDocument struct {
14656 _ struct{} `type:"structure"`
14657
14658 // A suffix that is appended to a request that is for a directory on the website
14659 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
14660 // the data that is returned will be for the object with the key name images/index.html)
14661 // The suffix must not be empty and must not include a slash character.
14662 //
14663 // Suffix is a required field
14664 Suffix *string `type:"string" required:"true"`
14665}
14666
14667// String returns the string representation
14668func (s IndexDocument) String() string {
14669 return awsutil.Prettify(s)
14670}
14671
14672// GoString returns the string representation
14673func (s IndexDocument) GoString() string {
14674 return s.String()
14675}
14676
14677// Validate inspects the fields of the type to determine if they are valid.
14678func (s *IndexDocument) Validate() error {
14679 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"}
14680 if s.Suffix == nil {
14681 invalidParams.Add(request.NewErrParamRequired("Suffix"))
14682 }
14683
14684 if invalidParams.Len() > 0 {
14685 return invalidParams
14686 }
14687 return nil
14688}
14689
14690// SetSuffix sets the Suffix field's value.
14691func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
14692 s.Suffix = &v
14693 return s
14694}
14695
bae9f6d2
JC
14696type Initiator struct {
14697 _ struct{} `type:"structure"`
14698
14699 // Name of the Principal.
14700 DisplayName *string `type:"string"`
14701
14702 // If the principal is an AWS account, it provides the Canonical User ID. If
14703 // the principal is an IAM User, it provides a user ARN value.
14704 ID *string `type:"string"`
14705}
14706
14707// String returns the string representation
14708func (s Initiator) String() string {
14709 return awsutil.Prettify(s)
14710}
14711
14712// GoString returns the string representation
14713func (s Initiator) GoString() string {
14714 return s.String()
14715}
14716
14717// SetDisplayName sets the DisplayName field's value.
14718func (s *Initiator) SetDisplayName(v string) *Initiator {
14719 s.DisplayName = &v
14720 return s
14721}
14722
14723// SetID sets the ID field's value.
14724func (s *Initiator) SetID(v string) *Initiator {
14725 s.ID = &v
14726 return s
14727}
14728
15c0b25d
AP
14729// Describes the serialization format of the object.
14730type InputSerialization struct {
14731 _ struct{} `type:"structure"`
14732
14733 // Describes the serialization of a CSV-encoded object.
14734 CSV *CSVInput `type:"structure"`
14735
14736 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
14737 // Value: NONE.
14738 CompressionType *string `type:"string" enum:"CompressionType"`
14739
14740 // Specifies JSON as object's input serialization format.
14741 JSON *JSONInput `type:"structure"`
107c1cdb
ND
14742
14743 // Specifies Parquet as object's input serialization format.
14744 Parquet *ParquetInput `type:"structure"`
15c0b25d
AP
14745}
14746
14747// String returns the string representation
14748func (s InputSerialization) String() string {
14749 return awsutil.Prettify(s)
14750}
14751
14752// GoString returns the string representation
14753func (s InputSerialization) GoString() string {
14754 return s.String()
14755}
14756
14757// SetCSV sets the CSV field's value.
14758func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
14759 s.CSV = v
14760 return s
14761}
14762
14763// SetCompressionType sets the CompressionType field's value.
14764func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
14765 s.CompressionType = &v
14766 return s
14767}
14768
14769// SetJSON sets the JSON field's value.
14770func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
14771 s.JSON = v
14772 return s
14773}
14774
107c1cdb
ND
14775// SetParquet sets the Parquet field's value.
14776func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
14777 s.Parquet = v
14778 return s
14779}
14780
863486a6
AG
14781// Specifies the inventory configuration for an Amazon S3 bucket. For more information,
14782// see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html)
14783// in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
14784type InventoryConfiguration struct {
14785 _ struct{} `type:"structure"`
14786
14787 // Contains information about where to publish the inventory results.
14788 //
14789 // Destination is a required field
14790 Destination *InventoryDestination `type:"structure" required:"true"`
14791
14792 // Specifies an inventory filter. The inventory only includes objects that meet
14793 // the filter's criteria.
14794 Filter *InventoryFilter `type:"structure"`
14795
14796 // The ID used to identify the inventory configuration.
14797 //
14798 // Id is a required field
14799 Id *string `type:"string" required:"true"`
14800
863486a6
AG
14801 // Object versions to include in the inventory list. If set to All, the list
14802 // includes all the object versions, which adds the version-related fields VersionId,
14803 // IsLatest, and DeleteMarker to the list. If set to Current, the list does
14804 // not contain these version-related fields.
bae9f6d2
JC
14805 //
14806 // IncludedObjectVersions is a required field
14807 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
14808
863486a6
AG
14809 // Specifies whether the inventory is enabled or disabled. If set to True, an
14810 // inventory list is generated. If set to False, no inventory list is generated.
bae9f6d2
JC
14811 //
14812 // IsEnabled is a required field
14813 IsEnabled *bool `type:"boolean" required:"true"`
14814
14815 // Contains the optional fields that are included in the inventory results.
14816 OptionalFields []*string `locationNameList:"Field" type:"list"`
14817
14818 // Specifies the schedule for generating inventory results.
14819 //
14820 // Schedule is a required field
14821 Schedule *InventorySchedule `type:"structure" required:"true"`
14822}
14823
14824// String returns the string representation
14825func (s InventoryConfiguration) String() string {
14826 return awsutil.Prettify(s)
14827}
14828
14829// GoString returns the string representation
14830func (s InventoryConfiguration) GoString() string {
14831 return s.String()
14832}
14833
14834// Validate inspects the fields of the type to determine if they are valid.
14835func (s *InventoryConfiguration) Validate() error {
14836 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"}
14837 if s.Destination == nil {
14838 invalidParams.Add(request.NewErrParamRequired("Destination"))
14839 }
14840 if s.Id == nil {
14841 invalidParams.Add(request.NewErrParamRequired("Id"))
14842 }
14843 if s.IncludedObjectVersions == nil {
14844 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions"))
14845 }
14846 if s.IsEnabled == nil {
14847 invalidParams.Add(request.NewErrParamRequired("IsEnabled"))
14848 }
14849 if s.Schedule == nil {
14850 invalidParams.Add(request.NewErrParamRequired("Schedule"))
14851 }
14852 if s.Destination != nil {
14853 if err := s.Destination.Validate(); err != nil {
14854 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14855 }
14856 }
14857 if s.Filter != nil {
14858 if err := s.Filter.Validate(); err != nil {
14859 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
14860 }
14861 }
14862 if s.Schedule != nil {
14863 if err := s.Schedule.Validate(); err != nil {
14864 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
14865 }
14866 }
14867
14868 if invalidParams.Len() > 0 {
14869 return invalidParams
14870 }
14871 return nil
14872}
14873
14874// SetDestination sets the Destination field's value.
14875func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration {
14876 s.Destination = v
14877 return s
14878}
14879
14880// SetFilter sets the Filter field's value.
14881func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration {
14882 s.Filter = v
14883 return s
14884}
14885
14886// SetId sets the Id field's value.
14887func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration {
14888 s.Id = &v
14889 return s
14890}
14891
14892// SetIncludedObjectVersions sets the IncludedObjectVersions field's value.
14893func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration {
14894 s.IncludedObjectVersions = &v
14895 return s
14896}
14897
14898// SetIsEnabled sets the IsEnabled field's value.
14899func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration {
14900 s.IsEnabled = &v
14901 return s
14902}
14903
14904// SetOptionalFields sets the OptionalFields field's value.
14905func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration {
14906 s.OptionalFields = v
14907 return s
14908}
14909
14910// SetSchedule sets the Schedule field's value.
14911func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration {
14912 s.Schedule = v
14913 return s
14914}
14915
bae9f6d2
JC
14916type InventoryDestination struct {
14917 _ struct{} `type:"structure"`
14918
14919 // Contains the bucket name, file format, bucket owner (optional), and prefix
14920 // (optional) where inventory results are published.
14921 //
14922 // S3BucketDestination is a required field
14923 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"`
14924}
14925
14926// String returns the string representation
14927func (s InventoryDestination) String() string {
14928 return awsutil.Prettify(s)
14929}
14930
14931// GoString returns the string representation
14932func (s InventoryDestination) GoString() string {
14933 return s.String()
14934}
14935
14936// Validate inspects the fields of the type to determine if they are valid.
14937func (s *InventoryDestination) Validate() error {
14938 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"}
14939 if s.S3BucketDestination == nil {
14940 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination"))
14941 }
14942 if s.S3BucketDestination != nil {
14943 if err := s.S3BucketDestination.Validate(); err != nil {
14944 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams))
14945 }
14946 }
14947
14948 if invalidParams.Len() > 0 {
14949 return invalidParams
14950 }
14951 return nil
14952}
14953
14954// SetS3BucketDestination sets the S3BucketDestination field's value.
14955func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination {
14956 s.S3BucketDestination = v
14957 return s
14958}
14959
15c0b25d
AP
14960// Contains the type of server-side encryption used to encrypt the inventory
14961// results.
14962type InventoryEncryption struct {
14963 _ struct{} `type:"structure"`
14964
107c1cdb 14965 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
15c0b25d
AP
14966 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
14967
107c1cdb 14968 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
15c0b25d
AP
14969 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
14970}
14971
14972// String returns the string representation
14973func (s InventoryEncryption) String() string {
14974 return awsutil.Prettify(s)
14975}
14976
14977// GoString returns the string representation
14978func (s InventoryEncryption) GoString() string {
14979 return s.String()
14980}
14981
14982// Validate inspects the fields of the type to determine if they are valid.
14983func (s *InventoryEncryption) Validate() error {
14984 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
14985 if s.SSEKMS != nil {
14986 if err := s.SSEKMS.Validate(); err != nil {
14987 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
14988 }
14989 }
14990
14991 if invalidParams.Len() > 0 {
14992 return invalidParams
14993 }
14994 return nil
14995}
14996
14997// SetSSEKMS sets the SSEKMS field's value.
14998func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
14999 s.SSEKMS = v
15000 return s
15001}
15002
15003// SetSSES3 sets the SSES3 field's value.
15004func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
15005 s.SSES3 = v
15006 return s
15007}
15008
bae9f6d2
JC
15009type InventoryFilter struct {
15010 _ struct{} `type:"structure"`
15011
15012 // The prefix that an object must have to be included in the inventory results.
15013 //
15014 // Prefix is a required field
15015 Prefix *string `type:"string" required:"true"`
15016}
15017
15018// String returns the string representation
15019func (s InventoryFilter) String() string {
15020 return awsutil.Prettify(s)
15021}
15022
15023// GoString returns the string representation
15024func (s InventoryFilter) GoString() string {
15025 return s.String()
15026}
15027
15028// Validate inspects the fields of the type to determine if they are valid.
15029func (s *InventoryFilter) Validate() error {
15030 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
15031 if s.Prefix == nil {
15032 invalidParams.Add(request.NewErrParamRequired("Prefix"))
15033 }
15034
15035 if invalidParams.Len() > 0 {
15036 return invalidParams
15037 }
15038 return nil
15039}
15040
15041// SetPrefix sets the Prefix field's value.
15042func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
15043 s.Prefix = &v
15044 return s
15045}
15046
bae9f6d2
JC
15047type InventoryS3BucketDestination struct {
15048 _ struct{} `type:"structure"`
15049
15050 // The ID of the account that owns the destination bucket.
15051 AccountId *string `type:"string"`
15052
15053 // The Amazon resource name (ARN) of the bucket where inventory results will
15054 // be published.
15055 //
15056 // Bucket is a required field
15057 Bucket *string `type:"string" required:"true"`
15058
15c0b25d
AP
15059 // Contains the type of server-side encryption used to encrypt the inventory
15060 // results.
15061 Encryption *InventoryEncryption `type:"structure"`
15062
bae9f6d2
JC
15063 // Specifies the output format of the inventory results.
15064 //
15065 // Format is a required field
15066 Format *string `type:"string" required:"true" enum:"InventoryFormat"`
15067
15068 // The prefix that is prepended to all inventory results.
15069 Prefix *string `type:"string"`
15070}
15071
15072// String returns the string representation
15073func (s InventoryS3BucketDestination) String() string {
15074 return awsutil.Prettify(s)
15075}
15076
15077// GoString returns the string representation
15078func (s InventoryS3BucketDestination) GoString() string {
15079 return s.String()
15080}
15081
15082// Validate inspects the fields of the type to determine if they are valid.
15083func (s *InventoryS3BucketDestination) Validate() error {
15084 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"}
15085 if s.Bucket == nil {
15086 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15087 }
15088 if s.Format == nil {
15089 invalidParams.Add(request.NewErrParamRequired("Format"))
15090 }
15c0b25d
AP
15091 if s.Encryption != nil {
15092 if err := s.Encryption.Validate(); err != nil {
15093 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
15094 }
15095 }
bae9f6d2
JC
15096
15097 if invalidParams.Len() > 0 {
15098 return invalidParams
15099 }
15100 return nil
15101}
15102
15103// SetAccountId sets the AccountId field's value.
15104func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination {
15105 s.AccountId = &v
15106 return s
15107}
15108
15109// SetBucket sets the Bucket field's value.
15110func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination {
15111 s.Bucket = &v
15112 return s
15113}
15114
15c0b25d
AP
15115func (s *InventoryS3BucketDestination) getBucket() (v string) {
15116 if s.Bucket == nil {
15117 return v
15118 }
15119 return *s.Bucket
15120}
15121
15122// SetEncryption sets the Encryption field's value.
15123func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
15124 s.Encryption = v
15125 return s
15126}
15127
bae9f6d2
JC
15128// SetFormat sets the Format field's value.
15129func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
15130 s.Format = &v
15131 return s
15132}
15133
15134// SetPrefix sets the Prefix field's value.
15135func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination {
15136 s.Prefix = &v
15137 return s
15138}
15139
bae9f6d2
JC
15140type InventorySchedule struct {
15141 _ struct{} `type:"structure"`
15142
15143 // Specifies how frequently inventory results are produced.
15144 //
15145 // Frequency is a required field
15146 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"`
15147}
15148
15149// String returns the string representation
15150func (s InventorySchedule) String() string {
15151 return awsutil.Prettify(s)
15152}
15153
15154// GoString returns the string representation
15155func (s InventorySchedule) GoString() string {
15156 return s.String()
15157}
15158
15159// Validate inspects the fields of the type to determine if they are valid.
15160func (s *InventorySchedule) Validate() error {
15161 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"}
15162 if s.Frequency == nil {
15163 invalidParams.Add(request.NewErrParamRequired("Frequency"))
15164 }
15165
15166 if invalidParams.Len() > 0 {
15167 return invalidParams
15168 }
15169 return nil
15170}
15171
15172// SetFrequency sets the Frequency field's value.
15173func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
15174 s.Frequency = &v
15175 return s
15176}
15177
15c0b25d
AP
15178type JSONInput struct {
15179 _ struct{} `type:"structure"`
15180
15181 // The type of JSON. Valid values: Document, Lines.
15182 Type *string `type:"string" enum:"JSONType"`
15183}
15184
15185// String returns the string representation
15186func (s JSONInput) String() string {
15187 return awsutil.Prettify(s)
15188}
15189
15190// GoString returns the string representation
15191func (s JSONInput) GoString() string {
15192 return s.String()
15193}
15194
15195// SetType sets the Type field's value.
15196func (s *JSONInput) SetType(v string) *JSONInput {
15197 s.Type = &v
15198 return s
15199}
15200
15201type JSONOutput struct {
15202 _ struct{} `type:"structure"`
15203
15204 // The value used to separate individual records in the output.
15205 RecordDelimiter *string `type:"string"`
15206}
15207
15208// String returns the string representation
15209func (s JSONOutput) String() string {
15210 return awsutil.Prettify(s)
15211}
15212
15213// GoString returns the string representation
15214func (s JSONOutput) GoString() string {
15215 return s.String()
15216}
15217
15218// SetRecordDelimiter sets the RecordDelimiter field's value.
15219func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
15220 s.RecordDelimiter = &v
15221 return s
15222}
15223
107c1cdb 15224// A container for object key name prefix and suffix filtering rules.
bae9f6d2
JC
15225type KeyFilter struct {
15226 _ struct{} `type:"structure"`
15227
107c1cdb
ND
15228 // A list of containers for the key value pair that defines the criteria for
15229 // the filter rule.
bae9f6d2
JC
15230 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
15231}
15232
15233// String returns the string representation
15234func (s KeyFilter) String() string {
15235 return awsutil.Prettify(s)
15236}
15237
15238// GoString returns the string representation
15239func (s KeyFilter) GoString() string {
15240 return s.String()
15241}
15242
15243// SetFilterRules sets the FilterRules field's value.
15244func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15245 s.FilterRules = v
15246 return s
15247}
15248
107c1cdb 15249// A container for specifying the configuration for AWS Lambda notifications.
bae9f6d2
JC
15250type LambdaFunctionConfiguration struct {
15251 _ struct{} `type:"structure"`
15252
863486a6
AG
15253 // The Amazon S3 bucket event for which to invoke the AWS Lambda function. For
15254 // more information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15255 // in the Amazon Simple Storage Service Developer Guide.
15256 //
bae9f6d2
JC
15257 // Events is a required field
15258 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
15259
863486a6
AG
15260 // Specifies object key name filtering rules. For information about key name
15261 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 15262 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
15263 Filter *NotificationConfigurationFilter `type:"structure"`
15264
107c1cdb 15265 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
15266 // If you don't provide one, Amazon S3 will assign an ID.
15267 Id *string `type:"string"`
15268
863486a6
AG
15269 // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3
15270 // invokes when the specified event type occurs.
bae9f6d2
JC
15271 //
15272 // LambdaFunctionArn is a required field
15273 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
15274}
15275
15276// String returns the string representation
15277func (s LambdaFunctionConfiguration) String() string {
15278 return awsutil.Prettify(s)
15279}
15280
15281// GoString returns the string representation
15282func (s LambdaFunctionConfiguration) GoString() string {
15283 return s.String()
15284}
15285
15286// Validate inspects the fields of the type to determine if they are valid.
15287func (s *LambdaFunctionConfiguration) Validate() error {
15288 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"}
15289 if s.Events == nil {
15290 invalidParams.Add(request.NewErrParamRequired("Events"))
15291 }
15292 if s.LambdaFunctionArn == nil {
15293 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
15294 }
15295
15296 if invalidParams.Len() > 0 {
15297 return invalidParams
15298 }
15299 return nil
15300}
15301
15302// SetEvents sets the Events field's value.
15303func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration {
15304 s.Events = v
15305 return s
15306}
15307
15308// SetFilter sets the Filter field's value.
15309func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration {
15310 s.Filter = v
15311 return s
15312}
15313
15314// SetId sets the Id field's value.
15315func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration {
15316 s.Id = &v
15317 return s
15318}
15319
15320// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
15321func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration {
15322 s.LambdaFunctionArn = &v
15323 return s
15324}
15325
bae9f6d2
JC
15326type LifecycleConfiguration struct {
15327 _ struct{} `type:"structure"`
15328
15329 // Rules is a required field
15330 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
15331}
15332
15333// String returns the string representation
15334func (s LifecycleConfiguration) String() string {
15335 return awsutil.Prettify(s)
15336}
15337
15338// GoString returns the string representation
15339func (s LifecycleConfiguration) GoString() string {
15340 return s.String()
15341}
15342
15343// Validate inspects the fields of the type to determine if they are valid.
15344func (s *LifecycleConfiguration) Validate() error {
15345 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"}
15346 if s.Rules == nil {
15347 invalidParams.Add(request.NewErrParamRequired("Rules"))
15348 }
15349 if s.Rules != nil {
15350 for i, v := range s.Rules {
15351 if v == nil {
15352 continue
15353 }
15354 if err := v.Validate(); err != nil {
15355 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
15356 }
15357 }
15358 }
15359
15360 if invalidParams.Len() > 0 {
15361 return invalidParams
15362 }
15363 return nil
15364}
15365
15366// SetRules sets the Rules field's value.
15367func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
15368 s.Rules = v
15369 return s
15370}
15371
bae9f6d2
JC
15372type LifecycleExpiration struct {
15373 _ struct{} `type:"structure"`
15374
15375 // Indicates at what date the object is to be moved or deleted. Should be in
15376 // GMT ISO 8601 Format.
15377 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15378
15379 // Indicates the lifetime, in days, of the objects that are subject to the rule.
15380 // The value must be a non-zero positive integer.
15381 Days *int64 `type:"integer"`
15382
15383 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent
15384 // versions. If set to true, the delete marker will be expired; if set to false
15385 // the policy takes no action. This cannot be specified with Days or Date in
15386 // a Lifecycle Expiration Policy.
15387 ExpiredObjectDeleteMarker *bool `type:"boolean"`
15388}
15389
15390// String returns the string representation
15391func (s LifecycleExpiration) String() string {
15392 return awsutil.Prettify(s)
15393}
15394
15395// GoString returns the string representation
15396func (s LifecycleExpiration) GoString() string {
15397 return s.String()
15398}
15399
15400// SetDate sets the Date field's value.
15401func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration {
15402 s.Date = &v
15403 return s
15404}
15405
15406// SetDays sets the Days field's value.
15407func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration {
15408 s.Days = &v
15409 return s
15410}
15411
15412// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
15413func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration {
15414 s.ExpiredObjectDeleteMarker = &v
15415 return s
15416}
15417
bae9f6d2
JC
15418type LifecycleRule struct {
15419 _ struct{} `type:"structure"`
15420
863486a6
AG
15421 // Specifies the days since the initiation of an incomplete multipart upload
15422 // that Amazon S3 will wait before permanently removing all parts of the upload.
15423 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
15424 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
15425 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
15426 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
15427
15428 Expiration *LifecycleExpiration `type:"structure"`
15429
15430 // The Filter is used to identify objects that a Lifecycle Rule applies to.
15431 // A Filter must have exactly one of Prefix, Tag, or And specified.
15432 Filter *LifecycleRuleFilter `type:"structure"`
15433
15434 // Unique identifier for the rule. The value cannot be longer than 255 characters.
15435 ID *string `type:"string"`
15436
15437 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
15438 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
15439 // configuration action on a bucket that has versioning enabled (or suspended)
15440 // to request that Amazon S3 delete noncurrent object versions at a specific
15441 // period in the object's lifetime.
15442 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
15443
15444 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
15445
15446 // Prefix identifying one or more objects to which the rule applies. This is
107c1cdb
ND
15447 // No longer used; use Filter instead.
15448 //
15449 // Deprecated: Prefix has been deprecated
bae9f6d2
JC
15450 Prefix *string `deprecated:"true" type:"string"`
15451
15452 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
15453 // is not currently being applied.
15454 //
15455 // Status is a required field
15456 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
15457
15458 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`
15459}
15460
15461// String returns the string representation
15462func (s LifecycleRule) String() string {
15463 return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s LifecycleRule) GoString() string {
15468 return s.String()
15469}
15470
15471// Validate inspects the fields of the type to determine if they are valid.
15472func (s *LifecycleRule) Validate() error {
15473 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"}
15474 if s.Status == nil {
15475 invalidParams.Add(request.NewErrParamRequired("Status"))
15476 }
15477 if s.Filter != nil {
15478 if err := s.Filter.Validate(); err != nil {
15479 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
15480 }
15481 }
15482
15483 if invalidParams.Len() > 0 {
15484 return invalidParams
15485 }
15486 return nil
15487}
15488
15489// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
15490func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule {
15491 s.AbortIncompleteMultipartUpload = v
15492 return s
15493}
15494
15495// SetExpiration sets the Expiration field's value.
15496func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule {
15497 s.Expiration = v
15498 return s
15499}
15500
15501// SetFilter sets the Filter field's value.
15502func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule {
15503 s.Filter = v
15504 return s
15505}
15506
15507// SetID sets the ID field's value.
15508func (s *LifecycleRule) SetID(v string) *LifecycleRule {
15509 s.ID = &v
15510 return s
15511}
15512
15513// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
15514func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule {
15515 s.NoncurrentVersionExpiration = v
15516 return s
15517}
15518
15519// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
15520func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule {
15521 s.NoncurrentVersionTransitions = v
15522 return s
15523}
15524
15525// SetPrefix sets the Prefix field's value.
15526func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule {
15527 s.Prefix = &v
15528 return s
15529}
15530
15531// SetStatus sets the Status field's value.
15532func (s *LifecycleRule) SetStatus(v string) *LifecycleRule {
15533 s.Status = &v
15534 return s
15535}
15536
15537// SetTransitions sets the Transitions field's value.
15538func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
15539 s.Transitions = v
15540 return s
15541}
15542
15543// This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15544// more predicates. The Lifecycle Rule will apply to any object matching all
15545// of the predicates configured inside the And operator.
bae9f6d2
JC
15546type LifecycleRuleAndOperator struct {
15547 _ struct{} `type:"structure"`
15548
15549 Prefix *string `type:"string"`
15550
15551 // All of these tags must exist in the object's tag set in order for the rule
15552 // to apply.
15553 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
15554}
15555
15556// String returns the string representation
15557func (s LifecycleRuleAndOperator) String() string {
15558 return awsutil.Prettify(s)
15559}
15560
15561// GoString returns the string representation
15562func (s LifecycleRuleAndOperator) GoString() string {
15563 return s.String()
15564}
15565
15566// Validate inspects the fields of the type to determine if they are valid.
15567func (s *LifecycleRuleAndOperator) Validate() error {
15568 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"}
15569 if s.Tags != nil {
15570 for i, v := range s.Tags {
15571 if v == nil {
15572 continue
15573 }
15574 if err := v.Validate(); err != nil {
15575 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15576 }
15577 }
15578 }
15579
15580 if invalidParams.Len() > 0 {
15581 return invalidParams
15582 }
15583 return nil
15584}
15585
15586// SetPrefix sets the Prefix field's value.
15587func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
15588 s.Prefix = &v
15589 return s
15590}
15591
15592// SetTags sets the Tags field's value.
15593func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
15594 s.Tags = v
15595 return s
15596}
15597
15598// The Filter is used to identify objects that a Lifecycle Rule applies to.
15599// A Filter must have exactly one of Prefix, Tag, or And specified.
bae9f6d2
JC
15600type LifecycleRuleFilter struct {
15601 _ struct{} `type:"structure"`
15602
15603 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or
15604 // more predicates. The Lifecycle Rule will apply to any object matching all
15605 // of the predicates configured inside the And operator.
15606 And *LifecycleRuleAndOperator `type:"structure"`
15607
15608 // Prefix identifying one or more objects to which the rule applies.
15609 Prefix *string `type:"string"`
15610
15611 // This tag must exist in the object's tag set in order for the rule to apply.
15612 Tag *Tag `type:"structure"`
15613}
15614
15615// String returns the string representation
15616func (s LifecycleRuleFilter) String() string {
15617 return awsutil.Prettify(s)
15618}
15619
15620// GoString returns the string representation
15621func (s LifecycleRuleFilter) GoString() string {
15622 return s.String()
15623}
15624
15625// Validate inspects the fields of the type to determine if they are valid.
15626func (s *LifecycleRuleFilter) Validate() error {
15627 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"}
15628 if s.And != nil {
15629 if err := s.And.Validate(); err != nil {
15630 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
15631 }
15632 }
15633 if s.Tag != nil {
15634 if err := s.Tag.Validate(); err != nil {
15635 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
15636 }
15637 }
15638
15639 if invalidParams.Len() > 0 {
15640 return invalidParams
15641 }
15642 return nil
15643}
15644
15645// SetAnd sets the And field's value.
15646func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter {
15647 s.And = v
15648 return s
15649}
15650
15651// SetPrefix sets the Prefix field's value.
15652func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
15653 s.Prefix = &v
15654 return s
15655}
15656
15657// SetTag sets the Tag field's value.
15658func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
15659 s.Tag = v
15660 return s
15661}
15662
bae9f6d2
JC
15663type ListBucketAnalyticsConfigurationsInput struct {
15664 _ struct{} `type:"structure"`
15665
15666 // The name of the bucket from which analytics configurations are retrieved.
15667 //
15668 // Bucket is a required field
15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15670
15671 // The ContinuationToken that represents a placeholder from where this request
15672 // should begin.
15673 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15674}
15675
15676// String returns the string representation
15677func (s ListBucketAnalyticsConfigurationsInput) String() string {
15678 return awsutil.Prettify(s)
15679}
15680
15681// GoString returns the string representation
15682func (s ListBucketAnalyticsConfigurationsInput) GoString() string {
15683 return s.String()
15684}
15685
15686// Validate inspects the fields of the type to determine if they are valid.
15687func (s *ListBucketAnalyticsConfigurationsInput) Validate() error {
15688 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"}
15689 if s.Bucket == nil {
15690 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15691 }
107c1cdb
ND
15692 if s.Bucket != nil && len(*s.Bucket) < 1 {
15693 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15694 }
bae9f6d2
JC
15695
15696 if invalidParams.Len() > 0 {
15697 return invalidParams
15698 }
15699 return nil
15700}
15701
15702// SetBucket sets the Bucket field's value.
15703func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput {
15704 s.Bucket = &v
15705 return s
15706}
15707
15c0b25d
AP
15708func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
15709 if s.Bucket == nil {
15710 return v
15711 }
15712 return *s.Bucket
15713}
15714
bae9f6d2
JC
15715// SetContinuationToken sets the ContinuationToken field's value.
15716func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
15717 s.ContinuationToken = &v
15718 return s
15719}
15720
bae9f6d2
JC
15721type ListBucketAnalyticsConfigurationsOutput struct {
15722 _ struct{} `type:"structure"`
15723
15724 // The list of analytics configurations for a bucket.
15725 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"`
15726
15727 // The ContinuationToken that represents where this request began.
15728 ContinuationToken *string `type:"string"`
15729
15730 // Indicates whether the returned list of analytics configurations is complete.
15731 // A value of true indicates that the list is not complete and the NextContinuationToken
15732 // will be provided for a subsequent request.
15733 IsTruncated *bool `type:"boolean"`
15734
15735 // NextContinuationToken is sent when isTruncated is true, which indicates that
15736 // there are more analytics configurations to list. The next request must include
15737 // this NextContinuationToken. The token is obfuscated and is not a usable value.
15738 NextContinuationToken *string `type:"string"`
15739}
15740
15741// String returns the string representation
15742func (s ListBucketAnalyticsConfigurationsOutput) String() string {
15743 return awsutil.Prettify(s)
15744}
15745
15746// GoString returns the string representation
15747func (s ListBucketAnalyticsConfigurationsOutput) GoString() string {
15748 return s.String()
15749}
15750
15751// SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value.
15752func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput {
15753 s.AnalyticsConfigurationList = v
15754 return s
15755}
15756
15757// SetContinuationToken sets the ContinuationToken field's value.
15758func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15759 s.ContinuationToken = &v
15760 return s
15761}
15762
15763// SetIsTruncated sets the IsTruncated field's value.
15764func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput {
15765 s.IsTruncated = &v
15766 return s
15767}
15768
15769// SetNextContinuationToken sets the NextContinuationToken field's value.
15770func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput {
15771 s.NextContinuationToken = &v
15772 return s
15773}
15774
bae9f6d2
JC
15775type ListBucketInventoryConfigurationsInput struct {
15776 _ struct{} `type:"structure"`
15777
15778 // The name of the bucket containing the inventory configurations to retrieve.
15779 //
15780 // Bucket is a required field
15781 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15782
15783 // The marker used to continue an inventory configuration listing that has been
15784 // truncated. Use the NextContinuationToken from a previously truncated list
15785 // response to continue the listing. The continuation token is an opaque value
15786 // that Amazon S3 understands.
15787 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15788}
15789
15790// String returns the string representation
15791func (s ListBucketInventoryConfigurationsInput) String() string {
15792 return awsutil.Prettify(s)
15793}
15794
15795// GoString returns the string representation
15796func (s ListBucketInventoryConfigurationsInput) GoString() string {
15797 return s.String()
15798}
15799
15800// Validate inspects the fields of the type to determine if they are valid.
15801func (s *ListBucketInventoryConfigurationsInput) Validate() error {
15802 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"}
15803 if s.Bucket == nil {
15804 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15805 }
107c1cdb
ND
15806 if s.Bucket != nil && len(*s.Bucket) < 1 {
15807 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15808 }
bae9f6d2
JC
15809
15810 if invalidParams.Len() > 0 {
15811 return invalidParams
15812 }
15813 return nil
15814}
15815
15816// SetBucket sets the Bucket field's value.
15817func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput {
15818 s.Bucket = &v
15819 return s
15820}
15821
15c0b25d
AP
15822func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
15823 if s.Bucket == nil {
15824 return v
15825 }
15826 return *s.Bucket
15827}
15828
bae9f6d2
JC
15829// SetContinuationToken sets the ContinuationToken field's value.
15830func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
15831 s.ContinuationToken = &v
15832 return s
15833}
15834
bae9f6d2
JC
15835type ListBucketInventoryConfigurationsOutput struct {
15836 _ struct{} `type:"structure"`
15837
15838 // If sent in the request, the marker that is used as a starting point for this
15839 // inventory configuration list response.
15840 ContinuationToken *string `type:"string"`
15841
15842 // The list of inventory configurations for a bucket.
15843 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`
15844
15845 // Indicates whether the returned list of inventory configurations is truncated
15846 // in this response. A value of true indicates that the list is truncated.
15847 IsTruncated *bool `type:"boolean"`
15848
15849 // The marker used to continue this inventory configuration listing. Use the
15850 // NextContinuationToken from this response to continue the listing in a subsequent
15851 // request. The continuation token is an opaque value that Amazon S3 understands.
15852 NextContinuationToken *string `type:"string"`
15853}
15854
15855// String returns the string representation
15856func (s ListBucketInventoryConfigurationsOutput) String() string {
15857 return awsutil.Prettify(s)
15858}
15859
15860// GoString returns the string representation
15861func (s ListBucketInventoryConfigurationsOutput) GoString() string {
15862 return s.String()
15863}
15864
15865// SetContinuationToken sets the ContinuationToken field's value.
15866func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15867 s.ContinuationToken = &v
15868 return s
15869}
15870
15871// SetInventoryConfigurationList sets the InventoryConfigurationList field's value.
15872func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput {
15873 s.InventoryConfigurationList = v
15874 return s
15875}
15876
15877// SetIsTruncated sets the IsTruncated field's value.
15878func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput {
15879 s.IsTruncated = &v
15880 return s
15881}
15882
15883// SetNextContinuationToken sets the NextContinuationToken field's value.
15884func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput {
15885 s.NextContinuationToken = &v
15886 return s
15887}
15888
bae9f6d2
JC
15889type ListBucketMetricsConfigurationsInput struct {
15890 _ struct{} `type:"structure"`
15891
15892 // The name of the bucket containing the metrics configurations to retrieve.
15893 //
15894 // Bucket is a required field
15895 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15896
15897 // The marker that is used to continue a metrics configuration listing that
15898 // has been truncated. Use the NextContinuationToken from a previously truncated
15899 // list response to continue the listing. The continuation token is an opaque
15900 // value that Amazon S3 understands.
15901 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
15902}
15903
15904// String returns the string representation
15905func (s ListBucketMetricsConfigurationsInput) String() string {
15906 return awsutil.Prettify(s)
15907}
15908
15909// GoString returns the string representation
15910func (s ListBucketMetricsConfigurationsInput) GoString() string {
15911 return s.String()
15912}
15913
15914// Validate inspects the fields of the type to determine if they are valid.
15915func (s *ListBucketMetricsConfigurationsInput) Validate() error {
15916 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"}
15917 if s.Bucket == nil {
15918 invalidParams.Add(request.NewErrParamRequired("Bucket"))
15919 }
107c1cdb
ND
15920 if s.Bucket != nil && len(*s.Bucket) < 1 {
15921 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
15922 }
bae9f6d2
JC
15923
15924 if invalidParams.Len() > 0 {
15925 return invalidParams
15926 }
15927 return nil
15928}
15929
15930// SetBucket sets the Bucket field's value.
15931func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput {
15932 s.Bucket = &v
15933 return s
15934}
15935
15c0b25d
AP
15936func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
15937 if s.Bucket == nil {
15938 return v
15939 }
15940 return *s.Bucket
15941}
15942
bae9f6d2
JC
15943// SetContinuationToken sets the ContinuationToken field's value.
15944func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
15945 s.ContinuationToken = &v
15946 return s
15947}
15948
bae9f6d2
JC
15949type ListBucketMetricsConfigurationsOutput struct {
15950 _ struct{} `type:"structure"`
15951
15952 // The marker that is used as a starting point for this metrics configuration
15953 // list response. This value is present if it was sent in the request.
15954 ContinuationToken *string `type:"string"`
15955
15956 // Indicates whether the returned list of metrics configurations is complete.
15957 // A value of true indicates that the list is not complete and the NextContinuationToken
15958 // will be provided for a subsequent request.
15959 IsTruncated *bool `type:"boolean"`
15960
15961 // The list of metrics configurations for a bucket.
15962 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"`
15963
15964 // The marker used to continue a metrics configuration listing that has been
15965 // truncated. Use the NextContinuationToken from a previously truncated list
15966 // response to continue the listing. The continuation token is an opaque value
15967 // that Amazon S3 understands.
15968 NextContinuationToken *string `type:"string"`
15969}
15970
15971// String returns the string representation
15972func (s ListBucketMetricsConfigurationsOutput) String() string {
15973 return awsutil.Prettify(s)
15974}
15975
15976// GoString returns the string representation
15977func (s ListBucketMetricsConfigurationsOutput) GoString() string {
15978 return s.String()
15979}
15980
15981// SetContinuationToken sets the ContinuationToken field's value.
15982func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
15983 s.ContinuationToken = &v
15984 return s
15985}
15986
15987// SetIsTruncated sets the IsTruncated field's value.
15988func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput {
15989 s.IsTruncated = &v
15990 return s
15991}
15992
15993// SetMetricsConfigurationList sets the MetricsConfigurationList field's value.
15994func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput {
15995 s.MetricsConfigurationList = v
15996 return s
15997}
15998
15999// SetNextContinuationToken sets the NextContinuationToken field's value.
16000func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput {
16001 s.NextContinuationToken = &v
16002 return s
16003}
16004
bae9f6d2
JC
16005type ListBucketsInput struct {
16006 _ struct{} `type:"structure"`
16007}
16008
16009// String returns the string representation
16010func (s ListBucketsInput) String() string {
16011 return awsutil.Prettify(s)
16012}
16013
16014// GoString returns the string representation
16015func (s ListBucketsInput) GoString() string {
16016 return s.String()
16017}
16018
bae9f6d2
JC
16019type ListBucketsOutput struct {
16020 _ struct{} `type:"structure"`
16021
16022 Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
16023
16024 Owner *Owner `type:"structure"`
16025}
16026
16027// String returns the string representation
16028func (s ListBucketsOutput) String() string {
16029 return awsutil.Prettify(s)
16030}
16031
16032// GoString returns the string representation
16033func (s ListBucketsOutput) GoString() string {
16034 return s.String()
16035}
16036
16037// SetBuckets sets the Buckets field's value.
16038func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput {
16039 s.Buckets = v
16040 return s
16041}
16042
16043// SetOwner sets the Owner field's value.
16044func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
16045 s.Owner = v
16046 return s
16047}
16048
bae9f6d2
JC
16049type ListMultipartUploadsInput struct {
16050 _ struct{} `type:"structure"`
16051
16052 // Bucket is a required field
16053 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16054
16055 // Character you use to group keys.
16056 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16057
16058 // Requests Amazon S3 to encode the object keys in the response and specifies
16059 // the encoding method to use. An object key may contain any Unicode character;
16060 // however, XML 1.0 parser cannot parse some characters, such as characters
16061 // with an ASCII value from 0 to 10. For characters that are not supported in
16062 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16063 // keys in the response.
16064 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16065
16066 // Together with upload-id-marker, this parameter specifies the multipart upload
16067 // after which listing should begin.
16068 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16069
16070 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return
16071 // in the response body. 1,000 is the maximum number of uploads that can be
16072 // returned in a response.
16073 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`
16074
16075 // Lists in-progress uploads only for those keys that begin with the specified
16076 // prefix.
16077 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16078
16079 // Together with key-marker, specifies the multipart upload after which listing
16080 // should begin. If key-marker is not specified, the upload-id-marker parameter
16081 // is ignored.
16082 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`
16083}
16084
16085// String returns the string representation
16086func (s ListMultipartUploadsInput) String() string {
16087 return awsutil.Prettify(s)
16088}
16089
16090// GoString returns the string representation
16091func (s ListMultipartUploadsInput) GoString() string {
16092 return s.String()
16093}
16094
16095// Validate inspects the fields of the type to determine if they are valid.
16096func (s *ListMultipartUploadsInput) Validate() error {
16097 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"}
16098 if s.Bucket == nil {
16099 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16100 }
107c1cdb
ND
16101 if s.Bucket != nil && len(*s.Bucket) < 1 {
16102 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16103 }
bae9f6d2
JC
16104
16105 if invalidParams.Len() > 0 {
16106 return invalidParams
16107 }
16108 return nil
16109}
16110
16111// SetBucket sets the Bucket field's value.
16112func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput {
16113 s.Bucket = &v
16114 return s
16115}
16116
15c0b25d
AP
16117func (s *ListMultipartUploadsInput) getBucket() (v string) {
16118 if s.Bucket == nil {
16119 return v
16120 }
16121 return *s.Bucket
16122}
16123
bae9f6d2
JC
16124// SetDelimiter sets the Delimiter field's value.
16125func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
16126 s.Delimiter = &v
16127 return s
16128}
16129
16130// SetEncodingType sets the EncodingType field's value.
16131func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput {
16132 s.EncodingType = &v
16133 return s
16134}
16135
16136// SetKeyMarker sets the KeyMarker field's value.
16137func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput {
16138 s.KeyMarker = &v
16139 return s
16140}
16141
16142// SetMaxUploads sets the MaxUploads field's value.
16143func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput {
16144 s.MaxUploads = &v
16145 return s
16146}
16147
16148// SetPrefix sets the Prefix field's value.
16149func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput {
16150 s.Prefix = &v
16151 return s
16152}
16153
16154// SetUploadIdMarker sets the UploadIdMarker field's value.
16155func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput {
16156 s.UploadIdMarker = &v
16157 return s
16158}
16159
bae9f6d2
JC
16160type ListMultipartUploadsOutput struct {
16161 _ struct{} `type:"structure"`
16162
16163 // Name of the bucket to which the multipart upload was initiated.
16164 Bucket *string `type:"string"`
16165
16166 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16167
16168 Delimiter *string `type:"string"`
16169
16170 // Encoding type used by Amazon S3 to encode object keys in the response.
16171 EncodingType *string `type:"string" enum:"EncodingType"`
16172
16173 // Indicates whether the returned list of multipart uploads is truncated. A
16174 // value of true indicates that the list was truncated. The list can be truncated
16175 // if the number of multipart uploads exceeds the limit allowed or specified
16176 // by max uploads.
16177 IsTruncated *bool `type:"boolean"`
16178
16179 // The key at or after which the listing began.
16180 KeyMarker *string `type:"string"`
16181
16182 // Maximum number of multipart uploads that could have been included in the
16183 // response.
16184 MaxUploads *int64 `type:"integer"`
16185
16186 // When a list is truncated, this element specifies the value that should be
16187 // used for the key-marker request parameter in a subsequent request.
16188 NextKeyMarker *string `type:"string"`
16189
16190 // When a list is truncated, this element specifies the value that should be
16191 // used for the upload-id-marker request parameter in a subsequent request.
16192 NextUploadIdMarker *string `type:"string"`
16193
16194 // When a prefix is provided in the request, this field contains the specified
16195 // prefix. The result contains only keys starting with the specified prefix.
16196 Prefix *string `type:"string"`
16197
16198 // Upload ID after which listing began.
16199 UploadIdMarker *string `type:"string"`
16200
16201 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`
16202}
16203
16204// String returns the string representation
16205func (s ListMultipartUploadsOutput) String() string {
16206 return awsutil.Prettify(s)
16207}
16208
16209// GoString returns the string representation
16210func (s ListMultipartUploadsOutput) GoString() string {
16211 return s.String()
16212}
16213
16214// SetBucket sets the Bucket field's value.
16215func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput {
16216 s.Bucket = &v
16217 return s
16218}
16219
15c0b25d
AP
16220func (s *ListMultipartUploadsOutput) getBucket() (v string) {
16221 if s.Bucket == nil {
16222 return v
16223 }
16224 return *s.Bucket
16225}
16226
bae9f6d2
JC
16227// SetCommonPrefixes sets the CommonPrefixes field's value.
16228func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
16229 s.CommonPrefixes = v
16230 return s
16231}
16232
16233// SetDelimiter sets the Delimiter field's value.
16234func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput {
16235 s.Delimiter = &v
16236 return s
16237}
16238
16239// SetEncodingType sets the EncodingType field's value.
16240func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput {
16241 s.EncodingType = &v
16242 return s
16243}
16244
16245// SetIsTruncated sets the IsTruncated field's value.
16246func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput {
16247 s.IsTruncated = &v
16248 return s
16249}
16250
16251// SetKeyMarker sets the KeyMarker field's value.
16252func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput {
16253 s.KeyMarker = &v
16254 return s
16255}
16256
16257// SetMaxUploads sets the MaxUploads field's value.
16258func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput {
16259 s.MaxUploads = &v
16260 return s
16261}
16262
16263// SetNextKeyMarker sets the NextKeyMarker field's value.
16264func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput {
16265 s.NextKeyMarker = &v
16266 return s
16267}
16268
16269// SetNextUploadIdMarker sets the NextUploadIdMarker field's value.
16270func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput {
16271 s.NextUploadIdMarker = &v
16272 return s
16273}
16274
16275// SetPrefix sets the Prefix field's value.
16276func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput {
16277 s.Prefix = &v
16278 return s
16279}
16280
16281// SetUploadIdMarker sets the UploadIdMarker field's value.
16282func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput {
16283 s.UploadIdMarker = &v
16284 return s
16285}
16286
16287// SetUploads sets the Uploads field's value.
16288func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput {
16289 s.Uploads = v
16290 return s
16291}
16292
bae9f6d2
JC
16293type ListObjectVersionsInput struct {
16294 _ struct{} `type:"structure"`
16295
16296 // Bucket is a required field
16297 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16298
16299 // A delimiter is a character you use to group keys.
16300 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16301
16302 // Requests Amazon S3 to encode the object keys in the response and specifies
16303 // the encoding method to use. An object key may contain any Unicode character;
16304 // however, XML 1.0 parser cannot parse some characters, such as characters
16305 // with an ASCII value from 0 to 10. For characters that are not supported in
16306 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16307 // keys in the response.
16308 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16309
16310 // Specifies the key to start with when listing objects in a bucket.
16311 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`
16312
16313 // Sets the maximum number of keys returned in the response. The response might
16314 // contain fewer keys but will never contain more.
16315 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16316
16317 // Limits the response to keys that begin with the specified prefix.
16318 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16319
16320 // Specifies the object version you want to start listing from.
16321 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`
16322}
16323
16324// String returns the string representation
16325func (s ListObjectVersionsInput) String() string {
16326 return awsutil.Prettify(s)
16327}
16328
16329// GoString returns the string representation
16330func (s ListObjectVersionsInput) GoString() string {
16331 return s.String()
16332}
16333
16334// Validate inspects the fields of the type to determine if they are valid.
16335func (s *ListObjectVersionsInput) Validate() error {
16336 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"}
16337 if s.Bucket == nil {
16338 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16339 }
107c1cdb
ND
16340 if s.Bucket != nil && len(*s.Bucket) < 1 {
16341 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16342 }
bae9f6d2
JC
16343
16344 if invalidParams.Len() > 0 {
16345 return invalidParams
16346 }
16347 return nil
16348}
16349
16350// SetBucket sets the Bucket field's value.
16351func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
16352 s.Bucket = &v
16353 return s
16354}
16355
15c0b25d
AP
16356func (s *ListObjectVersionsInput) getBucket() (v string) {
16357 if s.Bucket == nil {
16358 return v
16359 }
16360 return *s.Bucket
16361}
16362
bae9f6d2
JC
16363// SetDelimiter sets the Delimiter field's value.
16364func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
16365 s.Delimiter = &v
16366 return s
16367}
16368
16369// SetEncodingType sets the EncodingType field's value.
16370func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput {
16371 s.EncodingType = &v
16372 return s
16373}
16374
16375// SetKeyMarker sets the KeyMarker field's value.
16376func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput {
16377 s.KeyMarker = &v
16378 return s
16379}
16380
16381// SetMaxKeys sets the MaxKeys field's value.
16382func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput {
16383 s.MaxKeys = &v
16384 return s
16385}
16386
16387// SetPrefix sets the Prefix field's value.
16388func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput {
16389 s.Prefix = &v
16390 return s
16391}
16392
16393// SetVersionIdMarker sets the VersionIdMarker field's value.
16394func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput {
16395 s.VersionIdMarker = &v
16396 return s
16397}
16398
bae9f6d2
JC
16399type ListObjectVersionsOutput struct {
16400 _ struct{} `type:"structure"`
16401
16402 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16403
16404 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
16405
16406 Delimiter *string `type:"string"`
16407
16408 // Encoding type used by Amazon S3 to encode object keys in the response.
16409 EncodingType *string `type:"string" enum:"EncodingType"`
16410
16411 // A flag that indicates whether or not Amazon S3 returned all of the results
16412 // that satisfied the search criteria. If your results were truncated, you can
16413 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
16414 // response parameters as a starting place in another request to return the
16415 // rest of the results.
16416 IsTruncated *bool `type:"boolean"`
16417
16418 // Marks the last Key returned in a truncated response.
16419 KeyMarker *string `type:"string"`
16420
16421 MaxKeys *int64 `type:"integer"`
16422
16423 Name *string `type:"string"`
16424
16425 // Use this value for the key marker request parameter in a subsequent request.
16426 NextKeyMarker *string `type:"string"`
16427
16428 // Use this value for the next version id marker parameter in a subsequent request.
16429 NextVersionIdMarker *string `type:"string"`
16430
16431 Prefix *string `type:"string"`
16432
16433 VersionIdMarker *string `type:"string"`
16434
16435 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`
16436}
16437
16438// String returns the string representation
16439func (s ListObjectVersionsOutput) String() string {
16440 return awsutil.Prettify(s)
16441}
16442
16443// GoString returns the string representation
16444func (s ListObjectVersionsOutput) GoString() string {
16445 return s.String()
16446}
16447
16448// SetCommonPrefixes sets the CommonPrefixes field's value.
16449func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput {
16450 s.CommonPrefixes = v
16451 return s
16452}
16453
16454// SetDeleteMarkers sets the DeleteMarkers field's value.
16455func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput {
16456 s.DeleteMarkers = v
16457 return s
16458}
16459
16460// SetDelimiter sets the Delimiter field's value.
16461func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput {
16462 s.Delimiter = &v
16463 return s
16464}
16465
16466// SetEncodingType sets the EncodingType field's value.
16467func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput {
16468 s.EncodingType = &v
16469 return s
16470}
16471
16472// SetIsTruncated sets the IsTruncated field's value.
16473func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput {
16474 s.IsTruncated = &v
16475 return s
16476}
16477
16478// SetKeyMarker sets the KeyMarker field's value.
16479func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput {
16480 s.KeyMarker = &v
16481 return s
16482}
16483
16484// SetMaxKeys sets the MaxKeys field's value.
16485func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput {
16486 s.MaxKeys = &v
16487 return s
16488}
16489
16490// SetName sets the Name field's value.
16491func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput {
16492 s.Name = &v
16493 return s
16494}
16495
16496// SetNextKeyMarker sets the NextKeyMarker field's value.
16497func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput {
16498 s.NextKeyMarker = &v
16499 return s
16500}
16501
16502// SetNextVersionIdMarker sets the NextVersionIdMarker field's value.
16503func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput {
16504 s.NextVersionIdMarker = &v
16505 return s
16506}
16507
16508// SetPrefix sets the Prefix field's value.
16509func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput {
16510 s.Prefix = &v
16511 return s
16512}
16513
16514// SetVersionIdMarker sets the VersionIdMarker field's value.
16515func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput {
16516 s.VersionIdMarker = &v
16517 return s
16518}
16519
16520// SetVersions sets the Versions field's value.
16521func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput {
16522 s.Versions = v
16523 return s
16524}
16525
bae9f6d2
JC
16526type ListObjectsInput struct {
16527 _ struct{} `type:"structure"`
16528
16529 // Bucket is a required field
16530 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16531
16532 // A delimiter is a character you use to group keys.
16533 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16534
16535 // Requests Amazon S3 to encode the object keys in the response and specifies
16536 // the encoding method to use. An object key may contain any Unicode character;
16537 // however, XML 1.0 parser cannot parse some characters, such as characters
16538 // with an ASCII value from 0 to 10. For characters that are not supported in
16539 // XML 1.0, you can add this parameter to request that Amazon S3 encode the
16540 // keys in the response.
16541 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16542
16543 // Specifies the key to start with when listing objects in a bucket.
16544 Marker *string `location:"querystring" locationName:"marker" type:"string"`
16545
16546 // Sets the maximum number of keys returned in the response. The response might
16547 // contain fewer keys but will never contain more.
16548 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16549
16550 // Limits the response to keys that begin with the specified prefix.
16551 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16552
16553 // Confirms that the requester knows that she or he will be charged for the
16554 // list objects request. Bucket owners need not specify this parameter in their
16555 // requests.
16556 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16557}
16558
16559// String returns the string representation
16560func (s ListObjectsInput) String() string {
16561 return awsutil.Prettify(s)
16562}
16563
16564// GoString returns the string representation
16565func (s ListObjectsInput) GoString() string {
16566 return s.String()
16567}
16568
16569// Validate inspects the fields of the type to determine if they are valid.
16570func (s *ListObjectsInput) Validate() error {
16571 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"}
16572 if s.Bucket == nil {
16573 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16574 }
107c1cdb
ND
16575 if s.Bucket != nil && len(*s.Bucket) < 1 {
16576 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16577 }
bae9f6d2
JC
16578
16579 if invalidParams.Len() > 0 {
16580 return invalidParams
16581 }
16582 return nil
16583}
16584
16585// SetBucket sets the Bucket field's value.
16586func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
16587 s.Bucket = &v
16588 return s
16589}
16590
15c0b25d
AP
16591func (s *ListObjectsInput) getBucket() (v string) {
16592 if s.Bucket == nil {
16593 return v
16594 }
16595 return *s.Bucket
16596}
16597
bae9f6d2
JC
16598// SetDelimiter sets the Delimiter field's value.
16599func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
16600 s.Delimiter = &v
16601 return s
16602}
16603
16604// SetEncodingType sets the EncodingType field's value.
16605func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput {
16606 s.EncodingType = &v
16607 return s
16608}
16609
16610// SetMarker sets the Marker field's value.
16611func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput {
16612 s.Marker = &v
16613 return s
16614}
16615
16616// SetMaxKeys sets the MaxKeys field's value.
16617func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput {
16618 s.MaxKeys = &v
16619 return s
16620}
16621
16622// SetPrefix sets the Prefix field's value.
16623func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput {
16624 s.Prefix = &v
16625 return s
16626}
16627
16628// SetRequestPayer sets the RequestPayer field's value.
16629func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
16630 s.RequestPayer = &v
16631 return s
16632}
16633
bae9f6d2
JC
16634type ListObjectsOutput struct {
16635 _ struct{} `type:"structure"`
16636
16637 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16638
16639 Contents []*Object `type:"list" flattened:"true"`
16640
16641 Delimiter *string `type:"string"`
16642
16643 // Encoding type used by Amazon S3 to encode object keys in the response.
16644 EncodingType *string `type:"string" enum:"EncodingType"`
16645
16646 // A flag that indicates whether or not Amazon S3 returned all of the results
16647 // that satisfied the search criteria.
16648 IsTruncated *bool `type:"boolean"`
16649
16650 Marker *string `type:"string"`
16651
16652 MaxKeys *int64 `type:"integer"`
16653
16654 Name *string `type:"string"`
16655
16656 // When response is truncated (the IsTruncated element value in the response
16657 // is true), you can use the key name in this field as marker in the subsequent
16658 // request to get next set of objects. Amazon S3 lists objects in alphabetical
16659 // order Note: This element is returned only if you have delimiter request parameter
16660 // specified. If response does not include the NextMaker and it is truncated,
16661 // you can use the value of the last Key in the response as the marker in the
16662 // subsequent request to get the next set of object keys.
16663 NextMarker *string `type:"string"`
16664
16665 Prefix *string `type:"string"`
16666}
16667
16668// String returns the string representation
16669func (s ListObjectsOutput) String() string {
16670 return awsutil.Prettify(s)
16671}
16672
16673// GoString returns the string representation
16674func (s ListObjectsOutput) GoString() string {
16675 return s.String()
16676}
16677
16678// SetCommonPrefixes sets the CommonPrefixes field's value.
16679func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput {
16680 s.CommonPrefixes = v
16681 return s
16682}
16683
16684// SetContents sets the Contents field's value.
16685func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput {
16686 s.Contents = v
16687 return s
16688}
16689
16690// SetDelimiter sets the Delimiter field's value.
16691func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput {
16692 s.Delimiter = &v
16693 return s
16694}
16695
16696// SetEncodingType sets the EncodingType field's value.
16697func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput {
16698 s.EncodingType = &v
16699 return s
16700}
16701
16702// SetIsTruncated sets the IsTruncated field's value.
16703func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput {
16704 s.IsTruncated = &v
16705 return s
16706}
16707
16708// SetMarker sets the Marker field's value.
16709func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput {
16710 s.Marker = &v
16711 return s
16712}
16713
16714// SetMaxKeys sets the MaxKeys field's value.
16715func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput {
16716 s.MaxKeys = &v
16717 return s
16718}
16719
16720// SetName sets the Name field's value.
16721func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput {
16722 s.Name = &v
16723 return s
16724}
16725
16726// SetNextMarker sets the NextMarker field's value.
16727func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput {
16728 s.NextMarker = &v
16729 return s
16730}
16731
16732// SetPrefix sets the Prefix field's value.
16733func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
16734 s.Prefix = &v
16735 return s
16736}
16737
bae9f6d2
JC
16738type ListObjectsV2Input struct {
16739 _ struct{} `type:"structure"`
16740
16741 // Name of the bucket to list.
16742 //
16743 // Bucket is a required field
16744 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16745
16746 // ContinuationToken indicates Amazon S3 that the list is being continued on
16747 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16748 // key
16749 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
16750
16751 // A delimiter is a character you use to group keys.
16752 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`
16753
16754 // Encoding type used by Amazon S3 to encode object keys in the response.
16755 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
16756
16757 // The owner field is not present in listV2 by default, if you want to return
16758 // owner field with each key in the result then set the fetch owner field to
16759 // true
16760 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
16761
16762 // Sets the maximum number of keys returned in the response. The response might
16763 // contain fewer keys but will never contain more.
16764 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`
16765
16766 // Limits the response to keys that begin with the specified prefix.
16767 Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
16768
16769 // Confirms that the requester knows that she or he will be charged for the
16770 // list objects request in V2 style. Bucket owners need not specify this parameter
16771 // in their requests.
16772 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
16773
16774 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16775 // listing after this specified key. StartAfter can be any key in the bucket
16776 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"`
16777}
16778
16779// String returns the string representation
16780func (s ListObjectsV2Input) String() string {
16781 return awsutil.Prettify(s)
16782}
16783
16784// GoString returns the string representation
16785func (s ListObjectsV2Input) GoString() string {
16786 return s.String()
16787}
16788
16789// Validate inspects the fields of the type to determine if they are valid.
16790func (s *ListObjectsV2Input) Validate() error {
16791 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"}
16792 if s.Bucket == nil {
16793 invalidParams.Add(request.NewErrParamRequired("Bucket"))
16794 }
107c1cdb
ND
16795 if s.Bucket != nil && len(*s.Bucket) < 1 {
16796 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16797 }
bae9f6d2
JC
16798
16799 if invalidParams.Len() > 0 {
16800 return invalidParams
16801 }
16802 return nil
16803}
16804
16805// SetBucket sets the Bucket field's value.
16806func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
16807 s.Bucket = &v
16808 return s
16809}
16810
15c0b25d
AP
16811func (s *ListObjectsV2Input) getBucket() (v string) {
16812 if s.Bucket == nil {
16813 return v
16814 }
16815 return *s.Bucket
16816}
16817
bae9f6d2
JC
16818// SetContinuationToken sets the ContinuationToken field's value.
16819func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
16820 s.ContinuationToken = &v
16821 return s
16822}
16823
16824// SetDelimiter sets the Delimiter field's value.
16825func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input {
16826 s.Delimiter = &v
16827 return s
16828}
16829
16830// SetEncodingType sets the EncodingType field's value.
16831func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input {
16832 s.EncodingType = &v
16833 return s
16834}
16835
16836// SetFetchOwner sets the FetchOwner field's value.
16837func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input {
16838 s.FetchOwner = &v
16839 return s
16840}
16841
16842// SetMaxKeys sets the MaxKeys field's value.
16843func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input {
16844 s.MaxKeys = &v
16845 return s
16846}
16847
16848// SetPrefix sets the Prefix field's value.
16849func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input {
16850 s.Prefix = &v
16851 return s
16852}
16853
16854// SetRequestPayer sets the RequestPayer field's value.
16855func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input {
16856 s.RequestPayer = &v
16857 return s
16858}
16859
16860// SetStartAfter sets the StartAfter field's value.
16861func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
16862 s.StartAfter = &v
16863 return s
16864}
16865
bae9f6d2
JC
16866type ListObjectsV2Output struct {
16867 _ struct{} `type:"structure"`
16868
16869 // CommonPrefixes contains all (if there are any) keys between Prefix and the
16870 // next occurrence of the string specified by delimiter
16871 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`
16872
16873 // Metadata about each object returned.
16874 Contents []*Object `type:"list" flattened:"true"`
16875
16876 // ContinuationToken indicates Amazon S3 that the list is being continued on
16877 // this bucket with a token. ContinuationToken is obfuscated and is not a real
16878 // key
16879 ContinuationToken *string `type:"string"`
16880
16881 // A delimiter is a character you use to group keys.
16882 Delimiter *string `type:"string"`
16883
16884 // Encoding type used by Amazon S3 to encode object keys in the response.
16885 EncodingType *string `type:"string" enum:"EncodingType"`
16886
16887 // A flag that indicates whether or not Amazon S3 returned all of the results
16888 // that satisfied the search criteria.
16889 IsTruncated *bool `type:"boolean"`
16890
16891 // KeyCount is the number of keys returned with this request. KeyCount will
16892 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your
16893 // result will include less than equals 50 keys
16894 KeyCount *int64 `type:"integer"`
16895
16896 // Sets the maximum number of keys returned in the response. The response might
16897 // contain fewer keys but will never contain more.
16898 MaxKeys *int64 `type:"integer"`
16899
16900 // Name of the bucket to list.
16901 Name *string `type:"string"`
16902
16903 // NextContinuationToken is sent when isTruncated is true which means there
16904 // are more keys in the bucket that can be listed. The next list requests to
16905 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
16906 // is obfuscated and is not a real key
16907 NextContinuationToken *string `type:"string"`
16908
16909 // Limits the response to keys that begin with the specified prefix.
16910 Prefix *string `type:"string"`
16911
16912 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
16913 // listing after this specified key. StartAfter can be any key in the bucket
16914 StartAfter *string `type:"string"`
16915}
16916
16917// String returns the string representation
16918func (s ListObjectsV2Output) String() string {
16919 return awsutil.Prettify(s)
16920}
16921
16922// GoString returns the string representation
16923func (s ListObjectsV2Output) GoString() string {
16924 return s.String()
16925}
16926
16927// SetCommonPrefixes sets the CommonPrefixes field's value.
16928func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output {
16929 s.CommonPrefixes = v
16930 return s
16931}
16932
16933// SetContents sets the Contents field's value.
16934func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output {
16935 s.Contents = v
16936 return s
16937}
16938
16939// SetContinuationToken sets the ContinuationToken field's value.
16940func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output {
16941 s.ContinuationToken = &v
16942 return s
16943}
16944
16945// SetDelimiter sets the Delimiter field's value.
16946func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output {
16947 s.Delimiter = &v
16948 return s
16949}
16950
16951// SetEncodingType sets the EncodingType field's value.
16952func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output {
16953 s.EncodingType = &v
16954 return s
16955}
16956
16957// SetIsTruncated sets the IsTruncated field's value.
16958func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output {
16959 s.IsTruncated = &v
16960 return s
16961}
16962
16963// SetKeyCount sets the KeyCount field's value.
16964func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output {
16965 s.KeyCount = &v
16966 return s
16967}
16968
16969// SetMaxKeys sets the MaxKeys field's value.
16970func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output {
16971 s.MaxKeys = &v
16972 return s
16973}
16974
16975// SetName sets the Name field's value.
16976func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output {
16977 s.Name = &v
16978 return s
16979}
16980
16981// SetNextContinuationToken sets the NextContinuationToken field's value.
16982func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output {
16983 s.NextContinuationToken = &v
16984 return s
16985}
16986
16987// SetPrefix sets the Prefix field's value.
16988func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output {
16989 s.Prefix = &v
16990 return s
16991}
16992
16993// SetStartAfter sets the StartAfter field's value.
16994func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
16995 s.StartAfter = &v
16996 return s
16997}
16998
bae9f6d2
JC
16999type ListPartsInput struct {
17000 _ struct{} `type:"structure"`
17001
17002 // Bucket is a required field
17003 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
17004
17005 // Key is a required field
17006 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
17007
17008 // Sets the maximum number of parts to return.
17009 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`
17010
17011 // Specifies the part after which listing should begin. Only parts with higher
17012 // part numbers will be listed.
17013 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`
17014
17015 // Confirms that the requester knows that she or he will be charged for the
17016 // request. Bucket owners need not specify this parameter in their requests.
17017 // Documentation on downloading objects from requester pays buckets can be found
17018 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
17019 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
17020
17021 // Upload ID identifying the multipart upload whose parts are being listed.
17022 //
17023 // UploadId is a required field
17024 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
17025}
17026
17027// String returns the string representation
17028func (s ListPartsInput) String() string {
17029 return awsutil.Prettify(s)
17030}
17031
17032// GoString returns the string representation
17033func (s ListPartsInput) GoString() string {
17034 return s.String()
17035}
17036
17037// Validate inspects the fields of the type to determine if they are valid.
17038func (s *ListPartsInput) Validate() error {
17039 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"}
17040 if s.Bucket == nil {
17041 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17042 }
107c1cdb
ND
17043 if s.Bucket != nil && len(*s.Bucket) < 1 {
17044 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
17045 }
bae9f6d2
JC
17046 if s.Key == nil {
17047 invalidParams.Add(request.NewErrParamRequired("Key"))
17048 }
17049 if s.Key != nil && len(*s.Key) < 1 {
17050 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17051 }
17052 if s.UploadId == nil {
17053 invalidParams.Add(request.NewErrParamRequired("UploadId"))
17054 }
17055
17056 if invalidParams.Len() > 0 {
17057 return invalidParams
17058 }
17059 return nil
17060}
17061
17062// SetBucket sets the Bucket field's value.
17063func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
17064 s.Bucket = &v
17065 return s
17066}
17067
15c0b25d
AP
17068func (s *ListPartsInput) getBucket() (v string) {
17069 if s.Bucket == nil {
17070 return v
17071 }
17072 return *s.Bucket
17073}
17074
bae9f6d2
JC
17075// SetKey sets the Key field's value.
17076func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
17077 s.Key = &v
17078 return s
17079}
17080
17081// SetMaxParts sets the MaxParts field's value.
17082func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput {
17083 s.MaxParts = &v
17084 return s
17085}
17086
17087// SetPartNumberMarker sets the PartNumberMarker field's value.
17088func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput {
17089 s.PartNumberMarker = &v
17090 return s
17091}
17092
17093// SetRequestPayer sets the RequestPayer field's value.
17094func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
17095 s.RequestPayer = &v
17096 return s
17097}
17098
17099// SetUploadId sets the UploadId field's value.
17100func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
17101 s.UploadId = &v
17102 return s
17103}
17104
bae9f6d2
JC
17105type ListPartsOutput struct {
17106 _ struct{} `type:"structure"`
17107
17108 // Date when multipart upload will become eligible for abort operation by lifecycle.
15c0b25d 17109 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
bae9f6d2
JC
17110
17111 // Id of the lifecycle rule that makes a multipart upload eligible for abort
17112 // operation.
17113 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
17114
17115 // Name of the bucket to which the multipart upload was initiated.
17116 Bucket *string `type:"string"`
17117
17118 // Identifies who initiated the multipart upload.
17119 Initiator *Initiator `type:"structure"`
17120
17121 // Indicates whether the returned list of parts is truncated.
17122 IsTruncated *bool `type:"boolean"`
17123
17124 // Object key for which the multipart upload was initiated.
17125 Key *string `min:"1" type:"string"`
17126
17127 // Maximum number of parts that were allowed in the response.
17128 MaxParts *int64 `type:"integer"`
17129
17130 // When a list is truncated, this element specifies the last part in the list,
17131 // as well as the value to use for the part-number-marker request parameter
17132 // in a subsequent request.
17133 NextPartNumberMarker *int64 `type:"integer"`
17134
17135 Owner *Owner `type:"structure"`
17136
17137 // Part number after which listing begins.
17138 PartNumberMarker *int64 `type:"integer"`
17139
17140 Parts []*Part `locationName:"Part" type:"list" flattened:"true"`
17141
17142 // If present, indicates that the requester was successfully charged for the
17143 // request.
17144 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
17145
17146 // The class of storage used to store the object.
17147 StorageClass *string `type:"string" enum:"StorageClass"`
17148
17149 // Upload ID identifying the multipart upload whose parts are being listed.
17150 UploadId *string `type:"string"`
17151}
17152
17153// String returns the string representation
17154func (s ListPartsOutput) String() string {
17155 return awsutil.Prettify(s)
17156}
17157
17158// GoString returns the string representation
17159func (s ListPartsOutput) GoString() string {
17160 return s.String()
17161}
17162
17163// SetAbortDate sets the AbortDate field's value.
17164func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput {
17165 s.AbortDate = &v
17166 return s
17167}
17168
17169// SetAbortRuleId sets the AbortRuleId field's value.
17170func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput {
17171 s.AbortRuleId = &v
17172 return s
17173}
17174
17175// SetBucket sets the Bucket field's value.
17176func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
17177 s.Bucket = &v
17178 return s
17179}
17180
15c0b25d
AP
17181func (s *ListPartsOutput) getBucket() (v string) {
17182 if s.Bucket == nil {
17183 return v
17184 }
17185 return *s.Bucket
17186}
17187
bae9f6d2
JC
17188// SetInitiator sets the Initiator field's value.
17189func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
17190 s.Initiator = v
17191 return s
17192}
17193
17194// SetIsTruncated sets the IsTruncated field's value.
17195func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput {
17196 s.IsTruncated = &v
17197 return s
17198}
17199
17200// SetKey sets the Key field's value.
17201func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput {
17202 s.Key = &v
17203 return s
17204}
17205
17206// SetMaxParts sets the MaxParts field's value.
17207func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput {
17208 s.MaxParts = &v
17209 return s
17210}
17211
17212// SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
17213func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput {
17214 s.NextPartNumberMarker = &v
17215 return s
17216}
17217
17218// SetOwner sets the Owner field's value.
17219func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput {
17220 s.Owner = v
17221 return s
17222}
17223
17224// SetPartNumberMarker sets the PartNumberMarker field's value.
17225func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput {
17226 s.PartNumberMarker = &v
17227 return s
17228}
17229
17230// SetParts sets the Parts field's value.
17231func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput {
17232 s.Parts = v
17233 return s
17234}
17235
17236// SetRequestCharged sets the RequestCharged field's value.
17237func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput {
17238 s.RequestCharged = &v
17239 return s
17240}
17241
17242// SetStorageClass sets the StorageClass field's value.
17243func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput {
17244 s.StorageClass = &v
17245 return s
17246}
17247
17248// SetUploadId sets the UploadId field's value.
17249func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
17250 s.UploadId = &v
17251 return s
17252}
17253
15c0b25d
AP
17254// Describes an S3 location that will receive the results of the restore request.
17255type Location struct {
bae9f6d2
JC
17256 _ struct{} `type:"structure"`
17257
15c0b25d
AP
17258 // A list of grants that control access to the staged results.
17259 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
bae9f6d2 17260
15c0b25d
AP
17261 // The name of the bucket where the restore results will be placed.
17262 //
17263 // BucketName is a required field
17264 BucketName *string `type:"string" required:"true"`
bae9f6d2 17265
15c0b25d
AP
17266 // The canned ACL to apply to the restore results.
17267 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
17268
17269 // Describes the server-side encryption that will be applied to the restore
17270 // results.
17271 Encryption *Encryption `type:"structure"`
17272
17273 // The prefix that is prepended to the restore results for this request.
17274 //
17275 // Prefix is a required field
17276 Prefix *string `type:"string" required:"true"`
17277
17278 // The class of storage used to store the restore results.
17279 StorageClass *string `type:"string" enum:"StorageClass"`
17280
17281 // The tag-set that is applied to the restore results.
17282 Tagging *Tagging `type:"structure"`
17283
17284 // A list of metadata to store with the restore results in S3.
17285 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
bae9f6d2
JC
17286}
17287
17288// String returns the string representation
15c0b25d 17289func (s Location) String() string {
bae9f6d2
JC
17290 return awsutil.Prettify(s)
17291}
17292
17293// GoString returns the string representation
15c0b25d 17294func (s Location) GoString() string {
bae9f6d2
JC
17295 return s.String()
17296}
17297
17298// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
17299func (s *Location) Validate() error {
17300 invalidParams := request.ErrInvalidParams{Context: "Location"}
17301 if s.BucketName == nil {
17302 invalidParams.Add(request.NewErrParamRequired("BucketName"))
17303 }
17304 if s.Prefix == nil {
17305 invalidParams.Add(request.NewErrParamRequired("Prefix"))
17306 }
17307 if s.AccessControlList != nil {
17308 for i, v := range s.AccessControlList {
bae9f6d2
JC
17309 if v == nil {
17310 continue
17311 }
17312 if err := v.Validate(); err != nil {
15c0b25d 17313 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
bae9f6d2
JC
17314 }
17315 }
17316 }
15c0b25d
AP
17317 if s.Encryption != nil {
17318 if err := s.Encryption.Validate(); err != nil {
17319 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
17320 }
17321 }
17322 if s.Tagging != nil {
17323 if err := s.Tagging.Validate(); err != nil {
17324 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
17325 }
17326 }
bae9f6d2
JC
17327
17328 if invalidParams.Len() > 0 {
17329 return invalidParams
17330 }
17331 return nil
17332}
17333
15c0b25d
AP
17334// SetAccessControlList sets the AccessControlList field's value.
17335func (s *Location) SetAccessControlList(v []*Grant) *Location {
17336 s.AccessControlList = v
bae9f6d2
JC
17337 return s
17338}
17339
15c0b25d
AP
17340// SetBucketName sets the BucketName field's value.
17341func (s *Location) SetBucketName(v string) *Location {
17342 s.BucketName = &v
bae9f6d2
JC
17343 return s
17344}
17345
15c0b25d
AP
17346// SetCannedACL sets the CannedACL field's value.
17347func (s *Location) SetCannedACL(v string) *Location {
17348 s.CannedACL = &v
bae9f6d2
JC
17349 return s
17350}
17351
15c0b25d
AP
17352// SetEncryption sets the Encryption field's value.
17353func (s *Location) SetEncryption(v *Encryption) *Location {
17354 s.Encryption = v
17355 return s
17356}
17357
17358// SetPrefix sets the Prefix field's value.
17359func (s *Location) SetPrefix(v string) *Location {
17360 s.Prefix = &v
17361 return s
17362}
17363
17364// SetStorageClass sets the StorageClass field's value.
17365func (s *Location) SetStorageClass(v string) *Location {
17366 s.StorageClass = &v
17367 return s
17368}
17369
17370// SetTagging sets the Tagging field's value.
17371func (s *Location) SetTagging(v *Tagging) *Location {
17372 s.Tagging = v
17373 return s
17374}
17375
17376// SetUserMetadata sets the UserMetadata field's value.
17377func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
17378 s.UserMetadata = v
17379 return s
17380}
17381
863486a6
AG
17382// Describes where logs are stored and the prefix that Amazon S3 assigns to
17383// all log object keys for a bucket. For more information, see PUT Bucket logging
17384// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
17385// in the Amazon Simple Storage Service API Reference.
15c0b25d
AP
17386type LoggingEnabled struct {
17387 _ struct{} `type:"structure"`
17388
17389 // Specifies the bucket where you want Amazon S3 to store server access logs.
17390 // You can have your logs delivered to any bucket that you own, including the
17391 // same bucket that is being logged. You can also configure multiple buckets
17392 // to deliver their logs to the same target bucket. In this case you should
17393 // choose a different TargetPrefix for each source bucket so that the delivered
17394 // log files can be distinguished by key.
17395 //
17396 // TargetBucket is a required field
17397 TargetBucket *string `type:"string" required:"true"`
17398
17399 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
17400
863486a6
AG
17401 // A prefix for all log object keys. If you store log files from multiple Amazon
17402 // S3 buckets in a single bucket, you can use a prefix to distinguish which
17403 // log files came from which bucket.
15c0b25d
AP
17404 //
17405 // TargetPrefix is a required field
17406 TargetPrefix *string `type:"string" required:"true"`
17407}
17408
17409// String returns the string representation
17410func (s LoggingEnabled) String() string {
17411 return awsutil.Prettify(s)
17412}
17413
17414// GoString returns the string representation
17415func (s LoggingEnabled) GoString() string {
17416 return s.String()
17417}
17418
17419// Validate inspects the fields of the type to determine if they are valid.
17420func (s *LoggingEnabled) Validate() error {
17421 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
17422 if s.TargetBucket == nil {
17423 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
17424 }
17425 if s.TargetPrefix == nil {
17426 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
17427 }
17428 if s.TargetGrants != nil {
17429 for i, v := range s.TargetGrants {
17430 if v == nil {
17431 continue
17432 }
17433 if err := v.Validate(); err != nil {
17434 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams))
17435 }
17436 }
17437 }
17438
17439 if invalidParams.Len() > 0 {
17440 return invalidParams
17441 }
17442 return nil
17443}
17444
17445// SetTargetBucket sets the TargetBucket field's value.
17446func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled {
17447 s.TargetBucket = &v
17448 return s
17449}
17450
17451// SetTargetGrants sets the TargetGrants field's value.
17452func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled {
17453 s.TargetGrants = v
17454 return s
17455}
17456
17457// SetTargetPrefix sets the TargetPrefix field's value.
17458func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
17459 s.TargetPrefix = &v
17460 return s
17461}
17462
17463// A metadata key-value pair to store with an object.
17464type MetadataEntry struct {
17465 _ struct{} `type:"structure"`
17466
17467 Name *string `type:"string"`
17468
17469 Value *string `type:"string"`
17470}
17471
17472// String returns the string representation
17473func (s MetadataEntry) String() string {
17474 return awsutil.Prettify(s)
17475}
17476
17477// GoString returns the string representation
17478func (s MetadataEntry) GoString() string {
17479 return s.String()
17480}
17481
17482// SetName sets the Name field's value.
17483func (s *MetadataEntry) SetName(v string) *MetadataEntry {
17484 s.Name = &v
17485 return s
17486}
17487
17488// SetValue sets the Value field's value.
17489func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
17490 s.Value = &v
17491 return s
17492}
17493
17494type MetricsAndOperator struct {
17495 _ struct{} `type:"structure"`
17496
bae9f6d2
JC
17497 // The prefix used when evaluating an AND predicate.
17498 Prefix *string `type:"string"`
17499
17500 // The list of tags used when evaluating an AND predicate.
17501 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
17502}
17503
17504// String returns the string representation
17505func (s MetricsAndOperator) String() string {
17506 return awsutil.Prettify(s)
17507}
17508
17509// GoString returns the string representation
17510func (s MetricsAndOperator) GoString() string {
17511 return s.String()
17512}
17513
17514// Validate inspects the fields of the type to determine if they are valid.
17515func (s *MetricsAndOperator) Validate() error {
17516 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"}
17517 if s.Tags != nil {
17518 for i, v := range s.Tags {
17519 if v == nil {
17520 continue
17521 }
17522 if err := v.Validate(); err != nil {
17523 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17524 }
17525 }
17526 }
17527
17528 if invalidParams.Len() > 0 {
17529 return invalidParams
17530 }
17531 return nil
17532}
17533
17534// SetPrefix sets the Prefix field's value.
17535func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator {
17536 s.Prefix = &v
17537 return s
17538}
17539
17540// SetTags sets the Tags field's value.
17541func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
17542 s.Tags = v
17543 return s
17544}
17545
863486a6
AG
17546// Specifies a metrics configuration for the CloudWatch request metrics (specified
17547// by the metrics configuration ID) from an Amazon S3 bucket. If you're updating
17548// an existing metrics configuration, note that this is a full replacement of
17549// the existing metrics configuration. If you don't include the elements you
17550// want to keep, they are erased. For more information, see PUT Bucket metrics
17551// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html)
17552// in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
17553type MetricsConfiguration struct {
17554 _ struct{} `type:"structure"`
17555
17556 // Specifies a metrics configuration filter. The metrics configuration will
17557 // only include objects that meet the filter's criteria. A filter must be a
17558 // prefix, a tag, or a conjunction (MetricsAndOperator).
17559 Filter *MetricsFilter `type:"structure"`
17560
17561 // The ID used to identify the metrics configuration.
17562 //
17563 // Id is a required field
17564 Id *string `type:"string" required:"true"`
17565}
17566
17567// String returns the string representation
17568func (s MetricsConfiguration) String() string {
17569 return awsutil.Prettify(s)
17570}
17571
17572// GoString returns the string representation
17573func (s MetricsConfiguration) GoString() string {
17574 return s.String()
17575}
17576
17577// Validate inspects the fields of the type to determine if they are valid.
17578func (s *MetricsConfiguration) Validate() error {
17579 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
17580 if s.Id == nil {
17581 invalidParams.Add(request.NewErrParamRequired("Id"))
17582 }
17583 if s.Filter != nil {
17584 if err := s.Filter.Validate(); err != nil {
17585 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
17586 }
17587 }
17588
17589 if invalidParams.Len() > 0 {
17590 return invalidParams
17591 }
17592 return nil
17593}
17594
17595// SetFilter sets the Filter field's value.
17596func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration {
17597 s.Filter = v
17598 return s
17599}
17600
17601// SetId sets the Id field's value.
17602func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
17603 s.Id = &v
17604 return s
17605}
17606
bae9f6d2
JC
17607type MetricsFilter struct {
17608 _ struct{} `type:"structure"`
17609
17610 // A conjunction (logical AND) of predicates, which is used in evaluating a
17611 // metrics filter. The operator must have at least two predicates, and an object
17612 // must match all of the predicates in order for the filter to apply.
17613 And *MetricsAndOperator `type:"structure"`
17614
17615 // The prefix used when evaluating a metrics filter.
17616 Prefix *string `type:"string"`
17617
17618 // The tag used when evaluating a metrics filter.
17619 Tag *Tag `type:"structure"`
17620}
17621
17622// String returns the string representation
17623func (s MetricsFilter) String() string {
17624 return awsutil.Prettify(s)
17625}
17626
17627// GoString returns the string representation
17628func (s MetricsFilter) GoString() string {
17629 return s.String()
17630}
17631
17632// Validate inspects the fields of the type to determine if they are valid.
17633func (s *MetricsFilter) Validate() error {
17634 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"}
17635 if s.And != nil {
17636 if err := s.And.Validate(); err != nil {
17637 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
17638 }
17639 }
17640 if s.Tag != nil {
17641 if err := s.Tag.Validate(); err != nil {
17642 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
17643 }
17644 }
17645
17646 if invalidParams.Len() > 0 {
17647 return invalidParams
17648 }
17649 return nil
17650}
17651
17652// SetAnd sets the And field's value.
17653func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter {
17654 s.And = v
17655 return s
17656}
17657
17658// SetPrefix sets the Prefix field's value.
17659func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter {
17660 s.Prefix = &v
17661 return s
17662}
17663
17664// SetTag sets the Tag field's value.
17665func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
17666 s.Tag = v
17667 return s
17668}
17669
bae9f6d2
JC
17670type MultipartUpload struct {
17671 _ struct{} `type:"structure"`
17672
17673 // Date and time at which the multipart upload was initiated.
15c0b25d 17674 Initiated *time.Time `type:"timestamp"`
bae9f6d2
JC
17675
17676 // Identifies who initiated the multipart upload.
17677 Initiator *Initiator `type:"structure"`
17678
17679 // Key of the object for which the multipart upload was initiated.
17680 Key *string `min:"1" type:"string"`
17681
17682 Owner *Owner `type:"structure"`
17683
17684 // The class of storage used to store the object.
17685 StorageClass *string `type:"string" enum:"StorageClass"`
17686
17687 // Upload ID that identifies the multipart upload.
17688 UploadId *string `type:"string"`
17689}
17690
17691// String returns the string representation
17692func (s MultipartUpload) String() string {
17693 return awsutil.Prettify(s)
17694}
17695
17696// GoString returns the string representation
17697func (s MultipartUpload) GoString() string {
17698 return s.String()
17699}
17700
17701// SetInitiated sets the Initiated field's value.
17702func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
17703 s.Initiated = &v
17704 return s
17705}
17706
17707// SetInitiator sets the Initiator field's value.
17708func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload {
17709 s.Initiator = v
17710 return s
17711}
17712
17713// SetKey sets the Key field's value.
17714func (s *MultipartUpload) SetKey(v string) *MultipartUpload {
17715 s.Key = &v
17716 return s
17717}
17718
17719// SetOwner sets the Owner field's value.
17720func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload {
17721 s.Owner = v
17722 return s
17723}
17724
17725// SetStorageClass sets the StorageClass field's value.
17726func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload {
17727 s.StorageClass = &v
17728 return s
17729}
17730
17731// SetUploadId sets the UploadId field's value.
17732func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
17733 s.UploadId = &v
17734 return s
17735}
17736
17737// Specifies when noncurrent object versions expire. Upon expiration, Amazon
17738// S3 permanently deletes the noncurrent object versions. You set this lifecycle
17739// configuration action on a bucket that has versioning enabled (or suspended)
17740// to request that Amazon S3 delete noncurrent object versions at a specific
17741// period in the object's lifetime.
bae9f6d2
JC
17742type NoncurrentVersionExpiration struct {
17743 _ struct{} `type:"structure"`
17744
17745 // Specifies the number of days an object is noncurrent before Amazon S3 can
17746 // perform the associated action. For information about the noncurrent days
17747 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
863486a6 17748 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
107c1cdb 17749 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17750 NoncurrentDays *int64 `type:"integer"`
17751}
17752
17753// String returns the string representation
17754func (s NoncurrentVersionExpiration) String() string {
17755 return awsutil.Prettify(s)
17756}
17757
17758// GoString returns the string representation
17759func (s NoncurrentVersionExpiration) GoString() string {
17760 return s.String()
17761}
17762
17763// SetNoncurrentDays sets the NoncurrentDays field's value.
17764func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
17765 s.NoncurrentDays = &v
17766 return s
17767}
17768
17769// Container for the transition rule that describes when noncurrent objects
863486a6
AG
17770// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
17771// or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
107c1cdb
ND
17772// is suspended), you can set this action to request that Amazon S3 transition
17773// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
863486a6 17774// GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
107c1cdb 17775// lifetime.
bae9f6d2
JC
17776type NoncurrentVersionTransition struct {
17777 _ struct{} `type:"structure"`
17778
17779 // Specifies the number of days an object is noncurrent before Amazon S3 can
17780 // perform the associated action. For information about the noncurrent days
17781 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
107c1cdb
ND
17782 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
17783 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17784 NoncurrentDays *int64 `type:"integer"`
17785
17786 // The class of storage used to store the object.
17787 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
17788}
17789
17790// String returns the string representation
17791func (s NoncurrentVersionTransition) String() string {
17792 return awsutil.Prettify(s)
17793}
17794
17795// GoString returns the string representation
17796func (s NoncurrentVersionTransition) GoString() string {
17797 return s.String()
17798}
17799
17800// SetNoncurrentDays sets the NoncurrentDays field's value.
17801func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
17802 s.NoncurrentDays = &v
17803 return s
17804}
17805
17806// SetStorageClass sets the StorageClass field's value.
17807func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition {
17808 s.StorageClass = &v
17809 return s
17810}
17811
107c1cdb
ND
17812// A container for specifying the notification configuration of the bucket.
17813// If this element is empty, notifications are turned off for the bucket.
bae9f6d2
JC
17814type NotificationConfiguration struct {
17815 _ struct{} `type:"structure"`
17816
863486a6
AG
17817 // Describes the AWS Lambda functions to invoke and the events for which to
17818 // invoke them.
bae9f6d2
JC
17819 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
17820
863486a6
AG
17821 // The Amazon Simple Queue Service queues to publish messages to and the events
17822 // for which to publish messages.
bae9f6d2
JC
17823 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
17824
863486a6
AG
17825 // The topic to which notifications are sent and the events for which notifications
17826 // are generated.
bae9f6d2
JC
17827 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17828}
17829
17830// String returns the string representation
17831func (s NotificationConfiguration) String() string {
17832 return awsutil.Prettify(s)
17833}
17834
17835// GoString returns the string representation
17836func (s NotificationConfiguration) GoString() string {
17837 return s.String()
17838}
17839
17840// Validate inspects the fields of the type to determine if they are valid.
17841func (s *NotificationConfiguration) Validate() error {
17842 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"}
17843 if s.LambdaFunctionConfigurations != nil {
17844 for i, v := range s.LambdaFunctionConfigurations {
17845 if v == nil {
17846 continue
17847 }
17848 if err := v.Validate(); err != nil {
17849 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams))
17850 }
17851 }
17852 }
17853 if s.QueueConfigurations != nil {
17854 for i, v := range s.QueueConfigurations {
17855 if v == nil {
17856 continue
17857 }
17858 if err := v.Validate(); err != nil {
17859 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams))
17860 }
17861 }
17862 }
17863 if s.TopicConfigurations != nil {
17864 for i, v := range s.TopicConfigurations {
17865 if v == nil {
17866 continue
17867 }
17868 if err := v.Validate(); err != nil {
17869 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams))
17870 }
17871 }
17872 }
17873
17874 if invalidParams.Len() > 0 {
17875 return invalidParams
17876 }
17877 return nil
17878}
17879
17880// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
17881func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
17882 s.LambdaFunctionConfigurations = v
17883 return s
17884}
17885
17886// SetQueueConfigurations sets the QueueConfigurations field's value.
17887func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration {
17888 s.QueueConfigurations = v
17889 return s
17890}
17891
17892// SetTopicConfigurations sets the TopicConfigurations field's value.
17893func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration {
17894 s.TopicConfigurations = v
17895 return s
17896}
17897
bae9f6d2
JC
17898type NotificationConfigurationDeprecated struct {
17899 _ struct{} `type:"structure"`
17900
17901 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`
17902
17903 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
17904
17905 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
17906}
17907
17908// String returns the string representation
17909func (s NotificationConfigurationDeprecated) String() string {
17910 return awsutil.Prettify(s)
17911}
17912
17913// GoString returns the string representation
17914func (s NotificationConfigurationDeprecated) GoString() string {
17915 return s.String()
17916}
17917
17918// SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value.
17919func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated {
17920 s.CloudFunctionConfiguration = v
17921 return s
17922}
17923
17924// SetQueueConfiguration sets the QueueConfiguration field's value.
17925func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated {
17926 s.QueueConfiguration = v
17927 return s
17928}
17929
17930// SetTopicConfiguration sets the TopicConfiguration field's value.
17931func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated {
17932 s.TopicConfiguration = v
17933 return s
17934}
17935
863486a6
AG
17936// Specifies object key name filtering rules. For information about key name
17937// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 17938// in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
17939type NotificationConfigurationFilter struct {
17940 _ struct{} `type:"structure"`
17941
107c1cdb 17942 // A container for object key name prefix and suffix filtering rules.
bae9f6d2
JC
17943 Key *KeyFilter `locationName:"S3Key" type:"structure"`
17944}
17945
17946// String returns the string representation
17947func (s NotificationConfigurationFilter) String() string {
17948 return awsutil.Prettify(s)
17949}
17950
17951// GoString returns the string representation
17952func (s NotificationConfigurationFilter) GoString() string {
17953 return s.String()
17954}
17955
17956// SetKey sets the Key field's value.
17957func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter {
17958 s.Key = v
17959 return s
17960}
17961
bae9f6d2
JC
17962type Object struct {
17963 _ struct{} `type:"structure"`
17964
17965 ETag *string `type:"string"`
17966
17967 Key *string `min:"1" type:"string"`
17968
15c0b25d 17969 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
17970
17971 Owner *Owner `type:"structure"`
17972
17973 Size *int64 `type:"integer"`
17974
17975 // The class of storage used to store the object.
17976 StorageClass *string `type:"string" enum:"ObjectStorageClass"`
17977}
17978
17979// String returns the string representation
17980func (s Object) String() string {
17981 return awsutil.Prettify(s)
17982}
17983
17984// GoString returns the string representation
17985func (s Object) GoString() string {
17986 return s.String()
17987}
17988
17989// SetETag sets the ETag field's value.
17990func (s *Object) SetETag(v string) *Object {
17991 s.ETag = &v
17992 return s
17993}
17994
17995// SetKey sets the Key field's value.
17996func (s *Object) SetKey(v string) *Object {
17997 s.Key = &v
17998 return s
17999}
18000
18001// SetLastModified sets the LastModified field's value.
18002func (s *Object) SetLastModified(v time.Time) *Object {
18003 s.LastModified = &v
18004 return s
18005}
18006
18007// SetOwner sets the Owner field's value.
18008func (s *Object) SetOwner(v *Owner) *Object {
18009 s.Owner = v
18010 return s
18011}
18012
18013// SetSize sets the Size field's value.
18014func (s *Object) SetSize(v int64) *Object {
18015 s.Size = &v
18016 return s
18017}
18018
18019// SetStorageClass sets the StorageClass field's value.
18020func (s *Object) SetStorageClass(v string) *Object {
18021 s.StorageClass = &v
18022 return s
18023}
18024
bae9f6d2
JC
18025type ObjectIdentifier struct {
18026 _ struct{} `type:"structure"`
18027
18028 // Key name of the object to delete.
18029 //
18030 // Key is a required field
18031 Key *string `min:"1" type:"string" required:"true"`
18032
18033 // VersionId for the specific version of the object to delete.
18034 VersionId *string `type:"string"`
18035}
18036
18037// String returns the string representation
18038func (s ObjectIdentifier) String() string {
18039 return awsutil.Prettify(s)
18040}
18041
18042// GoString returns the string representation
18043func (s ObjectIdentifier) GoString() string {
18044 return s.String()
18045}
18046
18047// Validate inspects the fields of the type to determine if they are valid.
18048func (s *ObjectIdentifier) Validate() error {
18049 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"}
18050 if s.Key == nil {
18051 invalidParams.Add(request.NewErrParamRequired("Key"))
18052 }
18053 if s.Key != nil && len(*s.Key) < 1 {
18054 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18055 }
18056
18057 if invalidParams.Len() > 0 {
18058 return invalidParams
18059 }
18060 return nil
18061}
18062
18063// SetKey sets the Key field's value.
18064func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier {
18065 s.Key = &v
18066 return s
18067}
18068
18069// SetVersionId sets the VersionId field's value.
18070func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
18071 s.VersionId = &v
18072 return s
18073}
18074
863486a6 18075// The container element for object lock configuration parameters.
107c1cdb
ND
18076type ObjectLockConfiguration struct {
18077 _ struct{} `type:"structure"`
18078
863486a6 18079 // Indicates whether this bucket has an object lock configuration enabled.
107c1cdb
ND
18080 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
18081
863486a6 18082 // The object lock rule in place for the specified object.
107c1cdb
ND
18083 Rule *ObjectLockRule `type:"structure"`
18084}
18085
18086// String returns the string representation
18087func (s ObjectLockConfiguration) String() string {
18088 return awsutil.Prettify(s)
18089}
18090
18091// GoString returns the string representation
18092func (s ObjectLockConfiguration) GoString() string {
18093 return s.String()
18094}
18095
18096// SetObjectLockEnabled sets the ObjectLockEnabled field's value.
18097func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration {
18098 s.ObjectLockEnabled = &v
18099 return s
18100}
18101
18102// SetRule sets the Rule field's value.
18103func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration {
18104 s.Rule = v
18105 return s
18106}
18107
18108// A Legal Hold configuration for an object.
18109type ObjectLockLegalHold struct {
18110 _ struct{} `type:"structure"`
18111
18112 // Indicates whether the specified object has a Legal Hold in place.
18113 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
18114}
18115
18116// String returns the string representation
18117func (s ObjectLockLegalHold) String() string {
18118 return awsutil.Prettify(s)
18119}
18120
18121// GoString returns the string representation
18122func (s ObjectLockLegalHold) GoString() string {
18123 return s.String()
18124}
18125
18126// SetStatus sets the Status field's value.
18127func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold {
18128 s.Status = &v
18129 return s
18130}
18131
18132// A Retention configuration for an object.
18133type ObjectLockRetention struct {
18134 _ struct{} `type:"structure"`
18135
18136 // Indicates the Retention mode for the specified object.
18137 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18138
863486a6 18139 // The date on which this object lock retention expires.
107c1cdb
ND
18140 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18141}
18142
18143// String returns the string representation
18144func (s ObjectLockRetention) String() string {
18145 return awsutil.Prettify(s)
18146}
18147
18148// GoString returns the string representation
18149func (s ObjectLockRetention) GoString() string {
18150 return s.String()
18151}
18152
18153// SetMode sets the Mode field's value.
18154func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention {
18155 s.Mode = &v
18156 return s
18157}
18158
18159// SetRetainUntilDate sets the RetainUntilDate field's value.
18160func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention {
18161 s.RetainUntilDate = &v
18162 return s
18163}
18164
863486a6 18165// The container element for an object lock rule.
107c1cdb
ND
18166type ObjectLockRule struct {
18167 _ struct{} `type:"structure"`
18168
18169 // The default retention period that you want to apply to new objects placed
18170 // in the specified bucket.
18171 DefaultRetention *DefaultRetention `type:"structure"`
18172}
18173
18174// String returns the string representation
18175func (s ObjectLockRule) String() string {
18176 return awsutil.Prettify(s)
18177}
18178
18179// GoString returns the string representation
18180func (s ObjectLockRule) GoString() string {
18181 return s.String()
18182}
18183
18184// SetDefaultRetention sets the DefaultRetention field's value.
18185func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule {
18186 s.DefaultRetention = v
18187 return s
18188}
18189
bae9f6d2
JC
18190type ObjectVersion struct {
18191 _ struct{} `type:"structure"`
18192
18193 ETag *string `type:"string"`
18194
18195 // Specifies whether the object is (true) or is not (false) the latest version
18196 // of an object.
18197 IsLatest *bool `type:"boolean"`
18198
18199 // The object key.
18200 Key *string `min:"1" type:"string"`
18201
18202 // Date and time the object was last modified.
15c0b25d 18203 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
18204
18205 Owner *Owner `type:"structure"`
18206
18207 // Size in bytes of the object.
18208 Size *int64 `type:"integer"`
18209
18210 // The class of storage used to store the object.
18211 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"`
18212
18213 // Version ID of an object.
18214 VersionId *string `type:"string"`
18215}
18216
18217// String returns the string representation
18218func (s ObjectVersion) String() string {
18219 return awsutil.Prettify(s)
18220}
18221
18222// GoString returns the string representation
18223func (s ObjectVersion) GoString() string {
18224 return s.String()
18225}
18226
18227// SetETag sets the ETag field's value.
18228func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
18229 s.ETag = &v
18230 return s
18231}
18232
18233// SetIsLatest sets the IsLatest field's value.
18234func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion {
18235 s.IsLatest = &v
18236 return s
18237}
18238
18239// SetKey sets the Key field's value.
18240func (s *ObjectVersion) SetKey(v string) *ObjectVersion {
18241 s.Key = &v
18242 return s
18243}
18244
18245// SetLastModified sets the LastModified field's value.
18246func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion {
18247 s.LastModified = &v
18248 return s
18249}
18250
18251// SetOwner sets the Owner field's value.
18252func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion {
18253 s.Owner = v
18254 return s
18255}
18256
18257// SetSize sets the Size field's value.
18258func (s *ObjectVersion) SetSize(v int64) *ObjectVersion {
18259 s.Size = &v
18260 return s
18261}
18262
18263// SetStorageClass sets the StorageClass field's value.
18264func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion {
18265 s.StorageClass = &v
18266 return s
18267}
18268
18269// SetVersionId sets the VersionId field's value.
18270func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
18271 s.VersionId = &v
18272 return s
18273}
18274
15c0b25d
AP
18275// Describes the location where the restore job's output is stored.
18276type OutputLocation struct {
18277 _ struct{} `type:"structure"`
18278
18279 // Describes an S3 location that will receive the results of the restore request.
18280 S3 *Location `type:"structure"`
18281}
18282
18283// String returns the string representation
18284func (s OutputLocation) String() string {
18285 return awsutil.Prettify(s)
18286}
18287
18288// GoString returns the string representation
18289func (s OutputLocation) GoString() string {
18290 return s.String()
18291}
18292
18293// Validate inspects the fields of the type to determine if they are valid.
18294func (s *OutputLocation) Validate() error {
18295 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
18296 if s.S3 != nil {
18297 if err := s.S3.Validate(); err != nil {
18298 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
18299 }
18300 }
18301
18302 if invalidParams.Len() > 0 {
18303 return invalidParams
18304 }
18305 return nil
18306}
18307
18308// SetS3 sets the S3 field's value.
18309func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
18310 s.S3 = v
18311 return s
18312}
18313
18314// Describes how results of the Select job are serialized.
18315type OutputSerialization struct {
18316 _ struct{} `type:"structure"`
18317
18318 // Describes the serialization of CSV-encoded Select results.
18319 CSV *CSVOutput `type:"structure"`
18320
18321 // Specifies JSON as request's output serialization format.
18322 JSON *JSONOutput `type:"structure"`
18323}
18324
18325// String returns the string representation
18326func (s OutputSerialization) String() string {
18327 return awsutil.Prettify(s)
18328}
18329
18330// GoString returns the string representation
18331func (s OutputSerialization) GoString() string {
18332 return s.String()
18333}
18334
18335// SetCSV sets the CSV field's value.
18336func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
18337 s.CSV = v
18338 return s
18339}
18340
18341// SetJSON sets the JSON field's value.
18342func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
18343 s.JSON = v
18344 return s
18345}
18346
bae9f6d2
JC
18347type Owner struct {
18348 _ struct{} `type:"structure"`
18349
18350 DisplayName *string `type:"string"`
18351
18352 ID *string `type:"string"`
18353}
18354
18355// String returns the string representation
18356func (s Owner) String() string {
18357 return awsutil.Prettify(s)
18358}
18359
18360// GoString returns the string representation
18361func (s Owner) GoString() string {
18362 return s.String()
18363}
18364
18365// SetDisplayName sets the DisplayName field's value.
18366func (s *Owner) SetDisplayName(v string) *Owner {
18367 s.DisplayName = &v
18368 return s
18369}
18370
18371// SetID sets the ID field's value.
18372func (s *Owner) SetID(v string) *Owner {
18373 s.ID = &v
18374 return s
18375}
18376
107c1cdb
ND
18377type ParquetInput struct {
18378 _ struct{} `type:"structure"`
18379}
18380
18381// String returns the string representation
18382func (s ParquetInput) String() string {
18383 return awsutil.Prettify(s)
18384}
18385
18386// GoString returns the string representation
18387func (s ParquetInput) GoString() string {
18388 return s.String()
18389}
18390
bae9f6d2
JC
18391type Part struct {
18392 _ struct{} `type:"structure"`
18393
18394 // Entity tag returned when the part was uploaded.
18395 ETag *string `type:"string"`
18396
18397 // Date and time at which the part was uploaded.
15c0b25d 18398 LastModified *time.Time `type:"timestamp"`
bae9f6d2
JC
18399
18400 // Part number identifying the part. This is a positive integer between 1 and
18401 // 10,000.
18402 PartNumber *int64 `type:"integer"`
18403
107c1cdb 18404 // Size in bytes of the uploaded part data.
bae9f6d2
JC
18405 Size *int64 `type:"integer"`
18406}
18407
18408// String returns the string representation
18409func (s Part) String() string {
18410 return awsutil.Prettify(s)
18411}
18412
18413// GoString returns the string representation
18414func (s Part) GoString() string {
18415 return s.String()
18416}
18417
18418// SetETag sets the ETag field's value.
18419func (s *Part) SetETag(v string) *Part {
18420 s.ETag = &v
18421 return s
18422}
18423
18424// SetLastModified sets the LastModified field's value.
18425func (s *Part) SetLastModified(v time.Time) *Part {
18426 s.LastModified = &v
18427 return s
18428}
18429
18430// SetPartNumber sets the PartNumber field's value.
18431func (s *Part) SetPartNumber(v int64) *Part {
18432 s.PartNumber = &v
18433 return s
18434}
18435
18436// SetSize sets the Size field's value.
18437func (s *Part) SetSize(v int64) *Part {
18438 s.Size = &v
18439 return s
18440}
18441
107c1cdb
ND
18442// The container element for a bucket's policy status.
18443type PolicyStatus struct {
18444 _ struct{} `type:"structure"`
18445
18446 // The policy status for this bucket. TRUE indicates that this bucket is public.
18447 // FALSE indicates that the bucket is not public.
18448 IsPublic *bool `locationName:"IsPublic" type:"boolean"`
18449}
18450
18451// String returns the string representation
18452func (s PolicyStatus) String() string {
18453 return awsutil.Prettify(s)
18454}
18455
18456// GoString returns the string representation
18457func (s PolicyStatus) GoString() string {
18458 return s.String()
18459}
18460
18461// SetIsPublic sets the IsPublic field's value.
18462func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus {
18463 s.IsPublic = &v
18464 return s
18465}
18466
15c0b25d
AP
18467type Progress struct {
18468 _ struct{} `type:"structure"`
18469
107c1cdb 18470 // The current number of uncompressed object bytes processed.
15c0b25d
AP
18471 BytesProcessed *int64 `type:"long"`
18472
107c1cdb 18473 // The current number of bytes of records payload data returned.
15c0b25d
AP
18474 BytesReturned *int64 `type:"long"`
18475
107c1cdb 18476 // The current number of object bytes scanned.
15c0b25d
AP
18477 BytesScanned *int64 `type:"long"`
18478}
18479
18480// String returns the string representation
18481func (s Progress) String() string {
18482 return awsutil.Prettify(s)
18483}
18484
18485// GoString returns the string representation
18486func (s Progress) GoString() string {
18487 return s.String()
18488}
18489
18490// SetBytesProcessed sets the BytesProcessed field's value.
18491func (s *Progress) SetBytesProcessed(v int64) *Progress {
18492 s.BytesProcessed = &v
18493 return s
18494}
18495
18496// SetBytesReturned sets the BytesReturned field's value.
18497func (s *Progress) SetBytesReturned(v int64) *Progress {
18498 s.BytesReturned = &v
18499 return s
18500}
18501
18502// SetBytesScanned sets the BytesScanned field's value.
18503func (s *Progress) SetBytesScanned(v int64) *Progress {
18504 s.BytesScanned = &v
18505 return s
18506}
18507
18508type ProgressEvent struct {
18509 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
18510
18511 // The Progress event details.
18512 Details *Progress `locationName:"Details" type:"structure"`
18513}
18514
18515// String returns the string representation
18516func (s ProgressEvent) String() string {
18517 return awsutil.Prettify(s)
18518}
18519
18520// GoString returns the string representation
18521func (s ProgressEvent) GoString() string {
18522 return s.String()
18523}
18524
107c1cdb
ND
18525// SetDetails sets the Details field's value.
18526func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
18527 s.Details = v
18528 return s
18529}
18530
18531// The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
18532func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
18533
18534// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
18535// This method is only used internally within the SDK's EventStream handling.
18536func (s *ProgressEvent) UnmarshalEvent(
18537 payloadUnmarshaler protocol.PayloadUnmarshaler,
18538 msg eventstream.Message,
18539) error {
18540 if err := payloadUnmarshaler.UnmarshalPayload(
18541 bytes.NewReader(msg.Payload), s,
18542 ); err != nil {
18543 return err
18544 }
18545 return nil
18546}
18547
863486a6 18548// Specifies the Block Public Access configuration for an Amazon S3 bucket.
107c1cdb
ND
18549type PublicAccessBlockConfiguration struct {
18550 _ struct{} `type:"structure"`
18551
18552 // Specifies whether Amazon S3 should block public access control lists (ACLs)
18553 // for this bucket and objects in this bucket. Setting this element to TRUE
18554 // causes the following behavior:
18555 //
18556 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
18557 // public.
18558 //
18559 // * PUT Object calls fail if the request includes a public ACL.
18560 //
18561 // Enabling this setting doesn't affect existing policies or ACLs.
18562 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"`
18563
18564 // Specifies whether Amazon S3 should block public bucket policies for this
18565 // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to
18566 // PUT Bucket policy if the specified bucket policy allows public access.
18567 //
18568 // Enabling this setting doesn't affect existing bucket policies.
18569 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"`
18570
18571 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and
18572 // objects in this bucket. Setting this element to TRUE causes Amazon S3 to
18573 // ignore all public ACLs on this bucket and objects in this bucket.
18574 //
18575 // Enabling this setting doesn't affect the persistence of any existing ACLs
18576 // and doesn't prevent new public ACLs from being set.
18577 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"`
18578
18579 // Specifies whether Amazon S3 should restrict public bucket policies for this
18580 // bucket. Setting this element to TRUE restricts access to this bucket to only
18581 // AWS services and authorized users within this account if the bucket has a
18582 // public policy.
18583 //
18584 // Enabling this setting doesn't affect previously stored bucket policies, except
18585 // that public and cross-account access within any public bucket policy, including
18586 // non-public delegation to specific accounts, is blocked.
18587 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"`
18588}
18589
18590// String returns the string representation
18591func (s PublicAccessBlockConfiguration) String() string {
18592 return awsutil.Prettify(s)
18593}
18594
18595// GoString returns the string representation
18596func (s PublicAccessBlockConfiguration) GoString() string {
18597 return s.String()
18598}
18599
18600// SetBlockPublicAcls sets the BlockPublicAcls field's value.
18601func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration {
18602 s.BlockPublicAcls = &v
18603 return s
18604}
18605
18606// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
18607func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration {
18608 s.BlockPublicPolicy = &v
15c0b25d
AP
18609 return s
18610}
18611
107c1cdb
ND
18612// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
18613func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration {
18614 s.IgnorePublicAcls = &v
18615 return s
18616}
15c0b25d 18617
107c1cdb
ND
18618// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
18619func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration {
18620 s.RestrictPublicBuckets = &v
18621 return s
15c0b25d
AP
18622}
18623
bae9f6d2
JC
18624type PutBucketAccelerateConfigurationInput struct {
18625 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
18626
18627 // Specifies the Accelerate Configuration you want to set for the bucket.
18628 //
18629 // AccelerateConfiguration is a required field
15c0b25d 18630 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18631
18632 // Name of the bucket for which the accelerate configuration is set.
18633 //
18634 // Bucket is a required field
18635 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18636}
18637
18638// String returns the string representation
18639func (s PutBucketAccelerateConfigurationInput) String() string {
18640 return awsutil.Prettify(s)
18641}
18642
18643// GoString returns the string representation
18644func (s PutBucketAccelerateConfigurationInput) GoString() string {
18645 return s.String()
18646}
18647
18648// Validate inspects the fields of the type to determine if they are valid.
18649func (s *PutBucketAccelerateConfigurationInput) Validate() error {
18650 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"}
18651 if s.AccelerateConfiguration == nil {
18652 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration"))
18653 }
18654 if s.Bucket == nil {
18655 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18656 }
107c1cdb
ND
18657 if s.Bucket != nil && len(*s.Bucket) < 1 {
18658 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18659 }
bae9f6d2
JC
18660
18661 if invalidParams.Len() > 0 {
18662 return invalidParams
18663 }
18664 return nil
18665}
18666
18667// SetAccelerateConfiguration sets the AccelerateConfiguration field's value.
18668func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput {
18669 s.AccelerateConfiguration = v
18670 return s
18671}
18672
18673// SetBucket sets the Bucket field's value.
18674func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput {
18675 s.Bucket = &v
18676 return s
18677}
18678
15c0b25d
AP
18679func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
18680 if s.Bucket == nil {
18681 return v
18682 }
18683 return *s.Bucket
18684}
18685
bae9f6d2
JC
18686type PutBucketAccelerateConfigurationOutput struct {
18687 _ struct{} `type:"structure"`
18688}
18689
18690// String returns the string representation
18691func (s PutBucketAccelerateConfigurationOutput) String() string {
18692 return awsutil.Prettify(s)
18693}
18694
18695// GoString returns the string representation
18696func (s PutBucketAccelerateConfigurationOutput) GoString() string {
18697 return s.String()
18698}
18699
bae9f6d2
JC
18700type PutBucketAclInput struct {
18701 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
18702
18703 // The canned ACL to apply to the bucket.
18704 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
18705
863486a6 18706 // Contains the elements that set the ACL permissions for an object per grantee.
15c0b25d 18707 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18708
18709 // Bucket is a required field
18710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18711
18712 // Allows grantee the read, write, read ACP, and write ACP permissions on the
18713 // bucket.
18714 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
18715
18716 // Allows grantee to list the objects in the bucket.
18717 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
18718
18719 // Allows grantee to read the bucket ACL.
18720 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
18721
18722 // Allows grantee to create, overwrite, and delete any object in the bucket.
18723 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
18724
18725 // Allows grantee to write the ACL for the applicable bucket.
18726 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
18727}
18728
18729// String returns the string representation
18730func (s PutBucketAclInput) String() string {
18731 return awsutil.Prettify(s)
18732}
18733
18734// GoString returns the string representation
18735func (s PutBucketAclInput) GoString() string {
18736 return s.String()
18737}
18738
18739// Validate inspects the fields of the type to determine if they are valid.
18740func (s *PutBucketAclInput) Validate() error {
18741 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"}
18742 if s.Bucket == nil {
18743 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18744 }
107c1cdb
ND
18745 if s.Bucket != nil && len(*s.Bucket) < 1 {
18746 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18747 }
bae9f6d2
JC
18748 if s.AccessControlPolicy != nil {
18749 if err := s.AccessControlPolicy.Validate(); err != nil {
18750 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
18751 }
18752 }
18753
18754 if invalidParams.Len() > 0 {
18755 return invalidParams
18756 }
18757 return nil
18758}
18759
18760// SetACL sets the ACL field's value.
18761func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput {
18762 s.ACL = &v
18763 return s
18764}
18765
18766// SetAccessControlPolicy sets the AccessControlPolicy field's value.
18767func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput {
18768 s.AccessControlPolicy = v
18769 return s
18770}
18771
18772// SetBucket sets the Bucket field's value.
18773func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
18774 s.Bucket = &v
18775 return s
18776}
18777
15c0b25d
AP
18778func (s *PutBucketAclInput) getBucket() (v string) {
18779 if s.Bucket == nil {
18780 return v
18781 }
18782 return *s.Bucket
18783}
18784
bae9f6d2
JC
18785// SetGrantFullControl sets the GrantFullControl field's value.
18786func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
18787 s.GrantFullControl = &v
18788 return s
18789}
18790
18791// SetGrantRead sets the GrantRead field's value.
18792func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput {
18793 s.GrantRead = &v
18794 return s
18795}
18796
18797// SetGrantReadACP sets the GrantReadACP field's value.
18798func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput {
18799 s.GrantReadACP = &v
18800 return s
18801}
18802
18803// SetGrantWrite sets the GrantWrite field's value.
18804func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput {
18805 s.GrantWrite = &v
18806 return s
18807}
18808
18809// SetGrantWriteACP sets the GrantWriteACP field's value.
18810func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
18811 s.GrantWriteACP = &v
18812 return s
18813}
18814
bae9f6d2
JC
18815type PutBucketAclOutput struct {
18816 _ struct{} `type:"structure"`
18817}
18818
18819// String returns the string representation
18820func (s PutBucketAclOutput) String() string {
18821 return awsutil.Prettify(s)
18822}
18823
18824// GoString returns the string representation
18825func (s PutBucketAclOutput) GoString() string {
18826 return s.String()
18827}
18828
bae9f6d2
JC
18829type PutBucketAnalyticsConfigurationInput struct {
18830 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
18831
18832 // The configuration and any analyses for the analytics filter.
18833 //
18834 // AnalyticsConfiguration is a required field
15c0b25d 18835 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18836
18837 // The name of the bucket to which an analytics configuration is stored.
18838 //
18839 // Bucket is a required field
18840 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18841
863486a6 18842 // The ID that identifies the analytics configuration.
bae9f6d2
JC
18843 //
18844 // Id is a required field
18845 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
18846}
18847
18848// String returns the string representation
18849func (s PutBucketAnalyticsConfigurationInput) String() string {
18850 return awsutil.Prettify(s)
18851}
18852
18853// GoString returns the string representation
18854func (s PutBucketAnalyticsConfigurationInput) GoString() string {
18855 return s.String()
18856}
18857
18858// Validate inspects the fields of the type to determine if they are valid.
18859func (s *PutBucketAnalyticsConfigurationInput) Validate() error {
18860 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"}
18861 if s.AnalyticsConfiguration == nil {
18862 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration"))
18863 }
18864 if s.Bucket == nil {
18865 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18866 }
107c1cdb
ND
18867 if s.Bucket != nil && len(*s.Bucket) < 1 {
18868 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18869 }
bae9f6d2
JC
18870 if s.Id == nil {
18871 invalidParams.Add(request.NewErrParamRequired("Id"))
18872 }
18873 if s.AnalyticsConfiguration != nil {
18874 if err := s.AnalyticsConfiguration.Validate(); err != nil {
18875 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
18876 }
18877 }
18878
18879 if invalidParams.Len() > 0 {
18880 return invalidParams
18881 }
18882 return nil
18883}
18884
18885// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
18886func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput {
18887 s.AnalyticsConfiguration = v
18888 return s
18889}
18890
18891// SetBucket sets the Bucket field's value.
18892func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput {
18893 s.Bucket = &v
18894 return s
18895}
18896
15c0b25d
AP
18897func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
18898 if s.Bucket == nil {
18899 return v
18900 }
18901 return *s.Bucket
18902}
18903
bae9f6d2
JC
18904// SetId sets the Id field's value.
18905func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
18906 s.Id = &v
18907 return s
18908}
18909
bae9f6d2
JC
18910type PutBucketAnalyticsConfigurationOutput struct {
18911 _ struct{} `type:"structure"`
18912}
18913
18914// String returns the string representation
18915func (s PutBucketAnalyticsConfigurationOutput) String() string {
18916 return awsutil.Prettify(s)
18917}
18918
18919// GoString returns the string representation
18920func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
18921 return s.String()
18922}
18923
bae9f6d2
JC
18924type PutBucketCorsInput struct {
18925 _ struct{} `type:"structure" payload:"CORSConfiguration"`
18926
18927 // Bucket is a required field
18928 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18929
863486a6
AG
18930 // Describes the cross-origin access configuration for objects in an Amazon
18931 // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
18932 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
18933 // Simple Storage Service Developer Guide.
18934 //
bae9f6d2 18935 // CORSConfiguration is a required field
15c0b25d 18936 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
18937}
18938
18939// String returns the string representation
18940func (s PutBucketCorsInput) String() string {
18941 return awsutil.Prettify(s)
18942}
18943
18944// GoString returns the string representation
18945func (s PutBucketCorsInput) GoString() string {
18946 return s.String()
18947}
18948
18949// Validate inspects the fields of the type to determine if they are valid.
18950func (s *PutBucketCorsInput) Validate() error {
18951 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"}
18952 if s.Bucket == nil {
18953 invalidParams.Add(request.NewErrParamRequired("Bucket"))
18954 }
107c1cdb
ND
18955 if s.Bucket != nil && len(*s.Bucket) < 1 {
18956 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
18957 }
bae9f6d2
JC
18958 if s.CORSConfiguration == nil {
18959 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration"))
18960 }
18961 if s.CORSConfiguration != nil {
18962 if err := s.CORSConfiguration.Validate(); err != nil {
18963 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams))
18964 }
18965 }
18966
18967 if invalidParams.Len() > 0 {
18968 return invalidParams
18969 }
18970 return nil
18971}
18972
18973// SetBucket sets the Bucket field's value.
18974func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
18975 s.Bucket = &v
18976 return s
18977}
18978
15c0b25d
AP
18979func (s *PutBucketCorsInput) getBucket() (v string) {
18980 if s.Bucket == nil {
18981 return v
18982 }
18983 return *s.Bucket
18984}
18985
bae9f6d2
JC
18986// SetCORSConfiguration sets the CORSConfiguration field's value.
18987func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
18988 s.CORSConfiguration = v
18989 return s
18990}
18991
bae9f6d2
JC
18992type PutBucketCorsOutput struct {
18993 _ struct{} `type:"structure"`
18994}
18995
18996// String returns the string representation
18997func (s PutBucketCorsOutput) String() string {
18998 return awsutil.Prettify(s)
18999}
19000
19001// GoString returns the string representation
19002func (s PutBucketCorsOutput) GoString() string {
19003 return s.String()
19004}
19005
15c0b25d
AP
19006type PutBucketEncryptionInput struct {
19007 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
bae9f6d2 19008
863486a6
AG
19009 // Specifies default encryption for a bucket using server-side encryption with
19010 // Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS). For information
19011 // about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket
19012 // Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
19013 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
19014 //
19015 // Bucket is a required field
19016 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19017
863486a6 19018 // Specifies the default server-side-encryption configuration.
bae9f6d2 19019 //
15c0b25d
AP
19020 // ServerSideEncryptionConfiguration is a required field
19021 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19022}
19023
19024// String returns the string representation
15c0b25d 19025func (s PutBucketEncryptionInput) String() string {
bae9f6d2
JC
19026 return awsutil.Prettify(s)
19027}
19028
19029// GoString returns the string representation
15c0b25d 19030func (s PutBucketEncryptionInput) GoString() string {
bae9f6d2
JC
19031 return s.String()
19032}
19033
19034// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
19035func (s *PutBucketEncryptionInput) Validate() error {
19036 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
bae9f6d2
JC
19037 if s.Bucket == nil {
19038 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19039 }
107c1cdb
ND
19040 if s.Bucket != nil && len(*s.Bucket) < 1 {
19041 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19042 }
15c0b25d
AP
19043 if s.ServerSideEncryptionConfiguration == nil {
19044 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
bae9f6d2 19045 }
15c0b25d
AP
19046 if s.ServerSideEncryptionConfiguration != nil {
19047 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
19048 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
bae9f6d2
JC
19049 }
19050 }
19051
19052 if invalidParams.Len() > 0 {
19053 return invalidParams
19054 }
19055 return nil
19056}
19057
19058// SetBucket sets the Bucket field's value.
15c0b25d 19059func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
bae9f6d2
JC
19060 s.Bucket = &v
19061 return s
19062}
19063
15c0b25d
AP
19064func (s *PutBucketEncryptionInput) getBucket() (v string) {
19065 if s.Bucket == nil {
19066 return v
19067 }
19068 return *s.Bucket
bae9f6d2
JC
19069}
19070
15c0b25d
AP
19071// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
19072func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
19073 s.ServerSideEncryptionConfiguration = v
bae9f6d2
JC
19074 return s
19075}
19076
15c0b25d 19077type PutBucketEncryptionOutput struct {
bae9f6d2
JC
19078 _ struct{} `type:"structure"`
19079}
19080
19081// String returns the string representation
15c0b25d 19082func (s PutBucketEncryptionOutput) String() string {
bae9f6d2
JC
19083 return awsutil.Prettify(s)
19084}
19085
19086// GoString returns the string representation
15c0b25d 19087func (s PutBucketEncryptionOutput) GoString() string {
bae9f6d2
JC
19088 return s.String()
19089}
19090
15c0b25d
AP
19091type PutBucketInventoryConfigurationInput struct {
19092 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
19093
19094 // The name of the bucket where the inventory configuration will be stored.
19095 //
19096 // Bucket is a required field
19097 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19098
19099 // The ID used to identify the inventory configuration.
19100 //
19101 // Id is a required field
19102 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19103
19104 // Specifies the inventory configuration.
19105 //
19106 // InventoryConfiguration is a required field
19107 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19108}
19109
19110// String returns the string representation
19111func (s PutBucketInventoryConfigurationInput) String() string {
19112 return awsutil.Prettify(s)
19113}
19114
19115// GoString returns the string representation
19116func (s PutBucketInventoryConfigurationInput) GoString() string {
19117 return s.String()
19118}
19119
19120// Validate inspects the fields of the type to determine if they are valid.
19121func (s *PutBucketInventoryConfigurationInput) Validate() error {
19122 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"}
19123 if s.Bucket == nil {
19124 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19125 }
107c1cdb
ND
19126 if s.Bucket != nil && len(*s.Bucket) < 1 {
19127 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19128 }
15c0b25d
AP
19129 if s.Id == nil {
19130 invalidParams.Add(request.NewErrParamRequired("Id"))
19131 }
19132 if s.InventoryConfiguration == nil {
19133 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration"))
19134 }
19135 if s.InventoryConfiguration != nil {
19136 if err := s.InventoryConfiguration.Validate(); err != nil {
19137 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams))
19138 }
19139 }
19140
19141 if invalidParams.Len() > 0 {
19142 return invalidParams
19143 }
19144 return nil
19145}
19146
19147// SetBucket sets the Bucket field's value.
19148func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput {
19149 s.Bucket = &v
19150 return s
19151}
19152
19153func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
19154 if s.Bucket == nil {
19155 return v
19156 }
19157 return *s.Bucket
19158}
19159
19160// SetId sets the Id field's value.
19161func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
19162 s.Id = &v
19163 return s
19164}
19165
19166// SetInventoryConfiguration sets the InventoryConfiguration field's value.
19167func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput {
19168 s.InventoryConfiguration = v
19169 return s
19170}
19171
19172type PutBucketInventoryConfigurationOutput struct {
19173 _ struct{} `type:"structure"`
19174}
19175
19176// String returns the string representation
19177func (s PutBucketInventoryConfigurationOutput) String() string {
19178 return awsutil.Prettify(s)
19179}
19180
19181// GoString returns the string representation
19182func (s PutBucketInventoryConfigurationOutput) GoString() string {
19183 return s.String()
19184}
19185
19186type PutBucketLifecycleConfigurationInput struct {
19187 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
bae9f6d2
JC
19188
19189 // Bucket is a required field
19190 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19191
863486a6
AG
19192 // Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
19193 // For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
19194 // in the Amazon Simple Storage Service Developer Guide.
15c0b25d 19195 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19196}
19197
19198// String returns the string representation
19199func (s PutBucketLifecycleConfigurationInput) String() string {
19200 return awsutil.Prettify(s)
19201}
19202
19203// GoString returns the string representation
19204func (s PutBucketLifecycleConfigurationInput) GoString() string {
19205 return s.String()
19206}
19207
19208// Validate inspects the fields of the type to determine if they are valid.
19209func (s *PutBucketLifecycleConfigurationInput) Validate() error {
19210 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"}
19211 if s.Bucket == nil {
19212 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19213 }
107c1cdb
ND
19214 if s.Bucket != nil && len(*s.Bucket) < 1 {
19215 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19216 }
bae9f6d2
JC
19217 if s.LifecycleConfiguration != nil {
19218 if err := s.LifecycleConfiguration.Validate(); err != nil {
19219 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19220 }
19221 }
19222
19223 if invalidParams.Len() > 0 {
19224 return invalidParams
19225 }
19226 return nil
19227}
19228
19229// SetBucket sets the Bucket field's value.
19230func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput {
19231 s.Bucket = &v
19232 return s
19233}
19234
15c0b25d
AP
19235func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
19236 if s.Bucket == nil {
19237 return v
19238 }
19239 return *s.Bucket
19240}
19241
bae9f6d2
JC
19242// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19243func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
19244 s.LifecycleConfiguration = v
19245 return s
19246}
19247
bae9f6d2
JC
19248type PutBucketLifecycleConfigurationOutput struct {
19249 _ struct{} `type:"structure"`
19250}
19251
19252// String returns the string representation
19253func (s PutBucketLifecycleConfigurationOutput) String() string {
19254 return awsutil.Prettify(s)
19255}
19256
19257// GoString returns the string representation
19258func (s PutBucketLifecycleConfigurationOutput) GoString() string {
19259 return s.String()
19260}
19261
bae9f6d2
JC
19262type PutBucketLifecycleInput struct {
19263 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
19264
19265 // Bucket is a required field
19266 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19267
15c0b25d 19268 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19269}
19270
19271// String returns the string representation
19272func (s PutBucketLifecycleInput) String() string {
19273 return awsutil.Prettify(s)
19274}
19275
19276// GoString returns the string representation
19277func (s PutBucketLifecycleInput) GoString() string {
19278 return s.String()
19279}
19280
19281// Validate inspects the fields of the type to determine if they are valid.
19282func (s *PutBucketLifecycleInput) Validate() error {
19283 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"}
19284 if s.Bucket == nil {
19285 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19286 }
107c1cdb
ND
19287 if s.Bucket != nil && len(*s.Bucket) < 1 {
19288 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19289 }
bae9f6d2
JC
19290 if s.LifecycleConfiguration != nil {
19291 if err := s.LifecycleConfiguration.Validate(); err != nil {
19292 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams))
19293 }
19294 }
19295
19296 if invalidParams.Len() > 0 {
19297 return invalidParams
19298 }
19299 return nil
19300}
19301
19302// SetBucket sets the Bucket field's value.
19303func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
19304 s.Bucket = &v
19305 return s
19306}
19307
15c0b25d
AP
19308func (s *PutBucketLifecycleInput) getBucket() (v string) {
19309 if s.Bucket == nil {
19310 return v
19311 }
19312 return *s.Bucket
19313}
19314
bae9f6d2
JC
19315// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
19316func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
19317 s.LifecycleConfiguration = v
19318 return s
19319}
19320
bae9f6d2
JC
19321type PutBucketLifecycleOutput struct {
19322 _ struct{} `type:"structure"`
19323}
19324
19325// String returns the string representation
19326func (s PutBucketLifecycleOutput) String() string {
19327 return awsutil.Prettify(s)
19328}
19329
19330// GoString returns the string representation
19331func (s PutBucketLifecycleOutput) GoString() string {
19332 return s.String()
19333}
19334
bae9f6d2
JC
19335type PutBucketLoggingInput struct {
19336 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
19337
19338 // Bucket is a required field
19339 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19340
19341 // BucketLoggingStatus is a required field
15c0b25d 19342 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19343}
19344
19345// String returns the string representation
19346func (s PutBucketLoggingInput) String() string {
19347 return awsutil.Prettify(s)
19348}
19349
19350// GoString returns the string representation
19351func (s PutBucketLoggingInput) GoString() string {
19352 return s.String()
19353}
19354
19355// Validate inspects the fields of the type to determine if they are valid.
19356func (s *PutBucketLoggingInput) Validate() error {
19357 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"}
19358 if s.Bucket == nil {
19359 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19360 }
107c1cdb
ND
19361 if s.Bucket != nil && len(*s.Bucket) < 1 {
19362 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19363 }
bae9f6d2
JC
19364 if s.BucketLoggingStatus == nil {
19365 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus"))
19366 }
19367 if s.BucketLoggingStatus != nil {
19368 if err := s.BucketLoggingStatus.Validate(); err != nil {
19369 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams))
19370 }
19371 }
19372
19373 if invalidParams.Len() > 0 {
19374 return invalidParams
19375 }
19376 return nil
19377}
19378
19379// SetBucket sets the Bucket field's value.
19380func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
19381 s.Bucket = &v
19382 return s
19383}
19384
15c0b25d
AP
19385func (s *PutBucketLoggingInput) getBucket() (v string) {
19386 if s.Bucket == nil {
19387 return v
19388 }
19389 return *s.Bucket
19390}
19391
bae9f6d2
JC
19392// SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
19393func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
19394 s.BucketLoggingStatus = v
19395 return s
19396}
19397
bae9f6d2
JC
19398type PutBucketLoggingOutput struct {
19399 _ struct{} `type:"structure"`
19400}
19401
19402// String returns the string representation
19403func (s PutBucketLoggingOutput) String() string {
19404 return awsutil.Prettify(s)
19405}
19406
19407// GoString returns the string representation
19408func (s PutBucketLoggingOutput) GoString() string {
19409 return s.String()
19410}
19411
bae9f6d2
JC
19412type PutBucketMetricsConfigurationInput struct {
19413 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
19414
19415 // The name of the bucket for which the metrics configuration is set.
19416 //
19417 // Bucket is a required field
19418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19419
19420 // The ID used to identify the metrics configuration.
19421 //
19422 // Id is a required field
19423 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
19424
19425 // Specifies the metrics configuration.
19426 //
19427 // MetricsConfiguration is a required field
15c0b25d 19428 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19429}
19430
19431// String returns the string representation
19432func (s PutBucketMetricsConfigurationInput) String() string {
19433 return awsutil.Prettify(s)
19434}
19435
19436// GoString returns the string representation
19437func (s PutBucketMetricsConfigurationInput) GoString() string {
19438 return s.String()
19439}
19440
19441// Validate inspects the fields of the type to determine if they are valid.
19442func (s *PutBucketMetricsConfigurationInput) Validate() error {
19443 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"}
19444 if s.Bucket == nil {
19445 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19446 }
107c1cdb
ND
19447 if s.Bucket != nil && len(*s.Bucket) < 1 {
19448 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19449 }
bae9f6d2
JC
19450 if s.Id == nil {
19451 invalidParams.Add(request.NewErrParamRequired("Id"))
19452 }
19453 if s.MetricsConfiguration == nil {
19454 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration"))
19455 }
19456 if s.MetricsConfiguration != nil {
19457 if err := s.MetricsConfiguration.Validate(); err != nil {
19458 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
19459 }
19460 }
19461
19462 if invalidParams.Len() > 0 {
19463 return invalidParams
19464 }
19465 return nil
19466}
19467
19468// SetBucket sets the Bucket field's value.
19469func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput {
19470 s.Bucket = &v
19471 return s
19472}
19473
15c0b25d
AP
19474func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
19475 if s.Bucket == nil {
19476 return v
19477 }
19478 return *s.Bucket
19479}
19480
bae9f6d2
JC
19481// SetId sets the Id field's value.
19482func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
19483 s.Id = &v
19484 return s
19485}
19486
19487// SetMetricsConfiguration sets the MetricsConfiguration field's value.
19488func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput {
19489 s.MetricsConfiguration = v
19490 return s
19491}
19492
bae9f6d2
JC
19493type PutBucketMetricsConfigurationOutput struct {
19494 _ struct{} `type:"structure"`
19495}
19496
19497// String returns the string representation
19498func (s PutBucketMetricsConfigurationOutput) String() string {
19499 return awsutil.Prettify(s)
19500}
19501
19502// GoString returns the string representation
19503func (s PutBucketMetricsConfigurationOutput) GoString() string {
19504 return s.String()
19505}
19506
bae9f6d2
JC
19507type PutBucketNotificationConfigurationInput struct {
19508 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19509
19510 // Bucket is a required field
19511 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19512
107c1cdb
ND
19513 // A container for specifying the notification configuration of the bucket.
19514 // If this element is empty, notifications are turned off for the bucket.
bae9f6d2
JC
19515 //
19516 // NotificationConfiguration is a required field
15c0b25d 19517 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19518}
19519
19520// String returns the string representation
19521func (s PutBucketNotificationConfigurationInput) String() string {
19522 return awsutil.Prettify(s)
19523}
19524
19525// GoString returns the string representation
19526func (s PutBucketNotificationConfigurationInput) GoString() string {
19527 return s.String()
19528}
19529
19530// Validate inspects the fields of the type to determine if they are valid.
19531func (s *PutBucketNotificationConfigurationInput) Validate() error {
19532 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"}
19533 if s.Bucket == nil {
19534 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19535 }
107c1cdb
ND
19536 if s.Bucket != nil && len(*s.Bucket) < 1 {
19537 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19538 }
bae9f6d2
JC
19539 if s.NotificationConfiguration == nil {
19540 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19541 }
19542 if s.NotificationConfiguration != nil {
19543 if err := s.NotificationConfiguration.Validate(); err != nil {
19544 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams))
19545 }
19546 }
19547
19548 if invalidParams.Len() > 0 {
19549 return invalidParams
19550 }
19551 return nil
19552}
19553
19554// SetBucket sets the Bucket field's value.
19555func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput {
19556 s.Bucket = &v
19557 return s
19558}
19559
15c0b25d
AP
19560func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
19561 if s.Bucket == nil {
19562 return v
19563 }
19564 return *s.Bucket
19565}
19566
bae9f6d2
JC
19567// SetNotificationConfiguration sets the NotificationConfiguration field's value.
19568func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
19569 s.NotificationConfiguration = v
19570 return s
19571}
19572
bae9f6d2
JC
19573type PutBucketNotificationConfigurationOutput struct {
19574 _ struct{} `type:"structure"`
19575}
19576
19577// String returns the string representation
19578func (s PutBucketNotificationConfigurationOutput) String() string {
19579 return awsutil.Prettify(s)
19580}
19581
19582// GoString returns the string representation
19583func (s PutBucketNotificationConfigurationOutput) GoString() string {
19584 return s.String()
19585}
19586
bae9f6d2
JC
19587type PutBucketNotificationInput struct {
19588 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
19589
19590 // Bucket is a required field
19591 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19592
19593 // NotificationConfiguration is a required field
15c0b25d 19594 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19595}
19596
19597// String returns the string representation
19598func (s PutBucketNotificationInput) String() string {
19599 return awsutil.Prettify(s)
19600}
19601
19602// GoString returns the string representation
19603func (s PutBucketNotificationInput) GoString() string {
19604 return s.String()
19605}
19606
19607// Validate inspects the fields of the type to determine if they are valid.
19608func (s *PutBucketNotificationInput) Validate() error {
19609 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"}
19610 if s.Bucket == nil {
19611 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19612 }
107c1cdb
ND
19613 if s.Bucket != nil && len(*s.Bucket) < 1 {
19614 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19615 }
bae9f6d2
JC
19616 if s.NotificationConfiguration == nil {
19617 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration"))
19618 }
19619
19620 if invalidParams.Len() > 0 {
19621 return invalidParams
19622 }
19623 return nil
19624}
19625
19626// SetBucket sets the Bucket field's value.
19627func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput {
19628 s.Bucket = &v
19629 return s
19630}
19631
15c0b25d
AP
19632func (s *PutBucketNotificationInput) getBucket() (v string) {
19633 if s.Bucket == nil {
19634 return v
19635 }
19636 return *s.Bucket
19637}
19638
bae9f6d2
JC
19639// SetNotificationConfiguration sets the NotificationConfiguration field's value.
19640func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
19641 s.NotificationConfiguration = v
19642 return s
19643}
19644
bae9f6d2
JC
19645type PutBucketNotificationOutput struct {
19646 _ struct{} `type:"structure"`
19647}
19648
19649// String returns the string representation
19650func (s PutBucketNotificationOutput) String() string {
19651 return awsutil.Prettify(s)
19652}
19653
19654// GoString returns the string representation
19655func (s PutBucketNotificationOutput) GoString() string {
19656 return s.String()
19657}
19658
bae9f6d2
JC
19659type PutBucketPolicyInput struct {
19660 _ struct{} `type:"structure" payload:"Policy"`
19661
19662 // Bucket is a required field
19663 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19664
15c0b25d
AP
19665 // Set this parameter to true to confirm that you want to remove your permissions
19666 // to change this bucket policy in the future.
19667 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
19668
bae9f6d2
JC
19669 // The bucket policy as a JSON document.
19670 //
19671 // Policy is a required field
19672 Policy *string `type:"string" required:"true"`
19673}
19674
19675// String returns the string representation
19676func (s PutBucketPolicyInput) String() string {
19677 return awsutil.Prettify(s)
19678}
19679
19680// GoString returns the string representation
19681func (s PutBucketPolicyInput) GoString() string {
19682 return s.String()
19683}
19684
19685// Validate inspects the fields of the type to determine if they are valid.
19686func (s *PutBucketPolicyInput) Validate() error {
19687 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"}
19688 if s.Bucket == nil {
19689 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19690 }
107c1cdb
ND
19691 if s.Bucket != nil && len(*s.Bucket) < 1 {
19692 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19693 }
bae9f6d2
JC
19694 if s.Policy == nil {
19695 invalidParams.Add(request.NewErrParamRequired("Policy"))
19696 }
19697
19698 if invalidParams.Len() > 0 {
19699 return invalidParams
19700 }
19701 return nil
19702}
19703
19704// SetBucket sets the Bucket field's value.
19705func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
19706 s.Bucket = &v
19707 return s
19708}
19709
15c0b25d
AP
19710func (s *PutBucketPolicyInput) getBucket() (v string) {
19711 if s.Bucket == nil {
19712 return v
19713 }
19714 return *s.Bucket
19715}
19716
19717// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
19718func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
19719 s.ConfirmRemoveSelfBucketAccess = &v
19720 return s
19721}
19722
bae9f6d2
JC
19723// SetPolicy sets the Policy field's value.
19724func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
19725 s.Policy = &v
19726 return s
19727}
19728
bae9f6d2
JC
19729type PutBucketPolicyOutput struct {
19730 _ struct{} `type:"structure"`
19731}
19732
19733// String returns the string representation
19734func (s PutBucketPolicyOutput) String() string {
19735 return awsutil.Prettify(s)
19736}
19737
19738// GoString returns the string representation
19739func (s PutBucketPolicyOutput) GoString() string {
19740 return s.String()
19741}
19742
bae9f6d2
JC
19743type PutBucketReplicationInput struct {
19744 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
19745
19746 // Bucket is a required field
19747 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19748
107c1cdb
ND
19749 // A container for replication rules. You can add up to 1,000 rules. The maximum
19750 // size of a replication configuration is 2 MB.
bae9f6d2
JC
19751 //
19752 // ReplicationConfiguration is a required field
15c0b25d 19753 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
863486a6
AG
19754
19755 // A token that allows Amazon S3 object lock to be enabled for an existing bucket.
19756 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
bae9f6d2
JC
19757}
19758
19759// String returns the string representation
19760func (s PutBucketReplicationInput) String() string {
19761 return awsutil.Prettify(s)
19762}
19763
19764// GoString returns the string representation
19765func (s PutBucketReplicationInput) GoString() string {
19766 return s.String()
19767}
19768
19769// Validate inspects the fields of the type to determine if they are valid.
19770func (s *PutBucketReplicationInput) Validate() error {
19771 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"}
19772 if s.Bucket == nil {
19773 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19774 }
107c1cdb
ND
19775 if s.Bucket != nil && len(*s.Bucket) < 1 {
19776 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19777 }
bae9f6d2
JC
19778 if s.ReplicationConfiguration == nil {
19779 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration"))
19780 }
19781 if s.ReplicationConfiguration != nil {
19782 if err := s.ReplicationConfiguration.Validate(); err != nil {
19783 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams))
19784 }
19785 }
19786
19787 if invalidParams.Len() > 0 {
19788 return invalidParams
19789 }
19790 return nil
19791}
19792
19793// SetBucket sets the Bucket field's value.
19794func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput {
19795 s.Bucket = &v
19796 return s
19797}
19798
15c0b25d
AP
19799func (s *PutBucketReplicationInput) getBucket() (v string) {
19800 if s.Bucket == nil {
19801 return v
19802 }
19803 return *s.Bucket
19804}
19805
bae9f6d2
JC
19806// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
19807func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
19808 s.ReplicationConfiguration = v
19809 return s
19810}
19811
863486a6
AG
19812// SetToken sets the Token field's value.
19813func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput {
19814 s.Token = &v
19815 return s
19816}
19817
bae9f6d2
JC
19818type PutBucketReplicationOutput struct {
19819 _ struct{} `type:"structure"`
19820}
19821
19822// String returns the string representation
19823func (s PutBucketReplicationOutput) String() string {
19824 return awsutil.Prettify(s)
19825}
19826
19827// GoString returns the string representation
19828func (s PutBucketReplicationOutput) GoString() string {
19829 return s.String()
19830}
19831
bae9f6d2
JC
19832type PutBucketRequestPaymentInput struct {
19833 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
19834
19835 // Bucket is a required field
19836 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19837
19838 // RequestPaymentConfiguration is a required field
15c0b25d 19839 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19840}
19841
19842// String returns the string representation
19843func (s PutBucketRequestPaymentInput) String() string {
19844 return awsutil.Prettify(s)
19845}
19846
19847// GoString returns the string representation
19848func (s PutBucketRequestPaymentInput) GoString() string {
19849 return s.String()
19850}
19851
19852// Validate inspects the fields of the type to determine if they are valid.
19853func (s *PutBucketRequestPaymentInput) Validate() error {
19854 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"}
19855 if s.Bucket == nil {
19856 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19857 }
107c1cdb
ND
19858 if s.Bucket != nil && len(*s.Bucket) < 1 {
19859 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19860 }
bae9f6d2
JC
19861 if s.RequestPaymentConfiguration == nil {
19862 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration"))
19863 }
19864 if s.RequestPaymentConfiguration != nil {
19865 if err := s.RequestPaymentConfiguration.Validate(); err != nil {
19866 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams))
19867 }
19868 }
19869
19870 if invalidParams.Len() > 0 {
19871 return invalidParams
19872 }
19873 return nil
19874}
19875
19876// SetBucket sets the Bucket field's value.
19877func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput {
19878 s.Bucket = &v
19879 return s
19880}
19881
15c0b25d
AP
19882func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
19883 if s.Bucket == nil {
19884 return v
19885 }
19886 return *s.Bucket
19887}
19888
bae9f6d2
JC
19889// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
19890func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
19891 s.RequestPaymentConfiguration = v
19892 return s
19893}
19894
bae9f6d2
JC
19895type PutBucketRequestPaymentOutput struct {
19896 _ struct{} `type:"structure"`
19897}
19898
19899// String returns the string representation
19900func (s PutBucketRequestPaymentOutput) String() string {
19901 return awsutil.Prettify(s)
19902}
19903
19904// GoString returns the string representation
19905func (s PutBucketRequestPaymentOutput) GoString() string {
19906 return s.String()
19907}
19908
bae9f6d2
JC
19909type PutBucketTaggingInput struct {
19910 _ struct{} `type:"structure" payload:"Tagging"`
19911
19912 // Bucket is a required field
19913 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19914
19915 // Tagging is a required field
15c0b25d 19916 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
19917}
19918
19919// String returns the string representation
19920func (s PutBucketTaggingInput) String() string {
19921 return awsutil.Prettify(s)
19922}
19923
19924// GoString returns the string representation
19925func (s PutBucketTaggingInput) GoString() string {
19926 return s.String()
19927}
19928
19929// Validate inspects the fields of the type to determine if they are valid.
19930func (s *PutBucketTaggingInput) Validate() error {
19931 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"}
19932 if s.Bucket == nil {
19933 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19934 }
107c1cdb
ND
19935 if s.Bucket != nil && len(*s.Bucket) < 1 {
19936 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
19937 }
bae9f6d2
JC
19938 if s.Tagging == nil {
19939 invalidParams.Add(request.NewErrParamRequired("Tagging"))
19940 }
19941 if s.Tagging != nil {
19942 if err := s.Tagging.Validate(); err != nil {
19943 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
19944 }
19945 }
19946
19947 if invalidParams.Len() > 0 {
19948 return invalidParams
19949 }
19950 return nil
19951}
19952
19953// SetBucket sets the Bucket field's value.
19954func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
19955 s.Bucket = &v
19956 return s
19957}
19958
15c0b25d
AP
19959func (s *PutBucketTaggingInput) getBucket() (v string) {
19960 if s.Bucket == nil {
19961 return v
19962 }
19963 return *s.Bucket
19964}
19965
bae9f6d2
JC
19966// SetTagging sets the Tagging field's value.
19967func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
19968 s.Tagging = v
19969 return s
19970}
19971
bae9f6d2
JC
19972type PutBucketTaggingOutput struct {
19973 _ struct{} `type:"structure"`
19974}
19975
19976// String returns the string representation
19977func (s PutBucketTaggingOutput) String() string {
19978 return awsutil.Prettify(s)
19979}
19980
19981// GoString returns the string representation
19982func (s PutBucketTaggingOutput) GoString() string {
19983 return s.String()
19984}
19985
bae9f6d2
JC
19986type PutBucketVersioningInput struct {
19987 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
19988
19989 // Bucket is a required field
19990 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19991
19992 // The concatenation of the authentication device's serial number, a space,
19993 // and the value that is displayed on your authentication device.
19994 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
19995
863486a6
AG
19996 // Describes the versioning state of an Amazon S3 bucket. For more information,
19997 // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
19998 // in the Amazon Simple Storage Service API Reference.
19999 //
bae9f6d2 20000 // VersioningConfiguration is a required field
15c0b25d 20001 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
20002}
20003
20004// String returns the string representation
20005func (s PutBucketVersioningInput) String() string {
20006 return awsutil.Prettify(s)
20007}
20008
20009// GoString returns the string representation
20010func (s PutBucketVersioningInput) GoString() string {
20011 return s.String()
20012}
20013
20014// Validate inspects the fields of the type to determine if they are valid.
20015func (s *PutBucketVersioningInput) Validate() error {
20016 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"}
20017 if s.Bucket == nil {
20018 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20019 }
107c1cdb
ND
20020 if s.Bucket != nil && len(*s.Bucket) < 1 {
20021 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20022 }
bae9f6d2
JC
20023 if s.VersioningConfiguration == nil {
20024 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration"))
20025 }
20026
20027 if invalidParams.Len() > 0 {
20028 return invalidParams
20029 }
20030 return nil
20031}
20032
20033// SetBucket sets the Bucket field's value.
20034func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput {
20035 s.Bucket = &v
20036 return s
20037}
20038
15c0b25d
AP
20039func (s *PutBucketVersioningInput) getBucket() (v string) {
20040 if s.Bucket == nil {
20041 return v
20042 }
20043 return *s.Bucket
20044}
20045
bae9f6d2
JC
20046// SetMFA sets the MFA field's value.
20047func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
20048 s.MFA = &v
20049 return s
20050}
20051
20052// SetVersioningConfiguration sets the VersioningConfiguration field's value.
20053func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput {
20054 s.VersioningConfiguration = v
20055 return s
20056}
20057
bae9f6d2
JC
20058type PutBucketVersioningOutput struct {
20059 _ struct{} `type:"structure"`
20060}
20061
20062// String returns the string representation
20063func (s PutBucketVersioningOutput) String() string {
20064 return awsutil.Prettify(s)
20065}
20066
20067// GoString returns the string representation
20068func (s PutBucketVersioningOutput) GoString() string {
20069 return s.String()
20070}
20071
bae9f6d2
JC
20072type PutBucketWebsiteInput struct {
20073 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
20074
20075 // Bucket is a required field
20076 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20077
863486a6
AG
20078 // Specifies website configuration parameters for an Amazon S3 bucket.
20079 //
bae9f6d2 20080 // WebsiteConfiguration is a required field
15c0b25d 20081 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
20082}
20083
20084// String returns the string representation
20085func (s PutBucketWebsiteInput) String() string {
20086 return awsutil.Prettify(s)
20087}
20088
20089// GoString returns the string representation
20090func (s PutBucketWebsiteInput) GoString() string {
20091 return s.String()
20092}
20093
20094// Validate inspects the fields of the type to determine if they are valid.
20095func (s *PutBucketWebsiteInput) Validate() error {
20096 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"}
20097 if s.Bucket == nil {
20098 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20099 }
107c1cdb
ND
20100 if s.Bucket != nil && len(*s.Bucket) < 1 {
20101 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20102 }
bae9f6d2
JC
20103 if s.WebsiteConfiguration == nil {
20104 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration"))
20105 }
20106 if s.WebsiteConfiguration != nil {
20107 if err := s.WebsiteConfiguration.Validate(); err != nil {
20108 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams))
20109 }
20110 }
20111
20112 if invalidParams.Len() > 0 {
20113 return invalidParams
20114 }
20115 return nil
20116}
20117
20118// SetBucket sets the Bucket field's value.
20119func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
20120 s.Bucket = &v
20121 return s
20122}
20123
15c0b25d
AP
20124func (s *PutBucketWebsiteInput) getBucket() (v string) {
20125 if s.Bucket == nil {
20126 return v
20127 }
20128 return *s.Bucket
20129}
20130
bae9f6d2
JC
20131// SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
20132func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
20133 s.WebsiteConfiguration = v
20134 return s
20135}
20136
bae9f6d2
JC
20137type PutBucketWebsiteOutput struct {
20138 _ struct{} `type:"structure"`
20139}
20140
20141// String returns the string representation
20142func (s PutBucketWebsiteOutput) String() string {
20143 return awsutil.Prettify(s)
20144}
20145
20146// GoString returns the string representation
20147func (s PutBucketWebsiteOutput) GoString() string {
20148 return s.String()
20149}
20150
bae9f6d2
JC
20151type PutObjectAclInput struct {
20152 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
20153
20154 // The canned ACL to apply to the object.
20155 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20156
863486a6 20157 // Contains the elements that set the ACL permissions for an object per grantee.
15c0b25d 20158 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
20159
20160 // Bucket is a required field
20161 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20162
20163 // Allows grantee the read, write, read ACP, and write ACP permissions on the
20164 // bucket.
20165 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20166
20167 // Allows grantee to list the objects in the bucket.
20168 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20169
20170 // Allows grantee to read the bucket ACL.
20171 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20172
20173 // Allows grantee to create, overwrite, and delete any object in the bucket.
20174 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`
20175
20176 // Allows grantee to write the ACL for the applicable bucket.
20177 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20178
20179 // Key is a required field
20180 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20181
20182 // Confirms that the requester knows that she or he will be charged for the
20183 // request. Bucket owners need not specify this parameter in their requests.
20184 // Documentation on downloading objects from requester pays buckets can be found
20185 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20186 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20187
20188 // VersionId used to reference a specific version of the object.
20189 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20190}
20191
20192// String returns the string representation
20193func (s PutObjectAclInput) String() string {
20194 return awsutil.Prettify(s)
20195}
20196
20197// GoString returns the string representation
20198func (s PutObjectAclInput) GoString() string {
20199 return s.String()
20200}
20201
20202// Validate inspects the fields of the type to determine if they are valid.
20203func (s *PutObjectAclInput) Validate() error {
20204 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"}
20205 if s.Bucket == nil {
20206 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20207 }
107c1cdb
ND
20208 if s.Bucket != nil && len(*s.Bucket) < 1 {
20209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20210 }
bae9f6d2
JC
20211 if s.Key == nil {
20212 invalidParams.Add(request.NewErrParamRequired("Key"))
20213 }
20214 if s.Key != nil && len(*s.Key) < 1 {
20215 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20216 }
20217 if s.AccessControlPolicy != nil {
20218 if err := s.AccessControlPolicy.Validate(); err != nil {
20219 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams))
20220 }
20221 }
20222
20223 if invalidParams.Len() > 0 {
20224 return invalidParams
20225 }
20226 return nil
20227}
20228
20229// SetACL sets the ACL field's value.
20230func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput {
20231 s.ACL = &v
20232 return s
20233}
20234
20235// SetAccessControlPolicy sets the AccessControlPolicy field's value.
20236func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput {
20237 s.AccessControlPolicy = v
20238 return s
20239}
20240
20241// SetBucket sets the Bucket field's value.
20242func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
20243 s.Bucket = &v
20244 return s
20245}
20246
15c0b25d
AP
20247func (s *PutObjectAclInput) getBucket() (v string) {
20248 if s.Bucket == nil {
20249 return v
20250 }
20251 return *s.Bucket
20252}
20253
bae9f6d2
JC
20254// SetGrantFullControl sets the GrantFullControl field's value.
20255func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
20256 s.GrantFullControl = &v
20257 return s
20258}
20259
20260// SetGrantRead sets the GrantRead field's value.
20261func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput {
20262 s.GrantRead = &v
20263 return s
20264}
20265
20266// SetGrantReadACP sets the GrantReadACP field's value.
20267func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput {
20268 s.GrantReadACP = &v
20269 return s
20270}
20271
20272// SetGrantWrite sets the GrantWrite field's value.
20273func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput {
20274 s.GrantWrite = &v
20275 return s
20276}
20277
20278// SetGrantWriteACP sets the GrantWriteACP field's value.
20279func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput {
20280 s.GrantWriteACP = &v
20281 return s
20282}
20283
20284// SetKey sets the Key field's value.
20285func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput {
20286 s.Key = &v
20287 return s
20288}
20289
20290// SetRequestPayer sets the RequestPayer field's value.
20291func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput {
20292 s.RequestPayer = &v
20293 return s
20294}
20295
20296// SetVersionId sets the VersionId field's value.
20297func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
20298 s.VersionId = &v
20299 return s
20300}
20301
bae9f6d2
JC
20302type PutObjectAclOutput struct {
20303 _ struct{} `type:"structure"`
20304
20305 // If present, indicates that the requester was successfully charged for the
20306 // request.
20307 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20308}
20309
20310// String returns the string representation
20311func (s PutObjectAclOutput) String() string {
20312 return awsutil.Prettify(s)
20313}
20314
20315// GoString returns the string representation
20316func (s PutObjectAclOutput) GoString() string {
20317 return s.String()
20318}
20319
20320// SetRequestCharged sets the RequestCharged field's value.
20321func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
20322 s.RequestCharged = &v
20323 return s
20324}
20325
bae9f6d2
JC
20326type PutObjectInput struct {
20327 _ struct{} `type:"structure" payload:"Body"`
20328
20329 // The canned ACL to apply to the object.
20330 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20331
20332 // Object data.
20333 Body io.ReadSeeker `type:"blob"`
20334
20335 // Name of the bucket to which the PUT operation was initiated.
20336 //
20337 // Bucket is a required field
20338 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20339
20340 // Specifies caching behavior along the request/reply chain.
20341 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
20342
20343 // Specifies presentational information for the object.
20344 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
20345
20346 // Specifies what content encodings have been applied to the object and thus
20347 // what decoding mechanisms must be applied to obtain the media-type referenced
20348 // by the Content-Type header field.
20349 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
20350
20351 // The language the content is in.
20352 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
20353
20354 // Size of the body in bytes. This parameter is useful when the size of the
20355 // body cannot be determined automatically.
20356 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
20357
107c1cdb 20358 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
863486a6
AG
20359 // auto-populated when using the command from the CLI. This parameted is required
20360 // if object lock parameters are specified.
15c0b25d
AP
20361 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
20362
bae9f6d2
JC
20363 // A standard MIME type describing the format of the object data.
20364 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
20365
20366 // The date and time at which the object is no longer cacheable.
15c0b25d 20367 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
bae9f6d2
JC
20368
20369 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
20370 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
20371
20372 // Allows grantee to read the object data and its metadata.
20373 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
20374
20375 // Allows grantee to read the object ACL.
20376 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
20377
20378 // Allows grantee to write the ACL for the applicable object.
20379 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
20380
20381 // Object key for which the PUT operation was initiated.
20382 //
20383 // Key is a required field
20384 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20385
20386 // A map of metadata to store with the object in S3.
20387 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
20388
107c1cdb
ND
20389 // The Legal Hold status that you want to apply to the specified object.
20390 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
20391
863486a6 20392 // The object lock mode that you want to apply to this object.
107c1cdb
ND
20393 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
20394
863486a6 20395 // The date and time when you want this object's object lock to expire.
107c1cdb
ND
20396 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
20397
bae9f6d2
JC
20398 // Confirms that the requester knows that she or he will be charged for the
20399 // request. Bucket owners need not specify this parameter in their requests.
20400 // Documentation on downloading objects from requester pays buckets can be found
20401 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20402 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20403
20404 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
20405 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20406
20407 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
20408 // data. This value is used to store the object and then it is discarded; Amazon
20409 // does not store the encryption key. The key must be appropriate for use with
20410 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20411 // header.
863486a6 20412 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
20413
20414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20415 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20416 // key was transmitted without error.
20417 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20418
863486a6
AG
20419 // Specifies the AWS KMS Encryption Context to use for object encryption. The
20420 // value of this header is a base64-encoded UTF-8 string holding JSON with the
20421 // encryption context key-value pairs.
20422 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20423
bae9f6d2
JC
20424 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
20425 // requests for an object protected by AWS KMS will fail if not made via SSL
20426 // or using SigV4. Documentation on configuring any of the officially supported
20427 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
107c1cdb 20428 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
20429
20430 // The Server-side encryption algorithm used when storing this object in S3
20431 // (e.g., AES256, aws:kms).
20432 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20433
20434 // The type of storage to use for the object. Defaults to 'STANDARD'.
20435 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
20436
107c1cdb
ND
20437 // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
20438 // (For example, "Key1=Value1")
bae9f6d2
JC
20439 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
20440
20441 // If the bucket is configured as a website, redirects requests for this object
20442 // to another object in the same bucket or to an external URL. Amazon S3 stores
20443 // the value of this header in the object metadata.
20444 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
20445}
20446
20447// String returns the string representation
20448func (s PutObjectInput) String() string {
20449 return awsutil.Prettify(s)
20450}
20451
20452// GoString returns the string representation
20453func (s PutObjectInput) GoString() string {
20454 return s.String()
20455}
20456
20457// Validate inspects the fields of the type to determine if they are valid.
20458func (s *PutObjectInput) Validate() error {
20459 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"}
20460 if s.Bucket == nil {
20461 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20462 }
107c1cdb
ND
20463 if s.Bucket != nil && len(*s.Bucket) < 1 {
20464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20465 }
bae9f6d2
JC
20466 if s.Key == nil {
20467 invalidParams.Add(request.NewErrParamRequired("Key"))
20468 }
20469 if s.Key != nil && len(*s.Key) < 1 {
20470 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20471 }
20472
20473 if invalidParams.Len() > 0 {
20474 return invalidParams
20475 }
20476 return nil
20477}
20478
20479// SetACL sets the ACL field's value.
20480func (s *PutObjectInput) SetACL(v string) *PutObjectInput {
20481 s.ACL = &v
20482 return s
20483}
20484
20485// SetBody sets the Body field's value.
20486func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput {
20487 s.Body = v
20488 return s
20489}
20490
20491// SetBucket sets the Bucket field's value.
107c1cdb
ND
20492func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
20493 s.Bucket = &v
20494 return s
20495}
20496
20497func (s *PutObjectInput) getBucket() (v string) {
20498 if s.Bucket == nil {
20499 return v
20500 }
20501 return *s.Bucket
20502}
20503
20504// SetCacheControl sets the CacheControl field's value.
20505func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
20506 s.CacheControl = &v
20507 return s
20508}
20509
20510// SetContentDisposition sets the ContentDisposition field's value.
20511func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
20512 s.ContentDisposition = &v
20513 return s
20514}
20515
20516// SetContentEncoding sets the ContentEncoding field's value.
20517func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput {
20518 s.ContentEncoding = &v
20519 return s
20520}
20521
20522// SetContentLanguage sets the ContentLanguage field's value.
20523func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput {
20524 s.ContentLanguage = &v
20525 return s
20526}
20527
20528// SetContentLength sets the ContentLength field's value.
20529func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
20530 s.ContentLength = &v
20531 return s
20532}
20533
20534// SetContentMD5 sets the ContentMD5 field's value.
20535func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
20536 s.ContentMD5 = &v
20537 return s
20538}
20539
20540// SetContentType sets the ContentType field's value.
20541func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
20542 s.ContentType = &v
20543 return s
20544}
20545
20546// SetExpires sets the Expires field's value.
20547func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput {
20548 s.Expires = &v
20549 return s
20550}
20551
20552// SetGrantFullControl sets the GrantFullControl field's value.
20553func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput {
20554 s.GrantFullControl = &v
20555 return s
20556}
20557
20558// SetGrantRead sets the GrantRead field's value.
20559func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput {
20560 s.GrantRead = &v
20561 return s
20562}
20563
20564// SetGrantReadACP sets the GrantReadACP field's value.
20565func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput {
20566 s.GrantReadACP = &v
20567 return s
20568}
20569
20570// SetGrantWriteACP sets the GrantWriteACP field's value.
20571func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput {
20572 s.GrantWriteACP = &v
20573 return s
20574}
20575
20576// SetKey sets the Key field's value.
20577func (s *PutObjectInput) SetKey(v string) *PutObjectInput {
20578 s.Key = &v
20579 return s
20580}
20581
20582// SetMetadata sets the Metadata field's value.
20583func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput {
20584 s.Metadata = v
20585 return s
20586}
20587
20588// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value.
20589func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput {
20590 s.ObjectLockLegalHoldStatus = &v
20591 return s
20592}
20593
20594// SetObjectLockMode sets the ObjectLockMode field's value.
20595func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput {
20596 s.ObjectLockMode = &v
20597 return s
20598}
20599
20600// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value.
20601func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput {
20602 s.ObjectLockRetainUntilDate = &v
20603 return s
20604}
20605
20606// SetRequestPayer sets the RequestPayer field's value.
20607func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput {
20608 s.RequestPayer = &v
20609 return s
20610}
20611
20612// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20613func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput {
20614 s.SSECustomerAlgorithm = &v
20615 return s
20616}
20617
20618// SetSSECustomerKey sets the SSECustomerKey field's value.
20619func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
20620 s.SSECustomerKey = &v
20621 return s
20622}
20623
20624func (s *PutObjectInput) getSSECustomerKey() (v string) {
20625 if s.SSECustomerKey == nil {
20626 return v
20627 }
20628 return *s.SSECustomerKey
20629}
20630
20631// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20632func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20633 s.SSECustomerKeyMD5 = &v
20634 return s
20635}
20636
863486a6
AG
20637// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20638func (s *PutObjectInput) SetSSEKMSEncryptionContext(v string) *PutObjectInput {
20639 s.SSEKMSEncryptionContext = &v
20640 return s
20641}
20642
107c1cdb
ND
20643// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20644func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20645 s.SSEKMSKeyId = &v
20646 return s
20647}
20648
20649// SetServerSideEncryption sets the ServerSideEncryption field's value.
20650func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput {
20651 s.ServerSideEncryption = &v
20652 return s
20653}
20654
20655// SetStorageClass sets the StorageClass field's value.
20656func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput {
20657 s.StorageClass = &v
20658 return s
20659}
20660
20661// SetTagging sets the Tagging field's value.
20662func (s *PutObjectInput) SetTagging(v string) *PutObjectInput {
20663 s.Tagging = &v
20664 return s
20665}
20666
20667// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
20668func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
20669 s.WebsiteRedirectLocation = &v
20670 return s
20671}
20672
20673type PutObjectLegalHoldInput struct {
20674 _ struct{} `type:"structure" payload:"LegalHold"`
20675
20676 // The bucket containing the object that you want to place a Legal Hold on.
20677 //
20678 // Bucket is a required field
20679 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20680
20681 // The key name for the object that you want to place a Legal Hold on.
20682 //
20683 // Key is a required field
20684 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
20685
20686 // Container element for the Legal Hold configuration you want to apply to the
20687 // specified object.
20688 LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20689
20690 // Confirms that the requester knows that she or he will be charged for the
20691 // request. Bucket owners need not specify this parameter in their requests.
20692 // Documentation on downloading objects from requester pays buckets can be found
20693 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20694 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20695
20696 // The version ID of the object that you want to place a Legal Hold on.
20697 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
20698}
20699
20700// String returns the string representation
20701func (s PutObjectLegalHoldInput) String() string {
20702 return awsutil.Prettify(s)
20703}
20704
20705// GoString returns the string representation
20706func (s PutObjectLegalHoldInput) GoString() string {
20707 return s.String()
20708}
20709
20710// Validate inspects the fields of the type to determine if they are valid.
20711func (s *PutObjectLegalHoldInput) Validate() error {
20712 invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"}
20713 if s.Bucket == nil {
20714 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20715 }
20716 if s.Bucket != nil && len(*s.Bucket) < 1 {
20717 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20718 }
20719 if s.Key == nil {
20720 invalidParams.Add(request.NewErrParamRequired("Key"))
20721 }
20722 if s.Key != nil && len(*s.Key) < 1 {
20723 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20724 }
20725
20726 if invalidParams.Len() > 0 {
20727 return invalidParams
20728 }
20729 return nil
20730}
20731
20732// SetBucket sets the Bucket field's value.
20733func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput {
bae9f6d2
JC
20734 s.Bucket = &v
20735 return s
20736}
20737
107c1cdb 20738func (s *PutObjectLegalHoldInput) getBucket() (v string) {
15c0b25d
AP
20739 if s.Bucket == nil {
20740 return v
20741 }
20742 return *s.Bucket
20743}
20744
107c1cdb
ND
20745// SetKey sets the Key field's value.
20746func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput {
20747 s.Key = &v
bae9f6d2
JC
20748 return s
20749}
20750
107c1cdb
ND
20751// SetLegalHold sets the LegalHold field's value.
20752func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput {
20753 s.LegalHold = v
bae9f6d2
JC
20754 return s
20755}
20756
107c1cdb
ND
20757// SetRequestPayer sets the RequestPayer field's value.
20758func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput {
20759 s.RequestPayer = &v
bae9f6d2
JC
20760 return s
20761}
20762
107c1cdb
ND
20763// SetVersionId sets the VersionId field's value.
20764func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput {
20765 s.VersionId = &v
bae9f6d2
JC
20766 return s
20767}
20768
107c1cdb
ND
20769type PutObjectLegalHoldOutput struct {
20770 _ struct{} `type:"structure"`
bae9f6d2 20771
107c1cdb
ND
20772 // If present, indicates that the requester was successfully charged for the
20773 // request.
20774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
15c0b25d
AP
20775}
20776
107c1cdb
ND
20777// String returns the string representation
20778func (s PutObjectLegalHoldOutput) String() string {
20779 return awsutil.Prettify(s)
bae9f6d2
JC
20780}
20781
107c1cdb
ND
20782// GoString returns the string representation
20783func (s PutObjectLegalHoldOutput) GoString() string {
20784 return s.String()
bae9f6d2
JC
20785}
20786
107c1cdb
ND
20787// SetRequestCharged sets the RequestCharged field's value.
20788func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput {
20789 s.RequestCharged = &v
bae9f6d2
JC
20790 return s
20791}
20792
107c1cdb
ND
20793type PutObjectLockConfigurationInput struct {
20794 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
bae9f6d2 20795
863486a6 20796 // The bucket whose object lock configuration you want to create or replace.
107c1cdb
ND
20797 //
20798 // Bucket is a required field
20799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
bae9f6d2 20800
863486a6 20801 // The object lock configuration that you want to apply to the specified bucket.
107c1cdb 20802 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2 20803
107c1cdb
ND
20804 // Confirms that the requester knows that she or he will be charged for the
20805 // request. Bucket owners need not specify this parameter in their requests.
20806 // Documentation on downloading objects from requester pays buckets can be found
20807 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20808 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20809
863486a6 20810 // A token to allow Amazon S3 object lock to be enabled for an existing bucket.
107c1cdb 20811 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
bae9f6d2
JC
20812}
20813
107c1cdb
ND
20814// String returns the string representation
20815func (s PutObjectLockConfigurationInput) String() string {
20816 return awsutil.Prettify(s)
bae9f6d2
JC
20817}
20818
107c1cdb
ND
20819// GoString returns the string representation
20820func (s PutObjectLockConfigurationInput) GoString() string {
20821 return s.String()
bae9f6d2
JC
20822}
20823
107c1cdb
ND
20824// Validate inspects the fields of the type to determine if they are valid.
20825func (s *PutObjectLockConfigurationInput) Validate() error {
20826 invalidParams := request.ErrInvalidParams{Context: "PutObjectLockConfigurationInput"}
20827 if s.Bucket == nil {
20828 invalidParams.Add(request.NewErrParamRequired("Bucket"))
20829 }
20830 if s.Bucket != nil && len(*s.Bucket) < 1 {
20831 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
20832 }
20833
20834 if invalidParams.Len() > 0 {
20835 return invalidParams
20836 }
20837 return nil
bae9f6d2
JC
20838}
20839
107c1cdb
ND
20840// SetBucket sets the Bucket field's value.
20841func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput {
20842 s.Bucket = &v
bae9f6d2
JC
20843 return s
20844}
20845
107c1cdb
ND
20846func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
20847 if s.Bucket == nil {
15c0b25d
AP
20848 return v
20849 }
107c1cdb 20850 return *s.Bucket
15c0b25d
AP
20851}
20852
107c1cdb
ND
20853// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value.
20854func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput {
20855 s.ObjectLockConfiguration = v
bae9f6d2
JC
20856 return s
20857}
20858
107c1cdb
ND
20859// SetRequestPayer sets the RequestPayer field's value.
20860func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput {
20861 s.RequestPayer = &v
bae9f6d2
JC
20862 return s
20863}
20864
107c1cdb
ND
20865// SetToken sets the Token field's value.
20866func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput {
20867 s.Token = &v
bae9f6d2
JC
20868 return s
20869}
20870
107c1cdb
ND
20871type PutObjectLockConfigurationOutput struct {
20872 _ struct{} `type:"structure"`
20873
20874 // If present, indicates that the requester was successfully charged for the
20875 // request.
20876 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
bae9f6d2
JC
20877}
20878
107c1cdb
ND
20879// String returns the string representation
20880func (s PutObjectLockConfigurationOutput) String() string {
20881 return awsutil.Prettify(s)
bae9f6d2
JC
20882}
20883
107c1cdb
ND
20884// GoString returns the string representation
20885func (s PutObjectLockConfigurationOutput) GoString() string {
20886 return s.String()
20887}
20888
20889// SetRequestCharged sets the RequestCharged field's value.
20890func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput {
20891 s.RequestCharged = &v
bae9f6d2
JC
20892 return s
20893}
20894
bae9f6d2
JC
20895type PutObjectOutput struct {
20896 _ struct{} `type:"structure"`
20897
20898 // Entity tag for the uploaded object.
20899 ETag *string `location:"header" locationName:"ETag" type:"string"`
20900
20901 // If the object expiration is configured, this will contain the expiration
20902 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
20903 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
20904
20905 // If present, indicates that the requester was successfully charged for the
20906 // request.
20907 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
20908
20909 // If server-side encryption with a customer-provided encryption key was requested,
20910 // the response will include this header confirming the encryption algorithm
20911 // used.
20912 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
20913
20914 // If server-side encryption with a customer-provided encryption key was requested,
20915 // the response will include this header to provide round trip message integrity
20916 // verification of the customer-provided encryption key.
20917 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20918
863486a6
AG
20919 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
20920 // The value of this header is a base64-encoded UTF-8 string holding JSON with
20921 // the encryption context key-value pairs.
20922 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20923
bae9f6d2
JC
20924 // If present, specifies the ID of the AWS Key Management Service (KMS) master
20925 // encryption key that was used for the object.
107c1cdb 20926 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
20927
20928 // The Server-side encryption algorithm used when storing this object in S3
20929 // (e.g., AES256, aws:kms).
20930 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
20931
20932 // Version of the object.
20933 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
20934}
20935
20936// String returns the string representation
20937func (s PutObjectOutput) String() string {
20938 return awsutil.Prettify(s)
20939}
20940
20941// GoString returns the string representation
20942func (s PutObjectOutput) GoString() string {
20943 return s.String()
20944}
20945
20946// SetETag sets the ETag field's value.
20947func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
20948 s.ETag = &v
20949 return s
20950}
20951
20952// SetExpiration sets the Expiration field's value.
20953func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput {
20954 s.Expiration = &v
20955 return s
20956}
20957
107c1cdb
ND
20958// SetRequestCharged sets the RequestCharged field's value.
20959func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput {
20960 s.RequestCharged = &v
20961 return s
20962}
20963
20964// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20965func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput {
20966 s.SSECustomerAlgorithm = &v
20967 return s
20968}
20969
20970// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20971func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20972 s.SSECustomerKeyMD5 = &v
20973 return s
20974}
20975
863486a6
AG
20976// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20977func (s *PutObjectOutput) SetSSEKMSEncryptionContext(v string) *PutObjectOutput {
20978 s.SSEKMSEncryptionContext = &v
20979 return s
20980}
20981
107c1cdb
ND
20982// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20983func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20984 s.SSEKMSKeyId = &v
20985 return s
20986}
20987
20988// SetServerSideEncryption sets the ServerSideEncryption field's value.
20989func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput {
20990 s.ServerSideEncryption = &v
20991 return s
20992}
20993
20994// SetVersionId sets the VersionId field's value.
20995func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
20996 s.VersionId = &v
20997 return s
20998}
20999
21000type PutObjectRetentionInput struct {
21001 _ struct{} `type:"structure" payload:"Retention"`
21002
21003 // The bucket that contains the object you want to apply this Object Retention
21004 // configuration to.
21005 //
21006 // Bucket is a required field
21007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21008
21009 // Indicates whether this operation should bypass Governance-mode restrictions.j
21010 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
21011
21012 // The key name for the object that you want to apply this Object Retention
21013 // configuration to.
21014 //
21015 // Key is a required field
21016 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21017
21018 // Confirms that the requester knows that she or he will be charged for the
21019 // request. Bucket owners need not specify this parameter in their requests.
21020 // Documentation on downloading objects from requester pays buckets can be found
21021 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
21022 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
21023
21024 // The container element for the Object Retention configuration.
21025 Retention *ObjectLockRetention `locationName:"Retention" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21026
21027 // The version ID for the object that you want to apply this Object Retention
21028 // configuration to.
21029 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21030}
21031
21032// String returns the string representation
21033func (s PutObjectRetentionInput) String() string {
21034 return awsutil.Prettify(s)
21035}
21036
21037// GoString returns the string representation
21038func (s PutObjectRetentionInput) GoString() string {
21039 return s.String()
21040}
21041
21042// Validate inspects the fields of the type to determine if they are valid.
21043func (s *PutObjectRetentionInput) Validate() error {
21044 invalidParams := request.ErrInvalidParams{Context: "PutObjectRetentionInput"}
21045 if s.Bucket == nil {
21046 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21047 }
21048 if s.Bucket != nil && len(*s.Bucket) < 1 {
21049 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21050 }
21051 if s.Key == nil {
21052 invalidParams.Add(request.NewErrParamRequired("Key"))
21053 }
21054 if s.Key != nil && len(*s.Key) < 1 {
21055 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21056 }
21057
21058 if invalidParams.Len() > 0 {
21059 return invalidParams
21060 }
21061 return nil
21062}
21063
21064// SetBucket sets the Bucket field's value.
21065func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput {
21066 s.Bucket = &v
21067 return s
21068}
21069
21070func (s *PutObjectRetentionInput) getBucket() (v string) {
21071 if s.Bucket == nil {
21072 return v
21073 }
21074 return *s.Bucket
21075}
21076
21077// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value.
21078func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput {
21079 s.BypassGovernanceRetention = &v
21080 return s
21081}
21082
21083// SetKey sets the Key field's value.
21084func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput {
21085 s.Key = &v
21086 return s
21087}
21088
21089// SetRequestPayer sets the RequestPayer field's value.
21090func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput {
21091 s.RequestPayer = &v
21092 return s
21093}
21094
21095// SetRetention sets the Retention field's value.
21096func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput {
21097 s.Retention = v
bae9f6d2
JC
21098 return s
21099}
21100
107c1cdb
ND
21101// SetVersionId sets the VersionId field's value.
21102func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput {
21103 s.VersionId = &v
bae9f6d2
JC
21104 return s
21105}
21106
107c1cdb
ND
21107type PutObjectRetentionOutput struct {
21108 _ struct{} `type:"structure"`
21109
21110 // If present, indicates that the requester was successfully charged for the
21111 // request.
21112 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
bae9f6d2
JC
21113}
21114
107c1cdb
ND
21115// String returns the string representation
21116func (s PutObjectRetentionOutput) String() string {
21117 return awsutil.Prettify(s)
bae9f6d2
JC
21118}
21119
107c1cdb
ND
21120// GoString returns the string representation
21121func (s PutObjectRetentionOutput) GoString() string {
21122 return s.String()
bae9f6d2
JC
21123}
21124
107c1cdb
ND
21125// SetRequestCharged sets the RequestCharged field's value.
21126func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput {
21127 s.RequestCharged = &v
bae9f6d2
JC
21128 return s
21129}
21130
bae9f6d2
JC
21131type PutObjectTaggingInput struct {
21132 _ struct{} `type:"structure" payload:"Tagging"`
21133
21134 // Bucket is a required field
21135 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21136
21137 // Key is a required field
21138 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
21139
21140 // Tagging is a required field
15c0b25d 21141 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
21142
21143 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
21144}
21145
21146// String returns the string representation
21147func (s PutObjectTaggingInput) String() string {
21148 return awsutil.Prettify(s)
21149}
21150
21151// GoString returns the string representation
21152func (s PutObjectTaggingInput) GoString() string {
21153 return s.String()
21154}
21155
21156// Validate inspects the fields of the type to determine if they are valid.
21157func (s *PutObjectTaggingInput) Validate() error {
21158 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"}
21159 if s.Bucket == nil {
21160 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21161 }
107c1cdb
ND
21162 if s.Bucket != nil && len(*s.Bucket) < 1 {
21163 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21164 }
bae9f6d2
JC
21165 if s.Key == nil {
21166 invalidParams.Add(request.NewErrParamRequired("Key"))
21167 }
21168 if s.Key != nil && len(*s.Key) < 1 {
21169 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21170 }
21171 if s.Tagging == nil {
21172 invalidParams.Add(request.NewErrParamRequired("Tagging"))
21173 }
21174 if s.Tagging != nil {
21175 if err := s.Tagging.Validate(); err != nil {
21176 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
21177 }
21178 }
21179
21180 if invalidParams.Len() > 0 {
21181 return invalidParams
21182 }
21183 return nil
21184}
21185
21186// SetBucket sets the Bucket field's value.
21187func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
21188 s.Bucket = &v
21189 return s
21190}
21191
15c0b25d
AP
21192func (s *PutObjectTaggingInput) getBucket() (v string) {
21193 if s.Bucket == nil {
21194 return v
21195 }
21196 return *s.Bucket
21197}
21198
bae9f6d2
JC
21199// SetKey sets the Key field's value.
21200func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
21201 s.Key = &v
21202 return s
21203}
21204
21205// SetTagging sets the Tagging field's value.
21206func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput {
21207 s.Tagging = v
21208 return s
21209}
21210
21211// SetVersionId sets the VersionId field's value.
21212func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
21213 s.VersionId = &v
21214 return s
21215}
21216
bae9f6d2
JC
21217type PutObjectTaggingOutput struct {
21218 _ struct{} `type:"structure"`
21219
21220 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
21221}
21222
21223// String returns the string representation
21224func (s PutObjectTaggingOutput) String() string {
21225 return awsutil.Prettify(s)
21226}
21227
21228// GoString returns the string representation
21229func (s PutObjectTaggingOutput) GoString() string {
21230 return s.String()
21231}
21232
21233// SetVersionId sets the VersionId field's value.
21234func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput {
21235 s.VersionId = &v
21236 return s
21237}
21238
107c1cdb
ND
21239type PutPublicAccessBlockInput struct {
21240 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
21241
21242 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you
21243 // want to set.
21244 //
21245 // Bucket is a required field
21246 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
21247
21248 // The PublicAccessBlock configuration that you want to apply to this Amazon
21249 // S3 bucket. You can enable the configuration options in any combination. For
21250 // more information about when Amazon S3 considers a bucket or object public,
21251 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
21252 // in the Amazon Simple Storage Service Developer Guide.
21253 //
21254 // PublicAccessBlockConfiguration is a required field
21255 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
21256}
21257
21258// String returns the string representation
21259func (s PutPublicAccessBlockInput) String() string {
21260 return awsutil.Prettify(s)
21261}
21262
21263// GoString returns the string representation
21264func (s PutPublicAccessBlockInput) GoString() string {
21265 return s.String()
21266}
21267
21268// Validate inspects the fields of the type to determine if they are valid.
21269func (s *PutPublicAccessBlockInput) Validate() error {
21270 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"}
21271 if s.Bucket == nil {
21272 invalidParams.Add(request.NewErrParamRequired("Bucket"))
21273 }
21274 if s.Bucket != nil && len(*s.Bucket) < 1 {
21275 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
21276 }
21277 if s.PublicAccessBlockConfiguration == nil {
21278 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration"))
21279 }
21280
21281 if invalidParams.Len() > 0 {
21282 return invalidParams
21283 }
21284 return nil
21285}
21286
21287// SetBucket sets the Bucket field's value.
21288func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput {
21289 s.Bucket = &v
21290 return s
21291}
21292
21293func (s *PutPublicAccessBlockInput) getBucket() (v string) {
21294 if s.Bucket == nil {
21295 return v
21296 }
21297 return *s.Bucket
21298}
21299
21300// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21301func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput {
21302 s.PublicAccessBlockConfiguration = v
21303 return s
21304}
21305
21306type PutPublicAccessBlockOutput struct {
21307 _ struct{} `type:"structure"`
21308}
21309
21310// String returns the string representation
21311func (s PutPublicAccessBlockOutput) String() string {
21312 return awsutil.Prettify(s)
21313}
21314
21315// GoString returns the string representation
21316func (s PutPublicAccessBlockOutput) GoString() string {
21317 return s.String()
21318}
21319
863486a6
AG
21320// Specifies the configuration for publishing messages to an Amazon Simple Queue
21321// Service (Amazon SQS) queue when Amazon S3 detects specified events.
bae9f6d2
JC
21322type QueueConfiguration struct {
21323 _ struct{} `type:"structure"`
21324
21325 // Events is a required field
21326 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
21327
863486a6
AG
21328 // Specifies object key name filtering rules. For information about key name
21329 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 21330 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
21331 Filter *NotificationConfigurationFilter `type:"structure"`
21332
107c1cdb 21333 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
21334 // If you don't provide one, Amazon S3 will assign an ID.
21335 Id *string `type:"string"`
21336
107c1cdb 21337 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
863486a6 21338 // publishes a message when it detects events of the specified type.
bae9f6d2
JC
21339 //
21340 // QueueArn is a required field
21341 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
21342}
21343
21344// String returns the string representation
21345func (s QueueConfiguration) String() string {
21346 return awsutil.Prettify(s)
21347}
21348
21349// GoString returns the string representation
21350func (s QueueConfiguration) GoString() string {
21351 return s.String()
21352}
21353
21354// Validate inspects the fields of the type to determine if they are valid.
21355func (s *QueueConfiguration) Validate() error {
21356 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"}
21357 if s.Events == nil {
21358 invalidParams.Add(request.NewErrParamRequired("Events"))
21359 }
21360 if s.QueueArn == nil {
21361 invalidParams.Add(request.NewErrParamRequired("QueueArn"))
21362 }
21363
21364 if invalidParams.Len() > 0 {
21365 return invalidParams
21366 }
21367 return nil
21368}
21369
21370// SetEvents sets the Events field's value.
21371func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration {
21372 s.Events = v
21373 return s
21374}
21375
21376// SetFilter sets the Filter field's value.
21377func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration {
21378 s.Filter = v
21379 return s
21380}
21381
21382// SetId sets the Id field's value.
21383func (s *QueueConfiguration) SetId(v string) *QueueConfiguration {
21384 s.Id = &v
21385 return s
21386}
21387
21388// SetQueueArn sets the QueueArn field's value.
21389func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
21390 s.QueueArn = &v
21391 return s
21392}
21393
bae9f6d2
JC
21394type QueueConfigurationDeprecated struct {
21395 _ struct{} `type:"structure"`
21396
107c1cdb
ND
21397 // The bucket event for which to send notifications.
21398 //
21399 // Deprecated: Event has been deprecated
bae9f6d2
JC
21400 Event *string `deprecated:"true" type:"string" enum:"Event"`
21401
21402 Events []*string `locationName:"Event" type:"list" flattened:"true"`
21403
107c1cdb 21404 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
21405 // If you don't provide one, Amazon S3 will assign an ID.
21406 Id *string `type:"string"`
21407
21408 Queue *string `type:"string"`
21409}
21410
21411// String returns the string representation
21412func (s QueueConfigurationDeprecated) String() string {
21413 return awsutil.Prettify(s)
21414}
21415
21416// GoString returns the string representation
21417func (s QueueConfigurationDeprecated) GoString() string {
21418 return s.String()
21419}
21420
21421// SetEvent sets the Event field's value.
21422func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated {
21423 s.Event = &v
21424 return s
21425}
21426
21427// SetEvents sets the Events field's value.
21428func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated {
21429 s.Events = v
21430 return s
21431}
21432
21433// SetId sets the Id field's value.
21434func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated {
21435 s.Id = &v
21436 return s
21437}
21438
21439// SetQueue sets the Queue field's value.
21440func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated {
21441 s.Queue = &v
21442 return s
21443}
21444
15c0b25d
AP
21445type RecordsEvent struct {
21446 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
21447
21448 // The byte array of partial, one or more result records.
21449 //
21450 // Payload is automatically base64 encoded/decoded by the SDK.
21451 Payload []byte `type:"blob"`
21452}
21453
21454// String returns the string representation
21455func (s RecordsEvent) String() string {
21456 return awsutil.Prettify(s)
21457}
21458
21459// GoString returns the string representation
21460func (s RecordsEvent) GoString() string {
21461 return s.String()
21462}
21463
21464// SetPayload sets the Payload field's value.
21465func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
21466 s.Payload = v
21467 return s
21468}
21469
21470// The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
21471func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
21472
21473// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
21474// This method is only used internally within the SDK's EventStream handling.
21475func (s *RecordsEvent) UnmarshalEvent(
21476 payloadUnmarshaler protocol.PayloadUnmarshaler,
21477 msg eventstream.Message,
21478) error {
21479 s.Payload = make([]byte, len(msg.Payload))
21480 copy(s.Payload, msg.Payload)
21481 return nil
21482}
21483
863486a6
AG
21484// Specifies how requests are redirected. In the event of an error, you can
21485// specify a different error code to return.
bae9f6d2
JC
21486type Redirect struct {
21487 _ struct{} `type:"structure"`
21488
21489 // The host name to use in the redirect request.
21490 HostName *string `type:"string"`
21491
21492 // The HTTP redirect code to use on the response. Not required if one of the
21493 // siblings is present.
21494 HttpRedirectCode *string `type:"string"`
21495
863486a6
AG
21496 // Protocol to use when redirecting requests. The default is the protocol that
21497 // is used in the original request.
bae9f6d2
JC
21498 Protocol *string `type:"string" enum:"Protocol"`
21499
21500 // The object key prefix to use in the redirect request. For example, to redirect
21501 // requests for all pages with prefix docs/ (objects in the docs/ folder) to
21502 // documents/, you can set a condition block with KeyPrefixEquals set to docs/
21503 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
21504 // if one of the siblings is present. Can be present only if ReplaceKeyWith
21505 // is not provided.
21506 ReplaceKeyPrefixWith *string `type:"string"`
21507
21508 // The specific object key to use in the redirect request. For example, redirect
863486a6 21509 // request to error.html. Not required if one of the siblings is present. Can
bae9f6d2
JC
21510 // be present only if ReplaceKeyPrefixWith is not provided.
21511 ReplaceKeyWith *string `type:"string"`
21512}
21513
21514// String returns the string representation
21515func (s Redirect) String() string {
21516 return awsutil.Prettify(s)
21517}
21518
21519// GoString returns the string representation
21520func (s Redirect) GoString() string {
21521 return s.String()
21522}
21523
21524// SetHostName sets the HostName field's value.
21525func (s *Redirect) SetHostName(v string) *Redirect {
21526 s.HostName = &v
21527 return s
21528}
21529
21530// SetHttpRedirectCode sets the HttpRedirectCode field's value.
21531func (s *Redirect) SetHttpRedirectCode(v string) *Redirect {
21532 s.HttpRedirectCode = &v
21533 return s
21534}
21535
21536// SetProtocol sets the Protocol field's value.
21537func (s *Redirect) SetProtocol(v string) *Redirect {
21538 s.Protocol = &v
21539 return s
21540}
21541
21542// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
21543func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect {
21544 s.ReplaceKeyPrefixWith = &v
21545 return s
21546}
21547
21548// SetReplaceKeyWith sets the ReplaceKeyWith field's value.
21549func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21550 s.ReplaceKeyWith = &v
21551 return s
21552}
21553
863486a6
AG
21554// Specifies the redirect behavior of all requests to a website endpoint of
21555// an Amazon S3 bucket.
bae9f6d2
JC
21556type RedirectAllRequestsTo struct {
21557 _ struct{} `type:"structure"`
21558
863486a6 21559 // Name of the host where requests are redirected.
bae9f6d2
JC
21560 //
21561 // HostName is a required field
21562 HostName *string `type:"string" required:"true"`
21563
863486a6
AG
21564 // Protocol to use when redirecting requests. The default is the protocol that
21565 // is used in the original request.
bae9f6d2
JC
21566 Protocol *string `type:"string" enum:"Protocol"`
21567}
21568
21569// String returns the string representation
21570func (s RedirectAllRequestsTo) String() string {
21571 return awsutil.Prettify(s)
21572}
21573
21574// GoString returns the string representation
21575func (s RedirectAllRequestsTo) GoString() string {
21576 return s.String()
21577}
21578
21579// Validate inspects the fields of the type to determine if they are valid.
21580func (s *RedirectAllRequestsTo) Validate() error {
21581 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"}
21582 if s.HostName == nil {
21583 invalidParams.Add(request.NewErrParamRequired("HostName"))
21584 }
21585
21586 if invalidParams.Len() > 0 {
21587 return invalidParams
21588 }
21589 return nil
21590}
21591
21592// SetHostName sets the HostName field's value.
21593func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo {
21594 s.HostName = &v
21595 return s
21596}
21597
21598// SetProtocol sets the Protocol field's value.
21599func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
21600 s.Protocol = &v
21601 return s
21602}
21603
107c1cdb
ND
21604// A container for replication rules. You can add up to 1,000 rules. The maximum
21605// size of a replication configuration is 2 MB.
bae9f6d2
JC
21606type ReplicationConfiguration struct {
21607 _ struct{} `type:"structure"`
21608
107c1cdb 21609 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management
863486a6
AG
21610 // (IAM) role that Amazon S3 assumes when replicating objects. For more information,
21611 // see How to Set Up Cross-Region Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-how-setup.html)
21612 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
21613 //
21614 // Role is a required field
21615 Role *string `type:"string" required:"true"`
21616
107c1cdb
ND
21617 // A container for one or more replication rules. A replication configuration
21618 // must have at least one rule and can contain a maximum of 1,000 rules.
bae9f6d2
JC
21619 //
21620 // Rules is a required field
21621 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
21622}
21623
21624// String returns the string representation
21625func (s ReplicationConfiguration) String() string {
21626 return awsutil.Prettify(s)
21627}
21628
21629// GoString returns the string representation
21630func (s ReplicationConfiguration) GoString() string {
21631 return s.String()
21632}
21633
21634// Validate inspects the fields of the type to determine if they are valid.
21635func (s *ReplicationConfiguration) Validate() error {
21636 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"}
21637 if s.Role == nil {
21638 invalidParams.Add(request.NewErrParamRequired("Role"))
21639 }
21640 if s.Rules == nil {
21641 invalidParams.Add(request.NewErrParamRequired("Rules"))
21642 }
21643 if s.Rules != nil {
21644 for i, v := range s.Rules {
21645 if v == nil {
21646 continue
21647 }
21648 if err := v.Validate(); err != nil {
21649 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
21650 }
21651 }
21652 }
21653
21654 if invalidParams.Len() > 0 {
21655 return invalidParams
21656 }
21657 return nil
21658}
21659
21660// SetRole sets the Role field's value.
21661func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration {
21662 s.Role = &v
21663 return s
21664}
21665
21666// SetRules sets the Rules field's value.
21667func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration {
21668 s.Rules = v
21669 return s
21670}
21671
863486a6 21672// Specifies which Amazon S3 objects to replicate and where to store the replicas.
bae9f6d2
JC
21673type ReplicationRule struct {
21674 _ struct{} `type:"structure"`
21675
107c1cdb
ND
21676 // Specifies whether Amazon S3 should replicate delete makers.
21677 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
21678
21679 // A container for information about the replication destination.
15c0b25d 21680 //
bae9f6d2
JC
21681 // Destination is a required field
21682 Destination *Destination `type:"structure" required:"true"`
21683
107c1cdb
ND
21684 // A filter that identifies the subset of objects to which the replication rule
21685 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21686 Filter *ReplicationRuleFilter `type:"structure"`
21687
21688 // A unique identifier for the rule. The maximum value is 255 characters.
bae9f6d2
JC
21689 ID *string `type:"string"`
21690
107c1cdb 21691 // An object keyname prefix that identifies the object or objects to which the
863486a6
AG
21692 // rule applies. The maximum prefix length is 1,024 characters. To include all
21693 // objects in a bucket, specify an empty string.
bae9f6d2 21694 //
107c1cdb
ND
21695 // Deprecated: Prefix has been deprecated
21696 Prefix *string `deprecated:"true" type:"string"`
bae9f6d2 21697
107c1cdb
ND
21698 // The priority associated with the rule. If you specify multiple rules in a
21699 // replication configuration, Amazon S3 prioritizes the rules to prevent conflicts
21700 // when filtering. If two or more rules identify the same object based on a
21701 // specified filter, the rule with higher priority takes precedence. For example:
21702 //
21703 // * Same object quality prefix based filter criteria If prefixes you specified
21704 // in multiple rules overlap
21705 //
21706 // * Same object qualify tag based filter criteria specified in multiple
21707 // rules
21708 //
863486a6 21709 // For more information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
107c1cdb
ND
21710 // in the Amazon S3 Developer Guide.
21711 Priority *int64 `type:"integer"`
21712
21713 // A container that describes additional filters for identifying the source
21714 // objects that you want to replicate. You can choose to enable or disable the
21715 // replication of these objects. Currently, Amazon S3 supports only the filter
21716 // that you can specify for objects created with server-side encryption using
21717 // an AWS KMS-Managed Key (SSE-KMS).
15c0b25d
AP
21718 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
21719
863486a6 21720 // Specifies whether the rule is enabled.
bae9f6d2
JC
21721 //
21722 // Status is a required field
21723 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
21724}
21725
21726// String returns the string representation
21727func (s ReplicationRule) String() string {
21728 return awsutil.Prettify(s)
21729}
21730
21731// GoString returns the string representation
21732func (s ReplicationRule) GoString() string {
21733 return s.String()
21734}
21735
21736// Validate inspects the fields of the type to determine if they are valid.
21737func (s *ReplicationRule) Validate() error {
21738 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"}
21739 if s.Destination == nil {
21740 invalidParams.Add(request.NewErrParamRequired("Destination"))
21741 }
bae9f6d2
JC
21742 if s.Status == nil {
21743 invalidParams.Add(request.NewErrParamRequired("Status"))
21744 }
21745 if s.Destination != nil {
21746 if err := s.Destination.Validate(); err != nil {
21747 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
21748 }
21749 }
107c1cdb
ND
21750 if s.Filter != nil {
21751 if err := s.Filter.Validate(); err != nil {
21752 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
21753 }
21754 }
15c0b25d
AP
21755 if s.SourceSelectionCriteria != nil {
21756 if err := s.SourceSelectionCriteria.Validate(); err != nil {
21757 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
21758 }
21759 }
bae9f6d2
JC
21760
21761 if invalidParams.Len() > 0 {
21762 return invalidParams
21763 }
21764 return nil
21765}
21766
107c1cdb
ND
21767// SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value.
21768func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule {
21769 s.DeleteMarkerReplication = v
21770 return s
21771}
21772
bae9f6d2
JC
21773// SetDestination sets the Destination field's value.
21774func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule {
21775 s.Destination = v
21776 return s
21777}
21778
107c1cdb
ND
21779// SetFilter sets the Filter field's value.
21780func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule {
21781 s.Filter = v
21782 return s
21783}
21784
bae9f6d2
JC
21785// SetID sets the ID field's value.
21786func (s *ReplicationRule) SetID(v string) *ReplicationRule {
21787 s.ID = &v
21788 return s
21789}
21790
21791// SetPrefix sets the Prefix field's value.
21792func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
21793 s.Prefix = &v
21794 return s
21795}
21796
107c1cdb
ND
21797// SetPriority sets the Priority field's value.
21798func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule {
21799 s.Priority = &v
21800 return s
21801}
21802
15c0b25d
AP
21803// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
21804func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
21805 s.SourceSelectionCriteria = v
21806 return s
21807}
21808
bae9f6d2
JC
21809// SetStatus sets the Status field's value.
21810func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
21811 s.Status = &v
21812 return s
21813}
21814
107c1cdb
ND
21815type ReplicationRuleAndOperator struct {
21816 _ struct{} `type:"structure"`
21817
21818 Prefix *string `type:"string"`
21819
21820 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
21821}
21822
21823// String returns the string representation
21824func (s ReplicationRuleAndOperator) String() string {
21825 return awsutil.Prettify(s)
21826}
21827
21828// GoString returns the string representation
21829func (s ReplicationRuleAndOperator) GoString() string {
21830 return s.String()
21831}
21832
21833// Validate inspects the fields of the type to determine if they are valid.
21834func (s *ReplicationRuleAndOperator) Validate() error {
21835 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"}
21836 if s.Tags != nil {
21837 for i, v := range s.Tags {
21838 if v == nil {
21839 continue
21840 }
21841 if err := v.Validate(); err != nil {
21842 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21843 }
21844 }
21845 }
21846
21847 if invalidParams.Len() > 0 {
21848 return invalidParams
21849 }
21850 return nil
21851}
21852
21853// SetPrefix sets the Prefix field's value.
21854func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator {
21855 s.Prefix = &v
21856 return s
21857}
21858
21859// SetTags sets the Tags field's value.
21860func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator {
21861 s.Tags = v
21862 return s
21863}
21864
21865// A filter that identifies the subset of objects to which the replication rule
21866// applies. A Filter must specify exactly one Prefix, Tag, or an And child element.
21867type ReplicationRuleFilter struct {
21868 _ struct{} `type:"structure"`
21869
21870 // A container for specifying rule filters. The filters determine the subset
21871 // of objects to which the rule applies. This element is required only if you
21872 // specify more than one filter. For example:
21873 //
21874 // * If you specify both a Prefix and a Tag filter, wrap these filters in
21875 // an And tag.
21876 //
21877 // * If you specify a filter based on multiple tags, wrap the Tag elements
21878 // in an And tag.
21879 And *ReplicationRuleAndOperator `type:"structure"`
21880
21881 // An object keyname prefix that identifies the subset of objects to which the
21882 // rule applies.
21883 Prefix *string `type:"string"`
21884
21885 // A container for specifying a tag key and value.
21886 //
21887 // The rule applies only to objects that have the tag in their tag set.
21888 Tag *Tag `type:"structure"`
21889}
21890
21891// String returns the string representation
21892func (s ReplicationRuleFilter) String() string {
21893 return awsutil.Prettify(s)
21894}
21895
21896// GoString returns the string representation
21897func (s ReplicationRuleFilter) GoString() string {
21898 return s.String()
21899}
21900
21901// Validate inspects the fields of the type to determine if they are valid.
21902func (s *ReplicationRuleFilter) Validate() error {
21903 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"}
21904 if s.And != nil {
21905 if err := s.And.Validate(); err != nil {
21906 invalidParams.AddNested("And", err.(request.ErrInvalidParams))
21907 }
21908 }
21909 if s.Tag != nil {
21910 if err := s.Tag.Validate(); err != nil {
21911 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
21912 }
21913 }
21914
21915 if invalidParams.Len() > 0 {
21916 return invalidParams
21917 }
21918 return nil
21919}
21920
21921// SetAnd sets the And field's value.
21922func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter {
21923 s.And = v
21924 return s
21925}
21926
21927// SetPrefix sets the Prefix field's value.
21928func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter {
21929 s.Prefix = &v
21930 return s
21931}
21932
21933// SetTag sets the Tag field's value.
21934func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
21935 s.Tag = v
21936 return s
21937}
21938
bae9f6d2
JC
21939type RequestPaymentConfiguration struct {
21940 _ struct{} `type:"structure"`
21941
21942 // Specifies who pays for the download and request fees.
21943 //
21944 // Payer is a required field
21945 Payer *string `type:"string" required:"true" enum:"Payer"`
21946}
21947
21948// String returns the string representation
21949func (s RequestPaymentConfiguration) String() string {
21950 return awsutil.Prettify(s)
21951}
21952
21953// GoString returns the string representation
21954func (s RequestPaymentConfiguration) GoString() string {
21955 return s.String()
21956}
21957
21958// Validate inspects the fields of the type to determine if they are valid.
21959func (s *RequestPaymentConfiguration) Validate() error {
21960 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"}
21961 if s.Payer == nil {
21962 invalidParams.Add(request.NewErrParamRequired("Payer"))
21963 }
21964
21965 if invalidParams.Len() > 0 {
21966 return invalidParams
21967 }
21968 return nil
21969}
21970
21971// SetPayer sets the Payer field's value.
21972func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration {
21973 s.Payer = &v
21974 return s
21975}
21976
15c0b25d
AP
21977type RequestProgress struct {
21978 _ struct{} `type:"structure"`
21979
21980 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
21981 // TRUE, FALSE. Default value: FALSE.
21982 Enabled *bool `type:"boolean"`
21983}
21984
21985// String returns the string representation
21986func (s RequestProgress) String() string {
21987 return awsutil.Prettify(s)
21988}
21989
21990// GoString returns the string representation
21991func (s RequestProgress) GoString() string {
21992 return s.String()
21993}
21994
21995// SetEnabled sets the Enabled field's value.
21996func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
21997 s.Enabled = &v
21998 return s
21999}
22000
bae9f6d2
JC
22001type RestoreObjectInput struct {
22002 _ struct{} `type:"structure" payload:"RestoreRequest"`
22003
22004 // Bucket is a required field
22005 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22006
22007 // Key is a required field
22008 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22009
22010 // Confirms that the requester knows that she or he will be charged for the
22011 // request. Bucket owners need not specify this parameter in their requests.
22012 // Documentation on downloading objects from requester pays buckets can be found
22013 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
22014 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
22015
15c0b25d
AP
22016 // Container for restore job parameters.
22017 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
bae9f6d2
JC
22018
22019 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
22020}
22021
22022// String returns the string representation
22023func (s RestoreObjectInput) String() string {
22024 return awsutil.Prettify(s)
22025}
22026
22027// GoString returns the string representation
22028func (s RestoreObjectInput) GoString() string {
22029 return s.String()
22030}
22031
22032// Validate inspects the fields of the type to determine if they are valid.
22033func (s *RestoreObjectInput) Validate() error {
22034 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"}
22035 if s.Bucket == nil {
22036 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22037 }
107c1cdb
ND
22038 if s.Bucket != nil && len(*s.Bucket) < 1 {
22039 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22040 }
bae9f6d2
JC
22041 if s.Key == nil {
22042 invalidParams.Add(request.NewErrParamRequired("Key"))
22043 }
22044 if s.Key != nil && len(*s.Key) < 1 {
22045 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22046 }
22047 if s.RestoreRequest != nil {
22048 if err := s.RestoreRequest.Validate(); err != nil {
22049 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams))
22050 }
22051 }
22052
22053 if invalidParams.Len() > 0 {
22054 return invalidParams
22055 }
22056 return nil
22057}
22058
22059// SetBucket sets the Bucket field's value.
22060func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
22061 s.Bucket = &v
22062 return s
22063}
22064
15c0b25d
AP
22065func (s *RestoreObjectInput) getBucket() (v string) {
22066 if s.Bucket == nil {
22067 return v
22068 }
22069 return *s.Bucket
22070}
22071
bae9f6d2
JC
22072// SetKey sets the Key field's value.
22073func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
22074 s.Key = &v
22075 return s
22076}
22077
15c0b25d
AP
22078// SetRequestPayer sets the RequestPayer field's value.
22079func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput {
22080 s.RequestPayer = &v
22081 return s
22082}
22083
22084// SetRestoreRequest sets the RestoreRequest field's value.
22085func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput {
22086 s.RestoreRequest = v
22087 return s
22088}
22089
22090// SetVersionId sets the VersionId field's value.
22091func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
22092 s.VersionId = &v
22093 return s
22094}
22095
22096type RestoreObjectOutput struct {
22097 _ struct{} `type:"structure"`
22098
22099 // If present, indicates that the requester was successfully charged for the
22100 // request.
22101 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
22102
22103 // Indicates the path in the provided S3 output location where Select results
22104 // will be restored to.
22105 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
22106}
22107
22108// String returns the string representation
22109func (s RestoreObjectOutput) String() string {
22110 return awsutil.Prettify(s)
22111}
22112
22113// GoString returns the string representation
22114func (s RestoreObjectOutput) GoString() string {
22115 return s.String()
22116}
22117
22118// SetRequestCharged sets the RequestCharged field's value.
22119func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
22120 s.RequestCharged = &v
22121 return s
22122}
22123
22124// SetRestoreOutputPath sets the RestoreOutputPath field's value.
22125func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
22126 s.RestoreOutputPath = &v
22127 return s
22128}
22129
22130// Container for restore job parameters.
22131type RestoreRequest struct {
22132 _ struct{} `type:"structure"`
22133
22134 // Lifetime of the active copy in days. Do not use with restores that specify
22135 // OutputLocation.
22136 Days *int64 `type:"integer"`
22137
22138 // The optional description for the job.
22139 Description *string `type:"string"`
22140
22141 // Glacier related parameters pertaining to this job. Do not use with restores
22142 // that specify OutputLocation.
22143 GlacierJobParameters *GlacierJobParameters `type:"structure"`
22144
22145 // Describes the location where the restore job's output is stored.
22146 OutputLocation *OutputLocation `type:"structure"`
22147
22148 // Describes the parameters for Select job types.
22149 SelectParameters *SelectParameters `type:"structure"`
22150
22151 // Glacier retrieval tier at which the restore will be processed.
22152 Tier *string `type:"string" enum:"Tier"`
22153
22154 // Type of restore request.
22155 Type *string `type:"string" enum:"RestoreRequestType"`
22156}
22157
22158// String returns the string representation
22159func (s RestoreRequest) String() string {
22160 return awsutil.Prettify(s)
22161}
22162
22163// GoString returns the string representation
22164func (s RestoreRequest) GoString() string {
22165 return s.String()
22166}
22167
22168// Validate inspects the fields of the type to determine if they are valid.
22169func (s *RestoreRequest) Validate() error {
22170 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
22171 if s.GlacierJobParameters != nil {
22172 if err := s.GlacierJobParameters.Validate(); err != nil {
22173 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
22174 }
22175 }
22176 if s.OutputLocation != nil {
22177 if err := s.OutputLocation.Validate(); err != nil {
22178 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
22179 }
22180 }
22181 if s.SelectParameters != nil {
22182 if err := s.SelectParameters.Validate(); err != nil {
22183 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
22184 }
22185 }
22186
22187 if invalidParams.Len() > 0 {
22188 return invalidParams
22189 }
22190 return nil
22191}
22192
22193// SetDays sets the Days field's value.
22194func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
22195 s.Days = &v
22196 return s
22197}
22198
22199// SetDescription sets the Description field's value.
22200func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
22201 s.Description = &v
22202 return s
22203}
22204
22205// SetGlacierJobParameters sets the GlacierJobParameters field's value.
22206func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
22207 s.GlacierJobParameters = v
22208 return s
22209}
22210
22211// SetOutputLocation sets the OutputLocation field's value.
22212func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
22213 s.OutputLocation = v
22214 return s
22215}
22216
22217// SetSelectParameters sets the SelectParameters field's value.
22218func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
22219 s.SelectParameters = v
22220 return s
22221}
22222
22223// SetTier sets the Tier field's value.
22224func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
22225 s.Tier = &v
22226 return s
22227}
22228
22229// SetType sets the Type field's value.
22230func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22231 s.Type = &v
22232 return s
22233}
22234
863486a6 22235// Specifies the redirect behavior and when a redirect is applied.
15c0b25d
AP
22236type RoutingRule struct {
22237 _ struct{} `type:"structure"`
22238
22239 // A container for describing a condition that must be met for the specified
22240 // redirect to apply. For example, 1. If request is for pages in the /docs folder,
22241 // redirect to the /documents folder. 2. If request results in HTTP error 4xx,
22242 // redirect request to another host where you might process the error.
22243 Condition *Condition `type:"structure"`
22244
22245 // Container for redirect information. You can redirect requests to another
22246 // host, to another page, or with another protocol. In the event of an error,
107c1cdb 22247 // you can specify a different error code to return.
15c0b25d
AP
22248 //
22249 // Redirect is a required field
22250 Redirect *Redirect `type:"structure" required:"true"`
22251}
22252
22253// String returns the string representation
22254func (s RoutingRule) String() string {
22255 return awsutil.Prettify(s)
22256}
22257
22258// GoString returns the string representation
22259func (s RoutingRule) GoString() string {
22260 return s.String()
22261}
22262
22263// Validate inspects the fields of the type to determine if they are valid.
22264func (s *RoutingRule) Validate() error {
22265 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"}
22266 if s.Redirect == nil {
22267 invalidParams.Add(request.NewErrParamRequired("Redirect"))
22268 }
22269
22270 if invalidParams.Len() > 0 {
22271 return invalidParams
22272 }
22273 return nil
22274}
22275
22276// SetCondition sets the Condition field's value.
22277func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule {
22278 s.Condition = v
22279 return s
22280}
22281
22282// SetRedirect sets the Redirect field's value.
22283func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
22284 s.Redirect = v
22285 return s
22286}
22287
863486a6
AG
22288// Specifies lifecycle rules for an Amazon S3 bucket. For more information,
22289// see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)
22290// in the Amazon Simple Storage Service API Reference.
15c0b25d
AP
22291type Rule struct {
22292 _ struct{} `type:"structure"`
22293
863486a6
AG
22294 // Specifies the days since the initiation of an incomplete multipart upload
22295 // that Amazon S3 will wait before permanently removing all parts of the upload.
22296 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
22297 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
22298 // in the Amazon Simple Storage Service Developer Guide.
15c0b25d
AP
22299 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
22300
22301 Expiration *LifecycleExpiration `type:"structure"`
22302
863486a6 22303 // Unique identifier for the rule. The value can't be longer than 255 characters.
15c0b25d
AP
22304 ID *string `type:"string"`
22305
22306 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
22307 // S3 permanently deletes the noncurrent object versions. You set this lifecycle
22308 // configuration action on a bucket that has versioning enabled (or suspended)
22309 // to request that Amazon S3 delete noncurrent object versions at a specific
22310 // period in the object's lifetime.
22311 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
22312
22313 // Container for the transition rule that describes when noncurrent objects
863486a6
AG
22314 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
22315 // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
107c1cdb
ND
22316 // is suspended), you can set this action to request that Amazon S3 transition
22317 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
863486a6 22318 // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
107c1cdb 22319 // lifetime.
15c0b25d
AP
22320 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22321
863486a6
AG
22322 // Object key prefix that identifies one or more objects to which this rule
22323 // applies.
15c0b25d
AP
22324 //
22325 // Prefix is a required field
22326 Prefix *string `type:"string" required:"true"`
22327
863486a6
AG
22328 // If Enabled, the rule is currently being applied. If Disabled, the rule is
22329 // not currently being applied.
15c0b25d
AP
22330 //
22331 // Status is a required field
22332 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22333
863486a6 22334 // Specifies when an object transitions to a specified storage class.
15c0b25d
AP
22335 Transition *Transition `type:"structure"`
22336}
22337
22338// String returns the string representation
22339func (s Rule) String() string {
22340 return awsutil.Prettify(s)
22341}
22342
22343// GoString returns the string representation
22344func (s Rule) GoString() string {
22345 return s.String()
22346}
22347
22348// Validate inspects the fields of the type to determine if they are valid.
22349func (s *Rule) Validate() error {
22350 invalidParams := request.ErrInvalidParams{Context: "Rule"}
22351 if s.Prefix == nil {
22352 invalidParams.Add(request.NewErrParamRequired("Prefix"))
22353 }
22354 if s.Status == nil {
22355 invalidParams.Add(request.NewErrParamRequired("Status"))
22356 }
22357
22358 if invalidParams.Len() > 0 {
22359 return invalidParams
22360 }
22361 return nil
22362}
22363
22364// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
22365func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule {
22366 s.AbortIncompleteMultipartUpload = v
22367 return s
22368}
22369
22370// SetExpiration sets the Expiration field's value.
22371func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule {
22372 s.Expiration = v
22373 return s
22374}
22375
22376// SetID sets the ID field's value.
22377func (s *Rule) SetID(v string) *Rule {
22378 s.ID = &v
22379 return s
22380}
22381
22382// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value.
22383func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule {
22384 s.NoncurrentVersionExpiration = v
22385 return s
22386}
22387
22388// SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value.
22389func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule {
22390 s.NoncurrentVersionTransition = v
22391 return s
22392}
22393
22394// SetPrefix sets the Prefix field's value.
22395func (s *Rule) SetPrefix(v string) *Rule {
22396 s.Prefix = &v
22397 return s
22398}
22399
22400// SetStatus sets the Status field's value.
22401func (s *Rule) SetStatus(v string) *Rule {
22402 s.Status = &v
22403 return s
22404}
22405
22406// SetTransition sets the Transition field's value.
22407func (s *Rule) SetTransition(v *Transition) *Rule {
22408 s.Transition = v
22409 return s
22410}
22411
107c1cdb 22412// Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
15c0b25d
AP
22413type SSEKMS struct {
22414 _ struct{} `locationName:"SSE-KMS" type:"structure"`
22415
22416 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
22417 // key to use for encrypting Inventory reports.
22418 //
22419 // KeyId is a required field
107c1cdb 22420 KeyId *string `type:"string" required:"true" sensitive:"true"`
15c0b25d
AP
22421}
22422
22423// String returns the string representation
22424func (s SSEKMS) String() string {
22425 return awsutil.Prettify(s)
22426}
22427
22428// GoString returns the string representation
22429func (s SSEKMS) GoString() string {
22430 return s.String()
22431}
22432
22433// Validate inspects the fields of the type to determine if they are valid.
22434func (s *SSEKMS) Validate() error {
22435 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
22436 if s.KeyId == nil {
22437 invalidParams.Add(request.NewErrParamRequired("KeyId"))
22438 }
22439
22440 if invalidParams.Len() > 0 {
22441 return invalidParams
22442 }
22443 return nil
22444}
22445
22446// SetKeyId sets the KeyId field's value.
22447func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
22448 s.KeyId = &v
22449 return s
22450}
22451
107c1cdb 22452// Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
15c0b25d
AP
22453type SSES3 struct {
22454 _ struct{} `locationName:"SSE-S3" type:"structure"`
22455}
22456
22457// String returns the string representation
22458func (s SSES3) String() string {
22459 return awsutil.Prettify(s)
22460}
22461
22462// GoString returns the string representation
22463func (s SSES3) GoString() string {
22464 return s.String()
22465}
22466
22467// SelectObjectContentEventStream provides handling of EventStreams for
22468// the SelectObjectContent API.
22469//
22470// Use this type to receive SelectObjectContentEventStream events. The events
22471// can be read from the Events channel member.
22472//
22473// The events that can be received are:
22474//
22475// * ContinuationEvent
22476// * EndEvent
22477// * ProgressEvent
22478// * RecordsEvent
22479// * StatsEvent
22480type SelectObjectContentEventStream struct {
22481 // Reader is the EventStream reader for the SelectObjectContentEventStream
22482 // events. This value is automatically set by the SDK when the API call is made
22483 // Use this member when unit testing your code with the SDK to mock out the
22484 // EventStream Reader.
22485 //
22486 // Must not be nil.
22487 Reader SelectObjectContentEventStreamReader
22488
22489 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
22490 // EventStream this is the response Body. The stream will be closed when
22491 // the Close method of the EventStream is called.
22492 StreamCloser io.Closer
22493}
22494
22495// Close closes the EventStream. This will also cause the Events channel to be
22496// closed. You can use the closing of the Events channel to terminate your
22497// application's read from the API's EventStream.
22498//
22499// Will close the underlying EventStream reader. For EventStream over HTTP
22500// connection this will also close the HTTP connection.
22501//
22502// Close must be called when done using the EventStream API. Not calling Close
22503// may result in resource leaks.
22504func (es *SelectObjectContentEventStream) Close() (err error) {
22505 es.Reader.Close()
22506 return es.Err()
22507}
22508
22509// Err returns any error that occurred while reading EventStream Events from
22510// the service API's response. Returns nil if there were no errors.
22511func (es *SelectObjectContentEventStream) Err() error {
22512 if err := es.Reader.Err(); err != nil {
22513 return err
22514 }
22515 es.StreamCloser.Close()
22516
22517 return nil
22518}
22519
22520// Events returns a channel to read EventStream Events from the
22521// SelectObjectContent API.
22522//
22523// These events are:
22524//
22525// * ContinuationEvent
22526// * EndEvent
22527// * ProgressEvent
22528// * RecordsEvent
22529// * StatsEvent
22530func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22531 return es.Reader.Events()
22532}
22533
22534// SelectObjectContentEventStreamEvent groups together all EventStream
22535// events read from the SelectObjectContent API.
22536//
22537// These events are:
22538//
22539// * ContinuationEvent
22540// * EndEvent
22541// * ProgressEvent
22542// * RecordsEvent
22543// * StatsEvent
22544type SelectObjectContentEventStreamEvent interface {
22545 eventSelectObjectContentEventStream()
22546}
22547
22548// SelectObjectContentEventStreamReader provides the interface for reading EventStream
22549// Events from the SelectObjectContent API. The
22550// default implementation for this interface will be SelectObjectContentEventStream.
22551//
22552// The reader's Close method must allow multiple concurrent calls.
22553//
22554// These events are:
22555//
22556// * ContinuationEvent
22557// * EndEvent
22558// * ProgressEvent
22559// * RecordsEvent
22560// * StatsEvent
22561type SelectObjectContentEventStreamReader interface {
22562 // Returns a channel of events as they are read from the event stream.
22563 Events() <-chan SelectObjectContentEventStreamEvent
22564
22565 // Close will close the underlying event stream reader. For event stream over
22566 // HTTP this will also close the HTTP connection.
22567 Close() error
22568
107c1cdb 22569 // Returns any error that has occurred while reading from the event stream.
15c0b25d
AP
22570 Err() error
22571}
22572
22573type readSelectObjectContentEventStream struct {
22574 eventReader *eventstreamapi.EventReader
22575 stream chan SelectObjectContentEventStreamEvent
22576 errVal atomic.Value
22577
22578 done chan struct{}
22579 closeOnce sync.Once
22580}
22581
22582func newReadSelectObjectContentEventStream(
22583 reader io.ReadCloser,
22584 unmarshalers request.HandlerList,
22585 logger aws.Logger,
22586 logLevel aws.LogLevelType,
22587) *readSelectObjectContentEventStream {
22588 r := &readSelectObjectContentEventStream{
22589 stream: make(chan SelectObjectContentEventStreamEvent),
22590 done: make(chan struct{}),
22591 }
22592
22593 r.eventReader = eventstreamapi.NewEventReader(
22594 reader,
22595 protocol.HandlerPayloadUnmarshal{
22596 Unmarshalers: unmarshalers,
22597 },
22598 r.unmarshalerForEventType,
22599 )
22600 r.eventReader.UseLogger(logger, logLevel)
22601
22602 return r
22603}
22604
22605// Close will close the underlying event stream reader. For EventStream over
22606// HTTP this will also close the HTTP connection.
22607func (r *readSelectObjectContentEventStream) Close() error {
22608 r.closeOnce.Do(r.safeClose)
22609
22610 return r.Err()
22611}
22612
22613func (r *readSelectObjectContentEventStream) safeClose() {
22614 close(r.done)
22615 err := r.eventReader.Close()
22616 if err != nil {
22617 r.errVal.Store(err)
22618 }
22619}
22620
22621func (r *readSelectObjectContentEventStream) Err() error {
22622 if v := r.errVal.Load(); v != nil {
22623 return v.(error)
22624 }
22625
22626 return nil
22627}
22628
22629func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
22630 return r.stream
22631}
22632
22633func (r *readSelectObjectContentEventStream) readEventStream() {
22634 defer close(r.stream)
22635
22636 for {
22637 event, err := r.eventReader.ReadEvent()
22638 if err != nil {
22639 if err == io.EOF {
22640 return
22641 }
22642 select {
22643 case <-r.done:
22644 // If closed already ignore the error
22645 return
22646 default:
22647 }
22648 r.errVal.Store(err)
22649 return
22650 }
22651
22652 select {
22653 case r.stream <- event.(SelectObjectContentEventStreamEvent):
22654 case <-r.done:
22655 return
22656 }
22657 }
22658}
22659
22660func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
22661 eventType string,
22662) (eventstreamapi.Unmarshaler, error) {
22663 switch eventType {
22664 case "Cont":
22665 return &ContinuationEvent{}, nil
22666
22667 case "End":
22668 return &EndEvent{}, nil
22669
22670 case "Progress":
22671 return &ProgressEvent{}, nil
22672
22673 case "Records":
22674 return &RecordsEvent{}, nil
22675
22676 case "Stats":
22677 return &StatsEvent{}, nil
22678 default:
22679 return nil, awserr.New(
22680 request.ErrCodeSerialization,
22681 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
22682 nil,
22683 )
22684 }
22685}
22686
22687// Request to filter the contents of an Amazon S3 object based on a simple Structured
22688// Query Language (SQL) statement. In the request, along with the SQL expression,
107c1cdb
ND
22689// you must specify a data serialization format (JSON or CSV) of the object.
22690// Amazon S3 uses this to parse object data into records. It returns only records
15c0b25d 22691// that match the specified SQL expression. You must also specify the data serialization
107c1cdb
ND
22692// format for the response. For more information, see S3Select API Documentation
22693// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
15c0b25d
AP
22694type SelectObjectContentInput struct {
22695 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
22696
107c1cdb 22697 // The S3 bucket.
15c0b25d
AP
22698 //
22699 // Bucket is a required field
22700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
22701
22702 // The expression that is used to query the object.
22703 //
22704 // Expression is a required field
22705 Expression *string `type:"string" required:"true"`
22706
107c1cdb 22707 // The type of the provided expression (for example., SQL).
15c0b25d
AP
22708 //
22709 // ExpressionType is a required field
22710 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22711
22712 // Describes the format of the data in the object that is being queried.
22713 //
22714 // InputSerialization is a required field
22715 InputSerialization *InputSerialization `type:"structure" required:"true"`
22716
107c1cdb 22717 // The object key.
15c0b25d
AP
22718 //
22719 // Key is a required field
22720 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
22721
22722 // Describes the format of the data that you want Amazon S3 to return in response.
22723 //
22724 // OutputSerialization is a required field
22725 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22726
22727 // Specifies if periodic request progress information should be enabled.
22728 RequestProgress *RequestProgress `type:"structure"`
22729
863486a6
AG
22730 // The SSE Algorithm used to encrypt the object. For more information, see Server-Side
22731 // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
15c0b25d
AP
22732 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
22733
863486a6 22734 // The SSE Customer Key. For more information, see Server-Side Encryption (Using
107c1cdb 22735 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
863486a6 22736 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
15c0b25d 22737
863486a6 22738 // The SSE Customer Key MD5. For more information, see Server-Side Encryption
107c1cdb 22739 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
15c0b25d
AP
22740 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
22741}
22742
22743// String returns the string representation
22744func (s SelectObjectContentInput) String() string {
22745 return awsutil.Prettify(s)
22746}
22747
22748// GoString returns the string representation
22749func (s SelectObjectContentInput) GoString() string {
22750 return s.String()
22751}
22752
22753// Validate inspects the fields of the type to determine if they are valid.
22754func (s *SelectObjectContentInput) Validate() error {
22755 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
22756 if s.Bucket == nil {
22757 invalidParams.Add(request.NewErrParamRequired("Bucket"))
22758 }
107c1cdb
ND
22759 if s.Bucket != nil && len(*s.Bucket) < 1 {
22760 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
22761 }
15c0b25d
AP
22762 if s.Expression == nil {
22763 invalidParams.Add(request.NewErrParamRequired("Expression"))
22764 }
22765 if s.ExpressionType == nil {
22766 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22767 }
22768 if s.InputSerialization == nil {
22769 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22770 }
22771 if s.Key == nil {
22772 invalidParams.Add(request.NewErrParamRequired("Key"))
22773 }
22774 if s.Key != nil && len(*s.Key) < 1 {
22775 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22776 }
22777 if s.OutputSerialization == nil {
22778 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22779 }
22780
22781 if invalidParams.Len() > 0 {
22782 return invalidParams
22783 }
22784 return nil
22785}
22786
22787// SetBucket sets the Bucket field's value.
22788func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
22789 s.Bucket = &v
22790 return s
22791}
22792
22793func (s *SelectObjectContentInput) getBucket() (v string) {
22794 if s.Bucket == nil {
22795 return v
22796 }
22797 return *s.Bucket
22798}
22799
22800// SetExpression sets the Expression field's value.
22801func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
22802 s.Expression = &v
22803 return s
22804}
22805
22806// SetExpressionType sets the ExpressionType field's value.
22807func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
22808 s.ExpressionType = &v
22809 return s
22810}
22811
22812// SetInputSerialization sets the InputSerialization field's value.
22813func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
22814 s.InputSerialization = v
22815 return s
22816}
22817
22818// SetKey sets the Key field's value.
22819func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
22820 s.Key = &v
22821 return s
22822}
22823
22824// SetOutputSerialization sets the OutputSerialization field's value.
22825func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
22826 s.OutputSerialization = v
22827 return s
22828}
22829
22830// SetRequestProgress sets the RequestProgress field's value.
22831func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
22832 s.RequestProgress = v
22833 return s
22834}
22835
22836// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
22837func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
22838 s.SSECustomerAlgorithm = &v
22839 return s
22840}
22841
22842// SetSSECustomerKey sets the SSECustomerKey field's value.
22843func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
22844 s.SSECustomerKey = &v
22845 return s
22846}
22847
22848func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
22849 if s.SSECustomerKey == nil {
22850 return v
22851 }
22852 return *s.SSECustomerKey
22853}
22854
22855// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
22856func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
22857 s.SSECustomerKeyMD5 = &v
22858 return s
22859}
22860
22861type SelectObjectContentOutput struct {
22862 _ struct{} `type:"structure" payload:"Payload"`
22863
22864 // Use EventStream to use the API's stream.
22865 EventStream *SelectObjectContentEventStream `type:"structure"`
22866}
22867
22868// String returns the string representation
22869func (s SelectObjectContentOutput) String() string {
22870 return awsutil.Prettify(s)
22871}
22872
22873// GoString returns the string representation
22874func (s SelectObjectContentOutput) GoString() string {
22875 return s.String()
22876}
22877
22878// SetEventStream sets the EventStream field's value.
22879func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
22880 s.EventStream = v
22881 return s
22882}
22883
22884func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
22885 if r.Error != nil {
22886 return
22887 }
22888 reader := newReadSelectObjectContentEventStream(
22889 r.HTTPResponse.Body,
22890 r.Handlers.UnmarshalStream,
22891 r.Config.Logger,
22892 r.Config.LogLevel.Value(),
22893 )
22894 go reader.readEventStream()
22895
22896 eventStream := &SelectObjectContentEventStream{
22897 StreamCloser: r.HTTPResponse.Body,
22898 Reader: reader,
22899 }
22900 s.EventStream = eventStream
22901}
22902
22903// Describes the parameters for Select job types.
22904type SelectParameters struct {
22905 _ struct{} `type:"structure"`
22906
22907 // The expression that is used to query the object.
22908 //
22909 // Expression is a required field
22910 Expression *string `type:"string" required:"true"`
22911
22912 // The type of the provided expression (e.g., SQL).
22913 //
22914 // ExpressionType is a required field
22915 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
22916
22917 // Describes the serialization format of the object.
22918 //
22919 // InputSerialization is a required field
22920 InputSerialization *InputSerialization `type:"structure" required:"true"`
22921
22922 // Describes how the results of the Select job are serialized.
22923 //
22924 // OutputSerialization is a required field
22925 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
22926}
22927
22928// String returns the string representation
22929func (s SelectParameters) String() string {
22930 return awsutil.Prettify(s)
22931}
22932
22933// GoString returns the string representation
22934func (s SelectParameters) GoString() string {
22935 return s.String()
22936}
22937
22938// Validate inspects the fields of the type to determine if they are valid.
22939func (s *SelectParameters) Validate() error {
22940 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
22941 if s.Expression == nil {
22942 invalidParams.Add(request.NewErrParamRequired("Expression"))
22943 }
22944 if s.ExpressionType == nil {
22945 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
22946 }
22947 if s.InputSerialization == nil {
22948 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
22949 }
22950 if s.OutputSerialization == nil {
22951 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
22952 }
22953
22954 if invalidParams.Len() > 0 {
22955 return invalidParams
22956 }
22957 return nil
22958}
22959
22960// SetExpression sets the Expression field's value.
22961func (s *SelectParameters) SetExpression(v string) *SelectParameters {
22962 s.Expression = &v
22963 return s
22964}
22965
22966// SetExpressionType sets the ExpressionType field's value.
22967func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
22968 s.ExpressionType = &v
bae9f6d2
JC
22969 return s
22970}
22971
15c0b25d
AP
22972// SetInputSerialization sets the InputSerialization field's value.
22973func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
22974 s.InputSerialization = v
bae9f6d2
JC
22975 return s
22976}
22977
15c0b25d
AP
22978// SetOutputSerialization sets the OutputSerialization field's value.
22979func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
22980 s.OutputSerialization = v
bae9f6d2
JC
22981 return s
22982}
22983
15c0b25d 22984// Describes the default server-side encryption to apply to new objects in the
863486a6
AG
22985// bucket. If a PUT Object request doesn't specify any server-side encryption,
22986// this default encryption will be applied. For more information, see PUT Bucket
22987// encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)
22988// in the Amazon Simple Storage Service API Reference.
15c0b25d 22989type ServerSideEncryptionByDefault struct {
bae9f6d2
JC
22990 _ struct{} `type:"structure"`
22991
15c0b25d 22992 // KMS master key ID to use for the default encryption. This parameter is allowed
863486a6 22993 // if and only if SSEAlgorithm is set to aws:kms.
107c1cdb 22994 KMSMasterKeyID *string `type:"string" sensitive:"true"`
15c0b25d
AP
22995
22996 // Server-side encryption algorithm to use for the default encryption.
22997 //
22998 // SSEAlgorithm is a required field
22999 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
bae9f6d2
JC
23000}
23001
23002// String returns the string representation
15c0b25d 23003func (s ServerSideEncryptionByDefault) String() string {
bae9f6d2
JC
23004 return awsutil.Prettify(s)
23005}
23006
23007// GoString returns the string representation
15c0b25d 23008func (s ServerSideEncryptionByDefault) GoString() string {
bae9f6d2
JC
23009 return s.String()
23010}
23011
15c0b25d
AP
23012// Validate inspects the fields of the type to determine if they are valid.
23013func (s *ServerSideEncryptionByDefault) Validate() error {
23014 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
23015 if s.SSEAlgorithm == nil {
23016 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
23017 }
23018
23019 if invalidParams.Len() > 0 {
23020 return invalidParams
23021 }
23022 return nil
23023}
23024
23025// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
23026func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
23027 s.KMSMasterKeyID = &v
bae9f6d2
JC
23028 return s
23029}
23030
15c0b25d
AP
23031// SetSSEAlgorithm sets the SSEAlgorithm field's value.
23032func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
23033 s.SSEAlgorithm = &v
23034 return s
23035}
23036
863486a6 23037// Specifies the default server-side-encryption configuration.
15c0b25d 23038type ServerSideEncryptionConfiguration struct {
bae9f6d2
JC
23039 _ struct{} `type:"structure"`
23040
15c0b25d
AP
23041 // Container for information about a particular server-side encryption configuration
23042 // rule.
bae9f6d2 23043 //
15c0b25d
AP
23044 // Rules is a required field
23045 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
bae9f6d2
JC
23046}
23047
23048// String returns the string representation
15c0b25d 23049func (s ServerSideEncryptionConfiguration) String() string {
bae9f6d2
JC
23050 return awsutil.Prettify(s)
23051}
23052
23053// GoString returns the string representation
15c0b25d 23054func (s ServerSideEncryptionConfiguration) GoString() string {
bae9f6d2
JC
23055 return s.String()
23056}
23057
23058// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
23059func (s *ServerSideEncryptionConfiguration) Validate() error {
23060 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
23061 if s.Rules == nil {
23062 invalidParams.Add(request.NewErrParamRequired("Rules"))
bae9f6d2 23063 }
15c0b25d
AP
23064 if s.Rules != nil {
23065 for i, v := range s.Rules {
23066 if v == nil {
23067 continue
23068 }
23069 if err := v.Validate(); err != nil {
23070 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
23071 }
bae9f6d2
JC
23072 }
23073 }
23074
23075 if invalidParams.Len() > 0 {
23076 return invalidParams
23077 }
23078 return nil
23079}
23080
15c0b25d
AP
23081// SetRules sets the Rules field's value.
23082func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
23083 s.Rules = v
bae9f6d2
JC
23084 return s
23085}
23086
863486a6 23087// Specifies the default server-side encryption configuration.
15c0b25d 23088type ServerSideEncryptionRule struct {
bae9f6d2
JC
23089 _ struct{} `type:"structure"`
23090
863486a6
AG
23091 // Specifies the default server-side encryption to apply to new objects in the
23092 // bucket. If a PUT Object request doesn't specify any server-side encryption,
15c0b25d
AP
23093 // this default encryption will be applied.
23094 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
bae9f6d2
JC
23095}
23096
23097// String returns the string representation
15c0b25d 23098func (s ServerSideEncryptionRule) String() string {
bae9f6d2
JC
23099 return awsutil.Prettify(s)
23100}
23101
23102// GoString returns the string representation
15c0b25d 23103func (s ServerSideEncryptionRule) GoString() string {
bae9f6d2
JC
23104 return s.String()
23105}
23106
23107// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
23108func (s *ServerSideEncryptionRule) Validate() error {
23109 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
23110 if s.ApplyServerSideEncryptionByDefault != nil {
23111 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
23112 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
23113 }
bae9f6d2
JC
23114 }
23115
23116 if invalidParams.Len() > 0 {
23117 return invalidParams
23118 }
23119 return nil
23120}
23121
15c0b25d
AP
23122// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
23123func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
23124 s.ApplyServerSideEncryptionByDefault = v
bae9f6d2
JC
23125 return s
23126}
23127
863486a6
AG
23128// A container that describes additional filters for identifying the source
23129// objects that you want to replicate. You can choose to enable or disable the
23130// replication of these objects. Currently, Amazon S3 supports only the filter
23131// that you can specify for objects created with server-side encryption using
23132// an AWS KMS-Managed Key (SSE-KMS).
15c0b25d 23133type SourceSelectionCriteria struct {
bae9f6d2
JC
23134 _ struct{} `type:"structure"`
23135
863486a6
AG
23136 // A container for filter information for the selection of Amazon S3 objects
23137 // encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication
23138 // configuration, this element is required.
15c0b25d
AP
23139 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
23140}
bae9f6d2 23141
15c0b25d
AP
23142// String returns the string representation
23143func (s SourceSelectionCriteria) String() string {
23144 return awsutil.Prettify(s)
23145}
bae9f6d2 23146
15c0b25d
AP
23147// GoString returns the string representation
23148func (s SourceSelectionCriteria) GoString() string {
23149 return s.String()
23150}
bae9f6d2 23151
15c0b25d
AP
23152// Validate inspects the fields of the type to determine if they are valid.
23153func (s *SourceSelectionCriteria) Validate() error {
23154 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
23155 if s.SseKmsEncryptedObjects != nil {
23156 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
23157 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
23158 }
23159 }
bae9f6d2 23160
15c0b25d
AP
23161 if invalidParams.Len() > 0 {
23162 return invalidParams
23163 }
23164 return nil
23165}
bae9f6d2 23166
15c0b25d
AP
23167// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
23168func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
23169 s.SseKmsEncryptedObjects = v
23170 return s
23171}
bae9f6d2 23172
107c1cdb
ND
23173// A container for filter information for the selection of S3 objects encrypted
23174// with AWS KMS.
15c0b25d
AP
23175type SseKmsEncryptedObjects struct {
23176 _ struct{} `type:"structure"`
23177
863486a6
AG
23178 // Specifies whether Amazon S3 replicates objects created with server-side encryption
23179 // using an AWS KMS-managed key.
bae9f6d2
JC
23180 //
23181 // Status is a required field
15c0b25d 23182 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
bae9f6d2
JC
23183}
23184
23185// String returns the string representation
15c0b25d 23186func (s SseKmsEncryptedObjects) String() string {
bae9f6d2
JC
23187 return awsutil.Prettify(s)
23188}
23189
23190// GoString returns the string representation
15c0b25d 23191func (s SseKmsEncryptedObjects) GoString() string {
bae9f6d2
JC
23192 return s.String()
23193}
23194
23195// Validate inspects the fields of the type to determine if they are valid.
15c0b25d
AP
23196func (s *SseKmsEncryptedObjects) Validate() error {
23197 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
bae9f6d2
JC
23198 if s.Status == nil {
23199 invalidParams.Add(request.NewErrParamRequired("Status"))
23200 }
23201
23202 if invalidParams.Len() > 0 {
23203 return invalidParams
23204 }
23205 return nil
23206}
23207
15c0b25d
AP
23208// SetStatus sets the Status field's value.
23209func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
23210 s.Status = &v
bae9f6d2
JC
23211 return s
23212}
23213
15c0b25d
AP
23214type Stats struct {
23215 _ struct{} `type:"structure"`
23216
107c1cdb 23217 // The total number of uncompressed object bytes processed.
15c0b25d
AP
23218 BytesProcessed *int64 `type:"long"`
23219
107c1cdb 23220 // The total number of bytes of records payload data returned.
15c0b25d
AP
23221 BytesReturned *int64 `type:"long"`
23222
107c1cdb 23223 // The total number of object bytes scanned.
15c0b25d 23224 BytesScanned *int64 `type:"long"`
bae9f6d2
JC
23225}
23226
15c0b25d
AP
23227// String returns the string representation
23228func (s Stats) String() string {
23229 return awsutil.Prettify(s)
bae9f6d2
JC
23230}
23231
15c0b25d
AP
23232// GoString returns the string representation
23233func (s Stats) GoString() string {
23234 return s.String()
bae9f6d2
JC
23235}
23236
15c0b25d
AP
23237// SetBytesProcessed sets the BytesProcessed field's value.
23238func (s *Stats) SetBytesProcessed(v int64) *Stats {
23239 s.BytesProcessed = &v
bae9f6d2
JC
23240 return s
23241}
23242
15c0b25d
AP
23243// SetBytesReturned sets the BytesReturned field's value.
23244func (s *Stats) SetBytesReturned(v int64) *Stats {
23245 s.BytesReturned = &v
bae9f6d2
JC
23246 return s
23247}
23248
15c0b25d
AP
23249// SetBytesScanned sets the BytesScanned field's value.
23250func (s *Stats) SetBytesScanned(v int64) *Stats {
23251 s.BytesScanned = &v
bae9f6d2
JC
23252 return s
23253}
23254
15c0b25d
AP
23255type StatsEvent struct {
23256 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
23257
23258 // The Stats event details.
23259 Details *Stats `locationName:"Details" type:"structure"`
23260}
23261
23262// String returns the string representation
23263func (s StatsEvent) String() string {
23264 return awsutil.Prettify(s)
23265}
23266
23267// GoString returns the string representation
23268func (s StatsEvent) GoString() string {
23269 return s.String()
23270}
23271
23272// SetDetails sets the Details field's value.
23273func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
23274 s.Details = v
bae9f6d2
JC
23275 return s
23276}
23277
15c0b25d
AP
23278// The StatsEvent is and event in the SelectObjectContentEventStream group of events.
23279func (s *StatsEvent) eventSelectObjectContentEventStream() {}
23280
23281// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
23282// This method is only used internally within the SDK's EventStream handling.
23283func (s *StatsEvent) UnmarshalEvent(
23284 payloadUnmarshaler protocol.PayloadUnmarshaler,
23285 msg eventstream.Message,
23286) error {
23287 if err := payloadUnmarshaler.UnmarshalPayload(
23288 bytes.NewReader(msg.Payload), s,
23289 ); err != nil {
23290 return err
23291 }
23292 return nil
23293}
23294
863486a6
AG
23295// Specifies data related to access patterns to be collected and made available
23296// to analyze the tradeoffs between different storage classes for an Amazon
23297// S3 bucket.
bae9f6d2
JC
23298type StorageClassAnalysis struct {
23299 _ struct{} `type:"structure"`
23300
863486a6
AG
23301 // Specifies how data related to the storage class analysis for an Amazon S3
23302 // bucket should be exported.
bae9f6d2
JC
23303 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23304}
23305
23306// String returns the string representation
23307func (s StorageClassAnalysis) String() string {
23308 return awsutil.Prettify(s)
23309}
23310
23311// GoString returns the string representation
23312func (s StorageClassAnalysis) GoString() string {
23313 return s.String()
23314}
23315
23316// Validate inspects the fields of the type to determine if they are valid.
23317func (s *StorageClassAnalysis) Validate() error {
23318 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"}
23319 if s.DataExport != nil {
23320 if err := s.DataExport.Validate(); err != nil {
23321 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams))
23322 }
23323 }
23324
23325 if invalidParams.Len() > 0 {
23326 return invalidParams
23327 }
23328 return nil
23329}
23330
23331// SetDataExport sets the DataExport field's value.
23332func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis {
23333 s.DataExport = v
23334 return s
23335}
23336
bae9f6d2
JC
23337type StorageClassAnalysisDataExport struct {
23338 _ struct{} `type:"structure"`
23339
23340 // The place to store the data for an analysis.
23341 //
23342 // Destination is a required field
23343 Destination *AnalyticsExportDestination `type:"structure" required:"true"`
23344
23345 // The version of the output schema to use when exporting data. Must be V_1.
23346 //
23347 // OutputSchemaVersion is a required field
23348 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"`
23349}
23350
23351// String returns the string representation
23352func (s StorageClassAnalysisDataExport) String() string {
23353 return awsutil.Prettify(s)
23354}
23355
23356// GoString returns the string representation
23357func (s StorageClassAnalysisDataExport) GoString() string {
23358 return s.String()
23359}
23360
23361// Validate inspects the fields of the type to determine if they are valid.
23362func (s *StorageClassAnalysisDataExport) Validate() error {
23363 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"}
23364 if s.Destination == nil {
23365 invalidParams.Add(request.NewErrParamRequired("Destination"))
23366 }
23367 if s.OutputSchemaVersion == nil {
23368 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion"))
23369 }
23370 if s.Destination != nil {
23371 if err := s.Destination.Validate(); err != nil {
23372 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
23373 }
23374 }
23375
23376 if invalidParams.Len() > 0 {
23377 return invalidParams
23378 }
23379 return nil
23380}
23381
23382// SetDestination sets the Destination field's value.
23383func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport {
23384 s.Destination = v
23385 return s
23386}
23387
23388// SetOutputSchemaVersion sets the OutputSchemaVersion field's value.
23389func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport {
23390 s.OutputSchemaVersion = &v
23391 return s
23392}
23393
bae9f6d2
JC
23394type Tag struct {
23395 _ struct{} `type:"structure"`
23396
23397 // Name of the tag.
23398 //
23399 // Key is a required field
23400 Key *string `min:"1" type:"string" required:"true"`
23401
23402 // Value of the tag.
23403 //
23404 // Value is a required field
23405 Value *string `type:"string" required:"true"`
23406}
23407
23408// String returns the string representation
23409func (s Tag) String() string {
23410 return awsutil.Prettify(s)
23411}
23412
23413// GoString returns the string representation
23414func (s Tag) GoString() string {
23415 return s.String()
23416}
23417
23418// Validate inspects the fields of the type to determine if they are valid.
23419func (s *Tag) Validate() error {
23420 invalidParams := request.ErrInvalidParams{Context: "Tag"}
23421 if s.Key == nil {
23422 invalidParams.Add(request.NewErrParamRequired("Key"))
23423 }
23424 if s.Key != nil && len(*s.Key) < 1 {
23425 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23426 }
23427 if s.Value == nil {
23428 invalidParams.Add(request.NewErrParamRequired("Value"))
23429 }
23430
23431 if invalidParams.Len() > 0 {
23432 return invalidParams
23433 }
23434 return nil
23435}
23436
23437// SetKey sets the Key field's value.
23438func (s *Tag) SetKey(v string) *Tag {
23439 s.Key = &v
23440 return s
23441}
23442
23443// SetValue sets the Value field's value.
23444func (s *Tag) SetValue(v string) *Tag {
23445 s.Value = &v
23446 return s
23447}
23448
bae9f6d2
JC
23449type Tagging struct {
23450 _ struct{} `type:"structure"`
23451
23452 // TagSet is a required field
23453 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
23454}
23455
23456// String returns the string representation
23457func (s Tagging) String() string {
23458 return awsutil.Prettify(s)
23459}
23460
23461// GoString returns the string representation
23462func (s Tagging) GoString() string {
23463 return s.String()
23464}
23465
23466// Validate inspects the fields of the type to determine if they are valid.
23467func (s *Tagging) Validate() error {
23468 invalidParams := request.ErrInvalidParams{Context: "Tagging"}
23469 if s.TagSet == nil {
23470 invalidParams.Add(request.NewErrParamRequired("TagSet"))
23471 }
23472 if s.TagSet != nil {
23473 for i, v := range s.TagSet {
23474 if v == nil {
23475 continue
23476 }
23477 if err := v.Validate(); err != nil {
23478 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams))
23479 }
23480 }
23481 }
23482
23483 if invalidParams.Len() > 0 {
23484 return invalidParams
23485 }
23486 return nil
23487}
23488
23489// SetTagSet sets the TagSet field's value.
23490func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
23491 s.TagSet = v
23492 return s
23493}
23494
bae9f6d2
JC
23495type TargetGrant struct {
23496 _ struct{} `type:"structure"`
23497
15c0b25d 23498 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
bae9f6d2
JC
23499
23500 // Logging permissions assigned to the Grantee for the bucket.
23501 Permission *string `type:"string" enum:"BucketLogsPermission"`
23502}
23503
23504// String returns the string representation
23505func (s TargetGrant) String() string {
23506 return awsutil.Prettify(s)
23507}
23508
23509// GoString returns the string representation
23510func (s TargetGrant) GoString() string {
23511 return s.String()
23512}
23513
23514// Validate inspects the fields of the type to determine if they are valid.
23515func (s *TargetGrant) Validate() error {
23516 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"}
23517 if s.Grantee != nil {
23518 if err := s.Grantee.Validate(); err != nil {
23519 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams))
23520 }
23521 }
23522
23523 if invalidParams.Len() > 0 {
23524 return invalidParams
23525 }
23526 return nil
23527}
23528
23529// SetGrantee sets the Grantee field's value.
23530func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant {
23531 s.Grantee = v
23532 return s
23533}
23534
23535// SetPermission sets the Permission field's value.
23536func (s *TargetGrant) SetPermission(v string) *TargetGrant {
23537 s.Permission = &v
23538 return s
23539}
23540
107c1cdb 23541// A container for specifying the configuration for publication of messages
863486a6 23542// to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3
107c1cdb 23543// detects specified events.
bae9f6d2
JC
23544type TopicConfiguration struct {
23545 _ struct{} `type:"structure"`
23546
863486a6
AG
23547 // The Amazon S3 bucket event about which to send notifications. For more information,
23548 // see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23549 // in the Amazon Simple Storage Service Developer Guide.
23550 //
bae9f6d2
JC
23551 // Events is a required field
23552 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
23553
863486a6
AG
23554 // Specifies object key name filtering rules. For information about key name
23555 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15c0b25d 23556 // in the Amazon Simple Storage Service Developer Guide.
bae9f6d2
JC
23557 Filter *NotificationConfigurationFilter `type:"structure"`
23558
107c1cdb 23559 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
23560 // If you don't provide one, Amazon S3 will assign an ID.
23561 Id *string `type:"string"`
23562
107c1cdb 23563 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3
863486a6 23564 // publishes a message when it detects events of the specified type.
bae9f6d2
JC
23565 //
23566 // TopicArn is a required field
23567 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
23568}
23569
23570// String returns the string representation
23571func (s TopicConfiguration) String() string {
23572 return awsutil.Prettify(s)
23573}
23574
23575// GoString returns the string representation
23576func (s TopicConfiguration) GoString() string {
23577 return s.String()
23578}
23579
23580// Validate inspects the fields of the type to determine if they are valid.
23581func (s *TopicConfiguration) Validate() error {
23582 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"}
23583 if s.Events == nil {
23584 invalidParams.Add(request.NewErrParamRequired("Events"))
23585 }
23586 if s.TopicArn == nil {
23587 invalidParams.Add(request.NewErrParamRequired("TopicArn"))
23588 }
23589
23590 if invalidParams.Len() > 0 {
23591 return invalidParams
23592 }
23593 return nil
23594}
23595
23596// SetEvents sets the Events field's value.
23597func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration {
23598 s.Events = v
23599 return s
23600}
23601
23602// SetFilter sets the Filter field's value.
23603func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration {
23604 s.Filter = v
23605 return s
23606}
23607
23608// SetId sets the Id field's value.
23609func (s *TopicConfiguration) SetId(v string) *TopicConfiguration {
23610 s.Id = &v
23611 return s
23612}
23613
23614// SetTopicArn sets the TopicArn field's value.
23615func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
23616 s.TopicArn = &v
23617 return s
23618}
23619
bae9f6d2
JC
23620type TopicConfigurationDeprecated struct {
23621 _ struct{} `type:"structure"`
23622
23623 // Bucket event for which to send notifications.
107c1cdb
ND
23624 //
23625 // Deprecated: Event has been deprecated
bae9f6d2
JC
23626 Event *string `deprecated:"true" type:"string" enum:"Event"`
23627
23628 Events []*string `locationName:"Event" type:"list" flattened:"true"`
23629
107c1cdb 23630 // An optional unique identifier for configurations in a notification configuration.
bae9f6d2
JC
23631 // If you don't provide one, Amazon S3 will assign an ID.
23632 Id *string `type:"string"`
23633
23634 // Amazon SNS topic to which Amazon S3 will publish a message to report the
23635 // specified events for the bucket.
23636 Topic *string `type:"string"`
23637}
23638
23639// String returns the string representation
23640func (s TopicConfigurationDeprecated) String() string {
23641 return awsutil.Prettify(s)
23642}
23643
23644// GoString returns the string representation
23645func (s TopicConfigurationDeprecated) GoString() string {
23646 return s.String()
23647}
23648
23649// SetEvent sets the Event field's value.
23650func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated {
23651 s.Event = &v
23652 return s
23653}
23654
23655// SetEvents sets the Events field's value.
23656func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated {
23657 s.Events = v
23658 return s
23659}
23660
23661// SetId sets the Id field's value.
23662func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated {
23663 s.Id = &v
23664 return s
23665}
23666
23667// SetTopic sets the Topic field's value.
23668func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated {
23669 s.Topic = &v
23670 return s
23671}
23672
863486a6 23673// Specifies when an object transitions to a specified storage class.
bae9f6d2
JC
23674type Transition struct {
23675 _ struct{} `type:"structure"`
23676
863486a6
AG
23677 // Indicates when objects are transitioned to the specified storage class. The
23678 // date value must be in ISO 8601 format. The time is always midnight UTC.
bae9f6d2
JC
23679 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23680
863486a6
AG
23681 // Indicates the number of days after creation when objects are transitioned
23682 // to the specified storage class. The value must be a positive integer.
bae9f6d2
JC
23683 Days *int64 `type:"integer"`
23684
863486a6 23685 // The storage class to which you want the object to transition.
bae9f6d2
JC
23686 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23687}
23688
23689// String returns the string representation
23690func (s Transition) String() string {
23691 return awsutil.Prettify(s)
23692}
23693
23694// GoString returns the string representation
23695func (s Transition) GoString() string {
23696 return s.String()
23697}
23698
23699// SetDate sets the Date field's value.
23700func (s *Transition) SetDate(v time.Time) *Transition {
23701 s.Date = &v
23702 return s
23703}
23704
23705// SetDays sets the Days field's value.
23706func (s *Transition) SetDays(v int64) *Transition {
23707 s.Days = &v
23708 return s
23709}
23710
23711// SetStorageClass sets the StorageClass field's value.
23712func (s *Transition) SetStorageClass(v string) *Transition {
23713 s.StorageClass = &v
23714 return s
23715}
23716
bae9f6d2
JC
23717type UploadPartCopyInput struct {
23718 _ struct{} `type:"structure"`
23719
23720 // Bucket is a required field
23721 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
23722
23723 // The name of the source bucket and key name of the source object, separated
23724 // by a slash (/). Must be URL-encoded.
23725 //
23726 // CopySource is a required field
23727 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`
23728
23729 // Copies the object if its entity tag (ETag) matches the specified tag.
23730 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
23731
23732 // Copies the object if it has been modified since the specified time.
15c0b25d 23733 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
bae9f6d2
JC
23734
23735 // Copies the object if its entity tag (ETag) is different than the specified
23736 // ETag.
23737 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
23738
23739 // Copies the object if it hasn't been modified since the specified time.
15c0b25d 23740 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
bae9f6d2
JC
23741
23742 // The range of bytes to copy from the source object. The range value must use
23743 // the form bytes=first-last, where the first and last are the zero-based byte
23744 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the
23745 // first ten bytes of the source. You can copy a range only if the source object
107c1cdb 23746 // is greater than 5 MB.
bae9f6d2
JC
23747 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
23748
23749 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
23750 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
23751
23752 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
23753 // the source object. The encryption key provided in this header must be one
23754 // that was used when the source object was created.
863486a6 23755 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
23756
23757 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23758 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23759 // key was transmitted without error.
23760 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
23761
23762 // Key is a required field
23763 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
23764
23765 // Part number of part being copied. This is a positive integer between 1 and
23766 // 10,000.
23767 //
23768 // PartNumber is a required field
23769 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
23770
23771 // Confirms that the requester knows that she or he will be charged for the
23772 // request. Bucket owners need not specify this parameter in their requests.
23773 // Documentation on downloading objects from requester pays buckets can be found
23774 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
23775 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
23776
23777 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
23778 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23779
23780 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
23781 // data. This value is used to store the object and then it is discarded; Amazon
23782 // does not store the encryption key. The key must be appropriate for use with
23783 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23784 // header. This must be the same encryption key specified in the initiate multipart
23785 // upload request.
863486a6 23786 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
23787
23788 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23789 // Amazon S3 uses this header for a message integrity check to ensure the encryption
23790 // key was transmitted without error.
23791 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23792
23793 // Upload ID identifying the multipart upload whose part is being copied.
23794 //
23795 // UploadId is a required field
23796 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
23797}
23798
23799// String returns the string representation
23800func (s UploadPartCopyInput) String() string {
23801 return awsutil.Prettify(s)
23802}
23803
23804// GoString returns the string representation
23805func (s UploadPartCopyInput) GoString() string {
23806 return s.String()
23807}
23808
23809// Validate inspects the fields of the type to determine if they are valid.
23810func (s *UploadPartCopyInput) Validate() error {
23811 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"}
23812 if s.Bucket == nil {
23813 invalidParams.Add(request.NewErrParamRequired("Bucket"))
23814 }
107c1cdb
ND
23815 if s.Bucket != nil && len(*s.Bucket) < 1 {
23816 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
23817 }
bae9f6d2
JC
23818 if s.CopySource == nil {
23819 invalidParams.Add(request.NewErrParamRequired("CopySource"))
23820 }
23821 if s.Key == nil {
23822 invalidParams.Add(request.NewErrParamRequired("Key"))
23823 }
23824 if s.Key != nil && len(*s.Key) < 1 {
23825 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23826 }
23827 if s.PartNumber == nil {
23828 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
23829 }
23830 if s.UploadId == nil {
23831 invalidParams.Add(request.NewErrParamRequired("UploadId"))
23832 }
23833
23834 if invalidParams.Len() > 0 {
23835 return invalidParams
23836 }
23837 return nil
23838}
23839
23840// SetBucket sets the Bucket field's value.
23841func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
23842 s.Bucket = &v
23843 return s
23844}
23845
15c0b25d
AP
23846func (s *UploadPartCopyInput) getBucket() (v string) {
23847 if s.Bucket == nil {
23848 return v
23849 }
23850 return *s.Bucket
23851}
23852
bae9f6d2
JC
23853// SetCopySource sets the CopySource field's value.
23854func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
23855 s.CopySource = &v
23856 return s
23857}
23858
23859// SetCopySourceIfMatch sets the CopySourceIfMatch field's value.
23860func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
23861 s.CopySourceIfMatch = &v
23862 return s
23863}
23864
23865// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value.
23866func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput {
23867 s.CopySourceIfModifiedSince = &v
23868 return s
23869}
23870
23871// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value.
23872func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput {
23873 s.CopySourceIfNoneMatch = &v
23874 return s
23875}
23876
23877// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value.
23878func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput {
23879 s.CopySourceIfUnmodifiedSince = &v
23880 return s
23881}
23882
23883// SetCopySourceRange sets the CopySourceRange field's value.
23884func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput {
23885 s.CopySourceRange = &v
23886 return s
23887}
23888
23889// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value.
23890func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23891 s.CopySourceSSECustomerAlgorithm = &v
23892 return s
23893}
23894
23895// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value.
23896func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput {
23897 s.CopySourceSSECustomerKey = &v
23898 return s
23899}
23900
15c0b25d
AP
23901func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
23902 if s.CopySourceSSECustomerKey == nil {
23903 return v
23904 }
23905 return *s.CopySourceSSECustomerKey
23906}
23907
bae9f6d2
JC
23908// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
23909func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23910 s.CopySourceSSECustomerKeyMD5 = &v
23911 return s
23912}
23913
23914// SetKey sets the Key field's value.
23915func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput {
23916 s.Key = &v
23917 return s
23918}
23919
23920// SetPartNumber sets the PartNumber field's value.
23921func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput {
23922 s.PartNumber = &v
23923 return s
23924}
23925
23926// SetRequestPayer sets the RequestPayer field's value.
23927func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput {
23928 s.RequestPayer = &v
23929 return s
23930}
23931
23932// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
23933func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput {
23934 s.SSECustomerAlgorithm = &v
23935 return s
23936}
23937
23938// SetSSECustomerKey sets the SSECustomerKey field's value.
23939func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
23940 s.SSECustomerKey = &v
23941 return s
23942}
23943
15c0b25d
AP
23944func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
23945 if s.SSECustomerKey == nil {
23946 return v
23947 }
23948 return *s.SSECustomerKey
23949}
23950
bae9f6d2
JC
23951// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
23952func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
23953 s.SSECustomerKeyMD5 = &v
23954 return s
23955}
23956
23957// SetUploadId sets the UploadId field's value.
23958func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
23959 s.UploadId = &v
23960 return s
23961}
23962
bae9f6d2
JC
23963type UploadPartCopyOutput struct {
23964 _ struct{} `type:"structure" payload:"CopyPartResult"`
23965
23966 CopyPartResult *CopyPartResult `type:"structure"`
23967
23968 // The version of the source object that was copied, if you have enabled versioning
23969 // on the source bucket.
23970 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`
23971
23972 // If present, indicates that the requester was successfully charged for the
23973 // request.
23974 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
23975
23976 // If server-side encryption with a customer-provided encryption key was requested,
23977 // the response will include this header confirming the encryption algorithm
23978 // used.
23979 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
23980
23981 // If server-side encryption with a customer-provided encryption key was requested,
23982 // the response will include this header to provide round trip message integrity
23983 // verification of the customer-provided encryption key.
23984 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
23985
23986 // If present, specifies the ID of the AWS Key Management Service (KMS) master
23987 // encryption key that was used for the object.
107c1cdb 23988 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
23989
23990 // The Server-side encryption algorithm used when storing this object in S3
23991 // (e.g., AES256, aws:kms).
23992 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
23993}
23994
23995// String returns the string representation
23996func (s UploadPartCopyOutput) String() string {
23997 return awsutil.Prettify(s)
23998}
23999
24000// GoString returns the string representation
24001func (s UploadPartCopyOutput) GoString() string {
24002 return s.String()
24003}
24004
24005// SetCopyPartResult sets the CopyPartResult field's value.
24006func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput {
24007 s.CopyPartResult = v
24008 return s
24009}
24010
24011// SetCopySourceVersionId sets the CopySourceVersionId field's value.
24012func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput {
24013 s.CopySourceVersionId = &v
24014 return s
24015}
24016
24017// SetRequestCharged sets the RequestCharged field's value.
24018func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput {
24019 s.RequestCharged = &v
24020 return s
24021}
24022
24023// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24024func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput {
24025 s.SSECustomerAlgorithm = &v
24026 return s
24027}
24028
24029// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24030func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput {
24031 s.SSECustomerKeyMD5 = &v
24032 return s
24033}
24034
24035// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24036func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput {
24037 s.SSEKMSKeyId = &v
24038 return s
24039}
24040
24041// SetServerSideEncryption sets the ServerSideEncryption field's value.
24042func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput {
24043 s.ServerSideEncryption = &v
24044 return s
24045}
24046
bae9f6d2
JC
24047type UploadPartInput struct {
24048 _ struct{} `type:"structure" payload:"Body"`
24049
24050 // Object data.
24051 Body io.ReadSeeker `type:"blob"`
24052
24053 // Name of the bucket to which the multipart upload was initiated.
24054 //
24055 // Bucket is a required field
24056 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
24057
24058 // Size of the body in bytes. This parameter is useful when the size of the
24059 // body cannot be determined automatically.
24060 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
24061
863486a6
AG
24062 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
24063 // auto-populated when using the command from the CLI. This parameted is required
24064 // if object lock parameters are specified.
15c0b25d
AP
24065 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
24066
bae9f6d2
JC
24067 // Object key for which the multipart upload was initiated.
24068 //
24069 // Key is a required field
24070 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
24071
24072 // Part number of part being uploaded. This is a positive integer between 1
24073 // and 10,000.
24074 //
24075 // PartNumber is a required field
24076 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`
24077
24078 // Confirms that the requester knows that she or he will be charged for the
24079 // request. Bucket owners need not specify this parameter in their requests.
24080 // Documentation on downloading objects from requester pays buckets can be found
24081 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24082 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
24083
24084 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
24085 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24086
24087 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
24088 // data. This value is used to store the object and then it is discarded; Amazon
24089 // does not store the encryption key. The key must be appropriate for use with
24090 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
24091 // header. This must be the same encryption key specified in the initiate multipart
24092 // upload request.
863486a6 24093 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
bae9f6d2
JC
24094
24095 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
24096 // Amazon S3 uses this header for a message integrity check to ensure the encryption
24097 // key was transmitted without error.
24098 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24099
24100 // Upload ID identifying the multipart upload whose part is being uploaded.
24101 //
24102 // UploadId is a required field
24103 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
24104}
24105
24106// String returns the string representation
24107func (s UploadPartInput) String() string {
24108 return awsutil.Prettify(s)
24109}
24110
24111// GoString returns the string representation
24112func (s UploadPartInput) GoString() string {
24113 return s.String()
24114}
24115
24116// Validate inspects the fields of the type to determine if they are valid.
24117func (s *UploadPartInput) Validate() error {
24118 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"}
24119 if s.Bucket == nil {
24120 invalidParams.Add(request.NewErrParamRequired("Bucket"))
24121 }
107c1cdb
ND
24122 if s.Bucket != nil && len(*s.Bucket) < 1 {
24123 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
24124 }
bae9f6d2
JC
24125 if s.Key == nil {
24126 invalidParams.Add(request.NewErrParamRequired("Key"))
24127 }
24128 if s.Key != nil && len(*s.Key) < 1 {
24129 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
24130 }
24131 if s.PartNumber == nil {
24132 invalidParams.Add(request.NewErrParamRequired("PartNumber"))
24133 }
24134 if s.UploadId == nil {
24135 invalidParams.Add(request.NewErrParamRequired("UploadId"))
24136 }
24137
24138 if invalidParams.Len() > 0 {
24139 return invalidParams
24140 }
24141 return nil
24142}
24143
24144// SetBody sets the Body field's value.
24145func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput {
24146 s.Body = v
24147 return s
24148}
24149
24150// SetBucket sets the Bucket field's value.
24151func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
24152 s.Bucket = &v
24153 return s
24154}
24155
15c0b25d
AP
24156func (s *UploadPartInput) getBucket() (v string) {
24157 if s.Bucket == nil {
24158 return v
24159 }
24160 return *s.Bucket
24161}
24162
bae9f6d2
JC
24163// SetContentLength sets the ContentLength field's value.
24164func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
24165 s.ContentLength = &v
24166 return s
24167}
24168
15c0b25d
AP
24169// SetContentMD5 sets the ContentMD5 field's value.
24170func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
24171 s.ContentMD5 = &v
24172 return s
24173}
24174
bae9f6d2
JC
24175// SetKey sets the Key field's value.
24176func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
24177 s.Key = &v
24178 return s
24179}
24180
24181// SetPartNumber sets the PartNumber field's value.
24182func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput {
24183 s.PartNumber = &v
24184 return s
24185}
24186
24187// SetRequestPayer sets the RequestPayer field's value.
24188func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput {
24189 s.RequestPayer = &v
24190 return s
24191}
24192
24193// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24194func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput {
24195 s.SSECustomerAlgorithm = &v
24196 return s
24197}
24198
24199// SetSSECustomerKey sets the SSECustomerKey field's value.
24200func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
24201 s.SSECustomerKey = &v
24202 return s
24203}
24204
15c0b25d
AP
24205func (s *UploadPartInput) getSSECustomerKey() (v string) {
24206 if s.SSECustomerKey == nil {
24207 return v
24208 }
24209 return *s.SSECustomerKey
24210}
24211
bae9f6d2
JC
24212// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24213func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
24214 s.SSECustomerKeyMD5 = &v
24215 return s
24216}
24217
24218// SetUploadId sets the UploadId field's value.
24219func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
24220 s.UploadId = &v
24221 return s
24222}
24223
bae9f6d2
JC
24224type UploadPartOutput struct {
24225 _ struct{} `type:"structure"`
24226
24227 // Entity tag for the uploaded object.
24228 ETag *string `location:"header" locationName:"ETag" type:"string"`
24229
24230 // If present, indicates that the requester was successfully charged for the
24231 // request.
24232 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
24233
24234 // If server-side encryption with a customer-provided encryption key was requested,
24235 // the response will include this header confirming the encryption algorithm
24236 // used.
24237 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
24238
24239 // If server-side encryption with a customer-provided encryption key was requested,
24240 // the response will include this header to provide round trip message integrity
24241 // verification of the customer-provided encryption key.
24242 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
24243
24244 // If present, specifies the ID of the AWS Key Management Service (KMS) master
24245 // encryption key that was used for the object.
107c1cdb 24246 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
bae9f6d2
JC
24247
24248 // The Server-side encryption algorithm used when storing this object in S3
24249 // (e.g., AES256, aws:kms).
24250 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
24251}
24252
24253// String returns the string representation
24254func (s UploadPartOutput) String() string {
24255 return awsutil.Prettify(s)
24256}
24257
24258// GoString returns the string representation
24259func (s UploadPartOutput) GoString() string {
24260 return s.String()
24261}
24262
24263// SetETag sets the ETag field's value.
24264func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
24265 s.ETag = &v
24266 return s
24267}
24268
24269// SetRequestCharged sets the RequestCharged field's value.
24270func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput {
24271 s.RequestCharged = &v
24272 return s
24273}
24274
24275// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
24276func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput {
24277 s.SSECustomerAlgorithm = &v
24278 return s
24279}
24280
24281// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
24282func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput {
24283 s.SSECustomerKeyMD5 = &v
24284 return s
24285}
24286
24287// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
24288func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput {
24289 s.SSEKMSKeyId = &v
24290 return s
24291}
24292
24293// SetServerSideEncryption sets the ServerSideEncryption field's value.
24294func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24295 s.ServerSideEncryption = &v
24296 return s
24297}
24298
863486a6
AG
24299// Describes the versioning state of an Amazon S3 bucket. For more information,
24300// see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
24301// in the Amazon Simple Storage Service API Reference.
bae9f6d2
JC
24302type VersioningConfiguration struct {
24303 _ struct{} `type:"structure"`
24304
24305 // Specifies whether MFA delete is enabled in the bucket versioning configuration.
24306 // This element is only returned if the bucket has been configured with MFA
24307 // delete. If the bucket has never been so configured, this element is not returned.
24308 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"`
24309
24310 // The versioning state of the bucket.
24311 Status *string `type:"string" enum:"BucketVersioningStatus"`
24312}
24313
24314// String returns the string representation
24315func (s VersioningConfiguration) String() string {
24316 return awsutil.Prettify(s)
24317}
24318
24319// GoString returns the string representation
24320func (s VersioningConfiguration) GoString() string {
24321 return s.String()
24322}
24323
24324// SetMFADelete sets the MFADelete field's value.
24325func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration {
24326 s.MFADelete = &v
24327 return s
24328}
24329
24330// SetStatus sets the Status field's value.
24331func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24332 s.Status = &v
24333 return s
24334}
24335
863486a6 24336// Specifies website configuration parameters for an Amazon S3 bucket.
bae9f6d2
JC
24337type WebsiteConfiguration struct {
24338 _ struct{} `type:"structure"`
24339
863486a6 24340 // The name of the error document for the website.
bae9f6d2
JC
24341 ErrorDocument *ErrorDocument `type:"structure"`
24342
863486a6 24343 // The name of the index document for the website.
bae9f6d2
JC
24344 IndexDocument *IndexDocument `type:"structure"`
24345
863486a6
AG
24346 // The redirect behavior for every request to this bucket's website endpoint.
24347 //
24348 // If you specify this property, you can't specify any other property.
bae9f6d2
JC
24349 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24350
863486a6 24351 // Rules that define when a redirect is applied and the redirect behavior.
bae9f6d2
JC
24352 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24353}
24354
24355// String returns the string representation
24356func (s WebsiteConfiguration) String() string {
24357 return awsutil.Prettify(s)
24358}
24359
24360// GoString returns the string representation
24361func (s WebsiteConfiguration) GoString() string {
24362 return s.String()
24363}
24364
24365// Validate inspects the fields of the type to determine if they are valid.
24366func (s *WebsiteConfiguration) Validate() error {
24367 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"}
24368 if s.ErrorDocument != nil {
24369 if err := s.ErrorDocument.Validate(); err != nil {
24370 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams))
24371 }
24372 }
24373 if s.IndexDocument != nil {
24374 if err := s.IndexDocument.Validate(); err != nil {
24375 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams))
24376 }
24377 }
24378 if s.RedirectAllRequestsTo != nil {
24379 if err := s.RedirectAllRequestsTo.Validate(); err != nil {
24380 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams))
24381 }
24382 }
24383 if s.RoutingRules != nil {
24384 for i, v := range s.RoutingRules {
24385 if v == nil {
24386 continue
24387 }
24388 if err := v.Validate(); err != nil {
24389 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams))
24390 }
24391 }
24392 }
24393
24394 if invalidParams.Len() > 0 {
24395 return invalidParams
24396 }
24397 return nil
24398}
24399
24400// SetErrorDocument sets the ErrorDocument field's value.
24401func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration {
24402 s.ErrorDocument = v
24403 return s
24404}
24405
24406// SetIndexDocument sets the IndexDocument field's value.
24407func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration {
24408 s.IndexDocument = v
24409 return s
24410}
24411
24412// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
24413func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration {
24414 s.RedirectAllRequestsTo = v
24415 return s
24416}
24417
24418// SetRoutingRules sets the RoutingRules field's value.
24419func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration {
24420 s.RoutingRules = v
24421 return s
24422}
24423
24424const (
24425 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value
24426 AnalyticsS3ExportFileFormatCsv = "CSV"
24427)
24428
24429const (
24430 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
24431 BucketAccelerateStatusEnabled = "Enabled"
24432
24433 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value
24434 BucketAccelerateStatusSuspended = "Suspended"
24435)
24436
24437const (
24438 // BucketCannedACLPrivate is a BucketCannedACL enum value
24439 BucketCannedACLPrivate = "private"
24440
24441 // BucketCannedACLPublicRead is a BucketCannedACL enum value
24442 BucketCannedACLPublicRead = "public-read"
24443
24444 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
24445 BucketCannedACLPublicReadWrite = "public-read-write"
24446
24447 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
24448 BucketCannedACLAuthenticatedRead = "authenticated-read"
24449)
24450
24451const (
24452 // BucketLocationConstraintEu is a BucketLocationConstraint enum value
24453 BucketLocationConstraintEu = "EU"
24454
24455 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value
24456 BucketLocationConstraintEuWest1 = "eu-west-1"
24457
24458 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value
24459 BucketLocationConstraintUsWest1 = "us-west-1"
24460
24461 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value
24462 BucketLocationConstraintUsWest2 = "us-west-2"
24463
24464 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value
24465 BucketLocationConstraintApSouth1 = "ap-south-1"
24466
24467 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value
24468 BucketLocationConstraintApSoutheast1 = "ap-southeast-1"
24469
24470 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value
24471 BucketLocationConstraintApSoutheast2 = "ap-southeast-2"
24472
24473 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value
24474 BucketLocationConstraintApNortheast1 = "ap-northeast-1"
24475
24476 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value
24477 BucketLocationConstraintSaEast1 = "sa-east-1"
24478
24479 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value
24480 BucketLocationConstraintCnNorth1 = "cn-north-1"
24481
24482 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value
24483 BucketLocationConstraintEuCentral1 = "eu-central-1"
24484)
24485
24486const (
24487 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value
24488 BucketLogsPermissionFullControl = "FULL_CONTROL"
24489
24490 // BucketLogsPermissionRead is a BucketLogsPermission enum value
24491 BucketLogsPermissionRead = "READ"
24492
24493 // BucketLogsPermissionWrite is a BucketLogsPermission enum value
24494 BucketLogsPermissionWrite = "WRITE"
24495)
24496
24497const (
24498 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value
24499 BucketVersioningStatusEnabled = "Enabled"
24500
24501 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value
24502 BucketVersioningStatusSuspended = "Suspended"
24503)
24504
15c0b25d
AP
24505const (
24506 // CompressionTypeNone is a CompressionType enum value
24507 CompressionTypeNone = "NONE"
24508
24509 // CompressionTypeGzip is a CompressionType enum value
24510 CompressionTypeGzip = "GZIP"
24511
24512 // CompressionTypeBzip2 is a CompressionType enum value
24513 CompressionTypeBzip2 = "BZIP2"
24514)
24515
107c1cdb
ND
24516const (
24517 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value
24518 DeleteMarkerReplicationStatusEnabled = "Enabled"
24519
24520 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value
24521 DeleteMarkerReplicationStatusDisabled = "Disabled"
24522)
24523
bae9f6d2
JC
24524// Requests Amazon S3 to encode the object keys in the response and specifies
24525// the encoding method to use. An object key may contain any Unicode character;
24526// however, XML 1.0 parser cannot parse some characters, such as characters
24527// with an ASCII value from 0 to 10. For characters that are not supported in
24528// XML 1.0, you can add this parameter to request that Amazon S3 encode the
24529// keys in the response.
24530const (
24531 // EncodingTypeUrl is a EncodingType enum value
24532 EncodingTypeUrl = "url"
24533)
24534
107c1cdb 24535// The bucket event for which to send notifications.
bae9f6d2
JC
24536const (
24537 // EventS3ReducedRedundancyLostObject is a Event enum value
24538 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject"
24539
24540 // EventS3ObjectCreated is a Event enum value
24541 EventS3ObjectCreated = "s3:ObjectCreated:*"
24542
24543 // EventS3ObjectCreatedPut is a Event enum value
24544 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put"
24545
24546 // EventS3ObjectCreatedPost is a Event enum value
24547 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post"
24548
24549 // EventS3ObjectCreatedCopy is a Event enum value
24550 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy"
24551
24552 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value
24553 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload"
24554
24555 // EventS3ObjectRemoved is a Event enum value
24556 EventS3ObjectRemoved = "s3:ObjectRemoved:*"
24557
24558 // EventS3ObjectRemovedDelete is a Event enum value
24559 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete"
24560
24561 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value
24562 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated"
107c1cdb
ND
24563
24564 // EventS3ObjectRestorePost is a Event enum value
24565 EventS3ObjectRestorePost = "s3:ObjectRestore:Post"
24566
24567 // EventS3ObjectRestoreCompleted is a Event enum value
24568 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed"
bae9f6d2
JC
24569)
24570
24571const (
24572 // ExpirationStatusEnabled is a ExpirationStatus enum value
24573 ExpirationStatusEnabled = "Enabled"
24574
24575 // ExpirationStatusDisabled is a ExpirationStatus enum value
24576 ExpirationStatusDisabled = "Disabled"
24577)
24578
15c0b25d
AP
24579const (
24580 // ExpressionTypeSql is a ExpressionType enum value
24581 ExpressionTypeSql = "SQL"
24582)
24583
24584const (
24585 // FileHeaderInfoUse is a FileHeaderInfo enum value
24586 FileHeaderInfoUse = "USE"
24587
24588 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
24589 FileHeaderInfoIgnore = "IGNORE"
24590
24591 // FileHeaderInfoNone is a FileHeaderInfo enum value
24592 FileHeaderInfoNone = "NONE"
24593)
24594
bae9f6d2
JC
24595const (
24596 // FilterRuleNamePrefix is a FilterRuleName enum value
24597 FilterRuleNamePrefix = "prefix"
24598
24599 // FilterRuleNameSuffix is a FilterRuleName enum value
24600 FilterRuleNameSuffix = "suffix"
24601)
24602
24603const (
24604 // InventoryFormatCsv is a InventoryFormat enum value
24605 InventoryFormatCsv = "CSV"
15c0b25d
AP
24606
24607 // InventoryFormatOrc is a InventoryFormat enum value
24608 InventoryFormatOrc = "ORC"
107c1cdb
ND
24609
24610 // InventoryFormatParquet is a InventoryFormat enum value
24611 InventoryFormatParquet = "Parquet"
bae9f6d2
JC
24612)
24613
24614const (
24615 // InventoryFrequencyDaily is a InventoryFrequency enum value
24616 InventoryFrequencyDaily = "Daily"
24617
24618 // InventoryFrequencyWeekly is a InventoryFrequency enum value
24619 InventoryFrequencyWeekly = "Weekly"
24620)
24621
24622const (
24623 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value
24624 InventoryIncludedObjectVersionsAll = "All"
24625
24626 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value
24627 InventoryIncludedObjectVersionsCurrent = "Current"
24628)
24629
24630const (
24631 // InventoryOptionalFieldSize is a InventoryOptionalField enum value
24632 InventoryOptionalFieldSize = "Size"
24633
24634 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value
24635 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate"
24636
24637 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value
24638 InventoryOptionalFieldStorageClass = "StorageClass"
24639
24640 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value
24641 InventoryOptionalFieldEtag = "ETag"
24642
24643 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value
24644 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded"
24645
24646 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
24647 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
15c0b25d
AP
24648
24649 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
24650 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
107c1cdb
ND
24651
24652 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value
24653 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate"
24654
24655 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value
24656 InventoryOptionalFieldObjectLockMode = "ObjectLockMode"
24657
24658 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value
24659 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus"
15c0b25d
AP
24660)
24661
24662const (
24663 // JSONTypeDocument is a JSONType enum value
24664 JSONTypeDocument = "DOCUMENT"
24665
24666 // JSONTypeLines is a JSONType enum value
24667 JSONTypeLines = "LINES"
bae9f6d2
JC
24668)
24669
24670const (
24671 // MFADeleteEnabled is a MFADelete enum value
24672 MFADeleteEnabled = "Enabled"
24673
24674 // MFADeleteDisabled is a MFADelete enum value
24675 MFADeleteDisabled = "Disabled"
24676)
24677
24678const (
24679 // MFADeleteStatusEnabled is a MFADeleteStatus enum value
24680 MFADeleteStatusEnabled = "Enabled"
24681
24682 // MFADeleteStatusDisabled is a MFADeleteStatus enum value
24683 MFADeleteStatusDisabled = "Disabled"
24684)
24685
24686const (
24687 // MetadataDirectiveCopy is a MetadataDirective enum value
24688 MetadataDirectiveCopy = "COPY"
24689
24690 // MetadataDirectiveReplace is a MetadataDirective enum value
24691 MetadataDirectiveReplace = "REPLACE"
24692)
24693
24694const (
24695 // ObjectCannedACLPrivate is a ObjectCannedACL enum value
24696 ObjectCannedACLPrivate = "private"
24697
24698 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value
24699 ObjectCannedACLPublicRead = "public-read"
24700
24701 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
24702 ObjectCannedACLPublicReadWrite = "public-read-write"
24703
24704 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
24705 ObjectCannedACLAuthenticatedRead = "authenticated-read"
24706
24707 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
24708 ObjectCannedACLAwsExecRead = "aws-exec-read"
24709
24710 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
24711 ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
24712
24713 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
24714 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
24715)
24716
107c1cdb
ND
24717const (
24718 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value
24719 ObjectLockEnabledEnabled = "Enabled"
24720)
24721
24722const (
24723 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value
24724 ObjectLockLegalHoldStatusOn = "ON"
24725
24726 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value
24727 ObjectLockLegalHoldStatusOff = "OFF"
24728)
24729
24730const (
24731 // ObjectLockModeGovernance is a ObjectLockMode enum value
24732 ObjectLockModeGovernance = "GOVERNANCE"
24733
24734 // ObjectLockModeCompliance is a ObjectLockMode enum value
24735 ObjectLockModeCompliance = "COMPLIANCE"
24736)
24737
24738const (
24739 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value
24740 ObjectLockRetentionModeGovernance = "GOVERNANCE"
24741
24742 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value
24743 ObjectLockRetentionModeCompliance = "COMPLIANCE"
24744)
24745
bae9f6d2
JC
24746const (
24747 // ObjectStorageClassStandard is a ObjectStorageClass enum value
24748 ObjectStorageClassStandard = "STANDARD"
24749
24750 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value
24751 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24752
24753 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
24754 ObjectStorageClassGlacier = "GLACIER"
15c0b25d
AP
24755
24756 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
24757 ObjectStorageClassStandardIa = "STANDARD_IA"
24758
24759 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
24760 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24761
24762 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value
24763 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24764
24765 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value
24766 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24767)
24768
24769const (
24770 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value
24771 ObjectVersionStorageClassStandard = "STANDARD"
24772)
24773
15c0b25d
AP
24774const (
24775 // OwnerOverrideDestination is a OwnerOverride enum value
24776 OwnerOverrideDestination = "Destination"
24777)
24778
bae9f6d2
JC
24779const (
24780 // PayerRequester is a Payer enum value
24781 PayerRequester = "Requester"
24782
24783 // PayerBucketOwner is a Payer enum value
24784 PayerBucketOwner = "BucketOwner"
24785)
24786
24787const (
24788 // PermissionFullControl is a Permission enum value
24789 PermissionFullControl = "FULL_CONTROL"
24790
24791 // PermissionWrite is a Permission enum value
24792 PermissionWrite = "WRITE"
24793
24794 // PermissionWriteAcp is a Permission enum value
24795 PermissionWriteAcp = "WRITE_ACP"
24796
24797 // PermissionRead is a Permission enum value
24798 PermissionRead = "READ"
24799
24800 // PermissionReadAcp is a Permission enum value
24801 PermissionReadAcp = "READ_ACP"
24802)
24803
24804const (
24805 // ProtocolHttp is a Protocol enum value
24806 ProtocolHttp = "http"
24807
24808 // ProtocolHttps is a Protocol enum value
24809 ProtocolHttps = "https"
24810)
24811
15c0b25d
AP
24812const (
24813 // QuoteFieldsAlways is a QuoteFields enum value
24814 QuoteFieldsAlways = "ALWAYS"
24815
24816 // QuoteFieldsAsneeded is a QuoteFields enum value
24817 QuoteFieldsAsneeded = "ASNEEDED"
24818)
24819
bae9f6d2
JC
24820const (
24821 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
24822 ReplicationRuleStatusEnabled = "Enabled"
24823
24824 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value
24825 ReplicationRuleStatusDisabled = "Disabled"
24826)
24827
24828const (
24829 // ReplicationStatusComplete is a ReplicationStatus enum value
24830 ReplicationStatusComplete = "COMPLETE"
24831
24832 // ReplicationStatusPending is a ReplicationStatus enum value
24833 ReplicationStatusPending = "PENDING"
24834
24835 // ReplicationStatusFailed is a ReplicationStatus enum value
24836 ReplicationStatusFailed = "FAILED"
24837
24838 // ReplicationStatusReplica is a ReplicationStatus enum value
24839 ReplicationStatusReplica = "REPLICA"
24840)
24841
24842// If present, indicates that the requester was successfully charged for the
24843// request.
24844const (
24845 // RequestChargedRequester is a RequestCharged enum value
24846 RequestChargedRequester = "requester"
24847)
24848
24849// Confirms that the requester knows that she or he will be charged for the
24850// request. Bucket owners need not specify this parameter in their requests.
24851// Documentation on downloading objects from requester pays buckets can be found
24852// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
24853const (
24854 // RequestPayerRequester is a RequestPayer enum value
24855 RequestPayerRequester = "requester"
24856)
24857
15c0b25d
AP
24858const (
24859 // RestoreRequestTypeSelect is a RestoreRequestType enum value
24860 RestoreRequestTypeSelect = "SELECT"
24861)
24862
bae9f6d2
JC
24863const (
24864 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
24865 ServerSideEncryptionAes256 = "AES256"
24866
24867 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value
24868 ServerSideEncryptionAwsKms = "aws:kms"
24869)
24870
15c0b25d
AP
24871const (
24872 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
24873 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
24874
24875 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
24876 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
24877)
24878
bae9f6d2
JC
24879const (
24880 // StorageClassStandard is a StorageClass enum value
24881 StorageClassStandard = "STANDARD"
24882
24883 // StorageClassReducedRedundancy is a StorageClass enum value
24884 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
24885
24886 // StorageClassStandardIa is a StorageClass enum value
24887 StorageClassStandardIa = "STANDARD_IA"
15c0b25d
AP
24888
24889 // StorageClassOnezoneIa is a StorageClass enum value
24890 StorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24891
24892 // StorageClassIntelligentTiering is a StorageClass enum value
24893 StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24894
24895 // StorageClassGlacier is a StorageClass enum value
24896 StorageClassGlacier = "GLACIER"
24897
24898 // StorageClassDeepArchive is a StorageClass enum value
24899 StorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24900)
24901
24902const (
24903 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value
24904 StorageClassAnalysisSchemaVersionV1 = "V_1"
24905)
24906
24907const (
24908 // TaggingDirectiveCopy is a TaggingDirective enum value
24909 TaggingDirectiveCopy = "COPY"
24910
24911 // TaggingDirectiveReplace is a TaggingDirective enum value
24912 TaggingDirectiveReplace = "REPLACE"
24913)
24914
24915const (
24916 // TierStandard is a Tier enum value
24917 TierStandard = "Standard"
24918
24919 // TierBulk is a Tier enum value
24920 TierBulk = "Bulk"
24921
24922 // TierExpedited is a Tier enum value
24923 TierExpedited = "Expedited"
24924)
24925
24926const (
24927 // TransitionStorageClassGlacier is a TransitionStorageClass enum value
24928 TransitionStorageClassGlacier = "GLACIER"
24929
24930 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
24931 TransitionStorageClassStandardIa = "STANDARD_IA"
15c0b25d
AP
24932
24933 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
24934 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
107c1cdb
ND
24935
24936 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value
24937 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING"
24938
24939 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
24940 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
bae9f6d2
JC
24941)
24942
24943const (
24944 // TypeCanonicalUser is a Type enum value
24945 TypeCanonicalUser = "CanonicalUser"
24946
24947 // TypeAmazonCustomerByEmail is a Type enum value
24948 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
24949
24950 // TypeGroup is a Type enum value
24951 TypeGroup = "Group"
24952)